@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.
Files changed (230) hide show
  1. package/guide/agent/app-extras/assistant-conversation.md +88 -35
  2. package/guide/agent/app-extras/assistant.md +28 -28
  3. package/guide/agent/app-setup/authentication.md +36 -17
  4. package/guide/agent/app-setup/database-layer.md +116 -17
  5. package/guide/agent/app-setup/existing-application-migration.md +29 -25
  6. package/guide/agent/app-setup/multi-homing.md +94 -48
  7. package/guide/agent/app-setup/run-an-accounts-hub.md +6 -4
  8. package/guide/agent/framework/client-features.md +496 -0
  9. package/guide/agent/framework/crud-operations.md +5 -5
  10. package/guide/agent/framework/translation.md +4 -3
  11. package/guide/agent/framework/typed-features.md +1104 -0
  12. package/guide/agent/framework/ui-operations.md +2 -2
  13. package/guide/agent/index.md +6 -1
  14. package/package.json +1 -1
  15. package/patterns/feature-package/PATTERN.md +104 -10
  16. package/patterns/feature-package/example/booking-engine/package.json +9 -4
  17. package/patterns/feature-package/example/booking-engine/src/server/BookingEngineFeature.js +24 -0
  18. package/patterns/feature-package/example/booking-engine/src/server/bookingAvailability.js +10 -0
  19. package/patterns/feature-package/example/booking-engine/src/server/bookingEngine.js +29 -0
  20. package/patterns/feature-package/example/booking-engine/src/server/bookingEngineActions.js +26 -0
  21. package/patterns/feature-package/example/booking-engine/src/server/inputSchemas.js +1 -2
  22. package/patterns/feature-package/example/booking-engine/src/server/types.js +12 -0
  23. package/patterns/feature-package/example/variations/AvailabilityEngineFeature.js +19 -0
  24. package/patterns/feature-package/example/variations/InvoiceRollupFeature.js +23 -0
  25. package/patterns/feature-package/example/variations/availabilityEngineActions.js +26 -0
  26. package/patterns/feature-package/example/variations/customKnexRepository.js +32 -26
  27. package/patterns/feature-package/example/variations/invoiceRollupActions.js +26 -0
  28. package/patterns/feature-package/example/variations/orchestratorService.js +24 -19
  29. package/patterns/feature-package/example/variations/types.js +7 -0
  30. package/patterns/minimal-foundation/PATTERN.md +30 -1
  31. package/patterns/minimal-foundation/example/AGENTS.md +14 -0
  32. package/patterns/minimal-foundation/example/bin/develop.js +10 -5
  33. package/patterns/minimal-foundation/example/eslint.config.mjs +21 -2
  34. package/patterns/minimal-foundation/example/package.json +5 -4
  35. package/patterns/minimal-foundation/example/playwright.config.mjs +1 -1
  36. package/patterns/minimal-foundation/example/server/lib/envFile.js +19 -0
  37. package/patterns/minimal-foundation/example/server/lib/loggerOptions.js +15 -0
  38. package/patterns/minimal-foundation/example/server/lib/runtimeEnv.js +17 -17
  39. package/patterns/minimal-foundation/example/server.js +32 -29
  40. package/patterns/minimal-foundation/example/tests/server/smoke.test.js +2 -1
  41. package/patterns/shell-foundation/PATTERN.md +29 -0
  42. package/patterns/shell-foundation/example/AGENTS.md +14 -0
  43. package/patterns/shell-foundation/example/bin/develop.js +10 -5
  44. package/patterns/shell-foundation/example/eslint.config.mjs +21 -2
  45. package/patterns/shell-foundation/example/package.json +6 -5
  46. package/patterns/shell-foundation/example/packages/main/package.json +1 -1
  47. package/patterns/shell-foundation/example/packages/main/src/client/providers/MainClientProvider.js +1 -0
  48. package/patterns/shell-foundation/example/playwright.config.mjs +1 -1
  49. package/patterns/shell-foundation/example/server/lib/envFile.js +19 -0
  50. package/patterns/shell-foundation/example/server/lib/loggerOptions.js +15 -0
  51. package/patterns/shell-foundation/example/server/lib/runtimeEnv.js +17 -17
  52. package/patterns/shell-foundation/example/server.js +32 -29
  53. package/patterns/shell-foundation/example/tests/server/smoke.test.js +2 -1
  54. package/reference/autogen/KERNEL_MAP.md +14 -8
  55. package/reference/autogen/PATTERN_INDEX.md +37 -37
  56. package/reference/autogen/README.md +2 -0
  57. package/reference/autogen/packages/agent-docs.md +70 -26
  58. package/reference/autogen/packages/agent-runtime.md +129 -0
  59. package/reference/autogen/packages/agent.md +149 -0
  60. package/reference/autogen/packages/architecture-inspector.md +97 -44
  61. package/reference/autogen/packages/assistant-core.md +786 -292
  62. package/reference/autogen/packages/assistant-runtime.md +182 -57
  63. package/reference/autogen/packages/assistant-voice-sherpa.md +4 -0
  64. package/reference/autogen/packages/assistant-voice.md +54 -8
  65. package/reference/autogen/packages/auth-core.md +44 -13
  66. package/reference/autogen/packages/auth-provider-local-core.md +86 -34
  67. package/reference/autogen/packages/auth-provider-local-db-core.md +1 -2
  68. package/reference/autogen/packages/auth-provider-oidc-core.md +10 -4
  69. package/reference/autogen/packages/auth-provider-supabase-core.md +52 -66
  70. package/reference/autogen/packages/auth-web.md +19 -11
  71. package/reference/autogen/packages/connectors-catalog.md +71 -43
  72. package/reference/autogen/packages/connectors-core.md +42 -4
  73. package/reference/autogen/packages/console-core.md +27 -14
  74. package/reference/autogen/packages/crud-core.md +178 -170
  75. package/reference/autogen/packages/database-runtime-mysql.md +0 -2
  76. package/reference/autogen/packages/database-runtime-postgres.md +0 -2
  77. package/reference/autogen/packages/database-runtime.md +39 -10
  78. package/reference/autogen/packages/http-runtime.md +79 -57
  79. package/reference/autogen/packages/json-rest-api-core.md +11 -8
  80. package/reference/autogen/packages/kernel.md +144 -83
  81. package/reference/autogen/packages/oidc-issuer-core.md +49 -20
  82. package/reference/autogen/packages/payments-core.md +20 -3
  83. package/reference/autogen/packages/realtime.md +47 -22
  84. package/reference/autogen/packages/resource-core.md +1 -1
  85. package/reference/autogen/packages/resource-crud-core.md +64 -26
  86. package/reference/autogen/packages/rewarded-core.md +47 -36
  87. package/reference/autogen/packages/shell-web.md +7 -10
  88. package/reference/autogen/packages/storage-runtime.md +6 -2
  89. package/reference/autogen/packages/uploads-runtime.md +10 -2
  90. package/reference/autogen/packages/users-core.md +73 -71
  91. package/reference/autogen/packages/workspaces-core.md +121 -106
  92. package/reference/autogen/packages/workspaces-web.md +1 -2
  93. package/reference/autogen/tooling/config-eslint.md +302 -0
  94. package/reference/autogen/tooling/jskit-catalog.md +28 -18
  95. package/reference/autogen/tooling/jskit-release.md +35 -20
  96. package/reference/autogen/tooling/testUtils.md +3 -1
  97. package/skills/jskit/SKILL.md +3 -2
  98. package/skills/jskit/references/app-operations.md +1 -1
  99. package/skills/jskit/references/client-features.md +491 -0
  100. package/skills/jskit/references/crud-form-actions.md +1 -1
  101. package/skills/jskit/references/crud-operations.md +7 -7
  102. package/skills/jskit/references/existing-application-migration.md +31 -27
  103. package/skills/jskit/references/heuristics/INDEX.md +5 -1
  104. package/skills/jskit/references/heuristics/child-cruds.md +1 -1
  105. package/skills/jskit/references/heuristics/client-features.md +66 -0
  106. package/skills/jskit/references/heuristics/client-requests.md +1 -1
  107. package/skills/jskit/references/heuristics/crud-authoring.md +12 -2
  108. package/skills/jskit/references/heuristics/crud-links.md +1 -1
  109. package/skills/jskit/references/heuristics/crud-repository-mapping.md +3 -3
  110. package/skills/jskit/references/heuristics/filters.md +1 -1
  111. package/skills/jskit/references/heuristics/live-actions.md +1 -1
  112. package/skills/jskit/references/heuristics/page-redirects.md +1 -1
  113. package/skills/jskit/references/heuristics/page-scaffolding.md +1 -1
  114. package/skills/jskit/references/heuristics/placements.md +1 -1
  115. package/skills/jskit/references/heuristics/row-policies.md +1 -1
  116. package/skills/jskit/references/heuristics/server-search.md +1 -1
  117. package/skills/jskit/references/heuristics/surfaces.md +1 -1
  118. package/skills/jskit/references/heuristics/typed-features.md +100 -0
  119. package/skills/jskit/references/heuristics/ui-contract.md +1 -1
  120. package/skills/jskit/references/heuristics/ui-testing.md +4 -4
  121. package/skills/jskit/references/material-3.md +2 -2
  122. package/skills/jskit/references/multi-homing.md +96 -50
  123. package/skills/jskit/references/pattern-index.md +37 -37
  124. package/skills/jskit/references/patterns/app/minimal-foundation/PATTERN.md +30 -1
  125. package/skills/jskit/references/patterns/app/minimal-foundation/example/AGENTS.md +14 -0
  126. package/skills/jskit/references/patterns/app/minimal-foundation/example/bin/develop.js +10 -5
  127. package/skills/jskit/references/patterns/app/minimal-foundation/example/eslint.config.mjs +21 -2
  128. package/skills/jskit/references/patterns/app/minimal-foundation/example/package.json +5 -4
  129. package/skills/jskit/references/patterns/app/minimal-foundation/example/playwright.config.mjs +1 -1
  130. package/skills/jskit/references/patterns/app/minimal-foundation/example/server/lib/envFile.js +19 -0
  131. package/skills/jskit/references/patterns/app/minimal-foundation/example/server/lib/loggerOptions.js +15 -0
  132. package/skills/jskit/references/patterns/app/minimal-foundation/example/server/lib/runtimeEnv.js +17 -17
  133. package/skills/jskit/references/patterns/app/minimal-foundation/example/server.js +32 -29
  134. package/skills/jskit/references/patterns/app/minimal-foundation/example/tests/server/smoke.test.js +2 -1
  135. package/skills/jskit/references/patterns/app/shell-foundation/PATTERN.md +29 -0
  136. package/skills/jskit/references/patterns/app/shell-foundation/example/AGENTS.md +14 -0
  137. package/skills/jskit/references/patterns/app/shell-foundation/example/bin/develop.js +10 -5
  138. package/skills/jskit/references/patterns/app/shell-foundation/example/eslint.config.mjs +21 -2
  139. package/skills/jskit/references/patterns/app/shell-foundation/example/package.json +6 -5
  140. package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/package.json +1 -1
  141. package/skills/jskit/references/patterns/app/shell-foundation/example/packages/main/src/client/providers/MainClientProvider.js +1 -0
  142. package/skills/jskit/references/patterns/app/shell-foundation/example/playwright.config.mjs +1 -1
  143. package/skills/jskit/references/patterns/app/shell-foundation/example/server/lib/envFile.js +19 -0
  144. package/skills/jskit/references/patterns/app/shell-foundation/example/server/lib/loggerOptions.js +15 -0
  145. package/skills/jskit/references/patterns/app/shell-foundation/example/server/lib/runtimeEnv.js +17 -17
  146. package/skills/jskit/references/patterns/app/shell-foundation/example/server.js +32 -29
  147. package/skills/jskit/references/patterns/app/shell-foundation/example/tests/server/smoke.test.js +2 -1
  148. package/skills/jskit/references/patterns/assistant/assistant-surface/example/src/ApplicationAiFeature.js +4 -2
  149. package/skills/jskit/references/patterns/auth/accounts-hub/PATTERN.md +2 -1
  150. package/skills/jskit/references/patterns/auth/accounts-hub/example/package.json +2 -2
  151. package/skills/jskit/references/patterns/auth/accounts-hub/example/server/hubPaths.js +9 -3
  152. package/skills/jskit/references/patterns/auth/auth-surface/PATTERN.md +25 -12
  153. package/skills/jskit/references/patterns/auth/auth-surface/example/tools/preview-identity +7 -1
  154. package/skills/jskit/references/patterns/auth/oidc-sign-in/example/package.json +2 -2
  155. package/skills/jskit/references/patterns/auth/supabase-auth/example/package.json +1 -1
  156. package/skills/jskit/references/patterns/connectors/ai-connections/PATTERN.md +16 -1
  157. package/skills/jskit/references/patterns/connectors/ai-connections/example/ai-model.js +12 -3
  158. package/skills/jskit/references/patterns/connectors/ai-connections/example/perplexity-answer.js +15 -4
  159. package/skills/jskit/references/patterns/connectors/api-key-connection/PATTERN.md +9 -1
  160. package/skills/jskit/references/patterns/connectors/api-key-connection/example/connections.js +5 -2
  161. package/skills/jskit/references/patterns/connectors/aws-storage-queries/PATTERN.md +13 -3
  162. package/skills/jskit/references/patterns/connectors/aws-storage-queries/example/s3-transfer.js +14 -3
  163. package/skills/jskit/references/patterns/connectors/calendar-cli/PATTERN.md +8 -0
  164. package/skills/jskit/references/patterns/connectors/calendar-cli/example/knexfile.js +1 -1
  165. package/skills/jskit/references/patterns/connectors/calendar-cli/example/package.json +4 -4
  166. package/skills/jskit/references/patterns/connectors/calendar-cli/example/scripts/calendar.js +8 -4
  167. package/skills/jskit/references/patterns/connectors/event-delivery/PATTERN.md +1 -1
  168. package/skills/jskit/references/patterns/connectors/firebase-messaging/PATTERN.md +10 -0
  169. package/skills/jskit/references/patterns/connectors/firebase-messaging/example/server/notifications.js +8 -0
  170. package/skills/jskit/references/patterns/connectors/google-ads-search/PATTERN.md +18 -7
  171. package/skills/jskit/references/patterns/connectors/google-ads-search/example/ads-setup.js +13 -5
  172. package/skills/jskit/references/patterns/connectors/oauth-connection/PATTERN.md +1 -1
  173. package/skills/jskit/references/patterns/connectors/paddle-catalogue/PATTERN.md +11 -2
  174. package/skills/jskit/references/patterns/connectors/paddle-catalogue/example/create-products.js +5 -2
  175. package/skills/jskit/references/patterns/connectors/public-image/PATTERN.md +10 -1
  176. package/skills/jskit/references/patterns/connectors/public-image/example/logo-url.js +4 -1
  177. package/skills/jskit/references/patterns/connectors/redshift-queries/PATTERN.md +1 -1
  178. package/skills/jskit/references/patterns/connectors/source-scanning/PATTERN.md +13 -2
  179. package/skills/jskit/references/patterns/connectors/source-scanning/example/source-scanner.js +9 -0
  180. package/skills/jskit/references/patterns/crud/json-api-resource-package/PATTERN.md +102 -23
  181. package/skills/jskit/references/patterns/crud/json-api-resource-package/example/packages/books/package.json +3 -2
  182. package/skills/jskit/references/patterns/crud/json-api-resource-package/example/packages/books/src/server/types.js +5 -0
  183. package/skills/jskit/references/patterns/crud/resource-contract/PATTERN.md +54 -1
  184. package/skills/jskit/references/patterns/database/mysql-application/PATTERN.md +16 -5
  185. package/skills/jskit/references/patterns/database/mysql-application/example/knexfile.js +2 -2
  186. package/skills/jskit/references/patterns/database/mysql-application/example/package.json +1 -1
  187. package/skills/jskit/references/patterns/database/mysql-application/example/scripts/prepare-database.js +1 -1
  188. package/skills/jskit/references/patterns/database/postgres-application/PATTERN.md +16 -5
  189. package/skills/jskit/references/patterns/database/postgres-application/example/knexfile.js +2 -2
  190. package/skills/jskit/references/patterns/database/postgres-application/example/package.json +1 -1
  191. package/skills/jskit/references/patterns/database/postgres-application/example/scripts/prepare-database.js +1 -1
  192. package/skills/jskit/references/patterns/realtime/realtime-application/example/package.json +2 -2
  193. package/skills/jskit/references/patterns/rewards/google-rewarded/example/GoogleRewardedDeliveryProvider.js +1 -1
  194. package/skills/jskit/references/patterns/rewards/google-rewarded/example/googlePublisherTag.js +5 -11
  195. package/skills/jskit/references/patterns/server/feature-package/PATTERN.md +104 -10
  196. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/package.json +9 -4
  197. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/BookingEngineFeature.js +24 -0
  198. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/bookingAvailability.js +10 -0
  199. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/bookingEngine.js +29 -0
  200. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/bookingEngineActions.js +26 -0
  201. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/inputSchemas.js +1 -2
  202. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/types.js +12 -0
  203. package/skills/jskit/references/patterns/server/feature-package/example/variations/AvailabilityEngineFeature.js +19 -0
  204. package/skills/jskit/references/patterns/server/feature-package/example/variations/InvoiceRollupFeature.js +23 -0
  205. package/skills/jskit/references/patterns/server/feature-package/example/variations/availabilityEngineActions.js +26 -0
  206. package/skills/jskit/references/patterns/server/feature-package/example/variations/customKnexRepository.js +32 -26
  207. package/skills/jskit/references/patterns/server/feature-package/example/variations/invoiceRollupActions.js +26 -0
  208. package/skills/jskit/references/patterns/server/feature-package/example/variations/orchestratorService.js +24 -19
  209. package/skills/jskit/references/patterns/server/feature-package/example/variations/types.js +7 -0
  210. package/skills/jskit/references/patterns/users/user-administration-server/PATTERN.md +16 -1
  211. package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users/package.json +3 -2
  212. package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users/src/server/types.js +5 -0
  213. package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/package.json +4 -3
  214. package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/src/server/UsersWorkspaceFeature.js +2 -9
  215. package/skills/jskit/references/patterns/users/user-administration-server/example/packages/users-workspace/src/server/types.js +5 -0
  216. package/skills/jskit/references/patterns/workspaces/workspace-server/PATTERN.md +42 -17
  217. package/skills/jskit/references/patterns/workspaces/workspace-server/example/packages/main/src/server/WorkspaceInvitationsFeature.js +27 -0
  218. package/skills/jskit/references/patterns/workspaces/workspace-server/example/packages/main/src/server/email/workspaceInviteEmail.js +11 -10
  219. package/skills/jskit/references/patterns/workspaces/workspace-server/example/packages/main/src/server/email/workspaceInviteMailer.js +27 -0
  220. package/skills/jskit/references/translation.md +5 -4
  221. package/skills/jskit/references/typed-features.md +1099 -0
  222. package/skills/jskit/references/ui-operations.md +3 -3
  223. package/patterns/feature-package/example/booking-engine/src/server/BookingEngineProvider.js +0 -33
  224. package/patterns/feature-package/example/booking-engine/src/server/actions.js +0 -24
  225. package/patterns/feature-package/example/variations/AvailabilityEngineProvider.js +0 -31
  226. package/patterns/feature-package/example/variations/InvoiceRollupProvider.js +0 -36
  227. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/BookingEngineProvider.js +0 -33
  228. package/skills/jskit/references/patterns/server/feature-package/example/booking-engine/src/server/actions.js +0 -24
  229. package/skills/jskit/references/patterns/server/feature-package/example/variations/AvailabilityEngineProvider.js +0 -31
  230. package/skills/jskit/references/patterns/server/feature-package/example/variations/InvoiceRollupProvider.js +0 -36
