permdock 0.3.1 → 0.5.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 (552) hide show
  1. package/README.md +37 -35
  2. package/dist/{openapi-schema--ARjyfQr.js → 2020-C9VN-x8c.js} +5 -132
  3. package/dist/a2a/index.d.ts +8 -6
  4. package/dist/a2a/index.js +21 -31
  5. package/dist/{adapter-context-mlWsVGGg.js → adapter-context-CRhqyzCk.js} +1 -1
  6. package/dist/adoption-scan-B4R5fnMU.js +107 -0
  7. package/dist/agent/index.d.ts +3 -0
  8. package/dist/agent/index.js +1 -0
  9. package/dist/ai-sdk/index.d.ts +18 -23
  10. package/dist/ai-sdk/index.js +38 -21
  11. package/dist/app-data-MuyzVqX8.js +60 -0
  12. package/dist/approval-header-CJACtHkv.js +23 -0
  13. package/dist/approval-prompt-Dg5LeAcT.js +62 -0
  14. package/dist/approval-prompt-Djo_PyZc.d.ts +57 -0
  15. package/dist/approvals/index.d.ts +5 -3
  16. package/dist/approvals/index.js +8 -5
  17. package/dist/approvals-DJ6Yd5z1.js +995 -0
  18. package/dist/{approvers-DT4AVyIg.js → approvers-CqPOLD-o.js} +1 -1
  19. package/dist/arazzo-B6lebmiQ.js +36 -0
  20. package/dist/{arazzo-BAgw9ap6.js → arazzo-BWhNF-k0.js} +24 -17
  21. package/dist/args-IIolxxKA.js +197 -0
  22. package/dist/astro/index.d.ts +43 -0
  23. package/dist/astro/index.js +27 -0
  24. package/dist/audience-Dg8XsRaO.js +55 -0
  25. package/dist/auth-DRLEizbL.js +178 -0
  26. package/dist/authzen/index.d.ts +26 -6
  27. package/dist/authzen/index.js +228 -75
  28. package/dist/automation-BMZPIVUM.d.ts +114 -0
  29. package/dist/automation-DVjOckjV.js +157 -0
  30. package/dist/better-auth/index.d.ts +8 -6
  31. package/dist/better-auth/index.js +11 -23
  32. package/dist/better-supabase/index.d.ts +438 -86
  33. package/dist/better-supabase/index.js +1027 -184
  34. package/dist/bind--9EFVYWF.d.ts +38 -0
  35. package/dist/{bind-CuzGytRf.js → bind-CZzhx-Vj.js} +22 -10
  36. package/dist/body-CH5of8Ne.js +10 -0
  37. package/dist/body-text-QcXok_SI.js +52 -0
  38. package/dist/build-instance-BMnAudHn.js +52 -0
  39. package/dist/{canonical-json-DemiK4Vp.js → canonical-json-BC8_nMTw.js} +6 -6
  40. package/dist/{capability-2kYTMWDv.d.ts → capability-BSslw1QV.d.ts} +44 -25
  41. package/dist/{capability-4qPdO9gk.js → capability-N1K9IpqS.js} +69 -42
  42. package/dist/casbin-Cr7RLtA3.js +30 -0
  43. package/dist/casbin-Dyu2gnUD.js +234 -0
  44. package/dist/casl-64gpT-8x.js +24 -0
  45. package/dist/casl-DjEDhTCP.js +299 -0
  46. package/dist/catalog/index.d.ts +74 -2
  47. package/dist/catalog/index.js +51 -2
  48. package/dist/catalog-BECMPrwc.js +100 -0
  49. package/dist/catalog-DjhMYYCq.js +1 -0
  50. package/dist/catalog-R_A__RsH.js +52 -0
  51. package/dist/{catalog-doc-DdGm82XT.js → catalog-doc-C9wjsfNY.js} +54 -25
  52. package/dist/catalog-fingerprint-CCP0-yQS.js +153 -0
  53. package/dist/chat/index.d.ts +2 -0
  54. package/dist/chat/index.js +224 -0
  55. package/dist/chat-sdk/index.d.ts +87 -0
  56. package/dist/chat-sdk/index.js +197 -0
  57. package/dist/claims-map-7oQ3ue4X.js +13 -0
  58. package/dist/claims-map-Ca-QX8C6.d.ts +32 -0
  59. package/dist/claude-agent/index.d.ts +7 -14
  60. package/dist/claude-agent/index.js +26 -30
  61. package/dist/clerk/index.d.ts +9 -8
  62. package/dist/clerk/index.js +15 -45
  63. package/dist/cli/bin.js +36 -17
  64. package/dist/cli/index.d.ts +20 -6
  65. package/dist/cli/index.js +164 -4
  66. package/dist/cloud/index.d.ts +102 -63
  67. package/dist/cloud/index.js +240 -347
  68. package/dist/cloud-CIoHNevm.js +87 -0
  69. package/dist/codemod-Bmj9dWMH.js +37 -0
  70. package/dist/codemod-Cxvvc70T.js +2084 -0
  71. package/dist/{collect-DSTE3ml9.js → collect-CrZJJnEF.js} +79 -17
  72. package/dist/collect-DloHbDVa.js +55 -0
  73. package/dist/collect-FlXJlhus.js +1 -0
  74. package/dist/command-L8EstFNm.js +6 -0
  75. package/dist/{compact-y6vfu2_f.js → compact-CAf557ZB.js} +11 -1
  76. package/dist/compile/index.d.ts +1 -1
  77. package/dist/compile/index.js +1 -2
  78. package/dist/{compile-Ba4blROR.js → compile-CMqMx_IN.js} +13 -9
  79. package/dist/{compile-BkRyBDBw.d.ts → compile-Ckm2HqBZ.d.ts} +5 -3
  80. package/dist/completion-BqhRBJD8.js +143 -0
  81. package/dist/config-B46rm9sc.js +26 -0
  82. package/dist/{config-BJiM-xAm.js → config-bs_kZeYq.js} +15 -10
  83. package/dist/{config-report-CdCgbRnV.js → config-report-DUgj62Ai.js} +17 -8
  84. package/dist/{connection-CU8MQxRi.js → connection-DjhIJSs2.js} +8 -6
  85. package/dist/constants-DcJABbLW.js +20 -0
  86. package/dist/{context-Bcy85rGi.js → context-bbFHR-0D.js} +16 -5
  87. package/dist/convex/index.d.ts +11 -10
  88. package/dist/convex/index.js +18 -18
  89. package/dist/create-0VZ7Pdiu.d.ts +107 -0
  90. package/dist/create-BDS7wc3y.d.ts +138 -0
  91. package/dist/create-BFfm17UA.d.ts +110 -0
  92. package/dist/create-BWRSXgOF.js +403 -0
  93. package/dist/create-C3b4B5eF.js +130 -0
  94. package/dist/create-DnrmLnLW.js +323 -0
  95. package/dist/{credential-8P81ff4u.js → credential-DM2um3ha.js} +153 -32
  96. package/dist/credentials-DPyHmYz5.js +74 -0
  97. package/dist/deciding-columns-Sq12mEA6.js +123 -0
  98. package/dist/delegation-DaXVdDhM.js +286 -0
  99. package/dist/delegation-input-FTxMK3ji.js +19 -0
  100. package/dist/delivery/index.d.ts +5 -0
  101. package/dist/delivery/index.js +5 -0
  102. package/dist/delivery-DCAgNyCn.js +499 -0
  103. package/dist/delivery-event-xX4obB8F.js +40 -0
  104. package/dist/denied-text-D8jDHgsl.d.ts +19 -0
  105. package/dist/{describe-DMYiCjJV.d.ts → describe-BZUsixiL.d.ts} +11 -2
  106. package/dist/{describe-B_gVZEVi.js → describe-BybMRY7A.js} +10 -5
  107. package/dist/device-BARQ8eYG.js +193 -0
  108. package/dist/diff-CxZo9pTq.js +37 -0
  109. package/dist/{diff-2VaeChzX.js → diff-DCePiN6M.js} +61 -55
  110. package/dist/doctor-CxiwSfqH.js +44 -0
  111. package/dist/doctor-DFjUxf2f.js +2361 -0
  112. package/dist/drizzle/index.d.ts +5 -3
  113. package/dist/drizzle/index.js +6 -14
  114. package/dist/elysia/index.d.ts +16 -13
  115. package/dist/elysia/index.js +14 -13
  116. package/dist/env-DJZrPjRi.js +8 -0
  117. package/dist/errors-BDUwg2qC.js +27 -0
  118. package/dist/{errors-Cz5zn0mW.js → errors-BKy0EfhN.js} +6 -10
  119. package/dist/errors-BWXBMaKK.d.ts +11 -0
  120. package/dist/{errors-DPdqI50v.d.ts → errors-C2PXIv4c.d.ts} +2 -2
  121. package/dist/errors-CWTY6uih.js +143 -0
  122. package/dist/evaluate-_R8QkWaf.js +1732 -0
  123. package/dist/evaluations-16UqqQ6W.d.ts +32 -0
  124. package/dist/{evaluations-tz6D9A2G.js → evaluations-DZ2CbV5k.js} +181 -32
  125. package/dist/eve/index.d.ts +12 -16
  126. package/dist/eve/index.js +23 -29
  127. package/dist/event-time-CsegxXxB.js +23 -0
  128. package/dist/expiry-D4_YKRKD.js +52 -0
  129. package/dist/express/index.d.ts +13 -10
  130. package/dist/express/index.js +14 -12
  131. package/dist/fastify/index.d.ts +26 -13
  132. package/dist/fastify/index.js +17 -36
  133. package/dist/fetch-adapter-g0ypLkID.js +120 -0
  134. package/dist/fetch-adapter-qKJBuRqy.d.ts +31 -0
  135. package/dist/fields-D9tPVUUS.js +203 -0
  136. package/dist/files-C5ZI27eV.js +124 -0
  137. package/dist/{files-DWUN9PzI.js → files-D_JIzUrP.js} +12 -3
  138. package/dist/{fixtures-ht28Cplr.js → fixtures-B7XrLeY7.js} +12 -12
  139. package/dist/flags-C3DktBDY.js +86 -0
  140. package/dist/{from-snapshot-CTLijvdm.js → from-snapshot-D2lZt4Dd.js} +78 -65
  141. package/dist/{generate-CH7ThJ14.js → generate-CNU1pIOo.js} +1 -3
  142. package/dist/grantee-Cn1HyUsI.js +254 -0
  143. package/dist/grantee-conditions-CcXf8hMM.js +271 -0
  144. package/dist/grantee-match-DHArqY82.js +142 -0
  145. package/dist/h3/index.d.ts +37 -0
  146. package/dist/h3/index.js +35 -0
  147. package/dist/headers-BIjfMaoC.js +8 -0
  148. package/dist/headers-CIbDTUTK.d.ts +7 -0
  149. package/dist/{helpers-H_KARDVC.js → helpers-DTcZOzhF.js} +47 -39
  150. package/dist/hono/index.d.ts +12 -9
  151. package/dist/hono/index.js +14 -13
  152. package/dist/{hosted-DJQw46hn.js → hosted-BZIAYvon.js} +64 -15
  153. package/dist/hosted-DBDX0M-P.d.ts +78 -0
  154. package/dist/{http-SO7qGttf.js → http-BBoKefeS.js} +35 -2
  155. package/dist/{http-DPuDaChb.d.ts → http-B_LphE5Y.d.ts} +1 -2
  156. package/dist/http-DXJ37RDA.js +46 -0
  157. package/dist/{http-BIhmLfCc.js → http-ujKm0JXE.js} +3 -26
  158. package/dist/{openapi-import-cmwetbzw.js → import-CNV7I2Dw.js} +30 -26
  159. package/dist/{rls-import-4lLW_pbb.js → import-DMmOG27O.js} +271 -128
  160. package/dist/index-BcHcPyIo.d.ts +110 -0
  161. package/dist/index-CaxrMD1A.d.ts +1 -0
  162. package/dist/index-Chrs5fQ-.d.ts +210 -0
  163. package/dist/index-CxGUswIC.d.ts +431 -0
  164. package/dist/index-D8EovfsP.d.ts +91 -0
  165. package/dist/index-DOVf7RJv.d.ts +900 -0
  166. package/dist/{index-C8z4RjQV.d.ts → index-SGdIQyzc.d.ts} +34 -16
  167. package/dist/index.d.ts +20 -14
  168. package/dist/index.js +33 -23
  169. package/dist/init-DeMYsnYJ.js +96 -0
  170. package/dist/init-GG6Jh8HD.js +95 -0
  171. package/dist/{instance-options-jARdwfPN.d.ts → instance-options-Omfd793B.d.ts} +2 -2
  172. package/dist/instance-snapshot-Cxq4ygFc.js +600 -0
  173. package/dist/instant-BluqDvyS.js +19 -0
  174. package/dist/internals-Dk8A8fX3.js +17 -0
  175. package/dist/{json-schema-BsAflUGW.js → json-schema-B-vAwlde.js} +46 -9
  176. package/dist/json-schema-CN_iLFH2.d.ts +40 -0
  177. package/dist/jwt/index.d.ts +18 -11
  178. package/dist/jwt/index.js +166 -145
  179. package/dist/{kernel-_RRHmnMY.js → kernel-5JatXyND.js} +120 -43
  180. package/dist/kysely/index.d.ts +5 -3
  181. package/dist/kysely/index.js +6 -14
  182. package/dist/{live-options-H2eG8dfJ.js → live-options-BaAFCIiu.js} +16 -3
  183. package/dist/load-BxEtwlBS.js +1 -0
  184. package/dist/{load-DhWEB9P1.js → load-DFS_ry0W.js} +31 -7
  185. package/dist/{load-jose-BL6LH4bL.js → load-jose-DZ4dnjri.js} +1 -4
  186. package/dist/login-Dfe5RlYk.js +68 -0
  187. package/dist/login-imhuwvn3.js +254 -0
  188. package/dist/manifest-C8IzW3Do.js +42 -0
  189. package/dist/manifest-CtKR3GXL.js +370 -0
  190. package/dist/manifest-json-CAGzls-C.js +9 -0
  191. package/dist/{manifest-uDS9y5de.d.ts → manifest-mx5ghSFM.d.ts} +9 -2
  192. package/dist/manifest-schema-C0kK_8V0.js +399 -0
  193. package/dist/{map-claims-Z4QZOiFF.js → map-claims-D3oRmTk0.js} +19 -25
  194. package/dist/{map-error-pgUWNNtG.js → map-error-TCAdw-eW.js} +5 -5
  195. package/dist/{markers-B0hYLvMD.js → markers-C6joDI3o.js} +8 -3
  196. package/dist/mcp/index.d.ts +36 -9
  197. package/dist/mcp/index.js +476 -448
  198. package/dist/{rls-migrate-CN4TlJTO.js → migrate-BShP7Vf4.js} +119 -20
  199. package/dist/nest/index.d.ts +12 -9
  200. package/dist/nest/index.js +20 -20
  201. package/dist/next/index.d.ts +40 -20
  202. package/dist/next/index.js +37 -39
  203. package/dist/next/plugin.d.ts +1 -1
  204. package/dist/next/plugin.js +2 -2
  205. package/dist/node/index.d.ts +10 -10
  206. package/dist/node/index.js +7 -9
  207. package/dist/ocsf-BFp-PZZA.js +126 -0
  208. package/dist/openai/index.d.ts +9 -16
  209. package/dist/openai/index.js +18 -25
  210. package/dist/openapi/index.d.ts +3 -3
  211. package/dist/openapi/index.js +1 -1
  212. package/dist/{openapi-BqRBvAng.js → openapi-B7HZ0f-r.js} +9 -12
  213. package/dist/{openapi-CqqEbHsL.js → openapi-DTaEmTSW.js} +23 -26
  214. package/dist/openapi-ahr8rHu3.js +138 -0
  215. package/dist/operation-findings-DgATDpvh.js +36 -0
  216. package/dist/operations-CxybZErY.d.ts +59 -0
  217. package/dist/orpc/index.d.ts +13 -10
  218. package/dist/orpc/index.js +23 -20
  219. package/dist/otel/index.d.ts +3 -2
  220. package/dist/otel/index.js +53 -27
  221. package/dist/output-Dyw8fyPF.js +88 -0
  222. package/dist/output-files-B3IZJksC.js +1 -0
  223. package/dist/output-files-DhRBBE4n.js +138 -0
  224. package/dist/{rls-fields-CZOMlwHl.js → ownership-BatFgAA4.js} +2393 -2349
  225. package/dist/{package-root-zGkxO3oN.js → package-root-Dk_ETdkp.js} +4 -3
  226. package/dist/{parse-BuyjxhZV.js → parse-Cxq0WxrA.js} +3 -3
  227. package/dist/{parse-local-manifest-BrMozJCo.js → parse-local-manifest-CVSs6J9I.js} +2 -4
  228. package/dist/{parse-local-manifest-JLnaBH0S.d.ts → parse-local-manifest-DgqtruPn.d.ts} +1 -1
  229. package/dist/parse-request-D_tUXG6M.js +26 -0
  230. package/dist/paths-DXSHAMIa.js +42 -0
  231. package/dist/pdp/index.d.ts +7 -3
  232. package/dist/pdp/index.js +47 -29
  233. package/dist/{peer-BOr_kJE1.js → peer-C8swJ2GH.js} +23 -4
  234. package/dist/peer-CRvC7Hg1.js +1 -0
  235. package/dist/permdock-B9JxkBwC.js +868 -0
  236. package/dist/permdock-D7eeLJER.d.ts +502 -0
  237. package/dist/permission-registry-Br4jSNVi.js +385 -0
  238. package/dist/permissions-B-wCP5ZC.js +30 -0
  239. package/dist/{permissions-RJrovw98.js → permissions-CZKiUfFM.js} +4 -3
  240. package/dist/{permissions-CDgvKG5L.d.ts → permissions-oEWfl-kl.d.ts} +1 -2
  241. package/dist/policies-CO1oOymN.js +295 -0
  242. package/dist/{policy-D2W7uv19.d.ts → policy-Czo4n3Hs.d.ts} +2 -2
  243. package/dist/policy-DLZJ5gAp.js +399 -0
  244. package/dist/policy-from-catalog-DzhEc3Y9.js +450 -0
  245. package/dist/policy-module-CTlwMvLI.js +89 -0
  246. package/dist/{policy-IB6yxpC3.d.ts → policy-types-DzwivBgR.d.ts} +939 -1057
  247. package/dist/postgrest-CW0IqC-U.js +566 -0
  248. package/dist/postgrest-NUqZT-RB.d.ts +100 -0
  249. package/dist/powersync-BHfuehf3.js +62 -0
  250. package/dist/powersync-CbzkqL_M.js +1 -0
  251. package/dist/{powersync-Dv1_aWF7.js → powersync-bYUDLOAO.js} +30 -32
  252. package/dist/preset/index.d.ts +146 -0
  253. package/dist/preset/index.js +1 -0
  254. package/dist/preset-DZdU0tne.js +1768 -0
  255. package/dist/principal-source-pHneukrx.js +103 -0
  256. package/dist/prisma/index.d.ts +6 -3
  257. package/dist/prisma/index.js +6 -12
  258. package/dist/{problem-B43ztKIm.js → problem-CTviyH5L.js} +18 -27
  259. package/dist/{problem-details-DX075l9V.d.ts → problem-details-DXlt-vks.d.ts} +1 -1
  260. package/dist/{problem-details-_AMOYz-w.js → problem-details-cn5X30gZ.js} +45 -42
  261. package/dist/problem-types-CJ2325SZ.js +5 -0
  262. package/dist/{prompt-CXYhLfsS.js → prompt-DfZLJLIn.js} +2 -2
  263. package/dist/protected-DEPHc2xV.d.ts +38 -0
  264. package/dist/{protected-utU-SLuy.js → protected-DfjY5mLA.js} +37 -8
  265. package/dist/{provider-CSQd7m92.js → provider-CC-u3bYP.js} +23 -10
  266. package/dist/{provider-DZY281jO.d.ts → provider-DMVt6yYn.d.ts} +1 -1
  267. package/dist/{provider-store-Cfbvo4DE.js → provider-store-B5Yrkhzr.js} +6 -3
  268. package/dist/pull-BgIfno6w.js +256 -0
  269. package/dist/pull-ByOks_Tg.js +1 -0
  270. package/dist/push-CmFVBOeI.js +116 -0
  271. package/dist/pushed-policy-BImMTTIM.d.ts +57 -0
  272. package/dist/pushed-policy-DobP7AHI.js +238 -0
  273. package/dist/react/index.d.ts +8 -8
  274. package/dist/react/index.js +6 -6
  275. package/dist/react/provider-client.d.ts +1 -1
  276. package/dist/react/provider-client.js +1 -2
  277. package/dist/react-native/index.d.ts +24 -63
  278. package/dist/react-native/index.js +45 -27
  279. package/dist/{refs-KYb4ntaz.js → refs-K6eWUJ0H.js} +1 -1
  280. package/dist/relation-walk-3OyDBF0S.js +186 -0
  281. package/dist/relations-BnCWnJGI.js +163 -0
  282. package/dist/renames-CGj7YwcQ.js +175 -0
  283. package/dist/{replay-CYyiLiwO.d.ts → replay-D7iKcLFe.d.ts} +1 -1
  284. package/dist/{replay-BsOyTrdV.js → replay-Du1tJjG7.js} +2 -1
  285. package/dist/request-context-BTRTG7OT.js +71 -0
  286. package/dist/request-context-C2_1lchh.d.ts +5 -0
  287. package/dist/request-schema-CMreVuFM.js +148 -0
  288. package/dist/resend/index.d.ts +126 -0
  289. package/dist/resend/index.js +379 -0
  290. package/dist/resource-relations-D_jw0BFx.js +243 -0
  291. package/dist/retire-CALjIQ7e.js +240 -0
  292. package/dist/{revocations-Cy06JNx2.d.ts → revocations-R07lFBnX.d.ts} +2 -0
  293. package/dist/rls-BA8an5Ap.js +336 -0
  294. package/dist/{rls-DiinlRML.js → rls-j6t43t7n.js} +1066 -1068
  295. package/dist/role-builder-CXbis5-X.js +623 -0
  296. package/dist/{rpc-DL9Sqvb1.js → rpc-aPyNi6tA.js} +18 -8
  297. package/dist/run-CNsApDpd.js +1 -0
  298. package/dist/run-DOfMtc9V.js +723 -0
  299. package/dist/run-ticket-BjhTOi6u.d.ts +124 -0
  300. package/dist/run-ticket-sxFI6LAk.js +337 -0
  301. package/dist/{runtime-CB8gQFvS.js → runtime-D3VTAiCA.js} +1 -1
  302. package/dist/{saas-DhpJjnBA.js → saas-FO-Q8oj0.js} +18 -15
  303. package/dist/scan-BOI5tJ-6.js +29 -0
  304. package/dist/{schema-D3MnDMxa.js → schema-B4v0Qrac.js} +106 -10
  305. package/dist/schema-yLuBWWsh.js +130 -0
  306. package/dist/scim/index.d.ts +2 -2
  307. package/dist/scim/index.js +1 -2
  308. package/dist/{scim-BFGBBAqR.js → scim-ClHtpyV3.js} +213 -87
  309. package/dist/{scopes-CVdPrWN-.js → scopes-CUPSjo9q.js} +20 -7
  310. package/dist/server/index.d.ts +13 -134
  311. package/dist/server/index.js +13 -10
  312. package/dist/server-DqCT4CgZ.js +453 -0
  313. package/dist/{create-B1d519XK.d.ts → server-types-BLd4MnBX.d.ts} +89 -70
  314. package/dist/{sha256-BO0swRXL.js → sha256-D9ihqmvd.js} +8 -1
  315. package/dist/shared-CD11nBbC.js +304 -0
  316. package/dist/{shared-DRu8VFVM.js → shared-DvvFzYXe.js} +8 -9
  317. package/dist/signals-D3NcTKUS.js +32 -0
  318. package/dist/sink-BEZSlMS_.js +957 -0
  319. package/dist/sink-Bj_lDUDq.d.ts +225 -0
  320. package/dist/{skills-Biq5uup3.js → skills-B6lVdD_W.js} +16 -8
  321. package/dist/skills-CTYwkl44.js +51 -0
  322. package/dist/snapshot-CXUWfsNy.js +269 -0
  323. package/dist/{snapshot-cache-D6jLelln.js → snapshot-cache-DZHQ0KF6.js} +11 -5
  324. package/dist/{snapshot-cache-B-LxUahj.d.ts → snapshot-cache-DqK9eDmM.d.ts} +7 -5
  325. package/dist/solid/index.d.ts +24 -25
  326. package/dist/solid/index.js +41 -11
  327. package/dist/solid-start/index.d.ts +52 -0
  328. package/dist/solid-start/index.js +49 -0
  329. package/dist/{sources-BdOYLw9j.d.ts → sources-BV9j0DeZ.d.ts} +11 -13
  330. package/dist/{sources-4p0-4xQm.js → sources-vs5dGOsS.js} +147 -142
  331. package/dist/sql-B5T1IL83.js +55 -0
  332. package/dist/src-DLfUWFAI.js +1851 -0
  333. package/dist/ssf/index.d.ts +4 -4
  334. package/dist/ssf/index.js +440 -106
  335. package/dist/standard-webhooks-6lg8v_is.d.ts +88 -0
  336. package/dist/standard-webhooks-DgFFD-Ga.js +228 -0
  337. package/dist/storage-C2bWdvJH.js +132 -0
  338. package/dist/{store-DMAWwAJV.js → store-4u_hxjWa.js} +42 -55
  339. package/dist/{store-options-ByhZq1jV.js → store-options-BqEakYRa.js} +38 -24
  340. package/dist/{stores-BT2pSCub.js → stores-BbsD4fAR.js} +7 -3
  341. package/dist/stores-ClZUgeoP.d.ts +30 -0
  342. package/dist/{stream-D1RXubw2.d.ts → stream-7-xmnf3U.d.ts} +2 -2
  343. package/dist/{stream-DDpvynSB.js → stream-CvdUS9V1.js} +10 -2
  344. package/dist/style-DiKWnAvn.js +1 -0
  345. package/dist/{style-CTm1AXDT.js → style-Uao76wO7.js} +3 -2
  346. package/dist/subject-BGoM5o8B.js +17 -0
  347. package/dist/{subject-settings-BwBmCdTR.js → subject-settings-CkEwrw3W.js} +23 -5
  348. package/dist/supabase/index.d.ts +23 -106
  349. package/dist/supabase/index.js +5 -4
  350. package/dist/supabase/middleware.d.ts +13 -6
  351. package/dist/supabase/middleware.js +16 -11
  352. package/dist/supabase-9pqI57pW.js +92 -0
  353. package/dist/{supabase-C0qESOa-.js → supabase-Dxlp8A94.js} +124 -247
  354. package/dist/supabase-hook-CXcGpHqq.js +1 -0
  355. package/dist/{supabase-hook-ntETYCQu.js → supabase-hook-DdDQhMlw.js} +1659 -819
  356. package/dist/{supautils-u8jXTGrt.js → supautils-B6HYL9eL.js} +2 -2
  357. package/dist/support-session-C6xJQYut.js +158 -0
  358. package/dist/svelte/Protected.svelte +11 -4
  359. package/dist/svelte/index.d.ts +7 -7
  360. package/dist/svelte/index.js +26 -12
  361. package/dist/svelte/runtime.d.ts +10 -3
  362. package/dist/svelte/runtime.js +4 -3
  363. package/dist/svelte/source.d.ts +7 -7
  364. package/dist/svelte/source.js +5 -5
  365. package/dist/sveltekit/index.d.ts +51 -0
  366. package/dist/sveltekit/index.js +27 -0
  367. package/dist/tanstack-start/index.d.ts +51 -0
  368. package/dist/tanstack-start/index.js +40 -0
  369. package/dist/target-Bw37TFNA.js +51 -0
  370. package/dist/{validity-uOp8UpYn.js → tenancy-DN2QAx9z.js} +6 -42
  371. package/dist/terminal/index.d.ts +11 -9
  372. package/dist/terminal/index.js +36 -316
  373. package/dist/testing/index.d.ts +391 -106
  374. package/dist/testing/index.js +4574 -1286
  375. package/dist/testing/saas/index.d.ts +9 -8
  376. package/dist/testing/saas/index.js +2 -2
  377. package/dist/testing/saas/permissions.d.ts +1 -1
  378. package/dist/testing/saas/permissions.js +1 -2
  379. package/dist/text-BMFRfBqc.js +8 -0
  380. package/dist/{text-diff-BdkkYSbi.js → text-diff-BQcUapOb.js} +1 -1
  381. package/dist/thenable-yD7SabqG.js +31 -0
  382. package/dist/time-DkWjdL98.js +71 -0
  383. package/dist/{token-CIWxJOCh.js → token-BLZcjQgt.js} +15 -6
  384. package/dist/tool-refusal-CMLN5xhn.js +41 -0
  385. package/dist/trpc/index.d.ts +12 -9
  386. package/dist/trpc/index.js +18 -17
  387. package/dist/{types-DbjRN55U.d.ts → types-5Ut_pbKy.d.ts} +141 -13
  388. package/dist/types-BNORmDM8.d.ts +172 -0
  389. package/dist/types-BjV-fqcA.d.ts +57 -0
  390. package/dist/{types-QCuYJh4q.d.ts → types-BqAKcRNW.d.ts} +2 -1
  391. package/dist/types-C8-KNsFf.d.ts +107 -0
  392. package/dist/{types-aqOHTHcp.d.ts → types-CCpc2Dcv.d.ts} +77 -17
  393. package/dist/{types-Dnemwd77.d.ts → types-CZTnPFzM.d.ts} +50 -11
  394. package/dist/{types-C97IskBw.d.ts → types-CdlxsYQh.d.ts} +23 -11
  395. package/dist/{types-DxiCGmmd.d.ts → types-ClZaWzfb.d.ts} +9 -6
  396. package/dist/types-DX0LaKTb.d.ts +157 -0
  397. package/dist/types-DiQjupG2.d.ts +332 -0
  398. package/dist/types-DqzsnlSA.js +67 -0
  399. package/dist/types-_sHy8BQf.d.ts +65 -0
  400. package/dist/types-fbZ7JEXr.d.ts +89 -0
  401. package/dist/types-tIgIeIKJ.d.ts +66 -0
  402. package/dist/unplugin/index.d.ts +1 -1
  403. package/dist/unplugin/index.js +2 -2
  404. package/dist/usage-CHOtwL19.js +1 -0
  405. package/dist/usage-DHtE8j4E.js +32 -0
  406. package/dist/{usage-ItS7nLcl.js → usage-T5mXq98v.js} +56 -13
  407. package/dist/{validation-error-Ba264OaJ.d.ts → validation-error-Bg5Tpluk.d.ts} +1 -1
  408. package/dist/{validation-error-CnjZ4t92.js → validation-error-ZfUHbKvf.js} +1 -1
  409. package/dist/validity-CZ7-y0Cj.js +79 -0
  410. package/dist/{verifier-BxBo6I44.js → verifier-DHuh-okk.js} +68 -21
  411. package/dist/verify-DbCL9bnB.js +1770 -0
  412. package/dist/{version-BvacVTZR.js → version-CEbQ5UeM.js} +4 -3
  413. package/dist/version-DXkYUISx.js +1 -0
  414. package/dist/{views-Soe7bGSC.js → views-DTIIO-oQ.js} +41 -2
  415. package/dist/{permissions-DttnqqxC.d.ts → vocabulary-D6lPdb4Z.d.ts} +120 -29
  416. package/dist/vue/index.d.ts +25 -21
  417. package/dist/vue/index.js +25 -9
  418. package/dist/waiter-BGUtGYoU.js +67 -0
  419. package/dist/waiter-CKy4MQSY.d.ts +36 -0
  420. package/dist/watch-Cb-NcaUw.js +1 -0
  421. package/dist/{watch-DVBJ9cBq.js → watch-CszoTJMq.js} +47 -8
  422. package/dist/webmcp/index.d.ts +2 -2
  423. package/dist/webmcp/index.js +13 -37
  424. package/dist/where-scope-Dv-WTP-w.js +306 -0
  425. package/dist/who-can-D0QoYbEb.js +364 -0
  426. package/dist/wire-delegation-Cv3W2eaM.js +36 -0
  427. package/dist/wire-denial-C7PaVYEM.js +27 -0
  428. package/dist/workflow/index.d.ts +5 -0
  429. package/dist/workflow/index.js +223 -0
  430. package/dist/workflow-sdk/index.d.ts +56 -0
  431. package/dist/workflow-sdk/index.js +78 -0
  432. package/dist/wrap-Bd1Tejur.d.ts +15 -0
  433. package/dist/wrap-gX61EtpB.js +27 -0
  434. package/package.json +140 -41
  435. package/schemas/access-event-v1.json +118 -0
  436. package/schemas/approval-request-v1.json +34 -1
  437. package/schemas/approval-signature-v1.json +94 -0
  438. package/schemas/automation-event-v1.json +113 -0
  439. package/schemas/capability-v1.json +84 -0
  440. package/schemas/catalog-event-v1.json +87 -0
  441. package/schemas/catalog-v1.json +129 -12
  442. package/schemas/cli-commands-v1.json +164 -0
  443. package/schemas/cli-result-v1.json +96 -0
  444. package/schemas/cloud-api-v1.json +5407 -0
  445. package/schemas/connector-v1.json +408 -0
  446. package/schemas/credential-event-v1.json +81 -0
  447. package/schemas/credential-v1.json +134 -0
  448. package/schemas/decision-event-v1.json +288 -0
  449. package/schemas/delivery-event-v1.json +117 -0
  450. package/schemas/directory-event-v1.json +85 -0
  451. package/schemas/evidence-export-v1.json +54 -0
  452. package/schemas/membership-event-v1.json +93 -0
  453. package/schemas/policy-v1.json +68 -0
  454. package/schemas/pushed-policy-v1.json +236 -0
  455. package/schemas/run-v1.json +162 -0
  456. package/schemas/snapshot-v1.json +138 -0
  457. package/schemas/supabase-claims-v1.json +4 -4
  458. package/schemas/supabase-manifest-v1.json +5 -1
  459. package/schemas/support-session-v1.json +111 -0
  460. package/skills/permdock/SKILL.md +16 -12
  461. package/skills/permdock-agents/SKILL.md +40 -23
  462. package/skills/permdock-agents/references/operations-automations-chat.md +221 -0
  463. package/skills/permdock-agents/references/runtimes.md +22 -18
  464. package/skills/permdock-approvals/SKILL.md +29 -13
  465. package/skills/permdock-approvals/references/delivery-and-waiters.md +172 -0
  466. package/skills/permdock-approvals/references/stores-and-resume.md +21 -7
  467. package/skills/permdock-audit/SKILL.md +3 -3
  468. package/skills/permdock-credentials/SKILL.md +5 -5
  469. package/skills/permdock-credentials/references/tokens-keys-links.md +19 -10
  470. package/skills/permdock-data/SKILL.md +6 -6
  471. package/skills/permdock-data/references/queries-and-rls.md +13 -8
  472. package/skills/permdock-data/references/relationships.md +3 -3
  473. package/skills/permdock-tenancy/SKILL.md +20 -7
  474. package/skills/permdock-tenancy/references/contacts-and-support-sessions.md +122 -0
  475. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +6 -4
  476. package/skills/permdock-wire/SKILL.md +18 -12
  477. package/skills/permdock-wire/references/adapters.md +146 -50
  478. package/skills/permdock-wire/references/policy-options.md +15 -6
  479. package/skills/permdock-wire/references/presets-and-recipes.md +58 -0
  480. package/dist/approvals-DbYAuNkG.js +0 -224
  481. package/dist/arazzo-C9chp3ST.js +0 -54
  482. package/dist/bind-C_ob3LKa.d.ts +0 -25
  483. package/dist/catalog-CRW5Mx_B.js +0 -2
  484. package/dist/catalog-CYj-mX2O.js +0 -48
  485. package/dist/catalog-DWF5cYqB.js +0 -55
  486. package/dist/cloud-CfwZ39Rl.js +0 -50
  487. package/dist/cloud-DWLXO2af.js +0 -118
  488. package/dist/collect-CHB22Sx4.js +0 -83
  489. package/dist/collect-DSWOk19R.js +0 -2
  490. package/dist/commands-BeaGNj_o.js +0 -97
  491. package/dist/config-ir40y8m0.js +0 -36
  492. package/dist/create-CMwIl-w2.js +0 -253
  493. package/dist/delegation-D8pUEuce.js +0 -103
  494. package/dist/diff-C9RDjjhs.js +0 -48
  495. package/dist/doctor-Djh6JDEk.js +0 -53
  496. package/dist/doctor-DvH0IQff.js +0 -1194
  497. package/dist/doctor-collect-CjdO0wQX.js +0 -665
  498. package/dist/duration-xK2jGFVc.js +0 -25
  499. package/dist/errors-CWfoNg9N.js +0 -47
  500. package/dist/errors-DRnGZHzF.js +0 -30
  501. package/dist/evaluation-items-CfCCejQd.js +0 -40
  502. package/dist/expiry-BoBJ8Tvc.js +0 -7
  503. package/dist/fields-BMl1RxoX.js +0 -26
  504. package/dist/grantee-Cv5Sogfv.js +0 -602
  505. package/dist/headers-BZSDieNT.js +0 -6
  506. package/dist/headers-Cf-zWvsO.d.ts +0 -6
  507. package/dist/ids-DC4V4CFu.js +0 -18
  508. package/dist/index-0nNqHspG.d.ts +0 -6
  509. package/dist/index-BNc7Wer_.d.ts +0 -483
  510. package/dist/index-C7Tw7MaW.d.ts +0 -201
  511. package/dist/instance-options-Dhhcnm3y.js +0 -22
  512. package/dist/load-DwJUafYN.js +0 -2
  513. package/dist/manifest-iaoBXHKc.js +0 -783
  514. package/dist/map-AcxK9o_D.js +0 -147
  515. package/dist/may-use-DndQ5tQ-.js +0 -77
  516. package/dist/openapi-CQTsgKoB.js +0 -164
  517. package/dist/permdock-CbgvLnuo.js +0 -3479
  518. package/dist/permissions-DVoF6dMt.js +0 -662
  519. package/dist/policy-xyWg7QdR.js +0 -1122
  520. package/dist/powersync-CrBX8hY6.js +0 -2
  521. package/dist/powersync-DE19b9dT.js +0 -62
  522. package/dist/protected-BdnIEFkY.d.ts +0 -27
  523. package/dist/protected-xAr24FEC.d.ts +0 -40
  524. package/dist/relations-cjOL01hZ.js +0 -505
  525. package/dist/rls-P-BeBx0n.js +0 -238
  526. package/dist/rls-graph-CHwx0V8q.js +0 -435
  527. package/dist/rls-ownership-DcYlZ09B.js +0 -843
  528. package/dist/rls-shared-Cewd_-zI.js +0 -495
  529. package/dist/rls-verify-CMv9H3wV.js +0 -746
  530. package/dist/run-BWc9qqvE.js +0 -174
  531. package/dist/server-DlZ28Oz5.js +0 -268
  532. package/dist/sink-B1fZzIMf.d.ts +0 -104
  533. package/dist/sink-Bd9PSyfq.js +0 -141
  534. package/dist/skills-C5CbhhpG.js +0 -56
  535. package/dist/snapshot-Enxd0n-s.js +0 -975
  536. package/dist/sql-xdg5f4Fi.js +0 -27
  537. package/dist/src-BDwEZWrZ.js +0 -568
  538. package/dist/store-jOBYpiXC.d.ts +0 -36
  539. package/dist/stores-C0IMQrGI.d.ts +0 -52
  540. package/dist/subject-C6dLxqHU.js +0 -24
  541. package/dist/supabase-config-Bj3iDH2I.js +0 -472
  542. package/dist/supabase-hook-gd3s8bxB.js +0 -2
  543. package/dist/supabase-s4o9s1O1.js +0 -83
  544. package/dist/thenable-okc2xDsj.js +0 -10
  545. package/dist/types-BnIEz1sU.d.ts +0 -48
  546. package/dist/types-Bvc4oWT6.d.ts +0 -9
  547. package/dist/types-CKNSyIf_.d.ts +0 -52
  548. package/dist/types-Cq_H8N_X.d.ts +0 -197
  549. package/dist/usage-B0YuTQRO.js +0 -42
  550. package/dist/usage-DorAJiU_.js +0 -2
  551. package/dist/vocabulary-DA8a8zif.d.ts +0 -56
  552. package/dist/watch-BwxLTYMZ.js +0 -2
