@jskit-ai/agent-docs 0.1.242 → 0.1.244

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/guide/agent/app-extras/assistant-conversation.md +4 -2
  2. package/guide/agent/app-extras/assistant.md +3 -1
  3. package/guide/agent/app-extras/realtime.md +12 -3
  4. package/guide/agent/app-setup/database-layer.md +1 -1
  5. package/guide/agent/app-setup/existing-application-migration.md +0 -7
  6. package/guide/agent/framework/application-operations.md +1 -1
  7. package/guide/agent/framework/crud-operations.md +9 -9
  8. package/guide/agent/index.md +2 -0
  9. package/package.json +2 -3
  10. package/patterns/feature-package/example/booking-engine/package.json +1 -1
  11. package/patterns/feature-package/example/booking-engine/src/server/actions.js +0 -2
  12. package/patterns/feature-package/example/variations/AvailabilityEngineProvider.js +1 -1
  13. package/patterns/feature-package/example/variations/InvoiceRollupProvider.js +1 -1
  14. package/patterns/minimal-foundation/example/AGENTS.md +19 -0
  15. package/patterns/minimal-foundation/example/package.json +3 -3
  16. package/patterns/minimal-foundation/example/server/lib/runtimeEnv.js +3 -11
  17. package/patterns/minimal-foundation/example/src/main.js +0 -2
  18. package/patterns/shell-foundation/PATTERN.md +11 -20
  19. package/patterns/shell-foundation/example/AGENTS.md +19 -0
  20. package/patterns/shell-foundation/example/package.json +4 -4
  21. package/patterns/shell-foundation/example/packages/main/package.json +1 -1
  22. package/patterns/shell-foundation/example/server/lib/runtimeEnv.js +3 -11
  23. package/patterns/shell-foundation/example/src/components/ShellLayout.vue +1 -0
  24. package/patterns/shell-foundation/example/src/main.js +0 -2
  25. package/patterns/shell-foundation/example/src/pages/home/settings.vue +2 -2
  26. package/reference/autogen/KERNEL_MAP.md +16 -147
  27. package/reference/autogen/PATTERN_INDEX.md +37 -37
  28. package/reference/autogen/packages/agent-docs.md +1 -9
  29. package/reference/autogen/packages/assistant-core.md +102 -68
  30. package/reference/autogen/packages/assistant-runtime.md +29 -15
  31. package/reference/autogen/packages/assistant-voice-sherpa.md +2 -1
  32. package/reference/autogen/packages/assistant-voice.md +8 -11
  33. package/reference/autogen/packages/auth-core.md +1 -1
  34. package/reference/autogen/packages/auth-provider-local-core.md +1 -1
  35. package/reference/autogen/packages/auth-provider-local-db-core.md +1 -1
  36. package/reference/autogen/packages/auth-provider-oidc-core.md +1 -1
  37. package/reference/autogen/packages/auth-provider-supabase-core.md +1 -1
  38. package/reference/autogen/packages/auth-web.md +1 -2
  39. package/reference/autogen/packages/connector-google-calendar.md +6 -2
  40. package/reference/autogen/packages/connectors-catalog.md +26 -7
  41. package/reference/autogen/packages/connectors-core.md +14 -3
  42. package/reference/autogen/packages/connectors-web.md +6 -1
  43. package/reference/autogen/packages/console-core.md +1 -1
  44. package/reference/autogen/packages/console-web.md +1 -1
  45. package/reference/autogen/packages/crud-core.md +1 -1
  46. package/reference/autogen/packages/database-runtime-mysql.md +1 -1
  47. package/reference/autogen/packages/database-runtime-postgres.md +1 -1
  48. package/reference/autogen/packages/database-runtime.md +2 -86
  49. package/reference/autogen/packages/http-runtime.md +6 -92
  50. package/reference/autogen/packages/http-web.md +29 -49
  51. package/reference/autogen/packages/json-rest-api-core.md +1 -1
  52. package/reference/autogen/packages/kernel.md +108 -405
  53. package/reference/autogen/packages/mobile-capacitor.md +11 -1
  54. package/reference/autogen/packages/oidc-issuer-core.md +1 -1
  55. package/reference/autogen/packages/payments-core.md +12 -4
  56. package/reference/autogen/packages/payments-web.md +1 -1
  57. package/reference/autogen/packages/realtime.md +7 -5
  58. package/reference/autogen/packages/resource-core.md +1 -4
  59. package/reference/autogen/packages/resource-crud-core.md +4 -3
  60. package/reference/autogen/packages/rewarded-core.md +1 -1
  61. package/reference/autogen/packages/rewarded-web.md +1 -1
  62. package/reference/autogen/packages/shell-web.md +114 -49
  63. package/reference/autogen/packages/storage-runtime.md +1 -1
  64. package/reference/autogen/packages/uploads-image-web.md +1 -1
  65. package/reference/autogen/packages/uploads-runtime.md +1 -1
  66. package/reference/autogen/packages/users-core.md +1 -1
  67. package/reference/autogen/packages/users-web.md +1 -2
  68. package/reference/autogen/packages/workspaces-core.md +3 -1
  69. package/reference/autogen/packages/workspaces-web.md +1 -1
  70. package/reference/autogen/tooling/config-eslint.md +1 -1
  71. package/reference/autogen/tooling/jskit-catalog.md +8 -9
  72. package/reference/autogen/tooling/jskit-release.md +3 -4
  73. package/reference/autogen/tooling/testUtils.md +1 -28
  74. package/skills/jskit/SKILL.md +8 -6
  75. package/skills/jskit/references/app-operations.md +1 -1
  76. package/skills/jskit/references/crud-form-actions.md +62 -0
  77. package/skills/jskit/references/crud-operations.md +9 -9
  78. package/skills/jskit/references/existing-application-migration.md +0 -7
  79. package/{patterns → skills/jskit/references/heuristics}/INDEX.md +24 -38
  80. package/{patterns → skills/jskit/references/heuristics}/child-cruds.md +2 -0
  81. package/{patterns → skills/jskit/references/heuristics}/client-requests.md +2 -0
  82. package/{patterns → skills/jskit/references/heuristics}/crud-authoring.md +2 -0
  83. package/{patterns → skills/jskit/references/heuristics}/crud-links.md +2 -0
  84. package/{patterns → skills/jskit/references/heuristics}/crud-repository-mapping.md +3 -1
  85. package/{patterns → skills/jskit/references/heuristics}/filters.md +3 -1
  86. package/{patterns → skills/jskit/references/heuristics}/live-actions.md +2 -0
  87. package/{patterns → skills/jskit/references/heuristics}/page-redirects.md +2 -0
  88. package/{patterns → skills/jskit/references/heuristics}/page-scaffolding.md +5 -3
  89. package/{patterns → skills/jskit/references/heuristics}/placements.md +2 -0
  90. package/{patterns → skills/jskit/references/heuristics}/row-policies.md +2 -0
  91. package/{patterns → skills/jskit/references/heuristics}/server-search.md +2 -0
  92. package/{patterns → skills/jskit/references/heuristics}/surfaces.md +5 -3
  93. package/{patterns → skills/jskit/references/heuristics}/ui-contract.md +3 -1
  94. package/{patterns → skills/jskit/references/heuristics}/ui-testing.md +2 -0
  95. package/skills/jskit/references/pattern-index.md +37 -37
  96. package/skills/jskit/references/patterns/app/minimal-foundation/example/AGENTS.md +19 -0
  97. package/skills/jskit/references/patterns/app/minimal-foundation/example/package.json +3 -3
  98. package/skills/jskit/references/patterns/app/minimal-foundation/example/server/lib/runtimeEnv.js +3 -11
  99. package/skills/jskit/references/patterns/app/minimal-foundation/example/src/main.js +0 -2
  100. package/skills/jskit/references/patterns/app/shell-foundation/PATTERN.md +11 -20
  101. package/skills/jskit/references/patterns/app/shell-foundation/example/AGENTS.md +19 -0
  102. package/skills/jskit/references/patterns/app/shell-foundation/example/package.json +4 -4
  103. package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/package.json +1 -1
  104. package/skills/jskit/references/patterns/app/shell-foundation/example/server/lib/runtimeEnv.js +3 -11
  105. package/skills/jskit/references/patterns/app/shell-foundation/example/src/components/ShellLayout.vue +1 -0
  106. package/skills/jskit/references/patterns/app/shell-foundation/example/src/main.js +0 -2
  107. package/skills/jskit/references/patterns/app/shell-foundation/example/src/pages/home/settings.vue +2 -2
  108. package/skills/jskit/references/patterns/auth/accounts-hub/example/package.json +2 -2
  109. package/skills/jskit/references/patterns/auth/oidc-sign-in/example/package.json +2 -2
  110. package/skills/jskit/references/patterns/auth/supabase-auth/example/package.json +1 -1
  111. package/skills/jskit/references/patterns/connectors/calendar-cli/example/package.json +4 -4
  112. package/skills/jskit/references/patterns/connectors/oauth-connection/PATTERN.md +27 -610
  113. package/skills/jskit/references/patterns/connectors/paddle-catalogue/example/create-products.js +2 -1
  114. package/skills/jskit/references/patterns/connectors/redshift-queries/PATTERN.md +1 -1
  115. package/skills/jskit/references/patterns/crud/crud-screen-set/PATTERN.md +11 -1
  116. package/skills/jskit/references/patterns/crud/json-api-resource-package/example/packages/books/package.json +2 -2
  117. package/skills/jskit/references/patterns/database/mysql-application/example/package.json +1 -1
  118. package/skills/jskit/references/patterns/database/postgres-application/example/package.json +1 -1
  119. package/skills/jskit/references/patterns/realtime/realtime-application/example/package.json +2 -2
  120. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/package.json +1 -1
  121. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/actions.js +0 -2
  122. package/skills/jskit/references/patterns/server/feature-package/example/variations/AvailabilityEngineProvider.js +1 -1
  123. package/skills/jskit/references/patterns/server/feature-package/example/variations/InvoiceRollupProvider.js +1 -1
  124. package/skills/jskit/references/patterns/shell/application-shell/example/src/pages/home/index.vue +15 -5
  125. package/skills/jskit/references/patterns/shell/application-shell/example/tests/e2e/adaptive-shell.spec.ts +1 -1
  126. package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users/package.json +2 -2
  127. package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/package.json +3 -3
  128. package/templates/app/AGENTS.md +0 -38
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/mobile-capacitor/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -53,6 +53,16 @@ Local functions
53
53
  - `normalizeAuthGuardRuntime(value = null)`
