@jskit-ai/agent-docs 0.1.140 → 0.1.142
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 +10 -2
- 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/KERNEL_MAP.md +1 -0
- package/reference/autogen/PATTERN_INDEX.md +20 -20
- package/reference/autogen/packages/crud-core.md +19 -5
- package/reference/autogen/packages/kernel.md +1 -0
- package/skills/jskit/references/pattern-index.md +20 -20
|
@@ -88,8 +88,16 @@ is a comma-separated string, and `fields` is keyed by resource type:
|
|
|
88
88
|
|
|
89
89
|
Sparse primary fields remain sparse in the result. Requested included records
|
|
90
90
|
use the resource's lookup container and relationship name, for example
|
|
91
|
-
`items[0].lookups.pet.name`.
|
|
92
|
-
|
|
91
|
+
`items[0].lookups.pet.name`. Resource identifiers remain available as `id`,
|
|
92
|
+
but relationship IDs and included-resource fields that were not selected are
|
|
93
|
+
removed after JSKIT uses JSON:API linkage to associate each lookup with its
|
|
94
|
+
primary record. Invalid array forms such as `include: ["pet"]` or
|
|
95
|
+
`fields: ["pet.name"]` are rejected with field-specific shape guidance. A
|
|
96
|
+
relationship name is not a fieldset key: for a `pet` relationship whose
|
|
97
|
+
JSON:API resource type is `pets`, use `fields: { "pets": ["name"] }`, not
|
|
98
|
+
`fields: { "pet": ["name"] }`. Generated contracts enumerate the allowed
|
|
99
|
+
resource-type keys and reject relationship aliases with the corresponding
|
|
100
|
+
resource type in the validation error.
|
|
93
101
|
Applications do not need an assistant discovery or CRUD transformation bridge.
|
|
94
102
|
|
|
95
103
|
Up to 32 authorized actions remain direct tools. For a larger authorized
|
package/package.json
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@local/main": "file:packages/main",
|
|
33
33
|
"@fastify/static": "^10.1.3",
|
|
34
|
-
"@jskit-ai/kernel": "0.1.
|
|
34
|
+
"@jskit-ai/kernel": "0.1.170",
|
|
35
35
|
"@tanstack/vue-query": "^5.101.0",
|
|
36
36
|
"fastify": "^5.8.5",
|
|
37
37
|
"json-rest-schema": "^1.0.17",
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"vue": "^3.5.38",
|
|
40
40
|
"vue-router": "^5.1.0",
|
|
41
41
|
"vuetify": "^4.1.2",
|
|
42
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
42
|
+
"@jskit-ai/http-runtime": "0.1.168"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@jskit-ai/agent-docs": "0.1.
|
|
46
|
-
"@jskit-ai/config-eslint": "0.1.
|
|
47
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
45
|
+
"@jskit-ai/agent-docs": "0.1.142",
|
|
46
|
+
"@jskit-ai/config-eslint": "0.1.167",
|
|
47
|
+
"@jskit-ai/jskit-catalog": "0.1.195",
|
|
48
48
|
"@playwright/test": "1.61.1",
|
|
49
49
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
50
50
|
"eslint": "^10.8.0",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@local/main": "file:packages/main",
|
|
33
33
|
"@fastify/static": "^10.1.3",
|
|
34
|
-
"@jskit-ai/kernel": "0.1.
|
|
34
|
+
"@jskit-ai/kernel": "0.1.170",
|
|
35
35
|
"@tanstack/vue-query": "^5.101.0",
|
|
36
36
|
"fastify": "^5.8.5",
|
|
37
37
|
"json-rest-schema": "^1.0.17",
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
"vue": "^3.5.38",
|
|
40
40
|
"vue-router": "^5.1.0",
|
|
41
41
|
"vuetify": "^4.1.2",
|
|
42
|
-
"@jskit-ai/http-runtime": "0.1.
|
|
42
|
+
"@jskit-ai/http-runtime": "0.1.168",
|
|
43
43
|
"@mdi/js": "^7.4.47",
|
|
44
|
-
"@jskit-ai/shell-web": "0.1.
|
|
44
|
+
"@jskit-ai/shell-web": "0.1.174"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@jskit-ai/agent-docs": "0.1.
|
|
48
|
-
"@jskit-ai/config-eslint": "0.1.
|
|
49
|
-
"@jskit-ai/jskit-catalog": "0.1.
|
|
47
|
+
"@jskit-ai/agent-docs": "0.1.142",
|
|
48
|
+
"@jskit-ai/config-eslint": "0.1.167",
|
|
49
|
+
"@jskit-ai/jskit-catalog": "0.1.195",
|
|
50
50
|
"@playwright/test": "1.61.1",
|
|
51
51
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
52
52
|
"eslint": "^10.8.0",
|
|
@@ -321,6 +321,7 @@ Exports
|
|
|
321
321
|
Local functions
|
|
322
322
|
- `requireJsonRestSchemaInstance(schemaDefinition = null, { context = "schema definition.schema" } = {})`
|
|
323
323
|
- `resolveJsonRestSchemaFieldMessages(schemaDefinition = null, fieldName = "")`
|
|
324
|
+
- `resolveJsonRestSchemaParentFieldMessages(schemaDefinition = null, fieldName = "")`
|
|
324
325
|
- `resolveJsonRestSchemaFieldErrorMessage(fieldName, entry, schemaDefinition = null)`
|
|
325
326
|
|
|
326
327
|
### `validators/mergeObjectSchemas.js`
|
|
@@ -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.142`
|
|
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.142`
|
|
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.141`
|
|
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.170`
|
|
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.167`
|
|
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.138`
|
|
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.15`
|
|
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.181`
|
|
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.112`
|
|
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.168`
|
|
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.167`
|
|
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.105`
|
|
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.167`
|
|
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.142`
|
|
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.174`
|
|
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.174`
|
|
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.188`
|
|
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.183`
|
|
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.148`
|
|
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.149`
|
|
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`
|
|
@@ -80,11 +80,16 @@ Local functions
|
|
|
80
80
|
- `isRecord(value)`
|
|
81
81
|
- `normalizeOptionalCursor(value)`
|
|
82
82
|
- `resolveAssistantResultValue(result)`
|
|
83
|
-
- `resolveSchemaFieldDefinitions(definition = null)`
|
|
84
83
|
- `createProjectionRecordSchema(recordSchema, { lookupContainerKey = "", relationshipEntries = [] } = {})`
|
|
85
84
|
- `createProjectionOutputDefinition(output, operation, relationshipEntries, lookupContainerKey)`
|
|
86
85
|
- `createCrudAssistantTransport(resource, operation, relationshipEntries, lookupContainerKey)`
|
|
86
|
+
- `projectCrudAssistantRecordFields(record, selectedFields = null, { preserveKeys = [] } = {})`
|
|
87
|
+
- `projectCrudAssistantLookupValue(value, selectedFields = null)`
|
|
88
|
+
- `projectCrudAssistantReadRecord(record, { lookupContainerKey = "", primaryFields = null, relatedFieldsByLookupKey = new Map() } = {})`
|
|
89
|
+
- `createCrudAssistantResultProjection(input = {}, resource = {}, relationshipEntries = [])`
|
|
90
|
+
- `projectCrudAssistantReadResult(result, projection = null, { lookupContainerKey = "" } = {})`
|
|
87
91
|
- `transformCrudAssistantResult(operation, result, { input = {}, resource, relationshipEntries = [], lookupContainerKey = "" } = {})`
|
|
92
|
+
- `createCrudAssistantReadDescription({ fieldsetContract, lookupContainerKey = "", namespace = "", operation = "list" } = {})`
|
|
88
93
|
- `createCrudAssistantExtension(resource, namespace, operation)`
|
|
89
94
|
- `createActionInput(resource, operation, scopeInputValidator = null, listFilterQueryValidator = null, operationInputs = {})`
|
|
90
95
|
- `omitInputKeys(input = {}, keys = [])`
|
|
@@ -109,6 +114,14 @@ Exports
|
|
|
109
114
|
Local functions
|
|
110
115
|
- `requireDocument(document = null)`
|
|
111
116
|
|
|
117
|
+
### `src/server/jsonApiResourceContract.js`
|
|
118
|
+
Exports
|
|
119
|
+
- `resolveJsonApiFieldsetContract(resource = {})`
|
|
120
|
+
- `resolveJsonApiRelationshipEntries(definition = null)`
|
|
121
|
+
- `resolveSchemaFieldDefinitions(definition = null)`
|
|
122
|
+
Local functions
|
|
123
|
+
- `isRecord(value)`
|
|
124
|
+
|
|
112
125
|
### `src/server/listFilters.js`
|
|
113
126
|
Exports
|
|
114
127
|
- `CRUD_LIST_FILTER_INVALID_VALUES_REJECT`
|
|
@@ -145,14 +158,16 @@ Local functions
|
|
|
145
158
|
### `src/server/listQueryValidators.js`
|
|
146
159
|
Exports
|
|
147
160
|
- `createCrudCursorPaginationQueryValidator(list = {})`
|
|
161
|
+
- `createJsonApiFieldsetsQueryValidator({ resource = {} } = {})`
|
|
148
162
|
- `listSearchQueryValidator`
|
|
149
163
|
- `lookupIncludeQueryValidator`
|
|
150
164
|
- `jsonApiFieldsetsQueryValidator`
|
|
151
165
|
- `resolveCrudParentFilterKeys(resource = {})`
|
|
152
166
|
- `createCrudParentFilterQueryValidator(resource = {})`
|
|
153
|
-
- `createStandardCrudListQueryValidators({ resource = {}, listFilterQueryValidator = null, searchQueryValidator = listSearchQueryValidator, includeQueryValidator = lookupIncludeQueryValidator } = {})`
|
|
154
|
-
- `createStandardCrudViewQueryValidators({ includeQueryValidator = lookupIncludeQueryValidator } = {})`
|
|
167
|
+
- `createStandardCrudListQueryValidators({ resource = {}, listFilterQueryValidator = null, searchQueryValidator = listSearchQueryValidator, includeQueryValidator = lookupIncludeQueryValidator, fieldsetsQueryValidator = jsonApiFieldsetsQueryValidator } = {})`
|
|
168
|
+
- `createStandardCrudViewQueryValidators({ includeQueryValidator = lookupIncludeQueryValidator, fieldsetsQueryValidator = jsonApiFieldsetsQueryValidator } = {})`
|
|
155
169
|
Local functions
|
|
170
|
+
- `createJsonApiFieldsetValueDefinition({ allowedFields = [] } = {})`
|
|
156
171
|
- `resolveCrudListUsesOrderedCursor(list = {})`
|
|
157
172
|
|
|
158
173
|
### `src/server/lookupHydration.js`
|
|
@@ -294,10 +309,9 @@ Local functions
|
|
|
294
309
|
### `src/server/routeContracts.js`
|
|
295
310
|
Exports
|
|
296
311
|
- `createCrudJsonApiRouteContracts({ resource = {}, routeParamsValidator = null, operations = ["list", "view", "create", "update", "delete"], operationInputs = {}, listSearchQueryValidator = defaultListSearchQueryValidator, lookupIncludeQueryValidator = defaultLookupIncludeQueryValidator, listFilterQueryValidator = null } = {})`
|
|
297
|
-
- `resolveJsonApiRelationshipEntries
|
|
312
|
+
- `resolveJsonApiRelationshipEntries`
|
|
298
313
|
Local functions
|
|
299
314
|
- `isRecord(value)`
|
|
300
|
-
- `resolveSchemaFieldDefinitions(definition = null)`
|
|
301
315
|
- `readOwnValue(source = {}, key = "")`
|
|
302
316
|
- `resolveLookupContainer(record = {}, lookupContainerKey = "")`
|
|
303
317
|
- `resolveRelationshipValueSource(record = {}, entry = {}, { lookupContainerKey = "", preferLookup = false } = {})`
|
|
@@ -441,6 +441,7 @@ Exports
|
|
|
441
441
|
Local functions
|
|
442
442
|
- `requireJsonRestSchemaInstance(schemaDefinition = null, { context = "schema definition.schema" } = {})`
|
|
443
443
|
- `resolveJsonRestSchemaFieldMessages(schemaDefinition = null, fieldName = "")`
|
|
444
|
+
- `resolveJsonRestSchemaParentFieldMessages(schemaDefinition = null, fieldName = "")`
|
|
444
445
|
- `resolveJsonRestSchemaFieldErrorMessage(fieldName, entry, schemaDefinition = null)`
|
|
445
446
|
|
|
446
447
|
### `shared/validators/mergeObjectSchemas.js`
|
|
@@ -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.142`
|
|
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.142`
|
|
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.141`
|
|
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.170`
|
|
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.167`
|
|
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.138`
|
|
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.15`
|
|
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.181`
|
|
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.112`
|
|
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.168`
|
|
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.167`
|
|
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.105`
|
|
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.167`
|
|
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.142`
|
|
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.174`
|
|
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.174`
|
|
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.188`
|
|
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.183`
|
|
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.148`
|
|
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.149`
|
|
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`
|