permdock 0.1.0 → 0.3.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 (350) hide show
  1. package/README.md +106 -47
  2. package/dist/a2a/index.d.ts +7 -16
  3. package/dist/a2a/index.js +59 -98
  4. package/dist/adapter-context-mlWsVGGg.js +23 -0
  5. package/dist/ai-sdk/index.d.ts +37 -16
  6. package/dist/ai-sdk/index.js +30 -13
  7. package/dist/approvals/index.d.ts +3 -3
  8. package/dist/approvals/index.js +5 -4
  9. package/dist/{approvals-DaxY-Bdg.js → approvals-DbYAuNkG.js} +17 -11
  10. package/dist/approvers-DT4AVyIg.js +52 -0
  11. package/dist/{arazzo-CTeVuXr5.js → arazzo-BAgw9ap6.js} +2 -2
  12. package/dist/{arazzo-aoTkqYsJ.js → arazzo-CKwwqFWz.js} +2 -2
  13. package/dist/authzen/index.d.ts +4 -13
  14. package/dist/authzen/index.js +16 -50
  15. package/dist/better-auth/index.d.ts +20 -3
  16. package/dist/better-auth/index.js +27 -7
  17. package/dist/better-supabase/index.d.ts +223 -0
  18. package/dist/better-supabase/index.js +648 -0
  19. package/dist/bind-C_ob3LKa.d.ts +25 -0
  20. package/dist/bind-CuzGytRf.js +97 -0
  21. package/dist/boundary-BM8a_P6E.js +13 -0
  22. package/dist/boundary-BmHxVH1J.d.ts +15 -0
  23. package/dist/canonical-json-DemiK4Vp.js +26 -0
  24. package/dist/{capability-BDG_nkxt.d.ts → capability-2kYTMWDv.d.ts} +2 -2
  25. package/dist/{capability-B68OFnZx.js → capability-4qPdO9gk.js} +7 -5
  26. package/dist/catalog/index.d.ts +1 -1
  27. package/dist/catalog/index.js +1 -1
  28. package/dist/catalog-CRW5Mx_B.js +2 -0
  29. package/dist/{catalog-H-vFGwWK.js → catalog-DWF5cYqB.js} +4 -4
  30. package/dist/{catalog-B0E6bggc.js → catalog-dFZdWCGN.js} +2 -2
  31. package/dist/{catalog-doc-BSo_Q_-6.js → catalog-doc-DdGm82XT.js} +20 -32
  32. package/dist/claude-agent/index.d.ts +5 -14
  33. package/dist/claude-agent/index.js +4 -10
  34. package/dist/clerk/index.d.ts +12 -3
  35. package/dist/clerk/index.js +26 -5
  36. package/dist/cli/bin.js +1 -1
  37. package/dist/cli/index.d.ts +3 -3
  38. package/dist/cli/index.js +2 -2
  39. package/dist/clients-C7zLFuWT.d.ts +12 -0
  40. package/dist/clients-DjU5ABMy.js +23 -0
  41. package/dist/cloud/index.d.ts +4 -5
  42. package/dist/cloud/index.js +20 -6
  43. package/dist/{cloud-BNQTrmrr.js → cloud-CB_ELYuX.js} +2 -2
  44. package/dist/{cloud-Cuxr6Czw.js → cloud-DWLXO2af.js} +7 -6
  45. package/dist/collect-DClJsheJ.js +83 -0
  46. package/dist/{collect-O-tOtbnk.js → collect-DSTE3ml9.js} +194 -42
  47. package/dist/collect-DSWOk19R.js +2 -0
  48. package/dist/{commands-BMh_Etm2.js → commands-DSxCqG9A.js} +16 -12
  49. package/dist/compile/index.d.ts +3 -0
  50. package/dist/compile/index.js +2 -0
  51. package/dist/{compile-D22iwvuV.js → compile-Ba4blROR.js} +85 -30
  52. package/dist/compile-BkRyBDBw.d.ts +94 -0
  53. package/dist/config-BJiM-xAm.js +157 -0
  54. package/dist/config-Dnszbv-6.js +36 -0
  55. package/dist/config-report-DMvWKUxL.js +44 -0
  56. package/dist/{connection-JvqwHODC.js → connection-CU8MQxRi.js} +1 -1
  57. package/dist/{context-CKEAabd7.js → context-Bcy85rGi.js} +36 -27
  58. package/dist/convex/index.d.ts +9 -4
  59. package/dist/convex/index.js +14 -4
  60. package/dist/create-B1d519XK.d.ts +245 -0
  61. package/dist/create-CMwIl-w2.js +253 -0
  62. package/dist/{credential-B_rkUNlY.js → credential-8P81ff4u.js} +26 -46
  63. package/dist/delegation-D8pUEuce.js +103 -0
  64. package/dist/{describe-Bt1YD5uS.js → describe-B_gVZEVi.js} +10 -15
  65. package/dist/{describe-DernyItf.d.ts → describe-DMYiCjJV.d.ts} +9 -10
  66. package/dist/{diff-x5Il8LVa.js → diff-2VaeChzX.js} +44 -11
  67. package/dist/{diff-BUzf5Poi.js → diff-DBIhz_f2.js} +2 -2
  68. package/dist/{doctor-Bqo6FwUa.js → doctor-BwCAMLx_.js} +2 -2
  69. package/dist/doctor-collect-CHk6XWOA.js +665 -0
  70. package/dist/doctor-igIiM_Hl.js +1194 -0
  71. package/dist/drizzle/index.d.ts +4 -3
  72. package/dist/drizzle/index.js +3 -3
  73. package/dist/elysia/index.d.ts +6 -28
  74. package/dist/elysia/index.js +16 -60
  75. package/dist/{errors-DSMnAVNa.js → errors-CWfoNg9N.js} +8 -4
  76. package/dist/{errors-Iy71s7Oj.js → errors-Cz5zn0mW.js} +17 -71
  77. package/dist/{errors-DbZ1YOnb.d.ts → errors-DPdqI50v.d.ts} +8 -21
  78. package/dist/{errors-m3u9TmDu.js → errors-DRnGZHzF.js} +4 -1
  79. package/dist/evaluation-items-CfCCejQd.js +40 -0
  80. package/dist/{evaluations-DsAU9ppl.js → evaluations-tz6D9A2G.js} +28 -46
  81. package/dist/eve/index.d.ts +6 -15
  82. package/dist/eve/index.js +7 -12
  83. package/dist/expiry-BoBJ8Tvc.js +7 -0
  84. package/dist/express/index.d.ts +6 -29
  85. package/dist/express/index.js +28 -58
  86. package/dist/fastify/index.d.ts +6 -29
  87. package/dist/fastify/index.js +16 -65
  88. package/dist/fields-BMl1RxoX.js +26 -0
  89. package/dist/{files-B_wAGYmt.js → files-DWUN9PzI.js} +5 -1
  90. package/dist/{fixtures-Cvaw0gDG.js → fixtures-ht28Cplr.js} +5 -2
  91. package/dist/{freeze-y1_jQL4v.js → freeze-CrU8nQeX.js} +31 -2
  92. package/dist/{from-snapshot-BMGnhmgv.js → from-snapshot-CTLijvdm.js} +66 -48
  93. package/dist/{grantee-Bv04_Vzf.js → grantee-Cv5Sogfv.js} +88 -7
  94. package/dist/graph-sql-B-dsAT6j.d.ts +29 -0
  95. package/dist/{headers-B5RRv3Xm.js → headers-BZSDieNT.js} +1 -1
  96. package/dist/{headers-C8SHQccD.d.ts → headers-Cf-zWvsO.d.ts} +1 -1
  97. package/dist/helpers-H_KARDVC.js +421 -0
  98. package/dist/hono/index.d.ts +6 -28
  99. package/dist/hono/index.js +11 -43
  100. package/dist/{hosted-BwKQ1BTA.js → hosted-DJQw46hn.js} +6 -5
  101. package/dist/{http-GgVApX1k.js → http-BIhmLfCc.js} +4 -20
  102. package/dist/http-SO7qGttf.js +44 -0
  103. package/dist/ids-DC4V4CFu.js +18 -0
  104. package/dist/index-0nNqHspG.d.ts +6 -0
  105. package/dist/{index-xIxJLwOQ.d.ts → index-BNc7Wer_.d.ts} +75 -7
  106. package/dist/{index-CltcQ4Bf.d.ts → index-C7Tw7MaW.d.ts} +68 -5
  107. package/dist/{index-LF_hS-yn.d.ts → index-C8z4RjQV.d.ts} +1 -1
  108. package/dist/index.d.ts +14 -9
  109. package/dist/index.js +22 -17
  110. package/dist/instance-options-Dhhcnm3y.js +22 -0
  111. package/dist/instance-options-jARdwfPN.d.ts +11 -0
  112. package/dist/{parse-DPfIvFMU.js → json-schema-BsAflUGW.js} +28 -57
  113. package/dist/jwt/index.d.ts +10 -6
  114. package/dist/jwt/index.js +32 -13
  115. package/dist/kernel-_RRHmnMY.js +208 -0
  116. package/dist/kysely/index.d.ts +4 -3
  117. package/dist/kysely/index.js +3 -3
  118. package/dist/live-options-H2eG8dfJ.js +60 -0
  119. package/dist/{load-BZ24CpZP.js → load-DhWEB9P1.js} +16 -10
  120. package/dist/load-DwJUafYN.js +2 -0
  121. package/dist/manifest-iaoBXHKc.js +783 -0
  122. package/dist/manifest-uDS9y5de.d.ts +206 -0
  123. package/dist/{map-DowSO96j.js → map-AcxK9o_D.js} +4 -15
  124. package/dist/{map-claims-B_6I1Rn-.js → map-claims-Z4QZOiFF.js} +13 -4
  125. package/dist/map-error-pgUWNNtG.js +23 -0
  126. package/dist/may-use-DndQ5tQ-.js +77 -0
  127. package/dist/mcp/index.d.ts +54 -22
  128. package/dist/mcp/index.js +218 -178
  129. package/dist/nest/index.d.ts +26 -31
  130. package/dist/nest/index.js +75 -84
  131. package/dist/next/client.d.ts +7 -8
  132. package/dist/next/client.js +11 -9
  133. package/dist/next/index.d.ts +30 -47
  134. package/dist/next/index.js +45 -60
  135. package/dist/next/plugin.d.ts +1 -1
  136. package/dist/next/plugin.js +32 -1
  137. package/dist/node/index.d.ts +9 -28
  138. package/dist/node/index.js +11 -43
  139. package/dist/openai/index.d.ts +6 -15
  140. package/dist/openai/index.js +7 -20
  141. package/dist/openapi/index.d.ts +87 -4
  142. package/dist/openapi/index.js +3 -3
  143. package/dist/{openapi-DcqM8nU7.js → openapi-BqRBvAng.js} +237 -5
  144. package/dist/{openapi-DWD0Uc_4.js → openapi-CqqEbHsL.js} +5 -5
  145. package/dist/{openapi-import-BWRUNNeW.js → openapi-import-cmwetbzw.js} +1 -1
  146. package/dist/{openapi-CwePaF7C.js → openapi-l0xYHkcv.js} +3 -3
  147. package/dist/{openapi-schema-D8j_T9tO.js → openapi-schema--ARjyfQr.js} +2 -2
  148. package/dist/orpc/index.d.ts +15 -28
  149. package/dist/orpc/index.js +74 -117
  150. package/dist/otel/index.d.ts +2 -2
  151. package/dist/parse-BuyjxhZV.js +53 -0
  152. package/dist/parse-local-manifest-BrMozJCo.js +36 -0
  153. package/dist/parse-local-manifest-JLnaBH0S.d.ts +10 -0
  154. package/dist/pdp/index.d.ts +2 -2
  155. package/dist/pdp/index.js +14 -127
  156. package/dist/{permdock-yoZ7EjxX.js → permdock-CbgvLnuo.js} +672 -149
  157. package/dist/{permissions-B8vCg_bI.d.ts → permissions-CDgvKG5L.d.ts} +2 -2
  158. package/dist/{permissions-DC7GROPA.js → permissions-DVoF6dMt.js} +77 -15
  159. package/dist/{permissions-B4apnahQ.d.ts → permissions-DttnqqxC.d.ts} +34 -5
  160. package/dist/{permissions-CofRqesP.js → permissions-RJrovw98.js} +3 -3
  161. package/dist/{pins-CqE1jZuF.js → pins-8ILTftC9.js} +2 -2
  162. package/dist/{policy-Cq2fB8Q5.d.ts → policy-D2W7uv19.d.ts} +2 -2
  163. package/dist/{policy-CInmNGkM.d.ts → policy-IB6yxpC3.d.ts} +351 -42
  164. package/dist/{policy-ANp36PnI.js → policy-xyWg7QdR.js} +173 -22
  165. package/dist/powersync-BylawD_U.js +540 -0
  166. package/dist/powersync-DliZK_-y.js +62 -0
  167. package/dist/powersync-e_AZrKbg.js +2 -0
  168. package/dist/prisma/index.d.ts +3 -2
  169. package/dist/prisma/index.js +45 -20
  170. package/dist/{problem-Cgp9-KZA.js → problem-B43ztKIm.js} +74 -109
  171. package/dist/problem-details-DX075l9V.d.ts +7 -0
  172. package/dist/problem-details-_AMOYz-w.js +144 -0
  173. package/dist/{protected-BuPAycJT.d.ts → protected-BdnIEFkY.d.ts} +5 -4
  174. package/dist/protected-utU-SLuy.js +100 -0
  175. package/dist/protected-xAr24FEC.d.ts +40 -0
  176. package/dist/provider-CSQd7m92.js +52 -0
  177. package/dist/{provider-wTAUda2v.d.ts → provider-DZY281jO.d.ts} +1 -1
  178. package/dist/provider-store-Cfbvo4DE.js +43 -0
  179. package/dist/react/index.d.ts +7 -5
  180. package/dist/react/index.js +5 -4
  181. package/dist/react/provider-client.d.ts +1 -1
  182. package/dist/react/provider-client.js +1 -1
  183. package/dist/react-native/index.d.ts +166 -10
  184. package/dist/react-native/index.js +607 -85
  185. package/dist/{refs-ChLSxbST.js → refs-KYb4ntaz.js} +4 -3
  186. package/dist/{relations-r4soIFZB.js → relations-cjOL01hZ.js} +110 -31
  187. package/dist/replay-BsOyTrdV.js +28 -0
  188. package/dist/replay-CYyiLiwO.d.ts +5 -0
  189. package/dist/resource-ref-CaS9yVPi.js +20 -0
  190. package/dist/revocations-Bhr0aMIC.js +27 -0
  191. package/dist/{rls-BOFU3chG.js → rls-B4ur8nKQ.js} +8 -3
  192. package/dist/rls-DQtdgTHB.js +2521 -0
  193. package/dist/rls-fields-74oZPXWL.js +3582 -0
  194. package/dist/{rls-graph-DxQ39PJj.js → rls-graph-CHwx0V8q.js} +100 -36
  195. package/dist/{rls-import-CXV6LBlS.js → rls-import-BTFVk3jH.js} +7 -6
  196. package/dist/{rls-migrate-DrFPbf8p.js → rls-migrate-CN4TlJTO.js} +6 -5
  197. package/dist/rls-ownership-RuFqaqGz.js +843 -0
  198. package/dist/rls-shared-Cewd_-zI.js +495 -0
  199. package/dist/rls-verify-CVQTHTh5.js +746 -0
  200. package/dist/{row-check-BajTgQZ-.d.ts → row-check-Dt35czLy.d.ts} +12 -15
  201. package/dist/row-conditions-h2HythXQ.js +27 -0
  202. package/dist/rpc-DL9Sqvb1.js +89 -0
  203. package/dist/{run-CJ6UvS3a.js → run-DKDbM4Du.js} +31 -12
  204. package/dist/runtime-CB8gQFvS.js +11 -0
  205. package/dist/{saas-BRrZzJkM.js → saas-DhpJjnBA.js} +17 -7
  206. package/dist/{schema-P8yoma__.js → schema-D3MnDMxa.js} +8 -4
  207. package/dist/scim/index.d.ts +1 -1
  208. package/dist/scim/index.js +1 -1
  209. package/dist/{scim-9NFa0XVZ.js → scim-BFGBBAqR.js} +1 -1
  210. package/dist/{scopes-cKVp_WTw.js → scopes-CVdPrWN-.js} +35 -8
  211. package/dist/server/index.d.ts +22 -11
  212. package/dist/server/index.js +11 -8
  213. package/dist/{credentials-BgRX3WEg.js → server-DlZ28Oz5.js} +1 -1
  214. package/dist/shared-DRu8VFVM.js +123 -0
  215. package/dist/{sink-Cfr9-7YC.d.ts → sink-B1fZzIMf.d.ts} +1 -1
  216. package/dist/skills-Biq5uup3.js +192 -0
  217. package/dist/{skills-C_lpV4Jx.js → skills-Bx-U0irG.js} +10 -4
  218. package/dist/{snapshot-DE8dE_hz.js → snapshot-Enxd0n-s.js} +138 -214
  219. package/dist/snapshot-cache-B-LxUahj.d.ts +45 -0
  220. package/dist/snapshot-cache-D6jLelln.js +44 -0
  221. package/dist/solid/index.d.ts +39 -9
  222. package/dist/solid/index.js +76 -85
  223. package/dist/sources-4p0-4xQm.js +545 -0
  224. package/dist/sources-BdOYLw9j.d.ts +192 -0
  225. package/dist/{sql-Bll1d7y0.js → sql-xdg5f4Fi.js} +6 -1
  226. package/dist/{src-CTNT-PBW.js → src-BDwEZWrZ.js} +149 -11
  227. package/dist/ssf/index.d.ts +3 -2
  228. package/dist/ssf/index.js +3 -29
  229. package/dist/store-DMAWwAJV.js +371 -0
  230. package/dist/{store-Bq90395i.d.ts → store-jOBYpiXC.d.ts} +13 -4
  231. package/dist/store-options-ByhZq1jV.js +716 -0
  232. package/dist/{stores-CkG2HrSg.js → stores-BT2pSCub.js} +10 -63
  233. package/dist/{stores-CvOnu_2T.d.ts → stores-C0IMQrGI.d.ts} +20 -9
  234. package/dist/{stream-BhMfZOwr.d.ts → stream-D1RXubw2.d.ts} +2 -2
  235. package/dist/{stream-Q_xlB6Ko.js → stream-DDpvynSB.js} +16 -2
  236. package/dist/subject-settings-BwBmCdTR.js +128 -0
  237. package/dist/supabase/index.d.ts +133 -6
  238. package/dist/supabase/index.js +4 -3
  239. package/dist/supabase/middleware.d.ts +32 -27
  240. package/dist/supabase/middleware.js +56 -22
  241. package/dist/{supabase-D8UlBA7Z.js → supabase-Boqb9a_Y.js} +3 -3
  242. package/dist/{supabase-DTxGtYdi.js → supabase-C0qESOa-.js} +347 -367
  243. package/dist/supabase-config-BpPXt3x1.js +472 -0
  244. package/dist/supabase-hook-6sYLXg_u.js +2 -0
  245. package/dist/{supabase-hook-D_OqGb_V.js → supabase-hook-CSLQ4zJ3.js} +1037 -705
  246. package/dist/supautils-Cn4R4cJ4.js +91 -0
  247. package/dist/svelte/PermissionBoundary.svelte +37 -0
  248. package/dist/svelte/Protected.svelte +8 -2
  249. package/dist/svelte/index.d.ts +9 -6
  250. package/dist/svelte/index.js +61 -7
  251. package/dist/svelte/runtime.d.ts +4 -3
  252. package/dist/svelte/runtime.js +4 -3
  253. package/dist/svelte/source.d.ts +9 -6
  254. package/dist/svelte/source.js +7 -4
  255. package/dist/terminal/index.d.ts +6 -14
  256. package/dist/terminal/index.js +44 -32
  257. package/dist/testing/index.d.ts +105 -16
  258. package/dist/testing/index.js +504 -40
  259. package/dist/testing/saas/index.d.ts +4 -4
  260. package/dist/testing/saas/index.js +2 -2
  261. package/dist/testing/saas/permissions.d.ts +1 -1
  262. package/dist/testing/saas/permissions.js +1 -1
  263. package/dist/token-CIWxJOCh.js +50 -0
  264. package/dist/trpc/index.d.ts +7 -26
  265. package/dist/trpc/index.js +17 -100
  266. package/dist/types-BnIEz1sU.d.ts +48 -0
  267. package/dist/{types-CxquUByI.d.ts → types-Bvc4oWT6.d.ts} +1 -1
  268. package/dist/{sources-DOpW5Ila.d.ts → types-C97IskBw.d.ts} +86 -127
  269. package/dist/types-CKNSyIf_.d.ts +52 -0
  270. package/dist/types-Cq_H8N_X.d.ts +197 -0
  271. package/dist/{types-D6Z6-rKJ.d.ts → types-DbjRN55U.d.ts} +273 -22
  272. package/dist/{types-BBK-exvJ.d.ts → types-Dnemwd77.d.ts} +7 -1
  273. package/dist/{types-BvBk1wgn.d.ts → types-DxiCGmmd.d.ts} +5 -3
  274. package/dist/{types-B9dmiiab.d.ts → types-QCuYJh4q.d.ts} +1 -1
  275. package/dist/{types-B8w5PFtS.d.ts → types-aqOHTHcp.d.ts} +17 -1
  276. package/dist/unplugin/index.d.ts +1 -1
  277. package/dist/unplugin/index.js +10 -9
  278. package/dist/usage-DorAJiU_.js +2 -0
  279. package/dist/{usage-1ozMubLY.js → usage-GTixvDDU.js} +2 -2
  280. package/dist/{usage-CUnK6Ou9.js → usage-ItS7nLcl.js} +225 -62
  281. package/dist/validation-error-Ba264OaJ.d.ts +26 -0
  282. package/dist/validation-error-CnjZ4t92.js +33 -0
  283. package/dist/{validity-D0uRmJKJ.js → validity-uOp8UpYn.js} +57 -36
  284. package/dist/{verifier-B90agnhl.js → verifier-BxBo6I44.js} +10 -5
  285. package/dist/version-BvacVTZR.js +17 -0
  286. package/dist/views-Soe7bGSC.js +95 -0
  287. package/dist/{vocabulary-Dk0fs-Jk.d.ts → vocabulary-DA8a8zif.d.ts} +1 -1
  288. package/dist/vue/index.d.ts +35 -13
  289. package/dist/vue/index.js +86 -93
  290. package/dist/watch-BwxLTYMZ.js +2 -0
  291. package/dist/watch-DVBJ9cBq.js +128 -0
  292. package/dist/webmcp/index.d.ts +2 -2
  293. package/dist/webmcp/index.js +7 -13
  294. package/package.json +62 -36
  295. package/schemas/approval-request-v1.json +175 -0
  296. package/schemas/catalog-v1.json +29 -1
  297. package/schemas/supabase-claims-v1.json +6 -1
  298. package/schemas/supabase-manifest-v1.json +150 -6
  299. package/skills/permdock/SKILL.md +7 -7
  300. package/skills/permdock-agents/SKILL.md +5 -5
  301. package/skills/permdock-agents/references/runtimes.md +12 -10
  302. package/skills/permdock-approvals/SKILL.md +4 -4
  303. package/skills/permdock-approvals/references/stores-and-resume.md +15 -4
  304. package/skills/permdock-audit/SKILL.md +3 -3
  305. package/skills/permdock-credentials/SKILL.md +4 -4
  306. package/skills/permdock-credentials/references/tokens-keys-links.md +7 -2
  307. package/skills/permdock-data/SKILL.md +4 -4
  308. package/skills/permdock-data/references/queries-and-rls.md +14 -6
  309. package/skills/permdock-data/references/relationships.md +5 -3
  310. package/skills/permdock-tenancy/SKILL.md +9 -6
  311. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +14 -8
  312. package/skills/permdock-wire/SKILL.md +4 -4
  313. package/skills/permdock-wire/references/adapters.md +42 -30
  314. package/skills/permdock-wire/references/policy-options.md +5 -3
  315. package/dist/approvers-aH0PJkmf.js +0 -20
  316. package/dist/catalog-idsHc0vo.js +0 -2
  317. package/dist/collect-B7_TIfmg.js +0 -49
  318. package/dist/collect-fRPAQIWb.js +0 -2
  319. package/dist/compile-CQbvyIBr.d.ts +0 -30
  320. package/dist/config-BPYmjTOp.js +0 -26
  321. package/dist/context-gtAwAILx.js +0 -6
  322. package/dist/create-BKF3dgFk.d.ts +0 -162
  323. package/dist/create-CSkhDU9T.js +0 -222
  324. package/dist/doctor-BGle8Gqi.js +0 -1314
  325. package/dist/helpers-DnSOrhB9.js +0 -682
  326. package/dist/index-fG6NSXlc.d.ts +0 -9
  327. package/dist/kernel-YOGCWNLf.js +0 -211
  328. package/dist/load-QOOm1z70.js +0 -2
  329. package/dist/manifest-DDQbC6K0.d.ts +0 -118
  330. package/dist/map-error-RJ3ZsUyA.js +0 -16
  331. package/dist/may-use-CnFEjVEp.js +0 -37
  332. package/dist/pg-4GJWDUxG.js +0 -953
  333. package/dist/plugin-4gr7IxFJ.js +0 -65
  334. package/dist/protected-B4K3BKoX.js +0 -138
  335. package/dist/protected-wY7nXhY9.d.ts +0 -23
  336. package/dist/provider-_wx46HpB.js +0 -48
  337. package/dist/rls-CJVja9Ww.js +0 -2119
  338. package/dist/rls-helpers-BxRuif0l.js +0 -1346
  339. package/dist/runtime-DP9ttFh1.js +0 -27
  340. package/dist/skills-Dx3QLnMY.js +0 -110
  341. package/dist/source-DoBBYJi2.js +0 -6
  342. package/dist/sources-DVHM3Mwq.js +0 -284
  343. package/dist/store-C6hFW6ta.js +0 -508
  344. package/dist/subject-settings-xt7V845g.js +0 -82
  345. package/dist/supabase-hook-DW-xP4hU.js +0 -2
  346. package/dist/types-DbWdEfcm.d.ts +0 -87
  347. package/dist/types-bva3i4Gf.d.ts +0 -98
  348. package/dist/types-i4BAOvdb.d.ts +0 -97
  349. package/dist/usage-PyEor6GA.js +0 -2
  350. package/dist/version-CnSh33Fj.js +0 -16
