@fuzdev/fuz_app 0.103.0 → 0.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/dist/actions/CLAUDE.md +2 -2
  2. package/dist/actions/action_bridge.d.ts.map +1 -1
  3. package/dist/actions/action_bridge.js +2 -2
  4. package/dist/actions/action_codegen.d.ts.map +1 -1
  5. package/dist/actions/action_codegen.js +3 -3
  6. package/dist/actions/action_dispatcher.d.ts.map +1 -1
  7. package/dist/actions/action_dispatcher.js +3 -3
  8. package/dist/actions/action_event.d.ts.map +1 -1
  9. package/dist/actions/action_event.js +11 -11
  10. package/dist/actions/action_event_data.d.ts.map +1 -1
  11. package/dist/actions/action_event_data.js +2 -2
  12. package/dist/actions/action_event_helpers.d.ts.map +1 -1
  13. package/dist/actions/action_event_helpers.js +2 -2
  14. package/dist/actions/action_event_types.d.ts.map +1 -1
  15. package/dist/actions/action_event_types.js +4 -4
  16. package/dist/actions/action_rpc.d.ts.map +1 -1
  17. package/dist/actions/action_rpc.js +13 -13
  18. package/dist/actions/action_spec.d.ts.map +1 -1
  19. package/dist/actions/action_spec.js +6 -6
  20. package/dist/actions/action_types.d.ts.map +1 -1
  21. package/dist/actions/broadcast_api.d.ts.map +1 -1
  22. package/dist/actions/broadcast_api.js +1 -1
  23. package/dist/actions/cancel.d.ts.map +1 -1
  24. package/dist/actions/cancel.js +3 -3
  25. package/dist/actions/compile_action_registry.d.ts.map +1 -1
  26. package/dist/actions/frontend_rpc_client.d.ts.map +1 -1
  27. package/dist/actions/frontend_rpc_client.js +3 -3
  28. package/dist/actions/heartbeat.d.ts.map +1 -1
  29. package/dist/actions/heartbeat.js +2 -2
  30. package/dist/actions/peer_ping.d.ts.map +1 -1
  31. package/dist/actions/peer_ping.js +6 -6
  32. package/dist/actions/peer_request.d.ts.map +1 -1
  33. package/dist/actions/perform_action.d.ts.map +1 -1
  34. package/dist/actions/perform_action.js +13 -13
  35. package/dist/actions/protocol.d.ts.map +1 -1
  36. package/dist/actions/protocol.js +1 -1
  37. package/dist/actions/register_action_ws.d.ts.map +1 -1
  38. package/dist/actions/register_action_ws.js +14 -11
  39. package/dist/actions/register_ws_endpoint.d.ts.map +1 -1
  40. package/dist/actions/register_ws_endpoint.js +3 -3
  41. package/dist/actions/request_tracker.svelte.d.ts.map +1 -1
  42. package/dist/actions/request_tracker.svelte.js +2 -2
  43. package/dist/actions/rpc_client.d.ts.map +1 -1
  44. package/dist/actions/rpc_client.js +7 -7
  45. package/dist/actions/socket.svelte.d.ts.map +1 -1
  46. package/dist/actions/socket.svelte.js +4 -3
  47. package/dist/actions/transports.d.ts.map +1 -1
  48. package/dist/actions/transports_http.d.ts.map +1 -1
  49. package/dist/actions/transports_http.js +7 -7
  50. package/dist/actions/transports_ws.d.ts.map +1 -1
  51. package/dist/actions/transports_ws.js +3 -3
  52. package/dist/actions/transports_ws_auth_guard.d.ts +4 -4
  53. package/dist/actions/transports_ws_auth_guard.d.ts.map +1 -1
  54. package/dist/actions/transports_ws_auth_guard.js +5 -5
  55. package/dist/actions/transports_ws_backend.d.ts.map +1 -1
  56. package/dist/actions/transports_ws_backend.js +2 -2
  57. package/dist/actions/ws_endpoint_spec.d.ts +2 -2
  58. package/dist/actions/ws_endpoint_spec.d.ts.map +1 -1
  59. package/dist/auth/CLAUDE.md +40 -18
  60. package/dist/auth/account_action_specs.d.ts +4 -4
  61. package/dist/auth/account_action_specs.d.ts.map +1 -1
  62. package/dist/auth/account_action_specs.js +18 -19
  63. package/dist/auth/account_actions.d.ts +3 -3
  64. package/dist/auth/account_actions.d.ts.map +1 -1
  65. package/dist/auth/account_actions.js +10 -10
  66. package/dist/auth/account_queries.d.ts.map +1 -1
  67. package/dist/auth/account_queries.js +6 -6
  68. package/dist/auth/account_route_schema.d.ts.map +1 -1
  69. package/dist/auth/account_route_schema.js +19 -19
  70. package/dist/auth/account_routes.d.ts +2 -2
  71. package/dist/auth/account_routes.d.ts.map +1 -1
  72. package/dist/auth/account_routes.js +27 -27
  73. package/dist/auth/account_schema.d.ts +13 -2
  74. package/dist/auth/account_schema.d.ts.map +1 -1
  75. package/dist/auth/account_schema.js +22 -11
  76. package/dist/auth/actor_lookup_action_specs.d.ts.map +1 -1
  77. package/dist/auth/actor_lookup_action_specs.js +5 -5
  78. package/dist/auth/actor_lookup_actions.d.ts +4 -2
  79. package/dist/auth/actor_lookup_actions.d.ts.map +1 -1
  80. package/dist/auth/actor_lookup_actions.js +3 -3
  81. package/dist/auth/actor_lookup_queries.d.ts.map +1 -1
  82. package/dist/auth/actor_search_action_specs.d.ts.map +1 -1
  83. package/dist/auth/actor_search_action_specs.js +6 -6
  84. package/dist/auth/actor_search_actions.d.ts +4 -2
  85. package/dist/auth/actor_search_actions.d.ts.map +1 -1
  86. package/dist/auth/actor_search_actions.js +5 -5
  87. package/dist/auth/actor_search_queries.d.ts.map +1 -1
  88. package/dist/auth/admin_action_specs.d.ts +2 -2
  89. package/dist/auth/admin_action_specs.d.ts.map +1 -1
  90. package/dist/auth/admin_action_specs.js +55 -55
  91. package/dist/auth/admin_actions.d.ts +5 -5
  92. package/dist/auth/admin_actions.d.ts.map +1 -1
  93. package/dist/auth/admin_actions.js +45 -44
  94. package/dist/auth/all_action_spec_registries.d.ts.map +1 -1
  95. package/dist/auth/all_action_spec_registries.js +1 -1
  96. package/dist/auth/all_cell_actions.d.ts.map +1 -1
  97. package/dist/auth/all_cell_actions.js +1 -1
  98. package/dist/auth/api_token.d.ts.map +1 -1
  99. package/dist/auth/api_token_queries.d.ts +7 -2
  100. package/dist/auth/api_token_queries.d.ts.map +1 -1
  101. package/dist/auth/api_token_queries.js +8 -3
  102. package/dist/auth/app_settings_queries.d.ts.map +1 -1
  103. package/dist/auth/app_settings_schema.d.ts.map +1 -1
  104. package/dist/auth/app_settings_schema.js +3 -3
  105. package/dist/auth/audit_emitter.d.ts +28 -20
  106. package/dist/auth/audit_emitter.d.ts.map +1 -1
  107. package/dist/auth/audit_emitter.js +37 -19
  108. package/dist/auth/audit_log_ddl.js +1 -1
  109. package/dist/auth/audit_log_queries.d.ts.map +1 -1
  110. package/dist/auth/audit_log_queries.js +2 -2
  111. package/dist/auth/audit_log_route_schema.d.ts.map +1 -1
  112. package/dist/auth/audit_log_route_schema.js +1 -1
  113. package/dist/auth/audit_log_routes.d.ts.map +1 -1
  114. package/dist/auth/audit_log_routes.js +3 -3
  115. package/dist/auth/audit_log_schema.d.ts +2 -2
  116. package/dist/auth/audit_log_schema.d.ts.map +1 -1
  117. package/dist/auth/audit_log_schema.js +69 -68
  118. package/dist/auth/auth_ddl.js +3 -3
  119. package/dist/auth/auth_guard_resolver.d.ts.map +1 -1
  120. package/dist/auth/bearer_auth.d.ts.map +1 -1
  121. package/dist/auth/bootstrap_account.d.ts.map +1 -1
  122. package/dist/auth/bootstrap_account.js +5 -5
  123. package/dist/auth/bootstrap_route_schema.d.ts.map +1 -1
  124. package/dist/auth/bootstrap_route_schema.js +6 -6
  125. package/dist/auth/bootstrap_routes.d.ts.map +1 -1
  126. package/dist/auth/bootstrap_routes.js +7 -7
  127. package/dist/auth/cell_action_specs.d.ts +227 -2
  128. package/dist/auth/cell_action_specs.d.ts.map +1 -1
  129. package/dist/auth/cell_action_specs.js +117 -39
  130. package/dist/auth/cell_actions.d.ts +34 -11
  131. package/dist/auth/cell_actions.d.ts.map +1 -1
  132. package/dist/auth/cell_actions.js +155 -41
  133. package/dist/auth/cell_audit_action_specs.d.ts.map +1 -1
  134. package/dist/auth/cell_audit_action_specs.js +4 -4
  135. package/dist/auth/cell_audit_actions.d.ts.map +1 -1
  136. package/dist/auth/cell_audit_actions.js +3 -3
  137. package/dist/auth/cell_audit_events.d.ts +1 -1
  138. package/dist/auth/cell_audit_events.d.ts.map +1 -1
  139. package/dist/auth/cell_audit_events.js +7 -6
  140. package/dist/auth/cell_audit_metadata.d.ts +15 -0
  141. package/dist/auth/cell_audit_metadata.d.ts.map +1 -1
  142. package/dist/auth/cell_audit_metadata.js +13 -2
  143. package/dist/auth/cell_authorize.d.ts.map +1 -1
  144. package/dist/auth/cell_data_schema.d.ts.map +1 -1
  145. package/dist/auth/cell_data_schema.js +1 -1
  146. package/dist/auth/cell_field_action_specs.d.ts.map +1 -1
  147. package/dist/auth/cell_field_action_specs.js +16 -16
  148. package/dist/auth/cell_field_actions.d.ts +2 -2
  149. package/dist/auth/cell_field_actions.d.ts.map +1 -1
  150. package/dist/auth/cell_field_actions.js +11 -11
  151. package/dist/auth/cell_field_audit_metadata.d.ts.map +1 -1
  152. package/dist/auth/cell_field_audit_metadata.js +2 -2
  153. package/dist/auth/cell_grant_action_specs.d.ts.map +1 -1
  154. package/dist/auth/cell_grant_action_specs.js +15 -15
  155. package/dist/auth/cell_grant_actions.d.ts +2 -2
  156. package/dist/auth/cell_grant_actions.d.ts.map +1 -1
  157. package/dist/auth/cell_grant_actions.js +12 -12
  158. package/dist/auth/cell_grant_audit_metadata.d.ts.map +1 -1
  159. package/dist/auth/cell_grant_audit_metadata.js +3 -3
  160. package/dist/auth/cell_item_action_specs.d.ts +6 -2
  161. package/dist/auth/cell_item_action_specs.d.ts.map +1 -1
  162. package/dist/auth/cell_item_action_specs.js +25 -21
  163. package/dist/auth/cell_item_actions.d.ts +2 -2
  164. package/dist/auth/cell_item_actions.d.ts.map +1 -1
  165. package/dist/auth/cell_item_actions.js +14 -14
  166. package/dist/auth/cell_item_audit_metadata.d.ts.map +1 -1
  167. package/dist/auth/cell_item_audit_metadata.js +3 -3
  168. package/dist/auth/cell_relation_visibility.d.ts.map +1 -1
  169. package/dist/auth/cleanup.d.ts.map +1 -1
  170. package/dist/auth/cleanup.js +2 -2
  171. package/dist/auth/credential_type_schema.d.ts.map +1 -1
  172. package/dist/auth/credential_type_schema.js +5 -5
  173. package/dist/auth/daemon_token.d.ts.map +1 -1
  174. package/dist/auth/daemon_token_middleware.d.ts.map +1 -1
  175. package/dist/auth/daemon_token_middleware.js +2 -2
  176. package/dist/auth/deps.d.ts +20 -5
  177. package/dist/auth/deps.d.ts.map +1 -1
  178. package/dist/auth/grant_path_schema.d.ts.map +1 -1
  179. package/dist/auth/grant_path_schema.js +8 -8
  180. package/dist/auth/invite_queries.d.ts.map +1 -1
  181. package/dist/auth/invite_schema.d.ts.map +1 -1
  182. package/dist/auth/invite_schema.js +2 -2
  183. package/dist/auth/keyring.d.ts.map +1 -1
  184. package/dist/auth/keyring.js +1 -1
  185. package/dist/auth/middleware.d.ts.map +1 -1
  186. package/dist/auth/middleware.js +7 -7
  187. package/dist/auth/migrations.d.ts.map +1 -1
  188. package/dist/auth/migrations.js +22 -20
  189. package/dist/auth/password.d.ts.map +1 -1
  190. package/dist/auth/password_argon2.d.ts.map +1 -1
  191. package/dist/auth/password_argon2.js +2 -2
  192. package/dist/auth/request_context.d.ts.map +1 -1
  193. package/dist/auth/request_context.js +7 -7
  194. package/dist/auth/role_grant_offer_action_specs.d.ts.map +1 -1
  195. package/dist/auth/role_grant_offer_action_specs.js +35 -35
  196. package/dist/auth/role_grant_offer_actions.d.ts +7 -4
  197. package/dist/auth/role_grant_offer_actions.d.ts.map +1 -1
  198. package/dist/auth/role_grant_offer_actions.js +43 -43
  199. package/dist/auth/role_grant_offer_notifications.d.ts.map +1 -1
  200. package/dist/auth/role_grant_offer_notifications.js +13 -13
  201. package/dist/auth/role_grant_offer_queries.d.ts +1 -1
  202. package/dist/auth/role_grant_offer_queries.d.ts.map +1 -1
  203. package/dist/auth/role_grant_offer_queries.js +11 -11
  204. package/dist/auth/role_grant_offer_schema.d.ts.map +1 -1
  205. package/dist/auth/role_grant_offer_schema.js +7 -7
  206. package/dist/auth/role_grant_queries.d.ts.map +1 -1
  207. package/dist/auth/role_grant_queries.js +3 -3
  208. package/dist/auth/role_schema.d.ts.map +1 -1
  209. package/dist/auth/role_schema.js +7 -7
  210. package/dist/auth/scope_kind_schema.d.ts.map +1 -1
  211. package/dist/auth/self_service_role_action_specs.d.ts.map +1 -1
  212. package/dist/auth/self_service_role_action_specs.js +5 -5
  213. package/dist/auth/self_service_role_actions.d.ts +3 -3
  214. package/dist/auth/self_service_role_actions.d.ts.map +1 -1
  215. package/dist/auth/self_service_role_actions.js +9 -9
  216. package/dist/auth/session_cookie.d.ts.map +1 -1
  217. package/dist/auth/session_cookie.js +3 -3
  218. package/dist/auth/session_middleware.d.ts.map +1 -1
  219. package/dist/auth/session_middleware.js +4 -4
  220. package/dist/auth/session_queries.d.ts +14 -4
  221. package/dist/auth/session_queries.d.ts.map +1 -1
  222. package/dist/auth/session_queries.js +13 -3
  223. package/dist/auth/signup_route_schema.d.ts.map +1 -1
  224. package/dist/auth/signup_route_schema.js +6 -6
  225. package/dist/auth/signup_routes.d.ts.map +1 -1
  226. package/dist/auth/signup_routes.js +11 -11
  227. package/dist/auth/standard_action_specs.d.ts.map +1 -1
  228. package/dist/auth/standard_action_specs.js +1 -1
  229. package/dist/auth/standard_rpc_actions.d.ts +4 -4
  230. package/dist/auth/standard_rpc_actions.d.ts.map +1 -1
  231. package/dist/auth/standard_rpc_actions.js +3 -3
  232. package/dist/cli/args.d.ts.map +1 -1
  233. package/dist/cli/config.d.ts.map +1 -1
  234. package/dist/cli/daemon.d.ts.map +1 -1
  235. package/dist/cli/daemon.js +3 -3
  236. package/dist/cli/help.d.ts.map +1 -1
  237. package/dist/cli/help.js +1 -1
  238. package/dist/cli/logger.d.ts.map +1 -1
  239. package/dist/cli/logger.js +1 -1
  240. package/dist/cli/util.d.ts.map +1 -1
  241. package/dist/cli/util.js +1 -1
  242. package/dist/db/CLAUDE.md +16 -6
  243. package/dist/db/cell_audit_queries.d.ts.map +1 -1
  244. package/dist/db/cell_audit_queries.js +1 -1
  245. package/dist/db/cell_ddl.d.ts +14 -1
  246. package/dist/db/cell_ddl.d.ts.map +1 -1
  247. package/dist/db/cell_ddl.js +26 -6
  248. package/dist/db/cell_field_queries.d.ts.map +1 -1
  249. package/dist/db/cell_grant_queries.d.ts.map +1 -1
  250. package/dist/db/cell_grant_queries.js +1 -1
  251. package/dist/db/cell_history_ddl.d.ts.map +1 -1
  252. package/dist/db/cell_history_ddl.js +4 -4
  253. package/dist/db/cell_item_queries.d.ts.map +1 -1
  254. package/dist/db/cell_queries.d.ts +46 -1
  255. package/dist/db/cell_queries.d.ts.map +1 -1
  256. package/dist/db/cell_queries.js +42 -5
  257. package/dist/db/create_db.d.ts.map +1 -1
  258. package/dist/db/create_db.js +1 -1
  259. package/dist/db/db.d.ts.map +1 -1
  260. package/dist/db/db_pg.d.ts.map +1 -1
  261. package/dist/db/db_pg.js +1 -1
  262. package/dist/db/db_pglite.d.ts.map +1 -1
  263. package/dist/db/db_pglite.js +1 -1
  264. package/dist/db/fact_ddl.d.ts.map +1 -1
  265. package/dist/db/fact_ddl.js +3 -3
  266. package/dist/db/fact_disk_storage.d.ts +1 -1
  267. package/dist/db/fact_disk_storage.d.ts.map +1 -1
  268. package/dist/db/fact_disk_storage.js +6 -6
  269. package/dist/db/fact_queries.d.ts +1 -1
  270. package/dist/db/fact_queries.d.ts.map +1 -1
  271. package/dist/db/fact_queries.js +2 -2
  272. package/dist/db/fact_store.d.ts +1 -1
  273. package/dist/db/fact_store.d.ts.map +1 -1
  274. package/dist/db/fact_store.js +9 -9
  275. package/dist/db/fact_store_errors.d.ts.map +1 -1
  276. package/dist/db/file_fact_url.d.ts +1 -1
  277. package/dist/db/file_fact_url.d.ts.map +1 -1
  278. package/dist/db/file_fact_url.js +1 -1
  279. package/dist/db/migrate.d.ts.map +1 -1
  280. package/dist/db/pg_error.d.ts.map +1 -1
  281. package/dist/db/query_deps.d.ts.map +1 -1
  282. package/dist/db/schema_ready.d.ts.map +1 -1
  283. package/dist/db/schema_ready.js +2 -2
  284. package/dist/db/status.d.ts.map +1 -1
  285. package/dist/db/status.js +6 -6
  286. package/dist/dev/setup.d.ts.map +1 -1
  287. package/dist/dev/setup.js +6 -6
  288. package/dist/env/dotenv.d.ts.map +1 -1
  289. package/dist/env/load.d.ts.map +1 -1
  290. package/dist/env/resolve.d.ts.map +1 -1
  291. package/dist/hono_context.d.ts.map +1 -1
  292. package/dist/hono_context.js +2 -2
  293. package/dist/http/auth_shape.d.ts.map +1 -1
  294. package/dist/http/auth_shape.js +6 -6
  295. package/dist/http/client_ip.d.ts.map +1 -1
  296. package/dist/http/common_routes.d.ts.map +1 -1
  297. package/dist/http/common_routes.js +8 -8
  298. package/dist/http/db_routes.d.ts.map +1 -1
  299. package/dist/http/db_routes.js +27 -23
  300. package/dist/http/error_schemas.d.ts +1 -1
  301. package/dist/http/error_schemas.d.ts.map +1 -1
  302. package/dist/http/error_schemas.js +13 -13
  303. package/dist/http/jsonrpc.d.ts.map +1 -1
  304. package/dist/http/jsonrpc.js +9 -9
  305. package/dist/http/jsonrpc_errors.d.ts.map +1 -1
  306. package/dist/http/jsonrpc_errors.js +21 -21
  307. package/dist/http/jsonrpc_helpers.d.ts.map +1 -1
  308. package/dist/http/jsonrpc_helpers.js +7 -7
  309. package/dist/http/middleware_spec.d.ts.map +1 -1
  310. package/dist/http/origin.d.ts.map +1 -1
  311. package/dist/http/pending_effects.d.ts.map +1 -1
  312. package/dist/http/proxy.d.ts.map +1 -1
  313. package/dist/http/proxy.js +1 -1
  314. package/dist/http/route_spec.d.ts.map +1 -1
  315. package/dist/http/route_spec.js +6 -6
  316. package/dist/http/schema_helpers.d.ts.map +1 -1
  317. package/dist/http/schema_helpers.js +1 -1
  318. package/dist/http/surface.d.ts.map +1 -1
  319. package/dist/http/surface.js +11 -11
  320. package/dist/http/surface_query.d.ts.map +1 -1
  321. package/dist/http/surface_query.js +1 -1
  322. package/dist/primitive_schemas.d.ts.map +1 -1
  323. package/dist/primitive_schemas.js +1 -1
  324. package/dist/rate_limiter.d.ts.map +1 -1
  325. package/dist/rate_limiter.js +4 -4
  326. package/dist/realtime/sse.d.ts.map +1 -1
  327. package/dist/realtime/sse.js +2 -2
  328. package/dist/realtime/sse_auth_guard.d.ts +4 -4
  329. package/dist/realtime/sse_auth_guard.d.ts.map +1 -1
  330. package/dist/realtime/sse_auth_guard.js +8 -8
  331. package/dist/realtime/subscriber_registry.d.ts.map +1 -1
  332. package/dist/runtime/deno.d.ts.map +1 -1
  333. package/dist/runtime/deno.js +7 -7
  334. package/dist/runtime/deps.d.ts.map +1 -1
  335. package/dist/runtime/fs.d.ts.map +1 -1
  336. package/dist/runtime/mock.d.ts.map +1 -1
  337. package/dist/runtime/mock.js +3 -3
  338. package/dist/runtime/node.d.ts.map +1 -1
  339. package/dist/runtime/node.js +7 -7
  340. package/dist/schema_meta.d.ts.map +1 -1
  341. package/dist/server/app_backend.d.ts +3 -3
  342. package/dist/server/app_backend.d.ts.map +1 -1
  343. package/dist/server/app_backend.js +3 -3
  344. package/dist/server/app_server.d.ts +6 -6
  345. package/dist/server/app_server.d.ts.map +1 -1
  346. package/dist/server/app_server.js +32 -32
  347. package/dist/server/app_server_context.d.ts.map +1 -1
  348. package/dist/server/env.d.ts.map +1 -1
  349. package/dist/server/env.js +9 -9
  350. package/dist/server/fact_write.d.ts +1 -1
  351. package/dist/server/fact_write.d.ts.map +1 -1
  352. package/dist/server/fact_write.js +2 -1
  353. package/dist/server/file_fact_fetcher.d.ts.map +1 -1
  354. package/dist/server/file_fact_fetcher.js +1 -1
  355. package/dist/server/serve_fact_route.d.ts.map +1 -1
  356. package/dist/server/serve_fact_route.js +15 -13
  357. package/dist/server/startup.d.ts.map +1 -1
  358. package/dist/server/static.d.ts.map +1 -1
  359. package/dist/server/validate_nginx.js +1 -1
  360. package/dist/server/x_accel.d.ts.map +1 -1
  361. package/dist/server/x_accel.js +1 -1
  362. package/dist/testing/CLAUDE.md +27 -18
  363. package/dist/testing/admin_integration.d.ts.map +1 -1
  364. package/dist/testing/admin_integration.js +62 -62
  365. package/dist/testing/adversarial_404.d.ts.map +1 -1
  366. package/dist/testing/adversarial_404.js +1 -1
  367. package/dist/testing/adversarial_headers.d.ts.map +1 -1
  368. package/dist/testing/adversarial_headers.js +15 -15
  369. package/dist/testing/adversarial_input.d.ts.map +1 -1
  370. package/dist/testing/adversarial_input.js +22 -22
  371. package/dist/testing/app_server.d.ts.map +1 -1
  372. package/dist/testing/app_server.js +32 -32
  373. package/dist/testing/assertions.d.ts.map +1 -1
  374. package/dist/testing/attack_surface.d.ts.map +1 -1
  375. package/dist/testing/attack_surface.js +12 -12
  376. package/dist/testing/audit_completeness.d.ts.map +1 -1
  377. package/dist/testing/audit_completeness.js +41 -41
  378. package/dist/testing/audit_drift_guard.d.ts +3 -1
  379. package/dist/testing/audit_drift_guard.d.ts.map +1 -1
  380. package/dist/testing/audit_drift_guard.js +12 -6
  381. package/dist/testing/auth_apps.d.ts.map +1 -1
  382. package/dist/testing/auth_apps.js +4 -4
  383. package/dist/testing/bootstrap_success.d.ts.map +1 -1
  384. package/dist/testing/bootstrap_success.js +11 -11
  385. package/dist/testing/connection_closer_helpers.d.ts.map +1 -1
  386. package/dist/testing/connection_closer_helpers.js +1 -1
  387. package/dist/testing/cross_backend/account_lifecycle.d.ts.map +1 -1
  388. package/dist/testing/cross_backend/account_lifecycle.js +1 -1
  389. package/dist/testing/cross_backend/action_manifest.d.ts.map +1 -1
  390. package/dist/testing/cross_backend/action_manifest.js +4 -4
  391. package/dist/testing/cross_backend/action_manifest_parity.d.ts.map +1 -1
  392. package/dist/testing/cross_backend/actor_lookup.d.ts.map +1 -1
  393. package/dist/testing/cross_backend/actor_lookup.js +3 -3
  394. package/dist/testing/cross_backend/actor_search.d.ts.map +1 -1
  395. package/dist/testing/cross_backend/actor_search.js +5 -5
  396. package/dist/testing/cross_backend/app_settings.d.ts.map +1 -1
  397. package/dist/testing/cross_backend/app_settings.js +6 -6
  398. package/dist/testing/cross_backend/backend_config.d.ts.map +1 -1
  399. package/dist/testing/cross_backend/bench/bench_report.d.ts.map +1 -1
  400. package/dist/testing/cross_backend/bench/bench_report.js +5 -5
  401. package/dist/testing/cross_backend/bench/run_cross_impl_bench.d.ts.map +1 -1
  402. package/dist/testing/cross_backend/bench/run_cross_impl_bench.js +2 -2
  403. package/dist/testing/cross_backend/bench/scenario.d.ts.map +1 -1
  404. package/dist/testing/cross_backend/bench/scenario.js +1 -1
  405. package/dist/testing/cross_backend/body_size.d.ts.map +1 -1
  406. package/dist/testing/cross_backend/body_size.js +1 -1
  407. package/dist/testing/cross_backend/bootstrap_backend.d.ts.map +1 -1
  408. package/dist/testing/cross_backend/bootstrap_backend.js +2 -2
  409. package/dist/testing/cross_backend/build_test_backend_paths.js +1 -1
  410. package/dist/testing/cross_backend/capabilities.js +2 -2
  411. package/dist/testing/cross_backend/cell_cross_helpers.d.ts.map +1 -1
  412. package/dist/testing/cross_backend/cell_crud.d.ts.map +1 -1
  413. package/dist/testing/cross_backend/cell_crud.js +5 -2
  414. package/dist/testing/cross_backend/cell_gated_create.d.ts +24 -0
  415. package/dist/testing/cross_backend/cell_gated_create.d.ts.map +1 -1
  416. package/dist/testing/cross_backend/cell_gated_create.js +178 -35
  417. package/dist/testing/cross_backend/cell_grant_role.d.ts.map +1 -1
  418. package/dist/testing/cross_backend/cell_grant_role.js +2 -2
  419. package/dist/testing/cross_backend/cell_relations.d.ts.map +1 -1
  420. package/dist/testing/cross_backend/cell_relations.js +13 -13
  421. package/dist/testing/cross_backend/conformance_case.d.ts.map +1 -1
  422. package/dist/testing/cross_backend/conformance_case.js +11 -11
  423. package/dist/testing/cross_backend/conformance_table.d.ts.map +1 -1
  424. package/dist/testing/cross_backend/conformance_table.js +11 -11
  425. package/dist/testing/cross_backend/cookie_attributes.d.ts.map +1 -1
  426. package/dist/testing/cross_backend/cookie_attributes.js +4 -4
  427. package/dist/testing/cross_backend/create_cross_backend_global_setup.d.ts +1 -1
  428. package/dist/testing/cross_backend/create_cross_backend_global_setup.d.ts.map +1 -1
  429. package/dist/testing/cross_backend/create_cross_backend_global_setup.js +1 -1
  430. package/dist/testing/cross_backend/create_dual_spawn_global_setup.d.ts +1 -1
  431. package/dist/testing/cross_backend/create_dual_spawn_global_setup.d.ts.map +1 -1
  432. package/dist/testing/cross_backend/create_dual_spawn_global_setup.js +1 -1
  433. package/dist/testing/cross_backend/credential_header_robustness.js +1 -1
  434. package/dist/testing/cross_backend/default_backend_configs.d.ts.map +1 -1
  435. package/dist/testing/cross_backend/default_backend_configs.js +12 -12
  436. package/dist/testing/cross_backend/default_spine_surface.d.ts.map +1 -1
  437. package/dist/testing/cross_backend/default_spine_surface.js +9 -9
  438. package/dist/testing/cross_backend/expected_schema.json +3 -0
  439. package/dist/testing/cross_backend/fact_serving.d.ts.map +1 -1
  440. package/dist/testing/cross_backend/fact_serving.js +2 -2
  441. package/dist/testing/cross_backend/full_spine_mount.d.ts.map +1 -1
  442. package/dist/testing/cross_backend/full_spine_mount.js +11 -8
  443. package/dist/testing/cross_backend/identity_parity.d.ts.map +1 -1
  444. package/dist/testing/cross_backend/identity_parity.js +28 -24
  445. package/dist/testing/cross_backend/in_process_setup.d.ts.map +1 -1
  446. package/dist/testing/cross_backend/in_process_setup.js +9 -9
  447. package/dist/testing/cross_backend/login_security.d.ts.map +1 -1
  448. package/dist/testing/cross_backend/login_security.js +2 -2
  449. package/dist/testing/cross_backend/make_cross_backend_project.d.ts +1 -1
  450. package/dist/testing/cross_backend/make_cross_backend_project.d.ts.map +1 -1
  451. package/dist/testing/cross_backend/make_cross_backend_project.js +3 -3
  452. package/dist/testing/cross_backend/method_coverage.d.ts.map +1 -1
  453. package/dist/testing/cross_backend/origin.d.ts.map +1 -1
  454. package/dist/testing/cross_backend/origin.js +4 -4
  455. package/dist/testing/cross_backend/peer_ping_ws.d.ts.map +1 -1
  456. package/dist/testing/cross_backend/peer_ping_ws.js +6 -6
  457. package/dist/testing/cross_backend/ready.d.ts.map +1 -1
  458. package/dist/testing/cross_backend/role_grant_offer_enumeration.d.ts.map +1 -1
  459. package/dist/testing/cross_backend/role_grant_offer_enumeration.js +1 -1
  460. package/dist/testing/cross_backend/role_grant_offer_notification_ws.d.ts.map +1 -1
  461. package/dist/testing/cross_backend/role_grant_offer_notification_ws.js +1 -1
  462. package/dist/testing/cross_backend/role_grant_participation.d.ts.map +1 -1
  463. package/dist/testing/cross_backend/rust_spine_stub_backend_config.d.ts.map +1 -1
  464. package/dist/testing/cross_backend/rust_spine_stub_backend_config.js +5 -5
  465. package/dist/testing/cross_backend/setup.d.ts.map +1 -1
  466. package/dist/testing/cross_backend/setup.js +36 -36
  467. package/dist/testing/cross_backend/spawn_backend.d.ts.map +1 -1
  468. package/dist/testing/cross_backend/spawn_backend.js +1 -1
  469. package/dist/testing/cross_backend/sse_round_trip.d.ts.map +1 -1
  470. package/dist/testing/cross_backend/sse_round_trip.js +10 -7
  471. package/dist/testing/cross_backend/standard.d.ts.map +1 -1
  472. package/dist/testing/cross_backend/standard.js +5 -5
  473. package/dist/testing/cross_backend/test_cell_gated_create_authorize.d.ts +12 -7
  474. package/dist/testing/cross_backend/test_cell_gated_create_authorize.d.ts.map +1 -1
  475. package/dist/testing/cross_backend/test_cell_gated_create_authorize.js +54 -15
  476. package/dist/testing/cross_backend/testing_backdoor.d.ts.map +1 -1
  477. package/dist/testing/cross_backend/testing_backdoor.js +7 -7
  478. package/dist/testing/cross_backend/testing_reset_actions.d.ts.map +1 -1
  479. package/dist/testing/cross_backend/testing_reset_actions.js +24 -23
  480. package/dist/testing/cross_backend/testing_server_bun.d.ts.map +1 -1
  481. package/dist/testing/cross_backend/testing_server_bun.js +3 -3
  482. package/dist/testing/cross_backend/testing_server_core.d.ts.map +1 -1
  483. package/dist/testing/cross_backend/testing_server_core.js +1 -1
  484. package/dist/testing/cross_backend/testing_server_deno.d.ts.map +1 -1
  485. package/dist/testing/cross_backend/testing_server_deno.js +1 -1
  486. package/dist/testing/cross_backend/testing_server_node.d.ts.map +1 -1
  487. package/dist/testing/cross_backend/testing_server_node.js +3 -3
  488. package/dist/testing/cross_backend/ts_spine_backend_config.d.ts.map +1 -1
  489. package/dist/testing/cross_backend/ts_spine_backend_config.js +13 -13
  490. package/dist/testing/cross_backend/ws_round_trip.d.ts.map +1 -1
  491. package/dist/testing/cross_backend/ws_round_trip.js +2 -2
  492. package/dist/testing/data_exposure.d.ts.map +1 -1
  493. package/dist/testing/data_exposure.js +8 -8
  494. package/dist/testing/db.d.ts.map +1 -1
  495. package/dist/testing/db.js +3 -3
  496. package/dist/testing/db_entities.d.ts.map +1 -1
  497. package/dist/testing/db_entities.js +1 -1
  498. package/dist/testing/entities.d.ts.map +1 -1
  499. package/dist/testing/entities.js +5 -5
  500. package/dist/testing/error_coverage.d.ts.map +1 -1
  501. package/dist/testing/integration.d.ts.map +1 -1
  502. package/dist/testing/integration.js +106 -106
  503. package/dist/testing/integration_helpers.d.ts.map +1 -1
  504. package/dist/testing/integration_helpers.js +3 -3
  505. package/dist/testing/middleware.d.ts.map +1 -1
  506. package/dist/testing/middleware.js +11 -11
  507. package/dist/testing/mock_fs.js +1 -1
  508. package/dist/testing/rate_limiting.d.ts.map +1 -1
  509. package/dist/testing/rate_limiting.js +23 -23
  510. package/dist/testing/role_grant_helpers.d.ts.map +1 -1
  511. package/dist/testing/role_grant_helpers.js +3 -3
  512. package/dist/testing/round_trip.d.ts.map +1 -1
  513. package/dist/testing/round_trip.js +6 -6
  514. package/dist/testing/rpc_attack_surface.d.ts.map +1 -1
  515. package/dist/testing/rpc_attack_surface.js +12 -12
  516. package/dist/testing/rpc_helpers.d.ts.map +1 -1
  517. package/dist/testing/rpc_helpers.js +11 -11
  518. package/dist/testing/rpc_round_trip.d.ts.map +1 -1
  519. package/dist/testing/rpc_round_trip.js +3 -3
  520. package/dist/testing/schema_generators.d.ts.map +1 -1
  521. package/dist/testing/schema_generators.js +3 -3
  522. package/dist/testing/schema_introspect.d.ts.map +1 -1
  523. package/dist/testing/schema_introspect.js +12 -12
  524. package/dist/testing/schema_parity.d.ts.map +1 -1
  525. package/dist/testing/schema_parity.js +7 -7
  526. package/dist/testing/schema_ready_fixture.d.ts.map +1 -1
  527. package/dist/testing/sse_round_trip.d.ts.map +1 -1
  528. package/dist/testing/sse_round_trip.js +8 -8
  529. package/dist/testing/standard.d.ts.map +1 -1
  530. package/dist/testing/standard.js +8 -8
  531. package/dist/testing/stubs.d.ts +6 -6
  532. package/dist/testing/stubs.d.ts.map +1 -1
  533. package/dist/testing/stubs.js +26 -23
  534. package/dist/testing/surface_invariants.d.ts.map +1 -1
  535. package/dist/testing/surface_invariants.js +5 -5
  536. package/dist/testing/testing_rate_limiter.d.ts.map +1 -1
  537. package/dist/testing/transports/bootstrap.d.ts.map +1 -1
  538. package/dist/testing/transports/bootstrap.js +4 -4
  539. package/dist/testing/transports/fetch_transport.d.ts.map +1 -1
  540. package/dist/testing/transports/sse_frame_reader.d.ts.map +1 -1
  541. package/dist/testing/transports/sse_transport.js +1 -1
  542. package/dist/testing/transports/ws_client.d.ts.map +1 -1
  543. package/dist/testing/transports/ws_client.js +1 -1
  544. package/dist/testing/transports/ws_transport.js +4 -4
  545. package/dist/testing/ws_round_trip.d.ts.map +1 -1
  546. package/dist/testing/ws_round_trip.js +21 -21
  547. package/dist/ui/AccountSessions.svelte +11 -11
  548. package/dist/ui/AdminAccounts.svelte +10 -10
  549. package/dist/ui/AdminAuditLog.svelte +14 -14
  550. package/dist/ui/AdminInvites.svelte +13 -13
  551. package/dist/ui/AdminOverview.svelte +22 -22
  552. package/dist/ui/AdminRoleGrantHistory.svelte +11 -11
  553. package/dist/ui/AdminSessions.svelte +12 -12
  554. package/dist/ui/AdminSettings.svelte +1 -1
  555. package/dist/ui/AdminSurface.svelte +3 -3
  556. package/dist/ui/AppShell.svelte +8 -8
  557. package/dist/ui/AppShell.svelte.d.ts.map +1 -1
  558. package/dist/ui/BootstrapForm.svelte +9 -9
  559. package/dist/ui/CLAUDE.md +1 -1
  560. package/dist/ui/ColumnLayout.svelte +2 -2
  561. package/dist/ui/ColumnLayout.svelte.d.ts.map +1 -1
  562. package/dist/ui/ConfirmButton.svelte +8 -8
  563. package/dist/ui/ConfirmButton.svelte.d.ts.map +1 -1
  564. package/dist/ui/Datatable.svelte +6 -6
  565. package/dist/ui/Datatable.svelte.d.ts.map +1 -1
  566. package/dist/ui/LoginForm.svelte +6 -6
  567. package/dist/ui/LogoutButton.svelte +2 -2
  568. package/dist/ui/LogoutButton.svelte.d.ts.map +1 -1
  569. package/dist/ui/MenuLink.svelte +5 -5
  570. package/dist/ui/MenuLink.svelte.d.ts.map +1 -1
  571. package/dist/ui/OpenSignupToggle.svelte +2 -2
  572. package/dist/ui/PopoverButton.svelte +10 -10
  573. package/dist/ui/PopoverButton.svelte.d.ts.map +1 -1
  574. package/dist/ui/RoleGrantOfferForm.svelte +8 -11
  575. package/dist/ui/RoleGrantOfferForm.svelte.d.ts.map +1 -1
  576. package/dist/ui/RoleGrantOfferHistory.svelte +11 -11
  577. package/dist/ui/RoleGrantOfferHistory.svelte.d.ts.map +1 -1
  578. package/dist/ui/RoleGrantOfferInbox.svelte +6 -6
  579. package/dist/ui/RoleGrantOfferInbox.svelte.d.ts.map +1 -1
  580. package/dist/ui/SignupForm.svelte +9 -9
  581. package/dist/ui/SurfaceExplorer.svelte +11 -11
  582. package/dist/ui/SurfaceExplorer.svelte.d.ts.map +1 -1
  583. package/dist/ui/account_sessions_state.svelte.d.ts.map +1 -1
  584. package/dist/ui/admin_accounts_state.svelte.d.ts.map +1 -1
  585. package/dist/ui/admin_accounts_state.svelte.js +2 -2
  586. package/dist/ui/admin_invites_state.svelte.d.ts.map +1 -1
  587. package/dist/ui/admin_rpc_adapters.d.ts.map +1 -1
  588. package/dist/ui/admin_rpc_adapters.js +5 -5
  589. package/dist/ui/admin_sessions_state.svelte.d.ts.map +1 -1
  590. package/dist/ui/app_settings_state.svelte.d.ts.map +1 -1
  591. package/dist/ui/async_slot.svelte.d.ts.map +1 -1
  592. package/dist/ui/audit_log_state.svelte.d.ts.map +1 -1
  593. package/dist/ui/audit_log_state.svelte.js +1 -1
  594. package/dist/ui/auth_state.svelte.js +4 -4
  595. package/dist/ui/form_state.svelte.d.ts.map +1 -1
  596. package/dist/ui/format_scope.d.ts.map +1 -1
  597. package/dist/ui/keyed_async_slot.svelte.d.ts.map +1 -1
  598. package/dist/ui/popover.svelte.d.ts.map +1 -1
  599. package/dist/ui/popover.svelte.js +1 -1
  600. package/dist/ui/position_helpers.js +1 -1
  601. package/dist/ui/role_grant_offers_state.svelte.d.ts.map +1 -1
  602. package/dist/ui/role_grant_offers_state.svelte.js +1 -1
  603. package/dist/ui/table_state.svelte.d.ts.map +1 -1
  604. package/dist/ui/ui_fetch.d.ts.map +1 -1
  605. package/dist/ui/ui_format.js +2 -2
  606. package/package.json +13 -12
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,OAAO,EAA2B,KAAK,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAG1E;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;kBAoDxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,wBAAwB,GAAG,qBAAqB,CAAC;IACxD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,aAAa,KAAG,sBA4BxD,CAAC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG5E;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;kBAoDxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,wBAAwB,GAAG,qBAAqB,CAAC;IACxD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,aAAa,KAAG,sBA4BxD,CAAC"}
@@ -32,14 +32,14 @@ export const BaseServerEnv = z.strictObject({
32
32
  HOST: z.string().default('localhost').meta({ description: 'HTTP server bind address' }),
33
33
  DATABASE_URL: z.string().min(1).meta({
34
34
  description: 'Database URL (postgres://, file://, or memory://)',
35
- sensitivity: 'secret',
35
+ sensitivity: 'secret'
36
36
  }),
37
37
  SECRET_FUZ_COOKIE_KEYS: z.string().min(32).meta({
38
38
  description: 'Cookie signing keys, separated by __ for rotation',
39
- sensitivity: 'secret',
39
+ sensitivity: 'secret'
40
40
  }),
41
41
  FUZ_ALLOWED_ORIGINS: z.string().min(1, 'FUZ_ALLOWED_ORIGINS is required').meta({
42
- description: 'Comma-separated origin patterns for API verification',
42
+ description: 'Comma-separated origin patterns for API verification'
43
43
  }),
44
44
  PUBLIC_FUZ_API_URL: z.string().default('/api').meta({ description: 'Public API base URL' }),
45
45
  PUBLIC_FUZ_WEBSOCKET_URL: z.string().optional().meta({ description: 'Public WebSocket URL' }),
@@ -67,11 +67,11 @@ export const BaseServerEnv = z.strictObject({
67
67
  .optional()
68
68
  .meta({ description: 'SMTP authentication password', sensitivity: 'secret' }),
69
69
  FUZ_FACTS_DIR: z.string().min(1).default('./.facts').meta({
70
- description: 'Directory for referenced (large) fact bytes, sharded <shard>/<rest>',
70
+ description: 'Directory for referenced (large) fact bytes, sharded <shard>/<rest>'
71
71
  }),
72
72
  FUZ_FACTS_X_ACCEL_REDIRECT_PREFIX: z.string().optional().meta({
73
- description: 'Internal nginx prefix for X-Accel-Redirect fact delivery (production only)',
74
- }),
73
+ description: 'Internal nginx prefix for X-Accel-Redirect fact delivery (production only)'
74
+ })
75
75
  });