54
54
  - `isAuthCallbackTargetPath(targetPath = "", mobileConfig = {})`
55
55
 
56
+ ### `src/client/runtime/mobileLaunchRouting.js`
57
+ Exports
58
+ - `normalizeIncomingAppUrl(url = "", mobileConfig, { currentOrigin = "", allowedHttpOrigins = [] } = {})`
59
+ - `registerMobileLaunchRouting({ router, mobileConfig = {}, getInitialLaunchUrl = async () => "", subscribeToLaunchUrls = () => () => {}, resolveTargetPath = null, currentOrigin = typeof window === "object" && window?.location ? String(window.location.origin || "") : "", allowedHttpOrigins = [], logger = null } = {})`
60
+ Local functions
61
+ - `buildNormalizedRoutePath(pathname = "/", search = "", hash = "")`
62
+ - `normalizeResolvedRoutePath(value = "", fallback = "")`
63
+ - `normalizeAllowedHttpOrigins({ mobileConfig, currentOrigin = "", allowedHttpOrigins = [] } = {})`
64
+ - `normalizeCustomSchemeRoutePath(parsedUrl)`
65
+
56
66
  ### `src/client/runtime/oauthLaunchClient.js`
57
67
  Exports
58
68
  - `createCapacitorAwareOAuthLaunchClient({ adapter = null, browserPlugin = Browser, location = null, apiBaseUrl = "" } = {})`
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/oidc-issuer-core/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/payments-core/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -18,7 +18,6 @@ Use this on demand; do not load the full index at startup.
18
18
  Exports
