permdock 0.17.0 → 0.18.1

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 (297) hide show
  1. package/dist/a2a/index.d.ts +4 -4
  2. package/dist/a2a/index.js +3 -3
  3. package/dist/{adoption-scan-Ci0xiJ3T.js → adoption-scan-CxExBYSJ.js} +1 -1
  4. package/dist/agent/index.d.ts +2 -2
  5. package/dist/agent/index.js +1 -1
  6. package/dist/ai-sdk/index.d.ts +3 -3
  7. package/dist/ai-sdk/index.js +3 -3
  8. package/dist/{approval-normalize-4KxMRdJC.js → approval-normalize-CUjgSsOl.js} +1 -1
  9. package/dist/{approval-policies-9VagPixq.d.ts → approval-policies-oNnckT12.d.ts} +1 -1
  10. package/dist/{approval-prompt-BSh-yxbH.d.ts → approval-prompt-Bg7gDSqd.d.ts} +1 -1
  11. package/dist/approvals/index.d.ts +3 -3
  12. package/dist/approvals/index.js +3 -3
  13. package/dist/{approvals-DdFcTncq.js → approvals-DGId_hgJ.js} +2 -2
  14. package/dist/{approvers-CNtl4Vc5.js → approvers-BaNwKYgd.js} +1 -3
  15. package/dist/{arazzo-_zUmT8ZT.js → arazzo--riLuGY0.js} +2 -2
  16. package/dist/{arazzo-7kbeh1yi.js → arazzo-CEDbb-uM.js} +1 -1
  17. package/dist/astro/index.d.ts +4 -4
  18. package/dist/astro/index.js +2 -2
  19. package/dist/{audience-jRO819i3.js → audience-B4YR9UpV.js} +1 -1
  20. package/dist/authzen/index.d.ts +5 -5
  21. package/dist/authzen/index.js +2 -2
  22. package/dist/{automation-DCWuVKtd.d.ts → automation-Bfa_wD1h.d.ts} +1 -1
  23. package/dist/better-auth/index.d.ts +1 -1
  24. package/dist/better-auth/index.js +1 -1
  25. package/dist/better-supabase/index.d.ts +153 -91
  26. package/dist/better-supabase/index.js +332 -62
  27. package/dist/{bind-BJFeLX1V.js → bind-B4pMH9bm.js} +4 -4
  28. package/dist/{bind-DjFNX0Pq.d.ts → bind-DR6ku3A9.d.ts} +7 -7
  29. package/dist/{build-instance-lye7oEqf.js → build-instance-BFMFQdE_.js} +1 -1
  30. package/dist/{capability-BzjWdKmP.d.ts → capability-BZ_veK9o.d.ts} +1 -1
  31. package/dist/{casbin-DFzk_so3.js → casbin-DCQHkkyj.js} +1 -1
  32. package/dist/{casbin-C3O_O9nu.js → casbin-bKC1FpEx.js} +1 -1
  33. package/dist/catalog/index.d.ts +4 -4
  34. package/dist/catalog/index.js +5 -5
  35. package/dist/catalog-Caqhbdix.js +1 -0
  36. package/dist/{catalog-DGDd_ww1.js → catalog-D1fw8qif.js} +2 -2
  37. package/dist/{catalog-operations-DVI5QO5R.js → catalog-operations-BD22drQf.js} +2 -2
  38. package/dist/{catalog-DJJIkR9P.js → catalog-zzNuR3sY.js} +1 -1
  39. package/dist/{challenge-M_ghKJnT.js → challenge-B2O2OLEk.js} +1 -1
  40. package/dist/chat/index.d.ts +1 -1
  41. package/dist/chat/index.js +2 -2
  42. package/dist/chat-sdk/index.d.ts +3 -3
  43. package/dist/claude-agent/index.d.ts +3 -3
  44. package/dist/claude-agent/index.js +2 -2
  45. package/dist/clerk/index.d.ts +2 -2
  46. package/dist/cli/bin.js +1 -1
  47. package/dist/cli/index.d.ts +4 -4
  48. package/dist/cli/index.js +2 -2
  49. package/dist/client-CH7vzSAY.d.ts +32 -0
  50. package/dist/cloud/index.d.ts +8 -8
  51. package/dist/cloud/index.js +1 -1
  52. package/dist/{cloud-DYqzmh5i.js → cloud-C0vXBmLG.js} +2 -2
  53. package/dist/{codemod-DqB9klYI.js → codemod-C-L0w-u7.js} +2 -2
  54. package/dist/{codemod-DNGMGqBS.js → codemod-eYI1FbeJ.js} +1 -1
  55. package/dist/{collect-C44RrKCI.js → collect-CU85z6Ta.js} +2 -2
  56. package/dist/{collect-HfJXl8Tr.js → collect-D878zLDP.js} +1 -1
  57. package/dist/collect-KCtOigxx.js +1 -0
  58. package/dist/compile/index.d.ts +1 -1
  59. package/dist/{compile-BxiwRotu.d.ts → compile-DBm0ub4p.d.ts} +2 -2
  60. package/dist/{completion-pwVjJlek.js → completion-Dauc6pVT.js} +1 -1
  61. package/dist/{config-DnfH6_eT.js → config-DWp2PucY.js} +1 -1
  62. package/dist/{config-report-C1jl7Na-.js → config-report-DKpFm5ID.js} +2 -2
  63. package/dist/convex/index.d.ts +4 -4
  64. package/dist/convex/index.js +2 -2
  65. package/dist/{core-W5f4Rjt0.js → core-B8sLve3z.js} +3 -3
  66. package/dist/{core-0iYZ5HUx.d.ts → core-D87h2kpR.d.ts} +2 -2
  67. package/dist/{create-jCPwPWXf.js → create-3A7J9KRR.js} +4 -4
  68. package/dist/{create-DrHUmKvG.d.ts → create-BrQXL-Wt.d.ts} +6 -6
  69. package/dist/{create-bzQlBzG4.d.ts → create-BzwjZuRS.d.ts} +7 -7
  70. package/dist/{create-gqtDb1nU.js → create-C-tm3KIF.js} +3 -3
  71. package/dist/{create-DNN3OtsO.d.ts → create-CtoT1lIQ.d.ts} +4 -4
  72. package/dist/delivery/index.d.ts +4 -4
  73. package/dist/delivery/index.js +1 -1
  74. package/dist/{denied-text-DyzWwxEB.d.ts → denied-text-DlIxt8fh.d.ts} +1 -1
  75. package/dist/{describe-nalX_HHE.d.ts → describe-BKtC_8PG.d.ts} +1 -1
  76. package/dist/{describe-CogP1loh.js → describe-BZAlPHxT.js} +1 -1
  77. package/dist/{diff-BTsLiW59.js → diff-BnNHqtHj.js} +4 -4
  78. package/dist/{diff-CcxYooMu.js → diff-CBCzOTWM.js} +1 -1
  79. package/dist/{doctor-DS-9ApID.js → doctor-CkYKCuX7.js} +55 -17
  80. package/dist/{doctor-BNRhJegR.js → doctor-xUpR5rXg.js} +2 -2
  81. package/dist/drizzle/index.d.ts +3 -3
  82. package/dist/elysia/index.d.ts +4 -4
  83. package/dist/elysia/index.js +3 -3
  84. package/dist/{errors-Dc9FdamT.d.ts → errors-TpzkEKgJ.d.ts} +1 -1
  85. package/dist/{evaluate-CsjXeLRo.js → evaluate-Czbj7thS.js} +2 -2
  86. package/dist/{evaluations-BasA9zXp.d.ts → evaluations-CisTTURl.d.ts} +3 -3
  87. package/dist/{evaluations-DG40eSJa.js → evaluations-h3KoJAPa.js} +1 -1
  88. package/dist/eve/index.d.ts +4 -4
  89. package/dist/eve/index.js +3 -3
  90. package/dist/express/index.d.ts +4 -4
  91. package/dist/express/index.js +3 -3
  92. package/dist/fastify/index.d.ts +4 -4
  93. package/dist/fastify/index.js +3 -3
  94. package/dist/{fetch-adapter-BgqpOOpd.d.ts → fetch-adapter-BdmfnbJM.d.ts} +2 -2
  95. package/dist/{fetch-adapter-UZOW0PRC.js → fetch-adapter-DH-NJPbL.js} +2 -2
  96. package/dist/{fixtures-0VTW5oNq.js → fixtures-Cemqurt8.js} +8 -2
  97. package/dist/{gen-CNCzG4sB.js → gen-BEIN-DRM.js} +1 -1
  98. package/dist/{gen-DnpZwQPo.js → gen-mf-MRwVr.js} +3 -3
  99. package/dist/h3/index.d.ts +4 -4
  100. package/dist/h3/index.js +3 -3
  101. package/dist/{helpers-DNnZffrI.js → helpers-DmqGy63f.js} +21 -13
  102. package/dist/hono/index.d.ts +4 -4
  103. package/dist/hono/index.js +3 -3
  104. package/dist/{hosted-DxRLLiFU.d.ts → hosted-BFNXwcjd.d.ts} +1 -1
  105. package/dist/{hosted-tPZnyjQS.js → hosted-waouw2V-.js} +3 -3
  106. package/dist/{import-BYVbSKx0.js → import-DObwEota.js} +1 -1
  107. package/dist/{index-z44pfWar.d.ts → index-BhnOOnp9.d.ts} +2 -2
  108. package/dist/{index-DFwUOkvt.d.ts → index-CVGio3cH.d.ts} +4 -4
  109. package/dist/{index-CXXUFWtG.d.ts → index-CdMOd-GY.d.ts} +4 -4
  110. package/dist/{index-Bt-UoBWu.d.ts → index-CdUTE6qd.d.ts} +8 -8
  111. package/dist/{index-CZ5mixHO.d.ts → index-Dfv9Toct.d.ts} +1 -1
  112. package/dist/{index-DtGtDzjb.d.ts → index-rFp6X_QP.d.ts} +4 -4
  113. package/dist/index.d.ts +17 -17
  114. package/dist/index.js +15 -13
  115. package/dist/{init-YSDySeMy.js → init-CNJ8lLjo.js} +1 -1
  116. package/dist/{init-Dr1qAStu.js → init-DS3PEsCG.js} +3 -3
  117. package/dist/{instance-options-BOCRxEFb.d.ts → instance-options-2sFGSdsf.d.ts} +1 -1
  118. package/dist/{instance-snapshot-BgOGtyCy.js → instance-snapshot-BWa71my8.js} +2 -2
  119. package/dist/jwt/index.d.ts +4 -4
  120. package/dist/{kernel-CDDU93dI.js → kernel-30Z2zM_d.js} +6 -6
  121. package/dist/kysely/index.d.ts +3 -3
  122. package/dist/{login-CXgEKLaW.js → login-BgK5Jloo.js} +1 -1
  123. package/dist/{login-DEVXDTX8.js → login-DUVzBLh7.js} +3 -3
  124. package/dist/{manifest-BXTbHNIV.js → manifest-BdzBobNK.js} +1 -1
  125. package/dist/{manifest-schema-DQkBK2Mr.js → manifest-schema-CsFsYLF-.js} +1 -1
  126. package/dist/{manifest-Dij1U0hx.js → manifest-wclLWBVH.js} +35 -35
  127. package/dist/{map-error-B_f3C5cs.js → map-error-BH16Ah8P.js} +1 -1
  128. package/dist/mcp/index.d.ts +8 -8
  129. package/dist/mcp/index.js +5 -5
  130. package/dist/nest/index.d.ts +4 -4
  131. package/dist/nest/index.js +3 -3
  132. package/dist/next/index.d.ts +23 -10
  133. package/dist/next/index.js +29 -9
  134. package/dist/next/plugin.d.ts +1 -1
  135. package/dist/next/plugin.js +1 -1
  136. package/dist/node/index.d.ts +4 -4
  137. package/dist/node/index.js +2 -2
  138. package/dist/openai/index.d.ts +4 -4
  139. package/dist/openai/index.js +3 -3
  140. package/dist/openapi/index.d.ts +2 -2
  141. package/dist/{openapi-D3wkvOoU.js → openapi-C4gFqeRz.js} +2 -2
  142. package/dist/{openapi-GM-kTdkq.js → openapi-zMEB9qxn.js} +2 -2
  143. package/dist/{operation-findings-CXtFzlKJ.js → operation-findings-CVwJHEu_.js} +1 -1
  144. package/dist/operation-risks-BKOcTv8J.js +13 -0
  145. package/dist/operations-Bm9HFecz.js +89 -0
  146. package/dist/orpc/index.d.ts +5 -5
  147. package/dist/orpc/index.js +3 -3
  148. package/dist/otel/index.d.ts +3 -3
  149. package/dist/{output-DhTpe8v1.js → output-BFWLER4r.js} +1 -1
  150. package/dist/{ownership-moSRhxl_.js → ownership-D-mIt-w0.js} +1 -1
  151. package/dist/{parse-local-manifest-DEiCF4ah.js → parse-local-manifest-CxcSMQgl.js} +2 -2
  152. package/dist/{parse-local-manifest-BgTYdR3q.d.ts → parse-local-manifest-DvjTQNuO.d.ts} +1 -1
  153. package/dist/pdp/index.d.ts +3 -3
  154. package/dist/pdp/index.js +1 -1
  155. package/dist/{permdock-DdzMv5-F.js → permdock-D-_WrdKu.js} +18 -8
  156. package/dist/{permdock-DUWZEOLR.d.ts → permdock-ffY4CMd9.d.ts} +20 -7
  157. package/dist/{permissions-CvpPtz5O.js → permissions-B3ggI88M.js} +2 -2
  158. package/dist/{permissions-CVXmRILq.js → permissions-BaoLxy66.js} +1 -13
  159. package/dist/{policy-CTNl7pvN.d.ts → policy-BtKSApSt.d.ts} +1 -1
  160. package/dist/{policy-DxQyHKPB.js → policy-cV_wwPb8.js} +2 -2
  161. package/dist/{policy-from-catalog-DVa1faOr.js → policy-from-catalog-B68hGC0S.js} +6 -6
  162. package/dist/{policy-types-IRJVABmm.d.ts → policy-types-D-GwfQTc.d.ts} +9 -0
  163. package/dist/{postgrest-B_cEDd4e.d.ts → postgrest-D84p5dbA.d.ts} +1 -1
  164. package/dist/{powersync-C0nsyULQ.js → powersync-9PYOE1wt.js} +150 -13
  165. package/dist/{powersync-BZxw_v-A.js → powersync-DStC_g0B.js} +2 -2
  166. package/dist/powersync-xNRlC4jN.js +1 -0
  167. package/dist/prisma/index.d.ts +2 -2
  168. package/dist/{protected-action-qowj6nxN.js → protected-action-B40tU3yP.js} +2 -2
  169. package/dist/{protected-action-D3S9U4nc.d.ts → protected-action-Ds_EUY8B.d.ts} +5 -5
  170. package/dist/{protected-action-B6n6w7Rl.js → protected-action-OpOxtTsN.js} +1 -1
  171. package/dist/{provider-CjAu39fJ.d.ts → provider-OtnIiFWm.d.ts} +1 -1
  172. package/dist/{pull-DVoZ0V9_.js → pull-DLP4I1Kl.js} +2 -2
  173. package/dist/pull-UBjDnf4b.js +1 -0
  174. package/dist/{push-eJl1Tvqm.js → push-BSb8j1EW.js} +3 -3
  175. package/dist/{pushed-policy-DMXAOmEW.js → pushed-policy-BecMsTtM.js} +1 -1
  176. package/dist/{pushed-policy-CUQuvlS3.d.ts → pushed-policy-Ck3FZcoy.d.ts} +1 -1
  177. package/dist/react/index.d.ts +6 -6
  178. package/dist/react/index.js +3 -3
  179. package/dist/react/provider-client.d.ts +1 -1
  180. package/dist/react-native/index.d.ts +103 -38
  181. package/dist/react-native/index.js +194 -35
  182. package/dist/{replay-Dc3d8LhG.d.ts → replay-E5X9E1lC.d.ts} +1 -1
  183. package/dist/{request-context-Ch052blg.js → request-context-DM6_jY1n.js} +1 -1
  184. package/dist/resend/index.d.ts +4 -4
  185. package/dist/{resolve-names-1nCei24V.js → resolve-names-CBl4r4_r.js} +1 -1
  186. package/dist/{rls-ClJRblnR.js → rls-DGBL-jDY.js} +10 -10
  187. package/dist/{rls-BVzoZCn3.js → rls-pAHGYgTb.js} +1 -1
  188. package/dist/{role-builder-BrmOcXch.js → role-builder-CMW4wWzn.js} +1 -1
  189. package/dist/{rpc-BOu3FD6X.js → rpc-KwX_Jcxz.js} +1 -1
  190. package/dist/{run-CnCaTjWX.js → run-B7lv3NuK.js} +2 -2
  191. package/dist/run-UPbacxPg.js +1 -0
  192. package/dist/{run-ticket-C6lXvHM_.d.ts → run-ticket-DPaD27_r.d.ts} +2 -2
  193. package/dist/{runtime-CBXkOcg9.js → runtime-rf0ZuyF3.js} +1 -1
  194. package/dist/{saas-BqM9mJkk.js → saas-B8H1MsQ3.js} +4 -4
  195. package/dist/{scan-CepUXrFt.js → scan-0r3OZqqK.js} +1 -1
  196. package/dist/{schema-9_NDz8fx.js → schema-B_9tXrbG.js} +1 -1
  197. package/dist/scim/index.d.ts +1 -1
  198. package/dist/server/index.d.ts +10 -10
  199. package/dist/server/index.js +3 -3
  200. package/dist/{server-types-Bw-lWqzR.d.ts → server-types-3OnXjZ2D.d.ts} +8 -8
  201. package/dist/{sink-DUzt0e4B.d.ts → sink-ogbVkyeo.d.ts} +2 -2
  202. package/dist/{skills-BUuH-QFt.js → skills-B4MPRxQd.js} +1 -1
  203. package/dist/{skills-a4N6Y2Xm.js → skills-C9sTD70r.js} +1 -1
  204. package/dist/{snapshot-cache-Dbk-Gnij.d.ts → snapshot-cache-B4YvlGG_.d.ts} +1 -1
  205. package/dist/solid/index.d.ts +5 -5
  206. package/dist/solid/index.js +3 -3
  207. package/dist/solid-start/index.d.ts +4 -4
  208. package/dist/solid-start/index.js +3 -3
  209. package/dist/{sources-CXY05xtB.d.ts → sources-xdQShLDU.d.ts} +1 -1
  210. package/dist/{src-nYNBfmgq.js → src-Brzq_0in.js} +21 -104
  211. package/dist/ssf/index.d.ts +3 -3
  212. package/dist/ssf/index.js +1 -1
  213. package/dist/{standard-webhooks-BFeEpjxy.d.ts → standard-webhooks-BfPaZ6T1.d.ts} +2 -2
  214. package/dist/{store-g5ctUrOI.d.ts → store-DYeB-_U3.d.ts} +4 -4
  215. package/dist/{store-XgBMbfDy.js → store-DmVqy74I.js} +2 -2
  216. package/dist/{stores-53_kOwPi.js → stores-BYFopOm1.js} +2 -2
  217. package/dist/{stores-BtdN3eDO.d.ts → stores-EPul_8MN.d.ts} +5 -5
  218. package/dist/{stream-BMJg56jU.d.ts → stream-W2RuUYly.d.ts} +1 -1
  219. package/dist/supabase/client.d.ts +2 -31
  220. package/dist/supabase/index.d.ts +5 -5
  221. package/dist/supabase/index.js +3 -3
  222. package/dist/supabase/middleware.d.ts +5 -5
  223. package/dist/supabase/middleware.js +4 -4
  224. package/dist/{supabase-C8cNzp4i.js → supabase-BiViJpQ4.js} +1 -1
  225. package/dist/{supabase-C6FyUeSh.js → supabase-CogTyJH2.js} +2 -2
  226. package/dist/supabase-hook-BN46IrVI.js +1 -0
  227. package/dist/{supabase-hook-Cj85nccs.js → supabase-hook-DX38Hj8h.js} +238 -23
  228. package/dist/{supautils-BP_5WAIc.js → supautils-BGf6zRvM.js} +6 -6
  229. package/dist/svelte/index.d.ts +5 -5
  230. package/dist/svelte/index.js +5 -5
  231. package/dist/svelte/runtime.d.ts +3 -3
  232. package/dist/svelte/runtime.js +2 -2
  233. package/dist/svelte/source.d.ts +5 -5
  234. package/dist/svelte/source.js +3 -3
  235. package/dist/sveltekit/index.d.ts +4 -4
  236. package/dist/sveltekit/index.js +2 -2
  237. package/dist/{tables-BsGE6HBR.js → tables-BfOk0ymL.js} +1 -1
  238. package/dist/tanstack-start/index.d.ts +4 -4
  239. package/dist/tanstack-start/index.js +2 -2
  240. package/dist/terminal/index.d.ts +5 -5
  241. package/dist/terminal/index.js +3 -3
  242. package/dist/testing/core.d.ts +1 -1
  243. package/dist/testing/core.js +1 -1
  244. package/dist/testing/fixtures/index.js +1 -1
  245. package/dist/testing/index.d.ts +22 -22
  246. package/dist/testing/index.js +15 -15
  247. package/dist/testing/saas/index.d.ts +3 -3
  248. package/dist/testing/saas/index.js +2 -2
  249. package/dist/testing/saas/permissions.js +1 -1
  250. package/dist/{tool-refusal-C1UlhU0V.js → tool-refusal-D4spOJ7I.js} +1 -1
  251. package/dist/trpc/index.d.ts +5 -5
  252. package/dist/trpc/index.js +3 -3
  253. package/dist/{type-helpers-C_OnZW8c.d.ts → type-helpers-i1EJ3Eb1.d.ts} +1 -1
  254. package/dist/{types-CAAN7evk.d.ts → types-3Y8UpFkF.d.ts} +17 -1
  255. package/dist/{types-B3BOcI0J.d.ts → types-B8qUkGja.d.ts} +2 -2
  256. package/dist/{types-UfpcY575.d.ts → types-CCEeSCMB.d.ts} +3 -3
  257. package/dist/{types-AOP5HQku.d.ts → types-CDVXR6YD.d.ts} +1 -1
  258. package/dist/{types-CJC1aaoJ.d.ts → types-Ck1KOfug.d.ts} +2 -2
  259. package/dist/{types-BvBbkAu1.d.ts → types-CqcsNCaN.d.ts} +1 -1
  260. package/dist/{types-CA-A33Q5.d.ts → types-D-JO7lh8.d.ts} +4 -4
  261. package/dist/{types-DVZNTkU0.d.ts → types-D19MK4t-.d.ts} +3 -3
  262. package/dist/{types-Sj1U8HMm.d.ts → types-DGf_cpKF.d.ts} +2 -2
  263. package/dist/{types-e82uzrTn.d.ts → types-DmbfLu2p.d.ts} +4 -4
  264. package/dist/{types-D29K5ZNP.d.ts → types-o1vu6Ks3.d.ts} +4 -4
  265. package/dist/unplugin/index.d.ts +1 -1
  266. package/dist/unplugin/index.js +1 -1
  267. package/dist/usage-Cl5eb-e1.js +1 -0
  268. package/dist/{usage-COsGLht5.js → usage-DC0UKe6C.js} +3 -3
  269. package/dist/{usage-CqcMeQgX.js → usage-DYtRVkcN.js} +1 -1
  270. package/dist/{validation-error-DpvsBwZJ.d.ts → validation-error-Dx8PipbO.d.ts} +1 -1
  271. package/dist/{verify-C8G8D5mk.js → verify-Bpj0hauG.js} +8 -8
  272. package/dist/{version-cache-9Vq5QVFC.d.ts → version-cache-DzNKWiI6.d.ts} +1 -1
  273. package/dist/{views-TrZYlDnM.js → views-MWmJ6Y4P.js} +1 -1
  274. package/dist/vue/index.d.ts +5 -5
  275. package/dist/vue/index.js +3 -3
  276. package/dist/{waiter-C2cXXLFZ.d.ts → waiter-NK_UuZbb.d.ts} +2 -2
  277. package/dist/{watch-DXRDBSCu.js → watch-CBHADqBH.js} +1 -1
  278. package/dist/watch-OYwAPCzx.js +1 -0
  279. package/dist/webmcp/index.d.ts +1 -1
  280. package/dist/webmcp/index.js +1 -1
  281. package/dist/{who-can-BY5d3HPw.js → who-can-KhVWMxtf.js} +1 -1
  282. package/dist/workflow/index.d.ts +3 -3
  283. package/dist/workflow/index.js +2 -2
  284. package/dist/workflow-sdk/index.d.ts +4 -4
  285. package/dist/{wrap-DpZAbxuD.d.ts → wrap-BHGA-SMM.d.ts} +2 -2
  286. package/package.json +1 -1
  287. package/schemas/supabase-manifest-v1.json +1 -1
  288. package/skills/permdock-approvals/references/stores-and-resume.md +1 -1
  289. package/skills/permdock-wire/references/adapters.md +3 -1
  290. package/dist/catalog-BpnjesqX.js +0 -1
  291. package/dist/collect-CAibhmCi.js +0 -1
  292. package/dist/powersync-Cqzx25dI.js +0 -1
  293. package/dist/pull-CUVdB04v.js +0 -1
  294. package/dist/run-D9N6V5WQ.js +0 -1
  295. package/dist/supabase-hook-CPBX4dy5.js +0 -1
  296. package/dist/usage-D1cpHO7p.js +0 -1
  297. package/dist/watch-DnymTAfe.js +0 -1