76
76
  /**
77
77
  * Validate a loaded `BaseServerEnv` and produce the artifacts needed for server init.
@@ -95,20 +95,20 @@ export const validate_server_env = (env) => {
95
95
  return {
96
96
  ok: false,
97
97
  field: 'FUZ_ALLOWED_ORIGINS',
98
- errors: [to_error_message(err, 'Invalid FUZ_ALLOWED_ORIGINS')],
98
+ errors: [to_error_message(err, 'Invalid FUZ_ALLOWED_ORIGINS')]
99
99
  };
100
100
  }
101
101
  if (allowed_origins.length === 0) {
102
102
  return {
103
103
  ok: false,
104
104
  field: 'FUZ_ALLOWED_ORIGINS',
105
- errors: ['FUZ_ALLOWED_ORIGINS contains no valid patterns'],
105
+ errors: ['FUZ_ALLOWED_ORIGINS contains no valid patterns']
106
106
  };
107
107
  }
108
108
  return {
109
109
  ok: true,
110
110
  keyring: keyring_result.keyring,
111
111
  allowed_origins,
112
- bootstrap_token_path: env.FUZ_BOOTSTRAP_TOKEN_PATH ?? null,
112
+ bootstrap_token_path: env.FUZ_BOOTSTRAP_TOKEN_PATH ?? null
113
113
  };
114
114
  };
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @module
12
12
  */
