@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
@@ -7,12 +7,12 @@
7
7
  */
8
8
  import { z } from 'zod';
9
9
  import { Uuid } from '@fuzdev/fuz_util/id.ts';
10
- import { FactHashSchema } from '@fuzdev/fuz_util/fact_hash.ts';
10
+ import { FactHashSchema } from '@fuzdev/fuz_util/hash_schemas.ts';
11
11
  import { ActingActor } from '../http/auth_shape.js';
12
- import { all_cell_grant_action_specs, cell_grant_create_action_spec, cell_grant_revoke_action_spec, cell_grant_list_action_spec, GrantJson, } from './cell_grant_action_specs.js';
13
- import { all_cell_field_action_specs, cell_field_set_action_spec, cell_field_delete_action_spec, cell_field_list_action_spec, FieldJson, } from './cell_field_action_specs.js';
14
- import { all_cell_item_action_specs, cell_item_insert_action_spec, cell_item_move_action_spec, cell_item_delete_action_spec, cell_item_list_action_spec, ItemJson, } from './cell_item_action_specs.js';
15
- import { all_cell_audit_action_specs, cell_audit_list_action_spec, } from './cell_audit_action_specs.js';
12
+ import { all_cell_grant_action_specs, cell_grant_create_action_spec, cell_grant_revoke_action_spec, cell_grant_list_action_spec, GrantJson } from './cell_grant_action_specs.js';
13
+ import { all_cell_field_action_specs, cell_field_set_action_spec, cell_field_delete_action_spec, cell_field_list_action_spec, FieldJson } from './cell_field_action_specs.js';
14
+ import { all_cell_item_action_specs, cell_item_insert_action_spec, cell_item_move_action_spec, cell_item_delete_action_spec, cell_item_list_action_spec, ItemJson } from './cell_item_action_specs.js';
15
+ import { all_cell_audit_action_specs, cell_audit_list_action_spec } from './cell_audit_action_specs.js';
16
16
  import { CellData } from './cell_data_schema.js';
17
17
  /**
18
18
  * Cell visibility — the coarse-grained access-control axis for a cell.
@@ -38,7 +38,7 @@ export const CellVisibility = z.enum(['private', 'public']);
38
38
  // ride the same namespace.
39
39
  export { cell_grant_create_action_spec, cell_grant_revoke_action_spec, cell_grant_list_action_spec };
40
40
  export { cell_field_set_action_spec, cell_field_delete_action_spec, cell_field_list_action_spec };
41
- export { cell_item_insert_action_spec, cell_item_move_action_spec, cell_item_delete_action_spec, cell_item_list_action_spec, };
41
+ export { cell_item_insert_action_spec, cell_item_move_action_spec, cell_item_delete_action_spec, cell_item_list_action_spec };
42
42
  export { cell_audit_list_action_spec };
43
43
  // -- Error reasons ----------------------------------------------------------
44
44
  /** Error reason — cell id did not resolve, or caller can't view it. */
@@ -77,6 +77,29 @@ export const ERROR_CELL_KIND_IN_DATA = 'cell_kind_in_data';
77
77
  * `null | non-empty-string` (twin of the Rust `ERROR_CELL_KIND_EMPTY`).
78
78
  */
79
79
  export const ERROR_CELL_KIND_EMPTY = 'cell_kind_empty';