@@ -0,0 +1,52 @@
1
+ import { t as compact } from "./compact-y6vfu2_f.js";
2
+ import { t as emptySnapshot } from "./from-snapshot-CTLijvdm.js";
3
+ import { t as adapterStore } from "./store-options-ByhZq1jV.js";
4
+ import { i as PermDockStoreContext, n as useKeyed, r as PermDockSnapshotPromiseContext, t as useLiveOptions } from "./live-options-H2eG8dfJ.js";
5
+ import { useLayoutEffect } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ //#region src/react/provider.tsx
8
+ function PermDockProvider(props) {
9
+ const promise = props.snapshotPromise ?? null;
10
+ const suspend = props.suspend === true;
11
+ const awaiting = promise !== null && !suspend;
12
+ const live = useLiveOptions(props);
13
+ const store = useKeyed(() => adapterStore(compact({
14
+ endpoint: props.endpoint,
15
+ snapshotUrl: props.snapshotUrl,
16
+ approvals: props.approvals,
17
+ tenant: props.tenant,
18
+ fetch: live.fetch,
19
+ headers: live.headers,
20
+ maxAge: props.maxAge,
21
+ verifier: live.verifier,
22
+ awaiting,
23
+ passCache: true
24
+ }), props.snapshot ?? emptySnapshot()), [
25
+ props.snapshot,
26
+ props.endpoint,
27
+ props.snapshotUrl,
28
+ props.approvals,
29
+ props.tenant,
30
+ live.fetch,
31
+ live.headers,
32
+ props.maxAge,
33
+ live.verifier,
34
+ awaiting
35
+ ]);
36
+ useLayoutEffect(() => {
37
+ if (promise !== null && !suspend) store.track(promise);
38
+ }, [
39
+ store,
40
+ promise,
41
+ suspend
42
+ ]);
43
+ return /* @__PURE__ */ jsx(PermDockStoreContext, {
44
+ value: store,
45
+ children: /* @__PURE__ */ jsx(PermDockSnapshotPromiseContext, {
46
+ value: suspend ? promise : null,
47
+ children: props.children
48
+ })
49
+ });
50
+ }
51
+ //#endregion
52
+ export { PermDockProvider as t };
@@ -1,4 +1,4 @@
1
- import { o as PermDockProviderProps } from "./types-DbWdEfcm.js";
1
+ import { t as PermDockProviderProps } from "./types-BnIEz1sU.js";
2
2
  import { ReactElement } from "react";