13
- import { type FactHash } from '@fuzdev/fuz_util/fact_hash.ts';
13
+ import { type FactHash } from '@fuzdev/fuz_util/hash_schemas.ts';
14
14
  import type { FactStore } from '@fuzdev/fuz_util/fact_store.ts';
15
15
  export interface WriteFactOptions {
16
16
  content_type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"fact_write.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/fact_write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAoC,KAAK,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAC/F,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAG9D,MAAM,WAAW,gBAAgB;IAChC,YAAY,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,GACtB,YAAY,SAAS,EACrB,oBAAoB,MAAM,EAC1B,WAAW,MAAM,EACjB,OAAO,UAAU,EACjB,SAAS,gBAAgB,KACvB,OAAO,CAAC,QAAQ,CA4BlB,CAAC"}
1
+ {"version":3,"file":"fact_write.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/fact_write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE,MAAM,WAAW,gBAAgB;IAChC,YAAY,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,GACtB,YAAY,SAAS,EACrB,oBAAoB,MAAM,EAC1B,WAAW,MAAM,EACjB,OAAO,UAAU,EACjB,SAAS,gBAAgB,KACvB,OAAO,CAAC,QAAQ,CA4BlB,CAAC"}
@@ -13,7 +13,8 @@
13
13
  import { randomBytes } from 'node:crypto';
