@fuzdev/fuz_app 0.55.0 → 0.56.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 (331) hide show
  1. package/dist/actions/CLAUDE.md +211 -155
  2. package/dist/actions/action_bridge.d.ts +8 -5
  3. package/dist/actions/action_bridge.d.ts.map +1 -1
  4. package/dist/actions/action_bridge.js +1 -11
  5. package/dist/actions/action_codegen.d.ts +19 -0
  6. package/dist/actions/action_codegen.d.ts.map +1 -1
  7. package/dist/actions/action_codegen.js +20 -14
  8. package/dist/actions/action_registry.d.ts.map +1 -1
  9. package/dist/actions/action_registry.js +5 -2
  10. package/dist/actions/action_rpc.d.ts +110 -44
  11. package/dist/actions/action_rpc.d.ts.map +1 -1
  12. package/dist/actions/action_rpc.js +92 -287
  13. package/dist/actions/action_spec.d.ts +55 -16
  14. package/dist/actions/action_spec.d.ts.map +1 -1
  15. package/dist/actions/action_spec.js +16 -11
  16. package/dist/actions/action_types.d.ts +28 -60
  17. package/dist/actions/action_types.d.ts.map +1 -1
  18. package/dist/actions/action_types.js +13 -5
  19. package/dist/actions/broadcast_api.d.ts +2 -2
  20. package/dist/actions/broadcast_api.js +2 -2
  21. package/dist/actions/compile_action_registry.d.ts +50 -0
  22. package/dist/actions/compile_action_registry.d.ts.map +1 -0
  23. package/dist/actions/compile_action_registry.js +69 -0
  24. package/dist/actions/heartbeat.d.ts +8 -4
  25. package/dist/actions/heartbeat.d.ts.map +1 -1
  26. package/dist/actions/heartbeat.js +5 -4
  27. package/dist/actions/perform_action.d.ts +145 -0
  28. package/dist/actions/perform_action.d.ts.map +1 -0
  29. package/dist/actions/perform_action.js +258 -0
  30. package/dist/actions/register_action_ws.d.ts +44 -38
  31. package/dist/actions/register_action_ws.d.ts.map +1 -1
  32. package/dist/actions/register_action_ws.js +101 -159
  33. package/dist/actions/register_ws_endpoint.d.ts +2 -10
  34. package/dist/actions/register_ws_endpoint.d.ts.map +1 -1
  35. package/dist/actions/register_ws_endpoint.js +32 -10
  36. package/dist/actions/transports_ws_auth_guard.d.ts +1 -1
  37. package/dist/actions/transports_ws_auth_guard.js +1 -1
  38. package/dist/actions/transports_ws_backend.d.ts +1 -1
  39. package/dist/actions/transports_ws_backend.js +1 -1
  40. package/dist/auth/CLAUDE.md +673 -442
  41. package/dist/auth/account_action_specs.d.ts +28 -7
  42. package/dist/auth/account_action_specs.d.ts.map +1 -1
  43. package/dist/auth/account_action_specs.js +7 -7
  44. package/dist/auth/account_actions.d.ts +8 -14
  45. package/dist/auth/account_actions.d.ts.map +1 -1
  46. package/dist/auth/account_actions.js +26 -32
  47. package/dist/auth/account_queries.d.ts +46 -13
  48. package/dist/auth/account_queries.d.ts.map +1 -1
  49. package/dist/auth/account_queries.js +73 -33
  50. package/dist/auth/account_routes.d.ts +4 -3
  51. package/dist/auth/account_routes.d.ts.map +1 -1
  52. package/dist/auth/account_routes.js +58 -33
  53. package/dist/auth/account_schema.d.ts +46 -54
  54. package/dist/auth/account_schema.d.ts.map +1 -1
  55. package/dist/auth/account_schema.js +21 -48
  56. package/dist/auth/admin_action_specs.d.ts +55 -21
  57. package/dist/auth/admin_action_specs.d.ts.map +1 -1
  58. package/dist/auth/admin_action_specs.js +42 -26
  59. package/dist/auth/admin_actions.d.ts +14 -21
  60. package/dist/auth/admin_actions.d.ts.map +1 -1
  61. package/dist/auth/admin_actions.js +47 -44
  62. package/dist/auth/audit_emitter.d.ts +160 -0
  63. package/dist/auth/audit_emitter.d.ts.map +1 -0
  64. package/dist/auth/audit_emitter.js +83 -0
  65. package/dist/auth/audit_log_queries.d.ts +17 -87
  66. package/dist/auth/audit_log_queries.d.ts.map +1 -1
  67. package/dist/auth/audit_log_queries.js +17 -96
  68. package/dist/auth/audit_log_routes.d.ts +1 -1
  69. package/dist/auth/audit_log_routes.d.ts.map +1 -1
  70. package/dist/auth/audit_log_routes.js +7 -3
  71. package/dist/auth/audit_log_schema.d.ts +48 -42
  72. package/dist/auth/audit_log_schema.d.ts.map +1 -1
  73. package/dist/auth/audit_log_schema.js +56 -43
  74. package/dist/auth/auth_guard_resolver.d.ts +44 -0
  75. package/dist/auth/auth_guard_resolver.d.ts.map +1 -0
  76. package/dist/auth/auth_guard_resolver.js +56 -0
  77. package/dist/auth/bootstrap_account.d.ts +7 -7
  78. package/dist/auth/bootstrap_account.d.ts.map +1 -1
  79. package/dist/auth/bootstrap_account.js +7 -7
  80. package/dist/auth/bootstrap_routes.d.ts.map +1 -1
  81. package/dist/auth/bootstrap_routes.js +11 -10
  82. package/dist/auth/cleanup.d.ts +20 -26
  83. package/dist/auth/cleanup.d.ts.map +1 -1
  84. package/dist/auth/cleanup.js +33 -47
  85. package/dist/auth/credential_type_schema.d.ts +115 -0
  86. package/dist/auth/credential_type_schema.d.ts.map +1 -0
  87. package/dist/auth/credential_type_schema.js +127 -0
  88. package/dist/auth/daemon_token_middleware.d.ts +1 -1
  89. package/dist/auth/daemon_token_middleware.js +3 -3
  90. package/dist/auth/ddl.d.ts +2 -2
  91. package/dist/auth/ddl.d.ts.map +1 -1
  92. package/dist/auth/ddl.js +6 -6
  93. package/dist/auth/deps.d.ts +7 -32
  94. package/dist/auth/deps.d.ts.map +1 -1
  95. package/dist/auth/grant_path_schema.d.ts +117 -0
  96. package/dist/auth/grant_path_schema.d.ts.map +1 -0
  97. package/dist/auth/grant_path_schema.js +137 -0
  98. package/dist/auth/invite_queries.d.ts +12 -1
  99. package/dist/auth/invite_queries.d.ts.map +1 -1
  100. package/dist/auth/invite_queries.js +12 -1
  101. package/dist/auth/invite_schema.d.ts +1 -1
  102. package/dist/auth/invite_schema.d.ts.map +1 -1
  103. package/dist/auth/invite_schema.js +1 -1
  104. package/dist/auth/middleware.d.ts.map +1 -1
  105. package/dist/auth/middleware.js +5 -2
  106. package/dist/auth/migrations.d.ts +22 -7
  107. package/dist/auth/migrations.d.ts.map +1 -1
  108. package/dist/auth/migrations.js +64 -25
  109. package/dist/auth/request_context.d.ts +157 -170
  110. package/dist/auth/request_context.d.ts.map +1 -1
  111. package/dist/auth/request_context.js +224 -268
  112. package/dist/auth/{permit_offer_action_specs.d.ts → role_grant_offer_action_specs.d.ts} +130 -100
  113. package/dist/auth/role_grant_offer_action_specs.d.ts.map +1 -0
  114. package/dist/auth/role_grant_offer_action_specs.js +262 -0
  115. package/dist/auth/role_grant_offer_actions.d.ts +104 -0
  116. package/dist/auth/role_grant_offer_actions.d.ts.map +1 -0
  117. package/dist/auth/{permit_offer_actions.js → role_grant_offer_actions.js} +153 -140
  118. package/dist/auth/{permit_offer_notifications.d.ts → role_grant_offer_notifications.d.ts} +80 -70
  119. package/dist/auth/role_grant_offer_notifications.d.ts.map +1 -0
  120. package/dist/auth/role_grant_offer_notifications.js +182 -0
  121. package/dist/auth/{permit_offer_queries.d.ts → role_grant_offer_queries.d.ts} +64 -64
  122. package/dist/auth/role_grant_offer_queries.d.ts.map +1 -0
  123. package/dist/auth/{permit_offer_queries.js → role_grant_offer_queries.js} +136 -123
  124. package/dist/auth/role_grant_offer_schema.d.ts +150 -0
  125. package/dist/auth/role_grant_offer_schema.d.ts.map +1 -0
  126. package/dist/auth/{permit_offer_schema.js → role_grant_offer_schema.js} +55 -36
  127. package/dist/auth/role_grant_queries.d.ts +231 -0
  128. package/dist/auth/role_grant_queries.d.ts.map +1 -0
  129. package/dist/auth/role_grant_queries.js +320 -0
  130. package/dist/auth/role_schema.d.ts +150 -40
  131. package/dist/auth/role_schema.d.ts.map +1 -1
  132. package/dist/auth/role_schema.js +144 -45
  133. package/dist/auth/scope_kind_schema.d.ts +96 -0
  134. package/dist/auth/scope_kind_schema.d.ts.map +1 -0
  135. package/dist/auth/scope_kind_schema.js +94 -0
  136. package/dist/auth/self_service_role_action_specs.d.ts +4 -1
  137. package/dist/auth/self_service_role_action_specs.d.ts.map +1 -1
  138. package/dist/auth/self_service_role_action_specs.js +2 -2
  139. package/dist/auth/self_service_role_actions.d.ts +35 -29
  140. package/dist/auth/self_service_role_actions.d.ts.map +1 -1
  141. package/dist/auth/self_service_role_actions.js +58 -48
  142. package/dist/auth/session_cookie.d.ts +43 -6
  143. package/dist/auth/session_cookie.d.ts.map +1 -1
  144. package/dist/auth/session_cookie.js +31 -5
  145. package/dist/auth/session_middleware.d.ts +37 -3
  146. package/dist/auth/session_middleware.d.ts.map +1 -1
  147. package/dist/auth/session_middleware.js +33 -7
  148. package/dist/auth/signup_routes.d.ts.map +1 -1
  149. package/dist/auth/signup_routes.js +48 -19
  150. package/dist/auth/standard_action_specs.d.ts +2 -2
  151. package/dist/auth/standard_action_specs.js +4 -4
  152. package/dist/auth/standard_rpc_actions.d.ts +23 -19
  153. package/dist/auth/standard_rpc_actions.d.ts.map +1 -1
  154. package/dist/auth/standard_rpc_actions.js +12 -12
  155. package/dist/db/migrate.d.ts +1 -1
  156. package/dist/db/migrate.js +1 -1
  157. package/dist/dev/setup.d.ts +2 -2
  158. package/dist/dev/setup.d.ts.map +1 -1
  159. package/dist/dev/setup.js +4 -4
  160. package/dist/env/load.d.ts +1 -1
  161. package/dist/env/load.js +1 -1
  162. package/dist/hono_context.d.ts +27 -45
  163. package/dist/hono_context.d.ts.map +1 -1
  164. package/dist/hono_context.js +14 -28
  165. package/dist/http/CLAUDE.md +235 -121
  166. package/dist/http/auth_shape.d.ts +191 -0
  167. package/dist/http/auth_shape.d.ts.map +1 -0
  168. package/dist/http/auth_shape.js +237 -0
  169. package/dist/http/common_routes.js +3 -3
  170. package/dist/http/db_routes.d.ts +4 -0
  171. package/dist/http/db_routes.d.ts.map +1 -1
  172. package/dist/http/db_routes.js +44 -7
  173. package/dist/http/error_schemas.d.ts +56 -34
  174. package/dist/http/error_schemas.d.ts.map +1 -1
  175. package/dist/http/error_schemas.js +63 -28
  176. package/dist/http/pending_effects.d.ts +71 -18
  177. package/dist/http/pending_effects.d.ts.map +1 -1
  178. package/dist/http/pending_effects.js +87 -18
  179. package/dist/http/proxy.d.ts +52 -5
  180. package/dist/http/proxy.d.ts.map +1 -1
  181. package/dist/http/proxy.js +92 -14
  182. package/dist/http/route_spec.d.ts +89 -75
  183. package/dist/http/route_spec.d.ts.map +1 -1
  184. package/dist/http/route_spec.js +54 -72
  185. package/dist/http/schema_helpers.d.ts +3 -14
  186. package/dist/http/schema_helpers.d.ts.map +1 -1
  187. package/dist/http/schema_helpers.js +2 -14
  188. package/dist/http/surface.d.ts +2 -10
  189. package/dist/http/surface.d.ts.map +1 -1
  190. package/dist/http/surface.js +3 -4
  191. package/dist/http/surface_query.d.ts +39 -35
  192. package/dist/http/surface_query.d.ts.map +1 -1
  193. package/dist/http/surface_query.js +79 -36
  194. package/dist/primitive_schemas.d.ts +39 -0
  195. package/dist/primitive_schemas.d.ts.map +1 -0
  196. package/dist/primitive_schemas.js +40 -0
  197. package/dist/realtime/sse_auth_guard.d.ts +5 -5
  198. package/dist/realtime/sse_auth_guard.js +9 -9
  199. package/dist/runtime/mock.d.ts +1 -1
  200. package/dist/runtime/mock.js +1 -1
  201. package/dist/server/app_backend.d.ts +14 -11
  202. package/dist/server/app_backend.d.ts.map +1 -1
  203. package/dist/server/app_backend.js +12 -8
  204. package/dist/server/app_server.d.ts +7 -7
  205. package/dist/server/app_server.d.ts.map +1 -1
  206. package/dist/server/app_server.js +35 -40
  207. package/dist/server/validate_nginx.d.ts +1 -1
  208. package/dist/server/validate_nginx.js +1 -1
  209. package/dist/testing/CLAUDE.md +50 -38
  210. package/dist/testing/admin_integration.d.ts +5 -6
  211. package/dist/testing/admin_integration.d.ts.map +1 -1
  212. package/dist/testing/admin_integration.js +87 -85
  213. package/dist/testing/app_server.d.ts +11 -14
  214. package/dist/testing/app_server.d.ts.map +1 -1
  215. package/dist/testing/app_server.js +16 -15
  216. package/dist/testing/assertions.d.ts.map +1 -1
  217. package/dist/testing/assertions.js +2 -1
  218. package/dist/testing/attack_surface.d.ts.map +1 -1
  219. package/dist/testing/attack_surface.js +15 -9
  220. package/dist/testing/audit_completeness.d.ts +2 -2
  221. package/dist/testing/audit_completeness.d.ts.map +1 -1
  222. package/dist/testing/audit_completeness.js +36 -36
  223. package/dist/testing/auth_apps.d.ts +5 -4
  224. package/dist/testing/auth_apps.d.ts.map +1 -1
  225. package/dist/testing/auth_apps.js +22 -19
  226. package/dist/testing/data_exposure.d.ts.map +1 -1
  227. package/dist/testing/data_exposure.js +5 -5
  228. package/dist/testing/db.d.ts +1 -1
  229. package/dist/testing/db.d.ts.map +1 -1
  230. package/dist/testing/db.js +4 -4
  231. package/dist/testing/db_entities.d.ts +22 -0
  232. package/dist/testing/db_entities.d.ts.map +1 -0
  233. package/dist/testing/db_entities.js +28 -0
  234. package/dist/testing/entities.d.ts +8 -7
  235. package/dist/testing/entities.d.ts.map +1 -1
  236. package/dist/testing/entities.js +21 -18
  237. package/dist/testing/integration.d.ts.map +1 -1
  238. package/dist/testing/integration.js +13 -14
  239. package/dist/testing/integration_helpers.d.ts +4 -4
  240. package/dist/testing/integration_helpers.d.ts.map +1 -1
  241. package/dist/testing/integration_helpers.js +20 -18
  242. package/dist/testing/middleware.d.ts +4 -4
  243. package/dist/testing/middleware.d.ts.map +1 -1
  244. package/dist/testing/middleware.js +12 -11
  245. package/dist/testing/rpc_attack_surface.d.ts.map +1 -1
  246. package/dist/testing/rpc_attack_surface.js +40 -24
  247. package/dist/testing/rpc_round_trip.d.ts +1 -1
  248. package/dist/testing/rpc_round_trip.d.ts.map +1 -1
  249. package/dist/testing/rpc_round_trip.js +14 -13
  250. package/dist/testing/sse_round_trip.d.ts +3 -4
  251. package/dist/testing/sse_round_trip.d.ts.map +1 -1
  252. package/dist/testing/sse_round_trip.js +7 -11
  253. package/dist/testing/standard.d.ts +1 -1
  254. package/dist/testing/stubs.d.ts +25 -0
  255. package/dist/testing/stubs.d.ts.map +1 -1
  256. package/dist/testing/stubs.js +43 -2
  257. package/dist/testing/surface_invariants.d.ts +2 -2
  258. package/dist/testing/ws_round_trip.d.ts +12 -13
  259. package/dist/testing/ws_round_trip.d.ts.map +1 -1
  260. package/dist/testing/ws_round_trip.js +19 -11
  261. package/dist/ui/AdminAccounts.svelte +23 -20
  262. package/dist/ui/AdminOverview.svelte +15 -13
  263. package/dist/ui/AdminOverview.svelte.d.ts.map +1 -1
  264. package/dist/ui/{AdminPermitHistory.svelte → AdminRoleGrantHistory.svelte} +12 -12
  265. package/dist/ui/AdminRoleGrantHistory.svelte.d.ts +4 -0
  266. package/dist/ui/AdminRoleGrantHistory.svelte.d.ts.map +1 -0
  267. package/dist/ui/BootstrapForm.svelte +1 -1
  268. package/dist/ui/CLAUDE.md +60 -60
  269. package/dist/ui/{PermitOfferForm.svelte → RoleGrantOfferForm.svelte} +27 -26
  270. package/dist/ui/{PermitOfferForm.svelte.d.ts → RoleGrantOfferForm.svelte.d.ts} +7 -7
  271. package/dist/ui/RoleGrantOfferForm.svelte.d.ts.map +1 -0
  272. package/dist/ui/{PermitOfferHistory.svelte → RoleGrantOfferHistory.svelte} +12 -12
  273. package/dist/ui/{PermitOfferHistory.svelte.d.ts → RoleGrantOfferHistory.svelte.d.ts} +4 -4
  274. package/dist/ui/RoleGrantOfferHistory.svelte.d.ts.map +1 -0
  275. package/dist/ui/{PermitOfferInbox.svelte → RoleGrantOfferInbox.svelte} +14 -14
  276. package/dist/ui/{PermitOfferInbox.svelte.d.ts → RoleGrantOfferInbox.svelte.d.ts} +4 -4
  277. package/dist/ui/RoleGrantOfferInbox.svelte.d.ts.map +1 -0
  278. package/dist/ui/SignupForm.svelte +1 -1
  279. package/dist/ui/SurfaceExplorer.svelte +35 -15
  280. package/dist/ui/SurfaceExplorer.svelte.d.ts.map +1 -1
  281. package/dist/ui/account_sessions_state.svelte.d.ts +2 -3
  282. package/dist/ui/account_sessions_state.svelte.d.ts.map +1 -1
  283. package/dist/ui/account_sessions_state.svelte.js +2 -3
  284. package/dist/ui/admin_accounts_state.svelte.d.ts +18 -18
  285. package/dist/ui/admin_accounts_state.svelte.d.ts.map +1 -1
  286. package/dist/ui/admin_accounts_state.svelte.js +16 -16
  287. package/dist/ui/admin_rpc_adapters.d.ts +20 -20
  288. package/dist/ui/admin_rpc_adapters.d.ts.map +1 -1
  289. package/dist/ui/admin_rpc_adapters.js +17 -17
  290. package/dist/ui/admin_sessions_state.svelte.d.ts +2 -2
  291. package/dist/ui/admin_sessions_state.svelte.js +2 -2
  292. package/dist/ui/audit_log_state.svelte.d.ts +7 -7
  293. package/dist/ui/audit_log_state.svelte.d.ts.map +1 -1
  294. package/dist/ui/audit_log_state.svelte.js +6 -6
  295. package/dist/ui/auth_state.svelte.d.ts +3 -3
  296. package/dist/ui/auth_state.svelte.d.ts.map +1 -1
  297. package/dist/ui/auth_state.svelte.js +6 -6
  298. package/dist/ui/format_scope.d.ts +2 -2
  299. package/dist/ui/format_scope.js +2 -2
  300. package/dist/ui/{permit_offers_state.svelte.d.ts → role_grant_offers_state.svelte.d.ts} +30 -30
  301. package/dist/ui/role_grant_offers_state.svelte.d.ts.map +1 -0
  302. package/dist/ui/{permit_offers_state.svelte.js → role_grant_offers_state.svelte.js} +18 -18
  303. package/dist/ui/ui_format.js +2 -2
  304. package/package.json +3 -3
  305. package/dist/auth/permit_offer_action_specs.d.ts.map +0 -1
  306. package/dist/auth/permit_offer_action_specs.js +0 -258
  307. package/dist/auth/permit_offer_actions.d.ts +0 -110
  308. package/dist/auth/permit_offer_actions.d.ts.map +0 -1
  309. package/dist/auth/permit_offer_notifications.d.ts.map +0 -1
  310. package/dist/auth/permit_offer_notifications.js +0 -182
  311. package/dist/auth/permit_offer_queries.d.ts.map +0 -1
  312. package/dist/auth/permit_offer_schema.d.ts +0 -125
  313. package/dist/auth/permit_offer_schema.d.ts.map +0 -1
  314. package/dist/auth/permit_queries.d.ts +0 -222
  315. package/dist/auth/permit_queries.d.ts.map +0 -1
  316. package/dist/auth/permit_queries.js +0 -305
  317. package/dist/auth/require_keeper.d.ts +0 -20
  318. package/dist/auth/require_keeper.d.ts.map +0 -1
  319. package/dist/auth/require_keeper.js +0 -35
  320. package/dist/auth/route_guards.d.ts +0 -27
  321. package/dist/auth/route_guards.d.ts.map +0 -1
  322. package/dist/auth/route_guards.js +0 -38
  323. package/dist/auth/session_lifecycle.d.ts +0 -37
  324. package/dist/auth/session_lifecycle.d.ts.map +0 -1
  325. package/dist/auth/session_lifecycle.js +0 -29
  326. package/dist/ui/AdminPermitHistory.svelte.d.ts +0 -4
  327. package/dist/ui/AdminPermitHistory.svelte.d.ts.map +0 -1
  328. package/dist/ui/PermitOfferForm.svelte.d.ts.map +0 -1
  329. package/dist/ui/PermitOfferHistory.svelte.d.ts.map +0 -1
  330. package/dist/ui/PermitOfferInbox.svelte.d.ts.map +0 -1
  331. package/dist/ui/permit_offers_state.svelte.d.ts.map +0 -1