19
19
  - `createPaymentCatalogue({ store, adapter, scope, configuration })`
20
20
  Local functions
21
- - `fingerprint(value)`
22
21
  - `priceFields(plan)`
23
22
  - `samePrice(a, b)`
24
23
 
@@ -26,11 +25,15 @@ Local functions
26
25
  Exports
27
26
  - `createPaymentCheckoutService({ adapter, store, payments, merchantScope, returnUrl, authorize })`
28
27
 
28
+ ### `src/server/errors.js`
29
+ Exports
30
+ - `PaymentError`
31
+ - `fingerprint(value)`
32
+
29
33
  ### `src/server/knexStore.js`
30
34
  Exports
31
35
  - `createKnexPaymentStore({ knex })`
32
36
  Local functions
33
- - `hash(value)`
34
37
  - `empty()`
35
38
  - `merchant(scope)`
36
39
  - `identifier(value)`
@@ -42,6 +45,10 @@ Exports
42
45
  Local functions
43
46
  - `invalid()`
44
47
 
48
+ ### `src/server/priceBindings.js`
49
+ Exports
50
+ - `createPriceBindings({ priceBindings, historicalPriceBindings = {}, invalid })`
51
+
45
52
  ### `src/server/readiness.js`
46
53
  Exports
47
54
  - `createPaymentReadiness({ adapter, catalogue, scope, inspectApplication })`
@@ -55,7 +62,6 @@ Local functions
55
62
  - `reference(value)`
56
63
  - `units(value)`
57
64
  - `timestamp(value)`
58
- - `fingerprint(value)`
59
65
  - `unexpired(lot, now)`
60
66
  - `available(lots, now)`
61
67
  - `once(tx, key, input, work)`
@@ -71,6 +77,8 @@ Local functions
71
77
  ### `src/shared/configuration.js`
72
78
  Exports
73
79
  - `validatePaymentConfiguration(document)`
80
+ Local functions
81
+ - `configurationError(message, fieldErrors)`
74
82
 
75
83
  ### migrations
76
84
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/payments-web/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/realtime/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -48,19 +48,20 @@ Exports
48
48
 
49
49
  ### `src/server/realtimeAudience.js`
50
50
  Exports
51
+ - `createAudienceContributors()`
51
52
  - `createSocketRequest(socket)`
52
53
  - `realtimeAuthenticationRequired(authService = null)`
53
- - `revalidateSocket({ socket, authService, workspaces = null, request })`
54
- - `registerSocketAudienceBootstrap({ io, logger, authService = null, workspaces = null })`
54
+ - `revalidateSocket({ socket, authService, audiences = null, request })`
55
+ - `registerSocketAudienceBootstrap({ io, logger, authService = null, audiences = null })`
55
56
  - `resolveAudienceTargets(audience, event, { database = null, logger })`
