@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
@@ -47,12 +47,12 @@ export const build_extra_account_fixture = (seeded, cookie_name) => ({
47
47
  session_cookie: seeded.session_cookie,
48
48
  create_session_headers: (extra) => ({
49
49
  cookie: `${cookie_name}=${seeded.session_cookie}`,
50
- ...extra,
50
+ ...extra
51
51
  }),
52
52
  create_bearer_headers: (extra) => ({
53
53
  authorization: `Bearer ${seeded.api_token}`,
54
- ...extra,
55
- }),
54
+ ...extra
55
+ })
56
56
  });
57
57
  /**
58
58
  * Strip the non-serializable members so the result can be passed to
@@ -63,7 +63,7 @@ export const serialize_bootstrapped_handle = (handle) => ({
63
63
  daemon_token: handle.daemon_token,
64
64
  keeper_account: handle.keeper_account,
65
65
  keeper_actor: handle.keeper_actor,
66
- keeper_cookies: [...handle.keeper_cookies],
66
+ keeper_cookies: [...handle.keeper_cookies]
67
67
  });
68
68
  /**
69
69
  * Rebuild a usable handle from the serialized subset. Synthesizes a
@@ -81,7 +81,7 @@ export const reconstruct_bootstrapped_handle = (serialized) => ({
81
81
  keeper_cookies: serialized.keeper_cookies,
82
82
  keeper_transport: create_fetch_transport({
83
83
  base_url: serialized.config.base_url,
84
- initial_cookies: serialized.keeper_cookies,
84
+ initial_cookies: serialized.keeper_cookies
85
85
  }),
86
86
  // Same cookie jar but Origin-free so the daemon-token middleware doesn't
87
87
  // discard the credential as browser-context — used by the `_testing_*`
@@ -90,8 +90,8 @@ export const reconstruct_bootstrapped_handle = (serialized) => ({
90
90
  keeper_daemon_transport: create_fetch_transport({
91
91
  base_url: serialized.config.base_url,
92
92
  initial_cookies: serialized.keeper_cookies,
93
- origin: null,
94
- }),
93
+ origin: null
94
+ })
95
95
  });
96
96
  /**
97
97
  * Structural subset of `SignupOutput` the runner cares about. Looser
@@ -101,12 +101,12 @@ export const reconstruct_bootstrapped_handle = (serialized) => ({
101
101
  const SignupResponseShape = z.object({
102
102
  ok: z.literal(true),
103
103
  account: z.object({ id: Uuid, username: z.string() }),
104
- actor: z.object({ id: Uuid }),
104
+ actor: z.object({ id: Uuid })
105
105
  });
106
106
  /** Structural subset of `account_token_create`'s output. */
107
107
  const TokenCreateResponseShape = z.object({
108
108
  token: z.string(),
109
- id: z.string(),
109
+ id: z.string()
110
110
  });