@@ -1,120 +1,122 @@
1
1
  /**
2
- * Permit offer RPC action specs — declarative contract for the
3
- * consentful-permits surface (offer lifecycle + admin revoke).
2
+ * Role grant offer RPC action specs — declarative contract for the
3
+ * consentful-role-grants surface (offer lifecycle + admin revoke).
4
4
  *
5
- * Import this module for the specs, Input/Output schemas, `ERROR_OFFER_*`
6
- * reason constants, and the `all_permit_offer_action_specs` registry.
7
- * Handlers live in `auth/permit_offer_actions.ts`.
5
+ * Import this module for the specs, Input/Output schemas, `ERROR_ROLE_GRANT_OFFER_*`
6
+ * reason constants, and the `all_role_grant_offer_action_specs` registry.
7
+ * Handlers live in `auth/role_grant_offer_actions.ts`.
8
8
  *
9
- * Authorization enforcement: offer-lifecycle specs declare
10
- * `auth: 'authenticated'` and rely on `query_*` IDOR guards or in-handler
11
- * policy checks (e.g. `permit_offer_list`/`_history` elevate to admin only
9
+ * Authorization enforcement: offer-lifecycle specs declare account+actor
10
+ * required (no roles) and rely on `query_*` IDOR guards or in-handler
11
+ * policy checks (e.g. `role_grant_offer_list`/`_history` elevate to admin only
12
12
  * when inspecting another account — an input-dependent check that can't be
13
- * expressed at the spec level). `permit_revoke` declares
14
- * `auth: {role: 'admin'}` — the RPC dispatcher's per-spec post-authorization
15
- * auth gate (`check_action_auth_post_authorization`) rejects non-admin
16
- * callers before the handler runs even though the endpoint hosts non-admin
17
- * methods alongside.
13
+ * expressed at the spec level). `role_grant_revoke` adds `roles: ['admin']` —
14
+ * the RPC dispatcher's per-spec post-authorization auth gate
15
+ * (`check_action_auth_post_authorization`) rejects non-admin callers before
16
+ * the handler runs even though the endpoint hosts non-admin methods
17
+ * alongside.
18
18
  *
19
19
  * @module
20
20
  */
