@fuzdev/fuz_app 0.103.0 → 0.105.0

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 (606) hide show
  1. package/dist/actions/CLAUDE.md +2 -2
  2. package/dist/actions/action_bridge.d.ts.map +1 -1
  3. package/dist/actions/action_bridge.js +2 -2
  4. package/dist/actions/action_codegen.d.ts.map +1 -1
  5. package/dist/actions/action_codegen.js +3 -3
  6. package/dist/actions/action_dispatcher.d.ts.map +1 -1
  7. package/dist/actions/action_dispatcher.js +3 -3
  8. package/dist/actions/action_event.d.ts.map +1 -1
  9. package/dist/actions/action_event.js +11 -11
  10. package/dist/actions/action_event_data.d.ts.map +1 -1
  11. package/dist/actions/action_event_data.js +2 -2
  12. package/dist/actions/action_event_helpers.d.ts.map +1 -1
  13. package/dist/actions/action_event_helpers.js +2 -2
  14. package/dist/actions/action_event_types.d.ts.map +1 -1
  15. package/dist/actions/action_event_types.js +4 -4
  16. package/dist/actions/action_rpc.d.ts.map +1 -1
  17. package/dist/actions/action_rpc.js +13 -13
  18. package/dist/actions/action_spec.d.ts.map +1 -1
  19. package/dist/actions/action_spec.js +6 -6
  20. package/dist/actions/action_types.d.ts.map +1 -1
  21. package/dist/actions/broadcast_api.d.ts.map +1 -1
  22. package/dist/actions/broadcast_api.js +1 -1
  23. package/dist/actions/cancel.d.ts.map +1 -1
  24. package/dist/actions/cancel.js +3 -3
  25. package/dist/actions/compile_action_registry.d.ts.map +1 -1
  26. package/dist/actions/frontend_rpc_client.d.ts.map +1 -1
  27. package/dist/actions/frontend_rpc_client.js +3 -3
  28. package/dist/actions/heartbeat.d.ts.map +1 -1
  29. package/dist/actions/heartbeat.js +2 -2
  30. package/dist/actions/peer_ping.d.ts.map +1 -1
  31. package/dist/actions/peer_ping.js +6 -6
  32. package/dist/actions/peer_request.d.ts.map +1 -1
  33. package/dist/actions/perform_action.d.ts.map +1 -1
  34. package/dist/actions/perform_action.js +13 -13
  35. package/dist/actions/protocol.d.ts.map +1 -1
  36. package/dist/actions/protocol.js +1 -1
  37. package/dist/actions/register_action_ws.d.ts.map +1 -1
  38. package/dist/actions/register_action_ws.js +14 -11
  39. package/dist/actions/register_ws_endpoint.d.ts.map +1 -1
  40. package/dist/actions/register_ws_endpoint.js +3 -3
  41. package/dist/actions/request_tracker.svelte.d.ts.map +1 -1
  42. package/dist/actions/request_tracker.svelte.js +2 -2
  43. package/dist/actions/rpc_client.d.ts.map +1 -1
  44. package/dist/actions/rpc_client.js +7 -7
  45. package/dist/actions/socket.svelte.d.ts.map +1 -1
  46. package/dist/actions/socket.svelte.js +4 -3
  47. package/dist/actions/transports.d.ts.map +1 -1
  48. package/dist/actions/transports_http.d.ts.map +1 -1
  49. package/dist/actions/transports_http.js +7 -7
  50. package/dist/actions/transports_ws.d.ts.map +1 -1
  51. package/dist/actions/transports_ws.js +3 -3
  52. package/dist/actions/transports_ws_auth_guard.d.ts +4 -4
  53. package/dist/actions/transports_ws_auth_guard.d.ts.map +1 -1
  54. package/dist/actions/transports_ws_auth_guard.js +5 -5
  55. package/dist/actions/transports_ws_backend.d.ts.map +1 -1
  56. package/dist/actions/transports_ws_backend.js +2 -2
  57. package/dist/actions/ws_endpoint_spec.d.ts +2 -2
  58. package/dist/actions/ws_endpoint_spec.d.ts.map +1 -1
  59. package/dist/auth/CLAUDE.md +40 -18
  60. package/dist/auth/account_action_specs.d.ts +4 -4
  61. package/dist/auth/account_action_specs.d.ts.map +1 -1
  62. package/dist/auth/account_action_specs.js +18 -19
  63. package/dist/auth/account_actions.d.ts +3 -3
  64. package/dist/auth/account_actions.d.ts.map +1 -1
  65. package/dist/auth/account_actions.js +10 -10
  66. package/dist/auth/account_queries.d.ts.map +1 -1
  67. package/dist/auth/account_queries.js +6 -6
  68. package/dist/auth/account_route_schema.d.ts.map +1 -1
  69. package/dist/auth/account_route_schema.js +19 -19
  70. package/dist/auth/account_routes.d.ts +2 -2
  71. package/dist/auth/account_routes.d.ts.map +1 -1
  72. package/dist/auth/account_routes.js +27 -27
  73. package/dist/auth/account_schema.d.ts +13 -2
  74. package/dist/auth/account_schema.d.ts.map +1 -1
  75. package/dist/auth/account_schema.js +22 -11
  76. package/dist/auth/actor_lookup_action_specs.d.ts.map +1 -1
  77. package/dist/auth/actor_lookup_action_specs.js +5 -5
  78. package/dist/auth/actor_lookup_actions.d.ts +4 -2
  79. package/dist/auth/actor_lookup_actions.d.ts.map +1 -1
  80. package/dist/auth/actor_lookup_actions.js +3 -3
  81. package/dist/auth/actor_lookup_queries.d.ts.map +1 -1
  82. package/dist/auth/actor_search_action_specs.d.ts.map +1 -1
  83. package/dist/auth/actor_search_action_specs.js +6 -6
  84. package/dist/auth/actor_search_actions.d.ts +4 -2
  85. package/dist/auth/actor_search_actions.d.ts.map +1 -1
  86. package/dist/auth/actor_search_actions.js +5 -5
  87. package/dist/auth/actor_search_queries.d.ts.map +1 -1
  88. package/dist/auth/admin_action_specs.d.ts +2 -2
  89. package/dist/auth/admin_action_specs.d.ts.map +1 -1
  90. package/dist/auth/admin_action_specs.js +55 -55
  91. package/dist/auth/admin_actions.d.ts +5 -5
  92. package/dist/auth/admin_actions.d.ts.map +1 -1
  93. package/dist/auth/admin_actions.js +45 -44
  94. package/dist/auth/all_action_spec_registries.d.ts.map +1 -1
  95. package/dist/auth/all_action_spec_registries.js +1 -1
  96. package/dist/auth/all_cell_actions.d.ts.map +1 -1
  97. package/dist/auth/all_cell_actions.js +1 -1
  98. package/dist/auth/api_token.d.ts.map +1 -1
  99. package/dist/auth/api_token_queries.d.ts +7 -2
  100. package/dist/auth/api_token_queries.d.ts.map +1 -1
  101. package/dist/auth/api_token_queries.js +8 -3
  102. package/dist/auth/app_settings_queries.d.ts.map +1 -1
  103. package/dist/auth/app_settings_schema.d.ts.map +1 -1
  104. package/dist/auth/app_settings_schema.js +3 -3
  105. package/dist/auth/audit_emitter.d.ts +28 -20
  106. package/dist/auth/audit_emitter.d.ts.map +1 -1
  107. package/dist/auth/audit_emitter.js +37 -19
  108. package/dist/auth/audit_log_ddl.js +1 -1
  109. package/dist/auth/audit_log_queries.d.ts.map +1 -1
  110. package/dist/auth/audit_log_queries.js +2 -2
  111. package/dist/auth/audit_log_route_schema.d.ts.map +1 -1
  112. package/dist/auth/audit_log_route_schema.js +1 -1
  113. package/dist/auth/audit_log_routes.d.ts.map +1 -1
  114. package/dist/auth/audit_log_routes.js +3 -3
  115. package/dist/auth/audit_log_schema.d.ts +2 -2
  116. package/dist/auth/audit_log_schema.d.ts.map +1 -1
  117. package/dist/auth/audit_log_schema.js +69 -68
  118. package/dist/auth/auth_ddl.js +3 -3
  119. package/dist/auth/auth_guard_resolver.d.ts.map +1 -1
  120. package/dist/auth/bearer_auth.d.ts.map +1 -1
  121. package/dist/auth/bootstrap_account.d.ts.map +1 -1
  122. package/dist/auth/bootstrap_account.js +5 -5
  123. package/dist/auth/bootstrap_route_schema.d.ts.map +1 -1
  124. package/dist/auth/bootstrap_route_schema.js +6 -6
  125. package/dist/auth/bootstrap_routes.d.ts.map +1 -1
  126. package/dist/auth/bootstrap_routes.js +7 -7
  127. package/dist/auth/cell_action_specs.d.ts +227 -2
  128. package/dist/auth/cell_action_specs.d.ts.map +1 -1
  129. package/dist/auth/cell_action_specs.js +117 -39
  130. package/dist/auth/cell_actions.d.ts +34 -11
  131. package/dist/auth/cell_actions.d.ts.map +1 -1
  132. package/dist/auth/cell_actions.js +155 -41
  133. package/dist/auth/cell_audit_action_specs.d.ts.map +1 -1
  134. package/dist/auth/cell_audit_action_specs.js +4 -4
  135. package/dist/auth/cell_audit_actions.d.ts.map +1 -1
  136. package/dist/auth/cell_audit_actions.js +3 -3
  137. package/dist/auth/cell_audit_events.d.ts +1 -1
  138. package/dist/auth/cell_audit_events.d.ts.map +1 -1
  139. package/dist/auth/cell_audit_events.js +7 -6
  140. package/dist/auth/cell_audit_metadata.d.ts +15 -0
  141. package/dist/auth/cell_audit_metadata.d.ts.map +1 -1
  142. package/dist/auth/cell_audit_metadata.js +13 -2
  143. package/dist/auth/cell_authorize.d.ts.map +1 -1
  144. package/dist/auth/cell_data_schema.d.ts.map +1 -1
  145. package/dist/auth/cell_data_schema.js +1 -1
  146. package/dist/auth/cell_field_action_specs.d.ts.map +1 -1
  147. package/dist/auth/cell_field_action_specs.js +16 -16
  148. package/dist/auth/cell_field_actions.d.ts +2 -2
  149. package/dist/auth/cell_field_actions.d.ts.map +1 -1
  150. package/dist/auth/cell_field_actions.js +11 -11
  151. package/dist/auth/cell_field_audit_metadata.d.ts.map +1 -1
  152. package/dist/auth/cell_field_audit_metadata.js +2 -2
  153. package/dist/auth/cell_grant_action_specs.d.ts.map +1 -1
  154. package/dist/auth/cell_grant_action_specs.js +15 -15
  155. package/dist/auth/cell_grant_actions.d.ts +2 -2
  156. package/dist/auth/cell_grant_actions.d.ts.map +1 -1
  157. package/dist/auth/cell_grant_actions.js +12 -12
  158. package/dist/auth/cell_grant_audit_metadata.d.ts.map +1 -1
  159. package/dist/auth/cell_grant_audit_metadata.js +3 -3
  160. package/dist/auth/cell_item_action_specs.d.ts +6 -2
  161. package/dist/auth/cell_item_action_specs.d.ts.map +1 -1
  162. package/dist/auth/cell_item_action_specs.js +25 -21
  163. package/dist/auth/cell_item_actions.d.ts +2 -2
  164. package/dist/auth/cell_item_actions.d.ts.map +1 -1
  165. package/dist/auth/cell_item_actions.js +14 -14
  166. package/dist/auth/cell_item_audit_metadata.d.ts.map +1 -1
  167. package/dist/auth/cell_item_audit_metadata.js +3 -3
  168. package/dist/auth/cell_relation_visibility.d.ts.map +1 -1
  169. package/dist/auth/cleanup.d.ts.map +1 -1
  170. package/dist/auth/cleanup.js +2 -2
  171. package/dist/auth/credential_type_schema.d.ts.map +1 -1
  172. package/dist/auth/credential_type_schema.js +5 -5
  173. package/dist/auth/daemon_token.d.ts.map +1 -1
  174. package/dist/auth/daemon_token_middleware.d.ts.map +1 -1
  175. package/dist/auth/daemon_token_middleware.js +2 -2
  176. package/dist/auth/deps.d.ts +20 -5
  177. package/dist/auth/deps.d.ts.map +1 -1
  178. package/dist/auth/grant_path_schema.d.ts.map +1 -1
  179. package/dist/auth/grant_path_schema.js +8 -8
  180. package/dist/auth/invite_queries.d.ts.map +1 -1
  181. package/dist/auth/invite_schema.d.ts.map +1 -1
  182. package/dist/auth/invite_schema.js +2 -2
  183. package/dist/auth/keyring.d.ts.map +1 -1
  184. package/dist/auth/keyring.js +1 -1
  185. package/dist/auth/middleware.d.ts.map +1 -1
  186. package/dist/auth/middleware.js +7 -7
  187. package/dist/auth/migrations.d.ts.map +1 -1
  188. package/dist/auth/migrations.js +22 -20
  189. package/dist/auth/password.d.ts.map +1 -1
  190. package/dist/auth/password_argon2.d.ts.map +1 -1
  191. package/dist/auth/password_argon2.js +2 -2
  192. package/dist/auth/request_context.d.ts.map +1 -1
  193. package/dist/auth/request_context.js +7 -7
  194. package/dist/auth/role_grant_offer_action_specs.d.ts.map +1 -1
  195. package/dist/auth/role_grant_offer_action_specs.js +35 -35
  196. package/dist/auth/role_grant_offer_actions.d.ts +7 -4
  197. package/dist/auth/role_grant_offer_actions.d.ts.map +1 -1
  198. package/dist/auth/role_grant_offer_actions.js +43 -43
  199. package/dist/auth/role_grant_offer_notifications.d.ts.map +1 -1
  200. package/dist/auth/role_grant_offer_notifications.js +13 -13
  201. package/dist/auth/role_grant_offer_queries.d.ts +1 -1
  202. package/dist/auth/role_grant_offer_queries.d.ts.map +1 -1
  203. package/dist/auth/role_grant_offer_queries.js +11 -11
  204. package/dist/auth/role_grant_offer_schema.d.ts.map +1 -1
  205. package/dist/auth/role_grant_offer_schema.js +7 -7
  206. package/dist/auth/role_grant_queries.d.ts.map +1 -1
  207. package/dist/auth/role_grant_queries.js +3 -3
  208. package/dist/auth/role_schema.d.ts.map +1 -1
  209. package/dist/auth/role_schema.js +7 -7
  210. package/dist/auth/scope_kind_schema.d.ts.map +1 -1
  211. package/dist/auth/self_service_role_action_specs.d.ts.map +1 -1
  212. package/dist/auth/self_service_role_action_specs.js +5 -5
  213. package/dist/auth/self_service_role_actions.d.ts +3 -3
  214. package/dist/auth/self_service_role_actions.d.ts.map +1 -1
  215. package/dist/auth/self_service_role_actions.js +9 -9
  216. package/dist/auth/session_cookie.d.ts.map +1 -1
  217. package/dist/auth/session_cookie.js +3 -3
  218. package/dist/auth/session_middleware.d.ts.map +1 -1
  219. package/dist/auth/session_middleware.js +4 -4
  220. package/dist/auth/session_queries.d.ts +14 -4
  221. package/dist/auth/session_queries.d.ts.map +1 -1
  222. package/dist/auth/session_queries.js +13 -3
  223. package/dist/auth/signup_route_schema.d.ts.map +1 -1
  224. package/dist/auth/signup_route_schema.js +6 -6
  225. package/dist/auth/signup_routes.d.ts.map +1 -1
  226. package/dist/auth/signup_routes.js +11 -11
  227. package/dist/auth/standard_action_specs.d.ts.map +1 -1
  228. package/dist/auth/standard_action_specs.js +1 -1
  229. package/dist/auth/standard_rpc_actions.d.ts +4 -4
  230. package/dist/auth/standard_rpc_actions.d.ts.map +1 -1
  231. package/dist/auth/standard_rpc_actions.js +3 -3
  232. package/dist/cli/args.d.ts.map +1 -1
  233. package/dist/cli/config.d.ts.map +1 -1
  234. package/dist/cli/daemon.d.ts.map +1 -1
  235. package/dist/cli/daemon.js +3 -3
  236. package/dist/cli/help.d.ts.map +1 -1
  237. package/dist/cli/help.js +1 -1
  238. package/dist/cli/logger.d.ts.map +1 -1
  239. package/dist/cli/logger.js +1 -1
  240. package/dist/cli/util.d.ts.map +1 -1
  241. package/dist/cli/util.js +1 -1
  242. package/dist/db/CLAUDE.md +16 -6
  243. package/dist/db/cell_audit_queries.d.ts.map +1 -1
  244. package/dist/db/cell_audit_queries.js +1 -1
  245. package/dist/db/cell_ddl.d.ts +14 -1
  246. package/dist/db/cell_ddl.d.ts.map +1 -1
  247. package/dist/db/cell_ddl.js +26 -6
  248. package/dist/db/cell_field_queries.d.ts.map +1 -1
  249. package/dist/db/cell_grant_queries.d.ts.map +1 -1
  250. package/dist/db/cell_grant_queries.js +1 -1
  251. package/dist/db/cell_history_ddl.d.ts.map +1 -1
  252. package/dist/db/cell_history_ddl.js +4 -4
  253. package/dist/db/cell_item_queries.d.ts.map +1 -1
  254. package/dist/db/cell_queries.d.ts +46 -1
  255. package/dist/db/cell_queries.d.ts.map +1 -1
  256. package/dist/db/cell_queries.js +42 -5
  257. package/dist/db/create_db.d.ts.map +1 -1
  258. package/dist/db/create_db.js +1 -1
  259. package/dist/db/db.d.ts.map +1 -1
  260. package/dist/db/db_pg.d.ts.map +1 -1
  261. package/dist/db/db_pg.js +1 -1
  262. package/dist/db/db_pglite.d.ts.map +1 -1
  263. package/dist/db/db_pglite.js +1 -1
  264. package/dist/db/fact_ddl.d.ts.map +1 -1
  265. package/dist/db/fact_ddl.js +3 -3
  266. package/dist/db/fact_disk_storage.d.ts +1 -1
  267. package/dist/db/fact_disk_storage.d.ts.map +1 -1
  268. package/dist/db/fact_disk_storage.js +6 -6
  269. package/dist/db/fact_queries.d.ts +1 -1
  270. package/dist/db/fact_queries.d.ts.map +1 -1
  271. package/dist/db/fact_queries.js +2 -2
  272. package/dist/db/fact_store.d.ts +1 -1
  273. package/dist/db/fact_store.d.ts.map +1 -1
  274. package/dist/db/fact_store.js +9 -9
  275. package/dist/db/fact_store_errors.d.ts.map +1 -1
  276. package/dist/db/file_fact_url.d.ts +1 -1
  277. package/dist/db/file_fact_url.d.ts.map +1 -1
  278. package/dist/db/file_fact_url.js +1 -1
  279. package/dist/db/migrate.d.ts.map +1 -1
  280. package/dist/db/pg_error.d.ts.map +1 -1
  281. package/dist/db/query_deps.d.ts.map +1 -1
  282. package/dist/db/schema_ready.d.ts.map +1 -1
  283. package/dist/db/schema_ready.js +2 -2
  284. package/dist/db/status.d.ts.map +1 -1
  285. package/dist/db/status.js +6 -6
  286. package/dist/dev/setup.d.ts.map +1 -1
  287. package/dist/dev/setup.js +6 -6
  288. package/dist/env/dotenv.d.ts.map +1 -1
  289. package/dist/env/load.d.ts.map +1 -1
  290. package/dist/env/resolve.d.ts.map +1 -1
  291. package/dist/hono_context.d.ts.map +1 -1
  292. package/dist/hono_context.js +2 -2
  293. package/dist/http/auth_shape.d.ts.map +1 -1
  294. package/dist/http/auth_shape.js +6 -6
  295. package/dist/http/client_ip.d.ts.map +1 -1
  296. package/dist/http/common_routes.d.ts.map +1 -1
  297. package/dist/http/common_routes.js +8 -8
  298. package/dist/http/db_routes.d.ts.map +1 -1
  299. package/dist/http/db_routes.js +27 -23
  300. package/dist/http/error_schemas.d.ts +1 -1
  301. package/dist/http/error_schemas.d.ts.map +1 -1
  302. package/dist/http/error_schemas.js +13 -13
  303. package/dist/http/jsonrpc.d.ts.map +1 -1
  304. package/dist/http/jsonrpc.js +9 -9
  305. package/dist/http/jsonrpc_errors.d.ts.map +1 -1
  306. package/dist/http/jsonrpc_errors.js +21 -21
  307. package/dist/http/jsonrpc_helpers.d.ts.map +1 -1
  308. package/dist/http/jsonrpc_helpers.js +7 -7
  309. package/dist/http/middleware_spec.d.ts.map +1 -1
  310. package/dist/http/origin.d.ts.map +1 -1
  311. package/dist/http/pending_effects.d.ts.map +1 -1
  312. package/dist/http/proxy.d.ts.map +1 -1
  313. package/dist/http/proxy.js +1 -1
  314. package/dist/http/route_spec.d.ts.map +1 -1
  315. package/dist/http/route_spec.js +6 -6
  316. package/dist/http/schema_helpers.d.ts.map +1 -1
  317. package/dist/http/schema_helpers.js +1 -1
  318. package/dist/http/surface.d.ts.map +1 -1
  319. package/dist/http/surface.js +11 -11
  320. package/dist/http/surface_query.d.ts.map +1 -1
  321. package/dist/http/surface_query.js +1 -1
  322. package/dist/primitive_schemas.d.ts.map +1 -1
  323. package/dist/primitive_schemas.js +1 -1
  324. package/dist/rate_limiter.d.ts.map +1 -1
  325. package/dist/rate_limiter.js +4 -4
  326. package/dist/realtime/sse.d.ts.map +1 -1
  327. package/dist/realtime/sse.js +2 -2
  328. package/dist/realtime/sse_auth_guard.d.ts +4 -4
  329. package/dist/realtime/sse_auth_guard.d.ts.map +1 -1
  330. package/dist/realtime/sse_auth_guard.js +8 -8
  331. package/dist/realtime/subscriber_registry.d.ts.map +1 -1
  332. package/dist/runtime/deno.d.ts.map +1 -1
  333. package/dist/runtime/deno.js +7 -7
  334. package/dist/runtime/deps.d.ts.map +1 -1
  335. package/dist/runtime/fs.d.ts.map +1 -1
  336. package/dist/runtime/mock.d.ts.map +1 -1
  337. package/dist/runtime/mock.js +3 -3
  338. package/dist/runtime/node.d.ts.map +1 -1
  339. package/dist/runtime/node.js +7 -7
  340. package/dist/schema_meta.d.ts.map +1 -1
  341. package/dist/server/app_backend.d.ts +3 -3
  342. package/dist/server/app_backend.d.ts.map +1 -1
  343. package/dist/server/app_backend.js +3 -3
  344. package/dist/server/app_server.d.ts +6 -6
  345. package/dist/server/app_server.d.ts.map +1 -1
  346. package/dist/server/app_server.js +32 -32
  347. package/dist/server/app_server_context.d.ts.map +1 -1
  348. package/dist/server/env.d.ts.map +1 -1
  349. package/dist/server/env.js +9 -9
  350. package/dist/server/fact_write.d.ts +1 -1
  351. package/dist/server/fact_write.d.ts.map +1 -1
  352. package/dist/server/fact_write.js +2 -1
  353. package/dist/server/file_fact_fetcher.d.ts.map +1 -1
  354. package/dist/server/file_fact_fetcher.js +1 -1
  355. package/dist/server/serve_fact_route.d.ts.map +1 -1
  356. package/dist/server/serve_fact_route.js +15 -13
  357. package/dist/server/startup.d.ts.map +1 -1
  358. package/dist/server/static.d.ts.map +1 -1
  359. package/dist/server/validate_nginx.js +1 -1
  360. package/dist/server/x_accel.d.ts.map +1 -1
  361. package/dist/server/x_accel.js +1 -1
  362. package/dist/testing/CLAUDE.md +27 -18
  363. package/dist/testing/admin_integration.d.ts.map +1 -1
  364. package/dist/testing/admin_integration.js +62 -62
  365. package/dist/testing/adversarial_404.d.ts.map +1 -1
  366. package/dist/testing/adversarial_404.js +1 -1
  367. package/dist/testing/adversarial_headers.d.ts.map +1 -1
  368. package/dist/testing/adversarial_headers.js +15 -15
  369. package/dist/testing/adversarial_input.d.ts.map +1 -1
  370. package/dist/testing/adversarial_input.js +22 -22
  371. package/dist/testing/app_server.d.ts.map +1 -1
  372. package/dist/testing/app_server.js +32 -32
  373. package/dist/testing/assertions.d.ts.map +1 -1
  374. package/dist/testing/attack_surface.d.ts.map +1 -1
  375. package/dist/testing/attack_surface.js +12 -12
  376. package/dist/testing/audit_completeness.d.ts.map +1 -1
  377. package/dist/testing/audit_completeness.js +41 -41
  378. package/dist/testing/audit_drift_guard.d.ts +3 -1
  379. package/dist/testing/audit_drift_guard.d.ts.map +1 -1
  380. package/dist/testing/audit_drift_guard.js +12 -6
  381. package/dist/testing/auth_apps.d.ts.map +1 -1
  382. package/dist/testing/auth_apps.js +4 -4
  383. package/dist/testing/bootstrap_success.d.ts.map +1 -1
  384. package/dist/testing/bootstrap_success.js +11 -11
  385. package/dist/testing/connection_closer_helpers.d.ts.map +1 -1
  386. package/dist/testing/connection_closer_helpers.js +1 -1
  387. package/dist/testing/cross_backend/account_lifecycle.d.ts.map +1 -1
  388. package/dist/testing/cross_backend/account_lifecycle.js +1 -1
  389. package/dist/testing/cross_backend/action_manifest.d.ts.map +1 -1
  390. package/dist/testing/cross_backend/action_manifest.js +4 -4
  391. package/dist/testing/cross_backend/action_manifest_parity.d.ts.map +1 -1
  392. package/dist/testing/cross_backend/actor_lookup.d.ts.map +1 -1
  393. package/dist/testing/cross_backend/actor_lookup.js +3 -3
  394. package/dist/testing/cross_backend/actor_search.d.ts.map +1 -1
  395. package/dist/testing/cross_backend/actor_search.js +5 -5
  396. package/dist/testing/cross_backend/app_settings.d.ts.map +1 -1
  397. package/dist/testing/cross_backend/app_settings.js +6 -6
  398. package/dist/testing/cross_backend/backend_config.d.ts.map +1 -1
  399. package/dist/testing/cross_backend/bench/bench_report.d.ts.map +1 -1
  400. package/dist/testing/cross_backend/bench/bench_report.js +5 -5
  401. package/dist/testing/cross_backend/bench/run_cross_impl_bench.d.ts.map +1 -1
  402. package/dist/testing/cross_backend/bench/run_cross_impl_bench.js +2 -2
  403. package/dist/testing/cross_backend/bench/scenario.d.ts.map +1 -1
  404. package/dist/testing/cross_backend/bench/scenario.js +1 -1
  405. package/dist/testing/cross_backend/body_size.d.ts.map +1 -1
  406. package/dist/testing/cross_backend/body_size.js +1 -1
  407. package/dist/testing/cross_backend/bootstrap_backend.d.ts.map +1 -1
  408. package/dist/testing/cross_backend/bootstrap_backend.js +2 -2
  409. package/dist/testing/cross_backend/build_test_backend_paths.js +1 -1
  410. package/dist/testing/cross_backend/capabilities.js +2 -2
  411. package/dist/testing/cross_backend/cell_cross_helpers.d.ts.map +1 -1
  412. package/dist/testing/cross_backend/cell_crud.d.ts.map +1 -1
  413. package/dist/testing/cross_backend/cell_crud.js +5 -2
  414. package/dist/testing/cross_backend/cell_gated_create.d.ts +24 -0
  415. package/dist/testing/cross_backend/cell_gated_create.d.ts.map +1 -1
  416. package/dist/testing/cross_backend/cell_gated_create.js +178 -35
  417. package/dist/testing/cross_backend/cell_grant_role.d.ts.map +1 -1
  418. package/dist/testing/cross_backend/cell_grant_role.js +2 -2
  419. package/dist/testing/cross_backend/cell_relations.d.ts.map +1 -1
  420. package/dist/testing/cross_backend/cell_relations.js +13 -13
  421. package/dist/testing/cross_backend/conformance_case.d.ts.map +1 -1
  422. package/dist/testing/cross_backend/conformance_case.js +11 -11
  423. package/dist/testing/cross_backend/conformance_table.d.ts.map +1 -1
  424. package/dist/testing/cross_backend/conformance_table.js +11 -11
  425. package/dist/testing/cross_backend/cookie_attributes.d.ts.map +1 -1
  426. package/dist/testing/cross_backend/cookie_attributes.js +4 -4
  427. package/dist/testing/cross_backend/create_cross_backend_global_setup.d.ts +1 -1
  428. package/dist/testing/cross_backend/create_cross_backend_global_setup.d.ts.map +1 -1
  429. package/dist/testing/cross_backend/create_cross_backend_global_setup.js +1 -1
  430. package/dist/testing/cross_backend/create_dual_spawn_global_setup.d.ts +1 -1
  431. package/dist/testing/cross_backend/create_dual_spawn_global_setup.d.ts.map +1 -1
  432. package/dist/testing/cross_backend/create_dual_spawn_global_setup.js +1 -1
  433. package/dist/testing/cross_backend/credential_header_robustness.js +1 -1
  434. package/dist/testing/cross_backend/default_backend_configs.d.ts.map +1 -1
  435. package/dist/testing/cross_backend/default_backend_configs.js +12 -12
  436. package/dist/testing/cross_backend/default_spine_surface.d.ts.map +1 -1
  437. package/dist/testing/cross_backend/default_spine_surface.js +9 -9
  438. package/dist/testing/cross_backend/expected_schema.json +3 -0
  439. package/dist/testing/cross_backend/fact_serving.d.ts.map +1 -1
  440. package/dist/testing/cross_backend/fact_serving.js +2 -2
  441. package/dist/testing/cross_backend/full_spine_mount.d.ts.map +1 -1
  442. package/dist/testing/cross_backend/full_spine_mount.js +11 -8
  443. package/dist/testing/cross_backend/identity_parity.d.ts.map +1 -1
  444. package/dist/testing/cross_backend/identity_parity.js +28 -24
  445. package/dist/testing/cross_backend/in_process_setup.d.ts.map +1 -1
  446. package/dist/testing/cross_backend/in_process_setup.js +9 -9
  447. package/dist/testing/cross_backend/login_security.d.ts.map +1 -1
  448. package/dist/testing/cross_backend/login_security.js +2 -2
  449. package/dist/testing/cross_backend/make_cross_backend_project.d.ts +1 -1
  450. package/dist/testing/cross_backend/make_cross_backend_project.d.ts.map +1 -1
  451. package/dist/testing/cross_backend/make_cross_backend_project.js +3 -3
  452. package/dist/testing/cross_backend/method_coverage.d.ts.map +1 -1
  453. package/dist/testing/cross_backend/origin.d.ts.map +1 -1
  454. package/dist/testing/cross_backend/origin.js +4 -4
  455. package/dist/testing/cross_backend/peer_ping_ws.d.ts.map +1 -1
  456. package/dist/testing/cross_backend/peer_ping_ws.js +6 -6
  457. package/dist/testing/cross_backend/ready.d.ts.map +1 -1
  458. package/dist/testing/cross_backend/role_grant_offer_enumeration.d.ts.map +1 -1
  459. package/dist/testing/cross_backend/role_grant_offer_enumeration.js +1 -1
  460. package/dist/testing/cross_backend/role_grant_offer_notification_ws.d.ts.map +1 -1
  461. package/dist/testing/cross_backend/role_grant_offer_notification_ws.js +1 -1
  462. package/dist/testing/cross_backend/role_grant_participation.d.ts.map +1 -1
  463. package/dist/testing/cross_backend/rust_spine_stub_backend_config.d.ts.map +1 -1
  464. package/dist/testing/cross_backend/rust_spine_stub_backend_config.js +5 -5
  465. package/dist/testing/cross_backend/setup.d.ts.map +1 -1
  466. package/dist/testing/cross_backend/setup.js +36 -36
  467. package/dist/testing/cross_backend/spawn_backend.d.ts.map +1 -1
  468. package/dist/testing/cross_backend/spawn_backend.js +1 -1
  469. package/dist/testing/cross_backend/sse_round_trip.d.ts.map +1 -1
  470. package/dist/testing/cross_backend/sse_round_trip.js +10 -7
  471. package/dist/testing/cross_backend/standard.d.ts.map +1 -1
  472. package/dist/testing/cross_backend/standard.js +5 -5
  473. package/dist/testing/cross_backend/test_cell_gated_create_authorize.d.ts +12 -7
  474. package/dist/testing/cross_backend/test_cell_gated_create_authorize.d.ts.map +1 -1
  475. package/dist/testing/cross_backend/test_cell_gated_create_authorize.js +54 -15
  476. package/dist/testing/cross_backend/testing_backdoor.d.ts.map +1 -1
  477. package/dist/testing/cross_backend/testing_backdoor.js +7 -7
  478. package/dist/testing/cross_backend/testing_reset_actions.d.ts.map +1 -1
  479. package/dist/testing/cross_backend/testing_reset_actions.js +24 -23
  480. package/dist/testing/cross_backend/testing_server_bun.d.ts.map +1 -1
  481. package/dist/testing/cross_backend/testing_server_bun.js +3 -3
  482. package/dist/testing/cross_backend/testing_server_core.d.ts.map +1 -1
  483. package/dist/testing/cross_backend/testing_server_core.js +1 -1
  484. package/dist/testing/cross_backend/testing_server_deno.d.ts.map +1 -1
  485. package/dist/testing/cross_backend/testing_server_deno.js +1 -1
  486. package/dist/testing/cross_backend/testing_server_node.d.ts.map +1 -1
  487. package/dist/testing/cross_backend/testing_server_node.js +3 -3
  488. package/dist/testing/cross_backend/ts_spine_backend_config.d.ts.map +1 -1
  489. package/dist/testing/cross_backend/ts_spine_backend_config.js +13 -13
  490. package/dist/testing/cross_backend/ws_round_trip.d.ts.map +1 -1
  491. package/dist/testing/cross_backend/ws_round_trip.js +2 -2
  492. package/dist/testing/data_exposure.d.ts.map +1 -1
  493. package/dist/testing/data_exposure.js +8 -8
  494. package/dist/testing/db.d.ts.map +1 -1
  495. package/dist/testing/db.js +3 -3
  496. package/dist/testing/db_entities.d.ts.map +1 -1
  497. package/dist/testing/db_entities.js +1 -1
  498. package/dist/testing/entities.d.ts.map +1 -1
  499. package/dist/testing/entities.js +5 -5
  500. package/dist/testing/error_coverage.d.ts.map +1 -1
  501. package/dist/testing/integration.d.ts.map +1 -1
  502. package/dist/testing/integration.js +106 -106
  503. package/dist/testing/integration_helpers.d.ts.map +1 -1
  504. package/dist/testing/integration_helpers.js +3 -3
  505. package/dist/testing/middleware.d.ts.map +1 -1
  506. package/dist/testing/middleware.js +11 -11
  507. package/dist/testing/mock_fs.js +1 -1
  508. package/dist/testing/rate_limiting.d.ts.map +1 -1
  509. package/dist/testing/rate_limiting.js +23 -23
  510. package/dist/testing/role_grant_helpers.d.ts.map +1 -1
  511. package/dist/testing/role_grant_helpers.js +3 -3
  512. package/dist/testing/round_trip.d.ts.map +1 -1
  513. package/dist/testing/round_trip.js +6 -6
  514. package/dist/testing/rpc_attack_surface.d.ts.map +1 -1
  515. package/dist/testing/rpc_attack_surface.js +12 -12
  516. package/dist/testing/rpc_helpers.d.ts.map +1 -1
  517. package/dist/testing/rpc_helpers.js +11 -11
  518. package/dist/testing/rpc_round_trip.d.ts.map +1 -1
  519. package/dist/testing/rpc_round_trip.js +3 -3
  520. package/dist/testing/schema_generators.d.ts.map +1 -1
  521. package/dist/testing/schema_generators.js +3 -3
  522. package/dist/testing/schema_introspect.d.ts.map +1 -1
  523. package/dist/testing/schema_introspect.js +12 -12
  524. package/dist/testing/schema_parity.d.ts.map +1 -1
  525. package/dist/testing/schema_parity.js +7 -7
  526. package/dist/testing/schema_ready_fixture.d.ts.map +1 -1
  527. package/dist/testing/sse_round_trip.d.ts.map +1 -1
  528. package/dist/testing/sse_round_trip.js +8 -8
  529. package/dist/testing/standard.d.ts.map +1 -1
  530. package/dist/testing/standard.js +8 -8
  531. package/dist/testing/stubs.d.ts +6 -6
  532. package/dist/testing/stubs.d.ts.map +1 -1
  533. package/dist/testing/stubs.js +26 -23
  534. package/dist/testing/surface_invariants.d.ts.map +1 -1
  535. package/dist/testing/surface_invariants.js +5 -5
  536. package/dist/testing/testing_rate_limiter.d.ts.map +1 -1
  537. package/dist/testing/transports/bootstrap.d.ts.map +1 -1
  538. package/dist/testing/transports/bootstrap.js +4 -4
  539. package/dist/testing/transports/fetch_transport.d.ts.map +1 -1
  540. package/dist/testing/transports/sse_frame_reader.d.ts.map +1 -1
  541. package/dist/testing/transports/sse_transport.js +1 -1
  542. package/dist/testing/transports/ws_client.d.ts.map +1 -1
  543. package/dist/testing/transports/ws_client.js +1 -1
  544. package/dist/testing/transports/ws_transport.js +4 -4
  545. package/dist/testing/ws_round_trip.d.ts.map +1 -1
  546. package/dist/testing/ws_round_trip.js +21 -21
  547. package/dist/ui/AccountSessions.svelte +11 -11
  548. package/dist/ui/AdminAccounts.svelte +10 -10
  549. package/dist/ui/AdminAuditLog.svelte +14 -14
  550. package/dist/ui/AdminInvites.svelte +13 -13
  551. package/dist/ui/AdminOverview.svelte +22 -22
  552. package/dist/ui/AdminRoleGrantHistory.svelte +11 -11
  553. package/dist/ui/AdminSessions.svelte +12 -12
  554. package/dist/ui/AdminSettings.svelte +1 -1
  555. package/dist/ui/AdminSurface.svelte +3 -3
  556. package/dist/ui/AppShell.svelte +8 -8
  557. package/dist/ui/AppShell.svelte.d.ts.map +1 -1
  558. package/dist/ui/BootstrapForm.svelte +9 -9
  559. package/dist/ui/CLAUDE.md +1 -1
  560. package/dist/ui/ColumnLayout.svelte +2 -2
  561. package/dist/ui/ColumnLayout.svelte.d.ts.map +1 -1
  562. package/dist/ui/ConfirmButton.svelte +8 -8
  563. package/dist/ui/ConfirmButton.svelte.d.ts.map +1 -1
  564. package/dist/ui/Datatable.svelte +6 -6
  565. package/dist/ui/Datatable.svelte.d.ts.map +1 -1
  566. package/dist/ui/LoginForm.svelte +6 -6
  567. package/dist/ui/LogoutButton.svelte +2 -2
  568. package/dist/ui/LogoutButton.svelte.d.ts.map +1 -1
  569. package/dist/ui/MenuLink.svelte +5 -5
  570. package/dist/ui/MenuLink.svelte.d.ts.map +1 -1
  571. package/dist/ui/OpenSignupToggle.svelte +2 -2
  572. package/dist/ui/PopoverButton.svelte +10 -10
  573. package/dist/ui/PopoverButton.svelte.d.ts.map +1 -1
  574. package/dist/ui/RoleGrantOfferForm.svelte +8 -11
  575. package/dist/ui/RoleGrantOfferForm.svelte.d.ts.map +1 -1
  576. package/dist/ui/RoleGrantOfferHistory.svelte +11 -11
  577. package/dist/ui/RoleGrantOfferHistory.svelte.d.ts.map +1 -1
  578. package/dist/ui/RoleGrantOfferInbox.svelte +6 -6
  579. package/dist/ui/RoleGrantOfferInbox.svelte.d.ts.map +1 -1
  580. package/dist/ui/SignupForm.svelte +9 -9
  581. package/dist/ui/SurfaceExplorer.svelte +11 -11
  582. package/dist/ui/SurfaceExplorer.svelte.d.ts.map +1 -1
  583. package/dist/ui/account_sessions_state.svelte.d.ts.map +1 -1
  584. package/dist/ui/admin_accounts_state.svelte.d.ts.map +1 -1
  585. package/dist/ui/admin_accounts_state.svelte.js +2 -2
  586. package/dist/ui/admin_invites_state.svelte.d.ts.map +1 -1
  587. package/dist/ui/admin_rpc_adapters.d.ts.map +1 -1
  588. package/dist/ui/admin_rpc_adapters.js +5 -5
  589. package/dist/ui/admin_sessions_state.svelte.d.ts.map +1 -1
  590. package/dist/ui/app_settings_state.svelte.d.ts.map +1 -1
  591. package/dist/ui/async_slot.svelte.d.ts.map +1 -1
  592. package/dist/ui/audit_log_state.svelte.d.ts.map +1 -1
  593. package/dist/ui/audit_log_state.svelte.js +1 -1
  594. package/dist/ui/auth_state.svelte.js +4 -4
  595. package/dist/ui/form_state.svelte.d.ts.map +1 -1
  596. package/dist/ui/format_scope.d.ts.map +1 -1
  597. package/dist/ui/keyed_async_slot.svelte.d.ts.map +1 -1
  598. package/dist/ui/popover.svelte.d.ts.map +1 -1
  599. package/dist/ui/popover.svelte.js +1 -1
  600. package/dist/ui/position_helpers.js +1 -1
  601. package/dist/ui/role_grant_offers_state.svelte.d.ts.map +1 -1
  602. package/dist/ui/role_grant_offers_state.svelte.js +1 -1
  603. package/dist/ui/table_state.svelte.d.ts.map +1 -1
  604. package/dist/ui/ui_fetch.d.ts.map +1 -1
  605. package/dist/ui/ui_format.js +2 -2
  606. package/package.json +13 -12
