@jskit-ai/agent-docs 0.1.16 → 0.1.18

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.
Files changed (36) hide show
  1. package/guide/agent/app-extras/assistant.md +2 -2
  2. package/guide/agent/app-setup/initial-scaffolding.md +1 -3
  3. package/guide/agent/app-setup/multi-homing.md +27 -4
  4. package/guide/agent/app-setup/working-with-the-jskit-cli.md +1 -0
  5. package/guide/agent/generators/advanced-cruds.md +206 -112
  6. package/guide/agent/generators/crud-generators.md +26 -0
  7. package/guide/agent/index.md +1 -1
  8. package/package.json +1 -1
  9. package/patterns/INDEX.md +1 -1
  10. package/patterns/client-requests.md +3 -0
  11. package/patterns/crud-repository-mapping.md +36 -35
  12. package/patterns/filters.md +8 -8
  13. package/reference/autogen/KERNEL_MAP.md +94 -40
  14. package/reference/autogen/README.md +3 -0
  15. package/reference/autogen/packages/assistant-core.md +0 -12
  16. package/reference/autogen/packages/assistant-runtime.md +11 -3
  17. package/reference/autogen/packages/auth-core.md +34 -23
  18. package/reference/autogen/packages/auth-provider-supabase-core.md +4 -7
  19. package/reference/autogen/packages/auth-web.md +3 -0
  20. package/reference/autogen/packages/console-core.md +6 -29
  21. package/reference/autogen/packages/crud-core.md +34 -30
  22. package/reference/autogen/packages/crud-server-generator.md +28 -83
  23. package/reference/autogen/packages/crud-ui-generator.md +12 -7
  24. package/reference/autogen/packages/http-runtime.md +171 -21
  25. package/reference/autogen/packages/json-rest-api-core.md +54 -0
  26. package/reference/autogen/packages/kernel.md +118 -55
  27. package/reference/autogen/packages/realtime.md +1 -0
  28. package/reference/autogen/packages/resource-core.md +35 -0
  29. package/reference/autogen/packages/resource-crud-core.md +51 -0
  30. package/reference/autogen/packages/shell-web.md +31 -0
  31. package/reference/autogen/packages/users-core.md +34 -77
  32. package/reference/autogen/packages/users-web.md +29 -20
  33. package/reference/autogen/packages/workspaces-core.md +44 -76
  34. package/reference/autogen/packages/workspaces-web.md +1 -3
  35. package/reference/autogen/tooling/jskit-cli.md +6 -5
  36. package/workflow/feature-delivery.md +2 -1
@@ -54,48 +54,28 @@ Exports
54
54
 
55
55
  ### `src/server/common/repositories/workspaceInvitesRepository.js`
56
56
  Exports
57
- - `createRepository(knex)`
57
+ - `createRepository({ api, knex } = {})`
58
58
  - `normalizeInviteRecord(payload)`
59
59
  - `normalizeInviteWithWorkspace(payload = {})`
60
60
  Local functions
61
61
  - `normalizeInvitePatchPayload(payload = {})`
62
+ - `createInviteRelationships({ workspaceId = null, invitedByUserId = undefined } = {})`
62
63
 
63
64
  ### `src/server/common/repositories/workspaceMembershipsRepository.js`
64
65
  Exports
65
- - `createRepository(knex)`
66
+ - `createRepository({ api, knex } = {})`
66
67
  - `normalizeMembershipRecord(payload)`
67
68
  - `normalizeMemberSummaryRow(row)`
68
69
  Local functions
69
70
  - `normalizeMembershipPatchPayload(payload = {})`
71
+ - `createMembershipRelationships({ workspaceId = null, userId = null } = {})`
70
72
 
71
73
  ### `src/server/common/repositories/workspacesRepository.js`
72
74
  Exports
73
- - `createRepository(knex)`
74
- - `normalizeWorkspaceRecord(payload)`
75
- - `normalizeMembershipWorkspaceRow(row)`
75
+ - `createRepository({ api, knex } = {})`
76
76
  Local functions
77
- - `normalizeCreatePayload(payload = {})`
78
-
79
- ### `src/server/common/resources/workspaceInvitesResource.js`
80
- Exports
81
- - `workspaceInvitesResource`
82
- Local functions
83
- - `normalizeInviteRecord(payload = {})`
84
- - `normalizeInviteInput(payload = {})`
85
-
86
- ### `src/server/common/resources/workspaceMembershipsResource.js`
87
- Exports
88
- - `workspaceMembershipsResource`
89
- Local functions
90
- - `normalizeMembershipRecord(payload = {})`
91
- - `normalizeMembershipInput(payload = {})`
92
-
93
- ### `src/server/common/resources/workspacesResource.js`
94
- Exports
95
- - `workspacesResource`
96
- Local functions
97
- - `normalizeWorkspaceRecord(payload = {})`
98
- - `normalizeWorkspaceInput(payload = {})`
77
+ - `normalizeWorkspaceRecord(payload = null)`
78
+ - `createWorkspaceRelationships(source = {})`
99
79
 