80
+ /**
81
+ * Error reason — the parent-aware `CellCreateAuthorize` denied the create for a
82
+ * **viewable** parent (or a root creation): "you see it, you can't contribute
83
+ * here." A **403** `forbidden`, distinct from the create-path **404** mask used
84
+ * when the parent itself isn't viewable (twin of the Rust
85
+ * `ERROR_CELL_CREATE_FORBIDDEN`).
86
+ */
87
+ export const ERROR_CELL_CREATE_FORBIDDEN = 'cell_create_forbidden';
88
+ /**
89
+ * Error reason — `cell_moderate` caller can view the contribution but lacks
90
+ * moderation authority over its governing root (not admin / not the root's
91
+ * manager). A **403** `forbidden`. The author can view their own pending
92
+ * contribution, so they reach this gate — and are denied here, which is the
93
+ * anti-self-approval guard (twin of the Rust `ERROR_CELL_MODERATE_FORBIDDEN`).
94
+ */
95
+ export const ERROR_CELL_MODERATE_FORBIDDEN = 'cell_moderate_forbidden';
96
+ /**
97
+ * Error reason — `cell_moderate` target has no governing root (`root_id` is
98
+ * null): it's a root or an unparented cell, not a gated contribution, so there
99
+ * is nothing to moderate. A **400** `invalid_params` (twin of the Rust
100
+ * `ERROR_CELL_NOT_A_CONTRIBUTION`).
101
+ */
102
+ export const ERROR_CELL_NOT_A_CONTRIBUTION = 'cell_not_a_contribution';
80
103
  /**
81
104
  * Error reason — null-auth `cell_list` caller passed a `created_by`
82
105
  * filter. The filter is a soft account-id enumeration vector ("does
@@ -144,20 +167,29 @@ export const CellJson = z.strictObject({
144
167
  path: CellPath.nullable(),
145
168
  data: CellData,
146
169
  kind: z.string().nullable().meta({
147
- description: 'Capability / identity tag — a write-once top-level column (peer to `visibility` / `path`), not a field inside `data`. `null` for a typeless cell. The discriminator a creation authorizer gates on; fixed at birth.',
170
+ description: 'Capability / identity tag — a write-once top-level column (peer to `visibility` / `path`), not a field inside `data`. `null` for a typeless cell. The discriminator a creation authorizer gates on; fixed at birth.'
148
171
  }),
149
172
  visibility: CellVisibility.meta({
150
- description: "Access-control tag. `'public'` admits everyone (including unauthenticated visitors); `'private'` (default) admits admin / owner / `cell_grant`-admitted callers. Top-level column, not inside `data`.",
173
+ description: "Access-control tag. `'public'` admits everyone (including unauthenticated visitors); `'private'` (default) admits admin / owner / `cell_grant`-admitted callers. Top-level column, not inside `data`."
151
174
  }),
152
175
  refs: z.array(FactHashSchema).nullable(),
176
+ parent_id: Uuid.nullable().meta({
177
+ description: 'Immediate container in the directory tree (the directory this cell lives in). `null` = a root (parentless). Set once at create, immutable in v1.'
178
+ }),
179
+ root_id: Uuid.nullable().meta({
180
+ description: 'Governing root of the directory subtree, denormalized for flat-subtree queries (`root_id = parent.root_id ?? parent.id`). `null` for a root. Set once at create, immutable in v1.'
181
+ }),
182
+ moderation: z.string().nullable().meta({
183
+ description: "Approval-lifecycle marker for a gated contribution (`'pending'` / `'approved'` / `'rejected'`); `null` = unmoderated. A control field with a non-author writer — peer to `visibility`, never inside `data` (set by the create authorizer's verdict, transitioned only by `cell_moderate`)."
184
+ }),
153
185
  created_by: Uuid.nullable(),
154
186
  updated_by: Uuid.nullable(),
155
187
  created_at: z.string(),
156
188
  updated_at: z.string().nullable(),
157
189
  deleted_at: z.string().nullable(),
158
190
  grant_count: z.number().int().nonnegative().meta({
159
- description: 'Number of `cell_grant` rows naming this cell. Non-leaky scalar (no actor/role identity); surfaces "Shared with N" badges. Derived in SQL via a correlated subquery on `idx_cell_grant_cell`.',
160
- }),
191
+ description: 'Number of `cell_grant` rows naming this cell. Non-leaky scalar (no actor/role identity); surfaces "Shared with N" badges. Derived in SQL via a correlated subquery on `idx_cell_grant_cell`.'
192
+ })
161
193
  });
162
194
  // -- cell_create ------------------------------------------------------------
163
195
  /**
@@ -167,18 +199,21 @@ export const CellJson = z.strictObject({
167
199
  */