14
14
  import { writeFile, rename, mkdir, unlink } from 'node:fs/promises';
15
15
  import { join } from 'node:path';
16
- import { FACT_HASH_PREFIX, fact_hash_bytes } from '@fuzdev/fuz_util/fact_hash.ts';
16
+ import { fact_hash_bytes } from '@fuzdev/fuz_util/fact_hash.ts';
17
+ import { FACT_HASH_PREFIX } from '@fuzdev/fuz_util/hash_schemas.ts';
17
18
  import { mint_file_fact_url } from '../db/file_fact_url.js';
18
19
  /**
19
20
  * Write `bytes` as a fact, choosing embedded (PG) vs external (disk +
@@ -1 +1 @@
1
- {"version":3,"file":"file_fact_fetcher.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/file_fact_fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAG7D,4BAA4B;AAC5B,MAAM,WAAW,sBAAsB;IACtC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,sBAAsB,KAAG,mBA0B1E,CAAC"}
1
+ {"version":3,"file":"file_fact_fetcher.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/file_fact_fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,4BAA4B;AAC5B,MAAM,WAAW,sBAAsB;IACtC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,sBAAsB,KAAG,mBA0B1E,CAAC"}
@@ -55,6 +55,6 @@ export const create_file_fact_fetcher = (options) => {
55
55
  const path = resolve_path(url);
56
56
  const node_stream = createReadStream(path);
57
57
  return Readable.toWeb(node_stream);
58
- }),
58
+ })
59
59
  };
60
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"serve_fact_route.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/serve_fact_route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwFG;AAMH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAC;AAepD,OAAO,EAAsC,KAAK,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAE1F,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAM7C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AA6D/C,MAAM,WAAW,+BAA+B;IAC/C;;;;;;OAMG;IACH,IAAI,EAAE,OAAO,CAAC;IACd,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACZ;AAgHD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iCAAiC,GAC7C,SAAS,+BAA+B,KACtC,SA8CF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,4BAA4B,GACxC,SAAS,+BAA+B,KACtC,SAgCF,CAAC"}
1
+ {"version":3,"file":"serve_fact_route.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/serve_fact_route.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwFG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAetD,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAM/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA6DjD,MAAM,WAAW,+BAA+B;IAC/C;;;;;;OAMG;IACH,IAAI,EAAE,OAAO,CAAC;IACd,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACZ;AAgHD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iCAAiC,GAC7C,SAAS,+BAA+B,KACtC,SAgDF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,4BAA4B,GACxC,SAAS,+BAA+B,KACtC,SAgCF,CAAC"}
@@ -90,10 +90,10 @@
90
90
  import { createReadStream } from 'node:fs';
91
91
  import { Readable } from 'node:stream';
92
92
  import { join } from 'node:path';
93
- import { FactHashSchema } from '@fuzdev/fuz_util/fact_hash.ts';
93
+ import { FactHashSchema } from '@fuzdev/fuz_util/hash_schemas.ts';
94
94
  import { Uuid } from '@fuzdev/fuz_util/id.ts';
95
95
  import { z } from 'zod';
96
- import { build_request_context, get_request_context, has_role, } from '../auth/request_context.js';
96
+ import { build_request_context, get_request_context, has_role } from '../auth/request_context.js';
97
97
  import { ROLE_ADMIN } from '../auth/role_schema.js';
98
98
  import { ActingActor } from '../http/auth_shape.js';
99
99
  import { ACCOUNT_ID_KEY } from '../hono_context.js';
@@ -130,7 +130,7 @@ const CONTENT_SECURITY_POLICY = "default-src 'none'; sandbox";
130
130
  */