21
21
  import { z } from 'zod';
22
22
  import type { RequestResponseActionSpec } from '../actions/action_spec.js';
23
- /** Error reason — caller tried to offer themselves a permit. */
24
- export declare const ERROR_OFFER_SELF_TARGET: "offer_self_target";
23
+ /** Error reason — caller tried to offer themselves a role_grant. */
24
+ export declare const ERROR_ROLE_GRANT_OFFER_SELF_TARGET: "role_grant_offer_self_target";
25
25
  /** Error reason — offer is declined, retracted, or superseded. */
26
- export declare const ERROR_OFFER_TERMINAL: "offer_terminal";
26
+ export declare const ERROR_ROLE_GRANT_OFFER_TERMINAL: "role_grant_offer_terminal";
27
27
  /** Error reason — offer's `expires_at` has passed. */
28
- export declare const ERROR_OFFER_EXPIRED: "offer_expired";
28
+ export declare const ERROR_ROLE_GRANT_OFFER_EXPIRED: "role_grant_offer_expired";
29
29
  /** Error reason — offer does not exist or belongs to a different recipient (404-over-403 IDOR mask). */
30
- export declare const ERROR_OFFER_NOT_FOUND: "offer_not_found";
31
- /** Error reason — the offered role is not `web_grantable` (nobody may offer it via this surface). */
32
- export declare const ERROR_OFFER_ROLE_NOT_GRANTABLE: "offer_role_not_grantable";
30
+ export declare const ERROR_ROLE_GRANT_OFFER_NOT_FOUND: "role_grant_offer_not_found";
31
+ /** Error reason — the offered role does not include `'admin'` in its `RoleSpec.grant_paths` (nobody may offer it via this surface). */
32
+ export declare const ERROR_ROLE_GRANT_OFFER_ROLE_NOT_GRANTABLE: "role_grant_offer_role_not_grantable";
33
33
  /** Error reason — caller is not authorized to offer this role (default policy: caller lacks the role; consumer `authorize` callback may add further policy). */