56
57
  Local functions
57
58
  - `normalizeArray(value)`
58
59
  - `roomForUser(userId)`
59
60
  - `roomForWorkspace(workspaceId)`
60
61
  - `roomForWorkspaceUser(workspaceId, userId)`
61
- - `workspaceAudienceRooms(workspaceIds, actorId)`
62
62
  - `resolveScopeWorkspaceId(scope = {})`
63
63
  - `resolveScopeUserId(scope = {})`
64
+ - `roomForScope(scope = {})`
64
65
  - `applyAudiencePreset(preset, { event, rooms, flags, logger })`
65
66
  - `addAudienceRooms(selection, state)`
66
67
  - `collectUserIds(rows)`
@@ -69,10 +70,11 @@ Local functions
69
70
  - `authenticationRequiredError()`
70
71
  - `rememberSocketActorId(socket, actorId)`
71
72
  - `registerRequiredSocketAuthentication({ io, logger, authService })`
73
+ - `joinContributedRooms(socket, actorId, audiences)`
72
74
 
73
75
  ### `src/server/realtimeDelivery.js`
74
76
  Exports
75
- - `createRealtimeDelivery({ io, database = null, logger, authService = null, workspaces = null })`
77
+ - `createRealtimeDelivery({ io, database = null, logger, authService = null, audiences = null })`
76
78
  Local functions
77
79
  - `publicRealtimePayload(event)`
78
80
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/resource-core/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -20,9 +20,6 @@ Exports
20
20
  - `defineResource(resource = {})`
21
21
  - `normalizeSchemaDefinitionLike(value, { context = "schema definition", defaultMode = "patch" } = {})`
22
22
  Local functions
23
- - `isJsonRestSchemaInstance(value)`
24
- - `isSchemaDefinitionLike(value)`
25
- - `resolveSchemaDefinitionMode(mode, { context = "schema definition.mode", defaultMode = "patch" } = {})`
26
23
  - `resolveDefaultOperationSchemaMode(sectionName, operation = {})`
27
24
  - `normalizeOperationDefinition(operationName, operation = null, resourceMessages = null)`
28
25
  - `normalizeResourceOperations(operations = null, resourceMessages = null)`
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/resource-crud-core/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -82,6 +82,7 @@ Local functions
82
82
  - `rejectInvalidCrudListFilterValue({ invalidValues = CRUD_LIST_FILTER_INVALID_VALUES_REJECT } = {})`
83
83
  - `normalizeCrudListDateRangeQueryValue(value)`
84
84
  - `normalizeCrudListNumberRangeQueryValue(value)`
85
+ - `parseCrudListFilterMultiQueryValue(value, normalizeEntry, { invalidValues })`
85
86
  - `normalizeCrudListFilterType(value = "")`
86
87
  - `normalizeCrudListFilterOption(rawOption = null, { context = "filter option" } = {})`
87
88
  - `normalizeCrudListFilterOptions(rawOptions = [], { context = "filter options" } = {})`
@@ -119,10 +120,10 @@ Exports
119
120
  - `defineCrudResource(resource = {})`
120
121
  Local functions
121
122
  - `createCrudRecordIdFieldDefinition()`
122
- - `resolveCrudLookupContainerKey(resource = {})`
123
+ - `resolveConfiguredLookupContainerKey(resource = {})`
123
124
  - `resolveFieldEntries(resource = {}, operationName = "output")`
124
125
  - `createDerivedCrudRecordOutputDefinition(resource = {})`
125
- - `createDerivedCrudBodyDefinition(resource = {}, operationName = "patch")`
126
+ - `createDerivedCrudBodyDefinition(resource = {}, operationName = "patch", bodyMode = "patch")`
126
127
  - `createCrudDeleteOutputDefinition()`
127
128
  - `requireCrudOperationName(value = "", { context = "crud operation name" } = {})`
128
129
  - `requireCrudOperationSpec(operationName = "")`
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/rewarded-core/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/rewarded-web/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/shell-web/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -22,12 +22,66 @@ Exports
22
22
  Exports
23
23
  - `inspectVueArchitecture({ projectRoot, input, aliases = {}, httpScope = "", apiBasePath = "" })`
24
24
  Local functions
25
- - `hash(source)`
26
- - `canonical(value)`
27
- - `property(node, key)`
28
- - `nodes(root)`
25
+ - `hashBytes(source)`
26
+ - `isCanonicalPath(value)`
27
+ - `propertyKey(entry)`
28
+ - `isStaticObjectProperty(entry)`
29
+ - `objectProperty(node, key)`
30
+ - `hasOnlyStaticProperties(node)`
31
+ - `isFunctionNode(node)`
32
+ - `directoryPrefixes(filePath)`
33
+ - `collectNodes(root)`
29
34
  - `staticValue(node, bindings, seen = new Set())`
35
+ - `staticObjectValue(node, bindings, seen)`
30
36
  - `bindingNode(node, bindings, seen = new Set())`