@@ -15,46 +15,46 @@ import { z } from 'zod';
15
15
  import { ActorSummaryJson, RoleGrantSummaryJson, SessionAccountJson } from './account_schema.js';
16
16
  import { UsernameProvided } from '../primitive_schemas.js';
17
17
  import { Password, PasswordProvided } from './password.js';
18
- import { ERROR_AUTHENTICATION_REQUIRED, ERROR_INVALID_CREDENTIALS, ERROR_INVALID_JSON_BODY, ERROR_INVALID_REQUEST_BODY, } from '../http/error_schemas.js';
18
+ import { ERROR_AUTHENTICATION_REQUIRED, ERROR_INVALID_CREDENTIALS, ERROR_INVALID_JSON_BODY, ERROR_INVALID_REQUEST_BODY } from '../http/error_schemas.js';
19
19
  /** Input for `GET /api/account/status`. No parameters — caller is the subject. */
20
20
  export const AccountStatusInput = z.null();
21
21
  /** Output for `GET /api/account/status`. */
22
22
  export const AccountStatusOutput = z.strictObject({
23
23
  account: SessionAccountJson,
24
24
  actor: ActorSummaryJson.nullable(),
25
- role_grants: z.array(RoleGrantSummaryJson),
25
+ role_grants: z.array(RoleGrantSummaryJson)
26
26
  });