@@ -30,11 +30,13 @@ Exports
30
30
  Exports
31
31
  - `runAuthSignOutFlow`
32
32
 
33
- ### `src/server/actions/auth.contributor.js`
33
+ ### `src/server/actions/authActions.js`
34
34
  Exports
35
- - `authActionSpecifications`
36
- - `buildAuthActions({ authService } = {})`
37
- - `requireRequestContext(context, actionId)`
35
+ - `createAuthActions({ authService })`
36
+
37
+ ### `src/server/authAccess.js`
38
+ Exports
39
+ - `createAuthAccess()`
38
40
 
39
41
  ### `src/server/authActor.js`
40
42
  Exports
@@ -48,11 +50,20 @@ Local functions
48
50
  ### `src/server/authExtensions.js`
49
51
  Exports
50
52
  - `createAuthExtensions()`
53
+ - `invitationAsGiven`
51
54
  - `mergePolicyContexts(contexts = [])`
52
55
  Local functions
53
56
  - `normalizeOrderedExtension(value, { idField, method, label } = {})`
54
57
  - `ordered(values)`
55
58
 
59
+ ### `src/server/authPolicy.js`
60
+ Exports
61
+ - `createAuthPolicy({ authService, extensions, env })`
62
+ - `everyoneSignedOut`
63
+ Local functions
64
+ - `parseList(value)`
65
+ - `defaultHasPermission({ permission, permissions })`
66
+
56
67
  ### `src/server/authPolicyContextResolverRegistry.js`