3
3
  //#region src/react/provider.d.ts
4
4
  declare function PermDockProvider(props: PermDockProviderProps): ReactElement;
@@ -0,0 +1,43 @@
1
+ import { t as compact } from "./compact-y6vfu2_f.js";
2
+ import { t as emptySnapshot } from "./from-snapshot-CTLijvdm.js";
3
+ import { i as isPromiseLike, t as adapterStore } from "./store-options-ByhZq1jV.js";
4
+ //#region src/client/provider-store.ts
5
+ /**
6
+ * Store options that read `read()` on every request, so a rotated token, a
7
+ * new `fetch` or a new verifier applies without rebuilding the store. A
8
+ * verifier is wired only when one is present at creation: it switches the
9
+ * store to signed snapshots.
10
+ */
11
+ function liveOptions(read) {
12
+ return compact({
13
+ headers: () => read().headers,
14
+ fetch: (...args) => (read().fetch ?? fetch)(...args),
15
+ verifier: read().verifier === void 0 ? void 0 : { verify: (token, expectations) => {
16
+ const current = read().verifier;
17
+ return current === void 0 ? Promise.reject(/* @__PURE__ */ new Error("PermDock: the verifier option was removed.")) : current.verify(token, expectations);
18
+ } }
19
+ });
20
+ }
21
+ /**
22
+ * The store a Vue, Svelte or Solid provider owns. A promised snapshot keeps
23
+ * it `pending` until the promise settles; `undefined` starts empty.
24
+ */
25
+ function providerStore(options, read, snapshot) {
26
+ const promised = isPromiseLike(snapshot);
27
+ const store = adapterStore(compact({
28
+ endpoint: options.endpoint,
29
+ snapshotUrl: options.snapshotUrl,
30
+ approvals: options.approvals,
31
+ tenant: options.tenant,
32
+ maxAge: options.maxAge,
33
+ ...liveOptions(read)
34
+ }), promised || snapshot === void 0 ? emptySnapshot() : snapshot);
35
+ if (promised) store.follow(snapshot);
36
+ return store;
37
+ }
38
+ /** Refreshes for the tenant a reactive `tenant` option switched to; a failed refresh keeps the current answers. */
39
+ function switchTenant(store, tenant) {
40
+ if (tenant !== void 0) store.get().refresh({ tenant }).catch(() => void 0);
41
+ }
42
+ //#endregion
43
+ export { switchTenant as n, providerStore as t };
@@ -1,6 +1,8 @@
1
- import { a as requiredPlans, i as describe } from "../describe-DernyItf.js";
2
- import { t as approvalHeaders } from "../headers-C8SHQccD.js";
3
- import { a as FilterResult, c as PermissionState, d as TenantView, i as ClientStatus, l as ProtectedProps, n as ApprovalState, o as PermDockProviderProps, r as ClientPermDock, s as PermissionSet, t as ApprovalHandle, u as SubjectView } from "../types-DbWdEfcm.js";
4
- import { a as useFilter, c as usePermission, d as useSubject, f as useTenant, i as useAssignableRoles, l as usePermissions, n as useApproval, o as useMemberships, r as useAssignablePermissions, s as usePermDock, t as Protected, u as useRoles } from "../protected-BuPAycJT.js";
5
- import { t as PermDockProvider } from "../provider-wTAUda2v.js";
1
+ import { n as requiredPlans } from "../problem-details-DX075l9V.js";
2
+ import { i as describe } from "../describe-DMYiCjJV.js";
3
+ import { t as approvalHeaders } from "../headers-Cf-zWvsO.js";
4
+ import { a as FilterResult, c as SubjectView, i as ClientStatus, l as TenantView, n as ApprovalState, o as PermissionSet, r as ClientPermDock, s as PermissionState, t as ApprovalHandle } from "../types-CKNSyIf_.js";
5
+ import { n as ProtectedProps, t as PermDockProviderProps } from "../types-BnIEz1sU.js";
6
+ import { a as useFilter, c as usePermission, d as useSubject, f as useTenant, i as useAssignableRoles, l as usePermissions, n as useApproval, o as useMemberships, r as useAssignablePermissions, s as usePermDock, t as Protected, u as useRoles } from "../protected-BdnIEFkY.js";
7
+ import { t as PermDockProvider } from "../provider-DZY281jO.js";
6
8
  export { type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type FilterResult, PermDockProvider, type PermDockProviderProps, type PermissionSet, type PermissionState, Protected, type ProtectedProps, type SubjectView, type TenantView, approvalHeaders, describe, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useFilter, useMemberships, usePermDock, usePermission, usePermissions, useRoles, useSubject, useTenant };