27
27
  /** Error body for `GET /api/account/status` on the unauthenticated path. */
28
28
  export const AccountStatusUnauthenticatedError = z.looseObject({
29
29
  error: z.literal(ERROR_AUTHENTICATION_REQUIRED),
30
- bootstrap_available: z.boolean().optional(),
30
+ bootstrap_available: z.boolean().optional()
31
31
  });
32
32
  /** Input for `POST /login`. Accepts a username or email in the `username` field. */
33
33
  export const LoginInput = z.strictObject({
34
34
  username: UsernameProvided,
35
- password: PasswordProvided,
35
+ password: PasswordProvided
36
36
  });
37
37
  /** Output for `POST /login`. Session cookie is the operative side effect. */
38
38
  export const LoginOutput = z.strictObject({
39
- ok: z.literal(true),
39
+ ok: z.literal(true)
40
40
  });
41
41
  /** Input for `POST /logout`. Session identity flows through the cookie. */
42
42
  export const LogoutInput = z.null();
43
43
  /** Output for `POST /logout`. Includes the revoked account's username for UI redraw. */
44
44
  export const LogoutOutput = z.strictObject({
45
45
  ok: z.literal(true),
46
- username: z.string(),
46
+ username: z.string()
47
47
  });
48
48
  /** Input for `POST /password`. `current_password` is minimally validated; `new_password` enforces the full policy. */
