@jskit-ai/agent-docs 0.1.144 → 0.1.146
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 +57 -0
- package/package.json +1 -1
- package/patterns/feature-package/example/booking-engine/package.json +1 -1
- package/patterns/minimal-foundation/example/package.json +5 -5
- package/patterns/shell-foundation/example/package.json +6 -6
- package/patterns/shell-foundation/example/packages/main/package.json +1 -1
- package/reference/autogen/PATTERN_INDEX.md +20 -20
- package/reference/autogen/packages/assistant-core.md +4 -0
- package/reference/autogen/packages/assistant-runtime.md +24 -9
- package/skills/jskit/references/pattern-index.md +20 -20
|
@@ -107,6 +107,63 @@ at most 20 compact matches and never includes schemas. Tool arguments and
|
|
|
107
107
|
results are byte-bounded; an oversized result returns a controlled error so it
|
|
108
108
|
cannot overflow assistant transcript storage.
|
|
109
109
|
|
|
110
|
+
An application can keep a small critical action directly available in a large
|
|
111
|
+
catalog by opting it in explicitly:
|
|
112
|
+
|
|
113
|
+
```js
|
|
114
|
+
extensions: {
|
|
115
|
+
assistant: {
|
|
116
|
+
alwaysAvailable: true,
|
|
117
|
+
preflight: ["current-time"]
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
The catalog exposes at most eight authorized `alwaysAvailable` actions beside
|
|
123
|
+
the three discovery tools. Permission, surface, channel, actor, and trusted
|
|
124
|
+
workspace enforcement remain unchanged. Other actions still require contract
|
|
125
|
+
lookup before discovery-mode execution.
|
|
126
|
+
|
|
127
|
+
## Conversation lifecycle
|
|
128
|
+
|
|
129
|
+
Tool selection, execution, correction, and recovery run silently. The client
|
|
130
|
+
receives tool timeline events, but assistant prose is emitted only when the
|
|
131
|
+
answer is complete. Progress-only responses such as “Let me query…” are
|
|
132
|
+
retried internally and are not stored or replayed as chat history.
|
|
133
|
+
|
|
134
|
+
The runtime permits up to 16 bounded tool rounds so catalog search, contract
|
|
135
|
+
lookup, and execution can complete in one turn. If ordinary tool-failure
|
|
136
|
+
recovery cannot finish, the runtime returns the latest successful tool result
|
|
137
|
+
with a 4,000-character cap, or a concise failure when there was no successful
|
|
138
|
+
result. Genuine round-budget exhaustion ends with exactly `Limit reached. Start
|
|
139
|
+
a new conversation.`
|
|
140
|
+
|
|
141
|
+
For current or relative date and time questions, the runtime instructs the
|
|
142
|
+
model to use an available authoritative workspace clock action. When an
|
|
143
|
+
authorized `preflight: ["current-time"]` action has no model-required input,
|
|
144
|
+
the runtime executes it before the first model completion and places its result
|
|
145
|
+
in model history. Mark it `alwaysAvailable` when the authorized catalog can
|
|
146
|
+
enter discovery mode. Trusted workspace input can still be required by the
|
|
147
|
+
application because JSKIT hides and injects it before execution.
|
|
148
|
+
|
|
149
|
+
The clock action and its timezone policy remain application-owned; JSKIT does
|
|
150
|
+
not invent a clock action or infer the current date from model knowledge. Make
|
|
151
|
+
that action automation-capable and available on the assistant surface if the
|
|
152
|
+
product needs now, today, tomorrow, or other relative-date answers.
|
|
153
|
+
|
|
154
|
+
Conversation restoration loads every transcript page needed to retain the
|
|
155
|
+
newest bounded transcript window, so a completed response on page two does not
|
|
156
|
+
disappear after navigation or remounting. The defaults are 200 entries per page
|
|
157
|
+
and at most 2,000 restored entries. Applications can set
|
|
158
|
+
`assistant.restoreMessagesPageSize` up to 500 and
|
|
159
|
+
`assistant.restoreMessagesMaxEntries` up to the hard 5,000-entry limit. Longer
|
|
160
|
+
conversations restore the newest entries rather than expanding client memory
|
|
161
|
+
without a bound. Each page has its own query-cache key and can be reused by a
|
|
162
|
+
warm remount.
|
|
163
|
+
|
|
164
|
+
Restored tool calls without matching results, and live calls still pending when
|
|
165
|
+
a stream ends, are shown as interrupted rather than remaining pending forever.
|
|
166
|
+
|
|
110
167
|
## Height and scrolling
|
|
111
168
|
|
|
112
169
|
`AssistantSurfaceClientElement` owns its bounded responsive layout. Below the
|
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.174",
|
|
38
38
|
"@tanstack/vue-query": "^5.101.0",
|
|
39
39
|
"fastify": "^5.8.5",
|
|
40
40
|
"json-rest-schema": "^1.0.17",
|
|
@@ -42,12 +42,12 @@
|
|
|
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.172"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@jskit-ai/agent-docs": "0.1.
|
|
49
|
-
"@jskit-ai/config-eslint": "0.1.
|
|
50
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
48
|
+
"@jskit-ai/agent-docs": "0.1.146",
|
|
49
|
+
"@jskit-ai/config-eslint": "0.1.171",
|
|
50
|
+
"@jskit-ai/jskit-catalog": "0.1.199",
|
|
51
51
|
"@playwright/test": "1.61.1",
|
|
52
52
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
53
53
|
"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.174",
|
|
38
38
|
"@tanstack/vue-query": "^5.101.0",
|
|
39
39
|
"fastify": "^5.8.5",
|
|
40
40
|
"json-rest-schema": "^1.0.17",
|
|
@@ -42,14 +42,14 @@
|
|
|
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.172",
|
|
46
46
|
"@mdi/js": "^7.4.47",
|
|
47
|
-
"@jskit-ai/shell-web": "0.1.
|
|
47
|
+
"@jskit-ai/shell-web": "0.1.178"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@jskit-ai/agent-docs": "0.1.
|
|
51
|
-
"@jskit-ai/config-eslint": "0.1.
|
|
52
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
50
|
+
"@jskit-ai/agent-docs": "0.1.146",
|
|
51
|
+
"@jskit-ai/config-eslint": "0.1.171",
|
|
52
|
+
"@jskit-ai/jskit-catalog": "0.1.199",
|
|
53
53
|
"@playwright/test": "1.61.1",
|
|
54
54
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
55
55
|
"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.146`
|
|
19
19
|
- Read: `node_modules/@jskit-ai/agent-docs/patterns/minimal-foundation/PATTERN.md`
|
|
20
20
|
- Examples: `node_modules/@jskit-ai/agent-docs/patterns/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.146`
|
|
30
30
|
- Read: `node_modules/@jskit-ai/agent-docs/patterns/shell-foundation/PATTERN.md`
|
|
31
31
|
- Examples: `node_modules/@jskit-ai/agent-docs/patterns/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.145`
|
|
41
41
|
- Read: `node_modules/@jskit-ai/assistant-runtime/patterns/assistant-surface/PATTERN.md`
|
|
42
42
|
- Examples: `node_modules/@jskit-ai/assistant-runtime/patterns/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.174`
|
|
52
52
|
- Read: `node_modules/@jskit-ai/auth-web/patterns/auth-surface/PATTERN.md`
|
|
53
53
|
- Examples: `node_modules/@jskit-ai/auth-web/patterns/auth-surface/example/`
|
|
54
54
|
- Requires: `@jskit-ai/auth-core`, `@jskit-ai/auth-web`, `@jskit-ai/shell-web`
|
|
@@ -59,7 +59,7 @@ 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.171`
|
|
63
63
|
- Read: `node_modules/@jskit-ai/auth-provider-supabase-core/patterns/supabase-auth/PATTERN.md`
|
|
64
64
|
- Examples: `node_modules/@jskit-ai/auth-provider-supabase-core/patterns/supabase-auth/example/`
|
|
65
65
|
- Requires: `@jskit-ai/auth-provider-supabase-core`
|
|
@@ -70,7 +70,7 @@ Add a protected administration surface, settings shell, and semantic navigation
|
|
|
70
70
|
|
|
71
71
|
- Id: `console/console-surface`
|
|
72
72
|
- Keywords: `admin`, `console`, `navigation`, `owner`, `placement`, `settings`, `surface`
|
|
73
|
-
- Owner: `@jskit-ai/console-web@0.1.
|
|
73
|
+
- Owner: `@jskit-ai/console-web@0.1.142`
|
|
74
74
|
- Read: `node_modules/@jskit-ai/console-web/patterns/console-surface/PATTERN.md`
|
|
75
75
|
- Examples: `node_modules/@jskit-ai/console-web/patterns/console-surface/example/`
|
|
76
76
|
- Requires: `@jskit-ai/console-core`, `@jskit-ai/console-web`, `@jskit-ai/shell-web`
|
|
@@ -81,7 +81,7 @@ Build a routed CRUD user interface as thin application pages over JSKIT's shared
|
|
|
81
81
|
|
|
82
82
|
- Id: `crud/crud-screen-set`
|
|
83
83
|
- Keywords: `actions`, `add`, `crud`, `delete`, `edit`, `filters`, `list`, `material`, `routes`, `view`, `vue`
|
|
84
|
-
- Owner: `@jskit-ai/http-web@0.1.
|
|
84
|
+
- Owner: `@jskit-ai/http-web@0.1.19`
|
|
85
85
|
- Read: `node_modules/@jskit-ai/http-web/patterns/crud-screen-set/PATTERN.md`
|
|
86
86
|
- Examples: `node_modules/@jskit-ai/http-web/patterns/crud-screen-set/example/`
|
|
87
87
|
- Requires: `@jskit-ai/http-web`, `@jskit-ai/resource-crud-core`
|
|
@@ -92,7 +92,7 @@ Build a complete application-owned CRUD server package from a migration, resourc
|
|
|
92
92
|
|
|
93
93
|
- Id: `crud/json-api-resource-package`
|
|
94
94
|
- Keywords: `actions`, `crud`, `database`, `json-api`, `migration`, `permissions`, `provider`, `repository`, `routes`, `service`
|
|
95
|
-
- Owner: `@jskit-ai/crud-core@0.1.
|
|
95
|
+
- Owner: `@jskit-ai/crud-core@0.1.185`
|
|
96
96
|
- Read: `node_modules/@jskit-ai/crud-core/patterns/json-api-resource-package/PATTERN.md`
|
|
97
97
|
- Examples: `node_modules/@jskit-ai/crud-core/patterns/json-api-resource-package/example/`
|
|
98
98
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/resource-crud-core`
|
|
@@ -103,7 +103,7 @@ Define an authenticated application resource whose records belong to the current
|
|
|
103
103
|
|
|
104
104
|
- Id: `crud/resource-contract`
|
|
105
105
|
- Keywords: `authenticated`, `crud`, `database`, `owner-scoped`, `resource`, `user`
|
|
106
|
-
- Owner: `@jskit-ai/resource-crud-core@0.1.
|
|
106
|
+
- Owner: `@jskit-ai/resource-crud-core@0.1.116`
|
|
107
107
|
- Read: `node_modules/@jskit-ai/resource-crud-core/patterns/resource-contract/PATTERN.md`
|
|
108
108
|
- Examples: `node_modules/@jskit-ai/resource-crud-core/patterns/resource-contract/example/`
|
|
109
109
|
- Requires: `@jskit-ai/resource-crud-core`
|
|
@@ -114,7 +114,7 @@ Configure a JSKIT application for MySQL with a fixed driver, ordinary environmen
|
|
|
114
114
|
|
|
115
115
|
- Id: `database/mysql-application`
|
|
116
116
|
- Keywords: `database`, `knex`, `mariadb`, `migrations`, `mysql`, `mysql2`
|
|
117
|
-
- Owner: `@jskit-ai/database-runtime-mysql@0.1.
|
|
117
|
+
- Owner: `@jskit-ai/database-runtime-mysql@0.1.172`
|
|
118
118
|
- Read: `node_modules/@jskit-ai/database-runtime-mysql/patterns/mysql-application/PATTERN.md`
|
|
119
119
|
- Examples: `node_modules/@jskit-ai/database-runtime-mysql/patterns/mysql-application/example/`
|
|
120
120
|
- Requires: `@jskit-ai/database-runtime-mysql`
|
|
@@ -125,7 +125,7 @@ Configure a JSKIT application for PostgreSQL with a fixed driver, ordinary envir
|
|
|
125
125
|
|
|
126
126
|
- Id: `database/postgres-application`
|
|
127
127
|
- Keywords: `database`, `knex`, `migrations`, `pg`, `postgres`, `postgresql`
|
|
128
|
-
- Owner: `@jskit-ai/database-runtime-postgres@0.1.
|
|
128
|
+
- Owner: `@jskit-ai/database-runtime-postgres@0.1.171`
|
|
129
129
|
- Read: `node_modules/@jskit-ai/database-runtime-postgres/patterns/postgres-application/PATTERN.md`
|
|
130
130
|
- Examples: `node_modules/@jskit-ai/database-runtime-postgres/patterns/postgres-application/example/`
|
|
131
131
|
- Requires: `@jskit-ai/database-runtime-postgres`
|
|
@@ -136,7 +136,7 @@ Wrap a JSKIT web application in a Capacitor Android shell using native Capacitor
|
|
|
136
136
|
|
|
137
137
|
- Id: `mobile/android-application`
|
|
138
138
|
- Keywords: `android`, `capacitor`, `device`, `mobile`, `native`, `shell`, `webview`
|
|
139
|
-
- Owner: `@jskit-ai/mobile-capacitor@0.1.
|
|
139
|
+
- Owner: `@jskit-ai/mobile-capacitor@0.1.109`
|
|
140
140
|
- Read: `node_modules/@jskit-ai/mobile-capacitor/patterns/android-application/PATTERN.md`
|
|
141
141
|
- Examples: `node_modules/@jskit-ai/mobile-capacitor/patterns/android-application/example/`
|
|
142
142
|
- Requires: `@capacitor/android`, `@capacitor/app`, `@capacitor/cli`, `@jskit-ai/mobile-capacitor`
|
|
@@ -147,7 +147,7 @@ Add JSKIT realtime events with an optional Redis backplane and an explicit shell
|
|
|
147
147
|
|
|
148
148
|
- Id: `realtime/realtime-application`
|
|
149
149
|
- Keywords: `realtime`, `redis`, `socket.io`, `sockets`, `status`, `websocket`
|
|
150
|
-
- Owner: `@jskit-ai/realtime@0.1.
|
|
150
|
+
- Owner: `@jskit-ai/realtime@0.1.171`
|
|
151
151
|
- Read: `node_modules/@jskit-ai/realtime/patterns/realtime-application/PATTERN.md`
|
|
152
152
|
- Examples: `node_modules/@jskit-ai/realtime/patterns/realtime-application/example/`
|
|
153
153
|
- Requires: `@jskit-ai/realtime`, `@jskit-ai/shell-web`
|
|
@@ -158,7 +158,7 @@ Define a server feature through explicit capabilities and first-class actions, a
|
|
|
158
158
|
|
|
159
159
|
- Id: `server/feature-package`
|
|
160
160
|
- Keywords: `actions`, `feature`, `json-rest`, `knex`, `orchestration`, `package`, `provider`, `repository`, `routes`, `server`
|
|
161
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
161
|
+
- Owner: `@jskit-ai/agent-docs@0.1.146`
|
|
162
162
|
- Read: `node_modules/@jskit-ai/agent-docs/patterns/feature-package/PATTERN.md`
|
|
163
163
|
- Examples: `node_modules/@jskit-ai/agent-docs/patterns/feature-package/example/`
|
|
164
164
|
- Requires: `@jskit-ai/kernel`
|
|
@@ -169,7 +169,7 @@ Compose the JSKIT responsive shell, semantic placements, settings navigation, an
|
|
|
169
169
|
|
|
170
170
|
- Id: `shell/application-shell`
|
|
171
171
|
- Keywords: `adaptive`, `app`, `layout`, `navigation`, `placement`, `responsive`, `settings`, `shell`
|
|
172
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
172
|
+
- Owner: `@jskit-ai/shell-web@0.1.178`
|
|
173
173
|
- Read: `node_modules/@jskit-ai/shell-web/patterns/application-shell/PATTERN.md`
|
|
174
174
|
- Examples: `node_modules/@jskit-ai/shell-web/patterns/application-shell/example/`
|
|
175
175
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -180,7 +180,7 @@ Add product routes and shell extensions through file routing, semantic placement
|
|
|
180
180
|
|
|
181
181
|
- Id: `ui/page-and-placement`
|
|
182
182
|
- Keywords: `component`, `navigation`, `outlet`, `page`, `placement`, `routes`, `section`, `shell`, `subpages`, `vue`
|
|
183
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
183
|
+
- Owner: `@jskit-ai/shell-web@0.1.178`
|
|
184
184
|
- Read: `node_modules/@jskit-ai/shell-web/patterns/page-and-placement/PATTERN.md`
|
|
185
185
|
- Examples: `node_modules/@jskit-ai/shell-web/patterns/page-and-placement/example/`
|
|
186
186
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -191,7 +191,7 @@ Compose an account settings route and profile, preference, and notification sect
|
|
|
191
191
|
|
|
192
192
|
- Id: `users/account-settings`
|
|
193
193
|
- Keywords: `account`, `notifications`, `preferences`, `profile`, `settings`, `user`, `vue`
|
|
194
|
-
- Owner: `@jskit-ai/users-web@0.1.
|
|
194
|
+
- Owner: `@jskit-ai/users-web@0.1.192`
|
|
195
195
|
- Read: `node_modules/@jskit-ai/users-web/patterns/account-settings/PATTERN.md`
|
|
196
196
|
- Examples: `node_modules/@jskit-ai/users-web/patterns/account-settings/example/`
|
|
197
197
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/users-core`, `@jskit-ai/users-web`
|
|
@@ -202,7 +202,7 @@ Expose user administration and workspace-scoped member operations through app-ow
|
|
|
202
202
|
|
|
203
203
|
- Id: `users/user-administration-server`
|
|
204
204
|
- Keywords: `account`, `admin`, `member`, `repository`, `resource`, `routes`, `service`, `user`, `workspace`
|
|
205
|
-
- Owner: `@jskit-ai/users-core@0.1.
|
|
205
|
+
- Owner: `@jskit-ai/users-core@0.1.187`
|
|
206
206
|
- Read: `node_modules/@jskit-ai/users-core/patterns/user-administration-server/PATTERN.md`
|
|
207
207
|
- Examples: `node_modules/@jskit-ai/users-core/patterns/user-administration-server/example/`
|
|
208
208
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/users-core`
|
|
@@ -213,7 +213,7 @@ Configure roles, workspace access policy, invitations, and app-owned invitation
|
|
|
213
213
|
|
|
214
214
|
- Id: `workspaces/workspace-server`
|
|
215
215
|
- Keywords: `access`, `invite`, `membership`, `multitenancy`, `policy`, `role`, `tenancy`, `workspace`
|
|
216
|
-
- Owner: `@jskit-ai/workspaces-core@0.1.
|
|
216
|
+
- Owner: `@jskit-ai/workspaces-core@0.1.152`
|
|
217
217
|
- Read: `node_modules/@jskit-ai/workspaces-core/patterns/workspace-server/PATTERN.md`
|
|
218
218
|
- Examples: `node_modules/@jskit-ai/workspaces-core/patterns/workspace-server/example/`
|
|
219
219
|
- Requires: `@jskit-ai/users-core`, `@jskit-ai/workspaces-core`
|
|
@@ -224,7 +224,7 @@ Compose workspace selection, invitation, member administration, settings, and re
|
|
|
224
224
|
|
|
225
225
|
- Id: `workspaces/workspace-surfaces`
|
|
226
226
|
- Keywords: `admin`, `invite`, `member`, `navigation`, `settings`, `surface`, `switcher`, `workspace`
|
|
227
|
-
- Owner: `@jskit-ai/workspaces-web@0.1.
|
|
227
|
+
- Owner: `@jskit-ai/workspaces-web@0.1.153`
|
|
228
228
|
- Read: `node_modules/@jskit-ai/workspaces-web/patterns/workspace-surfaces/PATTERN.md`
|
|
229
229
|
- Examples: `node_modules/@jskit-ai/workspaces-web/patterns/workspace-surfaces/example/`
|
|
230
230
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/workspaces-core`, `@jskit-ai/workspaces-web`
|
|
@@ -71,6 +71,7 @@ Exports
|
|
|
71
71
|
- `buildStreamEventError(event)`
|
|
72
72
|
Local functions
|
|
73
73
|
- `appendQueryParam(params, key, value)`
|
|
74
|
+
- `createAssistantQueryParams(query = {}, transport = null)`
|
|
74
75
|
- `normalizeSurfaceHeaderValue(value)`
|
|
75
76
|
- `resolveAssistantRequestHeaders(resolveSurfaceId)`
|
|
76
77
|
- `resolveRequiredBasePath(resolveBasePath)`
|
|
@@ -168,6 +169,7 @@ Exports
|
|
|
168
169
|
Exports
|
|
169
170
|
- `createServiceToolCatalog(actions, { barredActionIds = [], skipActionPrefixes = [], maxDirectTools: rawMaxDirectTools = DEFAULT_MAX_DIRECT_TOOLS, discoveryPageSize: rawDiscoveryPageSize = DEFAULT_DISCOVERY_PAGE_SIZE, maxToolArgumentBytes: rawMaxToolArgumentBytes = DEFAULT_MAX_TOOL_ARGUMENT_BYTES, maxToolResultBytes: rawMaxToolResultBytes = DEFAULT_MAX_TOOL_RESULT_BYTES } = {})`
|
|
170
171
|
Local functions
|
|
172
|
+
- `normalizePreflightIntents(value)`
|
|
171
173
|
- `normalizeAssistantExtension(value)`
|
|
172
174
|
- `normalizeAssistantActionExtension(action = {})`
|
|
173
175
|
- `normalizeBarredEntry(value)`
|
|
@@ -216,6 +218,7 @@ Local functions
|
|
|
216
218
|
Exports
|
|
217
219
|
- `MAX_INPUT_CHARS`
|
|
218
220
|
- `MAX_HISTORY_MESSAGES`
|
|
221
|
+
- `MAX_MESSAGE_PAGE_SIZE`
|
|
219
222
|
- `assistantResource`
|
|
220
223
|
- `assistantConversationOutputValidator`
|
|
221
224
|
|
|
@@ -246,6 +249,7 @@ Exports
|
|
|
246
249
|
- `normalizeAssistantStreamEventType`
|
|
247
250
|
- `MAX_INPUT_CHARS`
|
|
248
251
|
- `MAX_HISTORY_MESSAGES`
|
|
252
|
+
- `MAX_MESSAGE_PAGE_SIZE`
|
|
249
253
|
- `assistantResource`
|
|
250
254
|
- `assistantConversationOutputValidator`
|
|
251
255
|
- `MAX_SYSTEM_PROMPT_CHARS`
|
|
@@ -34,13 +34,8 @@ Local functions
|
|
|
34
34
|
- `buildScopeStorageKey(scope = {})`
|
|
35
35
|
- `readStoredActiveConversationId(scope = {})`
|
|
36
36
|
- `writeStoredActiveConversationId(scope = {}, conversationId)`
|
|
37
|
-
- `buildId(prefix = "id")`
|
|
38
|
-
- `normalizeToolName(value)`
|
|
39
37
|
- `normalizeConversationStatus(value)`
|
|
40
38
|
- `formatConversationStartedAt(value)`
|
|
41
|
-
- `parseToolResultPayload(value)`
|
|
42
|
-
- `buildHistory(messages)`
|
|
43
|
-
- `mapTranscriptEntriesToAssistantState(entries)`
|
|
44
39
|
- `resolveRuntimePolicy()`
|
|
45
40
|
- `createRuntimeApi({ overrideApi = null, resolveBasePath, resolveSurfaceId = null } = {})`
|
|
46
41
|
|
|
@@ -55,12 +50,28 @@ Exports
|
|
|
55
50
|
Exports
|
|
56
51
|
- `AssistantClientProvider`
|
|
57
52
|
|
|
53
|
+
### `src/client/support/assistantRuntimeState.js`
|
|
54
|
+
Exports
|
|
55
|
+
- `buildHistory(messages)`
|
|
56
|
+
- `buildId(prefix = "id")`
|
|
57
|
+
- `interruptPendingToolEvents(toolEvents)`
|
|
58
|
+
- `mapTranscriptEntriesToAssistantState(entries)`
|
|
59
|
+
- `normalizeToolName(value)`
|
|
60
|
+
|
|
58
61
|
### `src/client/support/composerInputSupport.js`
|
|
59
62
|
Exports
|
|
60
63
|
- `insertTextAtSelection(source = "", selectionStart, selectionEnd, text = "")`
|
|
61
64
|
Local functions
|
|
62
65
|
- `normalizeSelectionBoundary(value, fallback, max)`
|
|
63
66
|
|
|
67
|
+
### `src/client/support/conversationRestoreSupport.js`
|
|
68
|
+
Exports
|
|
69
|
+
- `loadConversationTranscript({ fetchPage, pageSize = DEFAULT_RESTORE_MESSAGES_PAGE_SIZE, maxEntries = DEFAULT_RESTORE_MESSAGES_MAX_ENTRIES } = {})`
|
|
70
|
+
- `resolveConversationRestorePolicy({ pageSize, maxEntries } = {})`
|
|
71
|
+
Local functions
|
|
72
|
+
- `normalizeBoundedPositiveInteger(value, fallback, maximum)`
|
|
73
|
+
- `normalizeTotalPages(value)`
|
|
74
|
+
|
|
64
75
|
### `src/client/support/workspaceScopeSupport.js`
|
|
65
76
|
Exports
|
|
66
77
|
- `EMPTY_WORKSPACE_WEB_SCOPE_SUPPORT`
|
|
@@ -162,6 +173,8 @@ Local functions
|
|
|
162
173
|
- `normalizeStreamInput(payload = {})`
|
|
163
174
|
- `hasStreamWriter(streamWriter)`
|
|
164
175
|
- `isAbortError(error)`
|
|
176
|
+
- `requiresCurrentTime(value = "")`
|
|
177
|
+
- `resolvePreflightTools(toolDescriptors = [], input = "")`
|
|
165
178
|
- `extractTextDelta(deltaContent)`
|
|
166
179
|
- `toCompactJson(value, fallback = "{}")`
|
|
167
180
|
- `buildToolContractLine(toolDescriptor = {})`
|
|
@@ -171,11 +184,9 @@ Local functions
|
|
|
171
184
|
- `toSafeToolResultText(value)`
|
|
172
185
|
- `buildToolOutcomeFallbackAnswer({ toolFailures = [], toolSuccesses = [] } = {})`
|
|
173
186
|
- `sanitizeAssistantMessageText(value)`
|
|
174
|
-
- `buildAssistantToolCallMessage(
|
|
187
|
+
- `buildAssistantToolCallMessage(toolCalls = [])`
|
|
175
188
|
- `parseDsmlToolCallsFromText(value = "")`
|
|
176
|
-
- `
|
|
177
|
-
- `consumeCompletionStream({ stream, streamWriter, emitDeltas = true, deltaSanitizer = null } = {})`
|
|
178
|
-
- `mergeAssistantMessageText(streamedText = "", completionText = "")`
|
|
189
|
+
- `consumeCompletionStream(stream)`
|
|
179
190
|
- `requireAssistantSurface(appConfig = {}, targetSurfaceId = "")`
|
|
180
191
|
- `buildAssistantActionContext(context = {}, assistantSurface = {})`
|
|
181
192
|
|
|
@@ -206,6 +217,10 @@ Local functions
|
|
|
206
217
|
- `buildCatalogOptions(appConfig = {}, surfaceId = "")`
|
|
207
218
|
- `requireContextSurfaceId(context = {})`
|
|
208
219
|
|
|
220
|
+
### `src/shared/assistantResponseText.js`
|
|
221
|
+
Exports
|
|
222
|
+
- `isAssistantProgressOnlyText(value)`
|
|
223
|
+
|
|
209
224
|
### `src/shared/assistantRuntimeConfig.js`
|
|
210
225
|
Exports
|
|
211
226
|
- `assistantRuntimeConfig`
|
|
@@ -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.146`
|
|
19
19
|
- Read: `node_modules/@jskit-ai/agent-docs/patterns/minimal-foundation/PATTERN.md`
|
|
20
20
|
- Examples: `node_modules/@jskit-ai/agent-docs/patterns/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.146`
|
|
30
30
|
- Read: `node_modules/@jskit-ai/agent-docs/patterns/shell-foundation/PATTERN.md`
|
|
31
31
|
- Examples: `node_modules/@jskit-ai/agent-docs/patterns/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.145`
|
|
41
41
|
- Read: `node_modules/@jskit-ai/assistant-runtime/patterns/assistant-surface/PATTERN.md`
|
|
42
42
|
- Examples: `node_modules/@jskit-ai/assistant-runtime/patterns/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.174`
|
|
52
52
|
- Read: `node_modules/@jskit-ai/auth-web/patterns/auth-surface/PATTERN.md`
|
|
53
53
|
- Examples: `node_modules/@jskit-ai/auth-web/patterns/auth-surface/example/`
|
|
54
54
|
- Requires: `@jskit-ai/auth-core`, `@jskit-ai/auth-web`, `@jskit-ai/shell-web`
|
|
@@ -59,7 +59,7 @@ 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.171`
|
|
63
63
|
- Read: `node_modules/@jskit-ai/auth-provider-supabase-core/patterns/supabase-auth/PATTERN.md`
|
|
64
64
|
- Examples: `node_modules/@jskit-ai/auth-provider-supabase-core/patterns/supabase-auth/example/`
|
|
65
65
|
- Requires: `@jskit-ai/auth-provider-supabase-core`
|
|
@@ -70,7 +70,7 @@ Add a protected administration surface, settings shell, and semantic navigation
|
|
|
70
70
|
|
|
71
71
|
- Id: `console/console-surface`
|
|
72
72
|
- Keywords: `admin`, `console`, `navigation`, `owner`, `placement`, `settings`, `surface`
|
|
73
|
-
- Owner: `@jskit-ai/console-web@0.1.
|
|
73
|
+
- Owner: `@jskit-ai/console-web@0.1.142`
|
|
74
74
|
- Read: `node_modules/@jskit-ai/console-web/patterns/console-surface/PATTERN.md`
|
|
75
75
|
- Examples: `node_modules/@jskit-ai/console-web/patterns/console-surface/example/`
|
|
76
76
|
- Requires: `@jskit-ai/console-core`, `@jskit-ai/console-web`, `@jskit-ai/shell-web`
|
|
@@ -81,7 +81,7 @@ Build a routed CRUD user interface as thin application pages over JSKIT's shared
|
|
|
81
81
|
|
|
82
82
|
- Id: `crud/crud-screen-set`
|
|
83
83
|
- Keywords: `actions`, `add`, `crud`, `delete`, `edit`, `filters`, `list`, `material`, `routes`, `view`, `vue`
|
|
84
|
-
- Owner: `@jskit-ai/http-web@0.1.
|
|
84
|
+
- Owner: `@jskit-ai/http-web@0.1.19`
|
|
85
85
|
- Read: `node_modules/@jskit-ai/http-web/patterns/crud-screen-set/PATTERN.md`
|
|
86
86
|
- Examples: `node_modules/@jskit-ai/http-web/patterns/crud-screen-set/example/`
|
|
87
87
|
- Requires: `@jskit-ai/http-web`, `@jskit-ai/resource-crud-core`
|
|
@@ -92,7 +92,7 @@ Build a complete application-owned CRUD server package from a migration, resourc
|
|
|
92
92
|
|
|
93
93
|
- Id: `crud/json-api-resource-package`
|
|
94
94
|
- Keywords: `actions`, `crud`, `database`, `json-api`, `migration`, `permissions`, `provider`, `repository`, `routes`, `service`
|
|
95
|
-
- Owner: `@jskit-ai/crud-core@0.1.
|
|
95
|
+
- Owner: `@jskit-ai/crud-core@0.1.185`
|
|
96
96
|
- Read: `node_modules/@jskit-ai/crud-core/patterns/json-api-resource-package/PATTERN.md`
|
|
97
97
|
- Examples: `node_modules/@jskit-ai/crud-core/patterns/json-api-resource-package/example/`
|
|
98
98
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/resource-crud-core`
|
|
@@ -103,7 +103,7 @@ Define an authenticated application resource whose records belong to the current
|
|
|
103
103
|
|
|
104
104
|
- Id: `crud/resource-contract`
|
|
105
105
|
- Keywords: `authenticated`, `crud`, `database`, `owner-scoped`, `resource`, `user`
|
|
106
|
-
- Owner: `@jskit-ai/resource-crud-core@0.1.
|
|
106
|
+
- Owner: `@jskit-ai/resource-crud-core@0.1.116`
|
|
107
107
|
- Read: `node_modules/@jskit-ai/resource-crud-core/patterns/resource-contract/PATTERN.md`
|
|
108
108
|
- Examples: `node_modules/@jskit-ai/resource-crud-core/patterns/resource-contract/example/`
|
|
109
109
|
- Requires: `@jskit-ai/resource-crud-core`
|
|
@@ -114,7 +114,7 @@ Configure a JSKIT application for MySQL with a fixed driver, ordinary environmen
|
|
|
114
114
|
|
|
115
115
|
- Id: `database/mysql-application`
|
|
116
116
|
- Keywords: `database`, `knex`, `mariadb`, `migrations`, `mysql`, `mysql2`
|
|
117
|
-
- Owner: `@jskit-ai/database-runtime-mysql@0.1.
|
|
117
|
+
- Owner: `@jskit-ai/database-runtime-mysql@0.1.172`
|
|
118
118
|
- Read: `node_modules/@jskit-ai/database-runtime-mysql/patterns/mysql-application/PATTERN.md`
|
|
119
119
|
- Examples: `node_modules/@jskit-ai/database-runtime-mysql/patterns/mysql-application/example/`
|
|
120
120
|
- Requires: `@jskit-ai/database-runtime-mysql`
|
|
@@ -125,7 +125,7 @@ Configure a JSKIT application for PostgreSQL with a fixed driver, ordinary envir
|
|
|
125
125
|
|
|
126
126
|
- Id: `database/postgres-application`
|
|
127
127
|
- Keywords: `database`, `knex`, `migrations`, `pg`, `postgres`, `postgresql`
|
|
128
|
-
- Owner: `@jskit-ai/database-runtime-postgres@0.1.
|
|
128
|
+
- Owner: `@jskit-ai/database-runtime-postgres@0.1.171`
|
|
129
129
|
- Read: `node_modules/@jskit-ai/database-runtime-postgres/patterns/postgres-application/PATTERN.md`
|
|
130
130
|
- Examples: `node_modules/@jskit-ai/database-runtime-postgres/patterns/postgres-application/example/`
|
|
131
131
|
- Requires: `@jskit-ai/database-runtime-postgres`
|
|
@@ -136,7 +136,7 @@ Wrap a JSKIT web application in a Capacitor Android shell using native Capacitor
|
|
|
136
136
|
|
|
137
137
|
- Id: `mobile/android-application`
|
|
138
138
|
- Keywords: `android`, `capacitor`, `device`, `mobile`, `native`, `shell`, `webview`
|
|
139
|
-
- Owner: `@jskit-ai/mobile-capacitor@0.1.
|
|
139
|
+
- Owner: `@jskit-ai/mobile-capacitor@0.1.109`
|
|
140
140
|
- Read: `node_modules/@jskit-ai/mobile-capacitor/patterns/android-application/PATTERN.md`
|
|
141
141
|
- Examples: `node_modules/@jskit-ai/mobile-capacitor/patterns/android-application/example/`
|
|
142
142
|
- Requires: `@capacitor/android`, `@capacitor/app`, `@capacitor/cli`, `@jskit-ai/mobile-capacitor`
|
|
@@ -147,7 +147,7 @@ Add JSKIT realtime events with an optional Redis backplane and an explicit shell
|
|
|
147
147
|
|
|
148
148
|
- Id: `realtime/realtime-application`
|
|
149
149
|
- Keywords: `realtime`, `redis`, `socket.io`, `sockets`, `status`, `websocket`
|
|
150
|
-
- Owner: `@jskit-ai/realtime@0.1.
|
|
150
|
+
- Owner: `@jskit-ai/realtime@0.1.171`
|
|
151
151
|
- Read: `node_modules/@jskit-ai/realtime/patterns/realtime-application/PATTERN.md`
|
|
152
152
|
- Examples: `node_modules/@jskit-ai/realtime/patterns/realtime-application/example/`
|
|
153
153
|
- Requires: `@jskit-ai/realtime`, `@jskit-ai/shell-web`
|
|
@@ -158,7 +158,7 @@ Define a server feature through explicit capabilities and first-class actions, a
|
|
|
158
158
|
|
|
159
159
|
- Id: `server/feature-package`
|
|
160
160
|
- Keywords: `actions`, `feature`, `json-rest`, `knex`, `orchestration`, `package`, `provider`, `repository`, `routes`, `server`
|
|
161
|
-
- Owner: `@jskit-ai/agent-docs@0.1.
|
|
161
|
+
- Owner: `@jskit-ai/agent-docs@0.1.146`
|
|
162
162
|
- Read: `node_modules/@jskit-ai/agent-docs/patterns/feature-package/PATTERN.md`
|
|
163
163
|
- Examples: `node_modules/@jskit-ai/agent-docs/patterns/feature-package/example/`
|
|
164
164
|
- Requires: `@jskit-ai/kernel`
|
|
@@ -169,7 +169,7 @@ Compose the JSKIT responsive shell, semantic placements, settings navigation, an
|
|
|
169
169
|
|
|
170
170
|
- Id: `shell/application-shell`
|
|
171
171
|
- Keywords: `adaptive`, `app`, `layout`, `navigation`, `placement`, `responsive`, `settings`, `shell`
|
|
172
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
172
|
+
- Owner: `@jskit-ai/shell-web@0.1.178`
|
|
173
173
|
- Read: `node_modules/@jskit-ai/shell-web/patterns/application-shell/PATTERN.md`
|
|
174
174
|
- Examples: `node_modules/@jskit-ai/shell-web/patterns/application-shell/example/`
|
|
175
175
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -180,7 +180,7 @@ Add product routes and shell extensions through file routing, semantic placement
|
|
|
180
180
|
|
|
181
181
|
- Id: `ui/page-and-placement`
|
|
182
182
|
- Keywords: `component`, `navigation`, `outlet`, `page`, `placement`, `routes`, `section`, `shell`, `subpages`, `vue`
|
|
183
|
-
- Owner: `@jskit-ai/shell-web@0.1.
|
|
183
|
+
- Owner: `@jskit-ai/shell-web@0.1.178`
|
|
184
184
|
- Read: `node_modules/@jskit-ai/shell-web/patterns/page-and-placement/PATTERN.md`
|
|
185
185
|
- Examples: `node_modules/@jskit-ai/shell-web/patterns/page-and-placement/example/`
|
|
186
186
|
- Requires: `@jskit-ai/kernel`, `@jskit-ai/shell-web`
|
|
@@ -191,7 +191,7 @@ Compose an account settings route and profile, preference, and notification sect
|
|
|
191
191
|
|
|
192
192
|
- Id: `users/account-settings`
|
|
193
193
|
- Keywords: `account`, `notifications`, `preferences`, `profile`, `settings`, `user`, `vue`
|
|
194
|
-
- Owner: `@jskit-ai/users-web@0.1.
|
|
194
|
+
- Owner: `@jskit-ai/users-web@0.1.192`
|
|
195
195
|
- Read: `node_modules/@jskit-ai/users-web/patterns/account-settings/PATTERN.md`
|
|
196
196
|
- Examples: `node_modules/@jskit-ai/users-web/patterns/account-settings/example/`
|
|
197
197
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/users-core`, `@jskit-ai/users-web`
|
|
@@ -202,7 +202,7 @@ Expose user administration and workspace-scoped member operations through app-ow
|
|
|
202
202
|
|
|
203
203
|
- Id: `users/user-administration-server`
|
|
204
204
|
- Keywords: `account`, `admin`, `member`, `repository`, `resource`, `routes`, `service`, `user`, `workspace`
|
|
205
|
-
- Owner: `@jskit-ai/users-core@0.1.
|
|
205
|
+
- Owner: `@jskit-ai/users-core@0.1.187`
|
|
206
206
|
- Read: `node_modules/@jskit-ai/users-core/patterns/user-administration-server/PATTERN.md`
|
|
207
207
|
- Examples: `node_modules/@jskit-ai/users-core/patterns/user-administration-server/example/`
|
|
208
208
|
- Requires: `@jskit-ai/crud-core`, `@jskit-ai/users-core`
|
|
@@ -213,7 +213,7 @@ Configure roles, workspace access policy, invitations, and app-owned invitation
|
|
|
213
213
|
|
|
214
214
|
- Id: `workspaces/workspace-server`
|
|
215
215
|
- Keywords: `access`, `invite`, `membership`, `multitenancy`, `policy`, `role`, `tenancy`, `workspace`
|
|
216
|
-
- Owner: `@jskit-ai/workspaces-core@0.1.
|
|
216
|
+
- Owner: `@jskit-ai/workspaces-core@0.1.152`
|
|
217
217
|
- Read: `node_modules/@jskit-ai/workspaces-core/patterns/workspace-server/PATTERN.md`
|
|
218
218
|
- Examples: `node_modules/@jskit-ai/workspaces-core/patterns/workspace-server/example/`
|
|
219
219
|
- Requires: `@jskit-ai/users-core`, `@jskit-ai/workspaces-core`
|
|
@@ -224,7 +224,7 @@ Compose workspace selection, invitation, member administration, settings, and re
|
|
|
224
224
|
|
|
225
225
|
- Id: `workspaces/workspace-surfaces`
|
|
226
226
|
- Keywords: `admin`, `invite`, `member`, `navigation`, `settings`, `surface`, `switcher`, `workspace`
|
|
227
|
-
- Owner: `@jskit-ai/workspaces-web@0.1.
|
|
227
|
+
- Owner: `@jskit-ai/workspaces-web@0.1.153`
|
|
228
228
|
- Read: `node_modules/@jskit-ai/workspaces-web/patterns/workspace-surfaces/PATTERN.md`
|
|
229
229
|
- Examples: `node_modules/@jskit-ai/workspaces-web/patterns/workspace-surfaces/example/`
|
|
230
230
|
- Requires: `@jskit-ai/shell-web`, `@jskit-ai/workspaces-core`, `@jskit-ai/workspaces-web`
|