@@ -0,0 +1,20 @@
1
+ //#region src/cli/shared/constants.ts
2
+ const DEFAULT_SENSITIVE_ACTIONS = [
3
+ "approve",
4
+ "pay",
5
+ "settle",
6
+ "submit",
7
+ "transfer",
8
+ "refund",
9
+ "disburse"
10
+ ];
11
+ const MIGRATION_DIRS = [
12
+ "supabase/migrations",
13
+ "supabase/schemas",
14
+ "migrations",
15
+ "drizzle",
16
+ "prisma/migrations",
17
+ "db/migrations"
18
+ ];
19
+ //#endregion
20
+ export { MIGRATION_DIRS as n, DEFAULT_SENSITIVE_ACTIONS as t };
@@ -1,10 +1,11 @@
1
- import { t as compact } from "./compact-y6vfu2_f.js";
2
- import { i as isPromiseLike } from "./store-options-ByhZq1jV.js";
3
- import { n as switchTenant, t as providerStore } from "./provider-store-Cfbvo4DE.js";
1
+ import { t as compact } from "./compact-CAf557ZB.js";
2
+ import { i as isPromiseLike } from "./store-options-BqEakYRa.js";
3
+ import { n as switchTenant, t as providerStore } from "./provider-store-B5Yrkhzr.js";
4
4
  import { getContext, onDestroy, setContext } from "svelte";