49
49
  export const PasswordChangeInput = z.strictObject({
50
50
  current_password: PasswordProvided,
51
- new_password: Password,
51
+ new_password: Password
52
52
  });
53
53
  /** Output for `POST /password`. Counts are returned so the UI can summarize the revoke-all cascade. */
54
54
  export const PasswordChangeOutput = z.strictObject({
55
55
  ok: z.literal(true),
56
56
  sessions_revoked: z.number(),
57
- tokens_revoked: z.number(),
57
+ tokens_revoked: z.number()
58
58
  });
59
59
  /** Default maximum sessions per account. */
60
60
  export const DEFAULT_MAX_SESSIONS = 5;
@@ -80,8 +80,8 @@ export const account_status_route_shape = {
80
80
  input: AccountStatusInput,
81
81
  output: AccountStatusOutput,
82
82
  errors: {
83
- 401: AccountStatusUnauthenticatedError,
84
- },
83
+ 401: AccountStatusUnauthenticatedError
84
+ }
85
85
  };
86
86
  /**
87
87
  * The four account route shapes (`/verify`, `/login`, `/logout`, `/password`)
@@ -100,7 +100,7 @@ export const create_account_route_shapes = (options) => [
100
100
  auth: { account: 'required', actor: 'none' },
101
101
  description: 'Session-validity probe for nginx auth_request (empty body, 200 or 401)',
102
102
  input: z.null(),
103
- output: z.null(),
103
+ output: z.null()
104
104
  },
105
105
  {
106
106
  method: 'POST',
@@ -112,10 +112,10 @@ export const create_account_route_shapes = (options) => [
112
112
  rate_limit: 'both',
113
113
  errors: {
114
114
  400: z.looseObject({
115
- error: z.enum([ERROR_INVALID_JSON_BODY, ERROR_INVALID_REQUEST_BODY]),
115
+ error: z.enum([ERROR_INVALID_JSON_BODY, ERROR_INVALID_REQUEST_BODY])
116
116
  }),
117
- 401: z.looseObject({ error: z.literal(ERROR_INVALID_CREDENTIALS) }),
118
- },
117
+ 401: z.looseObject({ error: z.literal(ERROR_INVALID_CREDENTIALS) })
118
+ }
119
119
  },
120
120
  {
121
121
  method: 'POST',
@@ -127,7 +127,7 @@ export const create_account_route_shapes = (options) => [
127
127
  auth: { account: 'required', actor: 'none', credential_types: ['session'] },
128
128
  description: 'Revoke current session and clear cookie',
129
129
  input: LogoutInput,
130
- output: LogoutOutput,
130
+ output: LogoutOutput
131
131
  },
132
132
  {
133
133
  method: 'POST',
@@ -140,8 +140,8 @@ export const create_account_route_shapes = (options) => [
140
140
  rate_limit: options.login_account_rate_limited ? 'both' : 'ip',
141
141
  errors: {
142
142
  400: z.looseObject({
143
- error: z.enum([ERROR_INVALID_JSON_BODY, ERROR_INVALID_REQUEST_BODY]),
144
- }),
145
- },
146
- },
143
+ error: z.enum([ERROR_INVALID_JSON_BODY, ERROR_INVALID_REQUEST_BODY])
144
+ })
145
+ }
146
+ }
147
147
  ];
@@ -103,8 +103,8 @@ export interface AccountRouteOptions extends AuthSessionRouteOptions {
103
103
  * eagerly close affected WebSocket sockets for the account BEFORE
104
104
  * emitting the corresponding audit event. Mirrors the self-service
105
105
  * action surface (see `AccountActionOptions.connection_closer`). When
106
- * absent, only the listener-based close (`transports_ws_auth_guard` on
107
- * `audit.on_event_chain`) runs.
106
+ * absent, only the listener-based close (`transports_ws_auth_guard`
107
+ * registered via `audit.add_listener`) runs.
108
108
  */