57
68
  Exports
58
69
  - `registerAuthPolicyContextResolver(extensions, resolver)`
@@ -88,7 +99,9 @@ Exports
88
99
  - `DEV_AUTH_SECRET_HEADER`
89
100
  - `ensureDevAuthExchangeAvailable(policy = {}, request = null)`
90
101
  - `ensureDevAuthRuntimeAvailable(policy = {}, request = null)`
102
+ - `isDevAuthBootstrapEnabled(policy)`
91
103
  - `isLocalDevAuthRequest(request)`
104
+ - `isProductionNodeEnv(nodeEnv)`
92
105
  - `resolveDevAuthPolicy({ enabled = false, nodeEnv = "development", secret = "" } = {})`
93
106
  - `resolveDevAuthPolicyFromEnv(env = {})`
94
107
  Local functions
@@ -120,6 +133,8 @@ Exports
120
133
  - `normalizeActorResolution(result)`
121
134
  Local functions
122
135
  - `assertFunction(value, name)`
136
+ - `ignorePolicyDenial()`
137
+ - `resolveNoPolicyContext()`
123
138
 
124
139
  ### `src/server/lib/errors.js`
125
140
  Exports
@@ -154,7 +169,6 @@ Local functions
154
169
  - `enforceCsrfProtection(fastify, request, reply)`