37
+ - `isShadowed({ ancestors }, name)`
38
+ - `isLocalCall(record, names)`
39
+ - `importedNames(module, source, imported)`
40
+ - `findRecord(module, node)`
41
+ - `kebabCase(name)`
42
+ - `templateTagImport(module, tag)`
43
+ - `sourcePoint(module, index)`
44
+ - `sourceEvidence(module, node, offset = 0)`
45
+ - `pageTitle(file)`
46
+ - `validateInput({ projectRoot, input, aliases })`
47
+ - `createOutput({ input, httpScope })`
48
+ - `warn(inspection, code, message, source)`
49
+ - `loadModule(inspection, filePath)`
50
+ - `scriptUnits(inspection, module)`
51
+ - `indexScriptUnit(inspection, module, unit)`
52
+ - `indexDeclaration(module, node)`
53
+ - `resolveImport(inspection, from, specifier)`
54
+ - `resolvePackageEntryFile(inspection, from, specifier)`
55
+ - `resolvePackageImport(inspection, from, specifier)`
56
+ - `resolveCrudResource(inspection, module, node, seen = new Set())`
57
+ - `resolveExportedCrudResource(inspection, module, name, seen)`
58
+ - `crudOperationKey(inspection, surface, namespace, operation, apiSuffix)`
59
+ - `recordPage(inspection, { file, discovery, identity, registrationModule, registrationNode, parentId = null })`
60
+ - `isSupportedFilesystemOptions(options)`
61
+ - `discoverFilesystemPages(inspection, discovery, module, registrationPath)`
62
+ - `recordFilesystemRoutes(inspection, { tree, discovery, module, node })`
63
+ - `discoverRegisteredPages(inspection, discovery, module, registrationPath)`
64
+ - `routeComponentSpecifier(module, component)`
65
+ - `recordRegisteredRoutes(inspection, { routes, discovery, module, registrationPath })`
66
+ - `discoverPages(inspection, discoveries)`
67
+ - `readTemplate(module)`
68
+ - `discoverComponents(inspection)`
69
+ - `recordComponentUse(inspection, { module, file, parentId, tag, pending })`
70
+ - `recordPackageComponent(inspection, { module, file, tag, imported })`
71
+ - `crudScreenKind(component)`
72
+ - `crudScreenCall(module, tag, list)`
73
+ - `hasDynamicScreenTransport(module, config)`
74
+ - `hasCustomScreenClient(options)`
75
+ - `recordCrudScreenUse(inspection, { module, file, parentId, tag })`
76
+ - `isGlobalFetchCall(module, { node, ancestors })`
77
+ - `recordFetchUses(inspection, { module, parentId, eventHandlers })`
78
+ - `discoverEntryOperations(inspection)`
79
+ - `crudControllerOperations(module, config, resource)`
80
+ - `recordCrudController(inspection, { module, file, record })`
81
+ - `recordFeatureRoute(inspection, { module, file, record, featureFactories })`
82
+ - `importSpecifierName(specifier)`
83
+ - `isTypeOnlyImport(node)`
84
+ - `collectImports(inspection)`
31
85
 
32
86
  ### `src/client/asyncModuleRecovery/index.js`
33
87
  Exports
@@ -40,6 +94,10 @@ Exports
40
94
  - `isShellAsyncModuleRecoveryRuntime(value)`
41
95
  - `useShellAsyncModuleRecoveryRuntime()`
42
96
 
97
+ ### `src/client/asyncModuleRecovery/runtime.js`
98
+ Exports
99
+ - `createShellAsyncModuleRecoveryRuntime({ router = null, errorRuntime = null, logger = null } = {})`
100
+
43
101
  ### `src/client/bootstrap/bootstrapErrorStatus.js`
44
102
  Exports
45
103
  - `resolveBootstrapErrorStatusCode(error)`
@@ -90,27 +148,7 @@ Local functions
90
148
  - `scheduleDrawerWidthMeasurement()`
91
149
  - `measureDrawerContentWidth()`
92
150
  - `measureRenderedText(element)`
93
- - `handlePullPointerDown(event)`
94
151
  - `handleDrawerVisibilityChange(open)`
95
- - `handlePullPointerMove(event)`
96
- - `handlePullPointerEnd(event)`
97
- - `handlePullPointerCancel(event)`
98
- - `handlePullTouchStart(event)`
99
- - `handlePullTouchMove(event)`
100
- - `handlePullTouchEnd(event)`
101
- - `handlePullTouchCancel(event)`
102
- - `updatePullGesture(clientX, clientY, event)`
103
- - `finishPullGesture()`
104
- - `cancelPullRefresh()`
105
- - `refreshFromPullGesture()`
106
- - `canStartPullRefresh(event)`
107
- - `canStartTouchPullRefresh(event)`
108
- - `canStartPullRefreshFromTarget(target)`
109
- - `isPrimaryTouchPointer(event)`
110
- - `isAtPageTop()`
111
- - `isPullRefreshIgnoredTarget(target)`
112
- - `findActiveTouch(touchList)`
113
- - `touchListIncludesActiveTouch(touchList)`
114
152
 
