@fuzdev/fuz_app 0.104.0 → 0.106.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 (612) 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 +14 -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 +8 -0
  34. package/dist/actions/perform_action.d.ts.map +1 -1
  35. package/dist/actions/perform_action.js +41 -23
  36. package/dist/actions/protocol.d.ts.map +1 -1
  37. package/dist/actions/protocol.js +1 -1
  38. package/dist/actions/register_action_ws.d.ts.map +1 -1
  39. package/dist/actions/register_action_ws.js +39 -12
  40. package/dist/actions/register_ws_endpoint.d.ts.map +1 -1
  41. package/dist/actions/register_ws_endpoint.js +3 -3
  42. package/dist/actions/request_tracker.svelte.d.ts.map +1 -1
  43. package/dist/actions/request_tracker.svelte.js +2 -2
  44. package/dist/actions/rpc_client.d.ts.map +1 -1
  45. package/dist/actions/rpc_client.js +7 -7
  46. package/dist/actions/socket.svelte.d.ts.map +1 -1
  47. package/dist/actions/socket.svelte.js +4 -3
  48. package/dist/actions/transports.d.ts.map +1 -1
  49. package/dist/actions/transports_http.d.ts.map +1 -1
  50. package/dist/actions/transports_http.js +7 -7
  51. package/dist/actions/transports_ws.d.ts.map +1 -1
  52. package/dist/actions/transports_ws.js +3 -3
  53. package/dist/actions/transports_ws_auth_guard.d.ts +4 -4
  54. package/dist/actions/transports_ws_auth_guard.d.ts.map +1 -1
  55. package/dist/actions/transports_ws_auth_guard.js +5 -5
  56. package/dist/actions/transports_ws_backend.d.ts.map +1 -1
  57. package/dist/actions/transports_ws_backend.js +2 -2
  58. package/dist/actions/ws_endpoint_spec.d.ts +2 -2
  59. package/dist/actions/ws_endpoint_spec.d.ts.map +1 -1
  60. package/dist/auth/CLAUDE.md +11 -7
  61. package/dist/auth/account_action_specs.d.ts +32 -9
  62. package/dist/auth/account_action_specs.d.ts.map +1 -1
  63. package/dist/auth/account_action_specs.js +35 -23
  64. package/dist/auth/account_actions.d.ts +3 -3
  65. package/dist/auth/account_actions.d.ts.map +1 -1
  66. package/dist/auth/account_actions.js +25 -12
  67. package/dist/auth/account_queries.d.ts.map +1 -1
  68. package/dist/auth/account_queries.js +6 -6
  69. package/dist/auth/account_route_schema.d.ts.map +1 -1
  70. package/dist/auth/account_route_schema.js +19 -19
  71. package/dist/auth/account_routes.d.ts +2 -2
  72. package/dist/auth/account_routes.d.ts.map +1 -1
  73. package/dist/auth/account_routes.js +27 -27
  74. package/dist/auth/account_schema.d.ts +26 -2
  75. package/dist/auth/account_schema.d.ts.map +1 -1
  76. package/dist/auth/account_schema.js +28 -10
  77. package/dist/auth/actor_lookup_action_specs.d.ts.map +1 -1
  78. package/dist/auth/actor_lookup_action_specs.js +5 -5
  79. package/dist/auth/actor_lookup_actions.d.ts +4 -2
  80. package/dist/auth/actor_lookup_actions.d.ts.map +1 -1
  81. package/dist/auth/actor_lookup_actions.js +3 -3
  82. package/dist/auth/actor_lookup_queries.d.ts.map +1 -1
  83. package/dist/auth/actor_search_action_specs.d.ts.map +1 -1
  84. package/dist/auth/actor_search_action_specs.js +6 -6
  85. package/dist/auth/actor_search_actions.d.ts +4 -2
  86. package/dist/auth/actor_search_actions.d.ts.map +1 -1
  87. package/dist/auth/actor_search_actions.js +5 -5
  88. package/dist/auth/actor_search_queries.d.ts.map +1 -1
  89. package/dist/auth/admin_action_specs.d.ts +2 -2
  90. package/dist/auth/admin_action_specs.d.ts.map +1 -1
  91. package/dist/auth/admin_action_specs.js +55 -55
  92. package/dist/auth/admin_actions.d.ts +5 -5
  93. package/dist/auth/admin_actions.d.ts.map +1 -1
  94. package/dist/auth/admin_actions.js +45 -44
  95. package/dist/auth/all_action_spec_registries.d.ts.map +1 -1
  96. package/dist/auth/all_action_spec_registries.js +1 -1
  97. package/dist/auth/all_cell_actions.d.ts.map +1 -1
  98. package/dist/auth/all_cell_actions.js +1 -1
  99. package/dist/auth/api_token.d.ts.map +1 -1
  100. package/dist/auth/api_token_queries.d.ts +9 -3
  101. package/dist/auth/api_token_queries.d.ts.map +1 -1
  102. package/dist/auth/api_token_queries.js +29 -8
  103. package/dist/auth/app_settings_queries.d.ts.map +1 -1
  104. package/dist/auth/app_settings_schema.d.ts.map +1 -1
  105. package/dist/auth/app_settings_schema.js +3 -3
  106. package/dist/auth/audit_emitter.d.ts +28 -20
  107. package/dist/auth/audit_emitter.d.ts.map +1 -1
  108. package/dist/auth/audit_emitter.js +37 -19
  109. package/dist/auth/audit_log_ddl.js +1 -1
  110. package/dist/auth/audit_log_queries.d.ts.map +1 -1
  111. package/dist/auth/audit_log_queries.js +2 -2
  112. package/dist/auth/audit_log_route_schema.d.ts.map +1 -1
  113. package/dist/auth/audit_log_route_schema.js +1 -1
  114. package/dist/auth/audit_log_routes.d.ts.map +1 -1
  115. package/dist/auth/audit_log_routes.js +12 -4
  116. package/dist/auth/audit_log_schema.d.ts +2 -2
  117. package/dist/auth/audit_log_schema.d.ts.map +1 -1
  118. package/dist/auth/audit_log_schema.js +69 -68
  119. package/dist/auth/auth_ddl.js +3 -3
  120. package/dist/auth/auth_guard_resolver.d.ts.map +1 -1
  121. package/dist/auth/bearer_auth.d.ts.map +1 -1
  122. package/dist/auth/bearer_auth.js +6 -1
  123. package/dist/auth/bootstrap_account.d.ts.map +1 -1
  124. package/dist/auth/bootstrap_account.js +5 -5
  125. package/dist/auth/bootstrap_route_schema.d.ts.map +1 -1
  126. package/dist/auth/bootstrap_route_schema.js +6 -6
  127. package/dist/auth/bootstrap_routes.d.ts.map +1 -1
  128. package/dist/auth/bootstrap_routes.js +7 -7
  129. package/dist/auth/cell_action_specs.d.ts +1 -1
  130. package/dist/auth/cell_action_specs.d.ts.map +1 -1
  131. package/dist/auth/cell_action_specs.js +47 -47
  132. package/dist/auth/cell_actions.d.ts +2 -2
  133. package/dist/auth/cell_actions.d.ts.map +1 -1
  134. package/dist/auth/cell_actions.js +37 -37
  135. package/dist/auth/cell_audit_action_specs.d.ts.map +1 -1
  136. package/dist/auth/cell_audit_action_specs.js +4 -4
  137. package/dist/auth/cell_audit_actions.d.ts.map +1 -1
  138. package/dist/auth/cell_audit_actions.js +3 -3
  139. package/dist/auth/cell_audit_events.d.ts.map +1 -1
  140. package/dist/auth/cell_audit_events.js +5 -5
  141. package/dist/auth/cell_audit_metadata.d.ts.map +1 -1
  142. package/dist/auth/cell_audit_metadata.js +3 -3
  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 +7 -3
  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 +54 -19
  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 +18 -0
  193. package/dist/auth/request_context.d.ts.map +1 -1
  194. package/dist/auth/request_context.js +33 -7
  195. package/dist/auth/role_grant_offer_action_specs.d.ts +12 -0
  196. package/dist/auth/role_grant_offer_action_specs.d.ts.map +1 -1
  197. package/dist/auth/role_grant_offer_action_specs.js +47 -36
  198. package/dist/auth/role_grant_offer_actions.d.ts +7 -4
  199. package/dist/auth/role_grant_offer_actions.d.ts.map +1 -1
  200. package/dist/auth/role_grant_offer_actions.js +43 -43
  201. package/dist/auth/role_grant_offer_notifications.d.ts.map +1 -1
  202. package/dist/auth/role_grant_offer_notifications.js +13 -13
  203. package/dist/auth/role_grant_offer_queries.d.ts +1 -1
  204. package/dist/auth/role_grant_offer_queries.d.ts.map +1 -1
  205. package/dist/auth/role_grant_offer_queries.js +11 -11
  206. package/dist/auth/role_grant_offer_schema.d.ts.map +1 -1
  207. package/dist/auth/role_grant_offer_schema.js +7 -7
  208. package/dist/auth/role_grant_queries.d.ts.map +1 -1
  209. package/dist/auth/role_grant_queries.js +3 -3
  210. package/dist/auth/role_schema.d.ts.map +1 -1
  211. package/dist/auth/role_schema.js +7 -7
  212. package/dist/auth/scope_kind_schema.d.ts.map +1 -1
  213. package/dist/auth/self_service_role_action_specs.d.ts +7 -0
  214. package/dist/auth/self_service_role_action_specs.d.ts.map +1 -1
  215. package/dist/auth/self_service_role_action_specs.js +12 -6
  216. package/dist/auth/self_service_role_actions.d.ts +3 -3
  217. package/dist/auth/self_service_role_actions.d.ts.map +1 -1
  218. package/dist/auth/self_service_role_actions.js +9 -9
  219. package/dist/auth/session_cookie.d.ts.map +1 -1
  220. package/dist/auth/session_cookie.js +3 -3
  221. package/dist/auth/session_middleware.d.ts.map +1 -1
  222. package/dist/auth/session_middleware.js +4 -4
  223. package/dist/auth/session_queries.d.ts +14 -4
  224. package/dist/auth/session_queries.d.ts.map +1 -1
  225. package/dist/auth/session_queries.js +13 -3
  226. package/dist/auth/signup_route_schema.d.ts.map +1 -1
  227. package/dist/auth/signup_route_schema.js +6 -6
  228. package/dist/auth/signup_routes.d.ts.map +1 -1
  229. package/dist/auth/signup_routes.js +11 -11
  230. package/dist/auth/standard_action_specs.d.ts.map +1 -1
  231. package/dist/auth/standard_action_specs.js +1 -1
  232. package/dist/auth/standard_rpc_actions.d.ts +4 -4
  233. package/dist/auth/standard_rpc_actions.d.ts.map +1 -1
  234. package/dist/auth/standard_rpc_actions.js +3 -3
  235. package/dist/auth/token_scope.d.ts +155 -0
  236. package/dist/auth/token_scope.d.ts.map +1 -0
  237. package/dist/auth/token_scope.js +190 -0
  238. package/dist/cli/args.d.ts.map +1 -1
  239. package/dist/cli/config.d.ts.map +1 -1
  240. package/dist/cli/daemon.d.ts.map +1 -1
  241. package/dist/cli/daemon.js +3 -3
  242. package/dist/cli/help.d.ts.map +1 -1
  243. package/dist/cli/help.js +1 -1
  244. package/dist/cli/logger.d.ts.map +1 -1
  245. package/dist/cli/logger.js +1 -1
  246. package/dist/cli/util.d.ts.map +1 -1
  247. package/dist/cli/util.js +1 -1
  248. package/dist/db/CLAUDE.md +1 -1
  249. package/dist/db/cell_audit_queries.d.ts.map +1 -1
  250. package/dist/db/cell_audit_queries.js +1 -1
  251. package/dist/db/cell_ddl.d.ts.map +1 -1
  252. package/dist/db/cell_ddl.js +7 -7
  253. package/dist/db/cell_field_queries.d.ts.map +1 -1
  254. package/dist/db/cell_grant_queries.d.ts.map +1 -1
  255. package/dist/db/cell_grant_queries.js +1 -1
  256. package/dist/db/cell_history_ddl.d.ts.map +1 -1
  257. package/dist/db/cell_history_ddl.js +4 -4
  258. package/dist/db/cell_item_queries.d.ts.map +1 -1
  259. package/dist/db/cell_queries.d.ts +1 -1
  260. package/dist/db/cell_queries.d.ts.map +1 -1
  261. package/dist/db/cell_queries.js +3 -3
  262. package/dist/db/create_db.d.ts.map +1 -1
  263. package/dist/db/create_db.js +1 -1
  264. package/dist/db/db.d.ts.map +1 -1
  265. package/dist/db/db_pg.d.ts.map +1 -1
  266. package/dist/db/db_pg.js +1 -1
  267. package/dist/db/db_pglite.d.ts.map +1 -1
  268. package/dist/db/db_pglite.js +1 -1
  269. package/dist/db/fact_ddl.d.ts.map +1 -1
  270. package/dist/db/fact_ddl.js +3 -3
  271. package/dist/db/fact_disk_storage.d.ts +1 -1
  272. package/dist/db/fact_disk_storage.d.ts.map +1 -1
  273. package/dist/db/fact_disk_storage.js +6 -6
  274. package/dist/db/fact_queries.d.ts +1 -1
  275. package/dist/db/fact_queries.d.ts.map +1 -1
  276. package/dist/db/fact_queries.js +2 -2
  277. package/dist/db/fact_store.d.ts +1 -1
  278. package/dist/db/fact_store.d.ts.map +1 -1
  279. package/dist/db/fact_store.js +9 -9
  280. package/dist/db/fact_store_errors.d.ts.map +1 -1
  281. package/dist/db/file_fact_url.d.ts +1 -1
  282. package/dist/db/file_fact_url.d.ts.map +1 -1
  283. package/dist/db/file_fact_url.js +1 -1
  284. package/dist/db/migrate.d.ts.map +1 -1
  285. package/dist/db/pg_error.d.ts.map +1 -1
  286. package/dist/db/query_deps.d.ts.map +1 -1
  287. package/dist/db/schema_ready.d.ts.map +1 -1
  288. package/dist/db/schema_ready.js +2 -2
  289. package/dist/db/status.d.ts.map +1 -1
  290. package/dist/db/status.js +6 -6
  291. package/dist/dev/setup.d.ts.map +1 -1
  292. package/dist/dev/setup.js +6 -6
  293. package/dist/env/dotenv.d.ts.map +1 -1
  294. package/dist/env/load.d.ts.map +1 -1
  295. package/dist/env/resolve.d.ts.map +1 -1
  296. package/dist/hono_context.d.ts +23 -0
  297. package/dist/hono_context.d.ts.map +1 -1
  298. package/dist/hono_context.js +16 -2
  299. package/dist/http/auth_shape.d.ts.map +1 -1
  300. package/dist/http/auth_shape.js +6 -6
  301. package/dist/http/client_ip.d.ts.map +1 -1
  302. package/dist/http/common_routes.d.ts.map +1 -1
  303. package/dist/http/common_routes.js +8 -8
  304. package/dist/http/db_routes.d.ts.map +1 -1
  305. package/dist/http/db_routes.js +27 -23
  306. package/dist/http/error_schemas.d.ts +13 -1
  307. package/dist/http/error_schemas.d.ts.map +1 -1
  308. package/dist/http/error_schemas.js +25 -13
  309. package/dist/http/jsonrpc.d.ts.map +1 -1
  310. package/dist/http/jsonrpc.js +9 -9
  311. package/dist/http/jsonrpc_errors.d.ts.map +1 -1
  312. package/dist/http/jsonrpc_errors.js +21 -21
  313. package/dist/http/jsonrpc_helpers.d.ts.map +1 -1
  314. package/dist/http/jsonrpc_helpers.js +7 -7
  315. package/dist/http/middleware_spec.d.ts.map +1 -1
  316. package/dist/http/origin.d.ts.map +1 -1
  317. package/dist/http/pending_effects.d.ts.map +1 -1
  318. package/dist/http/proxy.d.ts.map +1 -1
  319. package/dist/http/proxy.js +1 -1
  320. package/dist/http/route_spec.d.ts.map +1 -1
  321. package/dist/http/route_spec.js +6 -6
  322. package/dist/http/schema_helpers.d.ts.map +1 -1
  323. package/dist/http/schema_helpers.js +1 -1
  324. package/dist/http/surface.d.ts.map +1 -1
  325. package/dist/http/surface.js +11 -11
  326. package/dist/http/surface_query.d.ts.map +1 -1
  327. package/dist/http/surface_query.js +1 -1
  328. package/dist/primitive_schemas.d.ts.map +1 -1
  329. package/dist/primitive_schemas.js +1 -1
  330. package/dist/rate_limiter.d.ts.map +1 -1
  331. package/dist/rate_limiter.js +4 -4
  332. package/dist/realtime/sse.d.ts.map +1 -1
  333. package/dist/realtime/sse.js +2 -2
  334. package/dist/realtime/sse_auth_guard.d.ts +4 -4
  335. package/dist/realtime/sse_auth_guard.d.ts.map +1 -1
  336. package/dist/realtime/sse_auth_guard.js +8 -8
  337. package/dist/realtime/subscriber_registry.d.ts.map +1 -1
  338. package/dist/runtime/deno.d.ts.map +1 -1
  339. package/dist/runtime/deno.js +7 -7
  340. package/dist/runtime/deps.d.ts.map +1 -1
  341. package/dist/runtime/fs.d.ts.map +1 -1
  342. package/dist/runtime/mock.d.ts.map +1 -1
  343. package/dist/runtime/mock.js +3 -3
  344. package/dist/runtime/node.d.ts.map +1 -1
  345. package/dist/runtime/node.js +7 -7
  346. package/dist/schema_meta.d.ts.map +1 -1
  347. package/dist/server/app_backend.d.ts +3 -3
  348. package/dist/server/app_backend.d.ts.map +1 -1
  349. package/dist/server/app_backend.js +3 -3
  350. package/dist/server/app_server.d.ts +6 -6
  351. package/dist/server/app_server.d.ts.map +1 -1
  352. package/dist/server/app_server.js +32 -32
  353. package/dist/server/app_server_context.d.ts.map +1 -1
  354. package/dist/server/env.d.ts.map +1 -1
  355. package/dist/server/env.js +9 -9
  356. package/dist/server/file_fact_fetcher.d.ts.map +1 -1
  357. package/dist/server/file_fact_fetcher.js +1 -1
  358. package/dist/server/serve_fact_route.d.ts.map +1 -1
  359. package/dist/server/serve_fact_route.js +23 -13
  360. package/dist/server/startup.d.ts.map +1 -1
  361. package/dist/server/static.d.ts.map +1 -1
  362. package/dist/server/x_accel.d.ts +2 -4
  363. package/dist/server/x_accel.d.ts.map +1 -1
  364. package/dist/server/x_accel.js +3 -5
  365. package/dist/testing/CLAUDE.md +2 -2
  366. package/dist/testing/admin_integration.d.ts.map +1 -1
  367. package/dist/testing/admin_integration.js +64 -64
  368. package/dist/testing/adversarial_404.d.ts.map +1 -1
  369. package/dist/testing/adversarial_404.js +1 -1
  370. package/dist/testing/adversarial_headers.d.ts.map +1 -1
  371. package/dist/testing/adversarial_headers.js +15 -15
  372. package/dist/testing/adversarial_input.d.ts.map +1 -1
  373. package/dist/testing/adversarial_input.js +22 -22
  374. package/dist/testing/app_server.d.ts.map +1 -1
  375. package/dist/testing/app_server.js +34 -33
  376. package/dist/testing/assertions.d.ts.map +1 -1
  377. package/dist/testing/attack_surface.d.ts.map +1 -1
  378. package/dist/testing/attack_surface.js +12 -12
  379. package/dist/testing/audit_completeness.d.ts.map +1 -1
  380. package/dist/testing/audit_completeness.js +42 -42
  381. package/dist/testing/audit_drift_guard.d.ts +3 -1
  382. package/dist/testing/audit_drift_guard.d.ts.map +1 -1
  383. package/dist/testing/audit_drift_guard.js +12 -6
  384. package/dist/testing/auth_apps.d.ts.map +1 -1
  385. package/dist/testing/auth_apps.js +4 -4
  386. package/dist/testing/bootstrap_success.d.ts.map +1 -1
  387. package/dist/testing/bootstrap_success.js +11 -11
  388. package/dist/testing/connection_closer_helpers.d.ts.map +1 -1
  389. package/dist/testing/connection_closer_helpers.js +1 -1
  390. package/dist/testing/cross_backend/account_lifecycle.d.ts.map +1 -1
  391. package/dist/testing/cross_backend/account_lifecycle.js +1 -1
  392. package/dist/testing/cross_backend/action_manifest.d.ts.map +1 -1
  393. package/dist/testing/cross_backend/action_manifest.js +4 -4
  394. package/dist/testing/cross_backend/action_manifest_parity.d.ts.map +1 -1
  395. package/dist/testing/cross_backend/actor_lookup.d.ts.map +1 -1
  396. package/dist/testing/cross_backend/actor_lookup.js +3 -3
  397. package/dist/testing/cross_backend/actor_search.d.ts.map +1 -1
  398. package/dist/testing/cross_backend/actor_search.js +5 -5
  399. package/dist/testing/cross_backend/app_settings.d.ts.map +1 -1
  400. package/dist/testing/cross_backend/app_settings.js +6 -6
  401. package/dist/testing/cross_backend/backend_config.d.ts.map +1 -1
  402. package/dist/testing/cross_backend/bench/bench_report.d.ts.map +1 -1
  403. package/dist/testing/cross_backend/bench/bench_report.js +5 -5
  404. package/dist/testing/cross_backend/bench/run_cross_impl_bench.d.ts.map +1 -1
  405. package/dist/testing/cross_backend/bench/run_cross_impl_bench.js +2 -2
  406. package/dist/testing/cross_backend/bench/scenario.d.ts.map +1 -1
  407. package/dist/testing/cross_backend/bench/scenario.js +1 -1
  408. package/dist/testing/cross_backend/body_size.d.ts.map +1 -1
  409. package/dist/testing/cross_backend/body_size.js +1 -1
  410. package/dist/testing/cross_backend/bootstrap_backend.d.ts.map +1 -1
  411. package/dist/testing/cross_backend/bootstrap_backend.js +2 -2
  412. package/dist/testing/cross_backend/build_test_backend_paths.js +1 -1
  413. package/dist/testing/cross_backend/capabilities.js +2 -2
  414. package/dist/testing/cross_backend/cell_cross_helpers.d.ts.map +1 -1
  415. package/dist/testing/cross_backend/cell_crud.d.ts.map +1 -1
  416. package/dist/testing/cross_backend/cell_crud.js +5 -2
  417. package/dist/testing/cross_backend/cell_gated_create.d.ts.map +1 -1
  418. package/dist/testing/cross_backend/cell_gated_create.js +8 -7
  419. package/dist/testing/cross_backend/cell_grant_role.d.ts.map +1 -1
  420. package/dist/testing/cross_backend/cell_grant_role.js +2 -2
  421. package/dist/testing/cross_backend/cell_relations.d.ts.map +1 -1
  422. package/dist/testing/cross_backend/cell_relations.js +13 -13
  423. package/dist/testing/cross_backend/conformance_case.d.ts +23 -0
  424. package/dist/testing/cross_backend/conformance_case.d.ts.map +1 -1
  425. package/dist/testing/cross_backend/conformance_case.js +32 -11
  426. package/dist/testing/cross_backend/conformance_table.d.ts.map +1 -1
  427. package/dist/testing/cross_backend/conformance_table.js +68 -15
  428. package/dist/testing/cross_backend/cookie_attributes.d.ts.map +1 -1
  429. package/dist/testing/cross_backend/cookie_attributes.js +4 -4
  430. package/dist/testing/cross_backend/create_cross_backend_global_setup.d.ts +1 -1
  431. package/dist/testing/cross_backend/create_cross_backend_global_setup.d.ts.map +1 -1
  432. package/dist/testing/cross_backend/create_cross_backend_global_setup.js +1 -1
  433. package/dist/testing/cross_backend/create_dual_spawn_global_setup.d.ts +1 -1
  434. package/dist/testing/cross_backend/create_dual_spawn_global_setup.d.ts.map +1 -1
  435. package/dist/testing/cross_backend/create_dual_spawn_global_setup.js +1 -1
  436. package/dist/testing/cross_backend/credential_header_robustness.js +1 -1
  437. package/dist/testing/cross_backend/default_backend_configs.d.ts.map +1 -1
  438. package/dist/testing/cross_backend/default_backend_configs.js +12 -12
  439. package/dist/testing/cross_backend/default_spine_surface.d.ts.map +1 -1
  440. package/dist/testing/cross_backend/default_spine_surface.js +9 -9
  441. package/dist/testing/cross_backend/expected_schema.json +1 -0
  442. package/dist/testing/cross_backend/fact_serving.d.ts.map +1 -1
  443. package/dist/testing/cross_backend/fact_serving.js +2 -2
  444. package/dist/testing/cross_backend/full_spine_mount.d.ts.map +1 -1
  445. package/dist/testing/cross_backend/full_spine_mount.js +4 -4
  446. package/dist/testing/cross_backend/identity_parity.d.ts.map +1 -1
  447. package/dist/testing/cross_backend/identity_parity.js +28 -24
  448. package/dist/testing/cross_backend/in_process_setup.d.ts.map +1 -1
  449. package/dist/testing/cross_backend/in_process_setup.js +9 -9
  450. package/dist/testing/cross_backend/login_security.d.ts.map +1 -1
  451. package/dist/testing/cross_backend/login_security.js +2 -2
  452. package/dist/testing/cross_backend/make_cross_backend_project.d.ts +1 -1
  453. package/dist/testing/cross_backend/make_cross_backend_project.d.ts.map +1 -1
  454. package/dist/testing/cross_backend/make_cross_backend_project.js +3 -3
  455. package/dist/testing/cross_backend/method_coverage.d.ts.map +1 -1
  456. package/dist/testing/cross_backend/origin.d.ts.map +1 -1
  457. package/dist/testing/cross_backend/origin.js +4 -4
  458. package/dist/testing/cross_backend/peer_ping_ws.d.ts.map +1 -1
  459. package/dist/testing/cross_backend/peer_ping_ws.js +6 -6
  460. package/dist/testing/cross_backend/ready.d.ts.map +1 -1
  461. package/dist/testing/cross_backend/role_grant_offer_enumeration.d.ts.map +1 -1
  462. package/dist/testing/cross_backend/role_grant_offer_enumeration.js +1 -1
  463. package/dist/testing/cross_backend/role_grant_offer_notification_ws.d.ts.map +1 -1
  464. package/dist/testing/cross_backend/role_grant_offer_notification_ws.js +1 -1
  465. package/dist/testing/cross_backend/role_grant_participation.d.ts.map +1 -1
  466. package/dist/testing/cross_backend/rust_spine_stub_backend_config.d.ts.map +1 -1
  467. package/dist/testing/cross_backend/rust_spine_stub_backend_config.js +5 -5
  468. package/dist/testing/cross_backend/setup.d.ts.map +1 -1
  469. package/dist/testing/cross_backend/setup.js +41 -37
  470. package/dist/testing/cross_backend/spawn_backend.d.ts.map +1 -1
  471. package/dist/testing/cross_backend/spawn_backend.js +1 -1
  472. package/dist/testing/cross_backend/sse_round_trip.d.ts.map +1 -1
  473. package/dist/testing/cross_backend/sse_round_trip.js +10 -7
  474. package/dist/testing/cross_backend/standard.d.ts.map +1 -1
  475. package/dist/testing/cross_backend/standard.js +5 -5
  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 +109 -109
  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
  607. package/dist/server/fact_write.d.ts +0 -32
  608. package/dist/server/fact_write.d.ts.map +0 -1
  609. package/dist/server/fact_write.js +0 -56
  610. package/dist/server/validate_nginx.d.ts +0 -34
  611. package/dist/server/validate_nginx.d.ts.map +0 -1
  612. package/dist/server/validate_nginx.js +0 -169