155
170
  - `resolveCsrfToken(request)`
156
171
  - `resolveOwnerValue(meta, request)`
157
- - `notifyPolicyDenied(onPolicyDenied, payload)`
158
172
 
159
173
  ### `src/server/lib/routeMeta.js`
160
174
  Exports
@@ -177,6 +191,10 @@ Exports
177
191
  - `normalizePermissions(value)`
178
192
  - `createMembershipIndexes(memberships)`
179
193
 
194
+ ### `src/server/noAppProfiles.js`
195
+ Exports
196
+ - `noAppProfiles`
197
+
180
198
  ### `src/server/providers/AuthAccessProvider.js`
181
199
  Exports
182
200
  - `AuthAccessProvider`
@@ -192,10 +210,20 @@ Exports
192
210
  ### `src/server/providers/AuthPolicyProvider.js`
193
211
  Exports
194
212
  - `AuthPolicyProvider`
195
- Local functions
196
- - `parseList(value)`
197
- - `defaultHasPermission({ permission, permissions = [] } = {})`
198
- - `createPolicy({ authService, extensions, env })`
213
+
214
+ ### `src/server/types.js`
215
+ Exports
216
+ - `type AuthAccess`
217
+ - `type AuthExtensions`
218
+ - `type AuthPolicy`
219
+ - `type AuthCapabilities`
220
+ - `type AuthActor`
221
+ - `type AuthRequestResult`
222
+ - `type AuthProfileProjector`
223
+ - `type AuthInvitationContextResolver`
224
+ - `type AuthRealtimePolicy`
225
+ - `type AuthLogoutResult`
226
+ - `type AuthService`
199
227
 
200
228
  ### `src/server/unsupportedOperation.js`
201
229
  Exports
@@ -227,16 +255,17 @@ Local functions
227
255
  - `validateEmail(rawEmail)`
228
256
  - `checkConfirmPassword(rawPassword, rawConfirmPassword)`
229
257
  - `buildFieldErrors(entries = [])`
230
- - `buildEmailPasswordInput(payload = {}, { passwordValidator } = {})`
258
+ - `buildEmailPasswordInput(payload, { passwordValidator })`
231
259
 
232
260
  ### `src/shared/authApi.js`
233
261
  Exports
234
262
  - `createApi({ request })`
263
+ - `type AuthApiRequest`
235
264
 
236
265
  ### `src/shared/authCapabilities.js`
237
266
  Exports
238
267
  - `AUTH_PASSWORD_RECOVERY_DELIVERIES`
239
- - `AUTH_OPTIONAL_OPERATION_FEATURES`
268
+ - `AUTH_OPERATION_FEATURES`
240
269
  - `normalizeAuthProviderId(value, { fallback = "unknown" } = {})`
241
270
  - `normalizeAuthCapabilities(value = {})`
242
271
  - `getCapabilityFeature(capabilities, path)`
@@ -465,7 +494,7 @@ Exports
465
494
  - `AUTH_PATHS`
466
495
  - `buildAuthOauthStartPath`
467
496
  - `AUTH_PASSWORD_RECOVERY_DELIVERIES`
468
- - `AUTH_OPTIONAL_OPERATION_FEATURES`
497
+ - `AUTH_OPERATION_FEATURES`
469
498
  - `normalizeAuthProviderId`
470
499
  - `normalizeAuthCapabilities`
471
500
  - `getCapabilityFeature`
@@ -501,6 +530,8 @@ Exports
501
530
 
502
531
  ### `src/shared/signOutFlow.js`
503
532
  Exports
504
- - `runAuthSignOutFlow({ authApi, clearCsrfTokenCache = null, afterSignOut = null } = {})`
533
+ - `runAuthSignOutFlow({ authApi, clearCsrfTokenCache = keepCsrfTokenCache, afterSignOut = doNothingAfterSignOut } = {})`
505
534
  Local functions
