@jskit-ai/agent-docs 0.1.239 → 0.1.241
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-conversation.md +11 -6
- package/guide/agent/app-setup/authentication.md +28 -2
- package/guide/agent/app-setup/existing-application-migration.md +5 -3
- package/guide/agent/app-setup/initial-scaffolding.md +4 -1
- package/guide/agent/app-setup/run-an-accounts-hub.md +152 -0
- package/guide/agent/app-setup/sign-in-through-oidc-issuer.md +148 -0
- package/guide/agent/app-setup/upgrading-jskit.md +13 -0
- package/guide/agent/framework/application-operations.md +3 -0
- package/guide/agent/framework/ui-operations.md +24 -0
- package/guide/agent/index.md +2 -0
- package/package.json +1 -1
- package/patterns/feature-package/example/booking-engine/package.json +1 -1
- package/patterns/minimal-foundation/example/package.json +3 -3
- package/patterns/shell-foundation/example/package.json +4 -4
- package/patterns/shell-foundation/example/packages/main/package.json +1 -1
- package/reference/autogen/KERNEL_MAP.md +1 -0
- package/reference/autogen/PATTERN_INDEX.md +57 -35
- package/reference/autogen/README.md +2 -0
- package/reference/autogen/packages/auth-core.md +1 -0
- package/reference/autogen/packages/auth-provider-oidc-core.md +144 -0
- package/reference/autogen/packages/auth-web.md +16 -0
- package/reference/autogen/packages/kernel.md +6 -1
- package/reference/autogen/packages/oidc-issuer-core.md +201 -0
- package/reference/autogen/packages/shell-web.md +3 -0
- package/reference/autogen/tooling/jskit-release.md +1 -0
- package/skills/jskit/references/app-operations.md +3 -0
- package/skills/jskit/references/existing-application-migration.md +5 -3
- package/skills/jskit/references/pattern-index.md +57 -35
- package/skills/jskit/references/patterns/app/minimal-foundation/example/package.json +3 -3
- package/skills/jskit/references/patterns/app/shell-foundation/example/package.json +4 -4
- package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/package.json +1 -1
- package/skills/jskit/references/patterns/auth/accounts-hub/PATTERN.md +97 -0
- package/skills/jskit/references/patterns/auth/accounts-hub/example/.env.example +10 -0
- package/skills/jskit/references/patterns/auth/accounts-hub/example/package.json +8 -0
- package/skills/jskit/references/patterns/auth/accounts-hub/example/server/hubPaths.js +7 -0
- package/skills/jskit/references/patterns/auth/auth-surface/PATTERN.md +33 -11
- package/skills/jskit/references/patterns/auth/oidc-sign-in/PATTERN.md +87 -0
- package/skills/jskit/references/patterns/auth/oidc-sign-in/example/.env.example +13 -0
- package/skills/jskit/references/patterns/auth/oidc-sign-in/example/package.json +8 -0
- package/skills/jskit/references/patterns/auth/supabase-auth/example/package.json +1 -1
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/package.json +4 -4
- package/skills/jskit/references/patterns/connectors/oauth-connection/PATTERN.md +25 -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/server/feature-package/example/booking-engine/package.json +1 -1
- package/skills/jskit/references/patterns/shell/application-shell/PATTERN.md +9 -0
- 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/skills/jskit/references/ui-operations.md +24 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# packages/oidc-issuer-core
|
|
2
|
+
|
|
3
|
+
Generated by `npm run agent-docs:build`.
|
|
4
|
+
Do not edit manually.
|
|
5
|
+
|
|
6
|
+
Generated inventory for `packages/oidc-issuer-core`.
|
|
7
|
+
Use this on demand; do not load the full index at startup.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
- Source: `packages/oidc-issuer-core/**/*{.js,.mjs,.cjs,.vue}`
|
|
11
|
+
- Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
|
|
12
|
+
|
|
13
|
+
## Sections
|
|
14
|
+
|
|
15
|
+
### src
|
|
16
|
+
|
|
17
|
+
### `src/server/accounts.js`
|
|
18
|
+
Exports
|
|
19
|
+
- `ACCOUNTS_TABLE`
|
|
20
|
+
- `AccountError`
|
|
21
|
+
- `LOCK_AFTER_FAILURES`
|
|
22
|
+
- `createAccountStore(knex, { now = () => new Date() } = {})`
|
|
23
|
+
- `isEmail(value)`
|
|
24
|
+
- `normalizeEmail(value)`
|
|
25
|
+
- `passwordProblem(password)`
|
|
26
|
+
Local functions
|
|
27
|
+
- `isCommonPassword(password)`
|
|
28
|
+
- `displayNameFor(value, email)`
|
|
29
|
+
- `passwordRecord(row)`
|
|
30
|
+
- `passwordColumns(record)`
|
|
31
|
+
- `toAccount(row)`
|
|
32
|
+
|
|
33
|
+
### `src/server/adapter.js`
|
|
34
|
+
Exports
|
|
35
|
+
- `MODELS_TABLE`
|
|
36
|
+
- `createKnexAdapterClass(knex, { now = () => new Date() } = {})`
|
|
37
|
+
- `deleteExpiredModels(knex, { now = () => new Date() } = {})`
|
|
38
|
+
Local functions
|
|
39
|
+
- `toDate(value)`
|
|
40
|
+
- `isExpired(row, now)`
|
|
41
|
+
|
|
42
|
+
### `src/server/clients.js`
|
|
43
|
+
Exports
|
|
44
|
+
- `CLIENTS_TABLE`
|
|
45
|
+
- `RegistrationError`
|
|
46
|
+
- `createClientStore(knex, { now = () => new Date() } = {})`
|
|
47
|
+
- `isDevelopmentOrigin(origin, patterns)`
|
|
48
|
+
- `validateRegistrationMetadata(body)`
|
|
49
|
+
Local functions
|
|
50
|
+
- `invalid(description)`
|
|
51
|
+
- `originOf(uri, field)`
|
|
52
|
+
- `globToRegExp(pattern)`
|
|
53
|
+
- `assertOnlyValue(body, field, value)`
|
|
54
|
+
|
|
55
|
+
### `src/server/config.js`
|
|
56
|
+
Exports
|
|
57
|
+
- `HubConfigError`
|
|
58
|
+
- `isLoopbackHostname(hostname)`
|
|
59
|
+
- `resolveHubConfig(env = {}, { appRoot = "" } = {})`
|
|
60
|
+
Local functions
|
|
61
|
+
- `text(value)`
|
|
62
|
+
- `resolveIssuer(env, isProduction)`
|
|
63
|
+
- `readOrCreateDevSecret(appRoot)`
|
|
64
|
+
- `resolveSecret(env, { isProduction, appRoot })`
|
|
65
|
+
- `parseDevOriginPatterns(value)`
|
|
66
|
+
- `resolveMail(env, { isProduction })`
|
|
67
|
+
- `resolveGoogle(env)`
|
|
68
|
+
|
|
69
|
+
### `src/server/crypto.js`
|
|
70
|
+
Exports
|
|
71
|
+
- `constantEquals(left, right)`
|
|
72
|
+
- `createAccountId()`
|
|
73
|
+
- `decrypt(key, sealed)`
|
|
74
|
+
- `deriveKey(secret, purpose, length = 32)`
|
|
75
|
+
- `encrypt(key, plaintext)`
|
|
76
|
+
- `hashPassword(password)`
|
|
77
|
+
- `randomToken(bytes = 32)`
|
|
78
|
+
- `sha256(value)`
|
|
79
|
+
- `verifyPassword(password, record)`
|
|
80
|
+
|
|
81
|
+
### `src/server/emailTokens.js`
|
|
82
|
+
Exports
|
|
83
|
+
- `createEmailTokenStore(knex, { now = () => new Date() } = {})`
|
|
84
|
+
|
|
85
|
+
### `src/server/google.js`
|
|
86
|
+
Exports
|
|
87
|
+
- `GOOGLE_ENDPOINTS`
|
|
88
|
+
- `createGoogleSignIn({ google, issuer, Adapter, endpoints = GOOGLE_ENDPOINTS, fetchImpl = globalThis.fetch })`
|
|
89
|
+
|
|
90
|
+
### `src/server/http.js`
|
|
91
|
+
Exports
|
|
92
|
+
- `HubError`
|
|
93
|
+
- `appendCookie(reply, cookie)`
|
|
94
|
+
- `clientIp(request)`
|
|
95
|
+
- `escapeHtml(value)`
|
|
96
|
+
- `hubPage({ title, heading, body, content = "" })`
|
|
97
|
+
- `parseCookies(header)`
|
|
98
|
+
- `serializeCookie(name, value, { maxAge, secure, path = "/", httpOnly = true, sameSite = "Lax" })`
|
|
99
|
+
|
|
100
|
+
### `src/server/hubRoutes.js`
|
|
101
|
+
Exports
|
|
102
|
+
- `registerHubRoutes(app, hub)`
|
|
103
|
+
Local functions
|
|
104
|
+
- `accountView(account)`
|
|
105
|
+
- `appView(row)`
|
|
106
|
+
- `isLoopbackRequest(request)`
|
|
107
|
+
|
|
108
|
+
### `src/server/hubSessions.js`
|
|
109
|
+
Exports
|
|
110
|
+
- `createHubSessionStore(knex, { now = () => new Date() } = {})`
|
|
111
|
+
- `createSettingStore(knex)`
|
|
112
|
+
- `hubSessionCookieName(config)`
|
|
113
|
+
|
|
114
|
+
### `src/server/importAccounts.js`
|
|
115
|
+
Exports
|
|
116
|
+
- `describeImport(result, { apply })`
|
|
117
|
+
- `importAccounts({ knex, text, apply = false, now })`
|
|
118
|
+
Local functions
|
|
119
|
+
- `parseLine(line)`
|
|
120
|
+
- `samePassword(existing, row)`
|
|
121
|
+
|
|
122
|
+
### `src/server/index.js`
|
|
123
|
+
Exports
|
|
124
|
+
- `HubConfigError`
|
|
125
|
+
- `resolveHubConfig`
|
|
126
|
+
- `hashPassword`
|
|
127
|
+
- `verifyPassword`
|
|
128
|
+
- `describeImport`
|
|
129
|
+
- `importAccounts`
|
|
130
|
+
- `HUB_GLOBAL_PATHS`
|
|
131
|
+
- `createOidcIssuer`
|
|
132
|
+
- `runPreviewIdentityCommand`
|
|
133
|
+
|
|
134
|
+
### `src/server/issuer.js`
|
|
135
|
+
Exports
|
|
136
|
+
- `HUB_GLOBAL_PATHS`
|
|
137
|
+
- `createOidcIssuer({ knex, env = process.env, logger = console, mailer = null, now = () => new Date(), appRoot = "", googleEndpoints = GOOGLE_ENDPOINTS, fetchImpl = globalThis.fetch })`
|
|
138
|
+
Local functions
|
|
139
|
+
- `isHubPath(url)`
|
|
140
|
+
- `bearerToken(request)`
|
|
141
|
+
- `sendRegistrationError(reply, error)`
|
|
142
|
+
- `onProviderStatus(reply, matches, action)`
|
|
143
|
+
- `parseJsonBody(buffer)`
|
|
144
|
+
|
|
145
|
+
### `src/server/mailer.js`
|
|
146
|
+
Exports
|
|
147
|
+
- `composeMessage({ heading, body, actionLabel, actionUrl, footer })`
|
|
148
|
+
- `createMailer({ mail, logger, isProduction, fetchImpl = globalThis.fetch })`
|
|
149
|
+
|
|
150
|
+
### `src/server/oidcProvider.js`
|
|
151
|
+
Exports
|
|
152
|
+
- `ACTIVE_STATUSES`
|
|
153
|
+
- `HUB_SCOPES`
|
|
154
|
+
- `createOidcProvider({ config, jwks, Adapter, accounts, clients, hasHubSession, onEndSession })`
|
|
155
|
+
Local functions
|
|
156
|
+
- `interactionPath(uid)`
|
|
157
|
+
- `interactionsPolicy(hasHubSession)`
|
|
158
|
+
|
|
159
|
+
### `src/server/previewIdentity.js`
|
|
160
|
+
Exports
|
|
161
|
+
- `executePreviewIdentityRequest(request, { env = process.env, fetchImpl = globalThis.fetch } = {})`
|
|
162
|
+
- `runPreviewIdentityCommand({ env = process.env, fetchImpl = globalThis.fetch, stdin = process.stdin, stdout = process.stdout } = {})`
|
|
163
|
+
Local functions
|
|
164
|
+
- `failure(requestId, code, message, statusCode = 400)`
|
|
165
|
+
- `readInput(stream)`
|
|
166
|
+
- `localOrigin(value)`
|
|
167
|
+
- `setCookies(response)`
|
|
168
|
+
|
|
169
|
+
### `src/server/providers/OidcIssuerProvider.js`
|
|
170
|
+
Exports
|
|
171
|
+
- `OidcIssuerProvider`
|
|
172
|
+
|
|
173
|
+
### `src/server/rateLimits.js`
|
|
174
|
+
Exports
|
|
175
|
+
- `createRateLimiter(knex, { now = () => new Date() } = {})`
|
|
176
|
+
|
|
177
|
+
### `src/server/signingKeys.js`
|
|
178
|
+
Exports
|
|
179
|
+
- `createSigningKeyStore(knex, { secret, now = () => new Date() })`
|
|
180
|
+
|
|
181
|
+
### bin
|
|
182
|
+
|
|
183
|
+
### `bin/jskit-oidc-issuer.js`
|
|
184
|
+
Exports
|
|
185
|
+
- None
|
|
186
|
+
Local functions
|
|
187
|
+
- `loadDotEnv()`
|
|
188
|
+
- `withKnex(work)`
|
|
189
|
+
- `main(argv)`
|
|
190
|
+
|
|
191
|
+
### migrations
|
|
192
|
+
|
|
193
|
+
### `migrations/oidc_issuer_initial.cjs`
|
|
194
|
+
Exports
|
|
195
|
+
- None
|
|
196
|
+
|
|
197
|
+
### patterns
|
|
198
|
+
|
|
199
|
+
### `patterns/accounts-hub/example/server/hubPaths.js`
|
|
200
|
+
Exports
|
|
201
|
+
- `hubGlobalUiPaths(runtimeGlobalUiPaths = [])`
|
|
@@ -59,6 +59,9 @@ Exports
|
|
|
59
59
|
Exports
|
|
60
60
|
- None
|
|
61
61
|
Local functions
|
|
62
|
+
- `readLayoutRect()`
|
|
63
|
+
- `publishInlineBannerHeight(height = 0)`
|
|
64
|
+
- `stopObservingBanners()`
|
|
62
65
|
- `isSameSnackbarEntry(left = null, right = null)`
|
|
63
66
|
- `hasSnackbarEntry(entry = null)`
|
|
64
67
|
- `openNextSnackbarEntry()`
|
|
@@ -68,6 +68,7 @@ Local functions
|
|
|
68
68
|
- `releaseCommitMessage(entries)`
|
|
69
69
|
- `publishRelease(records, { cwd: repoRoot, dryRun, registry })`
|
|
70
70
|
- `publishCommand(options)`
|
|
71
|
+
- `forgetPinnedLockEntries(repoRoot, names)`
|
|
71
72
|
- `installReleasedPins(repoRoot, { attempts = 20, delayMs = Number(process.env.JSKIT_RELEASE_RETRY_DELAY_MS || 30_000) } = {})`
|
|
72
73
|
- `pinCommand({ cwd: repoRoot, from, dryRun, noCommit })`
|
|
73
74
|
|
|
@@ -85,6 +85,9 @@ the npm installation.
|
|
|
85
85
|
|
|
86
86
|
Do not add auth, users, workspaces, console, sample data, databases, or AI
|
|
87
87
|
capabilities unless the product choice requires them.
|
|
88
|
+
When accounts are required, `auth/auth-surface` includes the managed-preview
|
|
89
|
+
login as standard: add `tools/preview-identity` and its `#### Preview identity`
|
|
90
|
+
Outputs block together with the rest of the surface.
|
|
88
91
|
|
|
89
92
|
## Author database-backed CRUD
|
|
90
93
|
|
|
@@ -311,9 +311,11 @@ Do not conflate these identities:
|
|
|
311
311
|
application profile and required workspace membership already exist. It does
|
|
312
312
|
not synthesize any of them as a side effect.
|
|
313
313
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
314
|
+
An application with accounts has the standard managed-preview login: retain
|
|
315
|
+
the app-owned `tools/preview-identity` executable, or add it from
|
|
316
|
+
`auth/auth-surface` when it is missing, and declare it under
|
|
317
|
+
`#### Preview identity` in the web-presented Vibe64 `Outputs` target exactly as
|
|
318
|
+
that pattern shows. JSKIT owns the executable/library pattern, Vibe64 owns
|
|
317
319
|
the declaration's grammar and runtime behavior, and Genesis transports the
|
|
318
320
|
consumer-owned section without interpreting it. The executable calls the
|
|
319
321
|
`@jskit-ai/auth-web` server-side managed-preview library; it does not need a
|
|
@@ -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.241`
|
|
19
19
|
- Read: [PATTERN.md](patterns/app/minimal-foundation/PATTERN.md)
|
|
20
20
|
- Examples: [example/](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.241`
|
|
30
30
|
- Read: [PATTERN.md](patterns/app/shell-foundation/PATTERN.md)
|
|
31
31
|
- Examples: [example/](patterns/app/shell-foundation/example/)
|
|
32
32
|
- Requires: `@jskit-ai/http-runtime`, `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -37,29 +37,51 @@ 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.233`
|
|
41
41
|
- Read: [PATTERN.md](patterns/assistant/assistant-surface/PATTERN.md)
|
|
42
42
|
- Examples: [example/](patterns/assistant/assistant-surface/example/)
|
|
43
43
|
- Requires: `@jskit-ai/assistant-runtime`, `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`, `@jskit-ai/shell-web`
|
|
44
44
|
|
|
45
|
+
## Accounts hub
|
|
46
|
+
|
|
47
|
+
Run one OpenID Connect sign-in for all of an owner's apps as its own JSKIT project, with production apps approved by the owner.
|
|
48
|
+
|
|
49
|
+
- Id: `auth/accounts-hub`
|
|
50
|
+
- Keywords: `accounts hub`, `auth`, `authentication`, `issuer`, `master login`, `oidc`, `openid connect`, `single sign-on`, `sso`
|
|
51
|
+
- Owner: `@jskit-ai/oidc-issuer-core@0.1.0`
|
|
52
|
+
- Read: [PATTERN.md](patterns/auth/accounts-hub/PATTERN.md)
|
|
53
|
+
- Examples: [example/](patterns/auth/accounts-hub/example/)
|
|
54
|
+
- Requires: `@jskit-ai/oidc-issuer-core`
|
|
55
|
+
|
|
45
56
|
## Authentication surface
|
|
46
57
|
|
|
47
58
|
Compose JSKIT authentication routes, views, profile controls, and public surface configuration without generated source.
|
|
48
59
|
|
|
49
60
|
- Id: `auth/auth-surface`
|
|
50
61
|
- Keywords: `account`, `auth`, `login`, `logout`, `password`, `placement`, `profile`, `reset`, `surface`
|
|
51
|
-
- Owner: `@jskit-ai/auth-web@0.1.
|
|
62
|
+
- Owner: `@jskit-ai/auth-web@0.1.246`
|
|
52
63
|
- Read: [PATTERN.md](patterns/auth/auth-surface/PATTERN.md)
|
|
53
64
|
- Examples: [example/](patterns/auth/auth-surface/example/)
|
|
54
65
|
- Requires: `@jskit-ai/auth-core`, `@jskit-ai/auth-web`, `@jskit-ai/shell-web`
|
|
55
66
|
|
|
67
|
+
## Sign in through an OIDC issuer
|
|
68
|
+
|
|
69
|
+
Let people sign in with the accounts they already have in an accounts hub or another OpenID Connect issuer, instead of app-local passwords.
|
|
70
|
+
|
|
71
|
+
- Id: `auth/oidc-sign-in`
|
|
72
|
+
- Keywords: `accounts hub`, `auth`, `authentication`, `back-channel logout`, `dynamic client registration`, `issuer`, `master login`, `oidc`, `openid connect`, `single sign-on`, `sso`
|
|
73
|
+
- Owner: `@jskit-ai/auth-provider-oidc-core@0.1.0`
|
|
74
|
+
- Read: [PATTERN.md](patterns/auth/oidc-sign-in/PATTERN.md)
|
|
75
|
+
- Examples: [example/](patterns/auth/oidc-sign-in/example/)
|
|
76
|
+
- Requires: `@jskit-ai/auth-provider-oidc-core`, `@jskit-ai/auth-web`
|
|
77
|
+
|
|
56
78
|
## Supabase authentication
|
|
57
79
|
|
|
58
80
|
Add Supabase authentication through normal npm composition, explicit environment values, and app-owned auth policy.
|
|
59
81
|
|
|
60
82
|
- Id: `auth/supabase-auth`
|
|
61
83
|
- Keywords: `auth`, `authentication`, `oauth`, `sessions`, `supabase`
|
|
62
|
-
- Owner: `@jskit-ai/auth-provider-supabase-core@0.1.
|
|
84
|
+
- Owner: `@jskit-ai/auth-provider-supabase-core@0.1.242`
|
|
63
85
|
- Read: [PATTERN.md](patterns/auth/supabase-auth/PATTERN.md)
|
|
64
86
|
- Examples: [example/](patterns/auth/supabase-auth/example/)
|
|
65
87
|
- Requires: `@jskit-ai/auth-provider-supabase-core`
|
|
@@ -70,7 +92,7 @@ Resolve an administrator environment key or an individual user's grant, then use
|
|
|
70
92
|
|
|
71
93
|
- Id: `connectors/ai-connections`
|
|
72
94
|
- Keywords: `ai`, `api-key`, `cli`, `environment`, `free`, `models`, `ownership`, `zai`, `zen`
|
|
73
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
95
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
74
96
|
- Read: [PATTERN.md](patterns/connectors/ai-connections/PATTERN.md)
|
|
75
97
|
- Examples: [example/](patterns/connectors/ai-connections/example/)
|
|
76
98
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -81,7 +103,7 @@ Compose provider operations, authorization and encrypted file storage from a CLI
|
|
|
81
103
|
|
|
82
104
|
- Id: `connectors/api-key-connection`
|
|
83
105
|
- 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.
|
|
106
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
85
107
|
- Read: [PATTERN.md](patterns/connectors/api-key-connection/PATTERN.md)
|
|
86
108
|
- Examples: [example/](patterns/connectors/api-key-connection/example/)
|
|
87
109
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -92,7 +114,7 @@ Compose token-based MCP discovery and explicitly authorized tool calls using the
|
|
|
92
114
|
|
|
93
115
|
- Id: `connectors/assistant-mcp`
|
|
94
116
|
- Keywords: `assistant`, `cli`, `connectors`, `files`, `integrations`, `mcp`, `n8n`, `sanity`
|
|
95
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
117
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
96
118
|
- Read: [PATTERN.md](patterns/connectors/assistant-mcp/PATTERN.md)
|
|
97
119
|
- Examples: [example/](patterns/connectors/assistant-mcp/example/)
|
|
98
120
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -103,7 +125,7 @@ Configure assistant OAuth clients, then compose existing state, encrypted file g
|
|
|
103
125
|
|
|
104
126
|
- Id: `connectors/assistant-mcp-oauth`
|
|
105
127
|
- 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.
|
|
128
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
107
129
|
- Read: [PATTERN.md](patterns/connectors/assistant-mcp-oauth/PATTERN.md)
|
|
108
130
|
- Examples: [example/](patterns/connectors/assistant-mcp-oauth/example/)
|
|
109
131
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -114,7 +136,7 @@ Compose signed AWS operations, file configuration and application authorization
|
|
|
114
136
|
|
|
115
137
|
- Id: `connectors/aws-storage-queries`
|
|
116
138
|
- Keywords: `athena`, `aws`, `cli`, `connectors`, `files`, `iam`, `queries`, `s3`, `storage`, `sts`
|
|
117
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
139
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
118
140
|
- Read: [PATTERN.md](patterns/connectors/aws-storage-queries/PATTERN.md)
|
|
119
141
|
- Examples: [example/](patterns/connectors/aws-storage-queries/example/)
|
|
120
142
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -125,7 +147,7 @@ Compose reusable connection libraries with portable configuration, application o
|
|
|
125
147
|
|
|
126
148
|
- Id: `connectors/calendar-cli`
|
|
127
149
|
- Keywords: `calendar`, `cli`, `connectors`, `google`, `integrations`, `oauth`, `permissions`
|
|
128
|
-
- Owner: `@jskit-ai/connector-google-calendar@0.1.
|
|
150
|
+
- Owner: `@jskit-ai/connector-google-calendar@0.1.62`
|
|
129
151
|
- Read: [PATTERN.md](patterns/connectors/calendar-cli/PATTERN.md)
|
|
130
152
|
- Examples: [example/](patterns/connectors/calendar-cli/example/)
|
|
131
153
|
- Requires: `@jskit-ai/connector-google-calendar`, `@jskit-ai/connectors-core`, `@jskit-ai/database-runtime-mysql`
|
|
@@ -136,7 +158,7 @@ Compose the shared connector runtime for event delivery while leaving workflow c
|
|
|
136
158
|
|
|
137
159
|
- Id: `connectors/event-delivery`
|
|
138
160
|
- Keywords: `cli`, `connectors`, `events`, `files`, `inngest`, `integrations`, `workflows`
|
|
139
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
161
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
140
162
|
- Read: [PATTERN.md](patterns/connectors/event-delivery/PATTERN.md)
|
|
141
163
|
- Examples: [example/](patterns/connectors/event-delivery/example/)
|
|
142
164
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -147,7 +169,7 @@ Wire service-account grants, file storage, explicit message actions and public b
|
|
|
147
169
|
|
|
148
170
|
- Id: `connectors/firebase-messaging`
|
|
149
171
|
- Keywords: `cli`, `connectors`, `fcm`, `files`, `firebase`, `integrations`, `jwt`, `notifications`, `push`, `service-account`, `vapid`
|
|
150
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
172
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
151
173
|
- Read: [PATTERN.md](patterns/connectors/firebase-messaging/PATTERN.md)
|
|
152
174
|
- Examples: [example/](patterns/connectors/firebase-messaging/example/)
|
|
153
175
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -158,7 +180,7 @@ Compose reviewed Search campaigns with project-owned Google OAuth and portable s
|
|
|
158
180
|
|
|
159
181
|
- Id: `connectors/google-ads-search`
|
|
160
182
|
- Keywords: `ads`, `campaigns`, `cli`, `connectors`, `conversion`, `google`, `search`
|
|
161
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
183
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
162
184
|
- Read: [PATTERN.md](patterns/connectors/google-ads-search/PATTERN.md)
|
|
163
185
|
- Examples: [example/](patterns/connectors/google-ads-search/example/)
|
|
164
186
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -169,7 +191,7 @@ Compose provider consent, verification and encrypted file persistence from an ap
|
|
|
169
191
|
|
|
170
192
|
- Id: `connectors/oauth-connection`
|
|
171
193
|
- 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.
|
|
194
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
173
195
|
- Read: [PATTERN.md](patterns/connectors/oauth-connection/PATTERN.md)
|
|
174
196
|
- Examples: [example/](patterns/connectors/oauth-connection/example/)
|
|
175
197
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -180,7 +202,7 @@ Compose a sequential catalogue batch and preserve partial success for applicatio
|
|
|
180
202
|
|
|
181
203
|
- Id: `connectors/paddle-catalogue`
|
|
182
204
|
- Keywords: `batch`, `paddle`, `payments`, `prices`, `products`
|
|
183
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
205
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
184
206
|
- Read: [PATTERN.md](patterns/connectors/paddle-catalogue/PATTERN.md)
|
|
185
207
|
- Examples: [example/](patterns/connectors/paddle-catalogue/example/)
|
|
186
208
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -191,7 +213,7 @@ Resolve a publishable image key deliberately and use the shared URL library in a
|
|
|
191
213
|
|
|
192
214
|
- Id: `connectors/public-image`
|
|
193
215
|
- Keywords: `cli`, `connectors`, `files`, `images`, `integrations`, `logo-dev`, `public-key`
|
|
194
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
216
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
195
217
|
- Read: [PATTERN.md](patterns/connectors/public-image/PATTERN.md)
|
|
196
218
|
- Examples: [example/](patterns/connectors/public-image/example/)
|
|
197
219
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -202,7 +224,7 @@ Compose file configuration, Redshift Data API operations and application query o
|
|
|
202
224
|
|
|
203
225
|
- Id: `connectors/redshift-queries`
|
|
204
226
|
- Keywords: `aws`, `cli`, `connectors`, `files`, `iam`, `provisioned`, `redshift`, `serverless`, `sql`, `warehouse`
|
|
205
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
227
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
206
228
|
- Read: [PATTERN.md](patterns/connectors/redshift-queries/PATTERN.md)
|
|
207
229
|
- Examples: [example/](patterns/connectors/redshift-queries/example/)
|
|
208
230
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -213,7 +235,7 @@ Use the shared scanner runtime from a CLI or a host worker with portable configu
|
|
|
213
235
|
|
|
214
236
|
- Id: `connectors/source-scanning`
|
|
215
237
|
- Keywords: `cancellation`, `cli`, `connectors`, `integrations`, `scanning`, `security`, `source`, `wiz`, `worker`
|
|
216
|
-
- Owner: `@jskit-ai/connectors-catalog@0.1.
|
|
238
|
+
- Owner: `@jskit-ai/connectors-catalog@0.1.63`
|
|
217
239
|
- Read: [PATTERN.md](patterns/connectors/source-scanning/PATTERN.md)
|
|
218
240
|
- Examples: [example/](patterns/connectors/source-scanning/example/)
|
|
219
241
|
- Requires: `@jskit-ai/connectors-catalog`, `@jskit-ai/connectors-core`
|
|
@@ -224,7 +246,7 @@ Add a protected administration surface, settings shell, and semantic navigation
|
|
|
224
246
|
|
|
225
247
|
- Id: `console/console-surface`
|
|
226
248
|
- Keywords: `admin`, `console`, `navigation`, `owner`, `placement`, `settings`, `surface`
|
|
227
|
-
- Owner: `@jskit-ai/console-web@0.1.
|
|
249
|
+
- Owner: `@jskit-ai/console-web@0.1.214`
|
|
228
250
|
- Read: [PATTERN.md](patterns/console/console-surface/PATTERN.md)
|
|
229
251
|
- Examples: [example/](patterns/console/console-surface/example/)
|
|
230
252
|
- Requires: `@jskit-ai/console-core`, `@jskit-ai/console-web`, `@jskit-ai/shell-web`
|
|
@@ -235,7 +257,7 @@ Build a routed CRUD user interface as thin application pages over JSKIT's shared
|
|
|
235
257
|
|
|
236
258
|
- Id: `crud/crud-screen-set`
|
|
237
259
|
- Keywords: `actions`, `add`, `crud`, `delete`, `edit`, `filters`, `list`, `material`, `routes`, `view`, `vue`
|
|
238
|
-
- Owner: `@jskit-ai/http-web@0.1.
|
|
260
|
+
- Owner: `@jskit-ai/http-web@0.1.91`
|
|
239
261
|
- Read: [PATTERN.md](patterns/crud/crud-screen-set/PATTERN.md)
|
|
240
262
|
- Examples: [example/](patterns/crud/crud-screen-set/example/)
|
|
241
263
|
- Requires: `@jskit-ai/http-web`, `@jskit-ai/resource-crud-core`
|
|
@@ -246,7 +268,7 @@ Build a complete application-owned CRUD server package from a migration, resourc
|
|
|
246
268
|
|
|
247
269
|
- Id: `crud/json-api-resource-package`
|
|
248
270
|
- Keywords: `actions`, `crud`, `database`, `json-api`, `migration`, `permissions`, `provider`, `repository`, `routes`, `service`
|
|
249
|
-
- Owner: `@jskit-ai/crud-core@0.1.
|
|
271
|
+
- Owner: `@jskit-ai/crud-core@0.1.256`
|
|
250
272
|
- Read: [PATTERN.md](patterns/crud/json-api-resource-package/PATTERN.md)
|
|
251
273
|
- Examples: [example/](patterns/crud/json-api-resource-package/example/)
|
|
252
274
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/resource-crud-core`
|
|
@@ -257,7 +279,7 @@ Define an authenticated application resource whose records belong to the current
|
|
|
257
279
|
|
|
258
280
|
- Id: `crud/resource-contract`
|
|
259
281
|
- Keywords: `authenticated`, `crud`, `database`, `owner-scoped`, `resource`, `user`
|
|
260
|
-
- Owner: `@jskit-ai/resource-crud-core@0.1.
|
|
282
|
+
- Owner: `@jskit-ai/resource-crud-core@0.1.187`
|
|
261
283
|
- Read: [PATTERN.md](patterns/crud/resource-contract/PATTERN.md)
|
|
262
284
|
- Examples: [example/](patterns/crud/resource-contract/example/)
|
|
263
285
|
- Requires: `@jskit-ai/resource-crud-core`
|
|
@@ -268,7 +290,7 @@ Configure a JSKIT application for MySQL with a fixed driver, ordinary environmen
|
|
|
268
290
|
|
|
269
291
|
- Id: `database/mysql-application`
|
|
270
292
|
- Keywords: `database`, `knex`, `mariadb`, `migrations`, `mysql`, `mysql2`
|
|
271
|
-
- Owner: `@jskit-ai/database-runtime-mysql@0.1.
|
|
293
|
+
- Owner: `@jskit-ai/database-runtime-mysql@0.1.243`
|
|
272
294
|
- Read: [PATTERN.md](patterns/database/mysql-application/PATTERN.md)
|
|
273
295
|
- Examples: [example/](patterns/database/mysql-application/example/)
|
|
274
296
|
- Requires: `@jskit-ai/database-runtime-mysql`
|
|
@@ -279,7 +301,7 @@ Configure a JSKIT application for PostgreSQL with a fixed driver, ordinary envir
|
|
|
279
301
|
|
|
280
302
|
- Id: `database/postgres-application`
|
|
281
303
|
- Keywords: `database`, `knex`, `migrations`, `pg`, `postgres`, `postgresql`
|
|
282
|
-
- Owner: `@jskit-ai/database-runtime-postgres@0.1.
|
|
304
|
+
- Owner: `@jskit-ai/database-runtime-postgres@0.1.242`
|
|
283
305
|
- Read: [PATTERN.md](patterns/database/postgres-application/PATTERN.md)
|
|
284
306
|
- Examples: [example/](patterns/database/postgres-application/example/)
|
|
285
307
|
- Requires: `@jskit-ai/database-runtime-postgres`
|
|
@@ -290,7 +312,7 @@ Wrap a JSKIT web application in a Capacitor Android shell using native Capacitor
|
|
|
290
312
|
|
|
291
313
|
- Id: `mobile/android-application`
|
|
292
314
|
- Keywords: `android`, `capacitor`, `device`, `mobile`, `native`, `shell`, `webview`
|
|
293
|
-
- Owner: `@jskit-ai/mobile-capacitor@0.1.
|
|
315
|
+
- Owner: `@jskit-ai/mobile-capacitor@0.1.181`
|
|
294
316
|
- Read: [PATTERN.md](patterns/mobile/android-application/PATTERN.md)
|
|
295
317
|
- Examples: [example/](patterns/mobile/android-application/example/)
|
|
296
318
|
- Requires: `@capacitor/android`, `@capacitor/app`, `@capacitor/cli`, `@jskit-ai/mobile-capacitor`
|
|
@@ -301,7 +323,7 @@ Add JSKIT realtime events with an optional Redis backplane and an explicit shell
|
|
|
301
323
|
|
|
302
324
|
- Id: `realtime/realtime-application`
|
|
303
325
|
- Keywords: `realtime`, `redis`, `socket.io`, `sockets`, `status`, `websocket`
|
|
304
|
-
- Owner: `@jskit-ai/realtime@0.1.
|
|
326
|
+
- Owner: `@jskit-ai/realtime@0.1.243`
|
|
305
327
|
- Read: [PATTERN.md](patterns/realtime/realtime-application/PATTERN.md)
|
|
306
328
|
- Examples: [example/](patterns/realtime/realtime-application/example/)
|
|
307
329
|
- Requires: `@jskit-ai/realtime`, `@jskit-ai/shell-web`
|
|
@@ -312,7 +334,7 @@ Compose application-owned Google Publisher Tag delivery with the generic rewarde
|
|
|
312
334
|
|
|
313
335
|
- Id: `rewards/google-rewarded`
|
|
314
336
|
- Keywords: `ads`, `google`, `publisher tag`, `rewarded`, `unlock`
|
|
315
|
-
- Owner: `@jskit-ai/rewarded-web@0.1.
|
|
337
|
+
- Owner: `@jskit-ai/rewarded-web@0.1.182`
|
|
316
338
|
- Read: [PATTERN.md](patterns/rewards/google-rewarded/PATTERN.md)
|
|
317
339
|
- Examples: [example/](patterns/rewards/google-rewarded/example/)
|
|
318
340
|
- Requires: `@jskit-ai/rewarded-web`
|
|
@@ -323,7 +345,7 @@ Define a server feature through explicit capabilities and first-class actions, a
|
|
|
323
345
|
|
|
324
346
|
- Id: `server/feature-package`
|
|
325
347
|
- Keywords: `actions`, `feature`, `json-rest`, `knex`, `orchestration`, `package`, `provider`, `repository`, `routes`, `server`
|
|
326
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
348
|
+
- Owner: `@jskit-ai/agent-docs@0.1.241`
|
|
327
349
|
- Read: [PATTERN.md](patterns/server/feature-package/PATTERN.md)
|
|
328
350
|
- Examples: [example/](patterns/server/feature-package/example/)
|
|
329
351
|
- Requires: `@jskit-ai/kernel`
|
|
@@ -334,7 +356,7 @@ Compose the JSKIT responsive shell, semantic placements, settings navigation, an
|
|
|
334
356
|
|
|
335
357
|
- Id: `shell/application-shell`
|
|
336
358
|
- Keywords: `adaptive`, `app`, `layout`, `navigation`, `placement`, `responsive`, `settings`, `shell`
|
|
337
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
359
|
+
- Owner: `@jskit-ai/shell-web@0.1.250`
|
|
338
360
|
- Read: [PATTERN.md](patterns/shell/application-shell/PATTERN.md)
|
|
339
361
|
- Examples: [example/](patterns/shell/application-shell/example/)
|
|
340
362
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -345,7 +367,7 @@ Add product routes and shell extensions through file routing, semantic placement
|
|
|
345
367
|
|
|
346
368
|
- Id: `ui/page-and-placement`
|
|
347
369
|
- Keywords: `component`, `navigation`, `outlet`, `page`, `placement`, `routes`, `section`, `shell`, `subpages`, `vue`
|
|
348
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
370
|
+
- Owner: `@jskit-ai/shell-web@0.1.250`
|
|
349
371
|
- Read: [PATTERN.md](patterns/ui/page-and-placement/PATTERN.md)
|
|
350
372
|
- Examples: [example/](patterns/ui/page-and-placement/example/)
|
|
351
373
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -356,7 +378,7 @@ Compose an account settings route and profile, preference, and notification sect
|
|
|
356
378
|
|
|
357
379
|
- Id: `users/account-settings`
|
|
358
380
|
- Keywords: `account`, `notifications`, `preferences`, `profile`, `settings`, `user`, `vue`
|
|
359
|
-
- Owner: `@jskit-ai/users-web@0.1.
|
|
381
|
+
- Owner: `@jskit-ai/users-web@0.1.264`
|
|
360
382
|
- Read: [PATTERN.md](patterns/users/account-settings/PATTERN.md)
|
|
361
383
|
- Examples: [example/](patterns/users/account-settings/example/)
|
|
362
384
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/users-core`, `@jskit-ai/users-web`
|
|
@@ -367,7 +389,7 @@ Expose user administration and workspace-scoped member operations through app-ow
|
|
|
367
389
|
|
|
368
390
|
- Id: `users/user-administration-server`
|
|
369
391
|
- Keywords: `account`, `admin`, `member`, `repository`, `resource`, `routes`, `service`, `user`, `workspace`
|
|
370
|
-
- Owner: `@jskit-ai/users-core@0.1.
|
|
392
|
+
- Owner: `@jskit-ai/users-core@0.1.258`
|
|
371
393
|
- Read: [PATTERN.md](patterns/users/user-administration-server/PATTERN.md)
|
|
372
394
|
- Examples: [example/](patterns/users/user-administration-server/example/)
|
|
373
395
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/users-core`
|
|
@@ -378,7 +400,7 @@ Configure roles, workspace access policy, invitations, and app-owned invitation
|
|
|
378
400
|
|
|
379
401
|
- Id: `workspaces/workspace-server`
|
|
380
402
|
- Keywords: `access`, `invite`, `membership`, `multitenancy`, `policy`, `role`, `tenancy`, `workspace`
|
|
381
|
-
- Owner: `@jskit-ai/workspaces-core@0.1.
|
|
403
|
+
- Owner: `@jskit-ai/workspaces-core@0.1.223`
|
|
382
404
|
- Read: [PATTERN.md](patterns/workspaces/workspace-server/PATTERN.md)
|
|
383
405
|
- Examples: [example/](patterns/workspaces/workspace-server/example/)
|
|
384
406
|
- Requires: `@jskit-ai/users-core`, `@jskit-ai/workspaces-core`
|
|
@@ -389,7 +411,7 @@ Compose workspace selection, invitation, member administration, settings, and re
|
|
|
389
411
|
|
|
390
412
|
- Id: `workspaces/workspace-surfaces`
|
|
391
413
|
- Keywords: `admin`, `invite`, `member`, `navigation`, `settings`, `surface`, `switcher`, `workspace`
|
|
392
|
-
- Owner: `@jskit-ai/workspaces-web@0.1.
|
|
414
|
+
- Owner: `@jskit-ai/workspaces-web@0.1.225`
|
|
393
415
|
- Read: [PATTERN.md](patterns/workspaces/workspace-surfaces/PATTERN.md)
|
|
394
416
|
- Examples: [example/](patterns/workspaces/workspace-surfaces/example/)
|
|
395
417
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/workspaces-core`, `@jskit-ai/workspaces-web`
|
|
@@ -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.245",
|
|
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.44",
|
|
43
43
|
"vue-router": "^5.3.1",
|
|
44
44
|
"vuetify": "^4.1.2",
|
|
45
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
45
|
+
"@jskit-ai/http-runtime": "0.1.243",
|
|
46
46
|
"@fastify/fast-json-stringify-compiler": "^5.1.0",
|
|
47
47
|
"@vue/devtools-api": "^8.2.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@jskit-ai/config-eslint": "0.1.241",
|
|
51
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
51
|
+
"@jskit-ai/jskit-catalog": "0.1.294",
|
|
52
52
|
"@playwright/test": "1.61.1",
|
|
53
53
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
54
54
|
"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.245",
|
|
38
38
|
"@tanstack/vue-query": "^5.101.0",
|
|
39
39
|
"fastify": "^5.8.5",
|
|
40
40
|
"json-rest-schema": "^1.0.17",
|
|
@@ -42,15 +42,15 @@
|
|
|
42
42
|
"vue": "^3.5.44",
|
|
43
43
|
"vue-router": "^5.3.1",
|
|
44
44
|
"vuetify": "^4.1.2",
|
|
45
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
45
|
+
"@jskit-ai/http-runtime": "0.1.243",
|
|
46
46
|
"@mdi/js": "^7.4.47",
|
|
47
|
-
"@jskit-ai/shell-web": "0.1.
|
|
47
|
+
"@jskit-ai/shell-web": "0.1.250",
|
|
48
48
|
"@fastify/fast-json-stringify-compiler": "^5.1.0",
|
|
49
49
|
"@vue/devtools-api": "^8.2.1"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@jskit-ai/config-eslint": "0.1.241",
|
|
53
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
53
|
+
"@jskit-ai/jskit-catalog": "0.1.294",
|
|
54
54
|
"@playwright/test": "1.61.1",
|
|
55
55
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
56
56
|
"eslint": "^10.8.0",
|