168
200
  export const CellCreateInput = z.strictObject({
169
201
  data: CellData.meta({
170
- description: 'Cell content. Base fields (label / summary) typed; extras loose. A `kind` key here is rejected (`ERROR_CELL_KIND_IN_DATA`) — kind is the top-level field. Per-kind shape is sub-API.',
202
+ description: 'Cell content. Base fields (label / summary) typed; extras loose. A `kind` key here is rejected (`ERROR_CELL_KIND_IN_DATA`) — kind is the top-level field. Per-kind shape is sub-API.'
171
203
  }),
172
204
  kind: z.string().nullish().meta({
173
- description: 'Capability / identity tag, written to the top-level `cell.kind` column (not `data`). Write-once — fixed at birth, not updatable. Non-empty when present (an empty string is rejected `ERROR_CELL_KIND_EMPTY`); omit / null for a typeless cell. A creation authorizer (if mounted) gates on this.',
205
+ description: 'Capability / identity tag, written to the top-level `cell.kind` column (not `data`). Write-once — fixed at birth, not updatable. Non-empty when present (an empty string is rejected `ERROR_CELL_KIND_EMPTY`); omit / null for a typeless cell. A creation authorizer (if mounted) gates on this.'
174
206
  }),
175
207
  visibility: CellVisibility.optional().meta({
176
- description: "Access-control tag. Top-level column (not in `data`). Default `'private'` when omitted.",
208
+ description: "Access-control tag. Top-level column (not in `data`). Default `'private'` when omitted."
177
209
  }),
178
210
  path: CellPath.nullish().meta({
179
- description: 'Admin-only named lookup alias. Globally unique on active rows.',
211
+ description: 'Admin-only named lookup alias. Globally unique on active rows.'
180
212
  }),
181
- acting: ActingActor,
213
+ parent_id: Uuid.nullish().meta({
214
+ description: 'Immediate container — the directory this cell is created in. Omit / null = a root (parentless). The handler resolves `root_id` from it and gates the create through the parent-aware authorizer; `root_id` / `moderation` are handler-derived, never wire input.'
215
+ }),
216
+ acting: ActingActor
182
217
  });
183
218
  export const CellCreateOutput = z.strictObject({ cell: CellJson });
184
219
  // -- cell_get ---------------------------------------------------------------
@@ -192,10 +227,10 @@ export const CellGetInput = z
192
227
  .strictObject({
193
228
  id: Uuid.optional(),
194
229
  path: CellPath.optional(),
195
- acting: ActingActor,
230
+ acting: ActingActor
196
231
  })
197
232
  .refine((v) => v.id !== undefined || v.path !== undefined, {
198
- message: ERROR_CELL_GET_REQUIRES_ID_OR_PATH,
233
+ message: ERROR_CELL_GET_REQUIRES_ID_OR_PATH
199
234
  });