100
80
  ### `src/server/common/services/workspaceContextService.js`
101
81
  Exports
@@ -129,19 +109,10 @@ Exports
129
109
  - `WORKSPACE_ROUTE_BASE_PATH`
130
110
  - `resolveWorkspaceRoutePath(relativePath = "/")`
131
111
 
132
- ### `src/server/common/validators/authenticatedUserValidator.js`
133
- Exports
134
- - `authenticatedUserValidator`
135
- Local functions
136
- - `normalizeAuthenticatedUser(input = {})`
137
-
138
112
  ### `src/server/common/validators/routeParamsValidator.js`
139
113
  Exports
140
114
  - `routeParamsValidator`
141
115
  - `workspaceSlugParamsValidator`
142
- Local functions
143
- - `normalizeRouteParams(input = {})`
144
- - `normalizeWorkspaceSlugParams(input = {})`
145
116
 
146
117
  ### `src/server/registerWorkspaceBootstrap.js`
147
118
  Exports
@@ -190,7 +161,6 @@ Exports
190
161
  Exports
191
162
  - `createWorkspaceBootstrapContributor({ workspaceService, workspacePendingInvitationsService, userProfilesRepository, workspaceInvitationsEnabled = false, appConfig = {}, tenancyProfile = null } = {})`
192
163
  Local functions
193
- - `normalizePendingInvites(invites)`
194
164
  - `normalizeQueryPayload(value = {})`
195
165
  - `resolveBootstrapWorkspaceSlug({ query = {}, request = null } = {})`
196
166
  - `normalizeRequestedWorkspaceStatus(value = "")`
@@ -201,6 +171,8 @@ Local functions
201
171
  ### `src/server/workspaceDirectory/bootWorkspaceDirectoryRoutes.js`
202
172
  Exports
203
173
  - `bootWorkspaceDirectoryRoutes(app)`
174
+ Local functions
175
+ - `resolveWorkspaceRecordId(record = {}, context = {})`
204
176
 
205
177
  ### `src/server/workspaceDirectory/registerWorkspaceDirectory.js`
206
178
  Exports
@@ -213,6 +185,8 @@ Exports
213
185
  ### `src/server/workspaceMembers/bootWorkspaceMembers.js`
214
186
  Exports
215
187
  - `bootWorkspaceMembers(app)`
188
+ Local functions
189
+ - `resolveWorkspaceAggregateRecordId(record = {}, context = {})`
216
190
 
217
191
  ### `src/server/workspaceMembers/registerWorkspaceMembers.js`
218
192
  Exports
@@ -231,6 +205,8 @@ Exports
231
205
  ### `src/server/workspacePendingInvitations/bootWorkspacePendingInvitations.js`
232
206
  Exports
233
207
  - `bootWorkspacePendingInvitations(app)`
208
+ Local functions
209
+ - `resolveAuthenticatedUserRecordId(_record, context = {})`
234
210
 
235
211
  ### `src/server/workspacePendingInvitations/registerWorkspacePendingInvitations.js`
236
212
  Exports
@@ -257,6 +233,8 @@ Exports
257
233
  ### `src/server/workspaceSettings/bootWorkspaceSettings.js`
258
234
  Exports
259
235
  - `bootWorkspaceSettings(app)`
236
+ Local functions
237
+ - `resolveWorkspaceSettingsRecordId(record = {}, context = {})`
260
238
 
261
239
  ### `src/server/workspaceSettings/registerWorkspaceSettings.js`
262
240
  Exports
@@ -270,65 +248,67 @@ Exports
270
248
 
271
249
  ### `src/server/workspaceSettings/workspaceSettingsRepository.js`
272
250
  Exports
273
- - `createRepository(knex, { defaultInvitesEnabled } = {})`
251
+ - `createRepository({ api, knex } = {})`
274
252
  Local functions
275
- - `resolveWorkspaceSettingsSeed(workspace = {}, { defaultInvitesEnabled = true } = {})`
253
+ - `pickPatchFields(source = {})`
254
+ - `createDefaultWorkspaceSettingsCreatePayload(workspaceId)`
276
255
 
277
256
  ### `src/server/workspaceSettings/workspaceSettingsService.js`
278
257
  Exports
279
258
  - `createService({ workspaceSettingsRepository, workspaceInvitationsEnabled = true, roleCatalog = null } = {})`
280
259
 