131
131
  const FACT_SECURITY_HEADERS = {
132
132
  'X-Content-Type-Options': X_CONTENT_TYPE_OPTIONS,
133
- 'Content-Security-Policy': CONTENT_SECURITY_POLICY,
133
+ 'Content-Security-Policy': CONTENT_SECURITY_POLICY
134
134
  };
135
135
  /**
136
136
  * Path-param schema for the bare-hash route. Matching the canonical
@@ -139,7 +139,7 @@ const FACT_SECURITY_HEADERS = {
139
139
  * which the round-trip validator expects.
140
140
  */
141
141
  const bare_hash_params_schema = z.strictObject({
142
- hash: FactHashSchema,
142
+ hash: FactHashSchema
143
143
  });
144
144
  /**
145
145
  * Path-param schema for the cell-scoped route. `cell_id` validates as a
@@ -148,14 +148,14 @@ const bare_hash_params_schema = z.strictObject({
148
148
  */
149
149
  const cell_fact_params_schema = z.strictObject({
150
150
  cell_id: Uuid,
151
- hash: FactHashSchema,
151
+ hash: FactHashSchema
152
152
  });
153
153
  /** Shared error-schema entry: tighten the auto-derived 400 to the literal emitted by params validation. */
154
154
  const params_400_error = {
155
155
  400: z.looseObject({
156
156
  error: z.literal(ERROR_INVALID_ROUTE_PARAMS),
157
- issues: z.array(z.unknown()),
158
- }),
157
+ issues: z.array(z.unknown())
158
+ })
159
159
  };