506
535
  - `normalizeAuthApi(authApi)`
536
+ - `keepCsrfTokenCache()`
537
+ - `doNothingAfterSignOut()`
@@ -14,6 +14,43 @@ Use this on demand; do not load the full index at startup.
14
14
 
15
15
  ### src
16
16
 
17
+ ### `src/server/lib/accounts.js`
18
+ Exports
19
+ - `NO_PASSWORD`
20
+ - `createLocalAccounts({ appProfileProjection, backend, config, invitationContextResolver, passwords, profileProjector, sessions })`
21
+ - `hasPassword(user)`
22
+ - `normalizeDisplayName(value, email)`
23
+ - `validateEmailInput(email)`
24
+ - `validatePasswordInput(password)`
25
+ Local functions
26
+ - `devLoginAsValidationError(fields = {})`
27
+ - `devLoginAsUserNotFound({ email = "", userId = "" } = {})`
28
+ - `normalizeInvitationInput(value)`
29
+
30
+ ### `src/server/lib/authPayloads.js`
31
+ Exports
32
+ - `DEV_AUTH_SESSION_PURPOSE`
33
+ - `PROVIDER_ID`
34
+ - `buildAuthPayload({ user, session, profileProjector, profileOptions = {} })`
35
+ - `buildAuthResult({ user, session, appProfile })`
36
+ - `buildSessionAuthPayload({ appProfileProjection, devAuth, profileProjector, request, session, user, syncProfile = true })`
37
+ - `findExistingAppProfile(user, profileProjector)`
38
+ - `isAuthenticatingSession(session)`
39
+ Local functions
40
+ - `isNormalSession(session)`
41
+ - `isDevAuthSession(session)`
42
+ - `buildProfile(user)`
43
+ - `buildActor(user, profile)`
44
+
45
+ ### `src/server/lib/config.js`
46
+ Exports
47
+ - `resolveLocalAuthConfig({ appRoot, env, fileBackend, emailRecovery })`
48
+ Local functions
49
+ - `resolveStoreDir(env, appRoot)`
50
+ - `resolveSessionSecret(env, { storeDir, isProduction })`
51
+ - `resolveAppPublicUrl(env, { emailRecovery, oauthEnabled })`
52
+ - `resolveRecoveryDelivery(env, { emailRecovery, isProduction })`
53
+
17
54
  ### `src/server/lib/fileBackend.js`
18
55
  Exports
19
56
  - `createLocalFileBackend({ storeDir })`
@@ -50,27 +87,40 @@ Local functions
50
87
  ### `src/server/lib/index.js`
51
88
  Exports
52
89
  - `createLocalAuthService`
90
+ - `resolveLocalAuthConfig`
91
+ - `createLoggedRecoverySender`
53
92
  - `createLocalFileBackend`
54
93
  - `LOCAL_AUTH_USER_REGISTERED_EVENT`
55
94
  - `createLocalAuthRegisterHookDecorator`
56
95
  - `hashPassword`
57
96
  - `normalizePasswordStrategy`
97
+ - `scryptPasswordStrategy`
58
98
  - `verifyPassword`
59
99
 
60
100
  ### `src/server/lib/oauth.js`
61
101
  Exports
62
- - `createOAuthClients({ logger = null } = {})`
102
+ - `createOAuthClients({ logger })`
63
103
  - `resolveOAuthProviders(env = {})`
64
104
  Local functions
65
105
  - `signInError(statusCode, message, { code, provider = null })`
66
106
  - `unverifiedSignIn()`
67
107
  - `displayNameFrom(source = {})`
68
108
 
109
+ ### `src/server/lib/oauthFlows.js`
110
+ Exports
111
+ - `createLocalOAuthFlows({ backend, config, logger, oauthProvidersById, profileProjector, securityStatus, sessions })`
112
+
113
+ ### `src/server/lib/passwordFlows.js`
114
+ Exports
115
+ - `createLocalPasswordFlows({ backend, config, passwords, profileProjector, recoverySender, sessions })`
116
+ - `createLoggedRecoverySender(logger)`
117
+
69
118
  ### `src/server/lib/passwords.js`
70
119
  Exports
71
120
  - `hashPassword(password)`
121
+ - `normalizePasswordStrategy(strategy)`
122
+ - `scryptPasswordStrategy`
72
123
  - `verifyPassword(password, record)`
73
- - `normalizePasswordStrategy(strategy = null)`
74
124
  Local functions
75
125
  - `base64url(buffer)`
76
126
  - `fromBase64url(value)`
@@ -78,47 +128,39 @@ Local functions
78
128
  ### `src/server/lib/registerHookDecorator.js`
79
129
  Exports
80
130
  - `LOCAL_AUTH_USER_REGISTERED_EVENT`
81
- - `createLocalAuthRegisterHookDecorator({ decoratorId = "auth.local.registerHook", order = 0, logger = null, hook = null } = {})`
131
+ - `createLocalAuthRegisterHookDecorator({ decoratorId = "auth.local.registerHook", order = 0, logger, hook })`
132
+ - `type LocalAuthRegisterHook`
82
133
  Local functions
83
134
  - `assertBlockingMode(hook)`
84
- - `normalizeRegisterHook(hook = null)`
85
- - `logNonBlockingHookFailure({ logger, hook, error } = {})`
135
+ - `normalizeRegisterHook(hook)`
136
+ - `logNonBlockingHookFailure({ logger, hook, error })`
86
137
  - `runRegisterHook({ hook, result, logger })`
87
138
 
139
+ ### `src/server/lib/securityStatus.js`
140
+ Exports
141
+ - `createLocalSecurityStatus({ backend, config, oauthProvidersById, sessions })`
142
+
88
143
  ### `src/server/lib/service.js`
89
144
  Exports
90
- - `createLocalAuthService({ backend, config, profileProjector = null, passwordStrategy = null, invitationContextResolver = null, recoverySender = null })`
145
+ - `createLocalAuthService({ backend, config, invitationContextResolver, logger, passwordStrategy, profileProjector, recoverySender })`
146
+
147
+ ### `src/server/lib/sessions.js`
148
+ Exports
149
+ - `cookieOptions(isProduction, maxAge)`
150
+ - `createLocalSessions({ appProfileProjection, backend, config, profileProjector })`
151
+ - `safeRequestCookies(request)`
91
152
  Local functions
92
153
  - `nowSeconds()`