111
111
  /**
112
112
  * Per-test username generator for the *default* `fixture.create_account()`
@@ -148,7 +148,7 @@ const rpc_via_transport = async (transport, rpc_path, method, params, backend_na
148
148
  const response = await transport(rpc_path, {
149
149
  method: 'POST',
150
150
  headers: { 'Content-Type': 'application/json', ...extra_headers },
151
- body: JSON.stringify({ jsonrpc: '2.0', method, params, id: method }),
151
+ body: JSON.stringify({ jsonrpc: '2.0', method, params, id: method })
152
152
  });
153
153
  if (!response.ok) {
154
154
  const body = await response.text().catch(() => '<unreadable>');
@@ -238,9 +238,9 @@ const TestingResetResponseShape = z.object({
238
238
  account: z.object({ id: Uuid, username: z.string() }),
239
239
  actor: z.object({ id: Uuid }),
240
240
  api_token: z.string(),
241
- session_cookie: z.string(),
241
+ session_cookie: z.string()
242
242
  })),
243
- extra_actors: z.array(z.object({ id: Uuid, name: z.string() })),
243
+ extra_actors: z.array(z.object({ id: Uuid, name: z.string() }))
244
244
  });
245
245
  /**
246
246
  * Fire the `_testing_reset` RPC action over the keeper's daemon-token
@@ -255,9 +255,9 @@ const fire_testing_reset = async (handle, options) => {
255
255
  extra_accounts: (options.extra_accounts ?? []).map((spec) => ({
256
256
  username: spec.username,
257
257
  ...(spec.password_value !== undefined && { password_value: spec.password_value }),
258
- roles: [...spec.roles],
258
+ roles: [...spec.roles]
259
259
  })),
260
- extra_actors: [...(options.extra_actors ?? [])],
260
+ extra_actors: [...(options.extra_actors ?? [])]
261
261
  }, handle.config.name, { [DAEMON_TOKEN_HEADER]: handle.daemon_token });
262
262
  const parsed = TestingResetResponseShape.safeParse(raw);
263
263
  if (!parsed.success) {
@@ -268,10 +268,10 @@ const fire_testing_reset = async (handle, options) => {
268
268
  account: parsed.data.account,
269
269
  actor: parsed.data.actor,
270
270
  api_token: parsed.data.api_token,
271
- session_cookie: parsed.data.session_cookie,
271
+ session_cookie: parsed.data.session_cookie
272
272
  },
273
273
  extra_accounts: parsed.data.extra_accounts,
274
- extra_actors: parsed.data.extra_actors,
274
+ extra_actors: parsed.data.extra_actors
275
275
  };
276
276
  };
277
277
  /**
@@ -347,8 +347,8 @@ const mint_account = async (handle, options) => {
347
347
  body: JSON.stringify({
348
348
  username,
349
349
  password,
350
- ...(options.email !== undefined && { email: options.email }),
351
- }),
350
+ ...(options.email !== undefined && { email: options.email })
351
+ })
352
352
  });
353
353
  if (!signup_response.ok) {
354
354
  const body = await signup_response.text().catch(() => '<unreadable>');
@@ -362,7 +362,7 @@ const mint_account = async (handle, options) => {
362
362
  const login_response = await transport('/api/account/login', {
363
363
  method: 'POST',
364
364
  headers: { 'Content-Type': 'application/json' },
365
- body: JSON.stringify({ username, password }),
365
+ body: JSON.stringify({ username, password })
366
366
  });
367
367
  if (!login_response.ok) {
368
368
  const body = await login_response.text().catch(() => '<unreadable>');
@@ -371,7 +371,11 @@ const mint_account = async (handle, options) => {
371
371
  // Drain the body so the connection releases — Hono's login returns
372
372
  // `{ok: true}` and we already have the cookie via the jar.
373
373
  await login_response.arrayBuffer().catch(() => undefined);
374
- const token_result = await rpc_via_transport(transport, handle.config.rpc_path, 'account_token_create', {}, handle.config.name);
374
+ // `scope` is required at mint — there is no absent state, which is the whole
375
+ // point of the default-deny design. A minted-account fixture stands in for an
376
+ // ordinary account credential, so it takes full account authority; the
377
+ // narrowed credential is the conformance table's `scoped_token` principal.
378
+ const token_result = await rpc_via_transport(transport, handle.config.rpc_path, 'account_token_create', { scope: { kind: 'full' } }, handle.config.name);
375
379
  const token_parsed = TokenCreateResponseShape.safeParse(token_result);
376
380
  if (!token_parsed.success) {
377
381
  throw new Error(`account_token_create(${handle.config.name}) returned unexpected result: ${JSON.stringify(token_result)}`);
@@ -381,7 +385,7 @@ const mint_account = async (handle, options) => {
381
385
  account: parsed.data.account,
382
386
  actor: parsed.data.actor,
383
387
  session_cookie: extract_cookie_value(transport, handle.config.cookie_name, handle.config.name),
384
- api_token: token_parsed.data.token,
388
+ api_token: token_parsed.data.token
385
389
  };
386
390
  };
387
391
  /**
@@ -418,7 +422,7 @@ const grant_roles_via_offer_accept = async (handle, minted, roles) => {
418
422
  */
419
423
  const create_keeper_transport = (handle, cookie_name, session_cookie) => create_fetch_transport({
420
424
  base_url: handle.config.base_url,
421
- initial_cookies: [`${cookie_name}=${session_cookie}`],
425
+ initial_cookies: [`${cookie_name}=${session_cookie}`]
422
426
  });