115
153
  ### `src/client/components/ShellMenuLinkItem.vue`
116
154
  Exports
@@ -137,11 +175,8 @@ Local functions
137
175
  - `handlePointerEnd(event)`
138
176
  - `handlePointerCancel(event)`
139
177
  - `navigateBySwipe(offset = 0)`
140
- - `isAcceptedSwipe({ deltaX = 0, deltaY = 0, elapsed = 1, velocity = null } = {})`
141
178
  - `normalizeComparablePathname(value = "")`
142
179
  - `pathMatchesNavigationEntry(pathname = "", entry = {})`
143
- - `isPrimaryPointerEvent(event)`
144
- - `isSwipeIgnoredTarget(target)`
145
180
 
146
181
  ### `src/client/components/ShellSurfaceAwareMenuLinkItem.vue`
147
182
  Exports
@@ -163,14 +198,27 @@ Exports
163
198
  Local functions
164
199
  - `toSurfaceLabel(surfaceId = "")`
165
200
 
201
+ ### `src/client/composables/useShellNavigationLink.js`
202
+ Exports
203
+ - `shellNavigationLinkProps`
204
+ - `useShellNavigationLink(props)`
205
+
206
+ ### `src/client/composables/useShellPullToRefresh.js`
207
+ Exports
208
+ - `useShellPullToRefresh({ enabled, refreshRuntime = null } = {})`
209
+ Local functions
210
+ - `isAtPageTop()`
211
+
166
212
  ### `src/client/error/index.js`
167
213
  Exports
168
214
  - `createDefaultErrorPolicy`
215
+ - `SHELL_WEB_ERROR_RUNTIME_KEY`
169
216
  - `useShellWebErrorRuntime`
170
217
  - `useShellErrorPresentationStore`
171
218
 
172
219
  ### `src/client/error/inject.js`
173
220
  Exports
221
+ - `SHELL_WEB_ERROR_RUNTIME_KEY`
174
222
  - `EMPTY_ERROR_RUNTIME`
175
223
  - `useShellWebErrorRuntime({ required = false } = {})`
176
224
 
@@ -199,7 +247,7 @@ Exports
199
247
 
200
248
  ### `src/client/error/presenters.js`
201
249
  Exports
202
- - `createStoreBackedPresenter({ id, channel, store, defaultPersist = false } = {})`
250
+ - `createStoreBackedPresenter({ id, channel, store } = {})`
203
251
  - `createMaterialSnackbarPresenter({ store } = {})`
204
252
  - `createMaterialBannerPresenter({ store } = {})`
205
253
  - `createMaterialDialogPresenter({ store } = {})`
@@ -259,7 +307,6 @@ Exports
259
307
  - `resolveShellLinkPath({ context = null, surface = "", explicitTo = "", relativePath = "/", surfaceRelativePath = "", params = {}, strictParams = true } = {})`
260
308
  - `useShellLinkResolver({ surface = "" } = {})`
261
309
  Local functions
262
- - `normalizeParamsMap(params = null)`
263
310
  - `materializeSurfaceRouteBase(routeBaseTemplate = "/", { params = {}, strictParams = true, surface = "" } = {})`
264
311
  - `resolveSurfaceBasePath(context = null, surface = "", { params = {}, strictParams = true } = {})`
265
312
 
@@ -270,7 +317,6 @@ Local functions
270
317
  - `normalizePathSuffix(value = "")`
271
318
  - `resolveSurfaceId(value, fallback = "")`
272
319
  - `resolveDefaultSurfaceIdFromPlacementContext(placementContext = null)`
273
- - `normalizeRouteParams(params = null)`
274
320
  - `resolveRouteParams(baseParams = {}, overrideParams = null)`
275
321
 
276
322
  ### `src/client/navigation/useSurfaceRouteContext.js`
@@ -290,9 +336,11 @@ Exports
290
336
  - `createPlacementRegistry`
291
337
  - `definePlacement`
292
338
  - `definePlacementTopology`
339
+ - `SHELL_WEB_PLACEMENT_RUNTIME_KEY`
293
340
  - `useWebPlacementContext`
294
341
  - `resolveRuntimePathname`
295
342
  - `readPlacementSurfaceConfig`
343
+ - `resolveAllowedOriginsFromPlacementContext`
296
344
  - `resolveSurfaceDefinitionFromPlacementContext`
297
345
  - `joinSurfacePath`
298
346
  - `resolveSurfaceIdFromPlacementPathname`
@@ -303,6 +351,7 @@ Exports
303
351
 
304
352
  ### `src/client/placement/inject.js`
305
353
  Exports
354
+ - `SHELL_WEB_PLACEMENT_RUNTIME_KEY`
306
355
  - `EMPTY_WEB_PLACEMENT_RUNTIME`
307
356
  - `EMPTY_WEB_PLACEMENT_CONTEXT`