93
- - `isoFromNow(seconds)`
94
- - `isExpiredIso(value)`
95
- - `isNormalSession(session)`
96
- - `isDevAuthSession(session)`
97
- - `isAuthenticatingSession(session)`
98
- - `normalizeDisplayName(value, email)`
99
- - `hasPassword(user)`
100
- - `createId(prefix)`
101
- - `safeRequestCookies(request)`
102
154
  - `unauthenticatedAuthResult(clearSession = false)`
103
- - `cookieOptions(isProduction, maxAge)`
104
155
  - `clearCookieOptions(isProduction)`
105
- - `buildProfile(user)`
106
- - `buildActor(user, profile = null)`
107
- - `buildAuthResult({ user, session, appProfile = null })`
108
- - `requireProfileResult(profile, methodName)`
109
- - `buildAuthPayload({ user, session, profileProjector, profileOptions = {} })`
110
- - `findExistingAppProfile(user, profileProjector)`
111
- - `buildSessionAuthPayload({ devAuth, profileProjector, request, session, user, syncProfile = true })`
112
156
  - `buildAccessToken({ user, session, secret, ttlSeconds = ACCESS_TTL_SECONDS })`
113
157
  - `buildSessionPayload({ user, session, refreshToken, secret })`
114
- - `validatePasswordInput(password)`
115
- - `validateEmailInput(email)`
116
- - `devLoginAsValidationError(fields = {})`
117
- - `devLoginAsUserNotFound({ email = "", userId = "" } = {})`
118
- - `normalizeInvitationInput(value = null)`
119
158
 
120
159
  ### `src/server/lib/tokens.js`
121
160
  Exports
161
+ - `createId(prefix)`
162
+ - `isExpiredIso(value)`
163
+ - `isoFromNow(seconds)`
122
164
  - `randomToken(bytes = 32)`
123
165
  - `sha256Base64url(value)`
124
166
  - `signToken(payload, secret)`
@@ -130,20 +172,30 @@ Local functions
130
172
  ### `src/server/providers/AuthLocalProvider.js`
131
173
  Exports
132
174
  - `AuthLocalProvider`
133
- - `resolveConfig({ appRoot, backend, env, logger, recoverySender = null })`
134
- Local functions
135
- - `resolveStoreDir(env, appRoot)`
136
- - `resolveSessionSecret(env, { storeDir, isProduction })`
137
- - `resolveAppPublicUrl(env, { recoverySender, oauthProviders })`
175
+
176
+ ### `src/server/types.js`
177
+ Exports
178
+ - `type AuthLocalBackendTransaction`
179
+ - `type AuthLocalBackend`
180
+ - `type AuthLocalPasswordStrategy`
181
+ - `type AuthLocalRecoverySender`
182
+ - `type AuthLocalConfig`
183
+ - `type AuthLocalOAuthProvider`
184
+ - `type AuthLocalPasswords`
185
+ - `type AuthLocalSessions`
138
186
 
139
187
  ### test-support
140
188
 
189
+ ### `test-support/localService.js`
190
+ Exports
191
+ - `localServiceOptions({ env = {}, emailRecovery = false } = {})`
192
+
141
193
  ### `test-support/oauthHarness.js`
142
194
  Exports
143
195
  - `APP_URL`
144
196
  - `ATTEMPT_COOKIE`
145
197
  - `approveAtProvider(service, { provider = "google", returnTo = "/home", cookies = {}, link = false } = {})`
146
- - `createService({ backend, oauthProviders, profileProjector = null })`
198
+ - `createService({ backend, oauthProviders, profileProjector })`
147
199
  - `oidcProviderEntry(issuer, { id = "google", label = "Google" } = {})`
148
200
  - `sessionCookies(session)`
149
201
  - `startFakeGitHub({ user = { id: 4242, login: "ada", name: "Ada Lovelace" }, emails } = {})`
@@ -17,7 +17,7 @@ Use this on demand; do not load the full index at startup.
17
17
  ### `src/server/lib/dbBackend.js`
18
18
  Exports
19
19
  - `LOCAL_AUTH_DB_TABLES`
20
- - `createLocalDbBackend({ knex, transactionManager } = {})`
20
+ - `createLocalDbBackend({ knex, transactionManager })`
21
21
  Local functions
22
22
  - `nowIso()`
23
23
  - `toDate(value)`
@@ -34,7 +34,6 @@ Local functions
34
34
  - `userInsert(input = {})`
35
35
  - `sessionInsert(input = {})`
36
36
  - `recoveryInsert(input = {})`
37
- - `assertBackendDependencies({ knex, transactionManager } = {})`
38
37
 
39
38
  ### `src/server/lib/index.js`
40
39
  Exports
@@ -18,7 +18,7 @@ Use this on demand; do not load the full index at startup.
18
18
  Exports
19
19
  - `BACKCHANNEL_LOGOUT_EVENT`
20
20
  - `BackchannelLogoutError`
21
- - `createBackchannelLogout({ config, store, issuer, fetchImpl = null, now = Date.now })`
21
+ - `createBackchannelLogout({ config, store, issuer, fetchImpl = globalThis.fetch, now = Date.now })`
22
22
 
23
23
  ### `src/server/lib/config.js`
24
24
  Exports
@@ -43,7 +43,7 @@ Exports
43
43
 
44
44
  ### `src/server/lib/issuer.js`
45
45
  Exports
46
- - `createIssuerClient({ config, store, logger = null, fetchImpl = null, now = Date.now })`
46
+ - `createIssuerClient({ config, store, logger, fetchImpl = globalThis.fetch, now = Date.now })`
47
47
  - `registrationMetadata(origin, appName)`
48
48
  Local functions
49
49
  - `unreachable(error, logger)`
@@ -66,7 +66,7 @@ Local functions
66
66
  ### `src/server/lib/service.js`
67
67
  Exports
68
68
  - `SESSION_COOKIE`
69
- - `createOidcAuthService({ config, store, issuer, profileProjector = null, logger = null, now = Date.now })`
69
+ - `createOidcAuthService({ config, store, issuer, profileProjector, logger, now = Date.now })`
70
70
  Local functions
71
71
  - `sha256(value)`
72
72
  - `cookiesOf(request)`
@@ -100,6 +100,12 @@ Local functions
100
100
  Exports
101
101
  - `AuthOidcProvider`
102
102
 
103
+ ### `src/server/types.js`
104
+ Exports
105
+ - `type OidcConfig`
106
+ - `type OidcStore`
107
+ - `type OidcIssuerClient`
108
+
103
109
  ### `src/shared/index.js`
104
110
  Exports
105
111
  - `AUTH_OIDC_BACKCHANNEL_LOGOUT_PATH`
@@ -129,7 +135,7 @@ Exports
129
135
  ### `test-support/harness.js`
130
136
  Exports
131
137
  - `APP_ORIGIN`