@@ -1,6 +1,7 @@
1
1
  "use client";
2
- import { n as requiredPlans, t as describe } from "../describe-Bt1YD5uS.js";
3
- import { t as approvalHeaders } from "../headers-B5RRv3Xm.js";
4
- import { a as useFilter, c as usePermission, d as useSubject, f as useTenant, i as useAssignableRoles, l as usePermissions, n as useApproval, o as useMemberships, r as useAssignablePermissions, s as usePermDock, t as Protected, u as useRoles } from "../protected-B4K3BKoX.js";
5
- import { t as PermDockProvider } from "../provider-_wx46HpB.js";
2
+ import { r as requiredPlans } from "../problem-details-_AMOYz-w.js";
3
+ import { t as describe } from "../describe-B_gVZEVi.js";
4
+ import { t as approvalHeaders } from "../headers-BZSDieNT.js";
5
+ import { a as useFilter, c as usePermission, d as useSubject, f as useTenant, i as useAssignableRoles, l as usePermissions, n as useApproval, o as useMemberships, r as useAssignablePermissions, s as usePermDock, t as Protected, u as useRoles } from "../protected-utU-SLuy.js";
6
+ import { t as PermDockProvider } from "../provider-CSQd7m92.js";
6
7
  export { PermDockProvider, Protected, approvalHeaders, describe, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useFilter, useMemberships, usePermDock, usePermission, usePermissions, useRoles, useSubject, useTenant };