423
427
  /**
424
428
  * Origin-free twin of `create_keeper_transport` — same fresh keeper cookie
@@ -429,7 +433,7 @@ const create_keeper_transport = (handle, cookie_name, session_cookie) => create_
429
433
  const create_keeper_daemon_transport = (handle, cookie_name, session_cookie) => create_fetch_transport({
430
434
  base_url: handle.config.base_url,
431
435
  initial_cookies: [`${cookie_name}=${session_cookie}`],
432
- origin: null,
436
+ origin: null
433
437
  });
434
438
  /**
435
439
  * Build a `SetupTest` against a spawned + bootstrapped backend.
@@ -460,10 +464,10 @@ export const default_cross_process_setup = (handle, options) => {
460
464
  const extra_actor_names = options?.extra_actors ?? [];
461
465
  const { cookie_name } = handle.config;
462
466
  return async () => {
463
- const { keeper, extra_accounts: seeded_extras, extra_actors, } = await fire_testing_reset(handle, {
467
+ const { keeper, extra_accounts: seeded_extras, extra_actors } = await fire_testing_reset(handle, {
464
468
  extra_keeper_roles,
465
469
  extra_accounts: extra_account_specs,
466
- extra_actors: extra_actor_names,
470
+ extra_actors: extra_actor_names
467
471
  });
468
472
  // Rebuild the keeper transport with the new session cookie — the
469
473
  // reset action wiped the `globalSetup` keeper's auth_session row,
@@ -482,27 +486,27 @@ export const default_cross_process_setup = (handle, options) => {
482
486
  keeper_daemon_transport,
483
487
  keeper_account: keeper.account,
484
488
  keeper_actor: keeper.actor,
485
- keeper_cookies: [`${cookie_name}=${keeper.session_cookie}`],
489
+ keeper_cookies: [`${cookie_name}=${keeper.session_cookie}`]
486
490
  };
487
491
  const create_session_headers = (extra) => ({
488
492
  cookie: `${cookie_name}=${keeper.session_cookie}`,
489
- ...extra,
493
+ ...extra
490
494
  });
491
495
  const create_bearer_headers = (extra) => ({
492
496
  authorization: `Bearer ${keeper.api_token}`,
493
- ...extra,
497
+ ...extra
494
498
  });
495
499
  const create_daemon_token_headers = (extra) => ({
496
500
  [DAEMON_TOKEN_HEADER]: handle.daemon_token,
497
- ...extra,
501
+ ...extra
498
502
  });
499
503
  const create_account = async (account_options) => {
500
504
  const other = await mint_account(refreshed_handle, {
501
505
  ...(account_options?.username !== undefined && { username: account_options.username }),
502
506
  ...(account_options?.password_value !== undefined && {
503
- password_value: account_options.password_value,
507
+ password_value: account_options.password_value
504
508
  }),
505
- ...(account_options?.email !== undefined && { email: account_options.email }),
509
+ ...(account_options?.email !== undefined && { email: account_options.email })
506
510
  });
507
511
  if (account_options?.roles && account_options.roles.length > 0) {
508
512
  await grant_roles_via_offer_accept(refreshed_handle, other, account_options.roles);
@@ -514,12 +518,12 @@ export const default_cross_process_setup = (handle, options) => {
514
518
  api_token: other.api_token,
515
519
  create_session_headers: (extra) => ({
516
520
  cookie: `${cookie_name}=${other.session_cookie}`,
517
- ...extra,
521
+ ...extra
518
522
  }),
519
523
  create_bearer_headers: (extra) => ({
520
524
  authorization: `Bearer ${other.api_token}`,
521
- ...extra,
522
- }),
525
+ ...extra
526
+ })
523
527
  };
524
528
  };
525
529
  const extra_accounts = {};
@@ -537,13 +541,13 @@ export const default_cross_process_setup = (handle, options) => {
537
541
  // secondary's transport via `fixture.create_account()`.
538
542
  const transport = create_fetch_transport({
539
543
  base_url: handle.config.base_url,
540
- initial_cookies: [`${cookie_name}=${keeper.session_cookie}`],
544
+ initial_cookies: [`${cookie_name}=${keeper.session_cookie}`]
541
545
  });
542
546
  return {
543
547
  transport,
544
548
  fresh_transport: (fresh_options) => create_fetch_transport({
545
549
  base_url: handle.config.base_url,
546
- ...(fresh_options?.origin !== undefined && { origin: fresh_options.origin }),
550
+ ...(fresh_options?.origin !== undefined && { origin: fresh_options.origin })
547
551
  }),
548
552
  account: keeper.account,
549
553
  actor: keeper.actor,
@@ -564,7 +568,7 @@ export const default_cross_process_setup = (handle, options) => {
564
568
  `${JSON.stringify(raw)} (${parsed.error.message})`);
565
569
  }
566
570
  return `${cookie_name}=${parsed.data.session_cookie}`;
567
- },
571
+ }
568
572
  };
569
573
  };
570
574
  };
@@ -1 +1 @@
1
- {"version":3,"file":"spawn_backend.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/spawn_backend.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAQ,KAAK,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAI5D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAIvD,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AA4ID;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAU,QAAQ,aAAa,KAAG,OAAO,CAAC,aAAa,CAiHhF,CAAC"}
1
+ {"version":3,"file":"spawn_backend.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/spawn_backend.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AA4ID;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAU,QAAQ,aAAa,KAAG,OAAO,CAAC,aAAa,CAiHhF,CAAC"}
@@ -168,7 +168,7 @@ export const spawn_backend = async (config) => {
168
168
  // Own process group so SIGTERM to the negative PID tears down the
169
169
  // binary's descendants too — Hono workers, PTY children, etc.
170
170
  detached: true,
171
- stdio: ['ignore', 'pipe', 'pipe'],
171
+ stdio: ['ignore', 'pipe', 'pipe']
172
172
  });
173
173
  // Buffer stderr so a startup-time crash surfaces with context.
174
174
  const stderr_chunks = [];
@@ -1 +1 @@
1
- {"version":3,"file":"sse_round_trip.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/sse_round_trip.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AA+D9B,OAAO,EAAC,KAAK,mBAAmB,EAAU,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAK1C,kEAAkE;AAClE,MAAM,WAAW,0BAA0B;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACzB;AA0BD;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAAI,SAAS,0BAA0B,KAAG,IAqKtF,CAAC"}
1
+ {"version":3,"file":"sse_round_trip.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/sse_round_trip.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AA+D9B,OAAO,EAAE,KAAK,mBAAmB,EAAW,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C,kEAAkE;AAClE,MAAM,WAAW,0BAA0B;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACzB;AA0BD;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAAI,SAAS,0BAA0B,KAAG,IAwKtF,CAAC"}
@@ -48,7 +48,7 @@ import '../assert_dev_env.js';
48
48
  * @module
49
49
  */