109
109
  connection_closer?: ConnectionCloser | null;
110
110
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"account_routes.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AA4BxD,OAAO,EAAkB,KAAK,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAA+B,KAAK,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAGtE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gCAAgC,GAAI,UAAU,oBAAoB,KAAG,SA4EhF,CAAC;AAEH,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACpC,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,gBAAgB,CAAC,EAAE;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,CAAC;CACxC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAQ/C;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACvC,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,kFAAkF;IAClF,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IACnE,4FAA4F;IAC5F,0BAA0B,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,CAAC;CACxC;AAID;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,0BAA0B,GACtC,MAAM,gBAAgB,EACtB,SAAS,mBAAmB,KAC1B,KAAK,CAAC,SAAS,CAwRjB,CAAC"}
1
+ {"version":3,"file":"account_routes.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA4B1D,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAgC,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGxE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gCAAgC,GAAI,UAAU,oBAAoB,KAAG,SA4EhF,CAAC;AAEH,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACpC,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,gBAAgB,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1C;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAQ/C;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACvC,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,kFAAkF;IAClF,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IACnE,4FAA4F;IAC5F,0BAA0B,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1C;AAID;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,0BAA0B,GACtC,MAAM,gBAAgB,EACtB,SAAS,mBAAmB,KAC1B,KAAK,CAAC,SAAS,CAwRjB,CAAC"}
@@ -23,11 +23,11 @@
23
23
  */