@@ -1,2 +1,2 @@
1
- import { t as PermDockProvider } from "../provider-wTAUda2v.js";
1
+ import { t as PermDockProvider } from "../provider-DZY281jO.js";
2
2
  export { PermDockProvider };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { t as PermDockProvider } from "../provider-_wx46HpB.js";
2
+ import { t as PermDockProvider } from "../provider-CSQd7m92.js";
3
3
  export { PermDockProvider };
@@ -1,10 +1,92 @@
1
- import { Et as TokenVerifier, gt as Snapshot } from "../policy-CInmNGkM.js";
2
- import { a as requiredPlans, i as describe } from "../describe-DernyItf.js";
3
- import { t as approvalHeaders } from "../headers-C8SHQccD.js";
4
- import { a as FilterResult, c as PermissionState, d as TenantView, i as ClientStatus, l as ProtectedProps, n as ApprovalState, r as ClientPermDock, s as PermissionSet, t as ApprovalHandle, u as SubjectView } from "../types-DbWdEfcm.js";
5
- import { a as useFilter, c as usePermission, d as useSubject, f as useTenant, i as useAssignableRoles, l as usePermissions, n as useApproval, o as useMemberships, r as useAssignablePermissions, s as usePermDock, t as Protected, u as useRoles } from "../protected-BuPAycJT.js";
6
- import { t as ClientStore } from "../store-Bq90395i.js";
1
+ import { At as SnapshotSource, Dr as CustomRole, Ft as TokenVerifier, Mr as Membership, Tt as Snapshot, pt as LocalSnapshotManifest } from "../policy-IB6yxpC3.js";
2
+ import { f as Permission } from "../permissions-DttnqqxC.js";
3
+ import { n as requiredPlans } from "../problem-details-DX075l9V.js";
4
+ import { i as describe } from "../describe-DMYiCjJV.js";
5
+ import { t as parseLocalSnapshotManifest } from "../parse-local-manifest-JLnaBH0S.js";
6
+ import { t as approvalHeaders } from "../headers-Cf-zWvsO.js";
7
+ import { a as FilterResult, c as SubjectView, i as ClientStatus, l as TenantView, n as ApprovalState, o as PermissionSet, r as ClientPermDock, s as PermissionState, t as ApprovalHandle } from "../types-CKNSyIf_.js";
8
+ import { n as ProtectedProps } from "../types-BnIEz1sU.js";
9
+ import { a as useFilter, c as usePermission, d as useSubject, f as useTenant, i as useAssignableRoles, l as usePermissions, n as useApproval, o as useMemberships, r as useAssignablePermissions, s as usePermDock, t as Protected, u as useRoles } from "../protected-BdnIEFkY.js";
10
+ import { t as ClientStore } from "../store-jOBYpiXC.js";
7
11
  import { ReactElement, ReactNode } from "react";