200
235
  /**
201
236
  * Output for `cell_get`. Bundles relation arrays (`fields` + `items`)
@@ -213,7 +248,7 @@ export const CellGetOutput = z.strictObject({
213
248
  items: z.array(ItemJson),
214
249
  items_truncated: z.boolean(),
215
250
  can_edit: z.boolean(),
216
- can_grant: z.boolean(),
251
+ can_grant: z.boolean()
217
252
  });
218
253
  // -- cell_update ------------------------------------------------------------
219
254
  /**
@@ -228,20 +263,20 @@ export const CellUpdateInput = z.strictObject({
228
263
  cell_id: Uuid.meta({ description: 'Cell to update.' }),
229
264
  data: CellData.optional(),
230
265
  visibility: CellVisibility.optional().meta({
231
- description: 'Access-control tag. Top-level column (not in `data`). Manage-tier write.',
266
+ description: 'Access-control tag. Top-level column (not in `data`). Manage-tier write.'
232
267
  }),
233
268
  path: CellPath.nullable().optional().meta({ description: 'Admin-only path write.' }),
234
- acting: ActingActor,
269
+ acting: ActingActor
235
270
  });
236
271
  export const CellUpdateOutput = z.strictObject({ cell: CellJson });
237
272
  // -- cell_delete ------------------------------------------------------------
238
273
  export const CellDeleteInput = z.strictObject({
239
274
  cell_id: Uuid.meta({ description: 'Cell to soft-delete.' }),
240
- acting: ActingActor,
275
+ acting: ActingActor
241
276
  });
242
277
  export const CellDeleteOutput = z.strictObject({
243
278
  ok: z.literal(true),
244
- deleted: z.boolean(),
279
+ deleted: z.boolean()
245
280
  });
246
281
  // -- cell_list --------------------------------------------------------------
247
282
  /**
@@ -272,29 +307,35 @@ export const CellListInput = z
272
307
  .optional()
273
308
  .meta({ description: 'Batch-fetch by id. Visibility predicate still applies.' }),
274
309
  kind: z.string().optional().meta({
275
- description: 'Match `cell.kind = ?`. An empty string matches nothing — no cell carries an empty kind.',
310
+ description: 'Match `cell.kind = ?`. An empty string matches nothing — no cell carries an empty kind.'
276
311
  }),
277
312
  visibility: CellVisibility.optional().meta({
278
- description: "Match `cell.visibility = ?`. The SQL-side auth-narrow already filters to public-or-admitted; this is an additional narrowing filter (e.g. `visibility: 'public'` on the discovery feed so authed callers don't see their own private entries mixed in).",
313
+ description: "Match `cell.visibility = ?`. The SQL-side auth-narrow already filters to public-or-admitted; this is an additional narrowing filter (e.g. `visibility: 'public'` on the discovery feed so authed callers don't see their own private entries mixed in)."
279
314
  }),
280
315
  ref: FactHashSchema.optional().meta({ description: 'Match cells referencing this fact hash.' }),
281
316
  created_by: Uuid.optional().meta({ description: 'Filter to a specific creator.' }),
282
317
  path_prefix: CellPath.optional().meta({
283
- description: 'Match cells whose path starts with this.',
318
+ description: 'Match cells whose path starts with this.'
319
+ }),
320
+ root_id: Uuid.optional().meta({
321
+ description: 'Scope to a directory subtree by governing root (`cell.root_id = ?`) — the feed + mod-queue key.'
322
+ }),
323
+ moderation: z.string().optional().meta({
324
+ description: "Filter by moderation lifecycle marker (`'pending'` drives the moderation queue)."
284
325
  }),
285
326
  shared_with: z.literal('me').optional().meta({
286
- description: 'Narrow to cells admitting the caller via `cell_grant`, excluding cells the caller owns. Self-only — a `Uuid` form would need cross-actor role_grant loading.',
327
+ description: 'Narrow to cells admitting the caller via `cell_grant`, excluding cells the caller owns. Self-only — a `Uuid` form would need cross-actor role_grant loading.'
287
328
  }),
288
329
  order_by: z.enum(['created_at', 'updated_at']).optional(),
289
330
  order_direction: z.enum(['asc', 'desc']).optional(),
290
331
  limit: z.number().int().positive().max(CELL_LIST_LIMIT_MAX).optional(),
291
332
  offset: z.number().int().nonnegative().optional(),
292
- acting: ActingActor,
333
+ acting: ActingActor
293
334
  })
294
335
  .default({});
295
336
  export const CellListOutput = z.strictObject({
296
337
  cells: z.array(CellJson),
297
- cell_grants: z.record(z.string(), z.array(GrantJson)).optional(),
338
+ cell_grants: z.record(z.string(), z.array(GrantJson)).optional()
298
339
  });
299
340
  // -- cell_clone -------------------------------------------------------------
300
341
  /**
@@ -307,7 +348,7 @@ export const CellListOutput = z.strictObject({
307
348
  export const CellCloneInput = z.strictObject({
308
349
  source_id: Uuid.meta({ description: 'Cell to clone.' }),
309
350
  deep: z.boolean().optional().meta({
310
- description: 'Recurse into `items[]` (depth=1 — clones direct children only). Default false.',
351
+ description: 'Recurse into `items[]` (depth=1 — clones direct children only). Default false.'
311
352
  }),
312
353
  // TODO: cap `with_data_patch` size/depth once a consumer measures the
313
354
  // upper bound. `z.json()` is unbounded — a multi-MB patch is in scope
@@ -315,11 +356,35 @@ export const CellCloneInput = z.strictObject({
315
356
  // O(few KB); a `.refine` on serialized size would tighten the surface
316
357
  // without disturbing the patch-wins-last semantics.
317
358
  with_data_patch: CellData.optional().meta({
318
- description: "Optional shallow patch merged into the new root cell's `data` (patch-last semantics).",
359
+ description: "Optional shallow patch merged into the new root cell's `data` (patch-last semantics)."
319
360
  }),
320
- acting: ActingActor,
361
+ acting: ActingActor
321
362
  });
322
363
  export const CellCloneOutput = z.strictObject({ cell: CellJson });
364
+ // -- cell_moderate ----------------------------------------------------------
365
+ /**
366
+ * The terminal transition a `cell_moderate` call applies to a gated
367
+ * contribution's `moderation` lifecycle. The born state (`'pending'`) is set
368
+ * by the create authorizer, never on the wire; the verb only moves it to a
369
+ * terminal state. `'approved'` publishes (also flips `visibility → 'public'`);
370
+ * `'rejected'` leaves it private.
371
+ */
372
+ export const CellModerationDecision = z.enum(['approved', 'rejected']);
373
+ /**
374
+ * Input for `cell_moderate` — the `pending → approved | rejected` transition,
375
+ * gated on moderation authority over the **governing root** (admin / root
376
+ * owner in v1), not the contribution (which the author manages, and could
377
+ * otherwise self-approve). 404 when the target isn't viewable; 403 when it is
378
+ * but the caller isn't a root manager (the author lands here).
379
+ */
380
+ export const CellModerateInput = z.strictObject({
381
+ cell_id: Uuid.meta({ description: 'Contribution to moderate.' }),
382
+ moderation: CellModerationDecision.meta({
383
+ description: 'Terminal decision: `approved` (publishes, visibility → public) or `rejected`.'
384
+ }),
385
+ acting: ActingActor
386
+ });
387
+ export const CellModerateOutput = z.strictObject({ cell: CellJson });
323
388
  // -- Action specs -----------------------------------------------------------