5
5
  import { toStore } from "svelte/store";
6
6
  //#region src/svelte/context.ts
7
7
  const permDockKey = Symbol("permdock");
8
+ const permDockUiKey = Symbol("permdock-ui");
8
9
  function isReadable(value) {
9
10
  return typeof value === "object" && value !== null && "subscribe" in value && typeof value.subscribe === "function";
10
11
  }
@@ -32,7 +33,10 @@ function connectSvelteStore(options) {
32
33
  snapshotUrl: options.snapshotUrl,
33
34
  approvals: options.approvals,
34
35
  tenant: typeof tenant === "function" ? tenant() : tenant,
35
- maxAge: options.maxAge
36
+ maxAge: options.maxAge,
37
+ onSnapshot: options.onSnapshot,
38
+ onClear: options.onClear,
39
+ approvalInterval: options.approvalInterval
36
40
  }), () => ({
37
41
  headers: typeof headers === "function" ? headers() : headers,
38
42
  fetch: options.fetch,
@@ -71,12 +75,19 @@ function providePermDock(options) {
71
75
  store.dispose();
72
76
  });
73
77
  setContext(permDockKey, store);
78
+ setContext(permDockUiKey, {
79
+ defaults: options.defaults,
80
+ messages: options.messages
81
+ });
74
82
  return store;
75
83
  }
