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
@@ -1,483 +0,0 @@
1
- import { $ as AccessEvent, C as Policy, D as PolicyVocabulary, Dr as CustomRole, Gr as SqlFunctionArg, Kr as SqlFunctionCondition, Lr as ConditionRef, Mr as Membership, Nr as Principal, Pr as Subject, Tt as Snapshot, Vr as OpaqueCondition, Zn as DenialReason, bt as RelationSource, dt as LimitStore, gt as MembershipSource, h as Grant, kr as Delegation, ln as PermDock, pt as LocalSnapshotManifest, rt as DecisionEvent, st as EntitlementSource, w as PolicyDelegation, xt as RoleSource } from "./policy-IB6yxpC3.js";
2
- import { C as ResourceRelationInput, f as Permission, m as PermissionTree, n as ActionMeta, t as ActionList, w as ResourceRestricted, x as ResourceParent } from "./permissions-DttnqqxC.js";
3
- //#region src/core/custom-roles.d.ts
4
- type CustomRoleDropReason = "unknown-permission" | "outside-ceiling" | "condition-not-allowed" | "unknown-level";
5
- /** Why part of a custom role was left out: a permission, or an undeclared include. */
6
- type CustomRoleDrop = {
7
- readonly permission: string;
8
- readonly reason: CustomRoleDropReason;
9
- /** The stored level, for `unknown-level`. */
10
- readonly level?: string;
11
- } | {
12
- readonly role: string;
13
- readonly reason: "unknown-role";
14
- };
15
- /** A stored grant that named a permission by a key it was renamed from. */
16
- type CustomRoleRename = {
17
- readonly from: string;
18
- readonly to: string;
19
- };
20
- type ResolvedCustomRole = {
21
- /** Declared grants re-targeted to the custom role; conditions and approvals kept. */
22
- readonly grants: readonly Grant[];
23
- readonly dropped: readonly CustomRoleDrop[];
24
- /** Grants stored under a former key (`definePermissions` `renamed`), resolved to the current one. */
25
- readonly renamed: readonly CustomRoleRename[];
26
- };
27
- type CustomRoleValidation = {
28
- readonly ok: boolean;
29
- /** Permission keys the role allows after the ceiling, sorted. */
30
- readonly permissions: readonly string[];
31
- readonly dropped: readonly CustomRoleDrop[];
32
- /** Grants to rewrite in storage: each still resolves, under its current key. */
33
- readonly renamed: readonly CustomRoleRename[];
34
- };
35
- /**
36
- * The one resolver behind evaluation, snapshots and `validateCustomRole`.
37
- * Included roles' grants plus the role's own allows, minus its denies, all
38
- * intersected with the ceiling. An allow inherits the condition, approval and
39
- * limit of the declared grant it comes from: an included assignable role's
40
- * grant when there is one, otherwise every ceiling grant of that permission,
41
- * together with the denies of the roles those grants belong to.
42
- */
43
- declare function resolveCustomRole(policy: Policy, role: CustomRole): ResolvedCustomRole;
44
- declare function validateCustomRole(policy: Policy, role: CustomRole): CustomRoleValidation;
45
- /**
46
- * The compact JWT form of custom roles for the `memberships[].grants` claim
47
- * RLS reads in `jwt` mode: role name to entries, where `key` allows, `-key`
48
- * denies and `@role` includes. Put a team custom role on its team membership.
49
- * Pass `policy` to write keys stored under a former name as the current key.
50
- */
51
- declare function customRoleClaim(roles: readonly CustomRole[], policy?: Policy): Readonly<Record<string, readonly string[]>>;
52
- //#endregion
53
- //#region src/core/relations.d.ts
54
- type MemoryEdge = {
55
- /** The object's id. */
56
- readonly id: string;
57
- readonly principal: string;
58
- readonly startsAt?: number;
59
- readonly expiresAt?: number;
60
- };
61
- type MemoryRelationsData = {
62
- /** Rows per resource: parent pointers, links, restricted flags and relation columns are read from them. */
63
- readonly rows?: Readonly<Record<string, readonly Readonly<Record<string, unknown>>[]>>;
64
- /** Edge-table rows per resource and relation. */
65
- readonly edges?: Readonly<Record<string, Readonly<Record<string, readonly MemoryEdge[]>>>>;
66
- /**
67
- * Edge tables as the database holds them, keyed by `edge` name: each row
68
- * is read through the relation's `object`, `subject`, `expiresAt`, `match`
69
- * and `groups` columns. A relation whose table is here ignores `edges`.
70
- */
71
- readonly tables?: Readonly<Record<string, readonly Readonly<Record<string, unknown>>[]>>;
72
- };
73
- /**
74
- * An in-process `RelationSource` over plain rows and edges, read against the
75
- * resource definitions in `permissions`. For tests, fixtures and small apps.
76
- */
77
- declare function memoryRelations(permissions: PermissionTree, data?: MemoryRelationsData): RelationSource;
78
- //#endregion
79
- //#region src/core/snapshot.d.ts
80
- declare function parseSnapshot(json: unknown): Snapshot;
81
- //#endregion
82
- //#region src/core/from-snapshot.d.ts
83
- declare function fromSnapshot(snapshot: Snapshot, options?: {
84
- readonly tenant?: string;
85
- readonly team?: string;
86
- }): PermDock;
87
- declare function emptySnapshot(): Snapshot;
88
- //#endregion
89
- //#region src/conditions/refs.d.ts
90
- type KnownRefField = "id" | "issuer" | "kind" | "tenant" | "team" | "roles" | "plans" | "memberships" | "assurance" | "binding" | "session";
91
- type SubjectRef = ConditionRef & { readonly [K in KnownRefField]: SubjectRef; } & {
92
- readonly [key: string]: SubjectRef;
93
- };
94
- declare const principal: SubjectRef;
95
- declare const context: SubjectRef;
96
- //#endregion
97
- //#region src/core/approval-required.d.ts
98
- declare function requiresApproval(approval: Grant["approval"] | undefined): boolean;
99
- //#endregion
100
- //#region src/conditions/opaque.d.ts
101
- declare function opaque(input: {
102
- readonly sql: string;
103
- readonly fingerprint: string;
104
- }): OpaqueCondition;
105
- //#endregion
106
- //#region src/conditions/sql-function.d.ts
107
- declare function sqlFunction(name: string, options: {
108
- readonly args?: readonly SqlFunctionArg[];
109
- readonly twin: unknown;
110
- }): SqlFunctionCondition;
111
- //#endregion
112
- //#region src/core/memberships.d.ts
113
- /**
114
- * One `MembershipSource` over several: memberships are merged and
115
- * de-duplicated, `list` concatenates the sources that can list, and `version`
116
- * is the highest version any source reports. A source that throws makes the
117
- * whole lookup throw, which the subject resolver turns into no memberships.
118
- */
119
- declare function composeMemberships(sources: readonly MembershipSource[]): MembershipSource;
120
- /**
121
- * Trust the memberships the verified token carries, and read `source` only
122
- * when the token marks them truncated. With `version`, a token minted before
123
- * the latest membership change is stale for the policy's `fresh` permissions,
124
- * or with `onStale: 'reread'` has its memberships read from `source` instead.
125
- */
126
- declare function claimsFirst(source: MembershipSource | readonly MembershipSource[], options?: {
127
- readonly version?: MembershipSource["version"];
128
- readonly onStale?: "deny" | "reread";
129
- }): MembershipSource;
130
- /** Whether the identity provider owns `membership`: the application must not add, change or remove it. */
131
- declare function isExternallyManaged(membership: Membership): boolean;
132
- /**
133
- * How many principals hold `role` in one scope instance now, from the
134
- * source's member list (`MembershipSource.list`): live memberships of exactly
135
- * that scope and instance, each principal counted once. The `holders` a
136
- * `decideRoleChange` with `min`, `max` or `transferOnly` needs. `undefined`
137
- * when the source cannot list or the read fails, which that check denies.
138
- */
139
- declare function countHolders(source: MembershipSource | readonly MembershipSource[], query: {
140
- readonly scope: string;
141
- readonly id: string;
142
- readonly role: string | {
143
- readonly key: string;
144
- };
145
- }): Promise<number | undefined>;
146
- //#endregion
147
- //#region src/core/stripe-entitlements.d.ts
148
- /** The part of the Stripe Node SDK this source calls: `stripe.entitlements.activeEntitlements.list`. */
149
- type StripeEntitlementsClient = {
150
- readonly entitlements: {
151
- readonly activeEntitlements: {
152
- list(params: {
153
- readonly customer: string;
154
- readonly limit?: number;
155
- readonly starting_after?: string;
156
- }): PromiseLike<{
157
- readonly data: readonly {
158
- readonly id: string;
159
- readonly lookup_key: string;
160
- }[];
161
- readonly has_more: boolean;
162
- }>;
163
- };
164
- };
165
- };
166
- /**
167
- * Plan names from Stripe Entitlements: the `lookup_key` of every active
168
- * entitlement of the tenant's Stripe customer. `customer` maps the active
169
- * tenant to its customer id; no tenant or no customer means no entitlements.
170
- * Pass it as `entitlements`, and grant with `plan('<lookup_key>')`.
171
- */
172
- declare function fromStripeEntitlements(options: {
173
- readonly stripe: StripeEntitlementsClient;
174
- readonly customer: (tenant: string, principal: {
175
- readonly id: string;
176
- }) => string | undefined | PromiseLike<string | undefined>;
177
- }): EntitlementSource;
178
- //#endregion
179
- //#region src/core/limits.d.ts
180
- declare function memoryLimitStore(): LimitStore & {
181
- /** Live counters, for tests and diagnostics. */
182
- size(): number;
183
- };
184
- //#endregion
185
- //#region src/core/local-manifest.d.ts
186
- /**
187
- * What the policy grants, as JSON a device turns into snapshots from its own
188
- * membership rows (`localSnapshot` in `permdock/react-native`). Write it at
189
- * build time; the policy itself never ships to the client.
190
- */
191
- declare function localSnapshotManifest(policy: Policy): LocalSnapshotManifest;
192
- //#endregion
193
- //#region src/core/may-access.d.ts
194
- /**
195
- * An optimistic routing hint for a proxy or middleware, never a decision.
196
- * `false` only when the subject's declared roles provably lack `permission`;
197
- * `true` whenever custom roles, plans, memberships the claims do not carry or
198
- * row conditions could still grant it. Synchronous, no network, never throws.
199
- * Pages, Server Actions and RLS remain the enforcement points.
200
- */
201
- declare function mayAccess(policy: Policy, user: unknown, permission: Permission, options?: {
202
- readonly tenant?: string;
203
- }): boolean;
204
- //#endregion
205
- //#region src/core/may-use.d.ts
206
- /**
207
- * Whether `permission` could be granted to this instance's subject for some
208
- * row: the grants its snapshot carries for the active tenant, minus an
209
- * unconditional deny, within its delegation. A listing hint for tools and
210
- * skills, never a decision; the call itself is decided in full.
211
- */
212
- declare function mayUse(permdock: PermDock, permission: Permission): boolean;
213
- type PermittedIdsOptions = {
214
- readonly within?: string;
215
- readonly conditioned?: boolean;
216
- };
217
- /**
218
- * The instances of `scope` in which the subject holds `permission`, from its
219
- * live memberships of exactly that scope, within its delegation: by default
220
- * those with an allow that carries no row condition (`where`, `check`, a
221
- * validity window or a non-portable test; a `fields` limit is not a row
222
- * condition), minus the instances any deny of the permission reaches. The
223
- * in-process mirror of the SQL `permitted_<scope>_ids_by_permission`. With
224
- * `conditioned: true` it also lists the instances where a conditioned allow
225
- * applies, minus only unconditional denies, as
226
- * `permitted_<scope>_ids_by_permission(p_permission, true)` does. A listing,
227
- * never a decision: a row's own check still runs `can`.
228
- */
229
- declare function permittedIds(permdock: PermDock, permission: Permission, scope: string, options?: PermittedIdsOptions): readonly string[];
230
- //#endregion
231
- //#region src/core/custom-role-source.d.ts
232
- /** Reads custom roles from the application's store, as `customRoleSource` takes them. */
233
- type CustomRoleReader = {
234
- /** Every custom role of `tenant`, whether or not anyone in the request holds it. */
235
- rolesOf(tenant: string): CustomRole[] | Promise<CustomRole[]>;
236
- assignable?(tenant: string): string[] | Promise<string[]>;
237
- /** Platform custom roles (`scope: 'global'`). */
238
- globalRoles?(): CustomRole[] | Promise<CustomRole[]>;
239
- };
240
- type CustomRoleSourceOptions = {
241
- /** `'all'` (default): read every custom role of each tenant, so `assignableRoles` and `decideRoleChange` see them all. */
242
- readonly read?: "all";
243
- } | {
244
- /** `'held'`: skip a tenant's read, and the platform read, when every role the subject holds there is declared in `policy`. For requests that never manage roles. */
245
- readonly read: "held";
246
- readonly policy: Policy;
247
- };
248
- /**
249
- * A `RoleSource` over a reader that returns every custom role of a tenant.
250
- * It keeps only the roles of the requested tenant. With `read: 'held'` it
251
- * skips a tenant's read, and `globalRoles`, when the subject holds only
252
- * declared roles there.
253
- */
254
- declare function customRoleSource(reader: CustomRoleReader, options?: CustomRoleSourceOptions): RoleSource;
255
- //#endregion
256
- //#region src/core/instance.d.ts
257
- type SnapshotInclude = readonly (Permission | {
258
- readonly [key: string]: unknown;
259
- })[];
260
- //#endregion
261
- //#region src/core/snapshot-for.d.ts
262
- type SnapshotForOptions = {
263
- /** Active tenant; ignored unless the subject holds a membership in it. */
264
- readonly tenant?: string;
265
- /** Database mode: replaces the memberships carried by the subject. */
266
- readonly memberships?: readonly Membership[];
267
- /** The tenant's custom roles, typically from a shared, tagged cache. */
268
- readonly customRoles?: readonly CustomRole[];
269
- /** Per tenant, the role names `RoleSource.assignable` returns; narrows `assignable`. */
270
- readonly assignable?: Readonly<Record<string, readonly string[]>>;
271
- /** Plans of the active tenant; replaces `principal.plans`. */
272
- readonly plans?: readonly string[];
273
- readonly include?: SnapshotInclude;
274
- readonly tenants?: "all";
275
- /** Epoch seconds for `issuedAt` and membership expiry. Defaults to the clock. */
276
- readonly now?: number;
277
- };
278
- /**
279
- * Builds the serializable access snapshot for a subject without a request,
280
- * a network call or a cache directive: call it inside the app's own
281
- * `'use cache: private'` function. Synchronous; the policy's `subject` and
282
- * `context` mappers must be synchronous too.
283
- */
284
- declare function snapshotFor<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, user: TUser | Subject | null, options?: SnapshotForOptions): Snapshot;
285
- //#endregion
286
- //#region src/core/presets.d.ts
287
- type ReadOnlyMeta = {
288
- readonly readOnly: true;
289
- };
290
- type DestructiveMeta = {
291
- readonly destructive: true;
292
- };
293
- type CrudActions = {
294
- readonly read: ReadOnlyMeta;
295
- readonly update: ActionMeta;
296
- readonly delete: DestructiveMeta;
297
- };
298
- type CrudCollection = {
299
- readonly create: ActionMeta;
300
- readonly list: ReadOnlyMeta;
301
- };
302
- type ReadableActions = {
303
- readonly read: ReadOnlyMeta;
304
- };
305
- type ReadableCollection = {
306
- readonly list: ReadOnlyMeta;
307
- };
308
- type WritableActions = {
309
- readonly read: ReadOnlyMeta;
310
- readonly update: ActionMeta;
311
- };
312
- declare const CRUD_ACTIONS: CrudActions;
313
- declare const CRUD_COLLECTION: CrudCollection;
314
- declare const READABLE_ACTIONS: ReadableActions;
315
- declare const READABLE_COLLECTION: ReadableCollection;
316
- declare const WRITABLE_ACTIONS: WritableActions;
317
- type EmptyRecord = Record<never, never>;
318
- declare const WRITABLE_COLLECTION: EmptyRecord;
319
- type ActionNames<A extends ActionList | undefined> = A extends readonly string[] ? A[number] & string : A extends Record<string, ActionMeta> ? keyof A & string : never;
320
- type ToActionRecord<A extends ActionList | undefined> = [ActionNames<A>] extends [never] ? EmptyRecord : { readonly [K in ActionNames<A>]: ActionMeta; };
321
- type OverlayMeta<Base extends ActionMeta, Extra extends ActionMeta> = Omit<Base, keyof Extra> & Extra;
322
- type MergeActionRecords<Base extends Record<string, ActionMeta>, Extra extends Record<string, ActionMeta>> = { readonly [K in keyof Base | keyof Extra]: K extends keyof Extra ? K extends keyof Base ? OverlayMeta<Base[K] & ActionMeta, Extra[K] & ActionMeta> : Extra[K] & ActionMeta : K extends keyof Base ? Base[K] & ActionMeta : never; };
323
- type PresetOptions<A extends ActionList | undefined = undefined, C extends ActionList | undefined = undefined> = {
324
- readonly id?: string;
325
- readonly parent?: ResourceParent;
326
- readonly relations?: Readonly<Record<string, ResourceRelationInput>>;
327
- readonly restricted?: string | ResourceRestricted;
328
- readonly disclosure?: "hide" | "reveal";
329
- readonly actions?: A;
330
- readonly collection?: C;
331
- };
332
- type PresetResult<BaseA extends Record<string, ActionMeta>, BaseC extends Record<string, ActionMeta>, A extends ActionList | undefined, C extends ActionList | undefined> = {
333
- readonly id?: string;
334
- readonly parent?: ResourceParent;
335
- readonly relations?: Readonly<Record<string, ResourceRelationInput>>;
336
- readonly restricted?: string | ResourceRestricted;
337
- readonly disclosure?: "hide" | "reveal";
338
- readonly actions: MergeActionRecords<BaseA, ToActionRecord<A>>;
339
- readonly collection?: MergeActionRecords<BaseC, ToActionRecord<C>>;
340
- };
341
- declare function crud<const A extends ActionList | undefined = undefined, const C extends ActionList | undefined = undefined>(options?: PresetOptions<A, C>): PresetResult<typeof CRUD_ACTIONS, typeof CRUD_COLLECTION, A, C>;
342
- declare function readable<const A extends ActionList | undefined = undefined, const C extends ActionList | undefined = undefined>(options?: PresetOptions<A, C>): PresetResult<typeof READABLE_ACTIONS, typeof READABLE_COLLECTION, A, C>;
343
- declare function writable<const A extends ActionList | undefined = undefined, const C extends ActionList | undefined = undefined>(options?: PresetOptions<A, C>): PresetResult<typeof WRITABLE_ACTIONS, typeof WRITABLE_COLLECTION, A, C>;
344
- //#endregion
345
- //#region src/core/duration.d.ts
346
- declare function parseDuration(input: unknown): number | undefined;
347
- //#endregion
348
- //#region src/core/ocsf.d.ts
349
- /** The OCSF schema version `toOcsf` emits. */
350
- declare const OCSF_VERSION = "1.3.0";
351
- /** An OCSF Authorize Session (class 3003, category Identity and Access Management) event. */
352
- type OcsfAuthorizeSession = {
353
- readonly class_uid: 3003;
354
- readonly category_uid: 3;
355
- readonly activity_id: 1;
356
- readonly type_uid: 300301;
357
- readonly severity_id: 1 | 4;
358
- readonly time: number;
359
- readonly status_id: 0 | 1 | 2 | 99;
360
- readonly status: "Unknown" | "Success" | "Failure" | "Other";
361
- readonly status_detail?: string;
362
- readonly message: string;
363
- readonly privileges: readonly string[];
364
- /** OCSF requires `user`; an anonymous subject is `{ name: 'anonymous' }`. */
365
- readonly user: {
366
- readonly uid: string;
367
- } | {
368
- readonly name: "anonymous";
369
- };
370
- readonly actor?: {
371
- readonly user?: {
372
- readonly uid: string;
373
- };
374
- readonly app_name?: string;
375
- };
376
- readonly metadata: {
377
- readonly version: typeof OCSF_VERSION;
378
- readonly product: {
379
- readonly name: "PermDock";
380
- readonly vendor_name: "PermDock";
381
- readonly feature?: {
382
- readonly name: string;
383
- };
384
- };
385
- readonly tenant_uid?: string;
386
- readonly correlation_uid?: string;
387
- };
388
- readonly unmapped: {
389
- readonly outcome: DecisionEvent["outcome"];
390
- readonly scope: string;
391
- readonly resource: DecisionEvent["resource"];
392
- readonly source: DecisionEvent["source"];
393
- readonly phase?: DecisionEvent["phase"];
394
- readonly role?: string | null;
395
- readonly via?: string | null;
396
- /** Set high-severity break-glass events apart in a SIEM. */
397
- readonly breakGlass?: true;
398
- readonly purpose?: readonly string[];
399
- readonly reason?: string;
400
- };
401
- };
402
- /** Projects a decision or approval event onto OCSF Authorize Session; the event itself is unchanged. */
403
- declare function toOcsf(event: DecisionEvent): OcsfAuthorizeSession;
404
- /**
405
- * An OCSF Account Change (class 3001) event for a support-access lifecycle
406
- * event: `started` enables the session, `ended` and `revoked` disable it.
407
- * Support access is high severity, so a SIEM can alert on vendor access.
408
- */
409
- type OcsfAccountChange = {
410
- readonly class_uid: 3001;
411
- readonly category_uid: 3;
412
- /** 2 Enable for `started`, 5 Disable for `ended` and `revoked`. */
413
- readonly activity_id: 2 | 5;
414
- readonly type_uid: 300102 | 300105;
415
- readonly severity_id: 4;
416
- readonly time: number;
417
- readonly message: string;
418
- readonly user: {
419
- readonly uid: string;
420
- };
421
- readonly actor?: {
422
- readonly user?: {
423
- readonly uid: string;
424
- };
425
- };
426
- readonly metadata: {
427
- readonly version: typeof OCSF_VERSION;
428
- readonly product: {
429
- readonly name: "PermDock";
430
- readonly vendor_name: "PermDock";
431
- };
432
- readonly tenant_uid: string;
433
- };
434
- readonly unmapped: {
435
- readonly operation: AccessEvent["operation"];
436
- readonly via: string;
437
- readonly roles: readonly string[];
438
- readonly member?: {
439
- readonly group: string;
440
- };
441
- readonly grantedBy?: string;
442
- readonly reason?: string;
443
- };
444
- };
445
- declare function accessToOcsf(event: AccessEvent): OcsfAccountChange;
446
- //#endregion
447
- //#region src/core/csv.d.ts
448
- /** The CSV export columns, in order; the header row of every CSV file. */
449
- declare const CSV_COLUMNS: readonly ["time", "principal", "actor", "tenant", "permission", "outcome", "matched.role", "via", "denials.reason", "token"];
450
- /**
451
- * One RFC 4180 row for a decision or approval event, without a line
452
- * terminator; join rows with CRLF under a `CSV_COLUMNS` header.
453
- */
454
- declare function toCsvRow(event: DecisionEvent): string;
455
- //#endregion
456
- //#region src/core/catalog-fingerprint.d.ts
457
- /**
458
- * The catalog v1 fingerprint: base64url SHA-256 of canonical JSON (keys
459
- * sorted, no whitespace) without `generatedAt`, `generator`, `fingerprint`
460
- * and every `permissions[].usages`, so neither the CLI version, the clock nor
461
- * call sites change it.
462
- */
463
- declare function catalogFingerprint(catalog: unknown): string;
464
- //#endregion
465
- //#region src/core/delegation.d.ts
466
- type DelegatedPermission = Pick<Permission, "scope" | "resource" | "action">;
467
- /**
468
- * Whether a delegated caller may use a permission its principal holds, through
469
- * OAuth `scopes`, RFC 9396 `authorizationDetails` or GNAP `access`.
470
- * `undefined` means covered; otherwise the denial reason `decide` would add.
471
- */
472
- declare function coveredByDelegation(permission: DelegatedPermission, delegation: Delegation | undefined, resourceId?: string, hasActor?: boolean): DenialReason | undefined;
473
- /**
474
- * The permission keys the policy's delegations let `subject.actor` use for
475
- * `subject.principal` right now: the union over every active delegation whose
476
- * `to` matches the actor and whose `from` the principal holds. `undefined`
477
- * when none applies, so the call falls back to the token delegation alone.
478
- * An actor with `readOnly: true` gets only each delegation's read-only keys.
479
- * Attenuation only: a key here still needs a matching allow and no deny.
480
- */
481
- declare function delegatedPermissions(delegations: readonly PolicyDelegation[] | undefined, subject: Subject, heldRoles: ReadonlySet<string>, now: number): ReadonlySet<string> | undefined;
482
- //#endregion
483
- export { countHolders as A, MemoryEdge as B, mayAccess as C, fromStripeEntitlements as D, StripeEntitlementsClient as E, context as F, CustomRoleRename as G, memoryRelations as H, principal as I, customRoleClaim as J, CustomRoleValidation as K, emptySnapshot as L, sqlFunction as M, opaque as N, claimsFirst as O, requiresApproval as P, fromSnapshot as R, permittedIds as S, memoryLimitStore as T, CustomRoleDrop as U, MemoryRelationsData as V, CustomRoleDropReason as W, validateCustomRole as X, resolveCustomRole as Y, CustomRoleReader as _, toCsvRow as a, PermittedIdsOptions as b, OcsfAuthorizeSession as c, parseDuration as d, crud as f, snapshotFor as g, SnapshotForOptions as h, CSV_COLUMNS as i, isExternallyManaged as j, composeMemberships as k, accessToOcsf as l, writable as m, delegatedPermissions as n, OCSF_VERSION as o, readable as p, ResolvedCustomRole as q, catalogFingerprint as r, OcsfAccountChange as s, coveredByDelegation as t, toOcsf as u, CustomRoleSourceOptions as v, localSnapshotManifest as w, mayUse as x, customRoleSource as y, parseSnapshot as z };