12
+ //#region src/react-native/guards.d.ts
13
+ /** `true` once the provider has a snapshot to answer from: storage was read or a seed was given. Hide the splash screen on it. */
14
+ export declare function useSnapshotReady(): boolean;
15
+ /**
16
+ * A boolean for `Stack.Protected` and `Tabs.Protected`: `false` while the
17
+ * snapshot is pending, `true` only when every permission is allowed for
18
+ * `data`.
19
+ */
20
+ export declare function usePermissionGuard(permission: Permission | readonly Permission[], data?: unknown): boolean;
21
+ //#endregion
22
+ //#region src/react-native/local.d.ts
23
+ /** What the device holds for the signed-in user, read from its local database. */
24
+ type LocalSnapshotData = {
25
+ readonly principal: {
26
+ readonly id: string;
27
+ /** Global roles, declared or platform custom roles. */
28
+ readonly roles?: readonly string[];
29
+ readonly plans?: readonly string[];
30
+ /** The active tenant: the first scope's instance the UI shows. */
31
+ readonly tenant?: string;
32
+ readonly memberships?: readonly Membership[];
33
+ /** Attributes conditions read, such as `claims` for `principal.claims.team_ids`. */
34
+ readonly attributes?: Readonly<Record<string, unknown>>;
35
+ } | null;
36
+ /** The tenant's custom roles, in the shape a `RoleSource` returns. */
37
+ readonly customRoles?: readonly CustomRole[];
38
+ };
39
+ type LocalSnapshotOptions = {
40
+ /** `localSnapshotManifest(policy)`, written at build time. */
41
+ readonly manifest: LocalSnapshotManifest;
42
+ readonly read: () => LocalSnapshotData | Promise<LocalSnapshotData>;
43
+ /** Calls the listener when the rows `read` reads change; returns the unsubscribe. */
44
+ readonly subscribe?: (listener: () => void) => () => void;
45
+ };
46
+ /**
47
+ * The snapshot a server would send for `data`, built from the manifest. It
48
+ * drives UI guards only: the server still decides every request.
49
+ */
50
+ export declare function buildLocalSnapshot(manifest: LocalSnapshotManifest, data: LocalSnapshotData, now?: number): Snapshot;
51
+ /**
52
+ * A snapshot source over the device's own membership rows (SQLite, a
53
+ * PowerSync or Electric replica): offline, the UI guards answer from them.
54
+ */
55
+ export declare function localSnapshot(options: LocalSnapshotOptions): SnapshotSource;
56
+ //#endregion
57
+ //#region src/react-native/powersync.d.ts
58
+ /** The `PowerSyncDatabase` methods `powersyncSource` calls. */
59
+ type PowerSyncWatchable = {
60
+ getAll(sql: string, parameters?: unknown[]): Promise<unknown[]>;
61
+ watch(sql: string, parameters: unknown[] | undefined, handler: {
62
+ onResult(result: unknown): void;
63
+ onError?(error: Error): void;
64
+ }, options: {
65
+ readonly signal: AbortSignal;
66
+ }): void;
67
+ };
68
+ /** One local query: SQL over the synced tables and its parameters. */
69
+ type PowerSyncQuery = {
70
+ readonly sql: string;
71
+ readonly parameters?: readonly unknown[];
72
+ };
73
+ type PowerSyncSourceOptions<Q extends string> = {
74
+ /** `localSnapshotManifest(policy)`, as `permdock powersync generate` writes it to `powersync.manifest`. */
75
+ readonly manifest: LocalSnapshotManifest;
76
+ /** The queries over the `permdock_*` streams' tables; each one is watched. */
77
+ readonly queries: Readonly<Record<Q, PowerSyncQuery>>;
78
+ /** Maps the rows of each query to the signed-in user's memberships and roles. */
79
+ readonly read: (rows: Readonly<Record<Q, readonly unknown[]>>) => LocalSnapshotData;
80
+ };
81
+ /**
82
+ * A `localSnapshot` source over a PowerSync database: `get` runs every query
83
+ * with `db.getAll`, and a `db.watch` per query reports changes. A watch
84
+ * result with unchanged content re-renders nothing (`connectSource`). The source
85
+ * takes the database as an argument; `permdock/react-native` never imports
86
+ * `@powersync/*`.
87
+ */
88
+ export declare function powersyncSource<Q extends string>(db: PowerSyncWatchable, options: PowerSyncSourceOptions<Q>): SnapshotSource;
89
+ //#endregion
8
90
  //#region src/react-native/types.d.ts
