@jskit-ai/agent-docs 0.1.155 → 0.1.157
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/guide/agent/app-extras/assistant.md +46 -0
- package/guide/agent/app-setup/authentication.md +68 -0
- package/package.json +1 -1
- package/patterns/feature-package/example/booking-engine/package.json +1 -1
- package/patterns/minimal-foundation/example/package.json +4 -4
- package/patterns/shell-foundation/example/package.json +5 -5
- package/patterns/shell-foundation/example/packages/main/package.json +1 -1
- package/reference/autogen/PATTERN_INDEX.md +185 -20
- package/reference/autogen/README.md +8 -2
- package/reference/autogen/packages/auth-provider-local-core.md +3 -5
- package/reference/autogen/packages/connector-google-calendar.md +42 -0
- package/reference/autogen/packages/connectors-catalog.md +1320 -0
- package/reference/autogen/packages/connectors-core.md +85 -0
- package/reference/autogen/packages/connectors-web.md +31 -0
- package/reference/autogen/packages/payments-core.md +79 -0
- package/reference/autogen/packages/payments-web.md +37 -0
- package/reference/autogen/packages/{google-rewarded-core.md → rewarded-core.md} +36 -36
- package/reference/autogen/packages/rewarded-web.md +75 -0
- package/reference/autogen/packages/workspaces-core.md +7 -0
- package/skills/jskit/references/pattern-index.md +185 -20
- package/skills/jskit/references/patterns/app/minimal-foundation/example/package.json +4 -4
- package/skills/jskit/references/patterns/app/shell-foundation/example/package.json +5 -5
- package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/package.json +1 -1
- package/skills/jskit/references/patterns/auth/supabase-auth/PATTERN.md +25 -0
- package/skills/jskit/references/patterns/auth/supabase-auth/example/package.json +1 -1
- package/skills/jskit/references/patterns/connectors/ai-connections/PATTERN.md +84 -0
- package/skills/jskit/references/patterns/connectors/ai-connections/example/ai-model.js +11 -0
- package/skills/jskit/references/patterns/connectors/ai-connections/example/perplexity-answer.js +29 -0
- package/skills/jskit/references/patterns/connectors/api-key-connection/PATTERN.md +368 -0
- package/skills/jskit/references/patterns/connectors/api-key-connection/example/connections.js +18 -0
- package/skills/jskit/references/patterns/connectors/api-key-connection/example/integrations.json +19 -0
- package/skills/jskit/references/patterns/connectors/assistant-mcp/PATTERN.md +110 -0
- package/skills/jskit/references/patterns/connectors/assistant-mcp/example/integrations.json +13 -0
- package/skills/jskit/references/patterns/connectors/assistant-mcp-oauth/PATTERN.md +235 -0
- package/skills/jskit/references/patterns/connectors/assistant-mcp-oauth/example/integrations.json +102 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/PATTERN.md +169 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/data-formats.js +35 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/package-lock.json +49 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/package.json +12 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/formats/verify-formats.mjs +37 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/integrations.json +38 -0
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/s3-transfer.js +34 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/PATTERN.md +106 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/.env.example +6 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/integrations.json +23 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/knexfile.js +5 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/package.json +16 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/scripts/calendar.js +102 -0
- package/skills/jskit/references/patterns/connectors/event-delivery/PATTERN.md +151 -0
- package/skills/jskit/references/patterns/connectors/event-delivery/example/integrations.json +17 -0
- package/skills/jskit/references/patterns/connectors/firebase-messaging/PATTERN.md +156 -0
- package/skills/jskit/references/patterns/connectors/firebase-messaging/example/server/notifications.js +23 -0
- package/skills/jskit/references/patterns/connectors/google-ads-search/PATTERN.md +92 -0
- package/skills/jskit/references/patterns/connectors/google-ads-search/example/ads-setup.js +25 -0
- package/skills/jskit/references/patterns/connectors/oauth-connection/PATTERN.md +724 -0
- package/skills/jskit/references/patterns/connectors/oauth-connection/example/integrations.json +20 -0
- package/skills/jskit/references/patterns/connectors/paddle-catalogue/PATTERN.md +78 -0
- package/skills/jskit/references/patterns/connectors/paddle-catalogue/example/create-products.js +38 -0
- package/skills/jskit/references/patterns/connectors/public-image/PATTERN.md +84 -0
- package/skills/jskit/references/patterns/connectors/public-image/example/integrations.json +13 -0
- package/skills/jskit/references/patterns/connectors/public-image/example/logo-url.js +16 -0
- package/skills/jskit/references/patterns/connectors/redshift-queries/PATTERN.md +150 -0
- package/skills/jskit/references/patterns/connectors/redshift-queries/example/integrations.json +33 -0
- package/skills/jskit/references/patterns/connectors/source-scanning/PATTERN.md +83 -0
- package/skills/jskit/references/patterns/connectors/source-scanning/example/source-scanner.js +13 -0
- package/skills/jskit/references/patterns/crud/json-api-resource-package/example/packages/books/package.json +2 -2
- package/skills/jskit/references/patterns/database/mysql-application/example/package.json +1 -1
- package/skills/jskit/references/patterns/database/postgres-application/example/package.json +1 -1
- package/skills/jskit/references/patterns/realtime/realtime-application/example/package.json +2 -2
- package/skills/jskit/references/patterns/rewards/google-rewarded/PATTERN.md +69 -0
- package/skills/jskit/references/patterns/rewards/google-rewarded/example/GoogleRewardedDeliveryProvider.js +12 -0
- package/skills/jskit/references/patterns/rewards/google-rewarded/example/googlePublisherTag.js +142 -0
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/package.json +1 -1
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users/package.json +2 -2
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/package.json +3 -3
- package/reference/autogen/packages/google-rewarded-web.md +0 -65
|
@@ -72,6 +72,52 @@ The assistant validates the transformed result against
|
|
|
72
72
|
JSON:API CRUD actions supply these assistant contracts and transformations
|
|
73
73
|
automatically; their native action and HTTP result shapes do not change.
|
|
74
74
|
|
|
75
|
+
### Framework account and workspace actions
|
|
76
|
+
|
|
77
|
+
Account and workspace action owners supply assistant-specific descriptions,
|
|
78
|
+
output validators and result adapters. Their API routes keep their existing
|
|
79
|
+
responses. The current tagged JSON:API action result stores its payload in
|
|
80
|
+
`result.value`; profile update stores it in `result.response.value` beside a
|
|
81
|
+
server-only session. Do not forward the wrapper or session to the assistant.
|
|
82
|
+
|
|
83
|
+
`surfaces: ["*"]` matches every named surface. An empty surface list remains
|
|
84
|
+
unrestricted; explicit names remain restrictive. Surface matching never grants
|
|
85
|
+
permissions. Trusted `workspaceSlug` replaces model input only on actions whose
|
|
86
|
+
input declares that field; account and directory-list actions receive no extra
|
|
87
|
+
workspace parameter.
|
|
88
|
+
|
|
89
|
+
There are 22 enabled framework contracts: eight account actions and fourteen
|
|
90
|
+
workspace actions. Invitation creation returns invitation summaries, the created
|
|
91
|
+
ID and delivery status, without token previews, invitation URLs, provider message
|
|
92
|
+
IDs or provider delivery messages. Pending invitation lists omit raw tokens.
|
|
93
|
+
Output validation rejects unexpected fields, including nested fields, instead
|
|
94
|
+
of passing arbitrary server state into model results.
|
|
95
|
+
|
|
96
|
+
Nine actions are explicitly excluded from assistant discovery and execution:
|
|
97
|
+
|
|
98
|
+
| Actions | Reason / existing alternative |
|
|
99
|
+
| --- | --- |
|
|
100
|
+
| `settings.profile.avatar.upload` | Use the authenticated account file picker; no upload streams in tool arguments. |
|
|
101
|
+
| `settings.security.password.change` | Use the authenticated account security form; no passwords in tool arguments. |
|
|
102
|
+
| `settings.security.oauth.link.start` | Use the authenticated account security screen; authorization URLs contain transient state. |
|
|
103
|
+
| `workspace.invitation.resolve`, `workspace.invite.redeem` | Use the invitation screen; no raw invitation tokens in tool arguments. |
|
|
104
|
+
| `assistant.settings.read`, `assistant.settings.update` | Assistant self-configuration stays disabled. Use the existing assistant settings screen. |
|
|
105
|
+
| `console.settings.read`, `console.settings.update` | Application-defined settings have no framework field allowlist. An application must define its own safe contract before exposing configuration. |
|
|
106
|
+
|
|
107
|
+
An owner records an exclusion as `extensions.assistant.exclude`, containing a
|
|
108
|
+
human-readable reason. An exclusion takes precedence even if the action later
|
|
109
|
+
gains a structured HTTP output. It affects assistant tools only, not API or
|
|
110
|
+
internal execution. The runtime also retains its `assistant.` prefix exclusion,
|
|
111
|
+
so recursive chat/history operations remain unavailable. This release introduces
|
|
112
|
+
no protected handoff subsystem. Do not ask a user to paste credentials into chat
|
|
113
|
+
to work around an excluded operation.
|
|
114
|
+
|
|
115
|
+
The framework inventory test checks all account, workspace and console action
|
|
116
|
+
specification modules plus the assistant runtime automation actions. Every action
|
|
117
|
+
must have a documented exclusion or a description, output contract, result adapter
|
|
118
|
+
and execution fixture. Application-defined automation actions require the same
|
|
119
|
+
review; automation capability alone does not mean model exposure is safe.
|
|
120
|
+
|
|
75
121
|
Generated list and view actions use JSON:API query shapes directly. `include`
|
|
76
122
|
is a comma-separated string, and `fields` is keyed by resource type:
|
|
77
123
|
|
|
@@ -37,6 +37,74 @@ Protected server operations declare an auth policy; they do not trust a hidden
|
|
|
37
37
|
button or a page-local session check. Other packages extend auth through the
|
|
38
38
|
public extension capability rather than replacing the auth service.
|
|
39
39
|
|
|
40
|
+
## Application-owned recovery email
|
|
41
|
+
|
|
42
|
+
Local auth owns recovery tokens, expiry and recovery-scoped sessions. The
|
|
43
|
+
application supplies the optional `auth.local.recovery-sender` capability as an
|
|
44
|
+
async function accepting `{ email, recoveryUrl }`. It owns message content,
|
|
45
|
+
sender address, provider credentials and delivery. The function must reject on
|
|
46
|
+
failure and must not log the recovery URL or raw provider credentials.
|
|
47
|
+
|
|
48
|
+
Wire the application's selected email integration or transport into this
|
|
49
|
+
capability using an ordinary application provider:
|
|
50
|
+
|
|
51
|
+
```js
|
|
52
|
+
import { defineProvider } from "@jskit-ai/kernel/shared/capabilities";
|
|
53
|
+
|
|
54
|
+
export const RecoveryEmailProvider = defineProvider({
|
|
55
|
+
id: "app.recovery-email",
|
|
56
|
+
requires: { mail: "app.mail" },
|
|
57
|
+
provides: { recoverySender: "auth.local.recovery-sender" },
|
|
58
|
+
setup({ mail }) {
|
|
59
|
+
return {
|
|
60
|
+
recoverySender: async ({ email, recoveryUrl }) => {
|
|
61
|
+
await mail.send({
|
|
62
|
+
to: email,
|
|
63
|
+
subject: "Reset your password",
|
|
64
|
+
text: `Open this link to reset your password:\n\n${recoveryUrl}\n`
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
`app.mail` is an application-owned capability in this example, not a built-in
|
|
73
|
+
JSKIT email API. Its `send()` implementation owns the selected integration,
|
|
74
|
+
credential resolution and safe error mapping. A connected account or a domain
|
|
75
|
+
listing adapter alone does not implement email sending. Install this provider
|
|
76
|
+
alongside the application's mail provider and `AuthLocalProvider`.
|
|
77
|
+
For direct library composition, pass the same function as `recoverySender` to
|
|
78
|
+
`createLocalAuthService()`.
|
|
79
|
+
|
|
80
|
+
Set `APP_PUBLIC_URL` to the application's actual public URL. When a sender is
|
|
81
|
+
configured, auth requires this value and does not return or log the recovery
|
|
82
|
+
URL. Without a sender, production recovery is disabled; explicit development
|
|
83
|
+
output remains available for local testing. A sender failure never falls back
|
|
84
|
+
to development output. The generic recovery delivery capability is `email`.
|
|
85
|
+
|
|
86
|
+
### Pre-release migration
|
|
87
|
+
|
|
88
|
+
This is a V0 breaking change. There is one runtime path, with no old SMTP reader
|
|
89
|
+
or compatibility adapter.
|
|
90
|
+
|
|
91
|
+
1. Supply `auth.local.recovery-sender` (or the direct `recoverySender` argument)
|
|
92
|
+
using your application’s chosen delivery implementation.
|
|
93
|
+
2. Move sender, reply-to and transport credentials into that implementation's
|
|
94
|
+
configuration and private Env. Remove `AUTH_LOCAL_SMTP_HOST`,
|
|
95
|
+
`AUTH_LOCAL_SMTP_PORT`, `AUTH_LOCAL_SMTP_SECURE`, `AUTH_LOCAL_SMTP_USER`,
|
|
96
|
+
`AUTH_LOCAL_SMTP_PASSWORD`, `AUTH_LOCAL_SMTP_FROM` and
|
|
97
|
+
`AUTH_LOCAL_SMTP_REPLY_TO`. These variables are no longer consumed by auth.
|
|
98
|
+
3. If retaining SMTP, explicitly install Nodemailer in the application and own
|
|
99
|
+
its transport there. Local auth no longer installs or imports Nodemailer.
|
|
100
|
+
4. Retain `APP_PUBLIC_URL`. Replace direct-service `config.smtp` and
|
|
101
|
+
`config.smtpConfigured` with the sender argument. Update consumers that
|
|
102
|
+
inspect `features.passwordRecovery.delivery` from `smtp` to `email`, including
|
|
103
|
+
Supabase-backed consumers: this describes delivery, not transport protocol.
|
|
104
|
+
5. Verify recovery delivery, unknown-account responses, delivery failures and
|
|
105
|
+
the completed password-reset flow before releasing the updated application.
|
|
106
|
+
This change does not alter identity, session or recovery-token storage.
|
|
107
|
+
|
|
40
108
|
## Browser boundary
|
|
41
109
|
|
|
42
110
|
`@jskit-ai/auth-web` owns the normal auth views, guard runtime, sign-out flow,
|
package/package.json
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@local/main": "0.1.0",
|
|
36
36
|
"@fastify/static": "^10.1.3",
|
|
37
|
-
"@jskit-ai/kernel": "0.1.
|
|
37
|
+
"@jskit-ai/kernel": "0.1.185",
|
|
38
38
|
"@tanstack/vue-query": "^5.101.0",
|
|
39
39
|
"fastify": "^5.8.5",
|
|
40
40
|
"json-rest-schema": "^1.0.17",
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
"vue": "^3.5.38",
|
|
43
43
|
"vue-router": "^5.1.0",
|
|
44
44
|
"vuetify": "^4.1.2",
|
|
45
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
45
|
+
"@jskit-ai/http-runtime": "0.1.183"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@jskit-ai/config-eslint": "0.1.
|
|
49
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
48
|
+
"@jskit-ai/config-eslint": "0.1.182",
|
|
49
|
+
"@jskit-ai/jskit-catalog": "0.1.210",
|
|
50
50
|
"@playwright/test": "1.61.1",
|
|
51
51
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
52
52
|
"eslint": "^10.8.0",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@local/main": "0.1.0",
|
|
36
36
|
"@fastify/static": "^10.1.3",
|
|
37
|
-
"@jskit-ai/kernel": "0.1.
|
|
37
|
+
"@jskit-ai/kernel": "0.1.185",
|
|
38
38
|
"@tanstack/vue-query": "^5.101.0",
|
|
39
39
|
"fastify": "^5.8.5",
|
|
40
40
|
"json-rest-schema": "^1.0.17",
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"vue": "^3.5.38",
|
|
43
43
|
"vue-router": "^5.1.0",
|
|
44
44
|
"vuetify": "^4.1.2",
|
|
45
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
45
|
+
"@jskit-ai/http-runtime": "0.1.183",
|
|
46
46
|
"@mdi/js": "^7.4.47",
|
|
47
|
-
"@jskit-ai/shell-web": "0.1.
|
|
47
|
+
"@jskit-ai/shell-web": "0.1.189"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@jskit-ai/config-eslint": "0.1.
|
|
51
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
50
|
+
"@jskit-ai/config-eslint": "0.1.182",
|
|
51
|
+
"@jskit-ai/jskit-catalog": "0.1.210",
|
|
52
52
|
"@playwright/test": "1.61.1",
|
|
53
53
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
54
54
|
"eslint": "^10.8.0",
|
|
@@ -15,7 +15,7 @@ A concrete Fastify, Vue, and JSKIT application foundation for products that do n
|
|
|
15
15
|
|
|
16
16
|
- Id: `app/minimal-foundation`
|
|
17
17
|
- Keywords: `app`, `fastify`, `foundation`, `minimal`, `server`, `vite`, `vue`
|
|
18
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
18
|
+
- Owner: `@jskit-ai/agent-docs@0.1.157`
|
|
19
19
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/app/minimal-foundation/PATTERN.md)
|
|
20
20
|
- Examples: [example/](../../skills/jskit/references/patterns/app/minimal-foundation/example/)
|
|
21
21
|
- Requires: `@jskit-ai/http-runtime`, `@jskit-ai/kernel`
|
|
@@ -26,7 +26,7 @@ A concrete JSKIT web application foundation with responsive shell navigation, se
|
|
|
26
26
|
|
|
27
27
|
- Id: `app/shell-foundation`
|
|
28
28
|
- Keywords: `app`, `foundation`, `material`, `navigation`, `placements`, `shell`, `vite`, `vue`
|
|
29
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
29
|
+
- Owner: `@jskit-ai/agent-docs@0.1.157`
|
|
30
30
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/app/shell-foundation/PATTERN.md)
|
|
31
31
|
- Examples: [example/](../../skills/jskit/references/patterns/app/shell-foundation/example/)
|
|
32
32
|
- Requires: `@jskit-ai/http-runtime`, `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -37,7 +37,7 @@ Configure an assistant runtime for one application surface and expose its chat a
|
|
|
37
37
|
|
|
38
38
|
- Id: `assistant/assistant-surface`
|
|
39
39
|
- Keywords: `ai`, `assistant`, `chat`, `config`, `environment`, `page`, `placement`, `settings`, `surface`
|
|
40
|
-
- Owner: `@jskit-ai/assistant-runtime@0.1.
|
|
40
|
+
- Owner: `@jskit-ai/assistant-runtime@0.1.156`
|
|
41
41
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/assistant/assistant-surface/PATTERN.md)
|
|
42
42
|
- Examples: [example/](../../skills/jskit/references/patterns/assistant/assistant-surface/example/)
|
|
43
43
|
- Requires: `@jskit-ai/assistant-runtime`, `@jskit-ai/shell-web`
|
|
@@ -48,7 +48,7 @@ Compose JSKIT authentication routes, views, profile controls, and public surface
|
|
|
48
48
|
|
|
49
49
|
- Id: `auth/auth-surface`
|
|
50
50
|
- Keywords: `account`, `auth`, `login`, `logout`, `password`, `placement`, `profile`, `reset`, `surface`
|
|
51
|
-
- Owner: `@jskit-ai/auth-web@0.1.
|
|
51
|
+
- Owner: `@jskit-ai/auth-web@0.1.185`
|
|
52
52
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/auth/auth-surface/PATTERN.md)
|
|
53
53
|
- Examples: [example/](../../skills/jskit/references/patterns/auth/auth-surface/example/)
|
|
54
54
|
- Requires: `@jskit-ai/auth-core`, `@jskit-ai/auth-web`, `@jskit-ai/shell-web`
|
|
@@ -59,18 +59,172 @@ Add Supabase authentication through normal npm composition, explicit environment
|
|
|
59
59
|
|
|
60
60
|
- Id: `auth/supabase-auth`
|
|
61
61
|
- Keywords: `auth`, `authentication`, `oauth`, `sessions`, `supabase`
|
|
62
|
-
- Owner: `@jskit-ai/auth-provider-supabase-core@0.1.
|
|
62
|
+
- Owner: `@jskit-ai/auth-provider-supabase-core@0.1.182`
|
|
63
63
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/auth/supabase-auth/PATTERN.md)
|
|
64
64
|
- Examples: [example/](../../skills/jskit/references/patterns/auth/supabase-auth/example/)
|
|
65
65
|
- Requires: `@jskit-ai/auth-provider-supabase-core`
|
|
66
66
|
|
|
67
|
+
## App-owned AI connections and static model selection
|
|
68
|
+
|
|
69
|
+
Resolve an administrator environment key or an individual user's grant, then use the application's chosen AI SDK directly.
|
|
70
|
+
|
|
71
|
+
- Id: `connectors/ai-connections`
|
|
72
|
+
- Keywords: `ai`, `api-key`, `big-pickle`, `cli`, `environment`, `free`, `models`, `ownership`, `zai`, `zen`
|
|
73
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
74
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/ai-connections/PATTERN.md)
|
|
75
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/ai-connections/example/)
|
|
76
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
77
|
+
|
|
78
|
+
## API-key connections with portable JSON configuration
|
|
79
|
+
|
|
80
|
+
Compose provider operations, authorization and encrypted file storage from a CLI or application server.
|
|
81
|
+
|
|
82
|
+
- Id: `connectors/api-key-connection`
|
|
83
|
+
- Keywords: `api-key`, `clay`, `cli`, `clickhouse`, `connectors`, `dbt`, `files`, `firecrawl`, `granola`, `integrations`, `metrics`, `prestashop`, `resend`, `semantic-layer`, `semrush`, `x-twitter`
|
|
84
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
85
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/api-key-connection/PATTERN.md)
|
|
86
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/api-key-connection/example/)
|
|
87
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
88
|
+
|
|
89
|
+
## Assistant MCP connections with portable files
|
|
90
|
+
|
|
91
|
+
Compose token-based MCP discovery and explicitly authorized tool calls using the shared connector runtime.
|
|
92
|
+
|
|
93
|
+
- Id: `connectors/assistant-mcp`
|
|
94
|
+
- Keywords: `assistant`, `cli`, `connectors`, `files`, `integrations`, `mcp`, `n8n`, `sanity`
|
|
95
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
96
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/assistant-mcp/PATTERN.md)
|
|
97
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/assistant-mcp/example/)
|
|
98
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
99
|
+
|
|
100
|
+
## Assistant MCP OAuth with portable files
|
|
101
|
+
|
|
102
|
+
Configure assistant OAuth clients, then compose existing state, encrypted file grants and authorized MCP calls.
|
|
103
|
+
|
|
104
|
+
- Id: `connectors/assistant-mcp-oauth`
|
|
105
|
+
- Keywords: `amplitude`, `assistant`, `atlassian`, `canva`, `cli`, `client metadata`, `confidence`, `connectors`, `figma`, `files`, `granola`, `hex`, `mcp`, `miro`, `oauth`
|
|
106
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
107
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/assistant-mcp-oauth/PATTERN.md)
|
|
108
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/assistant-mcp-oauth/example/)
|
|
109
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
110
|
+
|
|
111
|
+
## AWS object storage and Athena queries with explicit credentials
|
|
112
|
+
|
|
113
|
+
Compose signed AWS operations, file configuration and application authorization from CLI or server code.
|
|
114
|
+
|
|
115
|
+
- Id: `connectors/aws-storage-queries`
|
|
116
|
+
- Keywords: `athena`, `aws`, `cli`, `connectors`, `files`, `iam`, `queries`, `s3`, `storage`, `sts`
|
|
117
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
118
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/aws-storage-queries/PATTERN.md)
|
|
119
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/aws-storage-queries/example/)
|
|
120
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
121
|
+
|
|
122
|
+
## Google Calendar from an application-owned CLI
|
|
123
|
+
|
|
124
|
+
Compose reusable connection libraries with portable configuration, application ownership and durable storage.
|
|
125
|
+
|
|
126
|
+
- Id: `connectors/calendar-cli`
|
|
127
|
+
- Keywords: `calendar`, `cli`, `connectors`, `google`, `integrations`, `oauth`, `permissions`
|
|
128
|
+
- Owner: `@jskit-ai/connector-google-calendar@0.1.2`
|
|
129
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/calendar-cli/PATTERN.md)
|
|
130
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/calendar-cli/example/)
|
|
131
|
+
- Requires: `@jskit-ai/connector-google-calendar`, `@jskit-ai/connectors-core`, `@jskit-ai/database-runtime-mysql`
|
|
132
|
+
|
|
133
|
+
## Authorized Inngest event delivery with portable files
|
|
134
|
+
|
|
135
|
+
Compose the shared connector runtime for event delivery while leaving workflow code and event policy with the application.
|
|
136
|
+
|
|
137
|
+
- Id: `connectors/event-delivery`
|
|
138
|
+
- Keywords: `cli`, `connectors`, `events`, `files`, `inngest`, `integrations`, `workflows`
|
|
139
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
140
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/event-delivery/PATTERN.md)
|
|
141
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/event-delivery/example/)
|
|
142
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
143
|
+
|
|
144
|
+
## Firebase messaging from a CLI or application backend
|
|
145
|
+
|
|
146
|
+
Wire service-account grants, file storage, explicit message actions and public browser settings without generating an application.
|
|
147
|
+
|
|
148
|
+
- Id: `connectors/firebase-messaging`
|
|
149
|
+
- Keywords: `cli`, `connectors`, `fcm`, `files`, `firebase`, `integrations`, `jwt`, `notifications`, `push`, `service-account`, `vapid`
|
|
150
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
151
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/firebase-messaging/PATTERN.md)
|
|
152
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/firebase-messaging/example/)
|
|
153
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
154
|
+
|
|
155
|
+
## Existing-account Google Ads Search
|
|
156
|
+
|
|
157
|
+
Compose reviewed Search campaigns with project-owned Google OAuth and portable saved plans.
|
|
158
|
+
|
|
159
|
+
- Id: `connectors/google-ads-search`
|
|
160
|
+
- Keywords: `ads`, `campaigns`, `cli`, `connectors`, `conversion`, `google`, `search`
|
|
161
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
162
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/google-ads-search/PATTERN.md)
|
|
163
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/google-ads-search/example/)
|
|
164
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
165
|
+
|
|
166
|
+
## OAuth connections with portable files
|
|
167
|
+
|
|
168
|
+
Compose provider consent, verification and encrypted file persistence from an application server or CLI.
|
|
169
|
+
|
|
170
|
+
- Id: `connectors/oauth-connection`
|
|
171
|
+
- Keywords: `accounting`, `assistant permissions`, `books`, `cli`, `client credentials`, `connectors`, `consent`, `crm`, `databricks`, `developer token`, `fabric`, `files`, `gaql`, `google ads`, `graphql`, `integrations`, `linkedin`, `microsoft`, `oauth`, `powerpoint`, `salesforce`, `service principal`, `shopify`, `soql`, `staffing`, `tiktok`, `twitch`, `wave`, `word`, `wordpress`, `workday`, `xero`, `zoho`
|
|
172
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
173
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/oauth-connection/PATTERN.md)
|
|
174
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/oauth-connection/example/)
|
|
175
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
176
|
+
|
|
177
|
+
## Create Paddle products with prices
|
|
178
|
+
|
|
179
|
+
Compose a sequential catalogue batch and preserve partial success for application-owned recovery.
|
|
180
|
+
|
|
181
|
+
- Id: `connectors/paddle-catalogue`
|
|
182
|
+
- Keywords: `batch`, `paddle`, `payments`, `prices`, `products`
|
|
183
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
184
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/paddle-catalogue/PATTERN.md)
|
|
185
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/paddle-catalogue/example/)
|
|
186
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
187
|
+
|
|
188
|
+
## Public logo images from portable integration configuration
|
|
189
|
+
|
|
190
|
+
Resolve a publishable image key deliberately and use the shared URL library in a browser, backend or CLI.
|
|
191
|
+
|
|
192
|
+
- Id: `connectors/public-image`
|
|
193
|
+
- Keywords: `cli`, `connectors`, `files`, `images`, `integrations`, `logo-dev`, `public-key`
|
|
194
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
195
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/public-image/PATTERN.md)
|
|
196
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/public-image/example/)
|
|
197
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
198
|
+
|
|
199
|
+
## Redshift queries with shared AWS credentials
|
|
200
|
+
|
|
201
|
+
Compose file configuration, Redshift Data API operations and application query ownership.
|
|
202
|
+
|
|
203
|
+
- Id: `connectors/redshift-queries`
|
|
204
|
+
- Keywords: `aws`, `cli`, `connectors`, `files`, `iam`, `provisioned`, `redshift`, `serverless`, `sql`, `warehouse`
|
|
205
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
206
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/redshift-queries/PATTERN.md)
|
|
207
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/redshift-queries/example/)
|
|
208
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
209
|
+
|
|
210
|
+
## Authorised project source scans with Wiz
|
|
211
|
+
|
|
212
|
+
Use the shared scanner runtime from a CLI or a host worker with portable configuration and explicit source ownership.
|
|
213
|
+
|
|
214
|
+
- Id: `connectors/source-scanning`
|
|
215
|
+
- Keywords: `cancellation`, `cli`, `connectors`, `integrations`, `scanning`, `security`, `source`, `wiz`, `worker`
|
|
216
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.2`
|
|
217
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/connectors/source-scanning/PATTERN.md)
|
|
218
|
+
- Examples: [example/](../../skills/jskit/references/patterns/connectors/source-scanning/example/)
|
|
219
|
+
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
220
|
+
|
|
67
221
|
## Owner console surface
|
|
68
222
|
|
|
69
223
|
Add a protected administration surface, settings shell, and semantic navigation through JSKIT console and shell APIs.
|
|
70
224
|
|
|
71
225
|
- Id: `console/console-surface`
|
|
72
226
|
- Keywords: `admin`, `console`, `navigation`, `owner`, `placement`, `settings`, `surface`
|
|
73
|
-
- Owner: `@jskit-ai/console-web@0.1.
|
|
227
|
+
- Owner: `@jskit-ai/console-web@0.1.153`
|
|
74
228
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/console/console-surface/PATTERN.md)
|
|
75
229
|
- Examples: [example/](../../skills/jskit/references/patterns/console/console-surface/example/)
|
|
76
230
|
- Requires: `@jskit-ai/console-core`, `@jskit-ai/console-web`, `@jskit-ai/shell-web`
|
|
@@ -81,7 +235,7 @@ Build a routed CRUD user interface as thin application pages over JSKIT's shared
|
|
|
81
235
|
|
|
82
236
|
- Id: `crud/crud-screen-set`
|
|
83
237
|
- Keywords: `actions`, `add`, `crud`, `delete`, `edit`, `filters`, `list`, `material`, `routes`, `view`, `vue`
|
|
84
|
-
- Owner: `@jskit-ai/http-web@0.1.
|
|
238
|
+
- Owner: `@jskit-ai/http-web@0.1.30`
|
|
85
239
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/crud/crud-screen-set/PATTERN.md)
|
|
86
240
|
- Examples: [example/](../../skills/jskit/references/patterns/crud/crud-screen-set/example/)
|
|
87
241
|
- Requires: `@jskit-ai/http-web`, `@jskit-ai/resource-crud-core`
|
|
@@ -92,7 +246,7 @@ Build a complete application-owned CRUD server package from a migration, resourc
|
|
|
92
246
|
|
|
93
247
|
- Id: `crud/json-api-resource-package`
|
|
94
248
|
- Keywords: `actions`, `crud`, `database`, `json-api`, `migration`, `permissions`, `provider`, `repository`, `routes`, `service`
|
|
95
|
-
- Owner: `@jskit-ai/crud-core@0.1.
|
|
249
|
+
- Owner: `@jskit-ai/crud-core@0.1.196`
|
|
96
250
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/crud/json-api-resource-package/PATTERN.md)
|
|
97
251
|
- Examples: [example/](../../skills/jskit/references/patterns/crud/json-api-resource-package/example/)
|
|
98
252
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/resource-crud-core`
|
|
@@ -103,7 +257,7 @@ Define an authenticated application resource whose records belong to the current
|
|
|
103
257
|
|
|
104
258
|
- Id: `crud/resource-contract`
|
|
105
259
|
- Keywords: `authenticated`, `crud`, `database`, `owner-scoped`, `resource`, `user`
|
|
106
|
-
- Owner: `@jskit-ai/resource-crud-core@0.1.
|
|
260
|
+
- Owner: `@jskit-ai/resource-crud-core@0.1.127`
|
|
107
261
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/crud/resource-contract/PATTERN.md)
|
|
108
262
|
- Examples: [example/](../../skills/jskit/references/patterns/crud/resource-contract/example/)
|
|
109
263
|
- Requires: `@jskit-ai/resource-crud-core`
|
|
@@ -114,7 +268,7 @@ Configure a JSKIT application for MySQL with a fixed driver, ordinary environmen
|
|
|
114
268
|
|
|
115
269
|
- Id: `database/mysql-application`
|
|
116
270
|
- Keywords: `database`, `knex`, `mariadb`, `migrations`, `mysql`, `mysql2`
|
|
117
|
-
- Owner: `@jskit-ai/database-runtime-mysql@0.1.
|
|
271
|
+
- Owner: `@jskit-ai/database-runtime-mysql@0.1.183`
|
|
118
272
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/database/mysql-application/PATTERN.md)
|
|
119
273
|
- Examples: [example/](../../skills/jskit/references/patterns/database/mysql-application/example/)
|
|
120
274
|
- Requires: `@jskit-ai/database-runtime-mysql`
|
|
@@ -125,7 +279,7 @@ Configure a JSKIT application for PostgreSQL with a fixed driver, ordinary envir
|
|
|
125
279
|
|
|
126
280
|
- Id: `database/postgres-application`
|
|
127
281
|
- Keywords: `database`, `knex`, `migrations`, `pg`, `postgres`, `postgresql`
|
|
128
|
-
- Owner: `@jskit-ai/database-runtime-postgres@0.1.
|
|
282
|
+
- Owner: `@jskit-ai/database-runtime-postgres@0.1.182`
|
|
129
283
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/database/postgres-application/PATTERN.md)
|
|
130
284
|
- Examples: [example/](../../skills/jskit/references/patterns/database/postgres-application/example/)
|
|
131
285
|
- Requires: `@jskit-ai/database-runtime-postgres`
|
|
@@ -136,7 +290,7 @@ Wrap a JSKIT web application in a Capacitor Android shell using native Capacitor
|
|
|
136
290
|
|
|
137
291
|
- Id: `mobile/android-application`
|
|
138
292
|
- Keywords: `android`, `capacitor`, `device`, `mobile`, `native`, `shell`, `webview`
|
|
139
|
-
- Owner: `@jskit-ai/mobile-capacitor@0.1.
|
|
293
|
+
- Owner: `@jskit-ai/mobile-capacitor@0.1.120`
|
|
140
294
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/mobile/android-application/PATTERN.md)
|
|
141
295
|
- Examples: [example/](../../skills/jskit/references/patterns/mobile/android-application/example/)
|
|
142
296
|
- Requires: `@capacitor/android`, `@capacitor/app`, `@capacitor/cli`, `@jskit-ai/mobile-capacitor`
|
|
@@ -147,18 +301,29 @@ Add JSKIT realtime events with an optional Redis backplane and an explicit shell
|
|
|
147
301
|
|
|
148
302
|
- Id: `realtime/realtime-application`
|
|
149
303
|
- Keywords: `realtime`, `redis`, `socket.io`, `sockets`, `status`, `websocket`
|
|
150
|
-
- Owner: `@jskit-ai/realtime@0.1.
|
|
304
|
+
- Owner: `@jskit-ai/realtime@0.1.182`
|
|
151
305
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/realtime/realtime-application/PATTERN.md)
|
|
152
306
|
- Examples: [example/](../../skills/jskit/references/patterns/realtime/realtime-application/example/)
|
|
153
307
|
- Requires: `@jskit-ai/realtime`, `@jskit-ai/shell-web`
|
|
154
308
|
|
|
309
|
+
## Google rewarded delivery
|
|
310
|
+
|
|
311
|
+
Compose application-owned Google Publisher Tag delivery with the generic rewarded workflow.
|
|
312
|
+
|
|
313
|
+
- Id: `rewards/google-rewarded`
|
|
314
|
+
- Keywords: `ads`, `google`, `publisher tag`, `rewarded`, `unlock`
|
|
315
|
+
- Owner: `@jskit-ai/rewarded-web@0.1.121`
|
|
316
|
+
- Read: [PATTERN.md](../../skills/jskit/references/patterns/rewards/google-rewarded/PATTERN.md)
|
|
317
|
+
- Examples: [example/](../../skills/jskit/references/patterns/rewards/google-rewarded/example/)
|
|
318
|
+
- Requires: `@jskit-ai/rewarded-web`
|
|
319
|
+
|
|
155
320
|
## App-local server feature package
|
|
156
321
|
|
|
157
322
|
Define a server feature through explicit capabilities and first-class actions, adding services or repositories only when its domain earns them.
|
|
158
323
|
|
|
159
324
|
- Id: `server/feature-package`
|
|
160
325
|
- Keywords: `actions`, `feature`, `json-rest`, `knex`, `orchestration`, `package`, `provider`, `repository`, `routes`, `server`
|
|
161
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
326
|
+
- Owner: `@jskit-ai/agent-docs@0.1.157`
|
|
162
327
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/server/feature-package/PATTERN.md)
|
|
163
328
|
- Examples: [example/](../../skills/jskit/references/patterns/server/feature-package/example/)
|
|
164
329
|
- Requires: `@jskit-ai/kernel`
|
|
@@ -169,7 +334,7 @@ Compose the JSKIT responsive shell, semantic placements, settings navigation, an
|
|
|
169
334
|
|
|
170
335
|
- Id: `shell/application-shell`
|
|
171
336
|
- Keywords: `adaptive`, `app`, `layout`, `navigation`, `placement`, `responsive`, `settings`, `shell`
|
|
172
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
337
|
+
- Owner: `@jskit-ai/shell-web@0.1.189`
|
|
173
338
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/shell/application-shell/PATTERN.md)
|
|
174
339
|
- Examples: [example/](../../skills/jskit/references/patterns/shell/application-shell/example/)
|
|
175
340
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -180,7 +345,7 @@ Add product routes and shell extensions through file routing, semantic placement
|
|
|
180
345
|
|
|
181
346
|
- Id: `ui/page-and-placement`
|
|
182
347
|
- Keywords: `component`, `navigation`, `outlet`, `page`, `placement`, `routes`, `section`, `shell`, `subpages`, `vue`
|
|
183
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
348
|
+
- Owner: `@jskit-ai/shell-web@0.1.189`
|
|
184
349
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/ui/page-and-placement/PATTERN.md)
|
|
185
350
|
- Examples: [example/](../../skills/jskit/references/patterns/ui/page-and-placement/example/)
|
|
186
351
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -191,7 +356,7 @@ Compose an account settings route and profile, preference, and notification sect
|
|
|
191
356
|
|
|
192
357
|
- Id: `users/account-settings`
|
|
193
358
|
- Keywords: `account`, `notifications`, `preferences`, `profile`, `settings`, `user`, `vue`
|
|
194
|
-
- Owner: `@jskit-ai/users-web@0.1.
|
|
359
|
+
- Owner: `@jskit-ai/users-web@0.1.203`
|
|
195
360
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/users/account-settings/PATTERN.md)
|
|
196
361
|
- Examples: [example/](../../skills/jskit/references/patterns/users/account-settings/example/)
|
|
197
362
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/users-core`, `@jskit-ai/users-web`
|
|
@@ -202,7 +367,7 @@ Expose user administration and workspace-scoped member operations through app-ow
|
|
|
202
367
|
|
|
203
368
|
- Id: `users/user-administration-server`
|
|
204
369
|
- Keywords: `account`, `admin`, `member`, `repository`, `resource`, `routes`, `service`, `user`, `workspace`
|
|
205
|
-
- Owner: `@jskit-ai/users-core@0.1.
|
|
370
|
+
- Owner: `@jskit-ai/users-core@0.1.198`
|
|
206
371
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/users/user-administration-server/PATTERN.md)
|
|
207
372
|
- Examples: [example/](../../skills/jskit/references/patterns/users/user-administration-server/example/)
|
|
208
373
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/users-core`
|
|
@@ -213,7 +378,7 @@ Configure roles, workspace access policy, invitations, and app-owned invitation
|
|
|
213
378
|
|
|
214
379
|
- Id: `workspaces/workspace-server`
|
|
215
380
|
- Keywords: `access`, `invite`, `membership`, `multitenancy`, `policy`, `role`, `tenancy`, `workspace`
|
|
216
|
-
- Owner: `@jskit-ai/workspaces-core@0.1.
|
|
381
|
+
- Owner: `@jskit-ai/workspaces-core@0.1.163`
|
|
217
382
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/workspaces/workspace-server/PATTERN.md)
|
|
218
383
|
- Examples: [example/](../../skills/jskit/references/patterns/workspaces/workspace-server/example/)
|
|
219
384
|
- Requires: `@jskit-ai/users-core`, `@jskit-ai/workspaces-core`
|
|
@@ -224,7 +389,7 @@ Compose workspace selection, invitation, member administration, settings, and re
|
|
|
224
389
|
|
|
225
390
|
- Id: `workspaces/workspace-surfaces`
|
|
226
391
|
- Keywords: `admin`, `invite`, `member`, `navigation`, `settings`, `surface`, `switcher`, `workspace`
|
|
227
|
-
- Owner: `@jskit-ai/workspaces-web@0.1.
|
|
392
|
+
- Owner: `@jskit-ai/workspaces-web@0.1.164`
|
|
228
393
|
- Read: [PATTERN.md](../../skills/jskit/references/patterns/workspaces/workspace-surfaces/PATTERN.md)
|
|
229
394
|
- Examples: [example/](../../skills/jskit/references/patterns/workspaces/workspace-surfaces/example/)
|
|
230
395
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/workspaces-core`, `@jskit-ai/workspaces-web`
|
|
@@ -19,22 +19,28 @@ AI-first source patterns are indexed in `PATTERN_INDEX.md`.
|
|
|
19
19
|
- [auth-provider-local-db-core](/packages/agent-docs/reference/autogen/packages/auth-provider-local-db-core.md)
|
|
20
20
|
- [auth-provider-supabase-core](/packages/agent-docs/reference/autogen/packages/auth-provider-supabase-core.md)
|
|
21
21
|
- [auth-web](/packages/agent-docs/reference/autogen/packages/auth-web.md)
|
|
22
|
+
- [connector-google-calendar](/packages/agent-docs/reference/autogen/packages/connector-google-calendar.md)
|
|
23
|
+
- [connectors-catalog](/packages/agent-docs/reference/autogen/packages/connectors-catalog.md)
|
|
24
|
+
- [connectors-core](/packages/agent-docs/reference/autogen/packages/connectors-core.md)
|
|
25
|
+
- [connectors-web](/packages/agent-docs/reference/autogen/packages/connectors-web.md)
|
|
22
26
|
- [console-core](/packages/agent-docs/reference/autogen/packages/console-core.md)
|
|
23
27
|
- [console-web](/packages/agent-docs/reference/autogen/packages/console-web.md)
|
|
24
28
|
- [crud-core](/packages/agent-docs/reference/autogen/packages/crud-core.md)
|
|
25
29
|
- [database-runtime](/packages/agent-docs/reference/autogen/packages/database-runtime.md)
|
|
26
30
|
- [database-runtime-mysql](/packages/agent-docs/reference/autogen/packages/database-runtime-mysql.md)
|
|
27
31
|
- [database-runtime-postgres](/packages/agent-docs/reference/autogen/packages/database-runtime-postgres.md)
|
|
28
|
-
- [google-rewarded-core](/packages/agent-docs/reference/autogen/packages/google-rewarded-core.md)
|
|
29
|
-
- [google-rewarded-web](/packages/agent-docs/reference/autogen/packages/google-rewarded-web.md)
|
|
30
32
|
- [http-runtime](/packages/agent-docs/reference/autogen/packages/http-runtime.md)
|
|
31
33
|
- [http-web](/packages/agent-docs/reference/autogen/packages/http-web.md)
|
|
32
34
|
- [json-rest-api-core](/packages/agent-docs/reference/autogen/packages/json-rest-api-core.md)
|
|
33
35
|
- [kernel](/packages/agent-docs/reference/autogen/packages/kernel.md)
|
|
34
36
|
- [mobile-capacitor](/packages/agent-docs/reference/autogen/packages/mobile-capacitor.md)
|
|
37
|
+
- [payments-core](/packages/agent-docs/reference/autogen/packages/payments-core.md)
|
|
38
|
+
- [payments-web](/packages/agent-docs/reference/autogen/packages/payments-web.md)
|
|
35
39
|
- [realtime](/packages/agent-docs/reference/autogen/packages/realtime.md)
|
|
36
40
|
- [resource-core](/packages/agent-docs/reference/autogen/packages/resource-core.md)
|
|
37
41
|
- [resource-crud-core](/packages/agent-docs/reference/autogen/packages/resource-crud-core.md)
|
|
42
|
+
- [rewarded-core](/packages/agent-docs/reference/autogen/packages/rewarded-core.md)
|
|
43
|
+
- [rewarded-web](/packages/agent-docs/reference/autogen/packages/rewarded-web.md)
|
|
38
44
|
- [shell-web](/packages/agent-docs/reference/autogen/packages/shell-web.md)
|
|
39
45
|
- [storage-runtime](/packages/agent-docs/reference/autogen/packages/storage-runtime.md)
|
|
40
46
|
- [uploads-image-web](/packages/agent-docs/reference/autogen/packages/uploads-image-web.md)
|
|
@@ -74,7 +74,7 @@ Local functions
|
|
|
74
74
|
|
|
75
75
|
### `src/server/lib/service.js`
|
|
76
76
|
Exports
|
|
77
|
-
- `createLocalAuthService({ backend, config, profileProjector = null, passwordStrategy = null, invitationContextResolver = null })`
|
|
77
|
+
- `createLocalAuthService({ backend, config, profileProjector = null, passwordStrategy = null, invitationContextResolver = null, recoverySender = null })`
|
|
78
78
|
Local functions
|
|
79
79
|
- `nowSeconds()`
|
|
80
80
|
- `isoFromNow(seconds)`
|
|
@@ -102,7 +102,6 @@ Local functions
|
|
|
102
102
|
- `devLoginAsValidationError(fieldErrors = {})`
|
|
103
103
|
- `devLoginAsUserNotFound({ email = "", userId = "" } = {})`
|
|
104
104
|
- `normalizeInvitationInput(value = null)`
|
|
105
|
-
- `maybeSendRecoveryEmail(config, recoveryUrl, email)`
|
|
106
105
|
|
|
107
106
|
### `src/server/lib/tokens.js`
|
|
108
107
|
Exports
|
|
@@ -117,9 +116,8 @@ Local functions
|
|
|
117
116
|
### `src/server/providers/AuthLocalProvider.js`
|
|
118
117
|
Exports
|
|
119
118
|
- `AuthLocalProvider`
|
|
120
|
-
- `resolveConfig({ appRoot, backend, env, logger })`
|
|
119
|
+
- `resolveConfig({ appRoot, backend, env, logger, recoverySender = null })`
|
|
121
120
|
Local functions
|
|
122
121
|
- `resolveStoreDir(env, appRoot)`
|
|
123
122
|
- `resolveSessionSecret(env, { storeDir, isProduction })`
|
|
124
|
-
- `
|
|
125
|
-
- `resolveAppPublicUrl(env, { smtpConfigured })`
|
|
123
|
+
- `resolveAppPublicUrl(env, { recoverySender })`
|