@@ -1,14 +1,14 @@
1
- import { M as memoryCustomRoleSource } from "./src-nYNBfmgq.js";
1
+ import { A as memoryCustomRoleSource } from "./src-Brzq_0in.js";
2
2
  import { n as findPermission } from "./permission-registry-B8tYxPIt.js";
3
3
  import { g as secondsOf } from "./time-nR1JesoH.js";
4
4
  import { t as canonicalJson } from "./canonical-json-DwilZ1iB.js";
5
- import { t as getPermDock } from "./permdock-DdzMv5-F.js";
5
+ import { t as getPermDock } from "./permdock-D-_WrdKu.js";
6
6
  import { i as configError, u as usageResult } from "./errors-BhRkoNS7.js";
7
7
  import { t as buildCatalog } from "./catalog-doc-C4DGfJCO.js";
8
8
  import { a as loadModule, n as asPolicy, s as pickNamed } from "./load-BaEamml-.js";
9
9
  import { t as parseCatalog } from "./parse-UTC-sDrt.js";
10
- import { t as operationFindings } from "./operation-findings-CXtFzlKJ.js";
11
- import { n as fixtureSubject, r as loadFixtures, t as fixtureRow } from "./fixtures-0VTW5oNq.js";
10
+ import { t as operationFindings } from "./operation-findings-CVwJHEu_.js";
11
+ import { n as fixtureSubject, r as loadFixtures, t as fixtureRow } from "./fixtures-Cemqurt8.js";
12
12
  import { existsSync, readFileSync } from "node:fs";