84
+ function getUi() {
85
+ return getContext(permDockUiKey) ?? {};
86
+ }
76
87
  function getStore() {
77
88
  const store = getContext(permDockKey);
78
89
  if (store === void 0) throw new Error("PermDock: stores require setPermDock.");
79
90
  return store;
80
91
  }
81
92
  //#endregion
82
- export { providePermDock as n, getStore as t };
93
+ export { getUi as n, providePermDock as r, getStore as t };
@@ -1,21 +1,22 @@
1
- import { C as Policy, D as PolicyVocabulary, Nr as Principal, ln as PermDock } from "../policy-IB6yxpC3.js";
2
- import { f as Permission } from "../permissions-DttnqqxC.js";
3
- import { a as ProblemDetails, r as PermDockDeniedError } from "../errors-DPdqI50v.js";
4
- import { t as InstanceOptions } from "../instance-options-jARdwfPN.js";
1
+ import { T as Policy, j as PolicyVocabulary, rr as Principal } from "../policy-types-DzwivBgR.js";
2
+ import { w as Permission } from "../vocabulary-D6lPdb4Z.js";
3
+ import { r as PermDock } from "../permdock-D7eeLJER.js";
4
+ import { a as ProblemDetails, r as PermDockDeniedError } from "../errors-C2PXIv4c.js";
5
+ import { t as InstanceOptions } from "../instance-options-Omfd793B.js";
5
6
  //#region src/convex/types.d.ts