24
24
  import { clear_session_cookie, create_session_and_set_cookie } from './session_middleware.js';
25
25
  import { RoleGrantSummaryJson, to_session_account } from './account_schema.js';
26
- import { account_status_route_shape, create_account_route_shapes, DEFAULT_MAX_SESSIONS, } from './account_route_schema.js';
27
- import { hash_session_token, query_session_revoke_all_for_account, query_session_revoke_by_hash_unscoped, } from './session_queries.js';
28
- import { query_account_by_username_or_email, query_update_account_password, } from './account_queries.js';
26
+ import { account_status_route_shape, create_account_route_shapes, DEFAULT_MAX_SESSIONS } from './account_route_schema.js';
27
+ import { hash_session_token, query_session_revoke_all_for_account, query_session_revoke_by_hash_unscoped } from './session_queries.js';
28
+ import { query_account_by_username_or_email, query_update_account_password } from './account_queries.js';
29
29
  import { query_revoke_all_api_tokens_for_account } from './api_token_queries.js';
30
- import { build_account_context, build_request_context, get_request_context, require_request_context, resolve_acting_actor, } from './request_context.js';
30
+ import { build_account_context, build_request_context, get_request_context, require_request_context, resolve_acting_actor } from './request_context.js';
31
31
  import { ACCOUNT_ID_KEY, CREDENTIAL_TYPE_KEY } from '../hono_context.js';
32
32
  import { get_route_input } from '../http/route_spec.js';
33
33
  import { get_client_ip } from '../http/client_ip.js';
@@ -54,7 +54,7 @@ export const create_account_status_route_spec = (options) => ({
54
54
  if (!account_id) {
55
55
  return c.json({
56
56
  error: ERROR_AUTHENTICATION_REQUIRED,
57
- ...(options?.bootstrap_status?.available ? { bootstrap_available: true } : {}),
57
+ ...(options?.bootstrap_status?.available ? { bootstrap_available: true } : {})
58
58
  }, 401);
59
59
  }
60
60
  // Honor a pre-populated request context. The dispatcher's authorization
@@ -70,12 +70,12 @@ export const create_account_status_route_spec = (options) => ({
70
70
  scope_id: p.scope_id,
71
71
  created_at: p.created_at,
72
72
  expires_at: p.expires_at,
73
- granted_by: p.granted_by,
73
+ granted_by: p.granted_by
74
74
  }));
75
75
  return c.json({
76
76
  account: to_session_account(existing.account),
77
77
  actor: existing.actor ? { id: existing.actor.id, name: existing.actor.name } : null,
78
- role_grants,
78
+ role_grants
79
79
  });
80
80
  }
81
81
  // Resolve actor + role_grants when the caller is unambiguous (single-actor
@@ -94,12 +94,12 @@ export const create_account_status_route_spec = (options) => ({
94
94
  scope_id: p.scope_id,
95
95
  created_at: p.created_at,
96
96
  expires_at: p.expires_at,
97
- granted_by: p.granted_by,
97
+ granted_by: p.granted_by
98
98
  }));
99
99
  return c.json({
100
100
  account: to_session_account(ctx.account),
101
101
  actor: { id: ctx.actor.id, name: ctx.actor.name },
102
- role_grants,
102
+ role_grants
103
103
  });
104
104
  }
105
105
  }
@@ -107,15 +107,15 @@ export const create_account_status_route_spec = (options) => ({
107
107
  if (!account_ctx) {
108
108
  return c.json({
109
109
  error: ERROR_AUTHENTICATION_REQUIRED,
110
- ...(options?.bootstrap_status?.available ? { bootstrap_available: true } : {}),
110
+ ...(options?.bootstrap_status?.available ? { bootstrap_available: true } : {})
111
111
  }, 401);
112
112
  }
113
113
  return c.json({
114
114
  account: to_session_account(account_ctx.account),
115
115
  actor: null,
116
- role_grants: [],
116
+ role_grants: []
117
117
  });
118
- },
118
+ }
119
119
  });
120
120
  /**
121
121
  * Default minimum wall-clock time (ms) for a login failure (401) response.
@@ -160,9 +160,9 @@ const login_fail_delay = (floor_ms, jitter_ms) => {
160
160
  */
161
161
  export const create_account_route_specs = (deps, options) => {
162
162
  const { keyring, password } = deps;
163
- const { session_options, ip_rate_limiter, login_account_rate_limiter, max_sessions = DEFAULT_MAX_SESSIONS, login_fail_floor_ms = DEFAULT_LOGIN_FAIL_FLOOR_MS, login_fail_jitter_ms = DEFAULT_LOGIN_FAIL_JITTER_MS, connection_closer = null, bootstrap_status, } = options;
163
+ const { session_options, ip_rate_limiter, login_account_rate_limiter, max_sessions = DEFAULT_MAX_SESSIONS, login_fail_floor_ms = DEFAULT_LOGIN_FAIL_FLOOR_MS, login_fail_jitter_ms = DEFAULT_LOGIN_FAIL_JITTER_MS, connection_closer = null, bootstrap_status } = options;
164
164
  const [verify_shape, login_shape, logout_shape, password_shape] = create_account_route_shapes({
165
- login_account_rate_limited: login_account_rate_limiter !== null,
165
+ login_account_rate_limited: login_account_rate_limiter !== null
166
166
  });
167
167
  return [
168
168
  // `/status` is bundled into the account family (relative path, prefixed
@@ -175,7 +175,7 @@ export const create_account_route_specs = (deps, options) => {
175
175
  handler: (c) => {
176
176
  require_request_context(c);
177
177
  return c.body(null, 200);
178
- },
178
+ }
179
179
  },
180
180
  {
181
181
  ...login_shape,
@@ -222,7 +222,7 @@ export const create_account_route_specs = (deps, options) => {
222
222
  event_type: 'login',
223
223
  outcome: 'failure',
224
224
  ip: get_client_ip(c),
225
- metadata: { username },
225
+ metadata: { username }
226
226
  });
227
227
  await delay;
228
228
  return c.json({ error: ERROR_INVALID_CREDENTIALS }, 401);
@@ -238,7 +238,7 @@ export const create_account_route_specs = (deps, options) => {
238
238
  outcome: 'failure',
239
239
  account_id: account.id,
240
240
  ip: get_client_ip(c),
241
- metadata: { username },
241
+ metadata: { username }
242
242
  });
243
243
  await delay;
244
244
  return c.json({ error: ERROR_INVALID_CREDENTIALS }, 401);
@@ -254,15 +254,15 @@ export const create_account_route_specs = (deps, options) => {
254
254
  c,
255
255
  account_id: account.id,
256
256
  session_options,
257
- max_sessions,
257
+ max_sessions
258
258
  });
259
259
  deps.audit.emit(route, {
260
260
  event_type: 'login',
261
261
  account_id: account.id,
262
- ip: get_client_ip(c),
262
+ ip: get_client_ip(c)
263
263
  });
264
264
  return c.json({ ok: true });
265
- },
265
+ }
266
266
  },
267
267
  {
268
268
  ...logout_shape,
@@ -296,10 +296,10 @@ export const create_account_route_specs = (deps, options) => {
296
296
  deps.audit.emit(route, {
297
297
  event_type: 'logout',
298
298
  account_id: ctx.account.id,
299
- ip: get_client_ip(c),
299
+ ip: get_client_ip(c)
300
300
  });
301
301
  return c.json({ ok: true, username: ctx.account.username });
302
- },
302
+ }
303
303
  },