13
13
  import { resolve } from "node:path";
14
14
  //#region src/cli/diff/format.ts
@@ -21,7 +21,7 @@ const diff = defineLeaf({
21
21
  }
22
22
  },
23
23
  async run(ctx, { flags, args }) {
24
- return (await import("./diff-BTsLiW59.js")).runDiff({
24
+ return (await import("./diff-BnNHqtHj.js")).runDiff({
25
25
  cwd: ctx.cwd,
26
26
  config: ctx.config,
27
27
  sources: [args["before"], args["after"]].filter((value) => value !== void 0),
@@ -5,8 +5,8 @@ import { u as isPrincipalRelation } from "./resource-relations-8-pCScBO.js";
5
5
  import { t as canonicalJson } from "./canonical-json-DwilZ1iB.js";
6
6
  import { c as rootScope, d as scopeList, o as normalizeMemberships, s as resolveScope } from "./scopes-BSdYaGHs.js";
7
7
  import { o as flattenGrantee } from "./grantee-Dke-9rd1.js";
8
- import { u as separationConflicts } from "./policy-DxQyHKPB.js";
9
- import { T as validateCustomRole } from "./evaluate-CsjXeLRo.js";
8
+ import { u as separationConflicts } from "./policy-cV_wwPb8.js";
9
+ import { T as validateCustomRole } from "./evaluate-Czbj7thS.js";
10
10
  import { s as parseCredential } from "./credential-B3Hj4puZ.js";
11
11
  import { a as describeError } from "./errors-BhRkoNS7.js";
12
12
  import { t as policyRowConditionKeys } from "./row-conditions-BAGHOmVq.js";
@@ -15,7 +15,7 @@ import { i as DOCTOR_REPORT_SCHEMA } from "./version-DMQ0dnN5.js";
15
15
  import { c as jsonSchemaOf, i as catalogOAuthScopes } from "./catalog-doc-C4DGfJCO.js";
16
16
  import { a as loadModule, i as loadConfiguredPolicy, n as asPolicy, s as pickNamed } from "./load-BaEamml-.js";
17
17
  import { t as catalogPath } from "./catalog-path-CnI0XTFK.js";
18
- import { r as runCollect } from "./collect-HfJXl8Tr.js";
18
+ import { r as runCollect } from "./collect-D878zLDP.js";
19
19
  import { n as supabaseTenantClaim } from "./budget-BBCPDOGP.js";
20
20
  import { a as filesOf, i as betterSupabaseTenantClaim, n as betterSupabaseConfig, o as nodeFiles, r as betterSupabaseDefaults, s as readJson, t as betterSupabaseAuthzVersions } from "./better-supabase-BJtQ-kNf.js";
21
21
  import { i as qualifySqlTable, s as quoteSqlLiteral } from "./sql-0WjxIp9g.js";
@@ -25,23 +25,23 @@ import { t as parseCatalog } from "./parse-UTC-sDrt.js";
25
25
  import { n as activeTenantMismatch } from "./active-tenant-DVee32-T.js";
26
26
  import "./markers-BeHZ4x9Q.js";
27
27
  import { t as didYouMean } from "./args-iafbHiXn.js";
28
- import { t as DOCS_BASE } from "./manifest-Dij1U0hx.js";
28
+ import { t as DOCS_BASE } from "./manifest-wclLWBVH.js";
29
29
  import { t as createStyle } from "./style-Ds11Hmk4.js";
30
- import { a as nonEmptyOr, r as findingOf } from "./output-DhTpe8v1.js";
31
- import { i as runSkillsInstall } from "./skills-BUuH-QFt.js";
30
+ import { a as nonEmptyOr, r as findingOf } from "./output-BFWLER4r.js";
31
+ import { i as runSkillsInstall } from "./skills-B4MPRxQd.js";
32
32
  import { n as MIGRATION_DIRS, t as DEFAULT_SENSITIVE_ACTIONS } from "./constants-DcJABbLW.js";
33
33
  import { l as partPath } from "./output-files-CM0BnH05.js";
34
- import { _ as readSupabaseConfig, a as supabaseHookManifest, c as activeSource, d as resolveSchemas, g as pd074, h as pd045, l as pd039, m as attrsPlan, n as hookOut, v as supabaseConfig } from "./supabase-hook-Cj85nccs.js";
35
- import { G as byKey, Q as graphSqlName, n as tableNameOf, o as graphPlan, r as tableNames } from "./tables-BsGE6HBR.js";
36
- import { a as guardedTables, p as contextRefs, r as unsatisfiedKinds, t as ownershipRules } from "./ownership-moSRhxl_.js";
34
+ import { _ as readSupabaseConfig, a as supabaseHookManifest, c as activeSource, d as resolveSchemas, g as pd074, h as pd045, l as pd039, m as attrsPlan, n as hookOut, v as supabaseConfig } from "./supabase-hook-DX38Hj8h.js";
35
+ import { G as byKey, Q as graphSqlName, n as tableNameOf, o as graphPlan, r as tableNames } from "./tables-BfOk0ymL.js";
36
+ import { a as guardedTables, p as contextRefs, r as unsatisfiedKinds, t as ownershipRules } from "./ownership-D-mIt-w0.js";
37
37
  import { t as membershipSourcesOf } from "./sources-qoIJQrJv.js";
38
38
  import { i as group, n as membershipColumns, o as sqlStatements, r as tableKey } from "./deciding-columns-NB4wcyBf.js";
39
39
  import { t as FIELD_VIEWS } from "./fields-CrjL6A49.js";
40
- import { t as resolveNames } from "./resolve-names-1nCei24V.js";
41
- import { a as pd010, c as pd014, d as pd038, f as pd041, i as pd008, l as pd015, n as pd001, o as pd011, p as pd057, r as pd007, s as pd013, t as runUsage, u as pd036 } from "./usage-COsGLht5.js";
42
- import { d as rowConditionMessage, f as commandFor, m as tableFor, p as compileGrants, s as ROW_CONDITION_FIX, u as helperTablePolicies } from "./verify-C8G8D5mk.js";
43
- import { a as streamOf, i as scopeSourcesOf, r as staleFiles, t as powersyncFiles } from "./powersync-C0nsyULQ.js";
44
- import { a as buildContext, n as generateOptions, r as isRefusal, s as inheritTargets, t as supautilsRejections } from "./supautils-BP_5WAIc.js";
40
+ import { t as resolveNames } from "./resolve-names-CBl4r4_r.js";
41
+ import { a as pd010, c as pd014, d as pd038, f as pd041, i as pd008, l as pd015, n as pd001, o as pd011, p as pd057, r as pd007, s as pd013, t as runUsage, u as pd036 } from "./usage-DC0UKe6C.js";
42
+ import { d as rowConditionMessage, f as commandFor, m as tableFor, p as compileGrants, s as ROW_CONDITION_FIX, u as helperTablePolicies } from "./verify-Bpj0hauG.js";
43
+ import { a as streamOf, i as scopeSourcesOf, r as staleFiles, t as powersyncFiles } from "./powersync-9PYOE1wt.js";
44
+ import { a as buildContext, n as generateOptions, r as isRefusal, s as inheritTargets, t as supautilsRejections } from "./supautils-BGf6zRvM.js";
45
45
  import { n as legacyHelperNames, r as retirePlan, t as legacyHelperCalls } from "./retire-B2xffQgY.js";
46
46
  import { basename, dirname, join, resolve } from "node:path";
47
47
  import { pathToFileURL } from "node:url";
@@ -877,8 +877,14 @@ async function pd065(input) {
877
877
  const SHARED_FACTORIES = {
878
878
  postgrestSources: "PD080",
879
879
  memoryVersionCache: "PD080",
880
+ claimsFirst: "PD080",
880
881
  instanceCache: "PD081"
881
882
  };
883
+ /** Factories whose cost differs from their code's message. */
884
+ const FACTORY_MESSAGES = { claimsFirst: {
885
+ what: "so every call passes a new memberships source, which the instance cache compares by identity, and no instance is reused",
886
+ fix: "create claimsFirst(...) once at module scope, or use permdockFor(...).sources(versions), and pass the same object to every adapter"
887
+ } };
882
888
  const MESSAGES = {
883
889
  PD080: {
884
890
  what: "so every call starts with no shared version reads",
@@ -952,17 +958,21 @@ function findings(sources, code) {
952
958
  for (const { call, factory } of callsInFunctions(source)) {
953
959
  if (SHARED_FACTORIES[factory] !== code) continue;
954
960
  const line = source.text.slice(0, call.start).split("\n").length;
961
+ const { what, fix } = FACTORY_MESSAGES[factory] ?? MESSAGES[code];
955
962
  out.push({
956
963
  code,
957
964
  severity: "warning",
958
- message: `${source.file}:${String(line)} creates ${factory}() inside a function, ${MESSAGES[code].what}`,
959
- fix: MESSAGES[code].fix
965
+ message: `${source.file}:${String(line)} creates ${factory}() inside a function, ${what}`,
966
+ fix
960
967
  });
961
968
  }
962
969
  }
963
970
  return out;
964
971
  }
965
- /** PD080: `postgrestSources` or `memoryVersionCache` created per call. */
972
+ /**
973
+ * PD080: `postgrestSources`, `memoryVersionCache` or `claimsFirst` created per
974
+ * call.
975
+ */
966
976
  function pd080(sources) {
967
977
  return findings(sources, "PD080");
968
978
  }
@@ -1206,6 +1216,29 @@ async function pd058(input) {
1206
1216
  fix: "run permdock powersync generate and deploy the files"
1207
1217
  })), ...gaps];
1208
1218
  }
1219
+ /**
1220
+ * PD084: a synced stream reads a token claim. PowerSync keeps the claims a
1221
+ * connection started with, so after a role or tenant change the device syncs by
1222
+ * the old claims until the app refreshes the session and reconnects.
1223
+ */
1224
+ async function pd084(input) {
1225
+ const { config } = input;
1226
+ if (config.powersync === void 0 || config.policy === void 0) return [];
1227
+ const policy = await policyOf(input);
1228
+ if (policy === void 0) return [];
1229
+ let claims;
1230
+ try {
1231
+ ({claims} = powersyncFiles(policy, config));
1232
+ } catch {
1233
+ return [];
1234
+ }
1235
+ return claims.map((message) => ({
1236
+ code: "PD084",
1237
+ severity: "warning",
1238
+ message,
1239
+ fix: "pass nativeRefresh from permdock/react-native to refreshOn, which refreshes the session and reconnects PowerSync on each authz:<uid> message"
1240
+ }));
1241
+ }
1209
1242
  //#endregion
1210
1243
  //#region src/cli/doctor/project.ts
1211
1244
  /**
@@ -2809,6 +2842,11 @@ const DOCTOR_CHECKS = [
2809
2842
  groups: ["powersync"],
2810
2843
  run: pd058
2811
2844
  },
2845
+ {
2846
+ code: "PD084",
2847
+ groups: ["powersync", "react-native"],
2848
+ run: pd084
2849
+ },
2812
2850
  {
2813
2851
  code: "PD061",
2814
2852
  groups: ["rls", "suspension"],
@@ -10,7 +10,7 @@ const doctor = defineLeaf({
10
10
  description: "Check codes or groups to run",
11
11
  valueHint: "code",
12
12
  async complete() {
13
- const { DOCTOR_CHECKS } = await import("./doctor-DS-9ApID.js");
13
+ const { DOCTOR_CHECKS } = await import("./doctor-CkYKCuX7.js");
14
14
  return [.../* @__PURE__ */ new Set([...DOCTOR_CHECKS.map(({ code }) => code), ...DOCTOR_CHECKS.flatMap(({ groups }) => groups)])];
15
15
  }
16
16
  },