324
389
  export const cell_create_action_spec = {
325
390
  method: 'cell_create',
@@ -331,7 +396,7 @@ export const cell_create_action_spec = {
331
396
  output: CellCreateOutput,
332
397
  async: true,
333
398
  rate_limit: 'account',
334
- description: 'Create a cell. Handler stamps `created_by` from auth.actor.id; `path` writes are admin-only. Per-account rate-limited to bound write-spam.',
399
+ description: 'Create a cell. Handler stamps `created_by` from auth.actor.id; `path` writes are admin-only. Per-account rate-limited to bound write-spam.'
335
400
  };
336
401
  export const cell_get_action_spec = {
337
402
  method: 'cell_get',
@@ -343,7 +408,7 @@ export const cell_get_action_spec = {
343
408
  output: CellGetOutput,
344
409
  async: true,
345
410
  rate_limit: 'ip',
346
- description: 'Fetch a cell by id or path. Per-row authz via `can_view_cell`; unauthed callers get only `cell.visibility === "public"` cells. 404 on miss or unauthorized — no existence leak. Bundled relations are filtered to viewable targets. Per-IP rate-limited as the defense-in-depth complement to `cell_list`: an id-walker that learns ids from a side channel can pivot from the enumeration entry point to per-row reads.',
411
+ description: 'Fetch a cell by id or path. Per-row authz via `can_view_cell`; unauthed callers get only `cell.visibility === "public"` cells. 404 on miss or unauthorized — no existence leak. Bundled relations are filtered to viewable targets. Per-IP rate-limited as the defense-in-depth complement to `cell_list`: an id-walker that learns ids from a side channel can pivot from the enumeration entry point to per-row reads.'
347
412
  };
348
413
  export const cell_update_action_spec = {
349
414
  method: 'cell_update',
@@ -354,7 +419,7 @@ export const cell_update_action_spec = {
354
419
  input: CellUpdateInput,
355
420
  output: CellUpdateOutput,
356
421
  async: true,
357
- description: 'Update a cell. Per-row `can_edit_cell` (admin / owner / editor-grant). `visibility` writes require the manage tier (admin / owner). `path` writes are admin-only. Stamps `updated_by`.',
422
+ description: 'Update a cell. Per-row `can_edit_cell` (admin / owner / editor-grant). `visibility` writes require the manage tier (admin / owner). `path` writes are admin-only. Stamps `updated_by`.'
358
423
  };
359
424
  export const cell_delete_action_spec = {
360
425
  method: 'cell_delete',
@@ -365,7 +430,7 @@ export const cell_delete_action_spec = {
365
430
  input: CellDeleteInput,
366
431
  output: CellDeleteOutput,
367
432
  async: true,
368
- description: 'Soft-delete a cell. Per-row `can_edit_cell` (admin / owner / editor-grant).',
433
+ description: 'Soft-delete a cell. Per-row `can_edit_cell` (admin / owner / editor-grant).'
369
434
  };
370
435
  export const cell_list_action_spec = {
371
436
  method: 'cell_list',
@@ -377,7 +442,7 @@ export const cell_list_action_spec = {
377
442
  output: CellListOutput,
378
443
  async: true,
379
444
  rate_limit: 'ip',
380
- description: 'List cells with optional filters. SQL-side visibility predicate: admin sees all; authed see owned + public + grant-admitted; null auth sees public-only. `created_by` filter is rejected for null auth (account-id enumeration guard). Per-IP rate-limited to bound the public-enumeration surface (paired with `actor_lookup` it would be a scrape primitive).',
445
+ description: 'List cells with optional filters. SQL-side visibility predicate: admin sees all; authed see owned + public + grant-admitted; null auth sees public-only. `created_by` filter is rejected for null auth (account-id enumeration guard). Per-IP rate-limited to bound the public-enumeration surface (paired with `actor_lookup` it would be a scrape primitive).'
381
446
  };
382
447
  export const cell_clone_action_spec = {
383
448
  method: 'cell_clone',
@@ -389,11 +454,23 @@ export const cell_clone_action_spec = {
389
454
  output: CellCloneOutput,
390
455
  async: true,
391
456
  rate_limit: 'account',
392
- description: 'Clone a cell (optionally deep). New owner is the caller; `path` is always nulled. Provenance recorded only in the `cell_clone` audit row. Per-account rate-limited — `deep: true` walks `cell_item` rows and fans out, so unbounded clone is a write-amplification vector.',
457
+ description: 'Clone a cell (optionally deep). New owner is the caller; `path` is always nulled. Provenance recorded only in the `cell_clone` audit row. Per-account rate-limited — `deep: true` walks `cell_item` rows and fans out, so unbounded clone is a write-amplification vector.'
458
+ };
459
+ export const cell_moderate_action_spec = {
460
+ method: 'cell_moderate',
461
+ kind: 'request_response',
462
+ initiator: 'frontend',
463
+ auth: { account: 'required', actor: 'required' },
464
+ side_effects: true,
465
+ input: CellModerateInput,
466
+ output: CellModerateOutput,
467
+ async: true,
468
+ rate_limit: 'account',
469
+ description: 'Moderate a gated contribution (`pending → approved | rejected`). Gated on moderation authority over the governing root (admin / root owner), not the contribution — so the author cannot self-approve. Approval flips `moderation → approved` + `visibility → public`; rejection sets `moderation → rejected`. 404 on an unviewable target, 403 for a viewable target whose caller is not a root manager.'
393
470
  };
394
471
  /**
395
472
  * All cell-layer action specs — composed by app registries. Bundles the
396
- * six generic verbs (this module), the three `cell_grant_*` specs, the
473
+ * seven generic verbs (this module), the three `cell_grant_*` specs, the
397
474
  * three `cell_field_*` specs, the four `cell_item_*` specs, and the
398
475
  * `cell_audit_list` spec so codegen + UI clients see a single cell
399
476
  * namespace.
@@ -405,8 +482,9 @@ export const all_cell_action_specs = [
405
482
  cell_delete_action_spec,
406
483
  cell_list_action_spec,
407
484
  cell_clone_action_spec,
485
+ cell_moderate_action_spec,
408
486
  ...all_cell_grant_action_specs,
409
487
  ...all_cell_field_action_specs,
410
488
  ...all_cell_item_action_specs,
411
- ...all_cell_audit_action_specs,
489
+ ...all_cell_audit_action_specs
412
490
  ];
@@ -40,33 +40,56 @@
40
40
  */
41
41
  import { type RpcAction } from '../actions/action_rpc.js';
42
42
  import { type RequestActorContext } from './request_context.js';
43
- import type { RouteFactoryDeps } from './deps.js';
43
+ import type { ActionFactoryDeps } from './deps.js';
44
44
  import type { Uuid } from '@fuzdev/fuz_util/id.ts';
45
45
  import { type CellJson } from './cell_action_specs.js';
46
46
  import { type CellRow } from '../db/cell_queries.js';
47
47
  import type { CellData } from './cell_data_schema.js';
48
48
  /**
49
49
  * Input to a `CellCreateAuthorize` callback — the TS twin of the Rust
50
- * `CellCreateAuthorizeInput`.
50
+ * `CellCreateAuthorizeInput`. **Parent-aware**: it carries the directory
51
+ * context (`parent_id` / the handler-resolved `root_id`) so the authorizer can
52
+ * resolve the governing root's policy.
51
53
  */
52
54
  export interface CellCreateAuthorizeInput {
53
55
  /** The cell's `kind` (the top-level `cell.kind` value); `null` for a typeless cell. */
54
56
  kind: string | null;
55
57
  /** The cell `data` (kind-free — a `kind` key is rejected upstream). For richer M3-era policies (e.g. content pre-screen). */
56
58
  data: CellData;
59
+ /** The immediate container the create targets. `null` = a root creation; otherwise a contribution under that parent. */
60
+ parent_id: Uuid | null;
61
+ /** The governing root of the directory subtree, resolved by the handler from the parent (`parent.root_id ?? parent.id`). `null` for a root creation. */
62
+ root_id: Uuid | null;
63
+ /** The governing root's `data` — the handler reads it in-tx (when an authorizer is mounted) and hands it over, so a directory-aware authorizer resolves `root.data.policy[kind]` **without a DB read of its own** (pure predicate; reading in-tx avoids the single-connection PGlite deadlock a separate handle would hit). `null` for a root creation, or when no authorizer is mounted. */
64
+ root_data: CellData | null;
57
65
  /** Target scope — designed-in for M2 space-scoping; **always `null` in v1** (cells carry no scope column). */
58
66
  scope_id: Uuid | null;
59
67
  }
60
68
  /**
61
- * Opt-in creation authorizer — the TS twin of the Rust `CellCreateAuthorize`
62
- * trait. Answers "may *this actor* create *this kind* of cell?". Runs in
63
- * `cell_create` after `validate_data`, before the insert; returning `false`
64
- * surfaces as the existing `cell_not_found` 404 (IDOR mask), so a denied
65
- * caller can't distinguish a gated kind from a missing resource. Omitted =
66
- * today's open create (all consumers untouched). Async-capable (DB / policy
67
- * calls) — the create handler is already async with `auth` in hand.
69
+ * An authorizer's decision for a `cell_create` — the TS twin of the Rust
70
+ * `Verdict`. Folds the moderation outcome into the authority decision (one
71
+ * policy resolution, not two): `{allow: false}` denies (the handler surfaces a
72
+ * 403 `forbidden` for a viewable parent / a root creation), `{allow: true,
73
+ * moderation_required}` admits — `true` → born `pending` + private, `false` →
74
+ * born `approved` at the author's visibility.
68
75
  */
69
- export type CellCreateAuthorize = (auth: RequestActorContext, input: CellCreateAuthorizeInput) => boolean | Promise<boolean>;
76
+ export type CellCreateVerdict = {
77
+ allow: false;
78
+ } | {
79
+ allow: true;
80
+ moderation_required: boolean;
81
+ };
82
+ /**
83
+ * Opt-in, parent-aware creation authorizer — the TS twin of the Rust
84
+ * `CellCreateAuthorize` trait. Gates both roots (`parent_id = null`) and
85
+ * contributions; answers "may *this actor* create *this kind* here?" and
86
+ * returns a `CellCreateVerdict`. Runs in `cell_create` after `validate_data`
87
+ * and after the handler resolves `root_id` from the parent (an unviewable
88
+ * parent already 404-masks before this runs). Omitted = today's open create
89
+ * (all consumers untouched). Async-capable (DB / policy calls) — a DB-backed
90
+ * impl closes over its own `db` (the create handler stays unaware).
91
+ */
92
+ export type CellCreateAuthorize = (auth: RequestActorContext, input: CellCreateAuthorizeInput) => CellCreateVerdict | Promise<CellCreateVerdict>;
70
93
  /**
71
94
  * Dependencies for `create_cell_actions`.
72
95
  *
@@ -81,7 +104,7 @@ export type CellCreateAuthorize = (auth: RequestActorContext, input: CellCreateA
81
104
  * `authorize_create` is the optional creation-gate hook (see
82
105
  * `CellCreateAuthorize`). When omitted, create is open (today's behavior).
83
106
  */
84
- export type CellActionDeps = Pick<RouteFactoryDeps, 'log' | 'audit'> & {
107
+ export type CellActionDeps = ActionFactoryDeps & {
85
108
  validate_data?: (data: CellData) => CellData;
86
109
  authorize_create?: CellCreateAuthorize;
87
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cell_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/cell_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAIH,OAAO,EAIN,KAAK,SAAS,EACd,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAW,KAAK,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAExE,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAEhD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EA8BN,KAAK,QAAQ,EAEb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAQN,KAAK,OAAO,EACZ,MAAM,uBAAuB,CAAC;AAkB/B,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACxC,uFAAuF;IACvF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,6HAA6H;IAC7H,IAAI,EAAE,QAAQ,CAAC;IACf,8GAA8G;IAC9G,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG,CACjC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,wBAAwB,KAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG;IACtE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC;IAC7C,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CACvC,CAAC;AAkCF,eAAO,MAAM,YAAY,GAAI,KAAK,OAAO,KAAG,QAa1C,CAAC;AA2BH,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,GAAI,MAAM,cAAc,KAAG,KAAK,CAAC,SAAS,CA+fzE,CAAC"}
1
+ {"version":3,"file":"cell_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/cell_actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAIH,OAAO,EAIN,KAAK,SAAS,EACd,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAY,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAoCN,KAAK,QAAQ,EAEb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EASN,KAAK,OAAO,EACZ,MAAM,uBAAuB,CAAC;AAyB/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACxC,uFAAuF;IACvF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,6HAA6H;IAC7H,IAAI,EAAE,QAAQ,CAAC;IACf,wHAAwH;IACxH,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,wJAAwJ;IACxJ,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,6XAA6X;IAC7X,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,8GAA8G;IAC9G,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,mBAAmB,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjG;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,CACjC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,wBAAwB,KAC3B,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAChD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC;IAC7C,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CACvC,CAAC;AAkCF,eAAO,MAAM,YAAY,GAAI,KAAK,OAAO,KAAG,QAgB1C,CAAC;AA2BH,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,GAAI,MAAM,cAAc,KAAG,KAAK,CAAC,SAAS,CAinBzE,CAAC"}