@jskit-ai/agent-docs 0.1.15 → 0.1.17
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 +2 -2
- package/guide/agent/app-setup/initial-scaffolding.md +1 -3
- package/guide/agent/app-setup/multi-homing.md +21 -0
- package/guide/agent/generators/advanced-cruds.md +208 -110
- package/guide/agent/generators/crud-generators.md +4 -0
- package/guide/agent/index.md +1 -1
- package/package.json +1 -1
- package/patterns/INDEX.md +1 -1
- package/patterns/client-requests.md +3 -0
- package/patterns/crud-repository-mapping.md +45 -23
- package/patterns/filters.md +8 -8
- package/reference/autogen/KERNEL_MAP.md +94 -40
- package/reference/autogen/README.md +3 -0
- package/reference/autogen/packages/assistant-core.md +0 -12
- package/reference/autogen/packages/assistant-runtime.md +11 -3
- package/reference/autogen/packages/auth-core.md +34 -23
- package/reference/autogen/packages/auth-provider-supabase-core.md +4 -7
- package/reference/autogen/packages/auth-web.md +3 -0
- package/reference/autogen/packages/console-core.md +6 -29
- package/reference/autogen/packages/crud-core.md +35 -28
- package/reference/autogen/packages/crud-server-generator.md +28 -50
- package/reference/autogen/packages/crud-ui-generator.md +12 -7
- package/reference/autogen/packages/http-runtime.md +171 -21
- package/reference/autogen/packages/json-rest-api-core.md +54 -0
- package/reference/autogen/packages/kernel.md +118 -55
- package/reference/autogen/packages/realtime.md +1 -0
- package/reference/autogen/packages/resource-core.md +35 -0
- package/reference/autogen/packages/resource-crud-core.md +51 -0
- package/reference/autogen/packages/shell-web.md +31 -0
- package/reference/autogen/packages/users-core.md +34 -77
- package/reference/autogen/packages/users-web.md +29 -20
- package/reference/autogen/packages/workspaces-core.md +44 -76
- package/reference/autogen/packages/workspaces-web.md +1 -3
- package/reference/autogen/tooling/jskit-cli.md +5 -4
- package/workflow/feature-delivery.md +2 -1
|
@@ -112,7 +112,7 @@ Exports
|
|
|
112
112
|
- `accountSettingsResponseFormatter({ profile, settings, securityStatus, authService })`
|
|
113
113
|
Local functions
|
|
114
114
|
- `resolveAuthProfileSettings(authService)`
|
|
115
|
-
- `formatUserSettingsSection(
|
|
115
|
+
- `formatUserSettingsSection(fieldKeys, settings = {})`
|
|
116
116
|
|
|
117
117
|
### `src/server/common/registerCommonRepositories.js`
|
|
118
118
|
Exports
|
|
@@ -140,35 +140,26 @@ Exports
|
|
|
140
140
|
|
|
141
141
|
### `src/server/common/repositories/userProfilesRepository.js`
|
|
142
142
|
Exports
|
|
143
|
-
- `createRepository(knex)`
|
|
143
|
+
- `createRepository({ api, knex } = {})`
|
|
144
144
|
Local functions
|
|
145
|
-
- `normalizeProfileRecord(payload)`
|
|
146
|
-
- `normalizeCreatePayload(payload = {})`
|
|
147
145
|
- `normalizeUsername(value)`
|
|
146
|
+
- `normalizeNullableString(value)`
|
|
147
|
+
- `normalizeNullableVersion(value)`
|
|
148
|
+
- `normalizeProfileRecord(payload = null)`
|
|
149
|
+
- `normalizeCreatePayload(payload = {})`
|
|
148
150
|
- `usernameBaseFromEmail(email)`
|
|
149
151
|
- `buildUsernameCandidate(baseUsername, suffix)`
|
|
150
152
|
- `duplicateTargetsEmail(error)`
|
|
151
153
|
- `duplicateTargetsUsername(error)`
|
|
152
154
|
- `createDuplicateEmailConflictError()`
|
|
153
|
-
- `resolveUniqueUsername(
|
|
155
|
+
- `resolveUniqueUsername(api, baseUsername, { excludeUserId = null, transaction = null } = {})`
|
|
154
156
|
|
|
155
157
|
### `src/server/common/repositories/userSettingsRepository.js`
|
|
156
158
|
Exports
|
|
157
|
-
- `createRepository(knex)`
|
|
158
|
-
- `mapRow(row)`
|
|
159
|
+
- `createRepository({ api, knex } = {})`
|
|
159
160
|
Local functions
|
|
160
|
-
- `
|
|
161
|
-
- `
|
|
162
|
-
|
|
163
|
-
### `src/server/common/resources/userProfilesResource.js`
|
|
164
|
-
Exports
|
|
165
|
-
- `resource`
|
|
166
|
-
Local functions
|
|
167
|
-
- `normalizeUsername(value)`
|
|
168
|
-
- `normalizeNullableString(value)`
|
|
169
|
-
- `normalizeNullableVersion(value)`
|
|
170
|
-
- `normalizeProfileRecord(payload = {})`
|
|
171
|
-
- `normalizeCreatePayload(payload = {})`
|
|
161
|
+
- `pickPatchFields(source = {})`
|
|
162
|
+
- `createDefaultUserSettingsCreatePayload(userId)`
|
|
172
163
|
|
|
173
164
|
### `src/server/common/services/accountContextService.js`
|
|
174
165
|
Exports
|
|
@@ -185,6 +176,10 @@ Local functions
|
|
|
185
176
|
- `requireSynchronizedProfile(profile)`
|
|
186
177
|
- `normalizeLifecycleContributors(entries = [])`
|
|
187
178
|
|
|
179
|
+
### `src/server/common/support/accountSettingsJsonApiTransport.js`
|
|
180
|
+
Exports
|
|
181
|
+
- `resolveAccountSettingsResourceId(_record, context = {})`
|
|
182
|
+
|
|
188
183
|
### `src/server/common/support/deepFreeze.js`
|
|
189
184
|
Exports
|
|
190
185
|
- `deepFreeze`
|
|
@@ -203,12 +198,6 @@ Local functions
|
|
|
203
198
|
Exports
|
|
204
199
|
- `resolveActionUser(context, input)`
|
|
205
200
|
|
|
206
|
-
### `src/server/common/validators/authenticatedUserValidator.js`
|
|
207
|
-
Exports
|
|
208
|
-
- `authenticatedUserValidator`
|
|
209
|
-
Local functions
|
|
210
|
-
- `normalizeAuthenticatedUser(input = {})`
|
|
211
|
-
|
|
212
201
|
### `src/server/profileSyncLifecycleContributorRegistry.js`
|
|
213
202
|
Exports
|
|
214
203
|
- `PROFILE_SYNC_LIFECYCLE_CONTRIBUTOR_TAG`
|
|
@@ -230,7 +219,7 @@ Exports
|
|
|
230
219
|
- `createUsersBootstrapContributor({ userProfilesRepository, userSettingsRepository, appConfig = {}, authService } = {})`
|
|
231
220
|
Local functions
|
|
232
221
|
- `getOAuthProviderCatalogPayload(authService)`
|
|
233
|
-
- `
|
|
222
|
+
- `resolveBooleanConfigValue(value, fallback)`
|
|
234
223
|
- `resolveAppState(appConfig = {})`
|
|
235
224
|
- `createAnonymousBootstrapPayload({ appState, surfaceAccess = {} })`
|
|
236
225
|
- `mapUserSettingsBootstrap(settings = {})`
|
|
@@ -248,40 +237,31 @@ Exports
|
|
|
248
237
|
Exports
|
|
249
238
|
- `createOperationMessages({ validationMessage = "Validation failed.", apiValidationMessage = validationMessage } = {})`
|
|
250
239
|
|
|
251
|
-
### `src/shared/resources/
|
|
240
|
+
### `src/shared/resources/accountSettingsSchemas.js`
|
|
252
241
|
Exports
|
|
253
|
-
- `
|
|
242
|
+
- `accountAvatarOutputSchema`
|
|
243
|
+
- `userProfileOutputSchema`
|
|
244
|
+
- `accountSecurityStatusSchema`
|
|
254
245
|
|
|
255
246
|
### `src/shared/resources/userProfileResource.js`
|
|
256
247
|
Exports
|
|
257
248
|
- `userProfileResource`
|
|
258
249
|
Local functions
|
|
259
|
-
- `
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
Exports
|
|
263
|
-
- `USER_SETTINGS_SECTIONS`
|
|
264
|
-
- `defineField(field = {})`
|
|
265
|
-
- `resetUserSettingsFields()`
|
|
266
|
-
- `userSettingsFields`
|
|
250
|
+
- `normalizeUsername(value)`
|
|
251
|
+
- `normalizeNullableString(value)`
|
|
252
|
+
- `normalizeNullableVersion(value)`
|
|
267
253
|
|
|
268
254
|
### `src/shared/resources/userSettingsResource.js`
|
|
269
255
|
Exports
|
|
256
|
+
- `USER_SETTINGS_ALL_KEYS`
|
|
257
|
+
- `USER_SETTINGS_BOOTSTRAP_KEYS`
|
|
258
|
+
- `USER_SETTINGS_NOTIFICATION_KEYS`
|
|
259
|
+
- `USER_SETTINGS_PREFERENCE_KEYS`
|
|
260
|
+
- `userSettingsOutputSchema`
|
|
261
|
+
- `userSettingsOutputValidator`
|
|
270
262
|
- `userSettingsResource`
|
|
271
263
|
Local functions
|
|
272
|
-
- `
|
|
273
|
-
- `listFieldsBySection(section)`
|
|
274
|
-
- `buildCreateBodySchema()`
|
|
275
|
-
- `buildSectionOutputSchema(section)`
|
|
276
|
-
- `normalizeInput(payload = {})`
|
|
277
|
-
- `normalizeSectionOutput(section, sectionSource = {}, settings = {})`
|
|
278
|
-
- `buildUserSettingsOutputSchema()`
|
|
279
|
-
- `buildUserSettingsCreateBodySchema()`
|
|
280
|
-
- `buildUserSettingsPatchBodySchema()`
|
|
281
|
-
- `buildPreferencesUpdateBodySchema()`
|
|
282
|
-
- `buildNotificationsUpdateBodySchema()`
|
|
283
|
-
- `normalizeOAuthProviderParams(payload = {})`
|
|
284
|
-
- `normalizeOAuthProviderQuery(payload = {})`
|
|
264
|
+
- `normalizePositiveInteger(value)`
|
|
285
265
|
|
|
286
266
|
### `src/shared/settings.js`
|
|
287
267
|
Exports
|
|
@@ -302,21 +282,13 @@ Local functions
|
|
|
302
282
|
- `buildUsernameCandidate(baseUsername, suffix)`
|
|
303
283
|
- `resolveUniqueUsername(baseUsername, usedUsernames)`
|
|
304
284
|
|
|
305
|
-
### `templates/packages/main/src/shared/resources/userSettingsFields.js`
|
|
306
|
-
Exports
|
|
307
|
-
- None
|
|
308
|
-
Local functions
|
|
309
|
-
- `normalizePositiveInteger(value, fallback)`
|
|
310
|
-
|
|
311
285
|
### `templates/packages/users-workspace/package.descriptor.mjs`
|
|
312
286
|
Exports
|
|
313
287
|
- None
|
|
314
288
|
|
|
315
289
|
### `templates/packages/users-workspace/src/server/actions.js`
|
|
316
290
|
Exports
|
|
317
|
-
- `createActions({ surface
|
|
318
|
-
Local functions
|
|
319
|
-
- `requireActionSurface(surface = "")`
|
|
291
|
+
- `createActions({ surface } = {})`
|
|
320
292
|
|
|
321
293
|
### `templates/packages/users-workspace/src/server/registerRoutes.js`
|
|
322
294
|
Exports
|
|
@@ -332,19 +304,9 @@ Local functions
|
|
|
332
304
|
Exports
|
|
333
305
|
- None
|
|
334
306
|
|
|
335
|
-
### `templates/packages/users/src/server/actionIds.js`
|
|
336
|
-
Exports
|
|
337
|
-
- `actionIds`
|
|
338
|
-
|
|
339
307
|
### `templates/packages/users/src/server/actions.js`
|
|
340
308
|
Exports
|
|
341
|
-
- `createActions({ surface
|
|
342
|
-
Local functions
|
|
343
|
-
- `requireActionSurface(surface = "")`
|
|
344
|
-
|
|
345
|
-
### `templates/packages/users/src/server/listConfig.js`
|
|
346
|
-
Exports
|
|
347
|
-
- `LIST_CONFIG`
|
|
309
|
+
- `createActions({ surface } = {})`
|
|
348
310
|
|
|
349
311
|
### `templates/packages/users/src/server/registerRoutes.js`
|
|
350
312
|
Exports
|
|
@@ -352,12 +314,13 @@ Exports
|
|
|
352
314
|
|
|
353
315
|
### `templates/packages/users/src/server/repository.js`
|
|
354
316
|
Exports
|
|
355
|
-
- `createRepository(
|
|
317
|
+
- `createRepository({ api, knex } = {})`
|
|
356
318
|
|
|
357
319
|
### `templates/packages/users/src/server/service.js`
|
|
358
320
|
Exports
|
|
359
321
|
- `createService({ usersRepository } = {})`
|
|
360
|
-
|
|
322
|
+
Local functions
|
|
323
|
+
- `return404IfNotFound(document = null)`
|
|
361
324
|
|
|
362
325
|
### `templates/packages/users/src/server/UsersProvider.js`
|
|
363
326
|
Exports
|
|
@@ -378,9 +341,3 @@ Exports
|
|
|
378
341
|
### `package.descriptor.mjs`
|
|
379
342
|
Exports
|
|
380
343
|
- None
|
|
381
|
-
|
|
382
|
-
### test-support
|
|
383
|
-
|
|
384
|
-
### `test-support/registerDefaultSettingsFields.js`
|
|
385
|
-
Exports
|
|
386
|
-
- None
|
|
@@ -24,6 +24,11 @@ Exports
|
|
|
24
24
|
- `sortAccountSettingsSections(entries = [])`
|
|
25
25
|
- `useAccountSettingsSections()`
|
|
26
26
|
|
|
27
|
+
### `src/client/bootstrap/user-bootstrap-handler.js`
|
|
28
|
+
Exports
|
|
29
|
+
- `createUsersBootstrapUserHandler()`
|
|
30
|
+
- `registerUsersBootstrapPayloadHandlers(app)`
|
|
31
|
+
|
|
27
32
|
### `src/client/components/ProfileClientElement.vue`
|
|
28
33
|
Exports
|
|
29
34
|
- None
|
|
@@ -98,7 +103,6 @@ Exports
|
|
|
98
103
|
- `resolveCrudRouteBoundFieldValues(fields = [], routeParams = {})`
|
|
99
104
|
- `applyCrudRouteBoundFieldValues(fields = [], target = {}, routeParams = {})`
|
|
100
105
|
- `resolveCrudFieldErrors(fieldErrors = {}, fieldKey = "")`
|
|
101
|
-
- `parseCrudResourceOperationInput({ resource = null, operationName = "", rawPayload = {}, context = {} } = {})`
|
|
102
106
|
Local functions
|
|
103
107
|
- `resolveStableFieldErrorList(fieldKey, message)`
|
|
104
108
|
- `resolveFormFieldType(field = {})`
|
|
@@ -144,11 +148,11 @@ Local functions
|
|
|
144
148
|
|
|
145
149
|
### `src/client/composables/records/useAddEdit.js`
|
|
146
150
|
Exports
|
|
147
|
-
- `useAddEdit({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", resource = null, apiSuffix = "", queryKeyFactory = null, viewPermissions = [], savePermissions = [], readMethod = "GET", readEnabled = true, writeMethod = "PATCH", placementSource = "users-web.add-edit", fallbackLoadError = "Unable to load resource.", fallbackSaveError = "Unable to save resource.", fieldErrorKeys = [], clearOnRouteChange = true, model,
|
|
151
|
+
- `useAddEdit({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", resource = null, apiSuffix = "", queryKeyFactory = null, viewPermissions = [], savePermissions = [], readMethod = "GET", readEnabled = true, writeMethod = "PATCH", transport = null, placementSource = "users-web.add-edit", fallbackLoadError = "Unable to load resource.", fallbackSaveError = "Unable to save resource.", fieldErrorKeys = [], clearOnRouteChange = true, model, input, mapLoadedToModel, buildRawPayload, buildSavePayload, onSaveSuccess, requestQueryParams = null, recordIdParam = "recordId", routeParams = null, routeRecordId = null, apiUrlTemplate = "", viewUrlTemplate = "", listUrlTemplate = "", saveRecordIdSelector = null, messages = {}, realtime = null, adapter = null } = {})`
|
|
148
152
|
|
|
149
153
|
### `src/client/composables/records/useCrudAddEdit.js`
|
|
150
154
|
Exports
|
|
151
|
-
- `useCrudAddEdit({ resource = null, operationName = "", formFields = [], addEditOptions = {}, saveSuccess = {}, fieldBinding = null, createModel = null, buildPayload = null, mapPayloadToModel = null,
|
|
155
|
+
- `useCrudAddEdit({ resource = null, operationName = "", formFields = [], addEditOptions = {}, saveSuccess = {}, fieldBinding = null, createModel = null, buildPayload = null, mapPayloadToModel = null, input = null } = {})`
|
|
152
156
|
Local functions
|
|
153
157
|
- `normalizeFieldErrorKeys(keys = [])`
|
|
154
158
|
- `normalizeSaveSuccessOptions(options = {})`
|
|
@@ -166,11 +170,11 @@ Exports
|
|
|
166
170
|
|
|
167
171
|
### `src/client/composables/records/useList.js`
|
|
168
172
|
Exports
|
|
169
|
-
- `useList({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", queryKeyFactory = null, viewPermissions = [], readEnabled = true, placementSource = "users-web.list", fallbackLoadError = "Unable to load list.", initialPageParam = null, getNextPageParam, selectItems, requestOptions, queryOptions, realtime = null, adapter = null, recordIdParam = "recordId", recordIdSelector = null, viewUrlTemplate = "", editUrlTemplate = "", search = null, queryParams = null, requestQueryParams = null, syncToRoute = false } = {})`
|
|
173
|
+
- `useList({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", queryKeyFactory = null, viewPermissions = [], readEnabled = true, placementSource = "users-web.list", fallbackLoadError = "Unable to load list.", initialPageParam = null, getNextPageParam, selectItems, transport = null, requestOptions, queryOptions, realtime = null, adapter = null, recordIdParam = "recordId", recordIdSelector = null, viewUrlTemplate = "", editUrlTemplate = "", search = null, queryParams = null, requestQueryParams = null, syncToRoute = false } = {})`
|
|
170
174
|
|
|
171
175
|
### `src/client/composables/records/useView.js`
|
|
172
176
|
Exports
|
|
173
|
-
- `useView({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", queryKeyFactory = null, viewPermissions = [], readMethod = "GET", readEnabled = true, placementSource = "users-web.view", fallbackLoadError = "Unable to load resource.", notFoundStatuses = [404], notFoundMessage = "Record not found.", model, mapLoadedToModel, requestQueryParams = null, recordIdParam = "recordId", routeParams = null, routeRecordId = null, apiUrlTemplate = "", listUrlTemplate = "", editUrlTemplate = "", includeRecordIdInQueryKey = false, realtime = null, adapter = null } = {})`
|
|
177
|
+
- `useView({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", queryKeyFactory = null, viewPermissions = [], readMethod = "GET", readEnabled = true, transport = null, placementSource = "users-web.view", fallbackLoadError = "Unable to load resource.", notFoundStatuses = [404], notFoundMessage = "Record not found.", model, mapLoadedToModel, requestQueryParams = null, recordIdParam = "recordId", routeParams = null, routeRecordId = null, apiUrlTemplate = "", listUrlTemplate = "", editUrlTemplate = "", includeRecordIdInQueryKey = false, realtime = null, adapter = null } = {})`
|
|
174
178
|
|
|
175
179
|
### `src/client/composables/runtime/addEditUiRuntime.js`
|
|
176
180
|
Exports
|
|
@@ -208,19 +212,23 @@ Local functions
|
|
|
208
212
|
|
|
209
213
|
### `src/client/composables/runtime/operationValidationHelpers.js`
|
|
210
214
|
Exports
|
|
211
|
-
- `validateOperationInput({
|
|
215
|
+
- `validateOperationInput({ input, rawPayload = {}, fieldBag = null, feedback = null, validationMessage = "Validation failed." } = {})`
|
|
212
216
|
|
|
213
217
|
### `src/client/composables/runtime/useAddEditCore.js`
|
|
214
218
|
Exports
|
|
215
|
-
- `useAddEditCore({ model, resource, queryKey, canSave, fieldBag, feedback,
|
|
219
|
+
- `useAddEditCore({ model, resource, queryKey, canSave, fieldBag, feedback, input, mapLoadedToModel, buildRawPayload, buildSavePayload, onSaveSuccess, messages = {} } = {})`
|
|
216
220
|
|
|
217
221
|
### `src/client/composables/runtime/useCommandCore.js`
|
|
218
222
|
Exports
|
|
219
|
-
- `useCommandCore({ model, resource, writeMethod = "POST", canRun, fieldBag, feedback,
|
|
223
|
+
- `useCommandCore({ model, resource, writeMethod = "POST", canRun, fieldBag, feedback, input, buildRawPayload, buildCommandPayload, buildCommandOptions, onRunSuccess, onRunError, suppressSuccessMessage = false, messages = {} } = {})`
|
|
220
224
|
|
|
221
225
|
### `src/client/composables/runtime/useEndpointResource.js`
|
|
222
226
|
Exports
|
|
223
|
-
- `
|
|
227
|
+
- `buildEndpointReadRequestOptions({ method = "GET", query = null, transport = null } = {})`
|
|
228
|
+
- `buildEndpointWriteRequestOptions({ method = "PATCH", body = undefined, options = null, transport = null } = {})`
|
|
229
|
+
- `useEndpointResource({ queryKey, path = "", enabled = true, client = usersWebHttpClient, readMethod = "GET", writeMethod = "PATCH", readQuery = null, transport = null, queryOptions = null, mutationOptions = null, fallbackLoadError = "Unable to load resource.", fallbackSaveError = "Unable to save resource." } = {})`
|
|
230
|
+
Local functions
|
|
231
|
+
- `resolveRequestQuery(value = null)`
|
|
224
232
|
|
|
225
233
|
### `src/client/composables/runtime/useFieldErrorBag.js`
|
|
226
234
|
Exports
|
|
@@ -230,9 +238,10 @@ Local functions
|
|
|
230
238
|
|
|
231
239
|
### `src/client/composables/runtime/useListCore.js`
|
|
232
240
|
Exports
|
|
233
|
-
- `
|
|
241
|
+
- `buildListRequestOptions({ requestOptions = null, transport = null, pageParam = null } = {})`
|
|
242
|
+
- `useListCore({ queryKey, path = "", enabled = true, client = usersWebHttpClient, transport = null, initialPageParam = null, getNextPageParam, selectItems, requestOptions = null, queryOptions = null, fallbackLoadError = "Unable to load list." } = {})`
|
|
234
243
|
Local functions
|
|
235
|
-
- `
|
|
244
|
+
- `resolveRequestOptionsObject(value = null)`
|
|
236
245
|
|
|
237
246
|
### `src/client/composables/runtime/useUiFeedback.js`
|
|
238
247
|
Exports
|
|
@@ -297,9 +306,13 @@ Exports
|
|
|
297
306
|
- `resolveEnabledRef(value)`
|
|
298
307
|
- `resolveTextRef(value)`
|
|
299
308
|
|
|
300
|
-
### `src/client/composables/support/
|
|
309
|
+
### `src/client/composables/support/requestQueryRuntimeSupport.js`
|
|
301
310
|
Exports
|
|
302
|
-
- `
|
|
311
|
+
- `appendRequestQueryValue(target = {}, key = "", values = [])`
|
|
312
|
+
- `buildRequestQueryObject(entries = [])`
|
|
313
|
+
- `createRequestQueryRuntime({ requestQueryParams = null, context = null, sourceQueryKey = null } = {})`
|
|
314
|
+
- `resolveRequestQueryBaseKey(sourceQueryKey = null)`
|
|
315
|
+
- `resolveRequestQueryContext(context = null)`
|
|
303
316
|
|
|
304
317
|
### `src/client/composables/support/resourceLoadStateHelpers.js`
|
|
305
318
|
Exports
|
|
@@ -353,7 +366,7 @@ Exports
|
|
|
353
366
|
|
|
354
367
|
### `src/client/composables/useCommand.js`
|
|
355
368
|
Exports
|
|
356
|
-
- `useCommand({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", runPermissions = [], writeMethod = "POST", placementSource = "users-web.command", fallbackRunError = "Unable to complete action.", fieldErrorKeys = [], clearOnRouteChange = true, model,
|
|
369
|
+
- `useCommand({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", runPermissions = [], writeMethod = "POST", transport = null, placementSource = "users-web.command", fallbackRunError = "Unable to complete action.", fieldErrorKeys = [], clearOnRouteChange = true, model, input, buildRawPayload, buildCommandPayload, buildCommandOptions, onRunSuccess, onRunError, suppressSuccessMessage = false, messages = {}, realtime = null } = {})`
|
|
357
370
|
|
|
358
371
|
### `src/client/composables/useCrudListFilterLookups.js`
|
|
359
372
|
Exports
|
|
@@ -364,18 +377,14 @@ Exports
|
|
|
364
377
|
- `useCrudListFilters(definitions = {}, { labelResolvers = {}, chipLabels = {}, presets = [] } = {})`
|
|
365
378
|
Local functions
|
|
366
379
|
- `normalizeFunctionMap(value = {})`
|
|
367
|
-
- `createInitialFilterValue(filter = {})`
|
|
368
380
|
- `normalizePresetEntries(presets = [])`
|
|
369
381
|
- `resolvePresetValues(preset = {}, { values = {}, filters = {} } = {})`
|
|
370
|
-
- `
|
|
371
|
-
- `
|
|
372
|
-
- `matchArrayValues(currentValue = [], expectedValue = [])`
|
|
373
|
-
- `matchesPresetFilterValue(filter = {}, currentValue, rawExpectedValue)`
|
|
382
|
+
- `createRuntimeFilterValue(filter = {})`
|
|
383
|
+
- `assignFilterValue(values, filter = {}, rawValue)`
|
|
374
384
|
- `resetFilterValue(values, filter = {})`
|
|
375
385
|
- `applyPresetFilterValue(values, filter = {}, rawValue)`
|
|
376
386
|
- `createQueryParams(values, filterEntries = [])`
|
|
377
387
|
- `resolveAtomicValueLabel(filter = {}, value = "", labelResolvers = {})`
|
|
378
|
-
- `defaultChipLabel(filter = {}, value, labelResolvers = {})`
|
|
379
388
|
|
|
380
389
|
### `src/client/composables/useCrudListParentTitle.js`
|
|
381
390
|
Exports
|
|
@@ -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
|
-
- `
|
|
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(
|
|
251
|
+
- `createRepository({ api, knex } = {})`
|
|
274
252
|
Local functions
|
|
275
|
-
- `
|
|
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/
|
|
277
|
+
### `src/shared/resources/workspaceInvitesResource.js`
|
|
286
278
|
Exports
|
|
287
|
-
- `
|
|
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/
|
|
300
|
+
### `src/shared/resources/workspaceRoleCatalogSchema.js`
|
|
317
301
|
Exports
|
|
318
|
-
- `
|
|
319
|
-
- `
|
|
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
|
-
- `
|
|
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
|
|
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
|
|
@@ -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
|
-
- `
|
|
355
|
-
- `
|
|
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.
|
|
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
|