6
- type ConvexCtxLike = {
7
+ type ConvexContextLike = {
7
8
  readonly auth?: {
8
9
  readonly getUserIdentity?: () => Promise<unknown>;
9
10
  };
10
11
  readonly db?: unknown;
11
12
  };
12
- type ConvexPermDockCtx<TCtx, V extends PolicyVocabulary = PolicyVocabulary> = TCtx & {
13
+ type ConvexPermDockContext<TCtx, V extends PolicyVocabulary = PolicyVocabulary> = TCtx & {
13
14
  readonly permdock: PermDock<V>;
14
15
  };
15
16
  type ConvexSubject<TCtx, TUser = unknown> = (ctx: TCtx) => TUser | Promise<TUser>;
16
17
  type ConvexQueryBuilder = (definition: {
17
18
  readonly args: Record<string, never>;
18
- readonly handler: (ctx: ConvexCtxLike, args: Record<string, never>) => unknown;
19
+ readonly handler: (ctx: ConvexContextLike, args: Record<string, never>) => unknown;
19
20
  }) => unknown;
20
21
  type ConvexPermDockOptions<TCtx, TUser = unknown> = InstanceOptions & {
21
22
  readonly subject: ConvexSubject<TCtx, TUser>;
@@ -25,7 +26,7 @@ type ConvexPermDockOptions<TCtx, TUser = unknown> = InstanceOptions & {
25
26
  readonly actor?: (ctx: TCtx) => unknown;
26
27
  readonly query?: ConvexQueryBuilder;
27
28
  };
28
- type ConvexHandler<TCtx, TArgs, TResult, V extends PolicyVocabulary = PolicyVocabulary> = (ctx: ConvexPermDockCtx<TCtx, V>, args: TArgs) => TResult | Promise<TResult>;
29
+ type ConvexHandler<TCtx, TArgs, TResult, V extends PolicyVocabulary = PolicyVocabulary> = (ctx: ConvexPermDockContext<TCtx, V>, args: TArgs) => TResult | Promise<TResult>;
29
30
  type ConvexErrorData = ProblemDetails;
30
31
  type ConvexPermDock<TCtx, V extends PolicyVocabulary = PolicyVocabulary> = {
31
32
  readonly withPermDock: <TArgs, TResult>(handler: ConvexHandler<TCtx, TArgs, TResult, V>) => (ctx: TCtx, args: TArgs) => Promise<TResult>;
@@ -40,6 +41,6 @@ export declare class ConvexError extends Error {
40
41
  readonly data: ReturnType<PermDockDeniedError["toProblemDetails"]>;
41
42
  constructor(data: ReturnType<PermDockDeniedError["toProblemDetails"]>);
42
43
  }
43
- export declare function createPermDock<TCtx, TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, options: ConvexPermDockOptions<TCtx, TUser>): ConvexPermDock<TCtx, V>;
44
+ export declare function createPermDock<TCtx, TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, given: ConvexPermDockOptions<TCtx, TUser>): ConvexPermDock<TCtx, V>;
44
45
  //#endregion
45
- export type { ConvexCtxLike, ConvexErrorData, ConvexHandler, ConvexPermDock, ConvexPermDockCtx, ConvexPermDockOptions, ConvexQueryBuilder, ConvexSubject };
46
+ export type { ConvexContextLike, ConvexErrorData, ConvexHandler, ConvexPermDock, ConvexPermDockContext, ConvexPermDockOptions, ConvexQueryBuilder, ConvexSubject };
@@ -1,9 +1,9 @@
1
- import { t as compact } from "../compact-y6vfu2_f.js";
2
- import { n as PermDockValidationError } from "../validation-error-CnjZ4t92.js";
3
- import { n as PermDockDeniedError, t as PermDockApprovalRequiredError } from "../errors-Cz5zn0mW.js";
4
- import { t as createPermDock$1 } from "../permdock-CbgvLnuo.js";
5
- import { t as instanceOptions } from "../instance-options-Dhhcnm3y.js";
6
- import { n as tenantScope, t as actorFrom } from "../adapter-context-mlWsVGGg.js";
1
+ import { t as compact } from "../compact-CAf557ZB.js";
2
+ import { n as PermDockValidationError } from "../validation-error-ZfUHbKvf.js";
3
+ import { n as PermDockDeniedError, t as PermDockApprovalRequiredError } from "../errors-BKy0EfhN.js";
4
+ import { c as withApp } from "../permdock-B9JxkBwC.js";
5
+ import { n as resolveOrNull, t as buildInstance } from "../build-instance-BMnAudHn.js";
6
+ import { n as tenantScope, t as actorFrom } from "../adapter-context-CRhqyzCk.js";
7
7
  //#region src/convex/create.ts
8
8
  /** Convex's runtime sends `data` to the client only for an error carrying this symbol. */
9
9
  const CONVEX_ERROR = Symbol.for("ConvexError");
@@ -20,20 +20,20 @@ function toConvexError(error) {
20
20
  if (error instanceof PermDockDeniedError || error instanceof PermDockApprovalRequiredError || error instanceof PermDockValidationError) return new ConvexError(error.toProblemDetails());
21
21
  return error;
22
22
  }
23
- function createPermDock(policy, options) {
23
+ function createPermDock(policy, given) {
24
+ const options = withApp(policy, given);
24
25
  const withPermDock = (handler) => {
25
26
  return async (ctx, args) => {
26
- let user = null;
27
- try {
28
- user = await options.subject(ctx);
29
- } catch {
30
- user = null;
31
- }
32
- const permdock = await createPermDock$1(policy, user, compact({
33
- tenant: (await tenantScope(options.tenant, ctx)).tenant,
34
- ...instanceOptions(options),
35
- actor: await actorFrom(options.actor, ctx)
36
- }));
27
+ const user = await resolveOrNull(() => options.subject(ctx));
28
+ const { permdock } = await buildInstance({
29
+ policy,
30
+ user,
31
+ sources: options,
32
+ scope: {
33
+ tenant: (await tenantScope(options.tenant, ctx)).tenant,
34
+ actor: await actorFrom(options.actor, ctx)
35
+ }
36
+ });
37
37
  const next = {
38
38
  ...ctx,
39
39
  permdock
@@ -0,0 +1,107 @@
1
+ import { Ln as DeniedDecision, Mn as ApprovalRequiredDecision, T as Policy, ir as Subject, j as PolicyVocabulary, rr as Principal, zn as GrantedDecision } from "./policy-types-DzwivBgR.js";
2
+ import { t as Operation } from "./operations-CxybZErY.js";
3
+ import { i as PermDockOptions, p as PrincipalSource, r as PermDock } from "./permdock-D7eeLJER.js";
4
+ import { m as ApprovalStore, p as ApprovalStatus } from "./types-CCpc2Dcv.js";
5
+ import { n as ApprovalErrorCode } from "./errors-BWXBMaKK.js";
6
+ import { t as ApprovalPrompt } from "./approval-prompt-Djo_PyZc.js";
7
+ //#region src/chat/subject.d.ts
8
+ /**
9
+ * The platform user behind a chat message or action. Fill it only from an
10
+ * event whose platform signature the transport verified; a body field or a
11
+ * model argument is never an author.
12
+ */
13
+ type ChatAuthor = {
14
+ /** The chat platform (`slack`, `teams`, `discord`, …). */
15
+ readonly provider: string;
16
+ /** The platform's user id, never a display name. */
17
+ readonly userId: string;
18
+ /** The workspace, team or tenant id on the platform. */
19
+ readonly workspace?: string;
20
+ };
21
+ /** The principal a chat author's identity link names, as the `PrincipalSource` returns it. */
22
+ type ChatPrincipal = Principal;
23
+ type SubjectFromChatOptions = {
24
+ /** Resolves the author through `principalByIdentity({ kind: 'chat', … })`. */
25
+ readonly principals: PrincipalSource;
26
+ };
27
+ declare function isChatAuthor(value: unknown): value is ChatAuthor;
28
+ /**
29
+ * The subject a chat author acts as: the principal its identity link
30
+ * names, or anonymous when there is no link. Never throws.
31
+ */
32
+ declare function subjectFromChat(author: ChatAuthor | null | undefined, options: SubjectFromChatOptions): Promise<Subject>;
33
+ //#endregion
34
+ //#region src/chat/create.d.ts
35
+ type ChatPermDockOptions = PermDockOptions & {
36
+ /** Resolves chat authors through `principalByIdentity`; also the instance's principal source. */
37
+ readonly principals: PrincipalSource;
38
+ /** Where approval requests open and resolve. Without it an approval-required command only reports the decision. */
39
+ readonly store?: ApprovalStore;
40
+ };
41
+ /** What a protected command's handler receives once the author is granted. */
42
+ type ChatCommandContext<TInput, V extends PolicyVocabulary> = {
43
+ readonly author: ChatAuthor;
44
+ readonly input: TInput;
45
+ /** The row the operation's `data` loaded, `undefined` without `data`. */
46
+ readonly row: unknown;
47
+ readonly permdock: PermDock<V>;
48
+ readonly decision: GrantedDecision;
49
+ };
50
+ type ChatCommandResult<T> = {
51
+ readonly outcome: "granted";
52
+ readonly value: T;
53
+ } | {
54
+ readonly outcome: "denied";
55
+ readonly decision: DeniedDecision;
56
+ } | {
57
+ readonly outcome: "approval-required";
58
+ readonly decision: ApprovalRequiredDecision;
59
+ /** The open request to deliver to approvers; `null` without an approval store. */
60
+ readonly prompt: ApprovalPrompt | null;
61
+ };
62
+ /** A command guarded by `protect`. Never throws for a refusal; the handler's own errors propagate. */
63
+ type ChatCommand<TInput, T> = (author: ChatAuthor | null | undefined, input: TInput) => Promise<ChatCommandResult<T>>;
64
+ /** A verdict from a chat button or reaction, by approval request `id`; the token never leaves the server. */
65
+ type ChatAction = {
66
+ readonly approval: string;
67
+ readonly status: "approved" | "rejected";
68
+ readonly note?: string;
69
+ };
70
+ type ChatActionResult = {
71
+ readonly ok: true;
72
+ readonly id: string;
73
+ readonly status: ApprovalStatus;
74
+ } | {
75
+ readonly ok: false;
76
+ readonly cause: ApprovalErrorCode | "invalid-action";
77
+ };
78
+ /**
79
+ * The runtime-neutral chat contract: commands decided as the linked
80
+ * principal of a verified chat author, and approval verdicts from chat
81
+ * actions. `permdock/chat-sdk` implements it for Chat SDK bots.
82
+ */
83
+ type ChatPermDock<V extends PolicyVocabulary = PolicyVocabulary> = {
84
+ /** The instance for `author`; anonymous, and so denying, when the author is unlinked. */
85
+ readonly getPermDock: (author: ChatAuthor | null | undefined) => Promise<PermDock<V>>;
86
+ /**
87
+ * Guards `handler` with `operation`: loads the row through the
88
+ * operation's `data`, decides as the author, and on `approval-required`
89
+ * opens one request per author, permission and row. The handler runs only
90
+ * when granted; an approved request runs it once.
91
+ */
92
+ readonly protect: <TInput, T>(operation: Operation<TInput>, handler: (context: ChatCommandContext<TInput, V>) => T | Promise<T>) => ChatCommand<TInput, T>;
93
+ /**
94
+ * Resolves approval request `action.approval` as `author`. The author must
95
+ * be linked and an eligible, distinct approver; the request's requester
96
+ * never approves their own request.
97
+ */
98
+ readonly resolveAction: (author: ChatAuthor | null | undefined, action: ChatAction) => Promise<ChatActionResult>;
99
+ };
100
+ /**
101
+ * Creates the chat PermDock. Every command and action is decided as the
102
+ * principal the author's chat identity links to, loaded live; an unlinked
103
+ * author is anonymous and denied.
104
+ */
105
+ declare function createPermDock<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, given: ChatPermDockOptions): ChatPermDock<V>;
106
+ //#endregion
107
+ export { ChatCommandResult as a, createPermDock as c, SubjectFromChatOptions as d, isChatAuthor as f, ChatCommandContext as i, ChatAuthor as l, ChatActionResult as n, ChatPermDock as o, subjectFromChat as p, ChatCommand as r, ChatPermDockOptions as s, ChatAction as t, ChatPrincipal as u };
@@ -0,0 +1,138 @@
1
+ import { $n as Delegation, Nn as Decision, T as Policy, ir as Subject, j as PolicyVocabulary, rr as Principal } from "./policy-types-DzwivBgR.js";
2
+ import { w as Permission } from "./vocabulary-D6lPdb4Z.js";
3
+ import { t as Operation } from "./operations-CxybZErY.js";
4
+ import { r as PermDock } from "./permdock-D7eeLJER.js";
5
+ import { m as ApprovalStore } from "./types-CCpc2Dcv.js";
6
+ import { t as InstanceOptions } from "./instance-options-Omfd793B.js";
7
+ import { t as RequestContext } from "./request-context-C2_1lchh.js";
8
+ import { n as PermDockWrap } from "./wrap-Bd1Tejur.js";
9
+ import { o as OtelWrap } from "./types-BqAKcRNW.js";
10
+ import { t as DeniedText } from "./denied-text-D8jDHgsl.js";
11
+ //#region src/agent/types.d.ts
12
+ /** The part of an operation a tool decision reads; an `OperationMap` entry is one. */
13
+ type ToolBinding = Pick<Operation, "permission" | "data" | "results"> & Partial<Pick<Operation, "name" | "meta">>;
14
+ type ToolMap = Readonly<Record<string, ToolBinding>>;
15
+ /**
16
+ * The models an agent may call, by model id (`'openai/gpt-5'`), each bound to
17
+ * the permission that grants it. An instance permission is decided on the
18
+ * row `{ id }`.
19
+ */
20
+ type ModelMap = Readonly<Record<string, Permission>>;
21
+ /** The options `permdock/ai-sdk`, `permdock/openai`, `permdock/claude-agent` and `permdock/eve` share. */
22
+ type AgentAdapterOptions<TContext, TUser = unknown> = InstanceOptions & {
23
+ /** The user, or a full `Subject` (core then skips `policy.subject`). */
24
+ readonly subject: (context: TContext) => TUser | Subject | Promise<TUser | Subject>;
25
+ readonly actor?: (context: TContext) => unknown;
26
+ readonly delegation?: (context: TContext) => Delegation | undefined | Promise<Delegation | undefined>;
27
+ readonly tenant?: string | ((context: TContext) => string | undefined | Promise<string | undefined>);
28
+ /** The tools the agent may call, by tool name: the map `defineOperations` returns. */
29
+ readonly operations: ToolMap;
30
+ /**
31
+ * The model gate. Absent: the adapter never checks a model. Present: a
32
+ * model id it does not name is denied.
33
+ */
34
+ readonly models?: ModelMap;
35
+ readonly store?: ApprovalStore;
36
+ /**
37
+ * Tools `operations` does not name. `'deny'` (default) denies them.
38
+ * `'allow'` leaves them to the runtime's own approval.
39
+ */
40
+ readonly unmapped?: "deny" | "allow";
41
+ /**
42
+ * Request values merged into `subject.context`, under `policy.context`.
43
+ * Only values the server derived belong here, never model output.
44
+ */
45
+ readonly context?: (context: TContext) => RequestContext | undefined | Promise<RequestContext | undefined>;
46
+ /** `(permdock) => withOtel(permdock, options)` from `permdock/otel`. */
47
+ readonly otel?: OtelWrap;
48
+ /** Wraps each instance after `otel`; build it with `wrapPermDock` to cover derived instances. */
49
+ readonly wrap?: PermDockWrap;
50
+ /** Replaces the denial reason or approval summary text; nothing else. */
51
+ readonly deniedText?: DeniedText;
52
+ };
53
+ type ToolVerdict = {
54
+ readonly outcome: "granted";
55
+ readonly decision: Extract<Decision, {
56
+ readonly outcome: "granted";
57
+ }>;
58
+ readonly permission: Permission;
59
+ readonly data: unknown;
60
+ } | {
61
+ readonly outcome: "denied";
62
+ readonly decision: Extract<Decision, {
63
+ readonly outcome: "denied";
64
+ }> | null;
65
+ readonly permission: Permission | undefined;
66
+ readonly reason: string;
67
+ } | {
68
+ readonly outcome: "approval-required";
69
+ readonly decision: Extract<Decision, {
70
+ readonly outcome: "approval-required";
71
+ }>;
72
+ readonly permission: Permission;
73
+ readonly data: unknown;
74
+ readonly token: string;
75
+ readonly summary: string;
76
+ };
77
+ type DecideToolOptions = {
78
+ readonly resumeToken?: string;
79
+ /**
80
+ * Treat an existing pending record as a re-check of a call that already
81
+ * asked: deny with `approval-pending` instead of asking again. For runtimes
82
+ * that re-run the approval hook after a human answers and run the tool on
83
+ * anything but a denial.
84
+ */
85
+ readonly denyPending?: boolean;
86
+ };
87
+ //#endregion
88
+ //#region src/agent/create.d.ts
89
+ type AgentPermDockOptions<TContext, TUser = unknown> = AgentAdapterOptions<TContext, TUser>;
90
+ /** What one operation call decides: granted with the loaded row, denied with the text a model reads, or parked for approval. */
91
+ type OperationVerdict = ToolVerdict;
92
+ /** `providerOptions` for the Vercel AI Gateway: spend and usage attributed to the caller. */
93
+ type GatewayOptions = {
94
+ readonly gateway: {
95
+ readonly user?: string;
96
+ readonly tags?: readonly string[];
97
+ };
98
+ };
99
+ /**
100
+ * The runtime-neutral agent contract: operations decided by name, the model
101
+ * gate and the results filter. `permdock/ai-sdk`, `permdock/openai`,
102
+ * `permdock/claude-agent` and `permdock/eve` each return one, plus the hooks
103
+ * their runtime calls.
104
+ */
105
+ type AgentPermDock<TContext, V extends PolicyVocabulary = PolicyVocabulary> = {
106
+ /** One instance per context object while a call is in flight; later calls re-read the subject. */
107
+ readonly getPermDock: (context: TContext) => Promise<PermDock<V>>;
108
+ /**
109
+ * Decides operation `name` on `input`: loads the row through the
110
+ * operation's `data`, validates it, decides and resumes an approval. Never
111
+ * throws; an operation `operations` does not name is denied.
112
+ */
113
+ readonly decideOperation: (name: string, input: unknown, context: TContext, options?: DecideToolOptions) => Promise<OperationVerdict>;
114
+ /** Operation names the subject could be granted for some row; a listing hint, never a decision. */
115
+ readonly allowedOperations: (context: TContext) => Promise<ReadonlySet<string>>;
116
+ /** The approval token a call would park under, without touching the store. */
117
+ readonly tokenFor: (name: string, input: unknown, context: TContext) => Promise<string | undefined>;
118
+ /** Decides whether the subject may call model `modelId`. A model `models` does not name is denied. */
119
+ readonly decideModel: (modelId: string, context: TContext) => Promise<Decision>;
120
+ /** The ids in `models` the subject is granted, in declaration order. */
121
+ readonly permittedModels: (context: TContext) => Promise<readonly string[]>;
122
+ /**
123
+ * The rows of an operation's output the subject may see, by the
124
+ * operation's `results` permission. Without `results` the rows come back
125
+ * unchanged; an operation `operations` does not name returns none.
126
+ */
127
+ readonly filterResults: <T>(name: string, rows: readonly T[], context: TContext) => Promise<T[]>;
128
+ /** `providerOptions.gateway` with the principal as `user` and the tenant and actor as tags. */
129
+ readonly gatewayOptions: (context: TContext) => Promise<GatewayOptions>;
130
+ };
131
+ /**
132
+ * The agent contract for a runtime PermDock has no adapter for: decide
133
+ * operations by name, gate models and filter results. The subject comes from
134
+ * `subject(context)` on the server, never from model output.
135
+ */
136
+ declare function createPermDock<TContext, TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, given: AgentPermDockOptions<TContext, TUser>): AgentPermDock<TContext, V>;
137
+ //#endregion
138
+ export { createPermDock as a, ModelMap as c, OperationVerdict as i, ToolBinding as l, AgentPermDockOptions as n, AgentAdapterOptions as o, GatewayOptions as r, DecideToolOptions as s, AgentPermDock as t, ToolMap as u };
@@ -0,0 +1,110 @@
1
+ import { Nn as Decision, Pn as Denial, Rt as Instant, T as Policy, dt as TokenVerifier, j as PolicyVocabulary, qt as AuthEvent, rr as Principal, ut as TokenSigner } from "./policy-types-DzwivBgR.js";
2
+ import { w as Permission } from "./vocabulary-D6lPdb4Z.js";
3
+ import { i as PermDockOptions, p as PrincipalSource, r as PermDock, t as DecideOptions } from "./permdock-D7eeLJER.js";
4
+ import { m as ApprovalStore } from "./types-CCpc2Dcv.js";
5
+ import { a as AutomationSource } from "./automation-BMZPIVUM.js";
6
+ import { n as ApprovalWaiter } from "./waiter-CKy4MQSY.js";
7
+ import { n as RunAutomation, r as RunBinding } from "./run-ticket-BjhTOi6u.js";
8
+ //#region src/workflow/create.d.ts
9
+ type WorkflowPermDockOptions = PermDockOptions & {
10
+ /** Signs the run tickets `start` mints. */
11
+ readonly signer: TokenSigner;
12
+ /** Verifies run tickets in `getPermDock`. */
13
+ readonly verifier: TokenVerifier;
14
+ /** Loads the principal a run acts as, live, on every `getPermDock`. */
15
+ readonly principals: PrincipalSource;
16
+ /** The live automation records, read by `start` and on every `getPermDock`. */
17
+ readonly automations: AutomationSource;
18
+ /** Where `awaitApproval` opens and resumes requests; the same option name as every other adapter. */
19
+ readonly store?: ApprovalStore;
20
+ /** Suspends `awaitApproval` until a request is decided. */
21
+ readonly waiter?: ApprovalWaiter;
22
+ readonly audience?: string | readonly string[];
23
+ readonly issuer?: string;
24
+ /** Run ticket lifetime in seconds. Defaults to 86400; a run past it denies. */
25
+ readonly expiresIn?: number;
26
+ readonly onAuth?: (event: AuthEvent) => void;
27
+ };
28
+ type AutomationOptions = {
29
+ /** The tenant the automation is read for. */
30
+ readonly tenant?: string;
31
+ /**
32
+ * The caller starting the run. It needs only the automation's `run`
33
+ * permission and lends the run nothing. Absent: server code starts the run,
34
+ * which an automation without `run` requires.
35
+ */
36
+ readonly caller?: PermDock;
37
+ /** The row `run` is decided on, when it is an instance permission. */
38
+ readonly row?: unknown;
39
+ /** The event that started the run, as JSON. Kept in `subject.context.trigger`; never a grant. */
40
+ readonly trigger?: Readonly<Record<string, unknown>>;
41
+ /** The run id (`jti`); a fresh UUID when absent. */
42
+ readonly id?: string;
43
+ readonly binding?: RunBinding;
44
+ readonly now?: Instant;
45
+ };
46
+ type StartAutomationResult = {
47
+ readonly outcome: "started";
48
+ readonly ticket: string;
49
+ readonly run: {
50
+ readonly id: string;
51
+ readonly automation: RunAutomation;
52
+ };
53
+ } | {
54
+ readonly outcome: "denied";
55
+ readonly denials: readonly Denial[];
56
+ };
57
+ type AwaitApprovalOptions = DecideOptions & {
58
+ /** The resource the approval request names; defaults to the permission's resource and the row's `id`. */
59
+ readonly resource?: {
60
+ readonly type: string;
61
+ readonly id?: string;
62
+ };
63
+ /** Seconds the request stays open; the store's `ttl` when absent. */
64
+ readonly ttl?: number;
65
+ readonly signal?: AbortSignal;
66
+ };
67
+ type WorkflowPermDock<V extends PolicyVocabulary = PolicyVocabulary> = {
68
+ /**
69
+ * Starts a run of the automation `id` and returns its run ticket. Denied
70
+ * when the automation is unknown or revoked (`validation`) or when the
71
+ * caller is not granted its `run` permission.
72
+ */
73
+ readonly start: (id: string, options?: AutomationOptions) => Promise<StartAutomationResult>;
74
+ /**
75
+ * The PermDock of a run, rebuilt from its ticket: the principal loaded
76
+ * live, narrowed to the automation's permissions and to any policy
77
+ * delegation to `actor('automation')`. A changed, revoked or unknown
78
+ * automation, or a publisher who is gone, gives an anonymous instance
79
+ * that denies everything.
80
+ */
81
+ readonly getPermDock: (ticket: string) => Promise<PermDock<V>>;
82
+ /**
83
+ * Decides `permission`; on `approval-required` opens a request, waits on
84
+ * the `waiter`, then rebuilds the run from its ticket and decides again
85
+ * with the token. The second decision reads the publisher's rights as of
86
+ * then, so a demotion while waiting denies.
87
+ */
88
+ readonly awaitApproval: (ticket: string, permission: Permission, data?: unknown, options?: AwaitApprovalOptions) => Promise<Decision>;
89
+ /**
90
+ * The first half of `awaitApproval`, for runners that wait outside the
91
+ * call: decides, and on `approval-required` opens the request and returns
92
+ * the decision with its token.
93
+ */
94
+ readonly openApproval: (ticket: string, permission: Permission, data?: unknown, options?: AwaitApprovalOptions) => Promise<Decision>;
95
+ /**
96
+ * The second half: rebuilds the run from its ticket and decides again with
97
+ * the approval `token`. A request still pending denies with reason
98
+ * `approval`.
99
+ */
100
+ readonly resumeApproval: (ticket: string, permission: Permission, token: string, data?: unknown, options?: AwaitApprovalOptions) => Promise<Decision>;
101
+ };
102
+ /**
103
+ * Creates the PermDock for durable runs of published automations. A run
104
+ * acts as the automation's principal with that principal's rights at each
105
+ * step, narrowed to the automation's operations; the trigger is recorded
106
+ * and never grants.
107
+ */
108
+ declare function createPermDock<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, given: WorkflowPermDockOptions): WorkflowPermDock<V>;
109
+ //#endregion
110
+ export { WorkflowPermDockOptions as a, WorkflowPermDock as i, AwaitApprovalOptions as n, createPermDock as o, StartAutomationResult as r, AutomationOptions as t };