@@ -27,7 +27,7 @@ const doctor = defineLeaf({
27
27
  if (answer === void 0) return CANCELLED;
28
28
  fix = answer;
29
29
  }
30
- return (await import("./doctor-DS-9ApID.js")).runDoctor({
30
+ return (await import("./doctor-CkYKCuX7.js")).runDoctor({
31
31
  cwd: ctx.cwd,
32
32
  config: ctx.config,
33
33
  only: flags.only,
@@ -1,7 +1,7 @@
1
- import { Kt as Instant, wr as Condition, yr as Subject } from "../policy-types-IRJVABmm.js";
2
- import { f as WhereResult } from "../permdock-DUWZEOLR.js";
1
+ import { Kt as Instant, wr as Condition, yr as Subject } from "../policy-types-D-GwfQTc.js";
2
+ import { f as WhereResult } from "../permdock-ffY4CMd9.js";
3
3
  import { r as RelationsMapping } from "../graph-sql-BwFC4Qjs.js";
4
- import { s as MembershipsMapping } from "../compile-BxiwRotu.js";
4
+ import { s as MembershipsMapping } from "../compile-DBm0ub4p.js";
5
5
  import { n as RowCheck, t as WithSubjectOptions } from "../subject-settings-vNW8qmUH.js";
6
6
  import { SQL, Table } from "drizzle-orm";
7
7
  //#region src/drizzle/types.d.ts
@@ -1,9 +1,9 @@
1
- import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-IRJVABmm.js";
1
+ import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-D-GwfQTc.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
- import { a as PermDock } from "../permdock-DUWZEOLR.js";
3
+ import { a as PermDock } from "../permdock-ffY4CMd9.js";
4
4
  import { n as RevocationFeed } from "../revocations-BaUXHM1N.js";
5
- import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-Bw-lWqzR.js";
6
- import { t as ServerAdapterOptions } from "../bind-DjFNX0Pq.js";
5
+ import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-3OnXjZ2D.js";
6
+ import { t as ServerAdapterOptions } from "../bind-DR6ku3A9.js";
7
7
  import { Elysia } from "elysia";
8
8
  //#region src/elysia/create.d.ts
9
9
  type ElysiaRequestContext = {
@@ -1,7 +1,7 @@
1
1
  import { a as parsedBody, r as hasCredentials } from "../http-DKLXrFGk.js";
2
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DG40eSJa.js";
3
- import { t as problemFromError } from "../map-error-B_f3C5cs.js";
4
- import { a as socketConnection, i as decorate, r as bindKernel } from "../bind-BJFeLX1V.js";
2
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-h3KoJAPa.js";
3
+ import { t as problemFromError } from "../map-error-BH16Ah8P.js";
4
+ import { a as socketConnection, i as decorate, r as bindKernel } from "../bind-B4pMH9bm.js";
5
5
  import { a as onRevoked, n as closeReason, t as POLICY_VIOLATION } from "../stream-CDvF0sJm.js";
6
6
  import { Elysia } from "elysia";
7
7
  //#region src/elysia/create.ts
@@ -1,4 +1,4 @@
1
- import { _n as WireDenial, qn as Decision, yr as Subject } from "./policy-types-IRJVABmm.js";
1
+ import { _n as WireDenial, qn as Decision, yr as Subject } from "./policy-types-D-GwfQTc.js";
2
2
  import { StandardSchemaV1 } from "@standard-schema/spec";
3
3
  //#region src/core/problem-details.d.ts
4
4
  type Disclosure = "hide" | "reveal";
@@ -1,7 +1,7 @@
1
1
  import { a as sole, n as isReadonlyArray, t as compact } from "./compact-CAf557ZB.js";
2
2
  import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
3
  import { n as isForbiddenKey } from "./paths-CUvURzHp.js";
4
- import { n as role, t as normalizeAssurance } from "./role-builder-BrmOcXch.js";
4
+ import { n as role, t as normalizeAssurance } from "./role-builder-CMW4wWzn.js";
5
5
  import { n as PermDockValidationError } from "./validation-error-CYg2kJEw.js";
6
6
  import { t as wireDenials } from "./wire-denial-C7PaVYEM.js";
7
7
  import { o as sameId } from "./expiry-6XByK0dm.js";
@@ -17,7 +17,7 @@ import { a as authenticated, g as isRole, i as assurance, m as findRole, o as fl
17
17
  import { a as grantCoversField, i as wireValidity, t as isActive } from "./validity-Buc7w8E9.js";
18
18
  import { o as resourceRoleCondition } from "./grantee-conditions-DX4K_gGI.js";
19
19
  import { c as nowSeconds, i as matchScopedMembership, l as partitionsOf, n as inTeam, p as scopeField, r as isMembershipExpired } from "./tenancy-DvOHHk3-.js";
20
- import { i as grantList, n as declaredRoleNames, s as levelCondition } from "./policy-DxQyHKPB.js";
20
+ import { i as grantList, n as declaredRoleNames, s as levelCondition } from "./policy-cV_wwPb8.js";
21
21
  import { t as requiresApproval } from "./approval-required-TzNB9oQA.js";
22
22
  import { i as rootMembershipId } from "./subject-C7RddW0G.js";
23
23
  import { a as versionOf, i as tokenPayload, n as decisionToken } from "./token-DaMnIU9O.js";
@@ -1,6 +1,6 @@
1
- import { E as Policy } from "./policy-types-IRJVABmm.js";
2
- import { a as PermDock } from "./permdock-DUWZEOLR.js";
3
- import { m as ApprovalStore } from "./types-BvBbkAu1.js";
1
+ import { E as Policy } from "./policy-types-D-GwfQTc.js";
2
+ import { a as PermDock } from "./permdock-ffY4CMd9.js";
3
+ import { m as ApprovalStore } from "./types-CqcsNCaN.js";
4
4
  //#region src/server/evaluations.d.ts
5
5
  /** AuthZEN 1.0 section 7.1.2.1 `options.evaluations_semantic` values. */
6
6
  declare const EVALUATIONS_SEMANTICS: readonly ["execute_all", "deny_on_first_deny", "permit_on_first_permit"];
@@ -6,7 +6,7 @@ import { h as secondsAt } from "./time-nR1JesoH.js";
6
6
  import { n as resourceRef } from "./resource-ref-CaS9yVPi.js";
7
7
  import { n as readBodyText } from "./body-text-DQhcmqdY.js";
8
8
  import { f as validationProblem, l as problemResponse, n as batchTooLarge } from "./problem-BVLHFK33.js";
9
- import { i as readApprovalHeader, s as resumeDecision } from "./helpers-DNnZffrI.js";
9
+ import { i as readApprovalHeader, s as resumeDecision } from "./helpers-DmqGy63f.js";
10
10
  import { t as bodyTooLarge } from "./body-CJQwYVa8.js";
11
11
  import { t as timeoutSignal } from "./timeout-D51niuQP.js";
12
12
  import { n as NO_GRANT } from "./decision-CaG5_eNJ.js";
@@ -1,8 +1,8 @@
1
- import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-IRJVABmm.js";
1
+ import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-D-GwfQTc.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
- import { a as PermDock } from "../permdock-DUWZEOLR.js";
4
- import { u as ApprovalRequest } from "../types-BvBbkAu1.js";
5
- import { o as AgentAdapterOptions, t as AgentPermDock } from "../create-bzQlBzG4.js";
3
+ import { a as PermDock } from "../permdock-ffY4CMd9.js";
4
+ import { u as ApprovalRequest } from "../types-CqcsNCaN.js";
5
+ import { o as AgentAdapterOptions, t as AgentPermDock } from "../create-BzwjZuRS.js";
6
6
  //#region src/eve/create.d.ts
7
7
  /** Structural `SessionAuthContext` from `eve`. */
8
8
  type EvePrincipal = {
package/dist/eve/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { t as compact } from "../compact-CAf557ZB.js";
2
- import { l as withApp } from "../permdock-DdzMv5-F.js";
2
+ import { l as withApp } from "../permdock-D-_WrdKu.js";
3
3
  import { c as isApprovalError } from "../types-CcUXciSj.js";
4
- import { o as resolveApproval } from "../helpers-DNnZffrI.js";
5
- import { t as agentRuntime } from "../create-gqtDb1nU.js";
4
+ import { o as resolveApproval } from "../helpers-DmqGy63f.js";
5
+ import { t as agentRuntime } from "../create-C-tm3KIF.js";
6
6
  import { t as boundedMap } from "../lru-8q4WZjBV.js";
7
7
  //#region src/eve/create.ts
8
8
  const TOKENS_PER_PROCESS = 1e3;
@@ -1,8 +1,8 @@
1
- import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-IRJVABmm.js";
1
+ import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-D-GwfQTc.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
- import { a as PermDock } from "../permdock-DUWZEOLR.js";
4
- import { f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-Bw-lWqzR.js";
5
- import { t as ServerAdapterOptions } from "../bind-DjFNX0Pq.js";
3
+ import { a as PermDock } from "../permdock-ffY4CMd9.js";
4
+ import { f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-3OnXjZ2D.js";
5
+ import { t as ServerAdapterOptions } from "../bind-DR6ku3A9.js";
6
6
  import { i as toRequest, r as sendResponse } from "../http-B_LphE5Y.js";
7
7
  import { ErrorRequestHandler, Request, RequestHandler, Response, Router } from "express";
8
8
  //#region src/express/create.d.ts
@@ -1,7 +1,7 @@
1
1
  import { r as hasCredentials } from "../http-DKLXrFGk.js";
2
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DG40eSJa.js";
3
- import { t as problemFromError } from "../map-error-B_f3C5cs.js";
4
- import { i as decorate, r as bindKernel } from "../bind-BJFeLX1V.js";
2
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-h3KoJAPa.js";
3
+ import { t as problemFromError } from "../map-error-BH16Ah8P.js";
4
+ import { i as decorate, r as bindKernel } from "../bind-B4pMH9bm.js";
5
5
  import { n as sendResponse, r as toRequest } from "../http-DH94eh6f.js";
6
6
  import express from "express";
7
7
  //#region src/express/create.ts
@@ -1,8 +1,8 @@
1
- import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-IRJVABmm.js";
1
+ import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-D-GwfQTc.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
- import { a as PermDock } from "../permdock-DUWZEOLR.js";
4
- import { f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-Bw-lWqzR.js";
5
- import { t as ServerAdapterOptions } from "../bind-DjFNX0Pq.js";
3
+ import { a as PermDock } from "../permdock-ffY4CMd9.js";
4
+ import { f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-3OnXjZ2D.js";
5
+ import { t as ServerAdapterOptions } from "../bind-DR6ku3A9.js";
6
6
  import { FastifyPluginAsync, FastifyReply, FastifyRequest, FastifySchema, FastifyTypeProvider, FastifyTypeProviderDefault, RawRequestDefaultExpression, RawServerDefault, RouteGenericInterface } from "fastify";
7
7
  //#region src/server/http.d.ts
8
8
  /** A Fastify-style reply: `code`, `header` and `send`. */
@@ -1,7 +1,7 @@
1
1
  import { c as writeReply, i as headersFrom, n as firstHeader, r as hasCredentials, t as fetchRequest } from "../http-DKLXrFGk.js";
2
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DG40eSJa.js";
3
- import { t as problemFromError } from "../map-error-B_f3C5cs.js";
4
- import { i as decorate, r as bindKernel } from "../bind-BJFeLX1V.js";
2
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-h3KoJAPa.js";
3
+ import { t as problemFromError } from "../map-error-BH16Ah8P.js";
4
+ import { i as decorate, r as bindKernel } from "../bind-B4pMH9bm.js";
5
5
  //#region src/fastify/http.ts
6
6
  function toRequest(request) {
7
7
  const host = firstHeader(request.headers.host) ?? "localhost";
@@ -1,8 +1,8 @@
1
1
  import { u as Permission } from "./permission-types-CAY-GU7e.js";
2
2
  import { a as OperationInput, t as Operation } from "./operations-Ci_rT6Uo.js";
3
3
  import { n as RevocationFeed } from "./revocations-BaUXHM1N.js";
4
- import { o as ProtectOptions } from "./server-types-Bw-lWqzR.js";
5
- import { t as ServerAdapterOptions } from "./bind-DjFNX0Pq.js";
4
+ import { o as ProtectOptions } from "./server-types-3OnXjZ2D.js";
5
+ import { t as ServerAdapterOptions } from "./bind-DR6ku3A9.js";
6
6
  //#region src/server/fetch-adapter.d.ts
7
7
  /**
8
8
  * What `protect` checks: a permission, an operation from `defineOperations`, or
@@ -2,8 +2,8 @@ import { t as compact } from "./compact-CAf557ZB.js";
2
2
  import { o as isPermission } from "./permission-registry-B8tYxPIt.js";
3
3
  import { r as hasCredentials } from "./http-DKLXrFGk.js";
4
4
  import { o as methodNotAllowed } from "./problem-BVLHFK33.js";
5
- import { t as problemFromError } from "./map-error-B_f3C5cs.js";
6
- import { i as decorate, r as bindKernel } from "./bind-BJFeLX1V.js";
5
+ import { t as problemFromError } from "./map-error-BH16Ah8P.js";
6
+ import { i as decorate, r as bindKernel } from "./bind-B4pMH9bm.js";
7
7
  //#region src/server/fetch-adapter.ts
8
8
  /**
9
9
  * `protect(target, data, options)(handler)` for a framework whose routes are
@@ -5,12 +5,18 @@ import { a as loadModule, s as pickNamed } from "./load-BaEamml-.js";
5
5
  import { existsSync } from "node:fs";
6
6
  import { resolve } from "node:path";
7
7
  //#region src/cli/fixtures.ts
8
+ function checkChange(item, index) {
9
+ const after = item["after"];
10
+ if (!isRecord(after) || item["expected"] !== "changed" || item["action"] !== void 0 || item["table"] !== void 0 || item["stream"] !== void 0 && (typeof item["stream"] !== "string" || item["stream"].length === 0) || after["tenant"] !== void 0 && typeof after["tenant"] !== "string" || after["roles"] !== void 0 && (!Array.isArray(after["roles"]) || !after["roles"].every((name) => typeof name === "string")) || after["memberships"] !== void 0 && !Array.isArray(after["memberships"]) || after["claims"] !== void 0 && !isRecord(after["claims"])) throw configError(`PermDock CLI: fixture ${index} needs after (tenant, roles, memberships, claims) and expected "changed", without action or table`);
11
+ }
8
12
  function asFixtures(value, followed = false) {
9
13
  const list = Array.isArray(value) ? value : isRecord(value) && Array.isArray(value["fixtures"]) ? value["fixtures"] : void 0;
10
14
  if (list === void 0) throw configError("PermDock CLI: fixtures must be an array or { fixtures }");
11
15
  return list.map((item, index) => {
12
- if (!isRecord(item) || !isRecord(item["subject"]) || item["row"] === void 0) throw configError(`PermDock CLI: fixture ${index} needs subject and row`);
13
- if (followed && item["table"] !== void 0) {
16
+ const change = followed && isRecord(item) && item["after"] !== void 0;
17
+ if (!isRecord(item) || !isRecord(item["subject"]) || item["row"] === void 0 && !change) throw configError(`PermDock CLI: fixture ${index} needs subject and row`);
18
+ if (change) checkChange(item, index);
19
+ else if (followed && item["table"] !== void 0) {
14
20
  if (typeof item["table"] !== "string" || item["table"].length === 0 || item["action"] !== void 0 || item["expected"] !== "granted" && item["expected"] !== "denied") throw configError(`PermDock CLI: fixture ${index} needs table and expected (granted or denied), without action`);
15
21
  } else if (typeof item["action"] !== "string") throw new TypeError(`PermDock CLI: fixture ${index} needs action`);
16
22
  if (typeof item["subject"]["id"] !== "string") throw new TypeError(`PermDock CLI: fixture ${index} subject needs id`);
@@ -41,7 +41,7 @@ const gen = defineLeaf({
41
41
  const out = given(flags.out);
42
42
  const outDir = given(flags["out-dir"]);
43
43
  const from = given(flags.policy);
44
- const { runGen } = await import("./gen-DnpZwQPo.js");
44
+ const { runGen } = await import("./gen-mf-MRwVr.js");
45
45
  return runGen({
46
46
  cwd: ctx.cwd,
47
47
  config: ctx.config,
@@ -1,5 +1,5 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
- import { t as DESCRIBE_TITLES } from "./describe-CogP1loh.js";
2
+ import { t as DESCRIBE_TITLES } from "./describe-BZAlPHxT.js";
3
3
  import { c as listPermissions } from "./permission-registry-B8tYxPIt.js";
4
4
  import { d as scopeList } from "./scopes-BSdYaGHs.js";
5
5
  import { v as listRoles } from "./grantee-Dke-9rd1.js";
@@ -7,10 +7,10 @@ import { t as byCodePoint } from "./compare-DTfyUunF.js";
7
7
  import { i as configError, n as CliError } from "./errors-BhRkoNS7.js";
8
8
  import { c as jsonSchemaOf } from "./catalog-doc-C4DGfJCO.js";
9
9
  import { c as requirePolicy } from "./load-BaEamml-.js";
10
- import { t as loadConfiguredOperations } from "./catalog-operations-DVI5QO5R.js";
10
+ import { t as loadConfiguredOperations } from "./catalog-operations-BD22drQf.js";
11
11
  import { n as fileSummary, r as planFiles } from "./files-CfiRtQ-m.js";
12
12
  import { f as writeOutputFiles, r as driftOf } from "./output-files-CM0BnH05.js";
13
- import { t as resolveNames } from "./resolve-names-1nCei24V.js";
13
+ import { t as resolveNames } from "./resolve-names-CBl4r4_r.js";
14
14
  import { i as schemaExpression } from "./generate-CezbCaTI.js";
15
15
  import { existsSync, readFileSync } from "node:fs";
16
16
  import { dirname, extname, relative, resolve } from "node:path";
@@ -1,7 +1,7 @@
1
- import { $t as Snapshot, E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-IRJVABmm.js";
2
- import { a as PermDock } from "../permdock-DUWZEOLR.js";
3
- import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-Bw-lWqzR.js";
4
- import { a as ProtectTarget, n as FetchAdapterOptions, r as FetchProtect, t as ContextReader } from "../fetch-adapter-BgqpOOpd.js";
1
+ import { $t as Snapshot, E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-D-GwfQTc.js";
2
+ import { a as PermDock } from "../permdock-ffY4CMd9.js";
3
+ import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-3OnXjZ2D.js";
4
+ import { a as ProtectTarget, n as FetchAdapterOptions, r as FetchProtect, t as ContextReader } from "../fetch-adapter-BdmfnbJM.js";
5
5
  import { EventHandler, H3Event, H3EventContext, Middleware } from "h3";
6
6
  //#region src/h3/create.d.ts
7
7
  type H3PermDockOptions<TUser = unknown> = FetchAdapterOptions<H3Event, TUser>;
package/dist/h3/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DG40eSJa.js";
2
- import { i as decorate } from "../bind-BJFeLX1V.js";
3
- import { t as fetchAdapter } from "../fetch-adapter-UZOW0PRC.js";
1
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-h3KoJAPa.js";
2
+ import { i as decorate } from "../bind-B4pMH9bm.js";
3
+ import { t as fetchAdapter } from "../fetch-adapter-DH-NJPbL.js";
4
4
  //#region src/h3/create.ts
5
5
  function createPermDock(policy, options) {
6
6
  const adapter = fetchAdapter(policy, options, "h3", (event) => event.req);
@@ -1,7 +1,7 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
2
  import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
- import { i as approverManagerKey, r as approverLeaves } from "./approvers-CNtl4Vc5.js";
4
- import { n as describe } from "./describe-CogP1loh.js";
3
+ import { i as approverManagerKey, r as approverLeaves } from "./approvers-BaNwKYgd.js";
4
+ import { n as describe } from "./describe-BZAlPHxT.js";
5
5
  import { i as getRegistry, n as findPermission } from "./permission-registry-B8tYxPIt.js";
6
6
  import { t as assertAppData } from "./app-data-UNNm07jV.js";
7
7
  import { a as durationOf, i as dateAt, u as isoAt } from "./time-nR1JesoH.js";
@@ -9,7 +9,7 @@ import { r as relationReader, t as pendingRelations } from "./relations-BxvRvDHK
9
9
  import { n as resolveRelated } from "./relation-walk-DK_gkgL7.js";
10
10
  import { n as toWireDelegation } from "./wire-delegation-Cv3W2eaM.js";
11
11
  import { i as approverRelationKey, s as ApprovalError, t as APPROVAL_HEADER } from "./types-CcUXciSj.js";
12
- import { n as assertApprover, u as listAllApprovals } from "./store-XgBMbfDy.js";
12
+ import { n as assertApprover, u as listAllApprovals } from "./store-DmVqy74I.js";
13
13
  import { n as parseApprovalHeader } from "./approval-header-8QV6MU4H.js";
14
14
  //#region src/approvals/relations.ts
15
15
  const DEFAULT_PARENT_DEPTH = 16;
@@ -100,20 +100,28 @@ async function managesWithin(source, requester, approver, levels, now) {
100
100
  }
101
101
  return false;
102
102
  }
103
- /** The `manager()` approvers of `request` that `subject` satisfies. */
104
- async function managerFacts(request, subject, options) {
105
- const approvers = request.approvers;
106
- const requester = request.subject.principal?.id;
103
+ /**
104
+ * The `approverManagerKey`s of the `manager()` items in `items` that `approver`
105
+ * satisfies for `requester`. A requester never manages themselves into
106
+ * approving their own request.
107
+ */
108
+ async function managerKeys(items, requester, approver, options) {
107
109
  const source = options.relations;
108
- if (approvers === void 0 || requester === void 0 || source === void 0 || subject.principal === null) return [];
109
- const items = /* @__PURE__ */ new Map();
110
- for (const item of requestApprovers(approvers)) if (item.kind === "manager") items.set(approverManagerKey(item), item);
111
- const approver = subject.principal.id;
110
+ if (source === void 0 || requester === approver) return [];
111
+ const managers = /* @__PURE__ */ new Map();
112
+ for (const item of items) if (item.kind === "manager") managers.set(approverManagerKey(item), item);
112
113
  const now = dateAt(options.now).getTime() / 1e3;
113
- const entries = [...items];
114
+ const entries = [...managers];
114
115
  const verdicts = await Promise.all(entries.map(([, item]) => managesWithin(source, requester, approver, item.levels ?? 1, now)));
115
116
  return entries.flatMap(([key], index) => verdicts[index] === true ? [key] : []);
116
117
  }
118
+ /** The `manager()` approvers of `request` that `subject` satisfies. */
119
+ function managerFacts(request, subject, options) {
120
+ const approvers = request.approvers;
121
+ const requester = request.subject.principal?.id;
122
+ if (approvers === void 0 || requester === void 0 || subject.principal === null) return [];
123
+ return managerKeys(requestApprovers(approvers), requester, subject.principal.id, options);
124
+ }
117
125
  /**
118
126
  * The relation and `manager()` approvers of `request` that `subject` holds,
119
127
  * keyed by `approverRelationKey` and `approverManagerKey`, for
@@ -502,4 +510,4 @@ async function storedApprovalToken(store, decision, options = {}) {
502
510
  }
503
511
  }
504
512
  //#endregion
505
- export { requestApproval as a, resumeFromHeader as c, vouchApproval as d, approverPermissions as f, readApprovalHeader as i, storedApprovalToken as l, approverRelations as m, consumeApproval as n, resolveApproval as o, heldPermissions as p, inspectApproval as r, resumeDecision as s, cancelApprovals as t, summarizeSubject as u };
513
+ export { requestApproval as a, resumeFromHeader as c, vouchApproval as d, approverPermissions as f, managerKeys as h, readApprovalHeader as i, storedApprovalToken as l, approverRelations as m, consumeApproval as n, resolveApproval as o, heldPermissions as p, inspectApproval as r, resumeDecision as s, cancelApprovals as t, summarizeSubject as u };
@@ -1,9 +1,9 @@
1
- import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-IRJVABmm.js";
1
+ import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-D-GwfQTc.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
- import { a as PermDock } from "../permdock-DUWZEOLR.js";
3
+ import { a as PermDock } from "../permdock-ffY4CMd9.js";
4
4
  import { n as RevocationFeed } from "../revocations-BaUXHM1N.js";
5
- import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-Bw-lWqzR.js";
6
- import { t as ServerAdapterOptions } from "../bind-DjFNX0Pq.js";
5
+ import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-3OnXjZ2D.js";
6
+ import { t as ServerAdapterOptions } from "../bind-DR6ku3A9.js";
7
7
  import { Context, Hono, MiddlewareHandler } from "hono";
8
8
  import { SSEMessage, SSEStreamingApi } from "hono/streaming";
9
9
  import { WSEvents } from "hono/ws";
@@ -1,8 +1,8 @@
1
1
  import { t as compact } from "../compact-CAf557ZB.js";
2
2
  import { r as PermDockRevokedError } from "../errors-B6R_lg2a.js";
3
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DG40eSJa.js";
4
- import { t as problemFromError } from "../map-error-B_f3C5cs.js";
5
- import { r as bindKernel } from "../bind-BJFeLX1V.js";
3
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-h3KoJAPa.js";
4
+ import { t as problemFromError } from "../map-error-BH16Ah8P.js";
5
+ import { r as bindKernel } from "../bind-B4pMH9bm.js";
6
6
  import { a as onRevoked, n as closeReason, r as guardIterable, t as POLICY_VIOLATION } from "../stream-CDvF0sJm.js";
7
7
  import { Hono } from "hono";
8
8
  //#region src/hono/create.ts
@@ -1,4 +1,4 @@
1
- import { E as Policy, Pn as Grantee, o as ApprovalRequirement, wr as Condition } from "./policy-types-IRJVABmm.js";
1
+ import { E as Policy, Pn as Grantee, o as ApprovalRequirement, wr as Condition } from "./policy-types-D-GwfQTc.js";
2
2
  //#region src/core/hosted.d.ts
3
3
  /**
4
4
  * One grant authored in PermDock Cloud; its grantee is a declared role, plan or
@@ -1,14 +1,14 @@
1
1
  import { r as isRecord, t as compact } from "./compact-CAf557ZB.js";
2
2
  import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
3
  import { n as isForbiddenKey, s as splitPath } from "./paths-CUvURzHp.js";
4
- import { a as deny, i as completeGrant, l as normalizeWhere, n as role, r as allow } from "./role-builder-BrmOcXch.js";
4
+ import { a as deny, i as completeGrant, l as normalizeWhere, n as role, r as allow } from "./role-builder-CMW4wWzn.js";
5
5
  import { a as getResource, n as findPermission } from "./permission-registry-B8tYxPIt.js";
6
6
  import { d as isSelfParented } from "./resource-relations-8-pCScBO.js";
7
7
  import { a as durationOf, l as isRfc3339, m as rfc3339 } from "./time-nR1JesoH.js";
8
8
  import { r as sha256Digest } from "./sha256-C-4WXKIu.js";
9
9
  import { _ as listPlans, m as findRole, o as flattenGrantee } from "./grantee-Dke-9rd1.js";
10
- import { o as readWireApproval } from "./approval-normalize-4KxMRdJC.js";
11
- import { a as indexPolicy, n as declaredRoleNames } from "./policy-DxQyHKPB.js";
10
+ import { o as readWireApproval } from "./approval-normalize-CUjgSsOl.js";
11
+ import { a as indexPolicy, n as declaredRoleNames } from "./policy-cV_wwPb8.js";
12
12
  //#region src/core/hosted.ts
13
13
  function memoryPolicySource(document = null) {
14
14
  const current = document === null ? null : parsePolicyDocument(document);
@@ -4,7 +4,7 @@ import { i as readJsonFile } from "./files-BSjrtIHw.js";
4
4
  import { t as applyFiles } from "./files-CfiRtQ-m.js";
5
5
  import { n as httpRequest } from "./http-DhMWeB_h.js";
6
6
  import { i as schemaExpression, t as emitPermissionsModule } from "./generate-CezbCaTI.js";
7
- import { t as validateOpenapi } from "./schema-9_NDz8fx.js";
7
+ import { t as validateOpenapi } from "./schema-B_9tXrbG.js";
8
8
  import { existsSync, readFileSync } from "node:fs";
9
9
  import { resolve } from "node:path";
10
10
  //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/browser/dist/nodes/identity.js
@@ -1,5 +1,5 @@
1
- import { E as Policy, _r as Principal, gt as TokenSigner } from "./policy-types-IRJVABmm.js";
2
- import { E as SsfPermDockOptions, O as SsfStreamConfiguration, T as SsfPermDock, _ as SetSubject, c as PushSetOptions, d as SetDelivery, g as SetQueue, h as SetPollHandlerOptions, k as SsfStreamStatus, m as SetEvent, p as SetError, t as CaepCommon, v as SignSetOptions } from "./types-CJC1aaoJ.js";
1
+ import { E as Policy, _r as Principal, gt as TokenSigner } from "./policy-types-D-GwfQTc.js";
2
+ import { E as SsfPermDockOptions, O as SsfStreamConfiguration, T as SsfPermDock, _ as SetSubject, c as PushSetOptions, d as SetDelivery, g as SetQueue, h as SetPollHandlerOptions, k as SsfStreamStatus, m as SetEvent, p as SetError, t as CaepCommon, v as SignSetOptions } from "./types-Ck1KOfug.js";
3
3
  //#region src/ssf/create.d.ts
4
4
  declare function createPermDock<TUser, TPrincipal extends Principal = Principal>(policy: Policy<TUser, TPrincipal>, options: SsfPermDockOptions): SsfPermDock;
5
5
  //#endregion