9
91
  type PermDockStorage = {
10
92
  getItem(key: string): string | null | Promise<string | null>;
@@ -12,16 +94,31 @@ type PermDockStorage = {
12
94
  removeItem(key: string): void | Promise<void>;
13
95
  };
14
96
  type NativeRevalidate = "launch" | "focus" | number;
97
+ /**
98
+ * Calls `listener` when the app changes state; `active` is `false` when it
99
+ * goes to the background. A listener called without an argument counts as
100
+ * a return to the foreground.
101
+ */
102
+ type SubscribeForeground = (listener: (active?: boolean) => void) => () => void;
103
+ /** Calls `listener` with `false` when the device loses connectivity and `true` when it returns. */
104
+ type SubscribeOnline = (listener: (online: boolean) => void) => () => void;
15
105
  type NativePermDockProviderProps = {
16
106
  readonly storage: PermDockStorage;
107
+ /**
108
+ * The signed-in principal's id, or `null` when nobody is signed in. Only a
109
+ * persisted snapshot for this id is read or written; `null` clears storage.
110
+ */
111
+ readonly subjectId: string | null;
17
112
  readonly snapshot?: Snapshot | string;
18
113
  readonly snapshotUrl?: string;
114
+ /** Hydrates from the device's own rows (`localSnapshot`); with `snapshotUrl` too, the latest answer wins. */
115
+ readonly source?: SnapshotSource;
19
116
  readonly endpoint?: string;
20
117
  readonly approvals?: string;
21
118
  readonly tenant?: string;
22
- readonly subjectId?: string;
23
119
  readonly revalidate?: NativeRevalidate;
24
- readonly subscribeForeground?: (listener: () => void) => () => void;
120
+ readonly subscribeForeground?: SubscribeForeground;
121
+ readonly subscribeOnline?: SubscribeOnline;
25
122
  readonly fetch?: typeof fetch;
26
123
  readonly headers?: Readonly<Record<string, string>>;
27
124
  readonly maxAge?: number;
@@ -35,8 +132,67 @@ export declare function PermDockProvider(props: NativePermDockProviderProps): Re
35
132
  //#region src/react-native/storage.d.ts
36
133
  export declare function memoryStorage(initial?: Readonly<Record<string, string>>): PermDockStorage;
37
134
  //#endregion
135
+ //#region src/react-native/storage-adapters.d.ts
136
+ /** The `expo-secure-store` functions `secureStoreStorage` calls. */
137
+ type SecureStoreModule = {
138
+ getItem(key: string, options?: object): string | null;
139
+ setItem(key: string, value: string, options?: object): void;
140
+ deleteItemAsync(key: string, options?: object): Promise<void>;
141
+ };
142
+ /** The `react-native-mmkv` instance methods `mmkvStorage` calls: `remove` (v4) or `delete` (v3). */
143
+ type MmkvInstance = {
144
+ getString(key: string): string | undefined;
145
+ set(key: string, value: string): void;
146
+ } & ({
147
+ remove(key: string): unknown;
148
+ } | {
149
+ delete(key: string): unknown;
150
+ });
151
+ /**
152
+ * A `PermDockStorage` over `expo-secure-store`. Values are split into chunks
153
+ * of at most 2048 bytes under `<key>.<n>`; `<key>` holds the chunk count and
154
+ * is written last, so an interrupted write reads as absent.
155
+ */
156
+ export declare function secureStoreStorage(store: SecureStoreModule, options?: object): PermDockStorage;
157
+ /** A synchronous `PermDockStorage` over a `react-native-mmkv` instance: the first frame already has the snapshot. */
158
+ export declare function mmkvStorage(mmkv: MmkvInstance): PermDockStorage;
159
+ //#endregion
160
+ //#region src/react-native/subscriptions.d.ts
161
+ /** The `AppState` export of `react-native`, as `appStateForeground` calls it. */
162
+ type AppStateModule = {
163
+ addEventListener(type: "change", listener: (state: string) => void): {
164
+ remove(): void;
165
+ };
166
+ };
167
+ /** The default export of `@react-native-community/netinfo`, as `netInfoOnline` calls it. */
168
+ type NetInfoModule = {
169
+ addEventListener(listener: (state: {
170
+ readonly isConnected: boolean | null;
171
+ readonly isInternetReachable?: boolean | null;
172
+ }) => void): () => void;
173
+ };
174
+ /**
175
+ * `subscribeForeground` over `AppState`: `active` returns to the foreground
176
+ * and `background` leaves it. iOS `inactive` (a system sheet over the app) is
177
+ * neither.
178
+ */
179
+ export declare function appStateForeground(appState: AppStateModule): SubscribeForeground;
180
+ /** `subscribeOnline` over NetInfo. An unknown (`null`) connection counts as online. */
181
+ export declare function netInfoOnline(netInfo: NetInfoModule): SubscribeOnline;
182
+ //#endregion
38
183
  //#region src/react-native/store.d.ts
39
- type NativeStoreOptions = Omit<NativePermDockProviderProps, "children">;
184
+ type NativeStoreOptions = Omit<NativePermDockProviderProps, "children" | "headers"> & {
185
+ readonly headers?: Readonly<Record<string, string>> | (() => Readonly<Record<string, string>> | undefined);
186
+ /** A store this one replaces: its snapshot and tenant seed this store, so guards do not flip while it boots. */
187
+ readonly previous?: ClientStore;
188
+ };
189
+ /**
190
+ * Hydrates `store` from `source` now, on every change it reports and on each
191
+ * return to the foreground. Only the latest read applies; a read with
192
+ * unchanged content re-renders nothing, and a failed read keeps the current
193
+ * snapshot. Returns the unsubscribe.
194
+ */
195
+ export declare function connectSource(store: ClientStore, source: SnapshotSource, subscribeForeground?: SubscribeForeground): () => void;
40
196
  export declare function createNativeStore(options: NativeStoreOptions): ClientStore;
41
197
  //#endregion
42
- export { type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type FilterResult, type NativePermDockProviderProps, type NativeRevalidate, type PermDockStorage, type PermissionSet, type PermissionState, Protected, type ProtectedProps, type SubjectView, type TenantView, approvalHeaders, describe, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useFilter, useMemberships, usePermDock, usePermission, usePermissions, useRoles, useSubject, useTenant };
198
+ export { type AppStateModule, type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type FilterResult, type LocalSnapshotData, type LocalSnapshotManifest, type LocalSnapshotOptions, type MmkvInstance, type NativePermDockProviderProps, type NativeRevalidate, type NetInfoModule, type PermDockStorage, type PermissionSet, type PermissionState, type PowerSyncQuery, type PowerSyncSourceOptions, type PowerSyncWatchable, Protected, type ProtectedProps, type SecureStoreModule, type SnapshotSource, type SubjectView, type SubscribeForeground, type SubscribeOnline, type TenantView, approvalHeaders, describe, parseLocalSnapshotManifest, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useFilter, useMemberships, usePermDock, usePermission, usePermissions, useRoles, useSubject, useTenant };