260
+ ### `src/shared/jsonApiTransports.js`
261
+ Exports
262
+ - `WORKSPACES_TRANSPORT`
263
+ - `WORKSPACES_COLLECTION_TRANSPORT`
264
+ - `WORKSPACE_SETTINGS_TRANSPORT`
265
+ - `WORKSPACE_ROLE_CATALOG_TRANSPORT`
266
+ - `WORKSPACE_MEMBERS_TRANSPORT`
267
+ - `WORKSPACE_MEMBER_ROLE_UPDATE_TRANSPORT`
268
+ - `WORKSPACE_INVITES_TRANSPORT`
269
+ - `WORKSPACE_INVITE_CREATE_TRANSPORT`
270
+ - `WORKSPACE_INVITE_REDEEM_TRANSPORT`
271
+ - `WORKSPACE_PENDING_INVITATIONS_TRANSPORT`
272
+
281
273
  ### `src/shared/operationMessages.js`
282
274
  Exports
283
275
  - `createOperationMessages({ validationMessage = "Validation failed.", apiValidationMessage = validationMessage } = {})`
284
276
 
285
- ### `src/shared/resources/resolveGlobalArrayRegistry.js`
277
+ ### `src/shared/resources/workspaceInvitesResource.js`
286
278
  Exports
287
- - `resolveGlobalArrayRegistry(symbolKey)`
279
+ - `workspaceInvitesResource`
280
+
281
+ ### `src/shared/resources/workspaceMembershipsResource.js`
282
+ Exports
283
+ - `workspaceMembershipsResource`
288
284
 
289
285
  ### `src/shared/resources/workspaceMembersResource.js`
290
286
  Exports
291
287
  - `workspaceMembersResource`
292
- Local functions
293
- - `normalizeWorkspaceAdminSummary(workspace)`
294
- - `normalizeMemberSummary(member, workspace)`
295
- - `normalizeInviteSummary(invite)`
296
- - `normalizeWorkspaceOutputEnvelope(payload = {}, { itemsKey, normalizeItem, includeInviteTokenPreview = false } = {})`
297
- - `normalizeWorkspaceMembersOutput(payload = {})`
298
- - `normalizeWorkspaceInvitesOutput(payload = {})`
299
288
 
300
289
  ### `src/shared/resources/workspacePendingInvitationsResource.js`
301
290
  Exports
302
291
  - `workspacePendingInvitationsResource`
303
- Local functions
304
- - `normalizePendingInvite(invite)`
305
- - `normalizePendingInviteList(invites)`
306
292
 
307
293
  ### `src/shared/resources/workspaceResource.js`
308
294
  Exports
309
295
  - `workspaceResource`
296
+ - `workspaceListItemOutputValidator`
310
297
  Local functions
311
298
  - `normalizeWorkspaceAvatarUrl(value)`
312
- - `normalizeWorkspaceInput(payload = {})`
313
- - `normalizeWorkspaceOutput(payload = {})`
314
- - `normalizeWorkspaceListItemOutput(payload = {})`
315
299
 
316
- ### `src/shared/resources/workspaceSettingsFields.js`
300
+ ### `src/shared/resources/workspaceRoleCatalogSchema.js`
317
301
  Exports
318
- - `defineField(field = {})`
319
- - `resetWorkspaceSettingsFields()`
320
- - `resolveWorkspaceSettingsFieldKeys()`
321
- - `workspaceSettingsFields`
302
+ - `workspaceRoleCatalogSchema`
303
+ - `workspaceRoleDescriptorSchema`
322
304
 
323
305
  ### `src/shared/resources/workspaceSettingsResource.js`
324
306
  Exports
307
+ - `WORKSPACE_SETTINGS_FIELD_KEYS`
308
+ - `workspaceSettingsOutputSchema`
325
309
  - `workspaceSettingsResource`
326
310
  Local functions
327
- - `buildCreateBodySchema()`
328
- - `buildSettingsOutputSchema()`
329
- - `buildResponseRecordSchema()`
330
- - `normalizeInput(payload = {})`
331
- - `normalizeOutput(payload = {})`
311
+ - `normalizeWorkspaceColorInput(value)`
332
312
 
333
313
  ### `src/shared/roles.js`
334
314
  Exports
@@ -428,20 +408,8 @@ Local functions
428
408
  - `hasColumn(knex, tableName, columnName)`
429
409
  - `normalizeHexColor(value)`
430
410
 
431
- ### `templates/packages/main/src/shared/resources/workspaceSettingsFields.js`
432
- Exports
433
- - None
434
- Local functions
435
- - `normalizeHexColor(value)`
436
-
437
411
  ### root
438
412
 
439
413
  ### `package.descriptor.mjs`
440
414
  Exports
441
415
  - None