34
- export declare const ERROR_OFFER_NOT_AUTHORIZED: "offer_not_authorized";
34
+ export declare const ERROR_ROLE_GRANT_OFFER_NOT_AUTHORIZED: "role_grant_offer_not_authorized";
35
35
  /** Error reason — actor-targeted offer was accepted by an actor other than `to_actor_id`. */
36
- export declare const ERROR_OFFER_ACTOR_MISMATCH: "offer_actor_mismatch";
37
- /** Error reason — `permit_offer_create` was called with a `to_actor_id` that does not belong to `to_account_id`. */
38
- export declare const ERROR_OFFER_ACTOR_ACCOUNT_MISMATCH: "offer_actor_account_mismatch";
36
+ export declare const ERROR_ROLE_GRANT_OFFER_ACTOR_MISMATCH: "role_grant_offer_actor_mismatch";
37
+ /** Error reason — `role_grant_offer_create` was called with a `to_actor_id` that does not belong to `to_account_id`. */
38
+ export declare const ERROR_ROLE_GRANT_OFFER_ACTOR_ACCOUNT_MISMATCH: "role_grant_offer_actor_account_mismatch";
39
39
  /**
40
- * Input for `permit_offer_create`.
40
+ * Input for `role_grant_offer_create`.
41
41
  *
42
42
  * `to_actor_id` (optional) narrows the offer to a specific actor on the
43
- * recipient account. When supplied, `permit_offer_accept` will only admit
43
+ * recipient account. When supplied, `role_grant_offer_accept` will only admit
44
44
  * the named actor — wrong-actor accepts reject with
45
- * `offer_actor_mismatch`. The audit envelope's `target_actor_id` is
45
+ * `role_grant_offer_actor_mismatch`. The audit envelope's `target_actor_id` is
46
46
  * stamped from this column on the create / supersede / expire / retract
47
47
  * events. Omit (or pass null) for the account-grain default — any actor
48
48
  * on `to_account_id` may accept.
49
49
  */