132
- - `createRelyingParty({ issuer, env = {}, fetchImpl = null, now = Date.now } = {})`
138
+ - `createRelyingParty({ issuer, env = {}, fetchImpl = globalThis.fetch, now = Date.now })`
133
139
  - `requestAt(origin = APP_ORIGIN, cookies = {})`
134
140
  - `signInAtIssuer(rp, { origin = APP_ORIGIN, returnTo = "/home" } = {})`
135
141
  Local functions
@@ -20,9 +20,7 @@ Exports
20
20
 
21
21
  ### `src/server/lib/accountFlows.js`
22
22
  Exports
23
- - `createAccountFlows(deps)`
24
- Local functions
25
- - `normalizeLocalReturnToPath(value, { fallback = "" } = {})`
23
+ - `createSupabaseAccountFlows({ config, clients, sessions, profileMirror, securityStatus })`
26
24
 
27
25
  ### `src/server/lib/authCookies.js`
28
26
  Exports
@@ -78,8 +76,7 @@ Local functions
78
76
  ### `src/server/lib/authProfileNames.js`
79
77
  Exports
80
78
  - `displayNameFromEmail(email)`
81
- - `resolveDisplayName(supabaseUser, fallbackEmail)`
82
- - `resolveDisplayNameFromClaims(claims, fallbackEmail)`
79
+ - `resolveDisplayName(source, fallbackEmail)`
83
80
 
84
81
  ### `src/server/lib/authRedirectUrls.js`
85
82
  Exports
@@ -97,37 +94,43 @@ Exports
97
94
  Exports
98
95
  - `buildDisabledPasswordSecret()`
99
96
 
97
+ ### `src/server/lib/config.js`
98
+ Exports
99
+ - `assertSelectedProvider(env)`
100
+ - `resolveSupabaseConfig({ config, env })`
101
+ Local functions
102
+ - `splitCsv(value)`
103
+ - `resolveOAuthCatalog(env, auth)`
104
+ - `resolveProfileMode(auth)`
105
+
100
106
  ### `src/server/lib/devAuthBootstrap.js`
101
107
  Exports
102
- - `assertDevAuthBootstrapConfig(config, { userProfilesRepository = null } = {})`
103
- - `authenticateDevAuthRequest({ request, accessToken = "", refreshToken = "" }, { config, userProfilesRepository = null } = {})`
108
+ - `authenticateDevAuthRequest({ request, accessToken = "", refreshToken = "" }, { config, userProfilesRepository })`
104
109
  - `createDevAuthSession(profile, config)`
105
110
  - `isDevAuthToken(token)`
106
- - `resolveDevAuthConfig({ enabled = false, secret = "", nodeEnv = "development", jwtAudience = "authenticated", accessTtlSeconds = DEFAULT_DEV_AUTH_ACCESS_TTL_SECONDS, refreshTtlSeconds = DEFAULT_DEV_AUTH_REFRESH_TTL_SECONDS } = {})`
107
- - `resolveDevAuthProfile(input = {}, { userProfilesRepository = null, validationError } = {})`
111
+ - `resolveDevAuthConfig(env, jwtAudience)`
112
+ - `resolveDevAuthProfile(input, { userProfilesRepository })`
108
113
  Local functions
109
114
  - `normalizePositiveInteger(value, fallback)`
110
115
  - `stripDevAuthTokenPrefix(token)`
111
116
  - `buildProfileFromTokenClaims(payload)`
112
- - `resolveProfileFromTokenClaims(payload, { userProfilesRepository = null } = {})`
117
+ - `resolveProfileFromTokenClaims(payload, { userProfilesRepository })`
113
118
  - `signDevAuthToken(kind, profile, config)`
114
119
  - `verifyDevAuthToken(token, kind, config)`
115
120
 
116
121
  ### `src/server/lib/flowGuards.js`
117
122
  Exports
118
- - `requireNoFieldErrors(parsed, validationError)`
119
123
  - `requireAuthUserSession(response, mapError, status = 401)`
120
124
  - `requireAuthUser(response, mapError, status = 400)`
121
125
  - `requireAuthSession(response, mapError, status = 401)`
122
126
 
123
127
  ### `src/server/lib/index.js`
124
128
  Exports
125
- - `createService`
126
- - `__testables`
129
+ - `createSupabaseAuthService`
127
130
 
128
131
  ### `src/server/lib/oauthFlows.js`
129
132
  Exports
130
- - `createOauthFlows(deps)`
133
+ - `createSupabaseOAuthFlows({ config, clients, sessions, profileMirror, securityStatus })`
131
134
 
132
135
  ### `src/server/lib/oauthProviderCatalog.js`
133
136
  Exports
@@ -145,28 +148,36 @@ Local functions
145
148
  - `normalizeExplicitProviderCatalogEntry(entry)`
146
149
  - `normalizeExplicitProviderCatalog(value)`
147
150
 
148
- ### `src/server/lib/passwordSecurityFlows.js`
151
+ ### `src/server/lib/passwordFlows.js`
149
152
  Exports
150
- - `createPasswordSecurityFlows(deps)`
153
+ - `createSupabasePasswordFlows({ config, clients, sessions, profileMirror, securityStatus, profiles })`
151
154
 
152
- ### `src/server/lib/service.js`
155
+ ### `src/server/lib/profileMirror.js`
153
156
  Exports
154
- - `createService(options)`
155
- - `__testables`
157
+ - `SUPABASE_PROVIDER_ID`
158
+ - `createSupabaseProfileMirror({ config, profiles })`
156
159
  Local functions
157
- - `normalizeAuthProviderId(value, { fallback = DEFAULT_AUTH_PROVIDER_ID } = {})`
160
+ - `normalizeAuthProviderId(value)`
158
161
  - `normalizeProviderUserId(value)`
159
162
 
160
- ### `src/server/lib/standaloneProfileSyncService.js`
163
+ ### `src/server/lib/profileModes.js`
161
164
  Exports
162
- - `createStandaloneProfileSyncService()`
163
- - `USER_PROFILE_EMAIL_CONFLICT_CODE`
165
+ - `PROVIDER_MODE_PROFILES`
166
+ - `createUsersModeProfiles(identity)`
164
167
  Local functions
165
- - `buildIdentityKey({ authProvider, authProviderUserSid } = {})`
166
- - `normalizeIdentity(identityLike)`
167
- - `normalizeProfile(profileLike)`
168
- - `cloneProfile(profile)`
169
- - `createEmailConflictError()`
168
+ - `createProviderProfileProjector()`
169
+
170
+ ### `src/server/lib/securityStatus.js`
171
+ Exports
172
+ - `createSupabaseSecurityStatus({ config, capabilities, sessions, profileMirror, profiles })`
173
+
174
+ ### `src/server/lib/service.js`
175
+ Exports
176
+ - `createSupabaseAuthService({ config, profiles })`
177
+
178
+ ### `src/server/lib/sessions.js`
179
+ Exports
180
+ - `createSupabaseSessions({ config, clients, profileMirror, profiles })`
170
181
 