442
-
443
- ### test-support
444
-
445
- ### `test-support/registerDefaultSettingsFields.js`
446
- Exports
447
- - None
@@ -270,7 +270,7 @@ Exports
270
270
  - `WORKSPACE_BOOTSTRAP_STATUS_FORBIDDEN`
271
271
  - `WORKSPACE_BOOTSTRAP_STATUS_UNAUTHENTICATED`
272
272
  - `WORKSPACE_BOOTSTRAP_STATUS_ERROR`
273
- - `createBootstrapPlacementRuntime({ app, logger = null, fetchBootstrap = fetchBootstrapPayload } = {})`
273
+ - `createBootstrapPlacementRuntime({ app, logger = null } = {})`
274
274
 
275
275
  ### `src/client/runtime/bootstrapPlacementRuntimeConstants.js`
276
276
  Exports
@@ -318,8 +318,6 @@ Exports
318
318
  - `WORKSPACES_WEB_SCOPE_SUPPORT_INJECTION_KEY`
319
319
  - `createWorkspaceScopeSupport()`
320
320
  - `readWorkspaceRouteScope(routeContext = {})`
321
- Local functions
322
- - `unwrapRefValue(value)`
323
321
 
324
322
  ### `src/shared/toolsOutletContracts.js`
325
323
  Exports
@@ -166,7 +166,7 @@ Exports
166
166
 
167
167
  ### `src/server/cliRuntime/mutations/fileMutations.js`
168
168
  Exports
169
- - `applyFileMutations(packageEntry, appRoot, preparedMutations, managedFiles, managedMigrations, touchedFiles, warnings = [], existingManagedFiles = [])`
169
+ - `applyFileMutations(packageEntry, appRoot, preparedMutations, managedFiles, managedMigrations, touchedFiles, warnings = [], existingManagedFiles = [], { reapplyManagedAppFiles = false } = {})`
170
170
  - `prepareFileMutations(packageEntry, options, appRoot, fileMutations, existingManagedFiles = [])`
171
171
 
172
172
  ### `src/server/cliRuntime/mutations/installMigrationMutation.js`
@@ -198,8 +198,6 @@ Exports
198
198
  - `partitionPreFileConfigTextMutations(textMutations = [])`
199
199
  - `resolvePositioningMutations(descriptorMutations = {})`
200
200
  Local functions
201
- - `resolveSettingsFieldsContractTarget(relativeFile = "")`
202
- - `validateSettingsFieldsContractMutationTarget({ appRoot, relativeFile, packageId } = {})`
203
201
  - `isPositioningTextMutation(value = {})`
204
202
  - `isPreFileConfigTextMutation(value = {})`
205
203
 
@@ -228,6 +226,9 @@ Local functions
228
226
  - `createManagedRecordBase(packageEntry, options)`
229
227
  - `cloneManagedMap(value = {})`
230
228
  - `cloneManagedArray(value = [])`
229
+ - `normalizeModeToken(value = "")`
230
+ - `isWorkspaceCapableTenancyMode(value = "")`
231
+ - `collectInstallWarnings({ packageEntry, appRoot, appPackageJson })`
231
232
  - `resolveManagedSourceRecord(packageEntry, existingInstall = {})`
232
233
 
233
234
  ### `src/server/cliRuntime/packageIntrospection.js`
@@ -351,8 +352,8 @@ Local functions
351
352
  ### `src/server/commandHandlers/appCommandCatalog.js`
352
353
  Exports
353
354
  - `APP_SCRIPT_WRAPPERS`
354
- - `LEGACY_APP_SCRIPT_VALUES`
355
- - `LEGACY_APP_SCRIPT_FILES`
355
+ - `COPIED_APP_SCRIPT_VALUES`
356
+ - `COPIED_APP_SCRIPT_FILES`
356
357
  - `APP_COMMAND_DEFINITIONS`
357
358
  - `listAppCommandDefinitions()`
358
359
  - `resolveAppCommandDefinition(rawName = "")`
@@ -32,7 +32,8 @@ For CRUD chunks:
32
32
  2. If `crud-server-generator` is going to own the CRUD schema, do not hand-write a separate migration for that CRUD table.
33
33
  3. Scaffold the server side first with `crud-server-generator`.
34
34
  4. Only after the shared resource file exists, scaffold the client side against that resource.
35
- 5. Do not guess CRUD operations or screen shape. Ask the developer:
35
+ 5. Treat that shared resource file as the canonical CRUD definition. Put field and ownership changes there instead of hand-duplicating derived CRUD validators elsewhere.
36
+ 6. Do not guess CRUD operations or screen shape. Ask the developer:
36
37
  - which operations are allowed
37
38
  - which fields belong in the list view if one exists
38
39
  - what the view form should look like