@@ -442,7 +442,7 @@ export class FrontendWebsocketClient {
442
442
  this.send({
443
443
  jsonrpc: JSONRPC_VERSION,
444
444
  method: cancel_action_spec.method,
445
- params: { request_id },
445
+ params: { request_id }
446
446
  });
447
447
  }
448
448
  #detach_signal(pending) {
@@ -481,7 +481,7 @@ export class FrontendWebsocketClient {
481
481
  resolve: q.resolve,
482
482
  reject: q.reject,
483
483
  signal: q.signal,
484
- signal_handler: q.signal_handler,
484
+ signal_handler: q.signal_handler
485
485
  });
486
486
  }
487
487
  else {
@@ -687,7 +687,8 @@ export class FrontendWebsocketClient {
687
687
  this.#pending.delete(id);
688
688
  this.#detach_signal(pending);
689
689
  if ('error' in json && json.error) {
690
- const err = json.error;
690
+ const err = json
691
+ .error;
691
692
  // Preserve the server's wire code verbatim so the transport's
692
693
  // catch block re-emits the same code in its envelope. Fall
693
694
  // back to `internal_error` only when the frame is malformed.
@@ -1 +1 @@
1
- {"version":3,"file":"transports.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,KAAK,EACX,gCAAgC,EAChC,gCAAgC,EAChC,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,mDAAmD;AACnD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,sEAAsE;AACtE,eAAO,MAAM,iCAAiC,OAAO,CAAC;AACtD,yEAAyE;AACzE,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAKtD,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACzB,cAAc,EAAE,aAAa,CAAC;IAE9B,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/F,IAAI,CACH,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,CACH,OAAO,EAAE,gCAAgC,EACzC,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IACpD,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,qBAAa,UAAU;;IAItB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAQ;IAE/B;;;;;OAKG;IACH,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAQ9C;;;;;OAKG;IACH,qBAAqB,CAAC,cAAc,EAAE,aAAa,GAAG,IAAI;IAM1D;;;;;;OAMG;IACH,aAAa,CAAC,cAAc,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;IAO/D,QAAQ,IAAI,OAAO,GAAG,IAAI;IAM1B,qBAAqB,IAAI,SAAS,GAAG,IAAI;IAIzC,0BAA0B,IAAI,aAAa,GAAG,IAAI;IAIlD,qBAAqB,CAAC,cAAc,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;CAwCtE"}
1
+ {"version":3,"file":"transports.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACX,gCAAgC,EAChC,gCAAgC,EAChC,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,mDAAmD;AACnD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,sEAAsE;AACtE,eAAO,MAAM,iCAAiC,OAAO,CAAC;AACtD,yEAAyE;AACzE,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAKtD,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACzB,cAAc,EAAE,aAAa,CAAC;IAE9B,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/F,IAAI,CACH,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,CACH,OAAO,EAAE,gCAAgC,EACzC,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IACpD,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,qBAAa,UAAU;;IAItB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAQ;IAE/B;;;;;OAKG;IACH,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAQ9C;;;;;OAKG;IACH,qBAAqB,CAAC,cAAc,EAAE,aAAa,GAAG,IAAI;IAM1D;;;;;;OAMG;IACH,aAAa,CAAC,cAAc,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;IAO/D,QAAQ,IAAI,OAAO,GAAG,IAAI;IAM1B,qBAAqB,IAAI,SAAS,GAAG,IAAI;IAIzC,0BAA0B,IAAI,aAAa,GAAG,IAAI;IAIlD,qBAAqB,CAAC,cAAc,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;CAwCtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"transports_http.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,KAAK,EAGX,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,SAAS,EAAE,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAErE;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,SAAS;;IACtD,QAAQ,CAAC,cAAc,EAAG,mBAAmB,CAAU;gBAOtD,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO;IAOzC,IAAI,CACT,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAC5B,IAAI,CACT,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA2EvC,QAAQ,IAAI,OAAO;CAGnB"}
1
+ {"version":3,"file":"transports_http.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,KAAK,EAGX,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,SAAS;;IACtD,QAAQ,CAAC,cAAc,EAAG,mBAAmB,CAAU;gBAOtD,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO;IAOzC,IAAI,CACT,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAC5B,IAAI,CACT,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA2EvC,QAAQ,IAAI,OAAO;CAGnB"}
@@ -4,8 +4,8 @@
4
4
  * @module
5
5
  */
6
6
  import { DEV } from 'esm-env';
7
- import { ThrownJsonrpcError, jsonrpc_error_messages, http_status_to_jsonrpc_error_code, UNKNOWN_ERROR_MESSAGE, } from '../http/jsonrpc_errors.js';
8
- import { create_jsonrpc_error_response, to_jsonrpc_message_id, is_jsonrpc_error_response, } from '../http/jsonrpc_helpers.js';
7
+ import { ThrownJsonrpcError, jsonrpc_error_messages, http_status_to_jsonrpc_error_code, UNKNOWN_ERROR_MESSAGE } from '../http/jsonrpc_errors.js';
8
+ import { create_jsonrpc_error_response, to_jsonrpc_message_id, is_jsonrpc_error_response } from '../http/jsonrpc_helpers.js';
9
9
  /**
10
10
  * Thin `fetch` adapter for the JSON-RPC endpoint. POST by default; GET when
11
11
  * the optional `has_side_effects(method)` callback returns `false` for the
@@ -39,7 +39,7 @@ export class FrontendHttpTransport {
39
39
  response = await fetch(`${this.#url}${separator}${search_params.toString()}`, {
40
40
  method: 'GET',
41
41
  headers: this.#headers,
42
- signal,
42
+ signal
43
43
  });
44
44
  }
45
45
  else {
@@ -47,7 +47,7 @@ export class FrontendHttpTransport {
47
47
  method: 'POST',
48
48
  headers: this.#headers,
49
49
  body: JSON.stringify(message),
50
- signal,
50
+ signal
51
51
  });
52
52
  }
53
53
  const result = await response.json();
@@ -56,7 +56,7 @@ export class FrontendHttpTransport {
56
56
  if (!response.ok) {
57
57
  return create_jsonrpc_error_response(to_jsonrpc_message_id(message), {
58
58
  code: http_status_to_jsonrpc_error_code(response.status),
59
- message: `HTTP error: ${response.status} ${response.statusText}`,
59
+ message: `HTTP error: ${response.status} ${response.statusText}`
60
60
  });
61
61
  }
62
62
  // In development, check if we got a JSON-RPC error with HTTP 200
@@ -75,11 +75,11 @@ export class FrontendHttpTransport {
75
75
  return create_jsonrpc_error_response(to_jsonrpc_message_id(message), {
76
76
  code: error.code,
77
77
  message: error.message,
78
- data: error.data,
78
+ data: error.data
79
79
  });
80
80
  }
81
81
  return create_jsonrpc_error_response(to_jsonrpc_message_id(message), jsonrpc_error_messages.internal_error('error sending request', {
82
- error: error.message || UNKNOWN_ERROR_MESSAGE,
82
+ error: error.message || UNKNOWN_ERROR_MESSAGE
83
83
  }));
84
84
  }
85
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transports_ws.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_ws.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAaH,OAAO,KAAK,EAGX,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,SAAS,EAAE,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAKrE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAC5E,iBAAiB,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CACnE;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IAClE,OAAO,EAAE,CACR,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE;QAAC,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,EAAE,CAAC,EAAE,gBAAgB,CAAA;KAAC,KACpE,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,qBAAa,0BAA2B,YAAW,SAAS;;IAC3D,QAAQ,CAAC,cAAc,EAAG,wBAAwB,CAAU;gBAOhD,UAAU,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;IAkDtF,IAAI,CACT,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAC5B,IAAI,CACT,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA0DvC,QAAQ,IAAI,OAAO;IAInB;;;;;;OAMG;IACH,OAAO,IAAI,IAAI;CAUf"}
1
+ {"version":3,"file":"transports_ws.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_ws.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAaH,OAAO,KAAK,EAGX,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAKvE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAC5E,iBAAiB,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CACnE;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IAClE,OAAO,EAAE,CACR,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,EAAE,CAAC,EAAE,gBAAgB,CAAA;KAAE,KACtE,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,qBAAa,0BAA2B,YAAW,SAAS;;IAC3D,QAAQ,CAAC,cAAc,EAAG,wBAAwB,CAAU;gBAOhD,UAAU,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;IAkDtF,IAAI,CACT,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAC5B,IAAI,CACT,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA0DvC,QAAQ,IAAI,OAAO;IAInB;;;;;;OAMG;IACH,OAAO,IAAI,IAAI;CAUf"}
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import { to_error_message } from '@fuzdev/fuz_util/error.ts';
20
20
  import { ThrownJsonrpcError, jsonrpc_error_messages } from '../http/jsonrpc_errors.js';
21
- import { is_jsonrpc_notification, is_jsonrpc_request, to_jsonrpc_message_id, to_jsonrpc_result, create_jsonrpc_response, create_jsonrpc_error_response, } from '../http/jsonrpc_helpers.js';
21
+ import { is_jsonrpc_notification, is_jsonrpc_request, to_jsonrpc_message_id, to_jsonrpc_result, create_jsonrpc_response, create_jsonrpc_error_response } from '../http/jsonrpc_helpers.js';
22
22
  import { PEER_PING_METHOD, peer_ping_responder } from './peer_ping.js';
23
23
  /**
24
24
  * Thin adapter over `WebsocketRpcConnection` (canonical implementation:
@@ -99,7 +99,7 @@ export class FrontendWebsocketTransport {
99
99
  const result = await this.#connection.request(message.method, message.params, {
100
100
  id: message.id,
101
101
  signal: options?.signal,
102
- queue,
102
+ queue
103
103
  });
104
104
  return create_jsonrpc_response(message.id, to_jsonrpc_result(result));
105
105
  }
@@ -108,7 +108,7 @@ export class FrontendWebsocketTransport {
108
108
  return create_jsonrpc_error_response(message.id, {
109
109
  code: error.code,
110
110
  message: error.message,
111
- data: error.data,
111
+ data: error.data
112
112
  });
113
113
  }
114
114
  return create_jsonrpc_error_response(message.id, jsonrpc_error_messages.internal_error(to_error_message(error)));
@@ -18,9 +18,9 @@
18
18
  *
19
19
  * For standard WS endpoints mounted via `AppServerOptions.ws_endpoints`,
20
20
  * `create_app_server` composes the guard automatically per
21
- * `WsEndpointSpec.auth_guard`. For custom wiring, append the handler
21
+ * `WsEndpointSpec.auth_guard`. For custom wiring, register the handler
22
22
  * inside the consumer's `audit_factory` body (or via
23
- * `audit.on_event_chain.push(...)` post-assembly).
23
+ * `audit.add_listener(...)` post-assembly).
24
24
  *
25
25
  * @module
26
26
  */
@@ -61,8 +61,8 @@ export declare const ws_disconnect_event_types: ReadonlySet<string>;
61
61
  *
62
62
  * @param log - logger for disconnect events (info level on non-zero closures)
63
63
  * @returns an `on_audit_event` callback suitable for `create_audit_emitter`'s
64
- * `on_audit_event` slot, or for appending onto
65
- * `audit.on_event_chain` post-assembly. The returned callback mutates
64
+ * `on_audit_event` slot, or for registering via
65
+ * `audit.add_listener` post-assembly. The returned callback mutates
66
66
  * `transport` (closing matching sockets via
67
67
  * `close_sockets_for_session` / `_token` / `_account`) on every relevant event.
68
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transports_ws_auth_guard.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_ws_auth_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,4BAA4B,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAE/D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAMxD,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAChC,WAAW,yBAAyB,EACpC,KAAK,MAAM,KACT,iBA6CF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,uBAAuB,GACnC,WAAW,yBAAyB,EACpC,KAAK,MAAM,KACT,iBAaF,CAAC"}
1
+ {"version":3,"file":"transports_ws_auth_guard.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_ws_auth_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAE/D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAMxD,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAChC,WAAW,yBAAyB,EACpC,KAAK,MAAM,KACT,iBA6CF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,uBAAuB,GACnC,WAAW,yBAAyB,EACpC,KAAK,MAAM,KACT,iBAaF,CAAC"}
@@ -18,9 +18,9 @@
18
18
  *
19
19
  * For standard WS endpoints mounted via `AppServerOptions.ws_endpoints`,
20
20
  * `create_app_server` composes the guard automatically per
21
- * `WsEndpointSpec.auth_guard`. For custom wiring, append the handler
21
+ * `WsEndpointSpec.auth_guard`. For custom wiring, register the handler
22
22
  * inside the consumer's `audit_factory` body (or via
23
- * `audit.on_event_chain.push(...)` post-assembly).
23
+ * `audit.add_listener(...)` post-assembly).
24
24
  *
25
25
  * @module
26
26
  */
@@ -42,7 +42,7 @@ export const ws_disconnect_event_types = new Set([
42
42
  'token_revoke',
43
43
  'session_revoke_all',
44
44
  'token_revoke_all',
45
- 'password_change',
45
+ 'password_change'
46
46
  ]);
47
47
  /**
48
48
  * Create an audit event handler that closes WebSocket connections on auth changes.
@@ -54,8 +54,8 @@ export const ws_disconnect_event_types = new Set([
54
54
  *
55
55
  * @param log - logger for disconnect events (info level on non-zero closures)
56
56
  * @returns an `on_audit_event` callback suitable for `create_audit_emitter`'s
57
- * `on_audit_event` slot, or for appending onto
58
- * `audit.on_event_chain` post-assembly. The returned callback mutates
57
+ * `on_audit_event` slot, or for registering via
58
+ * `audit.add_listener` post-assembly. The returned callback mutates
59
59
  * `transport` (closing matching sockets via
60
60
  * `close_sockets_for_session` / `_token` / `_account`) on every relevant event.
61
61
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transports_ws_backend.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_ws_backend.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAc,KAAK,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAEX,gCAAgC,EAChC,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAA2B,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAEN,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAClC,sEAAsE;IACtE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4CAA4C;IAC5C,UAAU,EAAE,IAAI,CAAC;IACjB,sEAAsE;IACtE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAC9D,kBAAkB,EAAE,CACnB,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,KAChD,MAAM,CAAC;CACZ;AAED,qDAAqD;AACrD,eAAO,MAAM,iCAAiC,GAC7C,WAAW,SAAS,KAClB,SAAS,IAAI,4BAEqE,CAAC;AAEtF,qBAAa,yBAA0B,YAAW,4BAA4B;;IAC7E,QAAQ,CAAC,cAAc,EAAG,uBAAuB,CAAU;IAiB3D;;;;;;;;;;;;OAYG;IACH,cAAc,CACb,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,UAAU,EAAE,IAAI,EAChB,YAAY,GAAE,MAAM,GAAG,IAAW,GAChC,IAAI;IAQP;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IA0BtC;;;;;;OAMG;IACH,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIrD;;;;;;OAMG;IACH,yBAAyB,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM;IAInD;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAuB/C,IAAI,CACT,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAC5B,IAAI,CACT,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAyCvC;;;;;;;;;OASG;IACH,kBAAkB,CACjB,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,GAClD,MAAM;IAoBT;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,gCAAgC,GAAG,MAAM;IAIpF;;;;;;;;;;;;;;;;;;OAkBG;IACH,kBAAkB,CACjB,aAAa,EAAE,IAAI,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAkB9B;;;;;;;;;;OAUG;IACH,qBAAqB,CACpB,aAAa,EAAE,IAAI,EACnB,QAAQ,EAAE,eAAe,GAAG,oBAAoB,GAC9C,OAAO;IAIV,QAAQ,IAAI,OAAO;IAInB;;;;;;;OAOG;IACH,oBAAoB,IAAI,MAAM;CAG9B"}
1
+ {"version":3,"file":"transports_ws_backend.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/transports_ws_backend.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAe,KAAK,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAEX,gCAAgC,EAChC,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAEN,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEN,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAClC,sEAAsE;IACtE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4CAA4C;IAC5C,UAAU,EAAE,IAAI,CAAC;IACjB,sEAAsE;IACtE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAC9D,kBAAkB,EAAE,CACnB,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,KAChD,MAAM,CAAC;CACZ;AAED,qDAAqD;AACrD,eAAO,MAAM,iCAAiC,GAC7C,WAAW,SAAS,KAClB,SAAS,IAAI,4BAEqE,CAAC;AAEtF,qBAAa,yBAA0B,YAAW,4BAA4B;;IAC7E,QAAQ,CAAC,cAAc,EAAG,uBAAuB,CAAU;IAiB3D;;;;;;;;;;;;OAYG;IACH,cAAc,CACb,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,UAAU,EAAE,IAAI,EAChB,YAAY,GAAE,MAAM,GAAG,IAAW,GAChC,IAAI;IAQP;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IA0BtC;;;;;;OAMG;IACH,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIrD;;;;;;OAMG;IACH,yBAAyB,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM;IAInD;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAuB/C,IAAI,CACT,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAC5B,IAAI,CACT,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAyCvC;;;;;;;;;OASG;IACH,kBAAkB,CACjB,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,GAClD,MAAM;IAoBT;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,gCAAgC,GAAG,MAAM;IAIpF;;;;;;;;;;;;;;;;;;OAkBG;IACH,kBAAkB,CACjB,aAAa,EAAE,IAAI,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAkB9B;;;;;;;;;;OAUG;IACH,qBAAqB,CACpB,aAAa,EAAE,IAAI,EACnB,QAAQ,EAAE,eAAe,GAAG,oBAAoB,GAC9C,OAAO;IAIV,QAAQ,IAAI,OAAO;IAInB;;;;;;;OAOG;IACH,oBAAoB,IAAI,MAAM;CAG9B"}
@@ -7,9 +7,9 @@
7
7
  import { to_error_message } from '@fuzdev/fuz_util/error.ts';
8
8
  import { create_uuid } from '@fuzdev/fuz_util/id.ts';
9
9
  import { jsonrpc_error_messages } from '../http/jsonrpc_errors.js';
10
- import { create_jsonrpc_error_response, create_jsonrpc_request, to_jsonrpc_message_id, is_jsonrpc_request, } from '../http/jsonrpc_helpers.js';
10
+ import { create_jsonrpc_error_response, create_jsonrpc_request, to_jsonrpc_message_id, is_jsonrpc_request } from '../http/jsonrpc_helpers.js';
11
11
  import { WS_CLOSE_SESSION_REVOKED } from './transports.js';
12
- import { PendingPeerRequests, } from './peer_request.js';
12
+ import { PendingPeerRequests } from './peer_request.js';
13
13
  /** Type guard for `FilterableBroadcastTransport`. */
14
14
  export const is_filterable_broadcast_transport = (transport) => 'broadcast_filtered' in transport &&
15
15
  typeof transport.broadcast_filtered === 'function';
@@ -74,7 +74,7 @@ export interface WsEndpointSpec {
74
74
  /**
75
75
  * Default `true` — auto-composes `create_ws_auth_guard` +
76
76
  * `create_ws_logout_closer` against this endpoint's transport and
77
- * appends them to `deps.audit.on_event_chain`. Wiring is deduped by
77
+ * registers them via `deps.audit.add_listener`. Wiring is deduped by
78
78
  * transport **reference identity** (`WeakSet<BackendWebsocketTransport>`),
79
79
  * so two `WsEndpointSpec`s sharing the exact same instance get a
80
80
  * single pair of listeners.
@@ -106,7 +106,7 @@ export interface WsEndpointSpec {
106
106
  */
107
107
  auth_guard?: boolean;
108
108
  /**
109
- * Extra audit-event handlers appended to `deps.audit.on_event_chain`
109
+ * Extra audit-event handlers registered via `deps.audit.add_listener`
110
110
  * AFTER the standard `auth_guard` wiring (when enabled). By the time
111
111
  * these run, the standard guards may have already closed sockets. Use
112
112
  * for role-revoke disconnection, custom analytics, etc.
@@ -1 +1 @@
1
- {"version":3,"file":"ws_endpoint_spec.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/ws_endpoint_spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EACX,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAErE;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC9B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC;;;;;OAKG;IACH,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC;;;;OAIG;IACH,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;IAC7C,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACxD"}
1
+ {"version":3,"file":"ws_endpoint_spec.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/actions/ws_endpoint_spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EACX,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC9B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC;;;;;OAKG;IACH,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC;;;;OAIG;IACH,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;IAC7C,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACxD"}
@@ -18,7 +18,7 @@ documents the cross-cutting invariants that don't fit on any single symbol.
18
18
 
19
19
  - **Capabilities** — `AppDeps` — stateless, injectable per env: `stat`, `read_text_file`, `delete_file`, `keyring`, `password`, `db`, `log`, `audit`.
20
20
  - **Route caps** — `RouteFactoryDeps` — `Omit<AppDeps, 'db'>`; handlers get `db` via `RouteContext`.
21
- - **Action caps** — inline — action factories take `Pick<RouteFactoryDeps, 'log' | 'audit'>` (role-grant-offer adds `notification_sender?`).
21
+ - **Action caps** — `ActionFactoryDeps` (`auth/deps.ts`) — the `{log, audit}` shape action factories take; `RouteFactoryDeps`/`AppDeps` satisfy it structurally (role-grant-offer adds `notification_sender?`). The two pure-read actor factories (`actor_lookup`/`actor_search`) take only `{log: Logger}`.
22
22
  - **Parameters** — `*Options` — static startup values, per-factory.
23
23
  - **Runtime state** — inline ref — mutable values: `bootstrap_status`, `DaemonTokenState`. NOT in deps or options.
24
24
 
@@ -96,17 +96,21 @@ upstream in `auth/signup_routes.ts` via `query_invite_find_unclaimed_match_for_u
96
96
  `auth/audit_emitter.ts` defines the `AuditEmitter` capability that lives on
97
97
  `AppDeps.audit`. Built once at backend assembly via the consumer's
98
98
  `audit_factory` callback over `create_audit_emitter`; closes over the pool +
99
- `on_audit_event` chain + optional `AuditLogConfig`. Four methods:
99
+ its registered listeners + optional `AuditLogConfig`. Six methods:
100
100
 
101
101
  - `emit(ctx, input)` — fire-and-forget pool write, pushes to `ctx.pending_effects`
102
102
  - `emit_role_grant_target(ctx, auth, input)` — lifts `actor_id` / `account_id` / `ip` boilerplate for role-grant-shape events
103
103
  - `emit_pool(input)` — awaitable pool write for code paths without `pending_effects` (cleanup sweeps)
104
104
  - `notify(event)` — fan out an already-written row to listeners (used by in-tx audit batches like `query_accept_offer.audit_events`)
105
+ - `add_listener(listener)` — append-only listener registration (twin of Rust `fuz_auth` `AuditEmitter::add_listener`)
106
+ - `listener_count()` — registered-listener count, for tests / diagnostics
105
107
 
106
- `on_event_chain` is the mutable subscriber list. `create_app_server` appends
107
- the audit-log SSE listener and per-endpoint WS auth guards / logout closers
108
- here so SSE + WS fan-out compose on top of the consumer's `on_audit_event`
109
- callback without shallow-copying `AppDeps`.
108
+ Listeners are closure-private and append-only. `create_app_server` registers
109
+ the audit-log SSE listener and per-endpoint WS auth guards / logout closers via
110
+ `add_listener` so SSE + WS fan-out compose on top of the consumer's
111
+ `on_audit_event` callback without shallow-copying `AppDeps`. `notify` iterates a
112
+ snapshot so a listener registered mid-fan-out fires only on the next event
113
+ (converges with the Rust twin's cloned vec).
110
114
 
111
115
  **Drift counters** (`auth/audit_log_queries.ts`) — `audit_metadata_validation_failures`
112
116
  and `audit_unknown_event_type_failures` are process-wide, fail-open
@@ -607,7 +611,7 @@ builders, plus `role_grant_offer_notification_specs: Array<EventSpec>` for
607
611
  `create_app_server`'s `event_specs` (drives surface generation and
608
612
  DEV-mode `create_validated_broadcaster` payload validation).
609
613
 
610
- Deps: `Pick<RouteFactoryDeps, 'log' | 'audit'> & {notification_sender?: NotificationSender | null}`.
614
+ Deps: `ActionFactoryDeps & {notification_sender?: NotificationSender | null}`.
611
615
  `NotificationSender` is the narrow structural capability
612
616
  (`send_to_account(account_id, message): number`); `BackendWebsocketTransport`
613
617
  satisfies it structurally. Target account travels via the send argument, not
@@ -18,7 +18,7 @@ export type SessionListInput = z.infer<typeof SessionListInput>;
18
18
  /** Output for `account_session_list`. */
19
19
  export declare const SessionListOutput: z.ZodObject<{
20
20
  sessions: z.ZodArray<z.ZodObject<{
21
- id: z.ZodString;
21
+ id: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
22
22
  account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
23
23
  created_at: z.ZodString;
24
24
  expires_at: z.ZodString;
@@ -28,7 +28,7 @@ export declare const SessionListOutput: z.ZodObject<{
28
28
  export type SessionListOutput = z.infer<typeof SessionListOutput>;
29
29
  /** Input for `account_session_revoke`. `session_id` is the blake3 hash. */
30
30
  export declare const SessionRevokeInput: z.ZodObject<{
31
- session_id: z.ZodString;
31
+ session_id: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
32
32
  }, z.core.$strict>;
33
33
  export type SessionRevokeInput = z.infer<typeof SessionRevokeInput>;
34
34
  /** Output for `account_session_revoke`. `revoked` is `false` for IDOR misses. */
@@ -46,10 +46,25 @@ export declare const SessionRevokeAllOutput: z.ZodObject<{
46
46
  count: z.ZodNumber;
47
47
  }, z.core.$strict>;
48
48
  export type SessionRevokeAllOutput = z.infer<typeof SessionRevokeAllOutput>;
49
- /** Input for `account_token_create`. */
50
- export declare const TokenCreateInput: z.ZodPrefault<z.ZodObject<{
49
+ /**
50
+ * Input for `account_token_create`.
51
+ *
52
+ * `scope` is **required** — default-deny at mint. There is deliberately no
53
+ * permissive default: a caller who wants full authority spells
54
+ * `{kind: 'full'}`, and the stored document records that they did. That is the
55
+ * reversal of the 2026-02 design, where the field existed but nothing depended
56
+ * on it. Because `scope` has no default, the object as a whole no longer
57
+ * carries `.prefault({})`.
58
+ */
59
+ export declare const TokenCreateInput: z.ZodObject<{
51
60
  name: z.ZodDefault<z.ZodString>;
52
- }, z.core.$strict>>;
61
+ scope: z.ZodDiscriminatedUnion<[z.ZodObject<{
62
+ kind: z.ZodLiteral<"full">;
63
+ }, z.core.$strict>, z.ZodObject<{
64
+ kind: z.ZodLiteral<"methods">;
65
+ methods: z.ZodArray<z.ZodString>;
66
+ }, z.core.$strict>], "kind">;
67
+ }, z.core.$strict>;
53
68
  export type TokenCreateInput = z.infer<typeof TokenCreateInput>;
54
69
  /** Output for `account_token_create`. `token` is returned exactly once. */
55
70
  export declare const TokenCreateOutput: z.ZodObject<{
@@ -72,6 +87,7 @@ export declare const TokenListOutput: z.ZodObject<{
72
87
  last_used_at: z.ZodNullable<z.ZodString>;
73
88
  last_used_ip: z.ZodNullable<z.ZodString>;
74
89
  created_at: z.ZodString;
90
+ scope: z.ZodString;
75
91
  }, z.core.$strict>>;
76
92
  }, z.core.$strict>;
77
93
  export type TokenListOutput = z.infer<typeof TokenListOutput>;
@@ -118,7 +134,7 @@ export declare const account_session_list_action_spec: {
118
134
  input: z.ZodVoid;
119
135
  output: z.ZodObject<{
120
136
  sessions: z.ZodArray<z.ZodObject<{
121
- id: z.ZodString;
137
+ id: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
122
138
  account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
123
139
  created_at: z.ZodString;
124
140
  expires_at: z.ZodString;
@@ -139,7 +155,7 @@ export declare const account_session_revoke_action_spec: {
139
155
  };
140
156
  side_effects: true;
141
157
  input: z.ZodObject<{
142
- session_id: z.ZodString;
158
+ session_id: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
143
159
  }, z.core.$strict>;
144
160
  output: z.ZodObject<{
145
161
  ok: z.ZodLiteral<true>;
@@ -186,9 +202,15 @@ export declare const account_token_create_action_spec: {
186
202
  credential_types: string[];
187
203
  };
188
204
  side_effects: true;
189
- input: z.ZodPrefault<z.ZodObject<{
205
+ input: z.ZodObject<{
190
206
  name: z.ZodDefault<z.ZodString>;
191
- }, z.core.$strict>>;
207
+ scope: z.ZodDiscriminatedUnion<[z.ZodObject<{
208
+ kind: z.ZodLiteral<"full">;
209
+ }, z.core.$strict>, z.ZodObject<{
210
+ kind: z.ZodLiteral<"methods">;
211
+ methods: z.ZodArray<z.ZodString>;
212
+ }, z.core.$strict>], "kind">;
213
+ }, z.core.$strict>;
192
214
  output: z.ZodObject<{
193
215
  ok: z.ZodLiteral<true>;
194
216
  token: z.ZodString;
@@ -218,6 +240,7 @@ export declare const account_token_list_action_spec: {
218
240
  last_used_at: z.ZodNullable<z.ZodString>;
219
241
  last_used_ip: z.ZodNullable<z.ZodString>;
220
242
  created_at: z.ZodString;
243
+ scope: z.ZodString;
221
244
  }, z.core.$strict>>;
222
245
  }, z.core.$strict>;
223
246
  async: true;
@@ -1 +1 @@
1
- {"version":3,"file":"account_action_specs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_action_specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account_action_specs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_action_specs.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@
8
8
  * @module
9
9
  */
10
10
  import { z } from 'zod';
11
- import { Blake3Hash } from '@fuzdev/fuz_util/hash_blake3.ts';
12
- import { AuthSessionJson, ClientApiTokenJson, SessionAccountJson } from './account_schema.js';
11
+ import { TokenScopeInput } from './token_scope.js';
12
+ import { AuthSessionJson, ClientApiTokenJson, SessionAccountJson, SessionId } from './account_schema.js';
13
13
  import { ApiTokenId } from './api_token.js';
14
14
  // -- Input/output schemas ---------------------------------------------------
15
15
  /** Input for `account_verify`. No parameters — the caller is the subject. */
@@ -18,54 +18,66 @@ export const VerifyInput = z.void();
18
18
  export const SessionListInput = z.void();
19
19
  /** Output for `account_session_list`. */
20
20
  export const SessionListOutput = z.strictObject({
21
- sessions: z.array(AuthSessionJson),
21
+ sessions: z.array(AuthSessionJson)
22
22
  });
23
23
  /** Input for `account_session_revoke`. `session_id` is the blake3 hash. */
24
24
  export const SessionRevokeInput = z.strictObject({
25
- session_id: Blake3Hash.meta({ description: 'Session id (blake3 hash) to revoke.' }),
25
+ session_id: SessionId.meta({ description: 'Session id (blake3 hash) to revoke.' })
26
26
  });
27
27
  /** Output for `account_session_revoke`. `revoked` is `false` for IDOR misses. */
28
28
  export const SessionRevokeOutput = z.strictObject({
29
29
  ok: z.literal(true),
30
- revoked: z.boolean(),
30
+ revoked: z.boolean()
31
31
  });
32
32
  /** Input for `account_session_revoke_all`. No parameters. */
33
33
  export const SessionRevokeAllInput = z.void();
34
34
  /** Output for `account_session_revoke_all`. */
35
35
  export const SessionRevokeAllOutput = z.strictObject({
36
36
  ok: z.literal(true),
37
- count: z.number(),
37
+ count: z.number()
38
38
  });
39
- /** Input for `account_token_create`. */
40
- export const TokenCreateInput = z
41
- .strictObject({
39
+ /**
40
+ * Input for `account_token_create`.
41
+ *
42
+ * `scope` is **required** — default-deny at mint. There is deliberately no
43
+ * permissive default: a caller who wants full authority spells
44
+ * `{kind: 'full'}`, and the stored document records that they did. That is the
45
+ * reversal of the 2026-02 design, where the field existed but nothing depended
46
+ * on it. Because `scope` has no default, the object as a whole no longer
47
+ * carries `.prefault({})`.
48
+ */
49
+ export const TokenCreateInput = z.strictObject({
42
50
  name: z
43
51
  .string()
44
52
  .default('CLI token')
45
53
  .meta({ description: 'Human-friendly label; shown in the token list.' }),
46
- })
47
- .prefault({});
54
+ scope: TokenScopeInput.meta({
55
+ description: "What the token may do. `{kind:'full'}` for full account authority, or " +
56
+ "`{kind:'methods',methods:[…]}` to narrow it to named RPC methods — a " +
57
+ 'narrowed token is RPC-only and reaches no non-RPC surface.'
58
+ })
59
+ });
48
60
  /** Output for `account_token_create`. `token` is returned exactly once. */
49
61
  export const TokenCreateOutput = z.strictObject({
50
62
  ok: z.literal(true),
51
63
  token: z.string().meta({ description: 'Raw token — shown once, store securely.' }),
52
64
  id: ApiTokenId,
53
- name: z.string(),
65
+ name: z.string()
54
66
  });
55
67
  /** Input for `account_token_list`. No parameters. */
56
68
  export const TokenListInput = z.void();
57
69
  /** Output for `account_token_list`. Hashes are excluded. */
58
70
  export const TokenListOutput = z.strictObject({
59
- tokens: z.array(ClientApiTokenJson),
71
+ tokens: z.array(ClientApiTokenJson)
60
72
  });
61
73
  /** Input for `account_token_revoke`. */
62
74
  export const TokenRevokeInput = z.strictObject({
63
- token_id: ApiTokenId.meta({ description: 'Public API token id (e.g. `tok_<12 chars>`).' }),
75
+ token_id: ApiTokenId.meta({ description: 'Public API token id (e.g. `tok_<12 chars>`).' })
64
76
  });
65
77
  /** Output for `account_token_revoke`. `revoked` is `false` for IDOR misses. */
66
78
  export const TokenRevokeOutput = z.strictObject({
67
79
  ok: z.literal(true),
68
- revoked: z.boolean(),
80
+ revoked: z.boolean()
69
81
  });
70
82
  // -- Action specs -----------------------------------------------------------
71
83
  export const account_verify_action_spec = {
@@ -77,7 +89,7 @@ export const account_verify_action_spec = {
77
89
  input: VerifyInput,
78
90
  output: SessionAccountJson,
79
91
  async: true,
80
- description: 'Verify the current session and echo the caller account.',
92
+ description: 'Verify the current session and echo the caller account.'
81
93
  };
82
94
  export const account_session_list_action_spec = {
83
95
  method: 'account_session_list',
@@ -88,7 +100,7 @@ export const account_session_list_action_spec = {
88
100
  input: SessionListInput,
89
101
  output: SessionListOutput,
90
102
  async: true,
91
- description: 'List auth sessions for the current account.',
103
+ description: 'List auth sessions for the current account.'
92
104
  };
93
105
  // `credential_types: ['session']` — see `docs/security.md` §Credential-channel gating.
94
106
  // A leaked bearer can otherwise compose `account_session_list` + N×revoke to
@@ -102,7 +114,7 @@ export const account_session_revoke_action_spec = {
102
114
  input: SessionRevokeInput,
103
115
  output: SessionRevokeOutput,
104
116
  async: true,
105
- description: 'Revoke a single auth session for the current account (IDOR-guarded).',
117
+ description: 'Revoke a single auth session for the current account (IDOR-guarded).'
106
118
  };
107
119
  // `credential_types: ['session']` — see `docs/security.md` §Credential-channel gating.
108
120
  export const account_session_revoke_all_action_spec = {
@@ -114,7 +126,7 @@ export const account_session_revoke_all_action_spec = {
114
126
  input: SessionRevokeAllInput,
115
127
  output: SessionRevokeAllOutput,
116
128
  async: true,
117
- description: 'Revoke every auth session for the current account.',
129
+ description: 'Revoke every auth session for the current account.'
118
130
  };
119
131
  /**
120
132
  * `credential_types: ['session']` — see `docs/security.md` §Credential-channel gating.
@@ -136,7 +148,7 @@ export const account_token_create_action_spec = {
136
148
  output: TokenCreateOutput,
137
149
  async: true,
138
150
  description: 'Create an API token for the current account. Raw token is returned once.',
139
- rate_limit: 'account',
151
+ rate_limit: 'account'
140
152
  };
141
153
  export const account_token_list_action_spec = {
142
154
  method: 'account_token_list',
@@ -147,7 +159,7 @@ export const account_token_list_action_spec = {
147
159
  input: TokenListInput,
148
160
  output: TokenListOutput,
149
161
  async: true,
150
- description: 'List API tokens for the current account. Hashes are never returned.',
162
+ description: 'List API tokens for the current account. Hashes are never returned.'
151
163
  };
152
164
  // `credential_types: ['session']` — see `docs/security.md` §Credential-channel gating.
153
165
  export const account_token_revoke_action_spec = {
@@ -159,7 +171,7 @@ export const account_token_revoke_action_spec = {
159
171
  input: TokenRevokeInput,
160
172
  output: TokenRevokeOutput,
161
173
  async: true,
162
- description: 'Revoke an API token for the current account (IDOR-guarded).',
174
+ description: 'Revoke an API token for the current account (IDOR-guarded).'
163
175
  };
164
176
  /**
165
177
  * All self-service account action specs — a codegen-ready registry.
@@ -173,5 +185,5 @@ export const all_account_action_specs = [
173
185
  account_session_revoke_all_action_spec,
174
186
  account_token_create_action_spec,
175
187
  account_token_list_action_spec,
176
- account_token_revoke_action_spec,
188
+ account_token_revoke_action_spec
177
189
  ];
@@ -24,7 +24,7 @@
24
24
  */
25
25
  import { type RpcAction } from '../actions/action_rpc.js';
26
26
  import type { ConnectionCloser } from '../actions/connection_closer.js';
27
- import type { RouteFactoryDeps } from './deps.js';
27
+ import type { ActionFactoryDeps } from './deps.js';
28
28
  /** Options for `create_account_actions`. */
29
29
  export interface AccountActionOptions {
30
30
  /**
@@ -50,11 +50,11 @@ export interface AccountActionOptions {
50
50
  /**
51
51
  * Create the self-service account RPC actions.
52
52
  *
53
- * @param deps - `RouteFactoryDeps` (`log`, `audit`, …). `audit.emit` writes
53
+ * @param deps - `ActionFactoryDeps` (`log`, `audit`). `audit.emit` writes
54
54
  * audit rows via the captured pool; the bound emitter encapsulates
55
55
  * `on_audit_event` fan-out and the optional `AuditLogConfig`.
56
56
  * @param options - per-factory configuration
57
57
  * @returns the `RpcAction` array to spread into a `create_rpc_endpoint` call
58
58
  */
59
- export declare const create_account_actions: (deps: Pick<RouteFactoryDeps, "log" | "audit">, options?: AccountActionOptions) => Array<RpcAction>;
59
+ export declare const create_account_actions: (deps: ActionFactoryDeps, options?: AccountActionOptions) => Array<RpcAction>;
60
60
  //# sourceMappingURL=account_actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAqC,KAAK,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAC5F,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAetE,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAwBhD,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACpC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAClC,MAAM,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,OAAO,CAAC,EAC7C,UAAS,oBAAyB,KAChC,KAAK,CAAC,SAAS,CAyIjB,CAAC"}
1
+ {"version":3,"file":"account_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/account_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAoBxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAwBnD,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACpC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAClC,MAAM,iBAAiB,EACvB,UAAS,oBAAyB,KAChC,KAAK,CAAC,SAAS,CAqJjB,CAAC"}