308
357
  - `useWebPlacementRuntime({ required = false } = {})`
@@ -339,6 +388,7 @@ Exports
339
388
  - `EMPTY_SURFACE_CONFIG`
340
389
  - `buildSurfaceConfigContext(surfaceRuntime = null, { tenancyMode = "" } = {})`
341
390
  - `readPlacementSurfaceConfig(contextValue = null)`
391
+ - `resolveAllowedOriginsFromPlacementContext(contextValue = null)`
342
392
  - `resolveSurfaceDefinitionFromPlacementContext(contextValue = null, surfaceId = "")`
343
393
  - `joinSurfacePath(surfacePrefix = "", pathname = "")`
344
394
  - `resolveSurfaceIdFromPlacementPathname(contextValue = null, pathname = "")`
@@ -354,7 +404,6 @@ Local functions
354
404
 
355
405
  ### `src/client/placement/validators.js`
356
406
  Exports
357
- - `isRecord`
358
407
  - `isRenderableComponent(value)`
359
408
  - `normalizeSurface(value)`
360
409
  - `normalizePlacementSurface(value, { strict = false, source = "placement" } = {})`
@@ -363,9 +412,7 @@ Exports
363
412
  - `normalizePlacementDefinition(value, { strict = false, source = "placement" } = {})`
364
413
  - `definePlacement(value = {})`
365
414
  - `definePlacementTopology(value = {})`
366
- - `normalizeSemanticPlacementId`
367
415
  Local functions
368
- - `isValidSurfaceIdToken(value = "")`
369
416
  - `toInteger(value, fallback = 1000)`
370
417
 
371
418
  ### `src/client/providers/appModuleLoadFailure.js`
@@ -378,16 +425,13 @@ Exports
378
425
  - `ShellWebClientProvider`
379
426
  - `resolveAppPlacementTopologyExport(exported, logger)`
380
427
  Local functions
428
+ - `loadAppModule({ importModule, specifier, label, resolve, invalidExportMessage = "", loadFailureMessage, fallback, logger, asyncModuleRecoveryRuntime = null })`
381
429
  - `loadAppPlacementDefinitions(logger, asyncModuleRecoveryRuntime = null)`
382
430
  - `loadAppPlacementTopology(logger, asyncModuleRecoveryRuntime = null)`
383
431
  - `createErrorConfigToolkit(errorRuntime)`
384
432
  - `loadAppErrorConfig(logger, errorRuntime, asyncModuleRecoveryRuntime = null)`
385
- - `applyAppErrorConfig(errorRuntime, errorConfig = {})`
386
- - `isPullRefreshQuery(query = null)`
387
- - `createShellRefreshRuntime({ bootstrapRuntime = null, queryClient = null, errorRuntime = null, logger = null } = {})`
388
433
  - `installVueErrorBridge(vueApp, errorRuntime, logger)`
389
434
  - `installRouterErrorBridge(router, errorRuntime, logger)`
390
- - `createShellAsyncModuleRecoveryRuntime({ router = null, errorRuntime = null, logger = null } = {})`
391
435
 
392
436
  ### `src/client/requestRecovery/index.js`
393
437
  Exports
@@ -404,24 +448,18 @@ Exports
404
448
 
405
449
  ### `src/client/requestRecovery/runtime.js`
406
450
  Exports
451
+ - `APP_RELOAD_FAILURE_MESSAGE`
407
452
  - `createShellRequestRecoveryRuntime({ queryClient = null, errorRuntime = null, logger = null } = {})`
408
453
  - `isRecoverableRequestError(error = null)`
409
454
  - `requestRecoveryMessage(error = null, { label = "Request", message = "" } = {})`
410
455
  Local functions
411
- - `normalizeText(value, fallback = "")`
412
456
  - `errorMessage(error = null)`
413
457
  - `errorCode(error = null)`
414
458
  - `errorName(error = null)`
415
459
  - `normalizeRequestErrorStatus(error = null)`
416
460
  - `isCanceledRequestError(error = null)`
417
461
  - `resolveQueryMeta(query = null)`
418
- - `isRequestRecoveryDisabled(query = null)`
419
- - `resolveQueryRecoveryLabel(query = null)`
420
- - `resolveQueryRecoverySource(query = null)`
421
- - `resolveQueryRecoveryDedupeKey(query = null, fallback = "")`
422
- - `resolveQueryRecoveryDedupeWindowMs(query = null)`
423
- - `resolveQueryRecoveryMethod(query = null)`
424
- - `isSafeQueryRecoveryMethod(query = null)`
462
+ - `readQueryRecoveryMeta(query = null)`
425
463
  - `isActiveQuery(query = null)`
426
464
  - `recoverableQueryError(query = null)`
427
465
  - `createQueryRetry(queryClient, query = null)`
@@ -436,6 +474,13 @@ Local functions
436
474
  - `buildBootstrapUrl({ path = DEFAULT_BOOTSTRAP_PATH, query = {} } = {})`