50
- export declare const PermitOfferCreateInput: z.ZodObject<{
50
+ export declare const RoleGrantOfferCreateInput: z.ZodObject<{
51
51
  to_account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
52
52
  to_actor_id: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>>;
53
53
  role: z.ZodString;
54
+ scope_kind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
55
  scope_id: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>>;
55
56
  message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
57
  acting: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
57
58
  }, z.core.$strict>;
58
- export type PermitOfferCreateInput = z.infer<typeof PermitOfferCreateInput>;
59
- /** Input for `permit_offer_accept`. */
60
- export declare const PermitOfferAcceptInput: z.ZodObject<{
59
+ export type RoleGrantOfferCreateInput = z.infer<typeof RoleGrantOfferCreateInput>;
60
+ /** Input for `role_grant_offer_accept`. */
61
+ export declare const RoleGrantOfferAcceptInput: z.ZodObject<{
61
62
  offer_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
62
63
  acting: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
63
64
  }, z.core.$strict>;
64
- export type PermitOfferAcceptInput = z.infer<typeof PermitOfferAcceptInput>;
65
- /** Input for `permit_offer_decline`. */
66
- export declare const PermitOfferDeclineInput: z.ZodObject<{
65
+ export type RoleGrantOfferAcceptInput = z.infer<typeof RoleGrantOfferAcceptInput>;
66
+ /** Input for `role_grant_offer_decline`. */
67
+ export declare const RoleGrantOfferDeclineInput: z.ZodObject<{
67
68
  offer_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
68
69
  reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
69
70
  acting: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
70
71
  }, z.core.$strict>;
71
- export type PermitOfferDeclineInput = z.infer<typeof PermitOfferDeclineInput>;
72
- /** Input for `permit_offer_retract`. */
73
- export declare const PermitOfferRetractInput: z.ZodObject<{
72
+ export type RoleGrantOfferDeclineInput = z.infer<typeof RoleGrantOfferDeclineInput>;
73
+ /** Input for `role_grant_offer_retract`. */
74
+ export declare const RoleGrantOfferRetractInput: z.ZodObject<{
74
75
  offer_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
75
76
  acting: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
76
77
  }, z.core.$strict>;
77
- export type PermitOfferRetractInput = z.infer<typeof PermitOfferRetractInput>;
78
- /** Input for `permit_offer_list`. `account_id` is admin-only (inspect another account's inbox). */
79
- export declare const PermitOfferListInput: z.ZodObject<{
78
+ export type RoleGrantOfferRetractInput = z.infer<typeof RoleGrantOfferRetractInput>;
79
+ /** Input for `role_grant_offer_list`. `account_id` is admin-only (inspect another account's inbox). */
80
+ export declare const RoleGrantOfferListInput: z.ZodObject<{
80
81
  account_id: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>>;
81
82
  acting: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
82
83
  }, z.core.$strict>;
83
- export type PermitOfferListInput = z.infer<typeof PermitOfferListInput>;
84
+ export type RoleGrantOfferListInput = z.infer<typeof RoleGrantOfferListInput>;
84
85
  /**
85
- * Input for `permit_revoke`. Admin-only mutation that revokes an active
86
- * permit on a target actor. `actor_id` is the natural key — permits are
86
+ * Input for `role_grant_revoke`. Admin-only mutation that revokes an active
87
+ * role_grant on a target actor. `actor_id` is the natural key — role_grants are
87
88
  * actor-scoped, and the admin UI reads `row.actor.id` straight from the
88
89
  * listing. Deriving `actor_id` from `account_id` would collapse under
89
90
  * multi-actor accounts.
90
91
  */
91
- export declare const PermitRevokeInput: z.ZodObject<{
92
+ export declare const RoleGrantRevokeInput: z.ZodObject<{
92
93
  actor_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
93
- permit_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
94
+ role_grant_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
94
95
  reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
95
96
  acting: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
96
97
  }, z.core.$strict>;
97
- export type PermitRevokeInput = z.infer<typeof PermitRevokeInput>;
98
+ export type RoleGrantRevokeInput = z.infer<typeof RoleGrantRevokeInput>;
98
99
  /**
99
- * Input for `permit_offer_history`. Returns every offer involving the account
100
+ * Input for `role_grant_offer_history`. Returns every offer involving the account
100
101
  * in either direction (recipient or grantor), including terminal rows, newest
101
102
  * first. `account_id` is admin-only.
102
103
  */
103
- export declare const PermitOfferHistoryInput: z.ZodObject<{
104
+ export declare const RoleGrantOfferHistoryInput: z.ZodObject<{
104
105
  account_id: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>>;
105
106
  limit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
106
107
  offset: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
107
108
  acting: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
108
109
  }, z.core.$strict>;
109
- export type PermitOfferHistoryInput = z.infer<typeof PermitOfferHistoryInput>;
110
- /** Output for `permit_offer_create`. */
111
- export declare const PermitOfferCreateOutput: z.ZodObject<{
110
+ export type RoleGrantOfferHistoryInput = z.infer<typeof RoleGrantOfferHistoryInput>;
111
+ /** Output for `role_grant_offer_create`. */
112
+ export declare const RoleGrantOfferCreateOutput: z.ZodObject<{
112
113
  offer: z.ZodObject<{
113
114
  id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
114
115
  from_actor_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
115
116
  to_account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
116
117
  to_actor_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
117
118
  role: z.ZodString;
119
+ scope_kind: z.ZodNullable<z.ZodString>;
118
120
  scope_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
119
121
  message: z.ZodNullable<z.ZodString>;
120
122
  created_at: z.ZodString;
@@ -124,19 +126,20 @@ export declare const PermitOfferCreateOutput: z.ZodObject<{
124
126
  decline_reason: z.ZodNullable<z.ZodString>;
125
127
  retracted_at: z.ZodNullable<z.ZodString>;
126
128
  superseded_at: z.ZodNullable<z.ZodString>;
127
- resulting_permit_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
129
+ resulting_role_grant_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
128
130
  }, z.core.$strict>;
129
131
  }, z.core.$strict>;
130
- export type PermitOfferCreateOutput = z.infer<typeof PermitOfferCreateOutput>;
131
- /** Output for `permit_offer_accept`. */
132
- export declare const PermitOfferAcceptOutput: z.ZodObject<{
133
- permit_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
132
+ export type RoleGrantOfferCreateOutput = z.infer<typeof RoleGrantOfferCreateOutput>;
133
+ /** Output for `role_grant_offer_accept`. */
134
+ export declare const RoleGrantOfferAcceptOutput: z.ZodObject<{
135
+ role_grant_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
134
136
  offer: z.ZodObject<{
135
137
  id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
136
138
  from_actor_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
137
139
  to_account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
138
140
  to_actor_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
139
141
  role: z.ZodString;
142
+ scope_kind: z.ZodNullable<z.ZodString>;
140
143
  scope_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
141
144
  message: z.ZodNullable<z.ZodString>;
142
145
  created_at: z.ZodString;
@@ -146,24 +149,25 @@ export declare const PermitOfferAcceptOutput: z.ZodObject<{
146
149
  decline_reason: z.ZodNullable<z.ZodString>;
147
150
  retracted_at: z.ZodNullable<z.ZodString>;
148
151
  superseded_at: z.ZodNullable<z.ZodString>;
149
- resulting_permit_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
152
+ resulting_role_grant_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
150
153
  }, z.core.$strict>;
151
154
  superseded_offer_ids: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
152
155
  }, z.core.$strict>;
153
- export type PermitOfferAcceptOutput = z.infer<typeof PermitOfferAcceptOutput>;
154
- /** Output for `permit_offer_decline` / `permit_offer_retract`. */
155
- export declare const PermitOfferOkOutput: z.ZodObject<{
156
+ export type RoleGrantOfferAcceptOutput = z.infer<typeof RoleGrantOfferAcceptOutput>;
157
+ /** Output for `role_grant_offer_decline` / `role_grant_offer_retract`. */
158
+ export declare const RoleGrantOfferOkOutput: z.ZodObject<{
156
159
  ok: z.ZodLiteral<true>;
157
160
  }, z.core.$strict>;
158
- export type PermitOfferOkOutput = z.infer<typeof PermitOfferOkOutput>;
159
- /** Output for `permit_offer_list`. */
160
- export declare const PermitOfferListOutput: z.ZodObject<{
161
+ export type RoleGrantOfferOkOutput = z.infer<typeof RoleGrantOfferOkOutput>;
162
+ /** Output for `role_grant_offer_list`. */
163
+ export declare const RoleGrantOfferListOutput: z.ZodObject<{
161
164
  offers: z.ZodArray<z.ZodObject<{
162
165
  id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
163
166
  from_actor_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
164
167
  to_account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
165
168
  to_actor_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
166
169
  role: z.ZodString;
170
+ scope_kind: z.ZodNullable<z.ZodString>;
167
171
  scope_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
168
172
  message: z.ZodNullable<z.ZodString>;
169
173
  created_at: z.ZodString;
@@ -173,18 +177,19 @@ export declare const PermitOfferListOutput: z.ZodObject<{
173
177
  decline_reason: z.ZodNullable<z.ZodString>;
174
178
  retracted_at: z.ZodNullable<z.ZodString>;
175
179
  superseded_at: z.ZodNullable<z.ZodString>;
176
- resulting_permit_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
180
+ resulting_role_grant_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
177
181
  }, z.core.$strict>>;
178
182
  }, z.core.$strict>;
179
- export type PermitOfferListOutput = z.infer<typeof PermitOfferListOutput>;
180
- /** Output for `permit_offer_history`. */
181
- export declare const PermitOfferHistoryOutput: z.ZodObject<{
183
+ export type RoleGrantOfferListOutput = z.infer<typeof RoleGrantOfferListOutput>;
184
+ /** Output for `role_grant_offer_history`. */
185
+ export declare const RoleGrantOfferHistoryOutput: z.ZodObject<{
182
186
  offers: z.ZodArray<z.ZodObject<{
183
187
  id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
184
188
  from_actor_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
185
189
  to_account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
186
190
  to_actor_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
187
191
  role: z.ZodString;
192
+ scope_kind: z.ZodNullable<z.ZodString>;
188
193
  scope_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
189
194
  message: z.ZodNullable<z.ZodString>;
190
195
  created_at: z.ZodString;
@@ -194,26 +199,30 @@ export declare const PermitOfferHistoryOutput: z.ZodObject<{
194
199
  decline_reason: z.ZodNullable<z.ZodString>;
195
200
  retracted_at: z.ZodNullable<z.ZodString>;
196
201
  superseded_at: z.ZodNullable<z.ZodString>;
197
- resulting_permit_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
202
+ resulting_role_grant_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
198
203
  }, z.core.$strict>>;
199
204
  }, z.core.$strict>;
200
- export type PermitOfferHistoryOutput = z.infer<typeof PermitOfferHistoryOutput>;
201
- /** Output for `permit_revoke`. */
202
- export declare const PermitRevokeOutput: z.ZodObject<{
205
+ export type RoleGrantOfferHistoryOutput = z.infer<typeof RoleGrantOfferHistoryOutput>;
206
+ /** Output for `role_grant_revoke`. */
207
+ export declare const RoleGrantRevokeOutput: z.ZodObject<{
203
208
  ok: z.ZodLiteral<true>;
204
209
  revoked: z.ZodLiteral<true>;
205
210
  }, z.core.$strict>;
206
- export type PermitRevokeOutput = z.infer<typeof PermitRevokeOutput>;
207
- export declare const permit_offer_create_action_spec: {
211
+ export type RoleGrantRevokeOutput = z.infer<typeof RoleGrantRevokeOutput>;
212
+ export declare const role_grant_offer_create_action_spec: {
208
213
  method: string;
209
214
  kind: "request_response";
210
215
  initiator: "frontend";
211
- auth: "authenticated";
216
+ auth: {
217
+ account: "required";
218
+ actor: "required";
219
+ };
212
220
  side_effects: true;
213
221
  input: z.ZodObject<{
214
222
  to_account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
215
223
  to_actor_id: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>>;
216
224
  role: z.ZodString;
225
+ scope_kind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
217
226
  scope_id: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>>;
218
227
  message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
219
228
  acting: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
@@ -225,6 +234,7 @@ export declare const permit_offer_create_action_spec: {
225
234
  to_account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
226
235
  to_actor_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
227
236
  role: z.ZodString;
237
+ scope_kind: z.ZodNullable<z.ZodString>;
228
238
  scope_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
229
239
  message: z.ZodNullable<z.ZodString>;
230
240
  created_at: z.ZodString;
@@ -234,31 +244,35 @@ export declare const permit_offer_create_action_spec: {
234
244
  decline_reason: z.ZodNullable<z.ZodString>;
235
245
  retracted_at: z.ZodNullable<z.ZodString>;
236
246
  superseded_at: z.ZodNullable<z.ZodString>;
237
- resulting_permit_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
247
+ resulting_role_grant_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
238
248
  }, z.core.$strict>;
239
249
  }, z.core.$strict>;
240
250
  async: true;
241
251
  description: string;
242
- error_reasons: ("offer_self_target" | "offer_role_not_grantable" | "offer_not_authorized" | "offer_actor_account_mismatch")[];
252
+ error_reasons: ("role_grant_offer_self_target" | "role_grant_offer_role_not_grantable" | "role_grant_offer_not_authorized" | "role_grant_offer_actor_account_mismatch")[];
243
253
  };
244
- export declare const permit_offer_accept_action_spec: {
254
+ export declare const role_grant_offer_accept_action_spec: {
245
255
  method: string;
246
256
  kind: "request_response";
247
257
  initiator: "frontend";
248
- auth: "authenticated";
258
+ auth: {
259
+ account: "required";
260
+ actor: "required";
261
+ };
249
262
  side_effects: true;
250
263
  input: z.ZodObject<{
251
264
  offer_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
252
265
  acting: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
253
266
  }, z.core.$strict>;
254
267
  output: z.ZodObject<{
255
- permit_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
268
+ role_grant_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
256
269
  offer: z.ZodObject<{
257
270
  id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
258
271
  from_actor_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
259
272
  to_account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
260
273
  to_actor_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
261
274
  role: z.ZodString;
275
+ scope_kind: z.ZodNullable<z.ZodString>;
262
276
  scope_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
263
277
  message: z.ZodNullable<z.ZodString>;
264
278
  created_at: z.ZodString;
@@ -268,19 +282,22 @@ export declare const permit_offer_accept_action_spec: {
268
282
  decline_reason: z.ZodNullable<z.ZodString>;
269
283
  retracted_at: z.ZodNullable<z.ZodString>;
270
284
  superseded_at: z.ZodNullable<z.ZodString>;
271
- resulting_permit_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
285
+ resulting_role_grant_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
272
286
  }, z.core.$strict>;
273
287
  superseded_offer_ids: z.ZodArray<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
274
288
  }, z.core.$strict>;
275
289
  async: true;
276
290
  description: string;
277
- error_reasons: ("offer_terminal" | "offer_expired" | "offer_not_found" | "offer_actor_mismatch")[];
291
+ error_reasons: ("role_grant_offer_terminal" | "role_grant_offer_expired" | "role_grant_offer_not_found" | "role_grant_offer_actor_mismatch")[];
278
292
  };
279
- export declare const permit_offer_decline_action_spec: {
293
+ export declare const role_grant_offer_decline_action_spec: {
280
294
  method: string;
281
295
  kind: "request_response";
282
296
  initiator: "frontend";
283
- auth: "authenticated";
297
+ auth: {
298
+ account: "required";
299
+ actor: "required";
300
+ };
284
301
  side_effects: true;
285
302
  input: z.ZodObject<{
286
303
  offer_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
@@ -292,13 +309,16 @@ export declare const permit_offer_decline_action_spec: {
292
309
  }, z.core.$strict>;
293
310
  async: true;
294
311
  description: string;
295
- error_reasons: ("offer_terminal" | "offer_not_found")[];
312
+ error_reasons: ("role_grant_offer_terminal" | "role_grant_offer_not_found")[];
296
313
  };
297
- export declare const permit_offer_retract_action_spec: {
314
+ export declare const role_grant_offer_retract_action_spec: {
298
315
  method: string;
299
316
  kind: "request_response";
300
317
  initiator: "frontend";
301
- auth: "authenticated";
318
+ auth: {
319
+ account: "required";
320
+ actor: "required";
321
+ };
302
322
  side_effects: true;
303
323
  input: z.ZodObject<{
304
324
  offer_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
@@ -309,13 +329,16 @@ export declare const permit_offer_retract_action_spec: {
309
329
  }, z.core.$strict>;
310
330
  async: true;
311
331
  description: string;
312
- error_reasons: ("offer_terminal" | "offer_not_found")[];
332
+ error_reasons: ("role_grant_offer_terminal" | "role_grant_offer_not_found")[];
313
333
  };
314
- export declare const permit_offer_list_action_spec: {
334
+ export declare const role_grant_offer_list_action_spec: {
315
335
  method: string;
316
336
  kind: "request_response";
317
337
  initiator: "frontend";
318
- auth: "authenticated";
338
+ auth: {
339
+ account: "required";
340
+ actor: "required";
341
+ };
319
342
  side_effects: false;
320
343
  input: z.ZodObject<{
321
344
  account_id: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>>;
@@ -328,6 +351,7 @@ export declare const permit_offer_list_action_spec: {
328
351
  to_account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
329
352
  to_actor_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
330
353
  role: z.ZodString;
354
+ scope_kind: z.ZodNullable<z.ZodString>;
331
355
  scope_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
332
356
  message: z.ZodNullable<z.ZodString>;
333
357
  created_at: z.ZodString;
@@ -337,17 +361,20 @@ export declare const permit_offer_list_action_spec: {
337
361
  decline_reason: z.ZodNullable<z.ZodString>;
338
362
  retracted_at: z.ZodNullable<z.ZodString>;
339
363
  superseded_at: z.ZodNullable<z.ZodString>;
340
- resulting_permit_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
364
+ resulting_role_grant_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
341
365
  }, z.core.$strict>>;
342
366
  }, z.core.$strict>;
343
367
  async: true;
344
368
  description: string;
345
369
  };
346
- export declare const permit_offer_history_action_spec: {
370
+ export declare const role_grant_offer_history_action_spec: {
347
371
  method: string;
348
372
  kind: "request_response";
349
373
  initiator: "frontend";
350
- auth: "authenticated";
374
+ auth: {
375
+ account: "required";
376
+ actor: "required";
377
+ };
351
378
  side_effects: false;
352
379
  input: z.ZodObject<{
353
380
  account_id: z.ZodOptional<z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>>;
@@ -362,6 +389,7 @@ export declare const permit_offer_history_action_spec: {
362
389
  to_account_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
363
390
  to_actor_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
364
391
  role: z.ZodString;
392
+ scope_kind: z.ZodNullable<z.ZodString>;
365
393
  scope_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
366
394
  message: z.ZodNullable<z.ZodString>;
367
395
  created_at: z.ZodString;
@@ -371,23 +399,25 @@ export declare const permit_offer_history_action_spec: {
371
399
  decline_reason: z.ZodNullable<z.ZodString>;
372
400
  retracted_at: z.ZodNullable<z.ZodString>;
373
401
  superseded_at: z.ZodNullable<z.ZodString>;
374
- resulting_permit_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
402
+ resulting_role_grant_id: z.ZodNullable<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
375
403
  }, z.core.$strict>>;
376
404
  }, z.core.$strict>;
377
405
  async: true;
378
406
  description: string;
379
407
  };
380
- export declare const permit_revoke_action_spec: {
408
+ export declare const role_grant_revoke_action_spec: {
381
409
  method: string;
382
410
  kind: "request_response";
383
411
  initiator: "frontend";
384
412
  auth: {
385
- role: string;
413
+ account: "required";
414
+ actor: "required";
415
+ roles: string[];
386
416
  };
387
417
  side_effects: true;
388
418
  input: z.ZodObject<{
389
419
  actor_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
390
- permit_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
420
+ role_grant_id: z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">;
391
421
  reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
392
422
  acting: z.ZodOptional<z.core.$ZodBranded<z.ZodUUID, "Uuid", "out">>;
393
423
  }, z.core.$strict>;
@@ -397,13 +427,13 @@ export declare const permit_revoke_action_spec: {
397
427
  }, z.core.$strict>;
398
428
  async: true;
399
429
  description: string;
400
- error_reasons: ("role_not_web_grantable" | "permit_not_found")[];
430
+ error_reasons: ("role_not_web_grantable" | "role_grant_not_found")[];
401
431
  rate_limit: "account";
402
432
  };
403
433
  /**
404
- * All permit-offer action specs — a codegen-ready registry. Consumers spread
434
+ * All role-grant-offer action specs — a codegen-ready registry. Consumers spread
405
435
  * this into their own action-spec array to include offer lifecycle + revoke
406
436
  * methods in a typed client surface.
407
437
  */
408
- export declare const all_permit_offer_action_specs: Array<RequestResponseActionSpec>;
409
- //# sourceMappingURL=permit_offer_action_specs.d.ts.map
438
+ export declare const all_role_grant_offer_action_specs: Array<RequestResponseActionSpec>;
439
+ //# sourceMappingURL=role_grant_offer_action_specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role_grant_offer_action_specs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/auth/role_grant_offer_action_specs.ts"],"names":[],"mappings":"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"}