304
304
  {
305
305
  ...password_shape,
@@ -334,7 +334,7 @@ export const create_account_route_specs = (deps, options) => {
334
334
  outcome: 'failure',
335
335
  account_id: ctx.account.id,
336
336
  ip: get_client_ip(c),
337
- metadata: { credential_type },
337
+ metadata: { credential_type }
338
338
  });
339
339
  return c.json({ error: ERROR_INVALID_CREDENTIALS }, 401);
340
340
  }
@@ -379,7 +379,7 @@ export const create_account_route_specs = (deps, options) => {
379
379
  outcome: 'failure',
380
380
  account_id: ctx.account.id,
381
381
  ip: get_client_ip(c),
382
- metadata: { reason: 'concurrent_change', credential_type },
382
+ metadata: { reason: 'concurrent_change', credential_type }
383
383
  });
384
384
  return c.json({ error: ERROR_INVALID_CREDENTIALS }, 401);
385
385
  }
@@ -411,10 +411,10 @@ export const create_account_route_specs = (deps, options) => {
411
411
  event_type: 'password_change',
412
412
  account_id: ctx.account.id,
413
413
  ip: get_client_ip(c),
414
- metadata: { sessions_revoked, tokens_revoked, credential_type },
414
+ metadata: { sessions_revoked, tokens_revoked, credential_type }
415
415
  });
416
416
  return c.json({ ok: true, sessions_revoked, tokens_revoked });
417
- },
418
- },
417
+ }
418
+ }
419
419
  ];
420
420
  };
@@ -101,9 +101,20 @@ export declare const is_role_grant_active: (p: {
101
101
  revoked_at?: string | null;
102
102
  expires_at: string | null;
103
103
  }, now?: Date) => boolean;
104
+ /**
105
+ * A session's storage key — the blake3 hash of its raw token, branded so a
106
+ * bare `string` can't stand in for one. `Blake3Hash` (`hash_schemas.ts`) is
107
+ * the shape; this is the meaning. Mint only via `hash_session_token`, or
108
+ * `SessionId.parse` at an external boundary.
109
+ *
110
+ * The raw token itself is never typed — it stays a `string` that exists only
111
+ * long enough to be hashed.
112
+ */
113
+ export declare const SessionId: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
114
+ export type SessionId = z.infer<typeof SessionId>;
104
115
  /** Server-side auth session, keyed by blake3 hash of session token. */
