@jskit-ai/agent-docs 0.1.246 → 0.1.248
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/guide/agent/app-extras/assistant-conversation.md +10 -4
- package/guide/agent/app-extras/realtime.md +8 -4
- package/guide/agent/framework/translation.md +227 -0
- package/guide/agent/index.md +1 -0
- package/package.json +1 -1
- package/patterns/feature-package/example/booking-engine/package.json +1 -1
- package/patterns/minimal-foundation/example/package.json +3 -3
- package/patterns/shell-foundation/example/package.json +4 -4
- package/patterns/shell-foundation/example/packages/main/package.json +1 -1
- package/reference/autogen/KERNEL_MAP.md +29 -2
- package/reference/autogen/PATTERN_INDEX.md +37 -37
- package/reference/autogen/packages/assistant-core.md +22 -4
- package/reference/autogen/packages/assistant-runtime.md +15 -0
- package/reference/autogen/packages/assistant-voice.md +13 -5
- package/reference/autogen/packages/auth-core.md +14 -1
- package/reference/autogen/packages/auth-provider-local-core.md +1 -1
- package/reference/autogen/packages/auth-web.md +12 -2
- package/reference/autogen/packages/connector-google-calendar.md +6 -1
- package/reference/autogen/packages/connectors-catalog.md +19 -4
- package/reference/autogen/packages/connectors-core.md +5 -1
- package/reference/autogen/packages/connectors-web.md +5 -0
- package/reference/autogen/packages/database-runtime.md +8 -1
- package/reference/autogen/packages/http-runtime.md +6 -3
- package/reference/autogen/packages/http-web.md +27 -18
- package/reference/autogen/packages/kernel.md +76 -7
- package/reference/autogen/packages/mobile-capacitor.md +6 -1
- package/reference/autogen/packages/payments-core.md +2 -2
- package/reference/autogen/packages/payments-web.md +8 -0
- package/reference/autogen/packages/realtime.md +6 -0
- package/reference/autogen/packages/rewarded-web.md +5 -0
- package/reference/autogen/packages/shell-web.md +13 -3
- package/reference/autogen/packages/uploads-image-web.md +5 -0
- package/reference/autogen/packages/uploads-runtime.md +1 -1
- package/reference/autogen/packages/users-core.md +1 -0
- package/reference/autogen/packages/users-web.md +22 -0
- package/reference/autogen/packages/workspaces-core.md +10 -3
- package/reference/autogen/packages/workspaces-web.md +4 -0
- package/reference/autogen/tooling/jskit-catalog.md +28 -0
- package/skills/jskit/SKILL.md +3 -3
- package/skills/jskit/references/pattern-index.md +37 -37
- package/skills/jskit/references/patterns/app/minimal-foundation/example/package.json +3 -3
- package/skills/jskit/references/patterns/app/shell-foundation/example/package.json +4 -4
- package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/package.json +1 -1
- package/skills/jskit/references/patterns/auth/accounts-hub/example/package.json +2 -2
- package/skills/jskit/references/patterns/auth/oidc-sign-in/example/package.json +2 -2
- package/skills/jskit/references/patterns/auth/supabase-auth/example/package.json +1 -1
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/package.json +4 -4
- package/skills/jskit/references/patterns/crud/json-api-resource-package/example/packages/books/package.json +2 -2
- package/skills/jskit/references/patterns/database/mysql-application/example/package.json +1 -1
- package/skills/jskit/references/patterns/database/postgres-application/example/package.json +1 -1
- package/skills/jskit/references/patterns/realtime/realtime-application/example/package.json +2 -2
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/package.json +1 -1
- package/skills/jskit/references/patterns/users/account-settings/PATTERN.md +10 -0
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users/package.json +2 -2
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/package.json +3 -3
- package/skills/jskit/references/patterns/workspaces/workspace-server/PATTERN.md +7 -0
- package/skills/jskit/references/translation.md +227 -0
|
@@ -19,7 +19,7 @@ Exports
|
|
|
19
19
|
- `googleCalendarProvider`
|
|
20
20
|
Local functions
|
|
21
21
|
- `queryUrl(path, input)`
|
|
22
|
-
- `invalid(message)`
|
|
22
|
+
- `invalid(message, codes)`
|
|
23
23
|
- `validateEventTime(point)`
|
|
24
24
|
- `validateRecurrence(body)`
|
|
25
25
|
- `validAttendee(person)`
|
|
@@ -32,6 +32,11 @@ Exports
|
|
|
32
32
|
- `googleCalendarDefinition`
|
|
33
33
|
- `googleScope(name)`
|
|
34
34
|
|
|
35
|
+
### `src/shared/english-definition.js`
|
|
36
|
+
Exports
|
|
37
|
+
- `googleCalendarDefinition`
|
|
38
|
+
- `googleScope`
|
|
39
|
+
|
|
35
40
|
### patterns
|
|
36
41
|
|
|
37
42
|
### `patterns/calendar-cli/example/knexfile.js`
|
|
@@ -316,7 +316,7 @@ Exports
|
|
|
316
316
|
- `googleAdsSearchOperations`
|
|
317
317
|
- `createGoogleAdsSearchService({ connections, configuration, context, integrationId })`
|
|
318
318
|
Local functions
|
|
319
|
-
- `error(message)`
|
|
319
|
+
- `error(message, codes)`
|
|
320
320
|
- `hash(value)`
|
|
321
321
|
- `requestOperation(fields, build, validateResult)`
|
|
322
322
|
- `mutated(result)`
|
|
@@ -378,7 +378,7 @@ Exports
|
|
|
378
378
|
- `googleScope(name)`
|
|
379
379
|
- `googleOperation(scopes, fields, request, validateResult)`
|
|
380
380
|
- `googleBatchRequests(requests, product)`
|
|
381
|
-
- `inputInvalid(message, statusCode = 422)`
|
|
381
|
+
- `inputInvalid(message, { statusCode = 422, ...codes } = {})`
|
|
382
382
|
- `googleRead(scopes, fields, destination, validateResult)`
|
|
383
383
|
- `googleProvider(definition, origin, checkOperation, operations)`
|
|
384
384
|
- `googleFileVerification(get, field)`
|
|
@@ -802,7 +802,7 @@ Local functions
|
|
|
802
802
|
- `serializeNativeJson(value)`
|
|
803
803
|
- `guid(value)`
|
|
804
804
|
- `requestPath(request, index)`
|
|
805
|
-
- `sameRecord(matches, message)`
|
|
805
|
+
- `sameRecord(matches, message, codes)`
|
|
806
806
|
- `cursor(value)`
|
|
807
807
|
- `bookingDirectoryOperation(kind)`
|
|
808
808
|
- `validContact(value)`
|
|
@@ -828,7 +828,7 @@ Exports
|
|
|
828
828
|
- `createWizScanner({ configuration, authorize, resolveReference, resolveScanTarget, executable, environment = { PATH: process.env.PATH || "/usr/bin:/bin" }, timeoutMs = 600_000, maxReportBytes = 16 * 1024 * 1024 })`
|
|
829
829
|
Local functions
|
|
830
830
|
- `object(value)`
|
|
831
|
-
- `failure(code, message, statusCode = 502)`
|
|
831
|
+
- `failure(code, message, statusCode = 502, codes = {})`
|
|
832
832
|
- `runCli(executable, args, options, signal, timeoutMs)`
|
|
833
833
|
|
|
834
834
|
### `src/server/woocommerce.js`
|
|
@@ -1029,6 +1029,21 @@ Exports
|
|
|
1029
1029
|
- `resendDefinition`
|
|
1030
1030
|
- `firecrawlDefinition`
|
|
1031
1031
|
|
|
1032
|
+
### `src/shared/english-ai.js`
|
|
1033
|
+
Exports
|
|
1034
|
+
- `aiCatalogue`
|
|
1035
|
+
- `getAiModel`
|
|
1036
|
+
- `listAiModels`
|
|
1037
|
+
|
|
1038
|
+
### `src/shared/english-definitions.js`
|
|
1039
|
+
Exports
|
|
1040
|
+
- `createCanvaClientMetadata`
|
|
1041
|
+
- `validN8nOAuthDiscovery`
|
|
1042
|
+
|
|
1043
|
+
### `src/shared/english-texts.js`
|
|
1044
|
+
Exports
|
|
1045
|
+
- `englishTexts`
|
|
1046
|
+
|
|
1032
1047
|
### `src/shared/figma.js`
|
|
1033
1048
|
Exports
|
|
1034
1049
|
- `figmaDefinition`
|
|
@@ -19,7 +19,7 @@ Exports
|
|
|
19
19
|
- `createConnectionService({ configuration, providers, resolveReference, store, authorize, executionMode = "application", fetchImpl = globalThis.fetch, now = Date.now })`
|
|
20
20
|
Local functions
|
|
21
21
|
- `publicConnection(connection)`
|
|
22
|
-
- `requireOperationScope(operation, scopes, message)`
|
|
22
|
+
- `requireOperationScope(operation, scopes, message, { messageCode })`
|
|
23
23
|
- `operationRequest(operation, input, settings, providerData)`
|
|
24
24
|
- `validateCallbackUrl(value)`
|
|
25
25
|
- `connectionMatches(connection, integration, providerId, registration)`
|
|
@@ -73,6 +73,8 @@ Exports
|
|
|
73
73
|
Exports
|
|
74
74
|
- `DEFAULT_GRANT_TYPE`
|
|
75
75
|
- `DEFAULT_TOKEN_ENDPOINT_AUTH_METHOD`
|
|
76
|
+
- `MESSAGE_KEY_SOURCE`
|
|
77
|
+
- `createEnglishProviderTexts(catalog)`
|
|
76
78
|
- `registrationGrantType(record)`
|
|
77
79
|
- `registrationClientAuthentication(record)`
|
|
78
80
|
- `providerGrantTypes(provider)`
|
|
@@ -88,6 +90,8 @@ Exports
|
|
|
88
90
|
- `IntegrationConfigurationError`
|
|
89
91
|
- `parseIntegrationConfiguration(text, options)`
|
|
90
92
|
- `validateIntegrationConfiguration(input, { providers = [], allowUnknownProviders = false } = {})`
|
|
93
|
+
Local functions
|
|
94
|
+
- `schemaFieldErrors(error, fallback, prefix = "")`
|
|
91
95
|
|
|
92
96
|
### migrations
|
|
93
97
|
|
|
@@ -14,6 +14,10 @@ Use this on demand; do not load the full index at startup.
|
|
|
14
14
|
|
|
15
15
|
### src
|
|
16
16
|
|
|
17
|
+
### `src/client/i18n.js`
|
|
18
|
+
Exports
|
|
19
|
+
- `useJskitText`
|
|
20
|
+
|
|
17
21
|
### `src/client/index.js`
|
|
18
22
|
Exports
|
|
19
23
|
- `IntegrationConfigurationFields`
|
|
@@ -26,6 +30,7 @@ Local functions
|
|
|
26
30
|
- `accountModeForGrant(grant, settings, accountMode)`
|
|
27
31
|
- `settingValue(field)`
|
|
28
32
|
- `settingHint(field)`
|
|
33
|
+
- `settingItems(field)`
|
|
29
34
|
- `settingErrors(field)`
|
|
30
35
|
- `editAssistantPolicy(changes)`
|
|
31
36
|
- `editIntegration(changes)`
|
|
@@ -56,6 +56,7 @@ Local functions
|
|
|
56
56
|
|
|
57
57
|
### `src/shared/dateUtils.js`
|
|
58
58
|
Exports
|
|
59
|
+
- `normalizeDateInput(value)`
|
|
59
60
|
- `toIsoString(value)`
|
|
60
61
|
- `toInsertDateTime(dateLike, fallback = new Date())`
|
|
61
62
|
- `toDatabaseDateTimeUtc(value)`
|
|
@@ -63,7 +64,6 @@ Exports
|
|
|
63
64
|
- `toJsonTime(value, { temporalPrecision } = {})`
|
|
64
65
|
- `toJsonDateTime(value, { temporalPrecision } = {})`
|
|
65
66
|
Local functions
|
|
66
|
-
- `normalizeDateInput(value)`
|
|
67
67
|
- `toDateOrThrow(value)`
|
|
68
68
|
- `pad(value, size = 2)`
|
|
69
69
|
- `requireValidDateParts(year, month, day)`
|
|
@@ -88,6 +88,7 @@ Local functions
|
|
|
88
88
|
|
|
89
89
|
### `src/shared/index.js`
|
|
90
90
|
Exports
|
|
91
|
+
- `normalizeDateInput`
|
|
91
92
|
- `toIsoString`
|
|
92
93
|
- `toInsertDateTime`
|
|
93
94
|
- `toDatabaseDateTimeUtc`
|
|
@@ -111,9 +112,11 @@ Exports
|
|
|
111
112
|
- `normalizeNullableString`
|
|
112
113
|
- `normalizeDbRecordId`
|
|
113
114
|
- `resolveInsertedRecordId`
|
|
115
|
+
- `parseJsonValue`
|
|
114
116
|
- `toDbJson`
|
|
115
117
|
- `runInTransaction`
|
|
116
118
|
- `createWithTransaction`
|
|
119
|
+
- `lockScopedRecordId`
|
|
117
120
|
|
|
118
121
|
### `src/shared/repositoryOptions.js`
|
|
119
122
|
Exports
|
|
@@ -125,9 +128,13 @@ Exports
|
|
|
125
128
|
- `normalizeNullableString(value, { trim = true } = {})`
|
|
126
129
|
- `normalizeDbRecordId(value, { fallback = null } = {})`
|
|
127
130
|
- `resolveInsertedRecordId(insertResult, { fallback = null } = {})`
|
|
131
|
+
- `parseJsonValue(value, fallback = null, options = {})`
|
|
128
132
|
- `toDbJson(value)`
|
|
129
133
|
- `runInTransaction(knex, callback)`
|
|
130
134
|
- `createWithTransaction(knex)`
|
|
135
|
+
- `lockScopedRecordId({ trx, tableName, recordId, scopeId, idColumn = "id", scopeColumn = "workspace_id" } = {})`
|
|
136
|
+
Local functions
|
|
137
|
+
- `requireSqlIdentifier(value, label)`
|
|
131
138
|
|
|
132
139
|
### `src/shared/transactionManager.js`
|
|
133
140
|
Exports
|
|
@@ -42,7 +42,7 @@ Local functions
|
|
|
42
42
|
Exports
|
|
43
43
|
- `normalizeFieldErrors`
|
|
44
44
|
- `resolveFieldErrors`
|
|
45
|
-
- `createValidationFailure({ error = "Validation failed.", code = "validation_failed", fieldErrors = {} } = {})`
|
|
45
|
+
- `createValidationFailure({ error = "Validation failed.", code = "validation_failed", fieldErrors = {}, fieldErrorCodes = null } = {})`
|
|
46
46
|
|
|
47
47
|
### `src/shared/clientRuntime/client.js`
|
|
48
48
|
Exports
|
|
@@ -94,6 +94,7 @@ Local functions
|
|
|
94
94
|
- `simplifyResourceObject(resource = {}, options = {})`
|
|
95
95
|
- `assertPrimaryDataType(resource = {}, expectedType = "")`
|
|
96
96
|
- `resolveCollectionPageMeta(document = {})`
|
|
97
|
+
- `decodeJsonApiErrorFields(payload = {})`
|
|
97
98
|
|
|
98
99
|
### `src/shared/clientRuntime/retry.js`
|
|
99
100
|
Exports
|
|
@@ -226,7 +227,7 @@ Exports
|
|
|
226
227
|
- `createJsonApiResourceRouteTransport({ type = "", requestType = "", responseType = "", query = null, allowBodyId = false, successKind = "record", pointerPrefix = "/data/attributes", mapRequestRelationships = null, getRecordType = null, getRecordId = null, getRecordAttributes = null, getRecordRelationships = null, getRecordLinks = null, getRecordMeta = null, getIncluded = null, getDocumentLinks = null, getDocumentMeta = null, getCollectionItems = null } = {})`
|
|
227
228
|
- `createJsonApiResourceRouteContract({ type = "", requestType = "", responseType = "", body = null, query = null, output = null, outputKind = "record", successStatus = 200, includeValidation400 = false, allowSparseFields = false, allowBodyId = false, pointerPrefix = "/data/attributes", bodyAttributeExcludeKeys = [], outputAttributeExcludeKeys = [], bodyRelationshipEntries = [], outputRelationshipEntries = [], getRecordType = null, getRecordId = null, getRecordAttributes = null, getRecordRelationships = null, getRecordLinks = null, getRecordMeta = null, getIncluded = null, getDocumentLinks = null, getDocumentMeta = null, getCollectionItems = null, mapRequestRelationships = null } = {})`
|
|
228
229
|
Local functions
|
|
229
|
-
- `createJsonApiTransportError(statusCode, message, code)`
|
|
230
|
+
- `createJsonApiTransportError(statusCode, message, code, params = {})`
|
|
230
231
|
- `resolveRouteType(type = "")`
|
|
231
232
|
- `resolveRouteTypes(value = {})`
|
|
232
233
|
- `resolveEmbeddedAttributesTransportSchema(definition, { context = "JSON:API resource", defaultMode = "replace", removeId = false, removeKeys = [], allowSparseFields = false } = {})`
|
|
@@ -246,7 +247,7 @@ Exports
|
|
|
246
247
|
- `JSON_API_CONTENT_TYPE`
|
|
247
248
|
- `resolveJsonApiTransportTypes({ type = "", requestType = "", responseType = "" } = {}, { context = "JSON:API transport" } = {})`
|
|
248
249
|
- `createJsonApiDocument({ data = undefined, included = undefined, links = undefined, meta = undefined, errors = undefined } = {})`
|
|
249
|
-
- `createJsonApiErrorDocumentFromFailure({ statusCode = 500, code = "", message = "", transactionOutcome, fieldErrors = {}, validationIssues = [], validationContext = "", pointerPrefix = "/data/attributes" } = {})`
|
|
250
|
+
- `createJsonApiErrorDocumentFromFailure({ statusCode = 500, code = "", message = "", params = {}, messageCode = "", messageParams = {}, transactionOutcome, fieldErrors = {}, fieldErrorCodes = {}, validationIssues = [], validationIssueCodes = [], validationContext = "", pointerPrefix = "/data/attributes" } = {})`
|
|
250
251
|
- `createJsonApiErrorObject({ status = "", code = "", title = "", detail = "", source = undefined, links = undefined, meta = undefined } = {})`
|
|
251
252
|
- `createJsonApiResourceObject({ type = "", id = null, attributes = undefined, relationships = undefined, links = undefined, meta = undefined } = {})`
|
|
252
253
|
- `isJsonApiCollectionDocument(payload = {})`
|
|
@@ -254,6 +255,7 @@ Exports
|
|
|
254
255
|
- `isJsonApiErrorDocument(payload = {})`
|
|
255
256
|
- `isJsonApiResourceDocument(payload = {})`
|
|
256
257
|
- `isJsonContentType(contentType = "")`
|
|
258
|
+
- `normalizeCodedEntry(entry)`
|
|
257
259
|
- `normalizeJsonApiDocument(payload = {})`
|
|
258
260
|
- `normalizeJsonApiResourceObject(resource = {})`
|
|
259
261
|
- `simplifyJsonApiDocument(payload = {})`
|
|
@@ -266,6 +268,7 @@ Local functions
|
|
|
266
268
|
- `escapeJsonPointerSegment(value = "")`
|
|
267
269
|
- `resolveValidationFieldName(issue = {})`
|
|
268
270
|
- `resolveJsonApiValidationSource(issue = {}, validationContext = "")`
|
|
271
|
+
- `createJsonApiErrorMeta({ transactionOutcome, params, messageCode, messageParams, fieldErrorCode })`
|
|
269
272
|
- `simplifyJsonApiResourceObject(resource = {})`
|
|
270
273
|
|
|
271
274
|
### `src/shared/validators/operationValidation.js`
|
|
@@ -40,6 +40,7 @@ Local functions
|
|
|
40
40
|
- `execute(action = {})`
|
|
41
41
|
- `isActionDisabled(action = {})`
|
|
42
42
|
- `isActionExecuting(action = {})`
|
|
43
|
+
- `actionLabel(action = {})`
|
|
43
44
|
|
|
44
45
|
### `src/client/components/CrudListDateFilterControl.vue`
|
|
45
46
|
Exports
|
|
@@ -57,7 +58,8 @@ Exports
|
|
|
57
58
|
- None
|
|
58
59
|
Local functions
|
|
59
60
|
- `optionItems(filter = {})`
|
|
60
|
-
- `
|
|
61
|
+
- `filterLabel(filter = {}, key = "", params = {})`
|
|
62
|
+
- `placeholder(filter = {}, fallbackKey = "")`
|
|
61
63
|
|
|
62
64
|
### `src/client/components/CrudListFilterSurface.vue`
|
|
63
65
|
Exports
|
|
@@ -71,6 +73,7 @@ Exports
|
|
|
71
73
|
- None
|
|
72
74
|
Local functions
|
|
73
75
|
- `isRowActionLoading(action = {})`
|
|
76
|
+
- `rowActionLabel(action = {})`
|
|
74
77
|
- `isRowActionDisabled(action = {})`
|
|
75
78
|
- `runRowAction(action = {})`
|
|
76
79
|
|
|
@@ -173,7 +176,7 @@ Exports
|
|
|
173
176
|
- `resolveLookupSelectedValues(filter = {}, rawValue = undefined)`
|
|
174
177
|
- `createLookupOptionsFromItems(items = [], filter = {}, labelResolver = null)`
|
|
175
178
|
- `mergeSelectedLookupOptions(options = [], selectedValues = [], cachedOptions = new Map())`
|
|
176
|
-
- `resolveLookupOptionLabel(options = [], cachedOptions = new Map(), value = "", fallback = "
|
|
179
|
+
- `resolveLookupOptionLabel(options = [], cachedOptions = new Map(), value = "", fallback = "")`
|
|
177
180
|
Local functions
|
|
178
181
|
- `createLookupOptionFromItem(item = {}, filter = {}, labelResolver = null)`
|
|
179
182
|
|
|
@@ -197,7 +200,7 @@ Local functions
|
|
|
197
200
|
|
|
198
201
|
### `src/client/composables/records/useAddEdit.js`
|
|
199
202
|
Exports
|
|
200
|
-
- `useAddEdit({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", resource = null, apiSuffix = "", queryKeyFactory = null, viewPermissions = [], savePermissions = [], readMethod = "GET", readEnabled = true, writeMethod = "PATCH", client = null, transport = null, requestRecovery = null, requestRecoveryLabel = "
|
|
203
|
+
- `useAddEdit({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", resource = null, apiSuffix = "", queryKeyFactory = null, viewPermissions = [], savePermissions = [], readMethod = "GET", readEnabled = true, writeMethod = "PATCH", client = null, transport = null, requestRecovery = null, requestRecoveryLabel = t("jskit.http.resource.label"), placementSource = "http-web.add-edit", fallbackLoadError = t("jskit.http.resource.loadFailed"), fallbackSaveError = "", fieldErrorKeys = [], clearOnRouteChange = true, model, input, mapLoadedToModel, buildRawPayload, buildSavePayload, onSaveSuccess, validationFeedback = true, requestQueryParams = null, recordIdParam = "recordId", routeParams = null, routeRecordId = null, apiUrlTemplate = "", viewUrlTemplate = "", listUrlTemplate = "", saveRecordIdSelector = null, messages = {}, realtime = null } = {})`
|
|
201
204
|
|
|
202
205
|
### `src/client/composables/records/useCrudAddEdit.js`
|
|
203
206
|
Exports
|
|
@@ -219,11 +222,11 @@ Exports
|
|
|
219
222
|
|
|
220
223
|
### `src/client/composables/records/useList.js`
|
|
221
224
|
Exports
|
|
222
|
-
- `useList({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", queryKeyFactory = null, viewPermissions = [], readEnabled = true, placementSource = "http-web.list", fallbackLoadError = "
|
|
225
|
+
- `useList({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", queryKeyFactory = null, viewPermissions = [], readEnabled = true, placementSource = "http-web.list", fallbackLoadError = t("jskit.http.list.loadFailed"), initialPageParam = null, getNextPageParam, selectItems, client = null, transport = null, requestOptions, queryOptions, requestRecovery, requestRecoveryLabel = t("jskit.http.list.label"), realtime = null, recordIdParam = "recordId", recordIdSelector = null, viewUrlTemplate = "", editUrlTemplate = "", search = null, queryParams = null, routeQueryValueResolvers = null, requestQueryParams = null, requestFieldsets = null, syncToRoute = false } = {})`
|
|
223
226
|
|
|
224
227
|
### `src/client/composables/records/useView.js`
|
|
225
228
|
Exports
|
|
226
|
-
- `useView({ resource = null, ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", queryKeyFactory = null, viewPermissions = [], readMethod = "GET", readEnabled = true, client = null, transport = null, requestRecovery = null, requestRecoveryLabel = "
|
|
229
|
+
- `useView({ resource = null, ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", queryKeyFactory = null, viewPermissions = [], readMethod = "GET", readEnabled = true, client = null, transport = null, requestRecovery = null, requestRecoveryLabel = t("jskit.http.resource.label"), placementSource = "http-web.view", fallbackLoadError = t("jskit.http.resource.loadFailed"), notFoundStatuses = [404], notFoundMessage = t("jskit.http.crud.recordNotFound"), model, mapLoadedToModel, requestQueryParams = null, requestFieldsets = null, recordIdParam = "recordId", routeParams = null, routeRecordId = null, apiUrlTemplate = "", listUrlTemplate = "", editUrlTemplate = "", includeRecordIdInQueryKey = false, realtime = undefined } = {})`
|
|
227
230
|
|
|
228
231
|
### `src/client/composables/runtime/addEditUiRuntime.js`
|
|
229
232
|
Exports
|
|
@@ -255,7 +258,7 @@ Local functions
|
|
|
255
258
|
|
|
256
259
|
### `src/client/composables/runtime/operationValidationHelpers.js`
|
|
257
260
|
Exports
|
|
258
|
-
- `validateOperationInput({ input, rawPayload = {}, fieldBag = null, feedback = null, validationMessage = "
|
|
261
|
+
- `validateOperationInput({ input, rawPayload = {}, fieldBag = null, feedback = null, validationMessage = "" } = {})`
|
|
259
262
|
|
|
260
263
|
### `src/client/composables/runtime/useAddEditCore.js`
|
|
261
264
|
Exports
|
|
@@ -269,7 +272,7 @@ Exports
|
|
|
269
272
|
Exports
|
|
270
273
|
- `buildEndpointReadRequestOptions({ method = "GET", query = null, transport = null } = {})`
|
|
271
274
|
- `buildEndpointWriteRequestOptions({ method = "PATCH", body = undefined, options = null, transport = null } = {})`
|
|
272
|
-
- `useEndpointResource({ queryKey, path = "", enabled = true, client = null, readMethod = "GET", writeMethod = "PATCH", readQuery = null, transport = null, refreshOnPull = false, realtime = null, queryOptions = null, mutationOptions = null, requestRecovery = null, requestRecoveryLabel = "
|
|
275
|
+
- `useEndpointResource({ queryKey, path = "", enabled = true, client = null, readMethod = "GET", writeMethod = "PATCH", readQuery = null, transport = null, refreshOnPull = false, realtime = null, queryOptions = null, mutationOptions = null, requestRecovery = null, // No label: shell-web's request recovery names the app. requestRecoveryLabel = "", fallbackLoadError = "jskit.http.resource.loadFailed", fallbackSaveError = "jskit.http.resource.saveFailed" } = {})`
|
|
273
276
|
Local functions
|
|
274
277
|
- `resolveRequestQuery(value = null)`
|
|
275
278
|
|
|
@@ -281,7 +284,7 @@ Exports
|
|
|
281
284
|
### `src/client/composables/runtime/useListCore.js`
|
|
282
285
|
Exports
|
|
283
286
|
- `buildListRequestOptions({ requestOptions = null, transport = null, pageParam = null } = {})`
|
|
284
|
-
- `useListCore({ queryKey, path = "", enabled = true, client = null, transport = null, initialPageParam = null, getNextPageParam, selectItems, requestOptions = null, queryOptions = null, requestRecovery = null, requestRecoveryLabel = "
|
|
287
|
+
- `useListCore({ queryKey, path = "", enabled = true, client = null, transport = null, initialPageParam = null, getNextPageParam, selectItems, requestOptions = null, queryOptions = null, requestRecovery = null, requestRecoveryLabel = t("jskit.http.list.label"), fallbackLoadError = t("jskit.http.list.loadFailed") } = {})`
|
|
285
288
|
Local functions
|
|
286
289
|
- `resolveRequestOptionsObject(value = null)`
|
|
287
290
|
- `resolveListRequestMethod(requestOptions = null)`
|
|
@@ -292,7 +295,7 @@ Exports
|
|
|
292
295
|
|
|
293
296
|
### `src/client/composables/runtime/useViewCore.js`
|
|
294
297
|
Exports
|
|
295
|
-
- `useViewCore({ resource, model, canView, mapLoadedToModel, notFoundStatuses = [404], notFoundMessage = "
|
|
298
|
+
- `useViewCore({ resource, model, canView, mapLoadedToModel, notFoundStatuses = [404], notFoundMessage = "" } = {})`
|
|
296
299
|
Local functions
|
|
297
300
|
- `normalizeStatusList(value)`
|
|
298
301
|
|
|
@@ -302,8 +305,9 @@ Exports
|
|
|
302
305
|
|
|
303
306
|
### `src/client/composables/support/errorMessageHelpers.js`
|
|
304
307
|
Exports
|
|
305
|
-
- `toQueryErrorMessage(error, fallbackMessage = "", defaultMessage = "
|
|
306
|
-
- `toUiErrorMessage(error, fallbackMessage = "", defaultMessage = "
|
|
308
|
+
- `toQueryErrorMessage(error, fallbackMessage = "", defaultMessage = "")`
|
|
309
|
+
- `toUiErrorMessage(error, fallbackMessage = "", defaultMessage = "")`
|
|
310
|
+
- `toUiFieldErrors(error)`
|
|
307
311
|
|
|
308
312
|
### `src/client/composables/support/listQueryParamSupport.js`
|
|
309
313
|
Exports
|
|
@@ -409,11 +413,11 @@ Local functions
|
|
|
409
413
|
|
|
410
414
|
### `src/client/composables/useCommand.js`
|
|
411
415
|
Exports
|
|
412
|
-
- `useCommand({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", runPermissions = [], writeMethod = "POST", client = null, resource: commandResource = null, transport = null, placementSource = "http-web.command", fallbackRunError = "
|
|
416
|
+
- `useCommand({ ownershipFilter = ROUTE_VISIBILITY_WORKSPACE, surfaceId = "", access = "auto", apiSuffix = "", runPermissions = [], writeMethod = "POST", client = null, resource: commandResource = null, transport = null, placementSource = "http-web.command", fallbackRunError = "jskit.http.feedback.actionFailed", fieldErrorKeys = [], clearOnRouteChange = true, model, input, buildRawPayload, buildCommandPayload, buildCommandOptions, onRunSuccess, onRunError, suppressSuccessMessage = false, messages = {}, realtime = null } = {})`
|
|
413
417
|
|
|
414
418
|
### `src/client/composables/useCrudAddEditScreen.js`
|
|
415
419
|
Exports
|
|
416
|
-
- `useCrudAddEditScreen({ screen = null, mode = "new", title = "", subtitle = "", saveLabel = "
|
|
420
|
+
- `useCrudAddEditScreen({ screen = null, mode = "new", title = "", subtitle = "", saveLabel = "", cancelTo = "", resource = null, operationName = "", formFields = [], addEditOptions = {}, saveSuccess = {}, fieldBinding = null, createModel = null, buildPayload = null, mapPayloadToModel = null, input = null, preserveCancelQuery = false } = {})`
|
|
417
421
|
Local functions
|
|
418
422
|
- `normalizeProvidedScreen(screen = null)`
|
|
419
423
|
|
|
@@ -421,7 +425,7 @@ Local functions
|
|
|
421
425
|
Exports
|
|
422
426
|
- `requireCrudDeleteOperation(resource = null)`
|
|
423
427
|
- `resolveDeleteApiSuffix(screen, apiUrlTemplate = "")`
|
|
424
|
-
- `useCrudDeleteAction({ screen = null, resource = null, resourceNamespace = "", apiUrlTemplate = "", access = "auto", client = null, router: routerOverride = null, fallbackDeleteError = "
|
|
428
|
+
- `useCrudDeleteAction({ screen = null, resource = null, resourceNamespace = "", apiUrlTemplate = "", access = "auto", client = null, router: routerOverride = null, fallbackDeleteError = t("jskit.http.crud.delete.failed") } = {})`
|
|
425
429
|
Local functions
|
|
426
430
|
- `requireCrudViewScreen(screen = null)`
|
|
427
431
|
- `resolveListLocation(screen)`
|
|
@@ -453,7 +457,7 @@ Local functions
|
|
|
453
457
|
|
|
454
458
|
### `src/client/composables/useCrudListParentTitle.js`
|
|
455
459
|
Exports
|
|
456
|
-
- `useCrudListParentTitle({ listRuntime = null, resource = {}, recordIdParam = "recordId", queryKeyPrefix = ["http-web", "crud-list-parent-title"], placementSource = "http-web.crud-list-parent-title", fallbackLoadError = "
|
|
460
|
+
- `useCrudListParentTitle({ listRuntime = null, resource = {}, recordIdParam = "recordId", queryKeyPrefix = ["http-web", "crud-list-parent-title"], placementSource = "http-web.crud-list-parent-title", fallbackLoadError = t("jskit.http.crud.parent.loadFailed"), notFoundMessage = t("jskit.http.crud.parent.notFound"), route = null, viewRuntimeFactory = useView } = {})`
|
|
457
461
|
Local functions
|
|
458
462
|
- `normalizeQueryKeyPrefix(value = [])`
|
|
459
463
|
|
|
@@ -466,7 +470,7 @@ Local functions
|
|
|
466
470
|
### `src/client/composables/useCrudListScreen.js`
|
|
467
471
|
Exports
|
|
468
472
|
- `__testables`
|
|
469
|
-
- `useCrudListScreen({ client = null, resource = null, resourceNamespace = "resource", apiSuffix = "", recordIdParam = "recordId", recordIdSelector = null, titleFallbackFieldKey = "", viewUrlTemplate = "", editUrlTemplate = "", newUrlTemplate = "", recordChangedEvents = [], listFilters = {}, listBulkActions = [], listRowActions = [], syntheticRows = null, routeQueryBlacklist = Object.freeze(["include", "cursor", "limit"]), requestQueryParams = null, requestFieldsets = null, readEnabled = true, requestRecoveryLabel = "
|
|
473
|
+
- `useCrudListScreen({ client = null, resource = null, resourceNamespace = "resource", apiSuffix = "", recordIdParam = "recordId", recordIdSelector = null, titleFallbackFieldKey = "", viewUrlTemplate = "", editUrlTemplate = "", newUrlTemplate = "", recordChangedEvents = [], listFilters = {}, listBulkActions = [], listRowActions = [], syntheticRows = null, routeQueryBlacklist = Object.freeze(["include", "cursor", "limit"]), requestQueryParams = null, requestFieldsets = null, readEnabled = true, requestRecoveryLabel = t("jskit.http.crud.records"), fallbackLoadError = t("jskit.http.crud.list.loadFailed") } = {})`
|
|
470
474
|
Local functions
|
|
471
475
|
- `buildCrudListActionContext(records, client)`
|
|
472
476
|
- `formatCrudListCardValue(value)`
|
|
@@ -479,11 +483,11 @@ Local functions
|
|
|
479
483
|
|
|
480
484
|
### `src/client/composables/useCrudViewScreen.js`
|
|
481
485
|
Exports
|
|
482
|
-
- `useCrudViewScreen({ resource = null, resourceNamespace = "resource", apiUrlTemplate = "", recordIdParam = "recordId", titleFallbackFieldKey = "", listUrlTemplate = "", editUrlTemplate = "", recordChangedEvent = "", requestQueryParams = null, requestFieldsets = null, readEnabled = true, queryKeyFactory = null, requestRecoveryLabel = "
|
|
486
|
+
- `useCrudViewScreen({ resource = null, resourceNamespace = "resource", apiUrlTemplate = "", recordIdParam = "recordId", titleFallbackFieldKey = "", listUrlTemplate = "", editUrlTemplate = "", recordChangedEvent = "", requestQueryParams = null, requestFieldsets = null, readEnabled = true, queryKeyFactory = null, requestRecoveryLabel = t("jskit.http.crud.record"), fallbackLoadError = t("jskit.http.crud.view.loadFailed"), notFoundMessage = t("jskit.http.crud.recordNotFound") } = {})`
|
|
483
487
|
|
|
484
488
|
### `src/client/composables/usePagedCollection.js`
|
|
485
489
|
Exports
|
|
486
|
-
- `usePagedCollection({ queryKey, enabled = true, initialPageParam = null, queryFn, getNextPageParam = defaultGetNextPageParam, selectItems = defaultSelectItems, dedupeBy = null, queryOptions = null, fallbackLoadError = "
|
|
490
|
+
- `usePagedCollection({ queryKey, enabled = true, initialPageParam = null, queryFn, getNextPageParam = defaultGetNextPageParam, selectItems = defaultSelectItems, dedupeBy = null, queryOptions = null, fallbackLoadError = t("jskit.http.list.loadFailed") } = {})`
|
|
487
491
|
- `trimInfinitePagesToFirst(data = null)`
|
|
488
492
|
Local functions
|
|
489
493
|
- `defaultSelectItems(page)`
|
|
@@ -522,6 +526,11 @@ Exports
|
|
|
522
526
|
- `CRUD_LIST_FILTER_PRESENCE_OPTIONS`
|
|
523
527
|
- `defineCrudListFilters`
|
|
524
528
|
|
|
529
|
+
### `src/client/i18n.js`
|
|
530
|
+
Exports
|
|
531
|
+
- `createTextError`
|
|
532
|
+
- `useJskitText`
|
|
533
|
+
|
|
525
534
|
### `src/client/index.js`
|
|
526
535
|
Exports
|
|
527
536
|
- `CrudAddEditScreen`
|
|
@@ -41,6 +41,20 @@ Local functions
|
|
|
41
41
|
- `resolveProviderDependencies(provider, capabilities)`
|
|
42
42
|
- `normalizeProviderOutputs(provider, value)`
|
|
43
43
|
|
|
44
|
+
### `shared/i18n/index.js`
|
|
45
|
+
Exports
|
|
46
|
+
- `catalogMessage(catalog, key = "")`
|
|
47
|
+
- `flattenCatalog(catalog, prefix = "")`
|
|
48
|
+
- `formatMessage(template = "", params = {})`
|
|
49
|
+
- `mergeCatalogs(...catalogs)`
|
|
50
|
+
- `messageKeyForCode(code = "")`
|
|
51
|
+
- `messageParams(template = "")`
|
|
52
|
+
Local functions
|
|
53
|
+
- `isRecord(value)`
|
|
54
|
+
- `placeholderEnd(template, start)`
|
|
55
|
+
- `parseMessage(template = "")`
|
|
56
|
+
- `pluralChoice(count, choices)`
|
|
57
|
+
|
|
44
58
|
### `shared/index.js`
|
|
45
59
|
Exports
|
|
46
60
|
- `resolveLinkPath`
|
|
@@ -108,6 +122,8 @@ Exports
|
|
|
108
122
|
- `normalizeQueryToken(value, { fallback = "__none__" } = {})`
|
|
109
123
|
- `normalizeObject(value, { fallback = {} } = {})`
|
|
110
124
|
- `normalizeIfInSource(source, normalized, fieldName, normalizer = (value) => value)`
|
|
125
|
+
- `normalizeIfPresent(value, normalizer = (entry) => entry)`
|
|
126
|
+
- `normalizeOrNull(value, normalizer = (entry) => entry)`
|
|
111
127
|
- `isRecord(value)`
|
|
112
128
|
- `normalizeArray(value)`
|
|
113
129
|
- `normalizeUniqueTextList(value, { acceptSingle = false } = {})`
|
|
@@ -299,7 +315,9 @@ Exports
|
|
|
299
315
|
- `resolveSchemaTransportSchemaDefinition`
|
|
300
316
|
- `executeJsonRestSchemaDefinition`
|
|
301
317
|
- `buildSchemaValidationError`
|
|
318
|
+
- `codedFieldErrors`
|
|
302
319
|
- `validateSchemaPayload`
|
|
320
|
+
- `resolveValidationIssueCode`
|
|
303
321
|
- `RECORD_ID_PATTERN`
|
|
304
322
|
- `recordIdSchema`
|
|
305
323
|
- `nullableRecordIdSchema`
|
|
@@ -322,7 +340,8 @@ Local functions
|
|
|
322
340
|
- `requireJsonRestSchemaInstance(schemaDefinition = null, { context = "schema definition.schema" } = {})`
|
|
323
341
|
- `resolveJsonRestSchemaFieldMessages(schemaDefinition = null, fieldName = "")`
|
|
324
342
|
- `resolveJsonRestSchemaParentFieldMessages(schemaDefinition = null, fieldName = "")`
|
|
325
|
-
- `
|
|
343
|
+
- `resolveFieldMessageOverride(messages, key)`
|
|
344
|
+
- `resolveJsonRestSchemaFieldError(fieldName, entry, schemaDefinition = null)`
|
|
326
345
|
|
|
327
346
|
### `shared/validators/mergeObjectSchemas.js`
|
|
328
347
|
Exports
|
|
@@ -356,9 +375,15 @@ Local functions
|
|
|
356
375
|
|
|
357
376
|
### `shared/validators/schemaPayloadValidation.js`
|
|
358
377
|
Exports
|
|
359
|
-
- `buildSchemaValidationError({ message =
|
|
378
|
+
- `buildSchemaValidationError({ message = SCHEMA_VALIDATION_FAILED_MESSAGE, fieldErrors = null, fieldErrorCodes = null, errors = null, cause, statusCode = null } = {})`
|
|
379
|
+
- `codedFieldErrors(error)`
|
|
380
|
+
- `errorFieldErrors(error)`
|
|
360
381
|
- `validateSchemaPayload(schemaDefinition, payload, { phase = "input", context = "schema definition", statusCode = null } = {})`
|
|
361
382
|
|
|
383
|
+
### `shared/validators/validationIssueCodes.js`
|
|
384
|
+
Exports
|
|
385
|
+
- `resolveValidationIssueCode(issue = {})`
|
|
386
|
+
|
|
362
387
|
### client
|
|
363
388
|
|
|
364
389
|
### `client/appConfig.js`
|
|
@@ -376,12 +401,13 @@ Exports
|
|
|
376
401
|
- `createAsyncModuleRecoveryState({ label = "App module", message = "", retry = null } = {})`
|
|
377
402
|
- `dismissAsyncModuleRecovery(state)`
|
|
378
403
|
- `dynamicImportErrorMessage(error = null, { label = "App module", stale = isDynamicImportError(error) } = {})`
|
|
379
|
-
- `guardedReloadApp({ browserWindow = typeof window !== "undefined" ? window : null, fetchFn = typeof fetch === "function" ? fetch : null, state = null, label = "App", message =
|
|
404
|
+
- `guardedReloadApp({ browserWindow = typeof window !== "undefined" ? window : null, fetchFn = typeof fetch === "function" ? fetch : null, state = null, label = "App", message = RELOAD_UNAVAILABLE.message, messageCode = message === RELOAD_UNAVAILABLE.message ? RELOAD_UNAVAILABLE.messageCode : "", messageParams = {} } = {})`
|
|
380
405
|
- `installAsyncModuleRecoveryHandlers({ router = null, state, label = "App module", onNotify = null, windowObject = typeof window !== "undefined" ? window : null } = {})`
|
|
381
406
|
- `isDynamicImportError(error = null)`
|
|
382
|
-
- `notifyAsyncModuleLoadError(state, error = null, { label = "App module", message = "", retry = null, stale = isDynamicImportError(error) } = {})`
|
|
407
|
+
- `notifyAsyncModuleLoadError(state, error = null, { label = "App module", message = "", messageCode = "", messageParams = {}, retry = null, stale = isDynamicImportError(error) } = {})`
|
|
383
408
|
Local functions
|
|
384
409
|
- `errorText(error = null)`
|
|
410
|
+
- `dynamicImportErrorMessageCode(label, stale)`
|
|
385
411
|
|
|
386
412
|
### `client/componentInteraction.js`
|
|
387
413
|
Exports
|
|
@@ -393,11 +419,39 @@ Exports
|
|
|
393
419
|
Local functions
|
|
394
420
|
- `normalizeComponentId(value)`
|
|
395
421
|
|
|
422
|
+
### `client/i18n.js`
|
|
423
|
+
Exports
|
|
424
|
+
- `createTextError(keyOrMessage = "", params = {})`
|
|
425
|
+
- `registerJskitMessages(catalog = {})`
|
|
426
|
+
- `setJskitI18n(i18n = null)`
|
|
427
|
+
- `useJskitText()`
|
|
428
|
+
Local functions
|
|
429
|
+
- `registry()`
|
|
430
|
+
- `mergeEnglishIntoI18n()`
|
|
431
|
+
- `activeLocale()`
|
|
432
|
+
- `pluralOptions(params)`
|
|
433
|
+
- `t(key = "", params = {}, { locale } = {})`
|
|
434
|
+
- `hasMessage(key = "")`
|
|
435
|
+
- `text(value, options)`
|
|
436
|
+
- `codedMessage(code, params = {}, sentEnglish = "")`
|
|
437
|
+
- `serverMessage(source, fallback = "")`
|
|
438
|
+
- `fieldErrorMessages(error)`
|
|
439
|
+
- `validDate(value)`
|
|
440
|
+
- `formatDate(value, options)`
|
|
441
|
+
- `formatTime(value, options)`
|
|
442
|
+
- `formatDateTime(value, options)`
|
|
443
|
+
- `formatNumber(value, options)`
|
|
444
|
+
- `formatRelativeTime(value, { now = Date.now(), ...options } = {})`
|
|
445
|
+
|
|
396
446
|
### `client/index.js`
|
|
397
447
|
Exports
|
|
398
448
|
- `getClientAppConfig`
|
|
399
449
|
- `resolveMobileConfig`
|
|
400
450
|
- `resolveClientAssetMode`
|
|
451
|
+
- `createTextError`
|
|
452
|
+
- `registerJskitMessages`
|
|
453
|
+
- `setJskitI18n`
|
|
454
|
+
- `useJskitText`
|
|
401
455
|
- `createAsyncModuleRecoveryState`
|
|
402
456
|
- `dismissAsyncModuleRecovery`
|
|
403
457
|
- `dynamicImportErrorMessage`
|
|
@@ -455,7 +509,7 @@ Exports
|
|
|
455
509
|
- `resolveClientBootstrapDebugEnabled({ env = {}, debugEnabled = undefined, debugEnvKey = "VITE_JSKIT_CLIENT_DEBUG" } = {})`
|
|
456
510
|
- `createClientBootstrapLogger({ env = {}, logger = console, debugEnabled = undefined, debugEnvKey = "VITE_JSKIT_CLIENT_DEBUG" } = {})`
|
|
457
511
|
- `createSurfaceShellRouter({ createRouter, history, routes = [], surfaceRuntime, surfaceMode, fallbackRoute = null, notFoundComponent = null, guard = false, scrollBehavior = shellScrollBehavior } = {})`
|
|
458
|
-
- `bootstrapClientShellApp({ createApp, rootComponent, appConfig = {}, appPlugins = [], pinia = null, queryClient = null, router, bootClientModules, surfaceRuntime, surfaceMode, env = {}, fallbackRoute = null, logger = console, createBootstrapLogger = null, debugEnabled = undefined, debugEnvKey = "VITE_JSKIT_CLIENT_DEBUG", debugMessage = "Client modules bootstrapped before router install.", onAfterModulesBootstrapped = null, onAfterRouterReady = null, mountSelector = "#app" } = {})`
|
|
512
|
+
- `bootstrapClientShellApp({ createApp, rootComponent, appConfig = {}, appPlugins = [], i18n = null, pinia = null, queryClient = null, router, bootClientModules, surfaceRuntime, surfaceMode, env = {}, fallbackRoute = null, logger = console, createBootstrapLogger = null, debugEnabled = undefined, debugEnvKey = "VITE_JSKIT_CLIENT_DEBUG", debugMessage = "Client modules bootstrapped before router install.", onAfterModulesBootstrapped = null, onAfterRouterReady = null, mountSelector = "#app" } = {})`
|
|
459
513
|
Local functions
|
|
460
514
|
- `installAppPlugins(app, appPlugins = [])`
|
|
461
515
|
- `isSurfaceRootRecord(record)`
|
|
@@ -488,7 +542,8 @@ Exports
|
|
|
488
542
|
- `bootInstalledClientModules(context = {})`
|
|
489
543
|
- `CLIENT_BOOTSTRAP_VIRTUAL_ID`
|
|
490
544
|
- `CLIENT_BOOTSTRAP_RESOLVED_ID`
|
|
491
|
-
- `createVirtualModuleSource(clientModules = [])`
|
|
545
|
+
- `createVirtualModuleSource(clientModules = [], localePackageIds = [])`
|
|
546
|
+
- `resolveLocalePackageIds(installedPackages = [])`
|
|
492
547
|
- `resolveClientOptimizeIncludeSpecifiers(clientModules = [], excludeSpecifiers = [])`
|
|
493
548
|
- `resolveClientOptimizeExcludeSpecifiers(clientModules = [])`
|
|
494
549
|
- `resolveCanonicalLocalPackageId(resolvedId, localPackage)`
|
|
@@ -590,6 +645,7 @@ Exports
|
|
|
590
645
|
- `normalizeActionInput(definition, input)`
|
|
591
646
|
- `normalizeActionOutput(definition, output)`
|
|
592
647
|
Local functions
|
|
648
|
+
- `schemaFieldErrorDetails(error)`
|
|
593
649
|
- `createActionValidationError({ status = 400, message = "Validation failed.", code = "ACTION_VALIDATION_FAILED", details, cause } = {})`
|
|
594
650
|
|
|
595
651
|
### `server/actions/registry.js`
|
|
@@ -645,8 +701,11 @@ Local functions
|
|
|
645
701
|
- `hasHeaderValue(headers = {}, key = "")`
|
|
646
702
|
- `hasRequestBody(headers = {})`
|
|
647
703
|
- `resolveValidationFieldErrors(error)`
|
|
704
|
+
- `fieldErrorPayloadFields({ fieldErrors, fieldErrorCodes } = {})`
|
|
705
|
+
- `messageCodeFields(error, expose = true)`
|
|
706
|
+
- `hiddenServerErrorFields(code = "")`
|
|
648
707
|
- `resolveRequestRouteTransport(request)`
|
|
649
|
-
- `applyRouteTransportErrorResponse(reply, request, error, { statusCode = 500, normalizedErrorCode = "", message = error?.message, exposeDetails = true } = {})`
|
|
708
|
+
- `applyRouteTransportErrorResponse(reply, request, error, { statusCode = 500, normalizedErrorCode = "", message = error?.message, exposeDetails = true, messageFields = {} } = {})`
|
|
650
709
|
- `resolveApiErrorStatus(error, code)`
|
|
651
710
|
- `applyErrorHeaders(reply, error)`
|
|
652
711
|
|
|
@@ -738,6 +797,14 @@ Local functions
|
|
|
738
797
|
- `isJsonValue(value, ancestors = new Set())`
|
|
739
798
|
- `schemaCacheKey(schema)`
|
|
740
799
|
|
|
800
|
+
### `server/i18n.js`
|
|
801
|
+
Exports
|
|
802
|
+
- `createServerI18n({ appRoot = "", catalogs = [] } = {})`
|
|
803
|
+
Local functions
|
|
804
|
+
- `loadAppTranslations(appRoot)`
|
|
805
|
+
- `appTranslations(appRoot)`
|
|
806
|
+
- `localeCandidates(locale = "")`
|
|
807
|
+
|
|
741
808
|
### `server/platform/index.js`
|
|
742
809
|
Exports
|
|
743
810
|
- `registerSurfaceRequestConstraint`
|
|
@@ -798,6 +865,8 @@ Exports
|
|
|
798
865
|
- `DomainValidationError`
|
|
799
866
|
- `ConflictError`
|
|
800
867
|
- `NotFoundError`
|
|
868
|
+
Local functions
|
|
869
|
+
- `normalizeErrorParams(params)`
|
|
801
870
|
|
|
802
871
|
### `server/runtime/EventProvider.js`
|
|
803
872
|
Exports
|
|
@@ -14,6 +14,11 @@ Use this on demand; do not load the full index at startup.
|
|
|
14
14
|
|
|
15
15
|
### src
|
|
16
16
|
|
|
17
|
+
### `src/client/i18n.js`
|
|
18
|
+
Exports
|
|
19
|
+
- `createTextError`
|
|
20
|
+
- `useJskitText`
|
|
21
|
+
|
|
17
22
|
### `src/client/index.js`
|
|
18
23
|
Exports
|
|
19
24
|
- `MobileCapacitorClientProvider`
|
|
@@ -35,7 +40,7 @@ Exports
|
|
|
35
40
|
- `isCapacitorApiRequestTarget(url = "")`
|
|
36
41
|
- `resolveCapacitorAbsoluteHttpUrl(url = "", apiBaseUrl = "", messages = {})`
|
|
37
42
|
Local functions
|
|
38
|
-
- `parseAbsoluteHttpUrl(url = "", { apiBaseUrl = "", emptyUrlMessage = "
|
|
43
|
+
- `parseAbsoluteHttpUrl(url = "", { apiBaseUrl = "", emptyUrlMessage = "jskit.mobile.apiRequest.urlRequired", missingApiBaseUrlMessage = "jskit.mobile.apiRequest.apiBaseUrlRequired", invalidApiBaseUrlMessage = "jskit.mobile.apiRequest.apiBaseUrlInvalid", invalidApiBaseUrlProtocolMessage = "jskit.mobile.apiRequest.apiBaseUrlProtocol", invalidUrlProtocolMessage = "jskit.mobile.apiRequest.urlProtocol" } = {})`
|
|
39
44
|
- `normalizeFetchInput(input = "")`
|
|
40
45
|
|
|
41
46
|
### `src/client/runtime/globalCapacitorAppAdapter.js`
|
|
@@ -58,7 +58,7 @@ Exports
|
|
|
58
58
|
- `createPaymentService({ store, configuration, clock = Date.now })`
|
|
59
59
|
- `PaymentError`
|
|
60
60
|
Local functions
|
|
61
|
-
- `fail(code, message, status)`
|
|
61
|
+
- `fail(code, message, status, options)`
|
|
62
62
|
- `reference(value)`
|
|
63
63
|
- `units(value)`
|
|
64
64
|
- `timestamp(value)`
|
|
@@ -78,7 +78,7 @@ Local functions
|
|
|
78
78
|
Exports
|
|
79
79
|
- `validatePaymentConfiguration(document)`
|
|
80
80
|
Local functions
|
|
81
|
-
- `configurationError(message, fieldErrors)`
|
|
81
|
+
- `configurationError(message, fieldErrors, { messageCode, messageParams = {} })`
|
|
82
82
|
|
|
83
83
|
### migrations
|
|
84
84
|
|
|
@@ -18,12 +18,20 @@ Use this on demand; do not load the full index at startup.
|
|
|
18
18
|
Exports
|
|
19
19
|
- None
|
|
20
20
|
Local functions
|
|
21
|
+
- `historyTitle(item)`
|
|
22
|
+
- `historyTotal(item)`
|
|
23
|
+
- `statusLabel(status)`
|
|
24
|
+
- `locale()`
|
|
21
25
|
- `number(value)`
|
|
22
26
|
- `date(value)`
|
|
23
27
|
- `planName(id)`
|
|
24
28
|
- `checkout(plan)`
|
|
25
29
|
- `loadHistory(collection, after = null)`
|
|
26
30
|
|
|
31
|
+
### `src/client/i18n.js`
|
|
32
|
+
Exports
|
|
33
|
+
- `useJskitText`
|
|
34
|
+
|
|
27
35
|
### fixtures
|
|
28
36
|
|
|
29
37
|
### `fixtures/payment-account/main.js`
|