@jskit-ai/agent-docs 0.1.256 → 0.1.258
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 +88 -35
- package/guide/agent/app-extras/assistant.md +28 -28
- package/guide/agent/app-setup/authentication.md +36 -17
- package/guide/agent/app-setup/database-layer.md +116 -17
- package/guide/agent/app-setup/existing-application-migration.md +29 -25
- package/guide/agent/app-setup/multi-homing.md +94 -48
- package/guide/agent/app-setup/run-an-accounts-hub.md +6 -4
- package/guide/agent/framework/client-features.md +496 -0
- package/guide/agent/framework/crud-operations.md +5 -5
- package/guide/agent/framework/translation.md +4 -3
- package/guide/agent/framework/typed-features.md +1104 -0
- package/guide/agent/framework/ui-operations.md +2 -2
- package/guide/agent/index.md +6 -1
- package/package.json +1 -1
- package/patterns/feature-package/PATTERN.md +104 -10
- package/patterns/feature-package/example/booking-engine/package.json +9 -4
- package/patterns/feature-package/example/booking-engine/src/server/BookingEngineFeature.js +24 -0
- package/patterns/feature-package/example/booking-engine/src/server/bookingAvailability.js +10 -0
- package/patterns/feature-package/example/booking-engine/src/server/bookingEngine.js +29 -0
- package/patterns/feature-package/example/booking-engine/src/server/bookingEngineActions.js +26 -0
- package/patterns/feature-package/example/booking-engine/src/server/inputSchemas.js +1 -2
- package/patterns/feature-package/example/booking-engine/src/server/types.js +12 -0
- package/patterns/feature-package/example/variations/AvailabilityEngineFeature.js +19 -0
- package/patterns/feature-package/example/variations/InvoiceRollupFeature.js +23 -0
- package/patterns/feature-package/example/variations/availabilityEngineActions.js +26 -0
- package/patterns/feature-package/example/variations/customKnexRepository.js +32 -26
- package/patterns/feature-package/example/variations/invoiceRollupActions.js +26 -0
- package/patterns/feature-package/example/variations/orchestratorService.js +24 -19
- package/patterns/feature-package/example/variations/types.js +7 -0
- package/patterns/minimal-foundation/PATTERN.md +30 -1
- package/patterns/minimal-foundation/example/AGENTS.md +14 -0
- package/patterns/minimal-foundation/example/bin/develop.js +10 -5
- package/patterns/minimal-foundation/example/eslint.config.mjs +21 -2
- package/patterns/minimal-foundation/example/package.json +5 -4
- package/patterns/minimal-foundation/example/playwright.config.mjs +1 -1
- package/patterns/minimal-foundation/example/server/lib/envFile.js +19 -0
- package/patterns/minimal-foundation/example/server/lib/loggerOptions.js +15 -0
- package/patterns/minimal-foundation/example/server/lib/runtimeEnv.js +17 -17
- package/patterns/minimal-foundation/example/server.js +32 -29
- package/patterns/minimal-foundation/example/tests/server/smoke.test.js +2 -1
- package/patterns/shell-foundation/PATTERN.md +29 -0
- package/patterns/shell-foundation/example/AGENTS.md +14 -0
- package/patterns/shell-foundation/example/bin/develop.js +10 -5
- package/patterns/shell-foundation/example/eslint.config.mjs +21 -2
- package/patterns/shell-foundation/example/package.json +6 -5
- package/patterns/shell-foundation/example/packages/main/package.json +1 -1
- package/patterns/shell-foundation/example/packages/main/src/client/providers/MainClientProvider.js +1 -0
- package/patterns/shell-foundation/example/playwright.config.mjs +1 -1
- package/patterns/shell-foundation/example/server/lib/envFile.js +19 -0
- package/patterns/shell-foundation/example/server/lib/loggerOptions.js +15 -0
- package/patterns/shell-foundation/example/server/lib/runtimeEnv.js +17 -17
- package/patterns/shell-foundation/example/server.js +32 -29
- package/patterns/shell-foundation/example/tests/server/smoke.test.js +2 -1
- package/reference/autogen/KERNEL_MAP.md +14 -8
- package/reference/autogen/PATTERN_INDEX.md +37 -37
- package/reference/autogen/README.md +2 -0
- package/reference/autogen/packages/agent-docs.md +70 -26
- package/reference/autogen/packages/agent-runtime.md +129 -0
- package/reference/autogen/packages/agent.md +149 -0
- package/reference/autogen/packages/architecture-inspector.md +97 -44
- package/reference/autogen/packages/assistant-core.md +786 -292
- package/reference/autogen/packages/assistant-runtime.md +182 -57
- package/reference/autogen/packages/assistant-voice-sherpa.md +4 -0
- package/reference/autogen/packages/assistant-voice.md +54 -8
- package/reference/autogen/packages/auth-core.md +44 -13
- package/reference/autogen/packages/auth-provider-local-core.md +86 -34
- package/reference/autogen/packages/auth-provider-local-db-core.md +1 -2
- package/reference/autogen/packages/auth-provider-oidc-core.md +10 -4
- package/reference/autogen/packages/auth-provider-supabase-core.md +52 -66
- package/reference/autogen/packages/auth-web.md +19 -11
- package/reference/autogen/packages/connectors-catalog.md +71 -43
- package/reference/autogen/packages/connectors-core.md +42 -4
- package/reference/autogen/packages/console-core.md +27 -14
- package/reference/autogen/packages/crud-core.md +178 -170
- package/reference/autogen/packages/database-runtime-mysql.md +0 -2
- package/reference/autogen/packages/database-runtime-postgres.md +0 -2
- package/reference/autogen/packages/database-runtime.md +39 -10
- package/reference/autogen/packages/http-runtime.md +79 -57
- package/reference/autogen/packages/json-rest-api-core.md +11 -8
- package/reference/autogen/packages/kernel.md +144 -83
- package/reference/autogen/packages/oidc-issuer-core.md +49 -20
- package/reference/autogen/packages/payments-core.md +20 -3
- package/reference/autogen/packages/realtime.md +47 -22
- package/reference/autogen/packages/resource-core.md +1 -1
- package/reference/autogen/packages/resource-crud-core.md +64 -26
- package/reference/autogen/packages/rewarded-core.md +47 -36
- package/reference/autogen/packages/shell-web.md +7 -10
- package/reference/autogen/packages/storage-runtime.md +6 -2
- package/reference/autogen/packages/uploads-runtime.md +10 -2
- package/reference/autogen/packages/users-core.md +73 -71
- package/reference/autogen/packages/workspaces-core.md +121 -106
- package/reference/autogen/packages/workspaces-web.md +1 -2
- package/reference/autogen/tooling/config-eslint.md +302 -0
- package/reference/autogen/tooling/jskit-catalog.md +28 -18
- package/reference/autogen/tooling/jskit-release.md +35 -20
- package/reference/autogen/tooling/testUtils.md +3 -1
- package/skills/jskit/SKILL.md +3 -2
- package/skills/jskit/references/app-operations.md +1 -1
- package/skills/jskit/references/client-features.md +491 -0
- package/skills/jskit/references/crud-form-actions.md +1 -1
- package/skills/jskit/references/crud-operations.md +7 -7
- package/skills/jskit/references/existing-application-migration.md +31 -27
- package/skills/jskit/references/heuristics/INDEX.md +5 -1
- package/skills/jskit/references/heuristics/child-cruds.md +1 -1
- package/skills/jskit/references/heuristics/client-features.md +66 -0
- package/skills/jskit/references/heuristics/client-requests.md +1 -1
- package/skills/jskit/references/heuristics/crud-authoring.md +12 -2
- package/skills/jskit/references/heuristics/crud-links.md +1 -1
- package/skills/jskit/references/heuristics/crud-repository-mapping.md +3 -3
- package/skills/jskit/references/heuristics/filters.md +1 -1
- package/skills/jskit/references/heuristics/live-actions.md +1 -1
- package/skills/jskit/references/heuristics/page-redirects.md +1 -1
- package/skills/jskit/references/heuristics/page-scaffolding.md +1 -1
- package/skills/jskit/references/heuristics/placements.md +1 -1
- package/skills/jskit/references/heuristics/row-policies.md +1 -1
- package/skills/jskit/references/heuristics/server-search.md +1 -1
- package/skills/jskit/references/heuristics/surfaces.md +1 -1
- package/skills/jskit/references/heuristics/typed-features.md +100 -0
- package/skills/jskit/references/heuristics/ui-contract.md +1 -1
- package/skills/jskit/references/heuristics/ui-testing.md +4 -4
- package/skills/jskit/references/material-3.md +2 -2
- package/skills/jskit/references/multi-homing.md +96 -50
- package/skills/jskit/references/pattern-index.md +37 -37
- package/skills/jskit/references/patterns/app/minimal-foundation/PATTERN.md +30 -1
- package/skills/jskit/references/patterns/app/minimal-foundation/example/AGENTS.md +14 -0
- package/skills/jskit/references/patterns/app/minimal-foundation/example/bin/develop.js +10 -5
- package/skills/jskit/references/patterns/app/minimal-foundation/example/eslint.config.mjs +21 -2
- package/skills/jskit/references/patterns/app/minimal-foundation/example/package.json +5 -4
- package/skills/jskit/references/patterns/app/minimal-foundation/example/playwright.config.mjs +1 -1
- package/skills/jskit/references/patterns/app/minimal-foundation/example/server/lib/envFile.js +19 -0
- package/skills/jskit/references/patterns/app/minimal-foundation/example/server/lib/loggerOptions.js +15 -0
- package/skills/jskit/references/patterns/app/minimal-foundation/example/server/lib/runtimeEnv.js +17 -17
- package/skills/jskit/references/patterns/app/minimal-foundation/example/server.js +32 -29
- package/skills/jskit/references/patterns/app/minimal-foundation/example/tests/server/smoke.test.js +2 -1
- package/skills/jskit/references/patterns/app/shell-foundation/PATTERN.md +29 -0
- package/skills/jskit/references/patterns/app/shell-foundation/example/AGENTS.md +14 -0
- package/skills/jskit/references/patterns/app/shell-foundation/example/bin/develop.js +10 -5
- package/skills/jskit/references/patterns/app/shell-foundation/example/eslint.config.mjs +21 -2
- package/skills/jskit/references/patterns/app/shell-foundation/example/package.json +6 -5
- package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/package.json +1 -1
- package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/src/client/providers/MainClientProvider.js +1 -0
- package/skills/jskit/references/patterns/app/shell-foundation/example/playwright.config.mjs +1 -1
- package/skills/jskit/references/patterns/app/shell-foundation/example/server/lib/envFile.js +19 -0
- package/skills/jskit/references/patterns/app/shell-foundation/example/server/lib/loggerOptions.js +15 -0
- package/skills/jskit/references/patterns/app/shell-foundation/example/server/lib/runtimeEnv.js +17 -17
- package/skills/jskit/references/patterns/app/shell-foundation/example/server.js +32 -29
- package/skills/jskit/references/patterns/app/shell-foundation/example/tests/server/smoke.test.js +2 -1
- package/skills/jskit/references/patterns/assistant/assistant-surface/example/src/ApplicationAiFeature.js +4 -2
- package/skills/jskit/references/patterns/auth/accounts-hub/PATTERN.md +2 -1
- package/skills/jskit/references/patterns/auth/accounts-hub/example/package.json +2 -2
- package/skills/jskit/references/patterns/auth/accounts-hub/example/server/hubPaths.js +9 -3
- package/skills/jskit/references/patterns/auth/auth-surface/PATTERN.md +25 -12
- package/skills/jskit/references/patterns/auth/auth-surface/example/tools/preview-identity +7 -1
- 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/ai-connections/PATTERN.md +16 -1
- package/skills/jskit/references/patterns/connectors/ai-connections/example/ai-model.js +12 -3
- package/skills/jskit/references/patterns/connectors/ai-connections/example/perplexity-answer.js +15 -4
- package/skills/jskit/references/patterns/connectors/api-key-connection/PATTERN.md +9 -1
- package/skills/jskit/references/patterns/connectors/api-key-connection/example/connections.js +5 -2
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/PATTERN.md +13 -3
- package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/s3-transfer.js +14 -3
- package/skills/jskit/references/patterns/connectors/calendar-cli/PATTERN.md +8 -0
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/knexfile.js +1 -1
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/package.json +4 -4
- package/skills/jskit/references/patterns/connectors/calendar-cli/example/scripts/calendar.js +8 -4
- package/skills/jskit/references/patterns/connectors/event-delivery/PATTERN.md +1 -1
- package/skills/jskit/references/patterns/connectors/firebase-messaging/PATTERN.md +10 -0
- package/skills/jskit/references/patterns/connectors/firebase-messaging/example/server/notifications.js +8 -0
- package/skills/jskit/references/patterns/connectors/google-ads-search/PATTERN.md +18 -7
- package/skills/jskit/references/patterns/connectors/google-ads-search/example/ads-setup.js +13 -5
- package/skills/jskit/references/patterns/connectors/oauth-connection/PATTERN.md +1 -1
- package/skills/jskit/references/patterns/connectors/paddle-catalogue/PATTERN.md +11 -2
- package/skills/jskit/references/patterns/connectors/paddle-catalogue/example/create-products.js +5 -2
- package/skills/jskit/references/patterns/connectors/public-image/PATTERN.md +10 -1
- package/skills/jskit/references/patterns/connectors/public-image/example/logo-url.js +4 -1
- package/skills/jskit/references/patterns/connectors/redshift-queries/PATTERN.md +1 -1
- package/skills/jskit/references/patterns/connectors/source-scanning/PATTERN.md +13 -2
- package/skills/jskit/references/patterns/connectors/source-scanning/example/source-scanner.js +9 -0
- package/skills/jskit/references/patterns/crud/json-api-resource-package/PATTERN.md +102 -23
- package/skills/jskit/references/patterns/crud/json-api-resource-package/example/packages/books/package.json +3 -2
- package/skills/jskit/references/patterns/crud/json-api-resource-package/example/packages/books/src/server/types.js +5 -0
- package/skills/jskit/references/patterns/crud/resource-contract/PATTERN.md +54 -1
- package/skills/jskit/references/patterns/database/mysql-application/PATTERN.md +16 -5
- package/skills/jskit/references/patterns/database/mysql-application/example/knexfile.js +2 -2
- package/skills/jskit/references/patterns/database/mysql-application/example/package.json +1 -1
- package/skills/jskit/references/patterns/database/mysql-application/example/scripts/prepare-database.js +1 -1
- package/skills/jskit/references/patterns/database/postgres-application/PATTERN.md +16 -5
- package/skills/jskit/references/patterns/database/postgres-application/example/knexfile.js +2 -2
- package/skills/jskit/references/patterns/database/postgres-application/example/package.json +1 -1
- package/skills/jskit/references/patterns/database/postgres-application/example/scripts/prepare-database.js +1 -1
- package/skills/jskit/references/patterns/realtime/realtime-application/example/package.json +2 -2
- package/skills/jskit/references/patterns/rewards/google-rewarded/example/GoogleRewardedDeliveryProvider.js +1 -1
- package/skills/jskit/references/patterns/rewards/google-rewarded/example/googlePublisherTag.js +5 -11
- package/skills/jskit/references/patterns/server/feature-package/PATTERN.md +104 -10
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/package.json +9 -4
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/BookingEngineFeature.js +24 -0
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/bookingAvailability.js +10 -0
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/bookingEngine.js +29 -0
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/bookingEngineActions.js +26 -0
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/inputSchemas.js +1 -2
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/types.js +12 -0
- package/skills/jskit/references/patterns/server/feature-package/example/variations/AvailabilityEngineFeature.js +19 -0
- package/skills/jskit/references/patterns/server/feature-package/example/variations/InvoiceRollupFeature.js +23 -0
- package/skills/jskit/references/patterns/server/feature-package/example/variations/availabilityEngineActions.js +26 -0
- package/skills/jskit/references/patterns/server/feature-package/example/variations/customKnexRepository.js +32 -26
- package/skills/jskit/references/patterns/server/feature-package/example/variations/invoiceRollupActions.js +26 -0
- package/skills/jskit/references/patterns/server/feature-package/example/variations/orchestratorService.js +24 -19
- package/skills/jskit/references/patterns/server/feature-package/example/variations/types.js +7 -0
- package/skills/jskit/references/patterns/users/user-administration-server/PATTERN.md +16 -1
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users/package.json +3 -2
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users/src/server/types.js +5 -0
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/package.json +4 -3
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/src/server/UsersWorkspaceFeature.js +2 -9
- package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/src/server/types.js +5 -0
- package/skills/jskit/references/patterns/workspaces/workspace-server/PATTERN.md +42 -17
- package/skills/jskit/references/patterns/workspaces/workspace-server/example/packages/main/src/server/WorkspaceInvitationsFeature.js +27 -0
- package/skills/jskit/references/patterns/workspaces/workspace-server/example/packages/main/src/server/email/workspaceInviteEmail.js +11 -10
- package/skills/jskit/references/patterns/workspaces/workspace-server/example/packages/main/src/server/email/workspaceInviteMailer.js +27 -0
- package/skills/jskit/references/translation.md +5 -4
- package/skills/jskit/references/typed-features.md +1099 -0
- package/skills/jskit/references/ui-operations.md +3 -3
- package/patterns/feature-package/example/booking-engine/src/server/BookingEngineProvider.js +0 -33
- package/patterns/feature-package/example/booking-engine/src/server/actions.js +0 -24
- package/patterns/feature-package/example/variations/AvailabilityEngineProvider.js +0 -31
- package/patterns/feature-package/example/variations/InvoiceRollupProvider.js +0 -36
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/BookingEngineProvider.js +0 -33
- package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/actions.js +0 -24
- package/skills/jskit/references/patterns/server/feature-package/example/variations/AvailabilityEngineProvider.js +0 -31
- package/skills/jskit/references/patterns/server/feature-package/example/variations/InvoiceRollupProvider.js +0 -36
|
@@ -20,9 +20,9 @@ Exports
|
|
|
20
20
|
- `createTransientRetryHttpClient`
|
|
21
21
|
- `normalizeFieldErrors`
|
|
22
22
|
- `resolveFieldErrors`
|
|
23
|
-
- `
|
|
24
|
-
- `
|
|
25
|
-
- `
|
|
23
|
+
- `buildValidationFailure`
|
|
24
|
+
- `buildHttpError`
|
|
25
|
+
- `buildNetworkError`
|
|
26
26
|
- `isGenericHttpErrorMessage`
|
|
27
27
|
- `DEFAULT_RETRYABLE_CSRF_ERROR_CODES`
|
|
28
28
|
- `shouldRetryForCsrfFailure`
|
|
@@ -42,28 +42,33 @@ Local functions
|
|
|
42
42
|
Exports
|
|
43
43
|
- `normalizeFieldErrors`
|
|
44
44
|
- `resolveFieldErrors`
|
|
45
|
-
- `
|
|
45
|
+
- `buildValidationFailure({ error = "Validation failed.", code = "validation_failed", fieldErrors = {}, fieldErrorCodes = null } = {})`
|
|
46
46
|
|
|
47
47
|
### `src/shared/clientRuntime/client.js`
|
|
48
48
|
Exports
|
|
49
|
-
- `createHttpClient(
|
|
49
|
+
- `createHttpClient({ fetchImpl = fetchWithGlobalFetch, resolveRequestUrl: resolveConfiguredRequestUrl = keepRequestUrl, hooks = {}, unsafeMethods: configuredUnsafeMethods = DEFAULT_UNSAFE_METHODS, csrf: { enabled: csrfEnabledByDefault = true, sessionPath: csrfSessionPath = "/api/session", headerName: csrfHeaderName = "csrf-token", tokenField: csrfTokenField = "csrfToken", retryableErrorCodes: csrfRetryableErrorCodes } = {}, credentials = "same-origin", readTimeoutMs = DEFAULT_READ_TIMEOUT_MS } = {})`
|
|
50
|
+
- `type HttpClientHooks`
|
|
50
51
|
Local functions
|
|
51
52
|
- `requestSignalWithDeadline(signal, timeoutMs)`
|
|
52
53
|
- `normalizeMethod(method)`
|
|
53
|
-
- `resolveUnsafeMethods(
|
|
54
|
-
- `
|
|
54
|
+
- `resolveUnsafeMethods(methods)`
|
|
55
|
+
- `fetchWithGlobalFetch(url, config)`
|
|
56
|
+
- `keepRequestUrl(url)`
|
|
57
|
+
- `keepHeaders()`
|
|
58
|
+
- `ignoreRequestOutcome()`
|
|
59
|
+
- `useCsrfRetryRule()`
|
|
60
|
+
- `useContentTypeForStream()`
|
|
61
|
+
- `ignoreStreamEvent()`
|
|
62
|
+
- `ignoreMalformedLine()`
|
|
55
63
|
- `normalizeResolvedRequestUrl(value, fallback = "")`
|
|
56
64
|
- `isObjectBody(value)`
|
|
57
65
|
- `isQueryValuePresent(value)`
|
|
58
66
|
- `appendRequestQueryToUrl(url, query = null, transport = null)`
|
|
59
|
-
- `parseJsonSafely(response, signal)`
|
|
60
|
-
- `emitNdjsonLine(line, handlers)`
|
|
61
|
-
- `readNdjsonStream(response, handlers = {})`
|
|
62
67
|
|
|
63
68
|
### `src/shared/clientRuntime/errors.js`
|
|
64
69
|
Exports
|
|
65
|
-
- `
|
|
66
|
-
- `
|
|
70
|
+
- `buildHttpError(response, data = {})`
|
|
71
|
+
- `buildNetworkError(cause)`
|
|
67
72
|
- `isGenericHttpErrorMessage(error)`
|
|
68
73
|
Local functions
|
|
69
74
|
- `standardErrorMessage(payload = {})`
|
|
@@ -81,27 +86,36 @@ Exports
|
|
|
81
86
|
- `JSON_API_CONTENT_TYPE`
|
|
82
87
|
- `isJsonApiResourceTransport(transport = null)`
|
|
83
88
|
- `normalizeJsonApiClientTransport(transport = null)`
|
|
84
|
-
- `encodeJsonApiResourceRequestBody(body,
|
|
85
|
-
- `encodeJsonApiResourceQuery(query,
|
|
89
|
+
- `encodeJsonApiResourceRequestBody(body, normalizedTransport)`
|
|
90
|
+
- `encodeJsonApiResourceQuery(query, normalizedTransport)`
|
|
86
91
|
- `decodeJsonApiResourceResponse(payload, transport = null)`
|
|
87
|
-
- `
|
|
88
|
-
- `
|
|
92
|
+
- `decodeJsonApiResourceDocument(payload, normalizedTransport)`
|
|
93
|
+
- `buildJsonApiClientErrorPayload(payload = {})`
|
|
94
|
+
- `type JsonApiClientTransport`
|
|
89
95
|
Local functions
|
|
90
96
|
- `normalizeTransportKind(transport = null)`
|
|
91
97
|
- `defaultEncodeAttributes(body = {})`
|
|
92
|
-
- `createIncludedResourceIndex(document
|
|
93
|
-
- `simplifyRelationshipResource(linkage
|
|
94
|
-
- `simplifyResourceObject(resource
|
|
95
|
-
- `assertPrimaryDataType(resource
|
|
98
|
+
- `createIncludedResourceIndex(document)`
|
|
99
|
+
- `simplifyRelationshipResource(linkage, options)`
|
|
100
|
+
- `simplifyResourceObject(resource, options)`
|
|
101
|
+
- `assertPrimaryDataType(resource, expectedType = "")`
|
|
96
102
|
- `resolveCollectionPageMeta(document = {})`
|
|
97
103
|
- `decodeJsonApiErrorFields(payload = {})`
|
|
98
104
|
|
|
105
|
+
### `src/shared/clientRuntime/responseBody.js`
|
|
106
|
+
Exports
|
|
107
|
+
- `emitNdjsonLine(line, handlers)`
|
|
108
|
+
- `parseJsonSafely(response, signal)`
|
|
109
|
+
- `readNdjsonStream(response, handlers)`
|
|
110
|
+
- `readNdjsonText(response, handlers)`
|
|
111
|
+
- `type NdjsonHandlers`
|
|
112
|
+
|
|
99
113
|
### `src/shared/clientRuntime/retry.js`
|
|
100
114
|
Exports
|
|
101
115
|
- `DEFAULT_RETRYABLE_CSRF_ERROR_CODES`
|
|
102
116
|
- `shouldRetryForCsrfFailure({ response, method, state, data, unsafeMethods, retryableErrorCodes = DEFAULT_RETRYABLE_CSRF_ERROR_CODES })`
|
|
103
117
|
Local functions
|
|
104
|
-
- `toUpperStringSet(values
|
|
118
|
+
- `toUpperStringSet(values)`
|
|
105
119
|
|
|
106
120
|
### `src/shared/index.js`
|
|
107
121
|
Exports
|
|
@@ -114,7 +128,7 @@ Exports
|
|
|
114
128
|
- `apiValidationErrorTransportSchema`
|
|
115
129
|
- `fastifyDefaultErrorTransportSchema`
|
|
116
130
|
- `STANDARD_ERROR_STATUS_CODES`
|
|
117
|
-
- `
|
|
131
|
+
- `buildTransportResponseSchema`
|
|
118
132
|
- `withStandardErrorResponses`
|
|
119
133
|
- `validateOperationSection`
|
|
120
134
|
- `JSON_API_CONTENT_TYPE`
|
|
@@ -127,6 +141,7 @@ Exports
|
|
|
127
141
|
- `isJsonApiErrorDocument`
|
|
128
142
|
- `isJsonApiResourceDocument`
|
|
129
143
|
- `isJsonContentType`
|
|
144
|
+
- `jsonApiNextCursor`
|
|
130
145
|
- `normalizeJsonApiDocument`
|
|
131
146
|
- `normalizeJsonApiResourceObject`
|
|
132
147
|
- `resolveJsonApiTransportTypes`
|
|
@@ -138,7 +153,9 @@ Exports
|
|
|
138
153
|
- `isJsonApiDataResult`
|
|
139
154
|
- `isJsonApiDocumentResult`
|
|
140
155
|
- `isJsonApiMetaResult`
|
|
141
|
-
- `
|
|
156
|
+
- `jsonApiResultValue`
|
|
157
|
+
- `simplifyJsonApiResult`
|
|
158
|
+
- `jsonApiResultOrNull`
|
|
142
159
|
- `JSON_API_QUERY_PAGE_CURSOR_KEY`
|
|
143
160
|
- `JSON_API_QUERY_PAGE_LIMIT_KEY`
|
|
144
161
|
- `JSON_API_QUERY_INCLUDE_KEY`
|
|
@@ -147,19 +164,18 @@ Exports
|
|
|
147
164
|
- `mapTransportQueryKeyToPlainKey`
|
|
148
165
|
- `encodeJsonApiResourceQueryObject`
|
|
149
166
|
- `decodeJsonApiResourceQueryObject`
|
|
150
|
-
- `
|
|
167
|
+
- `buildJsonApiResourceQueryTransportSchema`
|
|
151
168
|
- `decodeJsonApiResourceResponse`
|
|
152
169
|
- `JSON_API_ERROR_DOCUMENT_SCHEMA`
|
|
153
|
-
- `
|
|
154
|
-
- `
|
|
155
|
-
- `
|
|
170
|
+
- `buildJsonApiResourceObjectTransportSchema`
|
|
171
|
+
- `buildJsonApiResourceRequestBodyTransportSchema`
|
|
172
|
+
- `buildJsonApiResourceSuccessTransportSchema`
|
|
156
173
|
- `withJsonApiErrorResponses`
|
|
157
174
|
- `createJsonApiResourceRouteTransport`
|
|
158
175
|
- `createJsonApiResourceRouteContract`
|
|
159
176
|
|
|
160
177
|
### `src/shared/support/fieldErrors.js`
|
|
161
178
|
Exports
|
|
162
|
-
- `isRecord`
|
|
163
179
|
- `normalizeFieldErrors(value)`
|
|
164
180
|
- `resolveFieldErrors(value = null)`
|
|
165
181
|
|
|
@@ -179,7 +195,7 @@ Exports
|
|
|
179
195
|
- `apiValidationErrorTransportSchema`
|
|
180
196
|
- `fastifyDefaultErrorTransportSchema`
|
|
181
197
|
- `STANDARD_ERROR_STATUS_CODES`
|
|
182
|
-
- `
|
|
198
|
+
- `buildTransportResponseSchema(schema = {})`
|
|
183
199
|
- `withStandardErrorResponses(successResponses, { includeValidation400 = false } = {})`
|
|
184
200
|
|
|
185
201
|
### `src/shared/validators/jsonApiQueryTransport.js`
|
|
@@ -192,15 +208,31 @@ Exports
|
|
|
192
208
|
- `mapTransportQueryKeyToPlainKey(key = "", { responseType = "" } = {})`
|
|
193
209
|
- `encodeJsonApiResourceQueryObject(query = {}, { responseType = "" } = {})`
|
|
194
210
|
- `decodeJsonApiResourceQueryObject(query = {}, { responseType = "" } = {})`
|
|
195
|
-
- `
|
|
211
|
+
- `buildJsonApiResourceQueryTransportSchema({ query, responseType = "" } = {})`
|
|
196
212
|
Local functions
|
|
197
|
-
- `normalizeQueryKey(key = "")`
|
|
198
213
|
- `buildFieldsTransportKey(responseType = "")`
|
|
199
214
|
- `parseFieldsTransportType(key = "")`
|
|
200
215
|
- `addJsonApiFieldset(fieldsets, type = "", value = [])`
|
|
201
|
-
- `
|
|
216
|
+
- `buildJsonApiFieldsTransportValueSchema()`
|
|
202
217
|
- `normalizeTransportQueryScalar(value)`
|
|
203
218
|
|
|
219
|
+
### `src/shared/validators/jsonApiResourceSchemas.js`
|
|
220
|
+
Exports
|
|
221
|
+
- `JSON_API_ERROR_DOCUMENT_SCHEMA`
|
|
222
|
+
- `resolveRouteTypes(value = {})`
|
|
223
|
+
- `buildJsonApiResourceObjectTransportSchema({ type = "", attributes, requireId = true, includeLinks = false, includeMeta = false, // readable-check: allow dependency-default - data: a list of attribute keys, not a collaborator excludeAttributeKeys = [], // readable-check: allow dependency-default - data: a list of relationship entries, not a collaborator relationshipEntries = [], relationshipMembersRequired = false, allowSparseFields = false })`
|
|
224
|
+
- `buildJsonApiResourceRequestBodyTransportSchema({ type = "", attributes, requireId = false, // readable-check: allow dependency-default - data: a list of attribute keys, not a collaborator excludeAttributeKeys = [], // readable-check: allow dependency-default - data: a list of relationship entries, not a collaborator relationshipEntries = [] })`
|
|
225
|
+
- `buildJsonApiResourceSuccessTransportSchema({ type = "", attributes, kind = "record", includeLinks = false, includeMeta = false, includeIncluded = false, allowSparseFields = false, // readable-check: allow dependency-default - data: a list of attribute keys, not a collaborator excludeAttributeKeys = [], // readable-check: allow dependency-default - data: a list of relationship entries, not a collaborator relationshipEntries = [] })`
|
|
226
|
+
- `withJsonApiErrorResponses(successResponses, { includeValidation400 = false } = {})`
|
|
227
|
+
Local functions
|
|
228
|
+
- `resolveRouteType(type = "")`
|
|
229
|
+
- `resolveEmbeddedAttributesTransportSchema(definition, { context = "JSON:API resource", defaultMode = "replace", removeId = false, removeKeys = [], allowSparseFields = false } = {})`
|
|
230
|
+
- `normalizeRelationshipSchemaEntries(entries = [])`
|
|
231
|
+
- `buildJsonApiRelationshipDataSchema(relationshipType = "", { many = false, nullable = false } = {})`
|
|
232
|
+
- `buildJsonApiRelationshipsTransportSchema(entries = [], { includeRequired = false } = {})`
|
|
233
|
+
- `buildResourceObjectTransportSchema({ normalizedType, attributes, requireId, includeLinks, includeMeta, excludeAttributeKeys, relationshipEntries, relationshipMembersRequired, allowSparseFields })`
|
|
234
|
+
- `buildJsonApiMetaSuccessTransportSchema({ meta } = {})`
|
|
235
|
+
|
|
204
236
|
### `src/shared/validators/jsonApiResult.js`
|
|
205
237
|
Exports
|
|
206
238
|
- `JSON_API_RESULT_MARKER`
|
|
@@ -211,7 +243,9 @@ Exports
|
|
|
211
243
|
- `isJsonApiDataResult(value)`
|
|
212
244
|
- `isJsonApiDocumentResult(value)`
|
|
213
245
|
- `isJsonApiMetaResult(value)`
|
|
214
|
-
- `
|
|
246
|
+
- `jsonApiResultValue(value)`
|
|
247
|
+
- `simplifyJsonApiResult(result)`
|
|
248
|
+
- `jsonApiResultOrNull(value)`
|
|
215
249
|
Local functions
|
|
216
250
|
- `normalizeJsonApiResultKind(kind = "")`
|
|
217
251
|
- `createJsonApiResult(kind, value)`
|
|
@@ -219,28 +253,19 @@ Local functions
|
|
|
219
253
|
|
|
220
254
|
### `src/shared/validators/jsonApiRouteTransport.js`
|
|
221
255
|
Exports
|
|
222
|
-
- `
|
|
223
|
-
- `
|
|
224
|
-
- `
|
|
225
|
-
- `createJsonApiResourceSuccessTransportSchema({ type = "", attributes, kind = "record", includeLinks = false, includeMeta = false, includeIncluded = false, allowSparseFields = false, excludeAttributeKeys = [], relationshipEntries = [] } = {})`
|
|
226
|
-
- `withJsonApiErrorResponses(successResponses, { includeValidation400 = false } = {})`
|
|
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 } = {})`
|
|
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 } = {})`
|
|
256
|
+
- `createJsonApiResourceRouteTransport({ type = "", requestType = "", responseType = "", query, allowBodyId = false, successKind = "record", pointerPrefix = "/data/attributes", mapRequestRelationships, getRecordType, getRecordId, getRecordAttributes, getRecordRelationships, getRecordLinks, getRecordMeta, getIncluded, getDocumentLinks, getDocumentMeta, getCollectionItems })`
|
|
257
|
+
- `createJsonApiResourceRouteContract({ type = "", requestType = "", responseType = "", body, query, output, outputKind = "record", successStatus = 200, includeValidation400 = false, allowSparseFields = false, allowBodyId = false, pointerPrefix = "/data/attributes", // readable-check: allow dependency-default - data: a list of attribute keys, not a collaborator bodyAttributeExcludeKeys = [], // readable-check: allow dependency-default - data: a list of attribute keys, not a collaborator outputAttributeExcludeKeys = [], // readable-check: allow dependency-default - data: a list of relationship entries, not a collaborator bodyRelationshipEntries = [], // readable-check: allow dependency-default - data: a list of relationship entries, not a collaborator outputRelationshipEntries = [], getRecordType, getRecordId, getRecordAttributes, getRecordRelationships, getRecordLinks, getRecordMeta, getIncluded, getDocumentLinks, getDocumentMeta, getCollectionItems, mapRequestRelationships })`
|
|
258
|
+
- `type JsonApiRouteHook`
|
|
229
259
|
Local functions
|
|
230
|
-
- `
|
|
231
|
-
- `resolveRouteType(type = "")`
|
|
232
|
-
- `resolveRouteTypes(value = {})`
|
|
233
|
-
- `resolveEmbeddedAttributesTransportSchema(definition, { context = "JSON:API resource", defaultMode = "replace", removeId = false, removeKeys = [], allowSparseFields = false } = {})`
|
|
234
|
-
- `normalizeRelationshipSchemaEntries(entries = [])`
|
|
235
|
-
- `createJsonApiRelationshipDataSchema(relationshipType = "", { many = false, nullable = false } = {})`
|
|
236
|
-
- `createJsonApiRelationshipsTransportSchema(entries = [], { includeRequired = false } = {})`
|
|
237
|
-
- `createJsonApiMetaSuccessTransportSchema({ meta } = {})`
|
|
260
|
+
- `buildJsonApiTransportError(statusCode, message, code, params = {})`
|
|
238
261
|
- `defaultRecordTypeResolver(type)`
|
|
239
|
-
- `defaultRecordIdResolver(record
|
|
240
|
-
- `defaultRecordAttributesResolver(record
|
|
262
|
+
- `defaultRecordIdResolver(record)`
|
|
263
|
+
- `defaultRecordAttributesResolver(record)`
|
|
241
264
|
- `defaultCollectionItemsResolver(payload)`
|
|
242
265
|
- `defaultCollectionMetaResolver(payload)`
|
|
266
|
+
- `resolveNothing()`
|
|
243
267
|
- `assertJsonApiSuccessResult(payload)`
|
|
268
|
+
- `buildRouteTransport({ types: { requestType: normalizedRequestType, responseType: normalizedResponseType }, successKind: normalizedSuccessKind, query, allowBodyId, pointerPrefix, hooks: { mapRequestRelationships, getRecordType, getRecordId, getRecordAttributes, getRecordRelationships, getRecordLinks, getRecordMeta, getIncluded, getDocumentLinks, getDocumentMeta, getCollectionItems } })`
|
|
244
269
|
|
|
245
270
|
### `src/shared/validators/jsonApiTransport.js`
|
|
246
271
|
Exports
|
|
@@ -255,6 +280,7 @@ Exports
|
|
|
255
280
|
- `isJsonApiErrorDocument(payload = {})`
|
|
256
281
|
- `isJsonApiResourceDocument(payload = {})`
|
|
257
282
|
- `isJsonContentType(contentType = "")`
|
|
283
|
+
- `jsonApiNextCursor(document)`
|
|
258
284
|
- `normalizeCodedEntry(entry)`
|
|
259
285
|
- `normalizeJsonApiDocument(payload = {})`
|
|
260
286
|
- `normalizeJsonApiResourceObject(resource = {})`
|
|
@@ -266,9 +292,9 @@ Local functions
|
|
|
266
292
|
- `normalizeJsonApiMeta(value)`
|
|
267
293
|
- `normalizeJsonApiErrors(value)`
|
|
268
294
|
- `escapeJsonPointerSegment(value = "")`
|
|
269
|
-
- `resolveValidationFieldName(issue
|
|
295
|
+
- `resolveValidationFieldName(issue)`
|
|
270
296
|
- `resolveJsonApiValidationSource(issue = {}, validationContext = "")`
|
|
271
|
-
- `
|
|
297
|
+
- `buildJsonApiErrorMeta({ transactionOutcome, params, messageCode, messageParams, fieldErrorCode })`
|
|
272
298
|
- `simplifyJsonApiResourceObject(resource = {})`
|
|
273
299
|
|
|
274
300
|
### `src/shared/validators/operationValidation.js`
|
|
@@ -278,11 +304,7 @@ Local functions
|
|
|
278
304
|
- `resolveOperationSection(operation = {}, section = "body")`
|
|
279
305
|
- `isFieldValidationError(error)`
|
|
280
306
|
|
|
281
|
-
### `src/shared/validators/schemaUtils.js`
|
|
282
|
-
Exports
|
|
283
|
-
- `asSchemaDefinition(value, label, defaultMode, { required = true } = {})`
|
|
284
|
-
|
|
285
307
|
### `src/shared/validators/transportSchemaEmbedding.js`
|
|
286
308
|
Exports
|
|
287
309
|
- `rewriteEmbeddedTransportSchemaRefs(value, { rootRef = "#", definitionRefByName = {} } = {})`
|
|
288
|
-
- `createEmbeddableTransportSchemaDocument(schemaDocument
|
|
310
|
+
- `createEmbeddableTransportSchemaDocument(schemaDocument, rootDefinitionName = "TransportSchema")`
|
|
@@ -16,34 +16,37 @@ Use this on demand; do not load the full index at startup.
|
|
|
16
16
|
|
|
17
17
|
### `src/server/jsonRestApiHost.js`
|
|
18
18
|
Exports
|
|
19
|
-
- `JSON_REST_AUTOFILTER_PRESETS`
|
|
20
19
|
- `addResourceIfMissing(api, scopeName, resourceConfig)`
|
|
21
20
|
- `buildJsonRestQueryParams(resourceType = "", query = {}, { include = undefined } = {})`
|
|
22
|
-
- `createJsonRestResourceScopeOptions(resource = {}, { writeSerializers = {}, normalizeId
|
|
21
|
+
- `createJsonRestResourceScopeOptions(resource = {}, { writeSerializers = {}, normalizeId, rowPolicy, searchSchema, queryFields } = {})`
|
|
23
22
|
- `createJsonRestContext(context = null)`
|
|
24
23
|
- `extractJsonRestCollectionRows(payload)`
|
|
25
|
-
- `isJsonRestResourceMissingError(error = null)`
|
|
26
24
|
- `returnNullWhenJsonRestResourceMissing(run)`
|
|
27
25
|
- `returnBadRequestWhenJsonRestFieldsetInvalid(run)`
|
|
28
26
|
- `resolveWorkspaceScopeValue(context = null)`
|
|
29
27
|
- `resolveUserScopeValue(context = null)`
|
|
30
|
-
- `createJsonRestApiHost({ knex, logger
|
|
28
|
+
- `createJsonRestApiHost({ knex, logger })`
|
|
31
29
|
Local functions
|
|
32
30
|
- `isPlainJsonRestObject(value)`
|
|
33
31
|
- `cloneJsonRestResourceValue(value, { writeSerializers = {} } = {})`
|
|
34
32
|
- `normalizeScopeValue(value)`
|
|
35
|
-
- `normalizeJsonRestText(value, { fallback = "" } = {})`
|
|
36
33
|
- `normalizeJsonRestFilterValue(value)`
|
|
37
|
-
- `normalizeJsonRestObject(value)`
|
|
38
34
|
- `normalizeJsonRestList(value)`
|
|
39
|
-
- `resolveJsonRestCollectionRelationships(resource
|
|
35
|
+
- `resolveJsonRestCollectionRelationships(resource)`
|
|
40
36
|
- `normalizeJsonRestQueryField(fieldName = "", fieldDefinition = {}, projectionDefinition = null)`
|
|
41
37
|
- `isJsonRestVirtualField(fieldDefinition = null)`
|
|
42
38
|
- `applyJsonRestQueryFields(scopeOptions = {}, extraQueryFields = {})`
|
|
43
|
-
- `resolveJsonRestDefaultExcludedFields(resource
|
|
39
|
+
- `resolveJsonRestDefaultExcludedFields(resource)`
|
|
44
40
|
- `applyJsonRestDefaultExclusions(scopeOptions = {}, resource = {})`
|
|
41
|
+
- `workspaceScopeOwnerId(visibilityContext)`
|
|
42
|
+
- `isJsonRestResourceMissingError(error = null)`
|
|
45
43
|
- `isJsonRestSparseFieldError(error = null)`
|
|
46
44
|
|
|
47
45
|
### `src/server/JsonRestApiProvider.js`
|
|
48
46
|
Exports
|
|
49
47
|
- `JsonRestApiProvider`
|
|
48
|
+
|
|
49
|
+
### `src/server/types.js`
|
|
50
|
+
Exports
|
|
51
|
+
- `type RuntimeJsonRestApi`
|
|
52
|
+
- `type JsonRestResource`
|