50
50
  import { assert, describe } from 'vitest';
51
- import { account_session_list_action_spec, account_session_revoke_action_spec, account_session_revoke_all_action_spec, } from '../../auth/account_action_specs.js';
51
+ import { account_session_list_action_spec, account_session_revoke_action_spec, account_session_revoke_all_action_spec } from '../../auth/account_action_specs.js';
52
52
  import { admin_session_revoke_all_action_spec } from '../../auth/admin_action_specs.js';
53
53
  import { audit_log_event_specs } from '../../realtime/sse_auth_guard.js';
54
54
  import { SSE_CONNECTED_COMMENT } from '../../realtime/sse_constants.js';
@@ -87,7 +87,7 @@ export const describe_cross_process_sse_tests = (options) => {
87
87
  base_url,
88
88
  sse_path,
89
89
  cookies: fixture.transport.cookies(),
90
- origin,
90
+ origin
91
91
  });
92
92
  try {
93
93
  const first = await sse.read_frame();
@@ -103,18 +103,21 @@ export const describe_cross_process_sse_tests = (options) => {
103
103
  // keeper (target ≠ subscriber, so the stream stays open).
104
104
  test_if(capabilities.sse && rpc_path !== undefined, 'broadcasts an audit event as a data frame', async () => {
105
105
  const fixture = await setup_test();
106
- const secondary = await fixture.create_account({ username: 'sse_revoke_target', roles: [] });
106
+ const secondary = await fixture.create_account({
107
+ username: 'sse_revoke_target',
108
+ roles: []
109
+ });
107
110
  const sse = await create_sse_transport({
108
111
  base_url,
109
112
  sse_path,
110
113
  cookies: fixture.transport.cookies(),
111
- origin,
114
+ origin
112
115
  });
113
116
  try {
114
117
  const first = await sse.read_frame();
115
118
  assert.strictEqual(first + '\n\n', SSE_CONNECTED_COMMENT, 'first frame must be the connected comment');
116
119
  const res = await fixture.transport(rpc_path, create_rpc_post_init(admin_session_revoke_all_action_spec.method, {
117
- account_id: secondary.account.id,
120
+ account_id: secondary.account.id
118
121
  }));
119
122
  assert.strictEqual(res.status, 200, `admin_session_revoke_all RPC failed (status=${res.status})`);
120
123
  const data_frame = await sse.read_frame();
@@ -132,7 +135,7 @@ export const describe_cross_process_sse_tests = (options) => {
132
135
  base_url,
133
136
  sse_path,
134
137
  cookies: fixture.transport.cookies(),
135
- origin,
138
+ origin
136
139
  });
137
140
  try {
138
141
  const first = await sse.read_frame();
@@ -161,7 +164,7 @@ export const describe_cross_process_sse_tests = (options) => {
161
164
  base_url,
162
165
  sse_path,
163
166
  cookies: fixture.transport.cookies(),
164
- origin,
167
+ origin
165
168
  });
166
169
  try {
167
170
  const first = await sse.read_frame();
@@ -1 +1 @@
1
- {"version":3,"file":"standard.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/standard.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAM1D,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,+BAA+B;IAC/C,2CAA2C;IAC3C,UAAU,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B,uCAAuC;IACvC,YAAY,EAAE,mBAAmB,CAAC;IAClC,uFAAuF;IACvF,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC;;;;;OAKG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/F;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,GAAG,CAC1B,MAAM,EACN,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAC,CAAC,CACjF,CAAC;CACF;AAED;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,GACjD,SAAS,+BAA+B,KACtC,IAwCF,CAAC"}
1
+ {"version":3,"file":"standard.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/standard.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,WAAW,+BAA+B;IAC/C,2CAA2C;IAC3C,UAAU,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B,uCAAuC;IACvC,YAAY,EAAE,mBAAmB,CAAC;IAClC,uFAAuF;IACvF,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC;;;;;OAKG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/F;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,GAAG,CAC1B,MAAM,EACN,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CACnF,CAAC;CACF;AAED;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,GACjD,SAAS,+BAA+B,KACtC,IAwCF,CAAC"}
@@ -16,14 +16,14 @@ export const describe_standard_cross_process_tests = (options) => {
16
16
  capabilities: options.capabilities,
17
17
  session_options: options.session_options,
18
18
  rpc_endpoints: options.rpc_endpoints,
19
- error_coverage_min: options.error_coverage_min,
19
+ error_coverage_min: options.error_coverage_min
20
20
  });
21
21
  describe_round_trip_validation({
22
22
  setup_test: options.setup_test,
23
23
  surface_source: options.surface_source,
24
24
  capabilities: options.capabilities,
25
25
  skip_routes: options.round_trip_skip_routes,
26
- success_fixtures: options.rest_success_fixtures,
26
+ success_fixtures: options.rest_success_fixtures
27
27
  });
28
28
  describe_rpc_round_trip_tests({
29
29
  setup_test: options.setup_test,
@@ -31,12 +31,12 @@ export const describe_standard_cross_process_tests = (options) => {
31
31
  capabilities: options.capabilities,
32
32
  session_options: options.session_options,
33
33
  rpc_endpoints: options.rpc_endpoints,
34
- success_fixtures: options.rpc_success_fixtures,
34
+ success_fixtures: options.rpc_success_fixtures
35
35
  });
36
36
  describe_data_exposure_tests({
37
37
  setup_test: options.setup_test,
38
38
  surface_source: options.surface_source,
39
- capabilities: options.capabilities,
39
+ capabilities: options.capabilities
40
40
  });
41
41
  if (options.roles) {
42
42
  describe_standard_admin_integration_tests({
@@ -46,7 +46,7 @@ export const describe_standard_cross_process_tests = (options) => {
46
46
  session_options: options.session_options,
47
47
  roles: options.roles,
48
48
  rpc_endpoints: options.rpc_endpoints,
49
- admin_prefix: options.admin_prefix,
49
+ admin_prefix: options.admin_prefix
50
50
  });
51
51
  }
52
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"testing_backdoor.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/testing_backdoor.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AA2D9B,OAAO,KAAK,EAAC,wBAAwB,EAAc,MAAM,YAAY,CAAC;AAqEtE,kEAAkE;AAClE,MAAM,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEvE,eAAO,MAAM,qCAAqC,GACjD,SAAS,+BAA+B,KACtC,IAiCF,CAAC"}
1
+ {"version":3,"file":"testing_backdoor.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/testing_backdoor.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AA2D9B,OAAO,KAAK,EAAE,wBAAwB,EAAe,MAAM,YAAY,CAAC;AAqExE,kEAAkE;AAClE,MAAM,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEvE,eAAO,MAAM,qCAAqC,GACjD,SAAS,+BAA+B,KACtC,IAiCF,CAAC"}
@@ -73,20 +73,20 @@ const backdoor_methods = [
73
73
  { method: '_testing_migration_tracker', params: {} },
74
74
  // The RPC-registry-dump read — input is an empty strict object, so `{}` is
75
75
  // valid and clears the 400 phase, reaching the credential gate like the rest.
76
- { method: '_testing_action_manifest', params: {} },
76
+ { method: '_testing_action_manifest', params: {} }
77
77
  ];
78
78
  const principals = [
79
79
  {
80
80
  name: 'anonymous',
81
81
  status: 401,
82
82
  // Fresh jar so the keeper cookie (cross-process) can't leak in.
83
- resolve: (f) => ({ transport: f.fresh_transport(), headers: {} }),
83
+ resolve: (f) => ({ transport: f.fresh_transport(), headers: {} })
84
84
  },
85
85
  {
86
86
  name: 'session',
87
87
  status: 403,
88
88
  reason: ERROR_CREDENTIAL_TYPE_REQUIRED,
89
- resolve: (f) => ({ transport: f.transport, headers: f.create_session_headers() }),
89
+ resolve: (f) => ({ transport: f.transport, headers: f.create_session_headers() })
90
90
  },
91
91
  {
92
92
  name: 'bearer',
@@ -98,9 +98,9 @@ const principals = [
98
98
  resolve: (f) => ({
99
99
  transport: f.fresh_transport({ origin: null }),
100
100
  headers: f.create_bearer_headers(),
101
- suppress_default_origin: true,
102
- }),
103
- },
101
+ suppress_default_origin: true
102
+ })
103
+ }
104
104
  ];
105
105
  export const describe_testing_backdoor_cross_tests = (options) => {
106
106
  const { setup_test } = options;
@@ -117,7 +117,7 @@ export const describe_testing_backdoor_cross_tests = (options) => {
117
117
  method,
118
118
  params,
119
119
  headers,
120
- ...(suppress_default_origin && { suppress_default_origin: true }),
120
+ ...(suppress_default_origin && { suppress_default_origin: true })
121
121
  });
122
122
  const label = `${method} ${principal.name}`;
123
123
  assert.ok(!res.ok, `${label}: expected denial (${principal.status}) but the call succeeded`);
@@ -1 +1 @@
1
- {"version":3,"file":"testing_reset_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/testing_reset_actions.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAItB,OAAO,EAAa,KAAK,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAKvE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAqCvC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;QAiBpC;;;;;;;;WAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWyC,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;CAWA,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;CAwBC,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,QAAO,SACiB,CAAC;AAEzE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;CAeK,CAAC;AAE/C;;;;;;;;;GASG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWF,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,QAAO,SAGvD,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;CAYJ,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,QAAO,SAGzD,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYF,CAAC;AAyB/C,eAAO,MAAM,qCAAqC,GACjD,SAAS,aAAa,CAAC,SAAS,CAAC,KAC/B,SAMF,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,2BAA2B;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;IAC9C;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,GAClC,MAAM,OAAO,EACb,SAAS,2BAA2B,KAClC,KAAK,CAAC,SAAS,CAsIjB,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,UAAmC,CAAC"}
1
+ {"version":3,"file":"testing_reset_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/testing_reset_actions.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAKzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAqCzC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;QAiBpC;;;;;;;;WAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWyC,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;CAWA,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;CAwBC,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,QAAO,SACmB,CAAC;AAE3E;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;CAeK,CAAC;AAE/C;;;;;;;;;GASG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWF,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,QAAO,SAGvD,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;CAYJ,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,QAAO,SAGzD,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYF,CAAC;AAyB/C,eAAO,MAAM,qCAAqC,GACjD,SAAS,aAAa,CAAC,SAAS,CAAC,KAC/B,SAMF,CAAC;AAEF,4CAA4C;AAC5C,MAAM,WAAW,2BAA2B;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;IAC9C;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,GAClC,MAAM,OAAO,EACb,SAAS,2BAA2B,KAClC,KAAK,CAAC,SAAS,CAsIjB,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,UAAmC,CAAC"}
@@ -70,13 +70,14 @@ import '../assert_dev_env.js';
70
70
  */
71
71
  import { z } from 'zod';
72
72
  import { Uuid } from '@fuzdev/fuz_util/id.ts';
73
- import { fact_hash_bytes, FactHashSchema } from '@fuzdev/fuz_util/fact_hash.ts';
73
+ import { fact_hash_bytes } from '@fuzdev/fuz_util/fact_hash.ts';
74
+ import { FactHashSchema } from '@fuzdev/fuz_util/hash_schemas.ts';
74
75
  import { rpc_action } from '../../actions/action_rpc.js';
75
76
  import { protocol_action_specs } from '../../actions/protocol.js';
76
77
  import { query_put_fact } from '../../db/fact_queries.js';
77
78
  import { ROLE_ADMIN, ROLE_KEEPER } from '../../auth/role_schema.js';
78
79
  import { auth_integration_truncate_tables } from '../db.js';
79
- import { query_schema_snapshot, SchemaSnapshot, query_migration_tracker, MigrationTracker, } from '../schema_introspect.js';
80
+ import { query_schema_snapshot, SchemaSnapshot, query_migration_tracker, MigrationTracker } from '../schema_introspect.js';
80
81
  import { ActionManifest, build_action_manifest } from './action_manifest.js';
81
82
  import { query_create_actor } from '../../auth/account_queries.js';
82
83
  import { create_test_account_with_credentials, mint_test_session } from '../app_server.js';
@@ -93,14 +94,14 @@ import { DEFAULT_TEST_PASSWORD } from '../test_credentials.js';
93
94
  const TESTING_ACTION_AUTH = {
94
95
  account: 'required',
95
96
  actor: 'none',
96
- credential_types: ['daemon_token'],
97
+ credential_types: ['daemon_token']
97
98
  };
98
99
  /** Output shape for an individual seeded account (keeper or extra). */
99
100
  const SeededAccountShape = z.strictObject({
100
101
  account: z.strictObject({ id: Uuid, username: z.string() }),
101
102
  actor: z.strictObject({ id: Uuid }),
102
103
  api_token: z.string(),
103
- session_cookie: z.string(),
104
+ session_cookie: z.string()
104
105
  });
105
106
  /**
106
107
  * The `_testing_reset` action spec.
@@ -139,7 +140,7 @@ export const testing_reset_action_spec = {
139
140
  .array(z.strictObject({
140
141
  username: z.string(),
141
142
  password_value: z.string().optional(),
142
- roles: z.array(z.string()),
143
+ roles: z.array(z.string())
143
144
  }))
144
145
  .optional(),
145
146
  /**
@@ -151,15 +152,15 @@ export const testing_reset_action_spec = {
151
152
  * production wire path adds a second. Bootstrap-cradle seeding, same
152
153
  * rationale as `extra_accounts`.
153
154
  */
154
- extra_actors: z.array(z.string()).optional(),
155
+ extra_actors: z.array(z.string()).optional()
155
156
  }),
156
157
  output: SeededAccountShape.extend({
157
158
  extra_accounts: z.array(SeededAccountShape),
158
159
  /** The keeper's additional actors (from input `extra_actors`), in order. */
159
- extra_actors: z.array(z.strictObject({ id: Uuid, name: z.string() })),
160
+ extra_actors: z.array(z.strictObject({ id: Uuid, name: z.string() }))
160
161
  }),
161
162
  async: true,
162
- description: 'Test-binary only — wipe auth tables, re-bootstrap a fresh keeper (+ optional extras), fire the domain-state reset.',
163
+ description: 'Test-binary only — wipe auth tables, re-bootstrap a fresh keeper (+ optional extras), fire the domain-state reset.'
163
164
  };