160
160
  /**
161
161
  * Serve a fact's bytes by hash, after the caller has been authorized for it.
@@ -190,7 +190,7 @@ const serve_fact_bytes = async (c, route, hash, config) => {
190
190
  'Content-Type': content_type,
191
191
  'Content-Length': size,
192
192
  'Cache-Control': CACHE_CONTROL,
193
- ...FACT_SECURITY_HEADERS,
193
+ ...FACT_SECURITY_HEADERS
194
194
  });
195
195
  }
196
196
  // External — defense-in-depth re-validate the URL before trusting it
@@ -208,7 +208,7 @@ const serve_fact_bytes = async (c, route, hash, config) => {
208
208
  'Content-Length': size,
209
209
  'Cache-Control': CACHE_CONTROL,
210
210
  'X-Accel-Redirect': `${x_accel.redirect_prefix}${shard}/${rest}`,
211
- ...FACT_SECURITY_HEADERS,
211
+ ...FACT_SECURITY_HEADERS
212
212
  });
213
213
  }
214
214
  // Dev / tests: stream from disk. `createReadStream` errors land on the
@@ -220,7 +220,7 @@ const serve_fact_bytes = async (c, route, hash, config) => {
220
220
  'Content-Type': content_type,
221
221
  'Content-Length': size,
222
222
  'Cache-Control': CACHE_CONTROL,
223
- ...FACT_SECURITY_HEADERS,
223
+ ...FACT_SECURITY_HEADERS
224
224
  });
225
225
  };
226
226
  /**
@@ -287,13 +287,15 @@ export const create_serve_cell_fact_route_spec = (options) => {
287
287
  // can admit a null req_ctx (the only admit path is the
288
288
  // public-visibility branch in `can_view_cell`, which doesn't read
289
289
  // grants).
290
- const grants = req_ctx ? await query_cell_grant_list_for_cell({ db: route.db }, cell.id) : null;
290
+ const grants = req_ctx
291
+ ? await query_cell_grant_list_for_cell({ db: route.db }, cell.id)
292
+ : null;
291
293
  if (!can_view_cell(req_ctx, cell, grants)) {
292
294
  // 404 (not 403) so an unviewable cell→fact edge doesn't leak.
293
295
  return c.body(null, 404);
294
296
  }
295
297
  return serve_fact_bytes(c, route, hash, config);
296
- },
298
+ }
297
299
  };
298
300
  };
299
301
  /**
@@ -339,7 +341,7 @@ export const create_serve_fact_route_spec = (options) => {
339
341
  return c.body(null, 404);
340
342
  }
341
343
  return serve_fact_bytes(c, route, hash, config);
342
- },
344
+ }
343
345
  };
344
346
  };
345
347
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/startup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAC;AAGpD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAC/B,SAAS,UAAU,EACnB,KAAK,MAAM,EACX,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAClC,IAkDF,CAAC"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/startup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAC/B,SAAS,UAAU,EACnB,KAAK,MAAM,EACX,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAClC,IAkDF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"static.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,MAAM,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,kBAAkB,KAAK,iBAAiB,CAAC;AAKpF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GACpC,cAAc,kBAAkB,EAChC,UAAU;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAAC,KACxF,KAAK,CAAC,iBAAiB,CAyBzB,CAAC"}
1
+ {"version":3,"file":"static.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,kBAAkB,KAAK,iBAAiB,CAAC;AAKpF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GACpC,cAAc,kBAAkB,EAChC,UAAU;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,KAC1F,KAAK,CAAC,iBAAiB,CAyBzB,CAAC"}
@@ -164,6 +164,6 @@ export const validate_nginx_config = (config) => {
164
164
  return {
165
165
  ok: errors.length === 0,
166
166
  warnings,
167
- errors,
167
+ errors
168
168
  };
169
169
  };
@@ -1 +1 @@
1
- {"version":3,"file":"x_accel.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/x_accel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACpC,gEAAgE;IAChE,EAAE,EAAE,OAAO,CAAC;IACZ,iEAAiE;IACjE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtB;AAuDD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gCAAgC,GAC5C,QAAQ,MAAM,EACd,gBAAgB,MAAM,KACpB,oBAqBF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;IAEvB,iFAAiF;;0CAG5D,CAAC;AACxB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;CAKjC;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,GACjC,iBAAiB,MAAM,EACvB,cAAc,MAAM,KAClB,YAMF,CAAC"}
1
+ {"version":3,"file":"x_accel.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/x_accel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACpC,gEAAgE;IAChE,EAAE,EAAE,OAAO,CAAC;IACZ,iEAAiE;IACjE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtB;AAuDD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gCAAgC,GAC5C,QAAQ,MAAM,EACd,gBAAgB,MAAM,KACpB,oBAqBF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;IAEvB,iFAAiF;;0CAG5D,CAAC;AACxB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;CAKjC;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,GACjC,iBAAiB,MAAM,EACvB,cAAc,MAAM,KAClB,YAMF,CAAC"}
@@ -109,7 +109,7 @@ export const validate_facts_internal_location = (config, facts_location) => {
109
109
  export const XAccelConfig = z
110
110
  .strictObject({
111
111
  /** The validated redirect prefix the serving path prepends (e.g. `/_facts/`). */