437
475
  - `normalizeBootstrapResponseError(response, url)`
438
476
 
477
+ ### `src/client/runtime/refreshRuntime.js`
478
+ Exports
479
+ - `SHELL_WEB_REFRESH_RUNTIME_KEY`
480
+ - `createShellRefreshRuntime({ bootstrapRuntime = null, queryClient = null, errorRuntime = null, logger = null } = {})`
481
+ Local functions
482
+ - `isPullRefreshQuery(query = null)`
483
+
439
484
  ### `src/client/stores/useShellErrorPresentationStore.js`
440
485
  Exports
441
486
  - `useShellErrorPresentationStore`
@@ -468,10 +513,16 @@ Exports
468
513
  Local functions
469
514
  - `clampNumber(value, minimum, maximum)`
470
515
 
516
+ ### `src/client/support/gestureTargets.js`
517
+ Exports
518
+ - `isPrimaryTouchPointer(event)`
519
+ - `isShellGestureIgnoredTarget(target, { extraSelectors = [] } = {})`
520
+
471
521
  ### `src/client/support/menuLinkTarget.js`
472
522
  Exports
473
523
  - `normalizeMenuLinkPathname(pathname = "")`
474
- - `resolveMenuLinkTarget({ to = "", surface = "", currentSurfaceId = "", placementContext = null, scopedSuffix = "/", unscopedSuffix = "/", routeParams = {}, resolvePagePath = null } = {})`
524
+ - `resolveMenuLinkHref(placementContext = null, target = "")`
525
+ - `resolveMenuLinkTarget({ to = "", surface = "", currentSurfaceId = "", placementContext = null, scopedSuffix = "/", unscopedSuffix = "/", routeParams = {} } = {})`
475
526
  Local functions
476
527
  - `resolveMenuLinkSurfaceId(surface = "", fallbackSurfaceId = "")`
477
528
  - `interpolateBracketParams(pathTemplate = "", params = {})`
@@ -482,11 +533,25 @@ Local functions
482
533
  Exports
483
534
  - `activateShellNavigationLinkOnSpace(event)`
484
535
 
536
+ ### `src/client/support/routeParams.js`
537
+ Exports
538
+ - `normalizeRouteParams(params = null)`
539
+
540
+ ### `src/client/support/routeSwipeGesture.js`
541
+ Exports
542
+ - `createRouteSwipeGesture({ now = () => performance.now() } = {})`
543
+ Local functions
544
+ - `isAcceptedSwipe({ deltaX = 0, deltaY = 0, elapsed = 1 } = {})`
545
+ - `isVerticalDrift(absX, absY)`
546
+
485
547
  ### `src/client/support/routeTransitionKey.js`
486
548
  Exports
487
549
  - `resolveShellRouteTransitionKey({ routePathKey = "", routeTransitionName = "", surfaceId = "" } = {})`
488
- Local functions
489
- - `normalizeText(value = "")`
550
+
551
+ ### `src/client/support/shellLayoutClass.js`
552
+ Exports
553
+ - `readViewportWidth()`
554
+ - `resolveShellLayoutClass(displayName = "", viewportWidth = 0)`
490
555
 
491
556
  ### fixtures
492
557
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/storage-runtime/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/uploads-image-web/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/uploads-runtime/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/users-core/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/users-web/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -64,7 +64,6 @@ Exports
64
64
 
65
65
  ### `src/client/composables/account-settings/accountSettingsRuntimeHelpers.js`
66
66
  Exports
67
- - `resolveAllowedReturnToOrigins(contextValue = null)`
68
67
  - `normalizeAvatarSize(value)`
69
68
  - `normalizeReturnToPath(value, { fallback = "/", accountSettingsPath = "/account", allowedOrigins = [] } = {})`
70
69
  - `normalizeSettingsPayload(value)`
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/workspaces-core/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14
 
@@ -244,6 +244,8 @@ Local functions
244
244
  ### `src/server/WorkspacesIntegrationsProvider.js`
245
245
  Exports
246
246
  - `WorkspacesIntegrationsProvider`
247
+ Local functions
248
+ - `resolveWorkspaceRealtimeScopes(workspaceMemberships, actorId)`
247
249
 
248
250
  ### `src/shared/jsonApiTransports.js`
249
251
  Exports
@@ -8,7 +8,7 @@ Use this on demand; do not load the full index at startup.
8
8
 
9
9
  ## Scope
10
10
  - Source: `packages/workspaces-web/**/*{.js,.mjs,.cjs,.vue}`
11
- - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `.vitepress/cache/`, `.vitepress/dist/`
11
+ - Excludes: `.build/`, `.git/`, `.jscpd/`, `.jskit/`, `coverage/`, `dist/`, `docs/`, `node_modules/`, `test/`, `tests/`, `__tests__/`, `.vitepress/cache/`, `.vitepress/dist/`, `skills/jskit/references/patterns/`, `*.test.*`, `*.spec.*`, `*.vitest.*`
12
12
 
13
13
  ## Sections
14
14