164
165
  /**
165
166
  * `_testing_drain_effects` — await in-flight fire-and-forget audit writes so
@@ -186,7 +187,7 @@ export const testing_drain_effects_action_spec = {
186
187
  input: z.void(),
187
188
  output: z.strictObject({ ok: z.boolean() }),
188
189
  async: true,
189
- description: 'Test-binary only — await in-flight fire-and-forget audit writes so a following audit_log_list read is authoritative.',
190
+ description: 'Test-binary only — await in-flight fire-and-forget audit writes so a following audit_log_list read is authoritative.'
190
191
  };
191
192
  /**
192
193
  * `_testing_mint_session` — mint an expired-by-construction server-side
@@ -233,13 +234,13 @@ export const testing_mint_session_action_spec = {
233
234
  .meta({
234
235
  description: 'Seconds to offset the session row from NOW(). Constrained negative so this ' +
235
236
  'backdoor can ONLY mint an already-expired (backdated) row — never a usable ' +
236
- 'session for an arbitrary account. Its sole use is the expired-session gate.',
237
- }),
237
+ 'session for an arbitrary account. Its sole use is the expired-session gate.'
238
+ })
238
239
  }),
239
240
  output: z.strictObject({ session_cookie: z.string() }),
240
241
  async: true,
241
242
  description: 'Test-binary only — mint a backdated-expiry auth_session row for an account and return its ' +
242
- 'signed cookie value (exercises the authoritative server-side DB-row expiry gate).',
243
+ 'signed cookie value (exercises the authoritative server-side DB-row expiry gate).'
243
244
  };
244
245
  /**
245
246
  * Build the standalone `_testing_drain_effects` action. No deps — on TS the
@@ -271,12 +272,12 @@ export const testing_put_fact_action_spec = {
271
272
  side_effects: true,
272
273
  input: z.strictObject({
273
274
  content: z.string(),
274
- content_type: z.string().optional(),
275
+ content_type: z.string().optional()
275
276
  }),
276
277
  output: z.strictObject({ hash: FactHashSchema }),
277
278
  async: true,
278
279
  description: 'Test-binary only — seed an embedded fact (blake3 of the UTF-8 content) and return its hash, ' +
279
- 'so the cross-process fact-serving suite can store bytes without a DB handle.',
280
+ 'so the cross-process fact-serving suite can store bytes without a DB handle.'
280
281
  };
281
282
  /**
282
283
  * `_testing_schema_snapshot` — introspect the live database into a normalized
@@ -297,7 +298,7 @@ export const testing_schema_snapshot_action_spec = {
297
298
  input: z.strictObject({ exclude_tables: z.array(z.string()).optional() }),
298
299
  output: SchemaSnapshot,
299
300
  async: true,
300
- description: 'Test-binary only — introspect the live schema into a normalized snapshot for cross-impl parity diffing.',
301
+ description: 'Test-binary only — introspect the live schema into a normalized snapshot for cross-impl parity diffing.'
301
302
  };
302
303
  /**
303
304
  * Build the standalone `_testing_schema_snapshot` action. No deps —
@@ -329,7 +330,7 @@ export const testing_migration_tracker_action_spec = {
329
330
  output: MigrationTracker,
330
331
  async: true,
331
332
  description: 'Test-binary only — dump the schema_version tracker rows as a normalized {namespace, name, ' +
332
- 'sequence} list for cross-impl migration-identity parity diffing.',
333
+ 'sequence} list for cross-impl migration-identity parity diffing.'
333
334
  };
334
335
  /**
335
336
  * Build the standalone `_testing_migration_tracker` action. No deps — reads
@@ -368,7 +369,7 @@ export const testing_action_manifest_action_spec = {
368
369
  output: ActionManifest,
369
370
  async: true,
370
371
  description: 'Test-binary only — dump the live RPC registry as a normalized {method, auth, side_effects} ' +
371
- 'manifest for cross-impl method-set + auth-shape parity diffing.',
372
+ 'manifest for cross-impl method-set + auth-shape parity diffing.'
372
373
  };
373
374
  /**
374
375
  * Build the `_testing_action_manifest` action over a backend's full live RPC
@@ -393,7 +394,7 @@ const PROTOCOL_METHODS = new Set(protocol_action_specs.map((spec) => spec.method
393
394
  export const create_testing_action_manifest_action = (mounted) => {
394
395
  const manifest = build_action_manifest([
395
396
  ...mounted.map((action) => action.spec).filter((spec) => !PROTOCOL_METHODS.has(spec.method)),
396
- testing_action_manifest_action_spec,
397
+ testing_action_manifest_action_spec
397
398
  ]);
398
399
  return rpc_action(testing_action_manifest_action_spec, async () => manifest);
399
400
  };
@@ -463,7 +464,7 @@ export const create_testing_actions = (deps, options) => {
463
464
  session_options,
464
465
  password: deps.password,
465
466
  password_value: DEFAULT_TEST_PASSWORD,
466
- roles: [ROLE_KEEPER, ROLE_ADMIN, ...(input.extra_keeper_roles ?? [])],
467
+ roles: [ROLE_KEEPER, ROLE_ADMIN, ...(input.extra_keeper_roles ?? [])]
467
468
  });
468
469
  // 5. Seed any caller-requested extras. These are bootstrap-time
469
470
  // secondaries — the bypass exists in the same cradle the
@@ -477,7 +478,7 @@ export const create_testing_actions = (deps, options) => {
477
478
  password: deps.password,
478
479
  username: spec.username,
479
480
  password_value: spec.password_value ?? DEFAULT_TEST_PASSWORD,
480
- roles: spec.roles,
481
+ roles: spec.roles
481
482
  });
482
483
  extras.push(seeded);
483
484
  }
@@ -512,7 +513,7 @@ export const create_testing_actions = (deps, options) => {
512
513
  keyring: deps.keyring,
513
514
  session_options,
514
515
  account_id: input.account_id,
515
- expires_in_seconds: input.expires_in_seconds,
516
+ expires_in_seconds: input.expires_in_seconds
516
517
  });
517
518
  return { session_cookie };
518
519
  }),
@@ -524,13 +525,13 @@ export const create_testing_actions = (deps, options) => {
524
525
  bytes,
525
526
  external_url: null,
526
527
  content_type: input.content_type ?? null,
527
- size: bytes.length,
528
+ size: bytes.length
528
529
  });
529
530
  return { hash };
530
531
  }),
531
532
  create_testing_drain_effects_action(),
532
533
  create_testing_schema_snapshot_action(),
533
- create_testing_migration_tracker_action(),
534
+ create_testing_migration_tracker_action()
534
535
  ];
535
536
  };
536
537
  /** Set of auth-namespace tables `_testing_reset` wipes. Mirrored by the coverage test. */
@@ -1 +1 @@
1
- {"version":3,"file":"testing_server_bun.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/testing_server_bun.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AA6B9B,OAAO,KAAK,EAAc,oBAAoB,EAAC,MAAM,0BAA0B,CAAC;AAehF,kDAAkD;AAClD,eAAO,MAAM,0BAA0B,QAAO,oBA0D5C,CAAC"}
1
+ {"version":3,"file":"testing_server_bun.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/testing_server_bun.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AA6B9B,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAelF,kDAAkD;AAClD,eAAO,MAAM,0BAA0B,QAAO,oBA0D5C,CAAC"}