112
- redirect_prefix: z.string(),
112
+ redirect_prefix: z.string()
113
113
  })
114
114
  .brand('XAccelConfig');
115
115
  /**
@@ -33,7 +33,7 @@ time (never runtime), where a throwing guard would break `vite build`.
33
33
  - `stub_mw` — pass-through middleware (`async (_c, next) => next()`).
34
34
  - `stub_app_deps` — frozen `AppDeps`, every capability throwing, `audit` a no-op `AuditEmitter` from `create_test_audit_emitter`.
35
35
  - `create_stub_app_deps()` — factory: fresh `AppDeps` with no-op FS/keyring/password, a `create_noop_stub` DB, silent `Logger`, no-op `audit`.
36
- - `create_test_audit_emitter()` — no-op `AuditEmitter`; `emit` / `emit_role_grant_target` no-op, `emit_pool` resolves immediately, `notify` no-op, `on_event_chain` empty.
36
+ - `create_test_audit_emitter()` — no-op `AuditEmitter`; `emit` / `emit_role_grant_target` no-op, `emit_pool` resolves immediately, `notify` no-op, `add_listener` throws (use `create_recording_audit_emitter` for a listener-accepting emitter), `listener_count` returns 0.
37
37
  - `create_stub_audit_sse()` — no-op `AuditLogSse` for surface-test wiring without booting real SSE. `subscribe` returns a no-op cleanup; `on_audit_event` no-op; `registry` is a fresh `SubscriberRegistry` (live `.size` / `.close_*` for registry-state tests, isolated per call). For real SSE plumbing build via `create_audit_log_sse` against `create_test_app`.
38
38
  - `create_stub_api_middleware({include_daemon_token?})` — stub `MiddlewareSpec[]` matching `create_auth_middleware_specs`'s output (origin/session/request_context/bearer_auth, optional daemon_token) for surface generation without booting real auth. See `auth/CLAUDE.md` §Middleware for the real stack.
39
39
  - `create_stub_app_server_context(session_options)` — stub `AppServerContext`; rate limiters null, `bootstrap_status.available: false`, `app_settings.open_signup: false`.
@@ -270,7 +270,7 @@ const snapshot_deno = await query_schema_snapshot(db);
270
270
  await drop_recreate_db('app_test');
271
271
  await spawn_backend(rust_config);
272
272
  const snapshot_rust = await query_schema_snapshot(db);
273
- assert_schema_snapshots_equal(snapshot_deno, snapshot_rust, {a: 'deno', b: 'rust'});
273
+ assert_schema_snapshots_equal(snapshot_deno, snapshot_rust, { a: 'deno', b: 'rust' });
274
274
  ```
275
275
 
276
276
  Each impl's _own_ tests still gate its DDL correctness independently — this
@@ -915,13 +915,15 @@ source of truth for wire-shape conformance.
915
915
  parity suite — both `true` on every backend that live-mounts the full cell
916
916
  surface (TS spine binary, in-process app, Rust stub). A backend mounting only
917
917
  plain CRUD would declare `cell_crud: true, cell_relations: false`.
918
- `cell_gated_create` gates `describe_cell_gated_create_cross_tests` (the
919
- cell-creation-authorizer parity proof); unlike `cell_crud`/`cell_relations`
918
+ `cell_gated_create` gates `describe_cell_gated_create_cross_tests` +
919
+ `describe_cell_moderate_cross_tests` (the parent-aware-creation-authorizer +
920
+ `cell_moderate` parity proofs); unlike `cell_crud`/`cell_relations`
920
921
  it is **cross-only** (`false` in-process) — `true` only on the reference
921
922
  spine binaries that live-mount the `test_cell_gated_create_authorize` policy
922
923
  (the TS spine `full_spine_mount` + the Rust `testing_spine_stub`), since the
923
- authorizer adds no method/column/wire shape and so the schema + manifest
924
- parity gates are blind to an authorizer divergence.
924
+ authorizer _behavior_ adds no method/wire shape and so the schema + manifest
925
+ parity gates are blind to an authorizer divergence (the `cell_moderate`
926
+ _verb_ it pairs with is on the manifest, separately gated).
925
927
  `account_lifecycle` gates `describe_account_lifecycle_cross_tests` (the
926
928
  `account_delete` / `account_undelete` / `account_purge` parity suite); unlike
927
929
  cells those verbs **are** on the declared surface (in `create_admin_actions`,
@@ -1197,22 +1199,29 @@ backdoor, cell).
1197
1199
  holder who can `cell_get` still gets the IDOR 404). Only **actor-shaped**
1198
1200
  grants are exercised — role-shaped principals need a closed role registry the
1199
1201
  Rust spine deliberately lacks.
1200
- - **`describe_cell_gated_create_cross_tests`** (gates on
1201
- `capabilities.cell_gated_create`, **cross-only**) — the cell-creation
1202
- authorizer (`CellCreateAuthorize`) parity proof. Both spines mount the same
1203
- `test_cell_gated_create_authorize` policy (gate `kind: 'gated'` behind the
1204
- `participant` role or admin): a non-participant is denied with the
1205
- `cell_not_found` 404 IDOR mask, an ungated kind is open, a `participant` is
1206
- admitted, and admin bypasses. The authorizer adds no method/column/wire
1207
- shape, so schema + manifest parity are **blind** to a divergence — this is the
1208
- only gate that catches one. In-process hook coverage is the standalone
1209
- `auth/cell_create_authorize.db.test.ts` (this cross suite skips in-process,
1210
- where the default app mounts no authorizer).
1202
+ - **`describe_cell_gated_create_cross_tests`** + **`describe_cell_moderate_cross_tests`**
1203
+ (gate on `capabilities.cell_gated_create`, **cross-only**) — the parent-aware
1204
+ cell-creation authorizer (`CellCreateAuthorize`, **directory model**) +
1205
+ the `cell_moderate` verb parity proofs. Both spines mount the same
1206
+ `test_cell_gated_create_authorize` policy: a `kind: 'space'` **root** is
1207
+ admin-only (a non-admin → **403** `cell_create_forbidden`); a **contribution**
1208
+ under a space is gated by the root's `data.policy[kind] = {min_role,
1209
+ moderation_required}`, with `moderation` set per the verdict (`pending`+private
1210
+ vs `approved`+author-visibility); a **hidden** parent **404**-masks vs a
1211
+ **visible** one **403**s; plain parentless creates stay open. The moderate
1212
+ suite then proves the `pending → approved | rejected` transition: an admin
1213
+ (root manager) approves → public, the **author** self-approve → 403
1214
+ (anti-self-approval), a non-viewer → 404, reject → stays private. The
1215
+ authorizer _behavior_ adds no method/wire shape, so schema + manifest parity
1216
+ are **blind** to a divergence — these are the only gates that catch one (the
1217
+ `cell_moderate` verb itself is manifest-covered). In-process hook coverage is
1218
+ the standalone `auth/cell_create_authorize.db.test.ts` (these cross suites skip
1219
+ in-process, where the default app mounts no authorizer).
1211
1220
 
1212
1221
  `cell_crud` / `cell_relations` gate `true` on TS + Rust (cells run on both, no
1213
1222
  `.skip`); `cell_gated_create` is cross-only (the policy is a spine-binary
1214
1223
  fixture). Cross-process wiring is `src/test/cross_backend/cell.cross.test.ts`
1215
- (all three suites); the in-process legs (plain `gro test`) for crud/relations
1224
+ (all the cell suites); the in-process legs (plain `gro test`) for crud/relations
1216
1225
  are `src/test/auth/cell_crud_parity.db.test.ts`
1217
1226
 
1218
1227
  - `cell_relations_parity.db.test.ts`, sharing the full-surface
@@ -1 +1 @@
1
- {"version":3,"file":"admin_integration.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/admin_integration.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAgC7B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAa,KAAK,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAWzE,OAAO,EAKN,KAAK,uBAAuB,EAC5B,MAAM,kBAAkB,CAAC;AAkB1B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAC,SAAS,EAAc,MAAM,0BAA0B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,mCAAmC;IACnD;;;;OAIG;IACH,UAAU,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B,uCAAuC;IACvC,YAAY,EAAE,mBAAmB,CAAC;IAClC,uFAAuF;IACvF,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,4GAA4G;IAC5G,KAAK,EAAE,gBAAgB,CAAC;IACxB;;;OAGG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAiBD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,yCAAyC,GACrD,SAAS,mCAAmC,KAC1C,IAm3BF,CAAC"}
1
+ {"version":3,"file":"admin_integration.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/admin_integration.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAgC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAW3E,OAAO,EAKN,KAAK,uBAAuB,EAC5B,MAAM,kBAAkB,CAAC;AAkB1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,0BAA0B,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,mCAAmC;IACnD;;;;OAIG;IACH,UAAU,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B,uCAAuC;IACvC,YAAY,EAAE,mBAAmB,CAAC;IAClC,uFAAuF;IACvF,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,4GAA4G;IAC5G,KAAK,EAAE,gBAAgB,CAAC;IACxB;;;OAGG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAiBD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,yCAAyC,GACrD,SAAS,mCAAmC,KAC1C,IAm3BF,CAAC"}