105
116
  export interface AuthSession {
106
- id: string;
117
+ id: SessionId;
107
118
  account_id: Uuid;
108
119
  created_at: string;
109
120
  expires_at: string;
@@ -131,7 +142,7 @@ export declare const SessionAccountJson: z.ZodObject<{
131
142
  export type SessionAccountJson = z.infer<typeof SessionAccountJson>;
132
143
  /** Zod schema for `AuthSession` — id is the blake3 hash, safe for client. */
133
144
  export declare const AuthSessionJson: z.ZodObject<{
134
- id: z.ZodString;
145
+ id: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
135
146
  account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
136
147
  created_at: z.ZodString;
137
148
  expires_at: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"account_schema.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account_schema.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_schema.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import { z } from 'zod';
20
20
  import { Uuid } from '@fuzdev/fuz_util/id.ts';
21
+ import { Blake3Hash } from '@fuzdev/fuz_util/hash_schemas.ts';
21
22
  import { Username, Email } from '../primitive_schemas.js';
22
23
  /**
23
24
  * Maximum length of the optional free-form `revoked_reason` attached to a
@@ -27,6 +28,16 @@ import { Username, Email } from '../primitive_schemas.js';
27
28
  */
28
29
  export const ROLE_GRANT_REVOKED_REASON_LENGTH_MAX = 500;
29
30
  export const is_role_grant_active = (p, now = new Date()) => !p.revoked_at && (!p.expires_at || new Date(p.expires_at) > now);
31
+ /**
32
+ * A session's storage key — the blake3 hash of its raw token, branded so a
33
+ * bare `string` can't stand in for one. `Blake3Hash` (`hash_schemas.ts`) is
34
+ * the shape; this is the meaning. Mint only via `hash_session_token`, or
35
+ * `SessionId.parse` at an external boundary.
36
+ *
37
+ * The raw token itself is never typed — it stays a `string` that exists only
38
+ * long enough to be hashed.
39
+ */
40
+ export const SessionId = Blake3Hash.brand('SessionId');
30
41
  // Client-safe Zod schemas — for route output validation and ActionSpec outputs.
31
42
  /** Zod schema for `SessionAccount` — account without sensitive fields. */
32
43
  export const SessionAccountJson = z.strictObject({
@@ -34,15 +45,15 @@ export const SessionAccountJson = z.strictObject({
34
45
  username: Username,
35
46
  email: Email.nullable(),
36
47
  email_verified: z.boolean(),
37
- created_at: z.string(),
48
+ created_at: z.string()
38
49
  });
39
50
  /** Zod schema for `AuthSession` — id is the blake3 hash, safe for client. */
40
51
  export const AuthSessionJson = z.strictObject({
41
- id: z.string(),
52
+ id: SessionId,
42
53
  account_id: Uuid,
43
54
  created_at: z.string(),
44
55
  expires_at: z.string(),
45
- last_seen_at: z.string(),
56
+ last_seen_at: z.string()
46
57
  });
47
58
  /** Zod schema for client-safe API token listing (excludes `token_hash`). */
48
59
  export const ClientApiTokenJson = z.strictObject({
@@ -52,7 +63,7 @@ export const ClientApiTokenJson = z.strictObject({
52
63
  expires_at: z.string().nullable(),
53
64
  last_used_at: z.string().nullable(),
54
65
  last_used_ip: z.string().nullable(),
55
- created_at: z.string(),
66
+ created_at: z.string()
56
67
  });
57
68
  /** Zod schema for the role_grant summary returned in admin account listings. */
58
69
  export const RoleGrantSummaryJson = z.strictObject({
@@ -62,12 +73,12 @@ export const RoleGrantSummaryJson = z.strictObject({
62
73
  scope_id: Uuid.nullable(),
63
74
  created_at: z.string(),
64
75
  expires_at: z.string().nullable(),
65
- granted_by: Uuid.nullable(),
76
+ granted_by: Uuid.nullable()
66
77
  });
67
78
  /** Zod schema for the actor summary returned in admin account listings. */
68
79
  export const ActorSummaryJson = z.strictObject({
69
80
  id: Uuid,
70
- name: z.string(),
81
+ name: z.string()
71
82
  });
72
83
  /** Zod schema for admin-facing account data — extends `SessionAccountJson` with audit fields. */
73
84
  export const AdminAccountJson = SessionAccountJson.extend({
@@ -79,7 +90,7 @@ export const AdminAccountJson = SessionAccountJson.extend({
79
90
  * is requested with `include_deleted`) and offer reactivation via
80
91
  * `account_undelete`. Active listings always carry `null` here.
81
92
  */
82
- deleted_at: z.string().nullable(),
93
+ deleted_at: z.string().nullable()
83
94
  });
84
95
  /**
85
96
  * Zod schema for a pending role_grant offer surfaced in admin account listings.
@@ -102,14 +113,14 @@ export const PendingOfferSummaryJson = z.strictObject({
102
113
  from_actor_id: Uuid,
103
114
  from_username: z.string(),
104
115
  created_at: z.string(),
105
- expires_at: z.string(),
116
+ expires_at: z.string()
106
117
  });
107
118
  /** Zod schema for an admin account listing entry (account + actor + role_grants + pending offers). */
108
119
  export const AdminAccountEntryJson = z.strictObject({
109
120
  account: AdminAccountJson,
110
121
  actor: ActorSummaryJson.nullable(),
111
122
  role_grants: z.array(RoleGrantSummaryJson),
112
- pending_offers: z.array(PendingOfferSummaryJson),
123
+ pending_offers: z.array(PendingOfferSummaryJson)
113
124
  });
114
125
  /**
115
126
  * Convert an `Account` to a `SessionAccount` by stripping sensitive fields.
@@ -122,7 +133,7 @@ export const to_session_account = (account) => ({
122
133
  username: account.username,
123
134
  email: account.email,
124
135
  email_verified: account.email_verified,
125
- created_at: account.created_at,
136
+ created_at: account.created_at
126
137
  });
127
138
  /**
128
139
  * Convert an `Account` to an `AdminAccountJson` for admin listings.
@@ -134,5 +145,5 @@ export const to_admin_account = (account) => ({
134
145
  ...to_session_account(account),
135
146
  updated_at: account.updated_at,
136
147
  updated_by: account.updated_by,
137
- deleted_at: account.deleted_at,
148
+ deleted_at: account.deleted_at
138
149
  });
@@ -1 +1 @@
1
- {"version":3,"file":"actor_lookup_action_specs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/actor_lookup_action_specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAKtB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,iEAAiE;AACjE,eAAO,MAAM,oBAAoB;;;;kBAI/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,gBAAgB;;kBAU3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;kBAE5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;CAaA,CAAC;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC"}
1
+ {"version":3,"file":"actor_lookup_action_specs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/actor_lookup_action_specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,iEAAiE;AACjE,eAAO,MAAM,oBAAoB;;;;kBAI/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,gBAAgB;;kBAU3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;kBAE5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;CAaA,CAAC;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC"}
@@ -58,7 +58,7 @@ export const ACTOR_LOOKUP_IDS_MAX = 50;
58
58
  export const ActorLookupEntryJson = z.strictObject({
59
59
  id: Uuid,
60
60
  username: z.string(),
61
- display_name: z.string().optional(),
61
+ display_name: z.string().optional()
62
62
  });
63
63
  export const ActorLookupInput = z.strictObject({
64
64
  ids: z
@@ -66,11 +66,11 @@ export const ActorLookupInput = z.strictObject({
66
66
  .min(1)
67
67
  .max(ACTOR_LOOKUP_IDS_MAX)
68
68
  .meta({
69
- description: `Actor ids to resolve. Capped at ${ACTOR_LOOKUP_IDS_MAX}; unknown ids are silently absent from the response.`,
70
- }),
69
+ description: `Actor ids to resolve. Capped at ${ACTOR_LOOKUP_IDS_MAX}; unknown ids are silently absent from the response.`
70
+ })
71
71
  });
72
72
  export const ActorLookupOutput = z.strictObject({
73
- actors: z.array(ActorLookupEntryJson),
73
+ actors: z.array(ActorLookupEntryJson)
74
74
  });
75
75
  export const actor_lookup_action_spec = {
76
76
  method: 'actor_lookup',
@@ -82,7 +82,7 @@ export const actor_lookup_action_spec = {
82
82
  output: ActorLookupOutput,
83
83
  async: true,
84
84
  rate_limit: 'account',
85
- description: `Batched id → (username, display_name) resolver, keyed by actor id. Powers the labels arc for surfaces that stamp an actor id (e.g. cell owners, grant grantors). Authenticated + per-account rate-limited to bound batched username enumeration. Cap ${ACTOR_LOOKUP_IDS_MAX}; unknown ids absent from response.`,
85
+ description: `Batched id → (username, display_name) resolver, keyed by actor id. Powers the labels arc for surfaces that stamp an actor id (e.g. cell owners, grant grantors). Authenticated + per-account rate-limited to bound batched username enumeration. Cap ${ACTOR_LOOKUP_IDS_MAX}; unknown ids absent from response.`
86
86
  };
87
87
  /**
88
88
  * All actor_lookup action specs — independent opt-in registry. Consumers
@@ -11,9 +11,11 @@
11
11
  *
12
12
  * @module
13
13
  */
14
+ import type { Logger } from '@fuzdev/fuz_util/log.ts';
14
15
  import { type RpcAction } from '../actions/action_rpc.js';
15
- import type { RouteFactoryDeps } from './deps.js';
16
16
  /** Dependencies for `create_actor_lookup_actions`. */
17
- export type ActorLookupActionDeps = Pick<RouteFactoryDeps, 'log'>;
17
+ export interface ActorLookupActionDeps {
18
+ log: Logger;
19
+ }
18
20
  export declare const create_actor_lookup_actions: (_deps: ActorLookupActionDeps) => Array<RpcAction>;
19
21
  //# sourceMappingURL=actor_lookup_actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actor_lookup_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/actor_lookup_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAiC,KAAK,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAExF,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAShD,sDAAsD;AACtD,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAElE,eAAO,MAAM,2BAA2B,GAAI,OAAO,qBAAqB,KAAG,KAAK,CAAC,SAAS,CAkBzF,CAAC"}
1
+ {"version":3,"file":"actor_lookup_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/actor_lookup_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAU1F,sDAAsD;AACtD,MAAM,WAAW,qBAAqB;IACrC,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,2BAA2B,GAAI,OAAO,qBAAqB,KAAG,KAAK,CAAC,SAAS,CAkBzF,CAAC"}
@@ -13,7 +13,7 @@
13
13
  */
14
14
  import { rpc_action } from '../actions/action_rpc.js';
15
15
  import { query_actors_by_ids } from './actor_lookup_queries.js';
16
- import { actor_lookup_action_spec, } from './actor_lookup_action_specs.js';
16
+ import { actor_lookup_action_spec } from './actor_lookup_action_specs.js';
17
17
  export const create_actor_lookup_actions = (_deps) => {
18
18
  const handler = async (input, ctx) => {
19
19
  const rows = await query_actors_by_ids(ctx, input.ids);
@@ -23,9 +23,9 @@ export const create_actor_lookup_actions = (_deps) => {
23
23
  return {
24
24
  id: row.id,
25
25
  username: row.username,
26
- ...(display_name ? { display_name } : {}),
26
+ ...(display_name ? { display_name } : {})
27
27
  };
28
- }),
28
+ })
29
29
  };
30
30
  };
31
31
  return [rpc_action(actor_lookup_action_spec, handler)];
@@ -1 +1 @@
1
- {"version":3,"file":"actor_lookup_queries.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/actor_lookup_queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAEnD,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC/B,MAAM,SAAS,EACf,KAAK,aAAa,CAAC,IAAI,CAAC,KACtB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAS/B,CAAC"}
1
+ {"version":3,"file":"actor_lookup_queries.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/actor_lookup_queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC/B,MAAM,SAAS,EACf,KAAK,aAAa,CAAC,IAAI,CAAC,KACtB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAS/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"actor_search_action_specs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/actor_search_action_specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAMtB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,EAAG,6BAAsC,CAAC;AAExF,eAAO,MAAM,gBAAgB;;;;kBAyB3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;kBAE5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;CAcA,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC"}
1
+ {"version":3,"file":"actor_search_action_specs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/actor_search_action_specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,EAAG,6BAAsC,CAAC;AAExF,eAAO,MAAM,gBAAgB;;;;kBAyB3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;kBAE5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;CAcA,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC"}
@@ -100,10 +100,10 @@ export const ActorSearchInput = z.strictObject({
100
100
  .min(1)
101
101
  .max(ACTOR_SEARCH_QUERY_LENGTH_MAX)
102
102
  .meta({
103
- description: `Case-insensitive prefix match against \`actor.name\`. Length 1–${ACTOR_SEARCH_QUERY_LENGTH_MAX}.`,
103
+ description: `Case-insensitive prefix match against \`actor.name\`. Length 1–${ACTOR_SEARCH_QUERY_LENGTH_MAX}.`
104
104
  }),
105
105
  scope_ids: z.array(Uuid).optional().meta({
106
- description: 'Restrict results to actors holding a role_grant on any of these scopes. Required (non-empty) for non-admin callers; admin callers may omit or pass empty for unbounded search. Caller is responsible for pre-filtering against their own authority — the SQL filter does not enforce it.',
106
+ description: 'Restrict results to actors holding a role_grant on any of these scopes. Required (non-empty) for non-admin callers; admin callers may omit or pass empty for unbounded search. Caller is responsible for pre-filtering against their own authority — the SQL filter does not enforce it.'
107
107
  }),
108
108
  limit: z
109
109
  .number()
@@ -112,11 +112,11 @@ export const ActorSearchInput = z.strictObject({
112
112
  .max(ACTOR_SEARCH_LIMIT_MAX)
113
113
  .optional()
114
114
  .meta({
115
- description: `Maximum rows to return. Defaults to ${ACTOR_SEARCH_LIMIT_DEFAULT}, hard cap ${ACTOR_SEARCH_LIMIT_MAX}.`,
116
- }),
115
+ description: `Maximum rows to return. Defaults to ${ACTOR_SEARCH_LIMIT_DEFAULT}, hard cap ${ACTOR_SEARCH_LIMIT_MAX}.`
116
+ })
117
117
  });
118
118
  export const ActorSearchOutput = z.strictObject({
119
- actors: z.array(ActorLookupEntryJson),
119
+ actors: z.array(ActorLookupEntryJson)
120
120
  });
121
121
  export const actor_search_action_spec = {
122
122
  method: 'actor_search',
@@ -129,7 +129,7 @@ export const actor_search_action_spec = {
129
129
  async: true,
130
130
  rate_limit: 'account',
131
131
  error_reasons: [ERROR_ACTOR_SEARCH_SCOPE_REQUIRED],
132
- description: `Case-insensitive prefix search over actor.name, returning {id, username, display_name?} rows. Authenticated + per-account rate-limited; non-admin callers must pass at least one scope_id. Default limit ${ACTOR_SEARCH_LIMIT_DEFAULT}, hard cap ${ACTOR_SEARCH_LIMIT_MAX}.`,
132
+ description: `Case-insensitive prefix search over actor.name, returning {id, username, display_name?} rows. Authenticated + per-account rate-limited; non-admin callers must pass at least one scope_id. Default limit ${ACTOR_SEARCH_LIMIT_DEFAULT}, hard cap ${ACTOR_SEARCH_LIMIT_MAX}.`
133
133
  };
134
134
  /**
135
135
  * All actor_search action specs — independent opt-in registry. Like
@@ -23,9 +23,11 @@
23
23
  *
24
24
  * @module
25
25
  */
26
+ import type { Logger } from '@fuzdev/fuz_util/log.ts';
26
27
  import { type RpcAction } from '../actions/action_rpc.js';
27
- import type { RouteFactoryDeps } from './deps.js';
28
28
  /** Dependencies for `create_actor_search_actions`. */
29
- export type ActorSearchActionDeps = Pick<RouteFactoryDeps, 'log'>;
29
+ export interface ActorSearchActionDeps {
30
+ log: Logger;
31
+ }
30
32
  export declare const create_actor_search_actions: (_deps: ActorSearchActionDeps) => Array<RpcAction>;
31
33
  //# sourceMappingURL=actor_search_actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actor_search_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/actor_search_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAAqC,KAAK,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAE5F,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAahD,sDAAsD;AACtD,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAElE,eAAO,MAAM,2BAA2B,GAAI,OAAO,qBAAqB,KAAG,KAAK,CAAC,SAAS,CAiCzF,CAAC"}
1
+ {"version":3,"file":"actor_search_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/actor_search_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAc9F,sDAAsD;AACtD,MAAM,WAAW,qBAAqB;IACrC,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,2BAA2B,GAAI,OAAO,qBAAqB,KAAG,KAAK,CAAC,SAAS,CAiCzF,CAAC"}