171
182
  ### `src/server/lib/supabaseClientOptions.js`
172
183
  Exports
@@ -174,49 +185,24 @@ Exports
174
185
  Local functions
175
186
  - `resolveRealtimeTransport(options = {})`
176
187
 
177
- ### `src/server/lib/test-utils.js`
188
+ ### `src/server/lib/supabaseClients.js`
178
189
  Exports
179
- - `createAccountFlows`
180
- - `createOauthFlows`
181
- - `createPasswordSecurityFlows`
182
- - `mapAuthError`
183
- - `validationError`
184
- - `isUserNotFoundLikeAuthError`
185
- - `mapRecoveryError`
186
- - `mapPasswordUpdateError`
187
- - `mapOtpVerifyError`
188
- - `mapProfileUpdateError`
189
- - `mapCurrentPasswordError`
190
- - `isTransientAuthMessage`
191
- - `isTransientSupabaseError`
192
- - `buildOtpLoginRedirectUrl`
193
- - `normalizeOAuthIntent`
194
- - `normalizeReturnToPath`
195
- - `buildOAuthRedirectUrl`
196
- - `buildOAuthLoginRedirectUrl`
197
- - `buildOAuthLinkRedirectUrl`
198
- - `normalizeOAuthProviderInput`
199
- - `mapOAuthCallbackError`
200
- - `resolveSupabaseOAuthProviderCatalog`
201
- - `resolveOAuthProviderQueryParams`
202
- - `buildOAuthProviderCatalogResponse`
203
- - `buildAuthMethodsStatusFromProviderIds`
204
- - `collectProviderIdsFromSupabaseUser`
205
- - `findAuthMethodById`
206
- - `findLinkedIdentityByProvider`
207
- - `buildSecurityStatusFromAuthMethodsStatus`
190
+ - `createSupabaseClients(config)`
208
191
 
209
192
  ### `src/server/providers/AuthSupabaseProvider.js`
210
193
  Exports
211
194
  - `AuthSupabaseProvider`
212
- Local functions
213
- - `normalizeRecord(value)`
214
- - `splitCsv(value)`
215
- - `oauthConfig(config)`
216
- - `providerConfig(env, config)`
217
- - `profileMode(config)`
218
- - `createProviderProfileProjector()`
219
- - `assertSelectedProvider(env)`
195
+
196
+ ### `src/server/types.js`
197
+ Exports
198
+ - `type SupabaseConfig`
199
+ - `type SupabaseClients`
200
+ - `type SupabaseProfileMirror`
201
+ - `type SupabaseSessions`
202
+ - `type SupabaseSecurityStatus`
203
+ - `type SupabaseUserProfiles`
204
+ - `type SupabaseUserSettings`
205
+ - `type SupabaseProfiles`
220
206
 
221
207
  ### patterns
222
208
 
@@ -63,6 +63,10 @@ Local functions
63
63
  Exports
64
64
  - `useLoginViewValidation({ state } = {})`
65
65
 
66
+ ### `src/client/composables/loginView/useSessionRecheckOnShow.js`
67
+ Exports
68
+ - `useSessionRecheckOnShow(recheck)`
69
+
66
70
  ### `src/client/composables/loginView/validationHelpers.js`
67
71
  Exports
68
72
  - `validateCommandSection(commandResource, section, payload)`
@@ -265,11 +269,13 @@ Local functions
265
269
  Exports
266
270
  - None
267
271
 
272
+ ### `src/server/authWeb.js`
273
+ Exports
274
+ - `createAuthWeb({ authService, env })`
275
+
268
276
  ### `src/server/AuthWebFeature.js`
269
277
  Exports
270
278
  - `AuthWebFeature`
271
- Local functions
272
- - `devAuthBootstrapEnabled(env)`
273
279
 
274
280
  ### `src/server/constants/authActionIds.js`
275
281
  Exports
@@ -279,23 +285,21 @@ Exports
279
285
  Exports
280
286
  - `AuthController`
281
287
  - `AUTH_ACTION_IDS`
282
- - `createController({ service, authService } = {})`
283
288
 
284
289
  ### `src/server/managedPreviewIdentity.js`
285
290
  Exports
286
- - `MANAGED_PREVIEW_IDENTITY_PROTOCOL`
287
- - `executeManagedPreviewIdentityRequest(value, { env = process.env, fetchImpl = globalThis.fetch } = {})`
288
- - `runManagedPreviewIdentityCommand({ env = process.env, fetchImpl = globalThis.fetch, stdin = process.stdin, stdout = process.stdout } = {})`
291
+ - `DEFAULT_PREVIEW_IDENTITY_PROTOCOL`
292
+ - `executeManagedPreviewIdentityRequest(value, { env, fetchImpl = globalThis.fetch, protocol = DEFAULT_PREVIEW_IDENTITY_PROTOCOL, localHostnames = [] })`
293
+ - `runManagedPreviewIdentityCommand({ env, fetchImpl = globalThis.fetch, stdin = process.stdin, stdout = process.stdout, protocol = DEFAULT_PREVIEW_IDENTITY_PROTOCOL, localHostnames = [] })`
289
294
  Local functions
290
295
  - `commandError(message, code = "jskit_managed_preview_identity_failed", details = {})`
291
- - `response(requestId, values)`
292
- - `failure(requestId, error)`
296
+ - `response(protocol, requestId, values)`
297
+ - `failure(protocol, requestId, error)`
293
298
  - `readBoundedStream(stream, label)`
294
299
  - `readCommandInput(stream)`
295
- - `localTargetOrigin(value)`
296
- - `normalizeRequest(value)`
300
+ - `localTargetOrigin(value, localHostnames)`
301
+ - `normalizeRequest(value, { protocol, localHostnames })`
297
302
  - `identityFromSubject(subject)`
298
- - `responseCookies(fetchResponse)`
299
303
  - `cookieHeader(setCookie)`
300
304
  - `responsePayload(fetchResponse)`
301
305
  - `rejected(payload, fetchResponse, details = {})`
@@ -313,6 +317,10 @@ Exports
313
317
  Exports
314
318
  - `AuthWebService`
315
319
 
320
+ ### `src/server/types.js`
321
+ Exports
322
+ - `type AuthWeb`
323
+
316
324
  ### patterns
317
325
 
318
326
  ### `patterns/auth-surface/example/src/pages/auth/login.vue`