permdock 0.3.1 → 0.4.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.
- package/dist/a2a/index.d.ts +7 -5
- package/dist/a2a/index.js +14 -21
- package/dist/ai-sdk/index.d.ts +18 -6
- package/dist/ai-sdk/index.js +8 -5
- package/dist/app-data-CV8pqqMi.js +59 -0
- package/dist/approvals/index.d.ts +2 -2
- package/dist/approvals/index.js +3 -3
- package/dist/{approvals-DbYAuNkG.js → approvals-DZL76lKW.js} +35 -19
- package/dist/{approvers-DT4AVyIg.js → approvers-CqPOLD-o.js} +1 -1
- package/dist/{arazzo-BAgw9ap6.js → arazzo-C4BcskbX.js} +6 -5
- package/dist/{arazzo-C9chp3ST.js → arazzo-CD8d0WLb.js} +2 -2
- package/dist/authzen/index.d.ts +3 -3
- package/dist/authzen/index.js +161 -23
- package/dist/better-auth/index.d.ts +2 -2
- package/dist/better-auth/index.js +6 -19
- package/dist/better-supabase/index.d.ts +112 -87
- package/dist/better-supabase/index.js +257 -156
- package/dist/{bind-C_ob3LKa.d.ts → bind-BzqG8SMb.d.ts} +16 -5
- package/dist/{bind-CuzGytRf.js → bind-kk-uyCwH.js} +14 -6
- package/dist/build-instance-DIIV9DbC.js +51 -0
- package/dist/{canonical-json-DemiK4Vp.js → canonical-json-CFKyFOke.js} +1 -3
- package/dist/{capability-2kYTMWDv.d.ts → capability-CksyCWDH.d.ts} +2 -2
- package/dist/{capability-4qPdO9gk.js → capability-txATtKV4.js} +3 -2
- package/dist/catalog/index.d.ts +1 -1
- package/dist/catalog/index.js +1 -1
- package/dist/catalog-6yWAX6Ps.js +2 -0
- package/dist/{catalog-CYj-mX2O.js → catalog-WHG4kBq7.js} +2 -2
- package/dist/{catalog-doc-DdGm82XT.js → catalog-doc-DWtg0gGR.js} +17 -10
- package/dist/{catalog-DWF5cYqB.js → catalog-tZUyOfOv.js} +4 -4
- package/dist/claude-agent/index.d.ts +4 -4
- package/dist/claude-agent/index.js +4 -5
- package/dist/clerk/index.d.ts +3 -3
- package/dist/clerk/index.js +8 -33
- package/dist/cli/bin.js +1 -1
- package/dist/cli/index.d.ts +3 -3
- package/dist/cli/index.js +3 -3
- package/dist/cloud/index.d.ts +4 -4
- package/dist/cloud/index.js +9 -15
- package/dist/{cloud-CfwZ39Rl.js → cloud-C7bSDgX4.js} +2 -2
- package/dist/{cloud-DWLXO2af.js → cloud-PeBN3IEn.js} +5 -5
- package/dist/{collect-DSTE3ml9.js → collect-2SrB7lfk.js} +6 -8
- package/dist/collect-Bw2Jdq1q.js +2 -0
- package/dist/{collect-CHB22Sx4.js → collect-CQx4hX4N.js} +3 -3
- package/dist/{commands-BeaGNj_o.js → commands-Cpip4ULx.js} +13 -13
- package/dist/{compact-y6vfu2_f.js → compact-CAf557ZB.js} +11 -1
- package/dist/compile/index.d.ts +1 -1
- package/dist/compile/index.js +1 -1
- package/dist/{compile-Ba4blROR.js → compile-CcEu2ZQ1.js} +6 -5
- package/dist/{compile-BkRyBDBw.d.ts → compile-CtTP7eur.d.ts} +2 -2
- package/dist/{config-BJiM-xAm.js → config-BIjREpyE.js} +4 -4
- package/dist/{config-ir40y8m0.js → config-DLt6BvV7.js} +2 -2
- package/dist/{config-report-CdCgbRnV.js → config-report--Xb9APJS.js} +5 -6
- package/dist/{connection-CU8MQxRi.js → connection-DUsczpB5.js} +3 -2
- package/dist/constants-DcJABbLW.js +20 -0
- package/dist/{context-Bcy85rGi.js → context-DieZVJXu.js} +16 -5
- package/dist/convex/index.d.ts +4 -4
- package/dist/convex/index.js +14 -16
- package/dist/create-BBO24vj6.js +324 -0
- package/dist/{credential-8P81ff4u.js → credential-kue0qpbm.js} +4 -4
- package/dist/deciding-columns-Sq12mEA6.js +123 -0
- package/dist/delegation-input-FTxMK3ji.js +19 -0
- package/dist/denied-text-DfRk15uw.d.ts +19 -0
- package/dist/{describe-DMYiCjJV.d.ts → describe-C3ldA9os.d.ts} +11 -2
- package/dist/{describe-B_gVZEVi.js → describe-Cgkp7eP0.js} +5 -4
- package/dist/{diff-C9RDjjhs.js → diff-Cnghh_Ip.js} +2 -2
- package/dist/{diff-2VaeChzX.js → diff-rpqoe7Ag.js} +9 -9
- package/dist/{doctor-Djh6JDEk.js → doctor-CuVJvhV_.js} +2 -2
- package/dist/doctor-owlv6ddh.js +2166 -0
- package/dist/drizzle/index.d.ts +2 -2
- package/dist/drizzle/index.js +6 -14
- package/dist/elysia/index.d.ts +4 -4
- package/dist/elysia/index.js +7 -7
- package/dist/{errors-DPdqI50v.d.ts → errors-OD_4c__H.d.ts} +2 -2
- package/dist/{errors-Cz5zn0mW.js → errors-drnfxYtm.js} +3 -3
- package/dist/{evaluations-tz6D9A2G.js → evaluations-C9YJsv3H.js} +45 -7
- package/dist/eve/index.d.ts +5 -5
- package/dist/eve/index.js +5 -5
- package/dist/express/index.d.ts +4 -4
- package/dist/express/index.js +8 -7
- package/dist/fastify/index.d.ts +15 -5
- package/dist/fastify/index.js +9 -29
- package/dist/fields-fwfXN01n.js +1016 -0
- package/dist/{files-DWUN9PzI.js → files-D_JIzUrP.js} +12 -3
- package/dist/{fixtures-ht28Cplr.js → fixtures-h2eG2OZV.js} +5 -6
- package/dist/{from-snapshot-CTLijvdm.js → from-snapshot-7REQZe0H.js} +32 -22
- package/dist/{generate-CH7ThJ14.js → generate-CNU1pIOo.js} +1 -3
- package/dist/grantee-CXY-0C87.js +254 -0
- package/dist/grantee-conditions-MQs5NIuX.js +270 -0
- package/dist/grantee-match-fxYp9Nmt.js +141 -0
- package/dist/{helpers-H_KARDVC.js → helpers-C9YmyBIa.js} +7 -6
- package/dist/hono/index.d.ts +4 -4
- package/dist/hono/index.js +8 -8
- package/dist/hosted-CBHgkzDl.js +655 -0
- package/dist/{http-SO7qGttf.js → http-BBoKefeS.js} +35 -2
- package/dist/{http-BIhmLfCc.js → http-BEbdMZ05.js} +2 -24
- package/dist/{rls-import-4lLW_pbb.js → import-BFIlhetD.js} +86 -80
- package/dist/{openapi-import-cmwetbzw.js → import-UHk1N7vH.js} +6 -7
- package/dist/{index-C8z4RjQV.d.ts → index-BwMe94Xq.d.ts} +1 -1
- package/dist/{index-0nNqHspG.d.ts → index-DgM7w96K.d.ts} +2 -2
- package/dist/{index-C7Tw7MaW.d.ts → index-Dz7didpC.d.ts} +3 -3
- package/dist/{index-BNc7Wer_.d.ts → index-UdVQgq48.d.ts} +105 -38
- package/dist/index.d.ts +15 -13
- package/dist/index.js +22 -22
- package/dist/{instance-options-jARdwfPN.d.ts → instance-options-plkrsAog.d.ts} +1 -1
- package/dist/{json-schema-BsAflUGW.js → json-schema-DBkdUuCO.js} +1 -3
- package/dist/jwt/index.d.ts +4 -4
- package/dist/jwt/index.js +13 -13
- package/dist/{kernel-_RRHmnMY.js → kernel-CB3LrIJM.js} +81 -32
- package/dist/kysely/index.d.ts +2 -2
- package/dist/kysely/index.js +6 -14
- package/dist/{live-options-H2eG8dfJ.js → live-options-BaAFCIiu.js} +16 -3
- package/dist/load-B_shHrmd.js +2 -0
- package/dist/{load-DhWEB9P1.js → load-C3_oTHyO.js} +11 -3
- package/dist/{manifest-iaoBXHKc.js → manifest-BngWKryL.js} +5 -18
- package/dist/{map-claims-Z4QZOiFF.js → map-claims-AVlBaJoa.js} +7 -16
- package/dist/{map-error-pgUWNNtG.js → map-error-BE27PYkE.js} +5 -5
- package/dist/{markers-B0hYLvMD.js → markers-CiwAOZtO.js} +6 -2
- package/dist/{may-use-DndQ5tQ-.js → may-use-BOn_dR_w.js} +4 -3
- package/dist/mcp/index.d.ts +26 -9
- package/dist/mcp/index.js +456 -446
- package/dist/{rls-migrate-CN4TlJTO.js → migrate-BwlB5-Wk.js} +75 -15
- package/dist/nest/index.d.ts +4 -4
- package/dist/nest/index.js +11 -12
- package/dist/next/index.d.ts +31 -8
- package/dist/next/index.js +29 -33
- package/dist/next/plugin.d.ts +1 -1
- package/dist/next/plugin.js +1 -1
- package/dist/node/index.d.ts +4 -4
- package/dist/node/index.js +4 -4
- package/dist/ocsf-uYFXGVw2.js +115 -0
- package/dist/openai/index.d.ts +5 -5
- package/dist/openai/index.js +4 -4
- package/dist/openapi/index.d.ts +3 -3
- package/dist/openapi/index.js +1 -1
- package/dist/{openapi-CqqEbHsL.js → openapi-BJdBmYDG.js} +19 -23
- package/dist/{openapi-BqRBvAng.js → openapi-DBzHQbov.js} +2 -5
- package/dist/{openapi-CQTsgKoB.js → openapi-DcQ1Kg40.js} +3 -3
- package/dist/orpc/index.d.ts +5 -5
- package/dist/orpc/index.js +9 -11
- package/dist/otel/index.d.ts +2 -2
- package/dist/otel/index.js +26 -23
- package/dist/output-files-CgIsvdSa.js +140 -0
- package/dist/{rls-ownership-DcYlZ09B.js → ownership-BgnbOJFT.js} +387 -379
- package/dist/{package-root-zGkxO3oN.js → package-root-DtNnpmUd.js} +3 -2
- package/dist/{parse-BuyjxhZV.js → parse-CVFQHk6c.js} +3 -3
- package/dist/{parse-local-manifest-BrMozJCo.js → parse-local-manifest-C-q02Pal.js} +2 -4
- package/dist/{parse-local-manifest-JLnaBH0S.d.ts → parse-local-manifest-DvYUR0QL.d.ts} +1 -1
- package/dist/pdp/index.d.ts +2 -2
- package/dist/pdp/index.js +8 -9
- package/dist/{permdock-CbgvLnuo.js → permdock-L26udHSk.js} +1387 -1220
- package/dist/{rls-fields-CZOMlwHl.js → permission-keys-B26jeyUv.js} +1268 -2053
- package/dist/permission-registry-BsblpB-z.js +385 -0
- package/dist/{permissions-DttnqqxC.d.ts → permission-types-Dg39z9Kv.d.ts} +59 -31
- package/dist/{permissions-RJrovw98.js → permissions-CCJ6lmxB.js} +3 -3
- package/dist/{permissions-CDgvKG5L.d.ts → permissions-COH-KRgT.d.ts} +2 -2
- package/dist/{policy-IB6yxpC3.d.ts → policy-types-sp9P1iIV.d.ts} +661 -582
- package/dist/{policy-D2W7uv19.d.ts → policy-ur0BBK_e.d.ts} +2 -2
- package/dist/{powersync-DE19b9dT.js → powersync-BFSbSElQ.js} +2 -2
- package/dist/powersync-DCDgZgfZ.js +2 -0
- package/dist/{powersync-Dv1_aWF7.js → powersync-cZe4kzhL.js} +26 -27
- package/dist/prisma/index.d.ts +1 -1
- package/dist/prisma/index.js +6 -12
- package/dist/{problem-B43ztKIm.js → problem-CnWraVhC.js} +8 -7
- package/dist/{problem-details-_AMOYz-w.js → problem-details-DECUnXAn.js} +2 -2
- package/dist/{problem-details-DX075l9V.d.ts → problem-details-rIIo8B2C.d.ts} +1 -1
- package/dist/{protected-BdnIEFkY.d.ts → protected-B3_P7xuw.d.ts} +9 -6
- package/dist/{protected-utU-SLuy.js → protected-BN7BUdY1.js} +20 -8
- package/dist/{provider-CSQd7m92.js → provider-Bi-0HNL3.js} +23 -10
- package/dist/{provider-DZY281jO.d.ts → provider-kwHC9CZD.d.ts} +1 -1
- package/dist/{provider-store-Cfbvo4DE.js → provider-store-Ctt-81Ni.js} +6 -3
- package/dist/react/index.d.ts +7 -7
- package/dist/react/index.js +5 -5
- package/dist/react/provider-client.d.ts +1 -1
- package/dist/react/provider-client.js +1 -1
- package/dist/react-native/index.d.ts +20 -11
- package/dist/react-native/index.js +33 -17
- package/dist/{refs-KYb4ntaz.js → refs-f3imMjNW.js} +1 -1
- package/dist/relation-walk-BXnlLtg2.js +186 -0
- package/dist/relations-CvmSpG67.js +163 -0
- package/dist/{replay-CYyiLiwO.d.ts → replay-COpmZUfx.d.ts} +1 -1
- package/dist/request-context-BVM7aWNs.js +71 -0
- package/dist/request-context-C2_1lchh.d.ts +5 -0
- package/dist/resource-relations-D1Un3pcz.js +243 -0
- package/dist/retire-BFcxL6un.js +240 -0
- package/dist/{rls-P-BeBx0n.js → rls-55DQTuf5.js} +14 -2
- package/dist/{rls-DiinlRML.js → rls-BEktUaqg.js} +884 -484
- package/dist/{policy-xyWg7QdR.js → role-builder-B4GbKM-i.js} +235 -541
- package/dist/{rpc-DL9Sqvb1.js → rpc-nYC3cR_u.js} +15 -5
- package/dist/{run-BWc9qqvE.js → run-DMcNW_8T.js} +3 -3
- package/dist/{runtime-CB8gQFvS.js → runtime-D_tMXnsq.js} +1 -1
- package/dist/{saas-DhpJjnBA.js → saas-DtaA4JuW.js} +9 -8
- package/dist/{openapi-schema--ARjyfQr.js → schema-Bol6gqXA.js} +3 -5
- package/dist/{schema-D3MnDMxa.js → schema-DjQBcAP9.js} +4 -2
- package/dist/scim/index.d.ts +1 -1
- package/dist/scim/index.js +1 -1
- package/dist/{scim-BFGBBAqR.js → scim-vFR1O5oG.js} +6 -12
- package/dist/{scopes-CVdPrWN-.js → scopes-tvpa34ep.js} +10 -2
- package/dist/server/index.d.ts +18 -8
- package/dist/server/index.js +8 -8
- package/dist/{server-DlZ28Oz5.js → server-ZYEHtNHS.js} +4 -4
- package/dist/{create-B1d519XK.d.ts → server-types-DdqBwZN_.d.ts} +69 -33
- package/dist/shared-1uhI-e-b.js +294 -0
- package/dist/{shared-DRu8VFVM.js → shared-JhMeOsDF.js} +1 -1
- package/dist/{sink-Bd9PSyfq.js → sink-BTtmfPnE.js} +1 -1
- package/dist/{sink-B1fZzIMf.d.ts → sink-CPN4zLfs.d.ts} +1 -1
- package/dist/{skills-Biq5uup3.js → skills-BZdRQkxs.js} +4 -3
- package/dist/{skills-C5CbhhpG.js → skills-Dle4ZoLF.js} +2 -2
- package/dist/{snapshot-Enxd0n-s.js → snapshot-Dc9CHPME.js} +116 -13
- package/dist/{snapshot-cache-D6jLelln.js → snapshot-cache-Cod40D-X.js} +1 -1
- package/dist/{snapshot-cache-B-LxUahj.d.ts → snapshot-cache-J5T7t_vD.d.ts} +1 -1
- package/dist/solid/index.d.ts +22 -22
- package/dist/solid/index.js +40 -10
- package/dist/{sources-4p0-4xQm.js → sources-B1-b-R0t.js} +25 -26
- package/dist/{sources-BdOYLw9j.d.ts → sources-Dljy06zL.d.ts} +6 -2
- package/dist/{sql-xdg5f4Fi.js → sql-t8teWOfo.js} +19 -3
- package/dist/{src-BDwEZWrZ.js → src-Bb7no-hS.js} +194 -123
- package/dist/ssf/index.d.ts +3 -3
- package/dist/ssf/index.js +58 -61
- package/dist/store-9KO4BlkB.d.ts +147 -0
- package/dist/{store-DMAWwAJV.js → store-ILkLUj_o.js} +4 -4
- package/dist/{store-options-ByhZq1jV.js → store-options-CbUHDoSe.js} +16 -7
- package/dist/{stores-BT2pSCub.js → stores-BHXdSbw9.js} +7 -3
- package/dist/stores-Cxz_80g-.d.ts +31 -0
- package/dist/{stream-DDpvynSB.js → stream-BMui98KK.js} +2 -1
- package/dist/{stream-D1RXubw2.d.ts → stream-Dwsg6WwE.d.ts} +2 -2
- package/dist/{subject-settings-BwBmCdTR.js → subject-settings-CkEwrw3W.js} +23 -5
- package/dist/supabase/index.d.ts +4 -4
- package/dist/supabase/index.js +3 -3
- package/dist/supabase/middleware.d.ts +11 -5
- package/dist/supabase/middleware.js +10 -7
- package/dist/{supabase-C0qESOa-.js → supabase-C1TWlnYt.js} +36 -52
- package/dist/{supabase-s4o9s1O1.js → supabase-Dbqr141s.js} +2 -2
- package/dist/supabase-hook-BULg7Ut_.js +2 -0
- package/dist/{supabase-hook-ntETYCQu.js → supabase-hook-Cva3ikXz.js} +730 -781
- package/dist/{supautils-u8jXTGrt.js → supautils-B6HYL9eL.js} +2 -2
- package/dist/svelte/Protected.svelte +9 -2
- package/dist/svelte/index.d.ts +6 -6
- package/dist/svelte/index.js +25 -11
- package/dist/svelte/runtime.d.ts +10 -3
- package/dist/svelte/runtime.js +4 -3
- package/dist/svelte/source.d.ts +6 -6
- package/dist/svelte/source.js +4 -4
- package/dist/{validity-uOp8UpYn.js → tenancy-DshjqY0n.js} +3 -39
- package/dist/terminal/index.d.ts +5 -5
- package/dist/terminal/index.js +18 -34
- package/dist/testing/index.d.ts +89 -77
- package/dist/testing/index.js +1276 -1262
- package/dist/testing/saas/index.d.ts +4 -4
- package/dist/testing/saas/index.js +2 -2
- package/dist/testing/saas/permissions.d.ts +1 -1
- package/dist/testing/saas/permissions.js +1 -1
- package/dist/thenable-QSmvt-vZ.js +65 -0
- package/dist/{token-CIWxJOCh.js → token-Bx9qy30p.js} +1 -1
- package/dist/tool-refusal-CQ7OEia9.js +41 -0
- package/dist/trpc/index.d.ts +5 -5
- package/dist/trpc/index.js +7 -8
- package/dist/{types-DbjRN55U.d.ts → types-7rJVLWe5.d.ts} +82 -4
- package/dist/{types-aqOHTHcp.d.ts → types-Br9IXUBG.d.ts} +1 -1
- package/dist/types-ByUo56un.d.ts +88 -0
- package/dist/{types-Cq_H8N_X.d.ts → types-C0dee0Qf.d.ts} +2 -2
- package/dist/{types-DxiCGmmd.d.ts → types-CIlTojhq.d.ts} +2 -2
- package/dist/{types-QCuYJh4q.d.ts → types-CUcFZfpU.d.ts} +1 -1
- package/dist/{types-C97IskBw.d.ts → types-CqrjB9o6.d.ts} +1 -1
- package/dist/{types-BnIEz1sU.d.ts → types-DHrmBJLH.d.ts} +24 -6
- package/dist/{types-Dnemwd77.d.ts → types-DpWfQdSh.d.ts} +5 -1
- package/dist/{types-Bvc4oWT6.d.ts → types-DvupZE0w.d.ts} +1 -1
- package/dist/unplugin/index.d.ts +1 -1
- package/dist/unplugin/index.js +1 -1
- package/dist/{usage-B0YuTQRO.js → usage-4G6t643F.js} +2 -2
- package/dist/{usage-ItS7nLcl.js → usage-CG9nOYZw.js} +7 -7
- package/dist/usage-iFLJ0-rr.js +2 -0
- package/dist/{validation-error-Ba264OaJ.d.ts → validation-error-BSSw0l_8.d.ts} +1 -1
- package/dist/{validation-error-CnjZ4t92.js → validation-error-ZfUHbKvf.js} +1 -1
- package/dist/validity-dVrUEPJt.js +62 -0
- package/dist/{verifier-BxBo6I44.js → verifier-DMr_Zmb_.js} +51 -15
- package/dist/{rls-verify-CMv9H3wV.js → verify-BztUB3GX.js} +668 -239
- package/dist/{version-BvacVTZR.js → version-BEogC-rB.js} +1 -1
- package/dist/{views-Soe7bGSC.js → views-CJsrBS1f.js} +23 -1
- package/dist/{vocabulary-DA8a8zif.d.ts → vocabulary-hhEFLFoL.d.ts} +15 -6
- package/dist/vue/index.d.ts +24 -19
- package/dist/vue/index.js +24 -8
- package/dist/watch-C8TpsAl4.js +2 -0
- package/dist/{watch-DVBJ9cBq.js → watch-zeucB7eF.js} +6 -6
- package/dist/webmcp/index.d.ts +2 -2
- package/dist/webmcp/index.js +13 -37
- package/dist/wrap-Cr93qqdP.d.ts +14 -0
- package/dist/wrap-DWsU_5Bd.js +26 -0
- package/package.json +8 -8
- package/schemas/catalog-v1.json +6 -0
- package/skills/permdock-credentials/SKILL.md +1 -1
- package/skills/permdock-credentials/references/tokens-keys-links.md +7 -2
- package/skills/permdock-data/references/queries-and-rls.md +4 -0
- package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +1 -0
- package/skills/permdock-wire/SKILL.md +2 -2
- package/skills/permdock-wire/references/adapters.md +9 -1
- package/skills/permdock-wire/references/policy-options.md +10 -1
- package/dist/catalog-CRW5Mx_B.js +0 -2
- package/dist/collect-DSWOk19R.js +0 -2
- package/dist/create-CMwIl-w2.js +0 -253
- package/dist/delegation-D8pUEuce.js +0 -103
- package/dist/doctor-DvH0IQff.js +0 -1194
- package/dist/doctor-collect-CjdO0wQX.js +0 -665
- package/dist/evaluation-items-CfCCejQd.js +0 -40
- package/dist/fields-BMl1RxoX.js +0 -26
- package/dist/grantee-Cv5Sogfv.js +0 -602
- package/dist/hosted-DJQw46hn.js +0 -266
- package/dist/instance-options-Dhhcnm3y.js +0 -22
- package/dist/load-DwJUafYN.js +0 -2
- package/dist/map-AcxK9o_D.js +0 -147
- package/dist/permissions-DVoF6dMt.js +0 -662
- package/dist/powersync-CrBX8hY6.js +0 -2
- package/dist/protected-xAr24FEC.d.ts +0 -40
- package/dist/relations-cjOL01hZ.js +0 -505
- package/dist/rls-graph-CHwx0V8q.js +0 -435
- package/dist/rls-shared-Cewd_-zI.js +0 -495
- package/dist/store-jOBYpiXC.d.ts +0 -36
- package/dist/stores-C0IMQrGI.d.ts +0 -52
- package/dist/supabase-config-Bj3iDH2I.js +0 -472
- package/dist/supabase-hook-gd3s8bxB.js +0 -2
- package/dist/thenable-okc2xDsj.js +0 -10
- package/dist/types-CKNSyIf_.d.ts +0 -52
- package/dist/usage-DorAJiU_.js +0 -2
- package/dist/watch-BwxLTYMZ.js +0 -2
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { n as validateOverlay, t as validateOpenapi } from "./
|
|
2
|
-
import {
|
|
3
|
-
import { a as
|
|
4
|
-
import {
|
|
1
|
+
import { n as validateOverlay, t as validateOpenapi } from "./schema-Bol6gqXA.js";
|
|
2
|
+
import { r as isRecord } from "./compact-CAf557ZB.js";
|
|
3
|
+
import { a as getResource, n as findPermission } from "./permission-registry-BsblpB-z.js";
|
|
4
|
+
import { o as definePolicy } from "./hosted-CBHgkzDl.js";
|
|
5
|
+
import { i as readJsonFile, s as writeFileEnsuringDir } from "./files-D_JIzUrP.js";
|
|
6
|
+
import { a as loadModule, n as asPolicy, s as pickNamed, t as asPermissionTree } from "./load-C3_oTHyO.js";
|
|
5
7
|
import { t as shortDiff } from "./text-diff-BdkkYSbi.js";
|
|
6
|
-
import { c as openapiVersion, o as createPermDock } from "./openapi-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
12
|
-
}
|
|
8
|
+
import { c as openapiVersion, o as createPermDock } from "./openapi-DBzHQbov.js";
|
|
9
|
+
import { r as fileDrift } from "./output-files-CgIsvdSa.js";
|
|
10
|
+
import { existsSync } from "node:fs";
|
|
11
|
+
import { resolve } from "node:path";
|
|
12
|
+
//#region src/cli/openapi/openapi.ts
|
|
13
13
|
function mergeRecord(base, extra) {
|
|
14
14
|
const result = {};
|
|
15
15
|
for (const [key, value] of Object.entries(base)) result[key] = value;
|
|
@@ -192,7 +192,7 @@ async function runOpenapi(input) {
|
|
|
192
192
|
};
|
|
193
193
|
let parsed;
|
|
194
194
|
try {
|
|
195
|
-
parsed =
|
|
195
|
+
parsed = readJsonFile(docPath);
|
|
196
196
|
} catch {
|
|
197
197
|
return {
|
|
198
198
|
code: 2,
|
|
@@ -223,27 +223,23 @@ async function runOpenapi(input) {
|
|
|
223
223
|
output: conformance
|
|
224
224
|
};
|
|
225
225
|
const text = stableJson(result);
|
|
226
|
-
const
|
|
226
|
+
const outFile = input.out ?? input.doc;
|
|
227
|
+
const outPath = resolve(input.cwd, outFile);
|
|
227
228
|
if (input.check) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
output: `openapi drift: missing ${input.out ?? input.doc}`
|
|
231
|
-
};
|
|
232
|
-
const current = readFileSync(outPath, "utf8");
|
|
233
|
-
if (current === text) return {
|
|
229
|
+
const found = fileDrift(outPath, text);
|
|
230
|
+
if (found === void 0) return {
|
|
234
231
|
code: 0,
|
|
235
232
|
output: "openapi up to date"
|
|
236
233
|
};
|
|
237
234
|
return {
|
|
238
235
|
code: 1,
|
|
239
|
-
output: `openapi drift\n${shortDiff(
|
|
236
|
+
output: found.kind === "missing" ? `openapi drift: missing ${outFile}` : `openapi drift\n${shortDiff(outFile, found.onDisk, text)}`
|
|
240
237
|
};
|
|
241
238
|
}
|
|
242
|
-
|
|
243
|
-
writeFileSync(outPath, text);
|
|
239
|
+
writeFileEnsuringDir(outPath, text);
|
|
244
240
|
return {
|
|
245
241
|
code: 0,
|
|
246
|
-
output: `wrote ${
|
|
242
|
+
output: `wrote ${outFile}`
|
|
247
243
|
};
|
|
248
244
|
}
|
|
249
245
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as compact } from "./compact-
|
|
2
|
-
import {
|
|
1
|
+
import { r as isRecord, t as compact } from "./compact-CAf557ZB.js";
|
|
2
|
+
import { c as listPermissions, n as findPermission, o as isPermission } from "./permission-registry-BsblpB-z.js";
|
|
3
3
|
import { n as sha256 } from "./sha256-BO0swRXL.js";
|
|
4
4
|
import { t as requiresApproval } from "./approval-required-TzNB9oQA.js";
|
|
5
5
|
import { i as PROFILE_PARAMETERS, n as GNAP_RESERVED, r as PROFILE_NAMES, t as DRAFT_PINS } from "./pins-8ILTftC9.js";
|
|
@@ -402,9 +402,6 @@ function operationPermissions(operations, options = {}) {
|
|
|
402
402
|
}
|
|
403
403
|
};
|
|
404
404
|
}
|
|
405
|
-
function isRecord(value) {
|
|
406
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
407
|
-
}
|
|
408
405
|
/**
|
|
409
406
|
* The operation permissions an OpenAPI document declares: every operation
|
|
410
407
|
* whose `x-permdock-permissions` names exactly one permission of `tree`, keyed
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as listArg, i as globalArgs, s as stringArg, t as COMMAND_DESCRIPTIONS } from "./commands-
|
|
1
|
+
import { a as listArg, i as globalArgs, s as stringArg, t as COMMAND_DESCRIPTIONS } from "./commands-Cpip4ULx.js";
|
|
2
2
|
import { defineCommand } from "citty";
|
|
3
3
|
//#region src/cli/commands/openapi.ts
|
|
4
4
|
function openapi(ctx) {
|
|
@@ -122,7 +122,7 @@ function openapi(ctx) {
|
|
|
122
122
|
const doc = listArg(rawArgs, "doc")[0];
|
|
123
123
|
if (parsed._[0] === "import") {
|
|
124
124
|
if (doc === void 0) throw new Error("openapi --doc is required");
|
|
125
|
-
const { runOpenapiImport } = await import("./
|
|
125
|
+
const { runOpenapiImport } = await import("./import-UHk1N7vH.js");
|
|
126
126
|
ctx.report(await runOpenapiImport({
|
|
127
127
|
cwd: ctx.cwd,
|
|
128
128
|
doc,
|
|
@@ -134,7 +134,7 @@ function openapi(ctx) {
|
|
|
134
134
|
}));
|
|
135
135
|
return;
|
|
136
136
|
}
|
|
137
|
-
const result = await (await import("./openapi-
|
|
137
|
+
const result = await (await import("./openapi-BJdBmYDG.js")).runOpenapi({
|
|
138
138
|
cwd: ctx.cwd,
|
|
139
139
|
config: ctx.config,
|
|
140
140
|
rest: parsed._,
|
package/dist/orpc/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { E as Policy, Or as Principal, j as PolicyVocabulary, jt as PermDock } from "../policy-types-sp9P1iIV.js";
|
|
2
|
+
import { d as Permission } from "../permission-types-Dg39z9Kv.js";
|
|
3
3
|
import { n as RevocationFeed } from "../revocations-Cy06JNx2.js";
|
|
4
|
-
import { A as ConnectionOptions, O as Connection,
|
|
5
|
-
import { t as ServerAdapterOptions } from "../bind-
|
|
6
|
-
import { t as StreamProtectOptions } from "../stream-
|
|
4
|
+
import { A as ConnectionOptions, O as Connection, i as OpenApiHooks } from "../server-types-DdqBwZN_.js";
|
|
5
|
+
import { t as ServerAdapterOptions } from "../bind-BzqG8SMb.js";
|
|
6
|
+
import { t as StreamProtectOptions } from "../stream-Dwsg6WwE.js";
|
|
7
7
|
import { Middleware } from "@orpc/server";
|
|
8
8
|
//#region src/orpc/create.d.ts
|
|
9
9
|
type OrpcMiddlewareOpts<TCtx extends object = object, TInput = unknown> = {
|
package/dist/orpc/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { t as compact } from "../compact-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as problemFromError } from "../map-error-
|
|
5
|
-
import { n as attached } from "../bind-
|
|
6
|
-
import { a as reloadAfter, r as isAsyncIterable } from "../stream-
|
|
7
|
-
import { i as rpcCode, n as guardStream, r as problemBody, t as bindRpcKernel } from "../rpc-
|
|
1
|
+
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
+
import { o as isPermission } from "../permission-registry-BsblpB-z.js";
|
|
3
|
+
import { o as problemMessage } from "../http-BBoKefeS.js";
|
|
4
|
+
import { t as problemFromError } from "../map-error-BE27PYkE.js";
|
|
5
|
+
import { n as attached } from "../bind-kk-uyCwH.js";
|
|
6
|
+
import { a as reloadAfter, r as isAsyncIterable } from "../stream-BMui98KK.js";
|
|
7
|
+
import { i as rpcCode, n as guardStream, r as problemBody, t as bindRpcKernel } from "../rpc-nYC3cR_u.js";
|
|
8
8
|
import { ORPCError } from "@orpc/server";
|
|
9
9
|
//#region src/orpc/create.ts
|
|
10
10
|
function toOpts(mw, input, next) {
|
|
@@ -71,7 +71,7 @@ function permissionOf(procedure) {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
function createPermDock(policy, options) {
|
|
74
|
-
const { kernel, bind, attach, scopeOf, connection, evaluate } = bindRpcKernel(policy, options, "orpc", (opts) => opts.context, (opts) => opts.path?.join(".") ?? "orpc");
|
|
74
|
+
const { kernel, bind, attach, scopeOf, connection, evaluate, guard: runGuard } = bindRpcKernel(policy, options, "orpc", (opts) => opts.context, (opts) => opts.path?.join(".") ?? "orpc");
|
|
75
75
|
/** Instances this factory built, with the tenant each was built for. */
|
|
76
76
|
const issued = /* @__PURE__ */ new WeakMap();
|
|
77
77
|
const issue = (instance, scope) => {
|
|
@@ -107,9 +107,7 @@ function createPermDock(policy, options) {
|
|
|
107
107
|
};
|
|
108
108
|
const protect = (permission, loadData, protectOptions) => tagged(permission, (async (mwOptions, input) => {
|
|
109
109
|
const opts = toOpts(mwOptions, input, mwOptions.next);
|
|
110
|
-
const request =
|
|
111
|
-
const scope = await scopeOf(opts);
|
|
112
|
-
const guard = await kernel.protect(permission, loadData === void 0 ? void 0 : () => loadData(opts), protectOptions)(request, scope);
|
|
110
|
+
const { request, scope, guard } = await runGuard(permission, loadData, opts, protectOptions);
|
|
113
111
|
if (guard.ok) {
|
|
114
112
|
const nextCtx = {
|
|
115
113
|
...opts.context,
|
package/dist/otel/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as OtelOptions, i as OtelApi, n as GEN_AI_TOOL_CALL_ID, o as OtelWrap, r as GEN_AI_TOOL_NAME, s as StructuralLogger, t as GENAI_SEMCONV_PIN } from "../types-
|
|
1
|
+
import { j as PolicyVocabulary, jt as PermDock } from "../policy-types-sp9P1iIV.js";
|
|
2
|
+
import { a as OtelOptions, i as OtelApi, n as GEN_AI_TOOL_CALL_ID, o as OtelWrap, r as GEN_AI_TOOL_NAME, s as StructuralLogger, t as GENAI_SEMCONV_PIN } from "../types-CUcFZfpU.js";
|
|
3
3
|
//#region src/otel/instrument.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Listens on one instance. Spans carry no duration and no histogram is
|
package/dist/otel/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { t as compact } from "../compact-
|
|
1
|
+
import { t as compact } from "../compact-CAf557ZB.js";
|
|
2
|
+
import { n as wrapPermDock } from "../wrap-DWsU_5Bd.js";
|
|
3
|
+
import { r as appObligationNames } from "../ocsf-uYFXGVw2.js";
|
|
2
4
|
//#region src/otel/types.ts
|
|
3
5
|
const GENAI_SEMCONV_PIN = "1.37.0";
|
|
4
6
|
const GEN_AI_TOOL_NAME = "gen_ai.tool.name";
|
|
@@ -91,6 +93,8 @@ function attributesOf(event, options, parent) {
|
|
|
91
93
|
"permdock.actor.kind": event.subject.actor?.kind,
|
|
92
94
|
"permdock.delegation.scopes": event.subject.delegation?.scopes?.join(","),
|
|
93
95
|
"permdock.matched.role": event.matched?.role,
|
|
96
|
+
"permdock.matched.name": event.matched?.name,
|
|
97
|
+
"permdock.obligations": appObligationNames(event)?.join(","),
|
|
94
98
|
"permdock.denials.count": event.denials?.length,
|
|
95
99
|
"permdock.token": event.token,
|
|
96
100
|
"permdock.validate": event.trusted ? "trusted" : "boundary",
|
|
@@ -170,28 +174,27 @@ function instrument(permdock, options = {}) {
|
|
|
170
174
|
return listen(permdock, options, resolveApi(options.api), () => void 0);
|
|
171
175
|
}
|
|
172
176
|
function instrumented(permdock, options, api) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
const
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
team: (id) => instrumented(permdock.team(id), options, api)
|
|
177
|
+
return wrapPermDock(permdock, (inner) => {
|
|
178
|
+
let started;
|
|
179
|
+
listen(inner, options, api, () => started);
|
|
180
|
+
const timed = (fn) => (...args) => {
|
|
181
|
+
const outer = started === void 0;
|
|
182
|
+
if (outer) started = now();
|
|
183
|
+
try {
|
|
184
|
+
return fn(...args);
|
|
185
|
+
} finally {
|
|
186
|
+
if (outer) started = void 0;
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
return {
|
|
190
|
+
can: timed(inner.can),
|
|
191
|
+
decide: timed(inner.decide),
|
|
192
|
+
assert: timed(inner.assert),
|
|
193
|
+
explain: timed(inner.explain),
|
|
194
|
+
filter: timed(inner.filter),
|
|
195
|
+
pick: timed(inner.pick),
|
|
196
|
+
actions: timed(inner.actions)
|
|
197
|
+
};
|
|
195
198
|
});
|
|
196
199
|
}
|
|
197
200
|
/** Returns an instrumented instance: timed spans and histogram, derived instances included. */
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { s as writeFileEnsuringDir } from "./files-D_JIzUrP.js";
|
|
2
|
+
import { t as shortDiff } from "./text-diff-BdkkYSbi.js";
|
|
3
|
+
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
4
|
+
import { resolve } from "node:path";
|
|
5
|
+
/** How `path` on disk differs from `expected`; `undefined` when `same` holds. */
|
|
6
|
+
function fileDrift(path, expected, same = (a, b) => a === b) {
|
|
7
|
+
if (!existsSync(path)) return { kind: "missing" };
|
|
8
|
+
const onDisk = readFileSync(path, "utf8");
|
|
9
|
+
return same(onDisk, expected) ? void 0 : {
|
|
10
|
+
kind: "differs",
|
|
11
|
+
onDisk
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/** `--check`: one entry per file that is missing or differs, naming its part; a differing file carries a short diff. */
|
|
15
|
+
function driftOf(cwd, files) {
|
|
16
|
+
const drift = [];
|
|
17
|
+
for (const file of files) {
|
|
18
|
+
if (file.rel === "-") continue;
|
|
19
|
+
const found = fileDrift(resolve(cwd, file.rel), file.text);
|
|
20
|
+
if (found?.kind === "missing") drift.push(`${file.part}: missing ${file.rel}`);
|
|
21
|
+
else if (found?.kind === "differs") drift.push(`${file.part}: ${file.rel}\n${shortDiff(file.rel, found.onDisk, file.text)}`);
|
|
22
|
+
}
|
|
23
|
+
return drift;
|
|
24
|
+
}
|
|
25
|
+
/** Writes every file but the stdout ones, whose text it returns for printing. */
|
|
26
|
+
function writeOutputFiles(cwd, files) {
|
|
27
|
+
const wrote = [];
|
|
28
|
+
const printed = [];
|
|
29
|
+
for (const file of files) {
|
|
30
|
+
if (file.rel === "-") {
|
|
31
|
+
printed.push(file.text.trimEnd());
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const path = resolve(cwd, file.rel);
|
|
35
|
+
writeFileEnsuringDir(path, file.text);
|
|
36
|
+
wrote.push(file.rel);
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
wrote,
|
|
40
|
+
printed: printed.join("\n")
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const PARTS = [
|
|
44
|
+
"helpers",
|
|
45
|
+
"seeds",
|
|
46
|
+
"indexes",
|
|
47
|
+
"policies",
|
|
48
|
+
"hook"
|
|
49
|
+
];
|
|
50
|
+
/** `--split helpers,seeds,indexes,policies,hook`: the parts in that fixed order, or an error. */
|
|
51
|
+
function parseSplit(raw) {
|
|
52
|
+
if (raw === void 0) return;
|
|
53
|
+
const names = raw.split(",").map((name) => name.trim()).filter((name) => name !== "");
|
|
54
|
+
if (names.filter((name) => !PARTS.some((part) => part === name)).length > 0 || names.length === 0) return `rls generate --split takes helpers, seeds, indexes, policies and hook, got '${raw}'`;
|
|
55
|
+
return PARTS.filter((part) => names.includes(part));
|
|
56
|
+
}
|
|
57
|
+
/** The path of one split part: `{part}` in `out` replaced by the part name. */
|
|
58
|
+
function partPath(out, part) {
|
|
59
|
+
return out.replaceAll("{part}", part);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* pg-delta's per-schema, unnumbered layout: pg-delta orders statements by
|
|
63
|
+
* their dependencies, so no file needs a number to apply first.
|
|
64
|
+
*/
|
|
65
|
+
function pgDeltaPath(root, part, schema) {
|
|
66
|
+
switch (part) {
|
|
67
|
+
case "helpers":
|
|
68
|
+
case "indexes":
|
|
69
|
+
case "seeds": return `${root}/${schema}/${part}.sql`;
|
|
70
|
+
case "policies": return `${root}/public/policies/permdock.sql`;
|
|
71
|
+
case "hook": return `${root}/${schema}/functions/custom_access_token_hook.sql`;
|
|
72
|
+
default: return part;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Whether `--seeds-out` names a migrations directory: it ends with \`/\` or is an existing directory. */
|
|
76
|
+
function isSeedsDirectory(cwd, out) {
|
|
77
|
+
if (out === "-") return false;
|
|
78
|
+
if (out.endsWith("/")) return true;
|
|
79
|
+
const path = resolve(cwd, out);
|
|
80
|
+
return existsSync(path) && statSync(path).isDirectory();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* A generated data migration at `out`: a file, `-` for stdout, or a
|
|
84
|
+
* migrations directory that gets a new versioned file only when the newest
|
|
85
|
+
* one starting with `marker` differs. With `check`, the planned file is
|
|
86
|
+
* always returned, so drift names it.
|
|
87
|
+
*/
|
|
88
|
+
function dataMigrationFile(input) {
|
|
89
|
+
if (!isSeedsDirectory(input.cwd, input.out)) return {
|
|
90
|
+
part: input.part,
|
|
91
|
+
rel: input.out,
|
|
92
|
+
text: input.text
|
|
93
|
+
};
|
|
94
|
+
const planned = seedsMigration(input.cwd, input.out, input.marker, input.text, input.now, input.part);
|
|
95
|
+
return !planned.current || input.check ? {
|
|
96
|
+
part: input.part,
|
|
97
|
+
rel: planned.rel,
|
|
98
|
+
text: input.text
|
|
99
|
+
} : void 0;
|
|
100
|
+
}
|
|
101
|
+
/** `YYYYMMDDHHMMSS` in UTC, the Supabase migration version. */
|
|
102
|
+
function migrationVersion(now) {
|
|
103
|
+
return now.toISOString().replaceAll(/[^0-9]/gu, "").slice(0, 14);
|
|
104
|
+
}
|
|
105
|
+
const VERSION_PREFIX = /^\d{14}(?=_)/u;
|
|
106
|
+
/**
|
|
107
|
+
* The version of a new migration that sorts after every migration in
|
|
108
|
+
* `names`: one second past the newest, so the same directory always gives the
|
|
109
|
+
* same name. Only a directory with no versioned migration falls back to `now`.
|
|
110
|
+
*/
|
|
111
|
+
function nextMigrationVersion(names, now) {
|
|
112
|
+
const times = names.flatMap((name) => {
|
|
113
|
+
const stamp = VERSION_PREFIX.exec(name)?.[0];
|
|
114
|
+
return stamp === void 0 ? [] : [Date.UTC(Number(stamp.slice(0, 4)), Number(stamp.slice(4, 6)) - 1, Number(stamp.slice(6, 8)), Number(stamp.slice(8, 10)), Number(stamp.slice(10, 12)), Number(stamp.slice(12, 14)))];
|
|
115
|
+
});
|
|
116
|
+
return times.length === 0 ? migrationVersion(now) : migrationVersion(new Date(Math.max(...times) + 1e3));
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* The seeds part in a migrations directory: the newest migration there that
|
|
120
|
+
* starts with \`marker\` when its text is \`text\` already, otherwise a new
|
|
121
|
+
* \`<version>_permdock_seeds.sql\` one second after the newest migration
|
|
122
|
+
* (\`nextMigrationVersion\`), so a regeneration of the same directory names it
|
|
123
|
+
* the same. \`current\` is false when a new one is due. \`label\` replaces
|
|
124
|
+
* \`seeds\` in the file name for the other generated data migrations.
|
|
125
|
+
*/
|
|
126
|
+
function seedsMigration(cwd, dir, marker, text, now, label = "seeds") {
|
|
127
|
+
const base = dir.endsWith("/") ? dir.slice(0, -1) : dir;
|
|
128
|
+
const path = resolve(cwd, base);
|
|
129
|
+
const latest = existsSync(path) ? readdirSync(path).filter((name) => name.endsWith(".sql")).toSorted().toReversed().find((name) => readFileSync(resolve(path, name), "utf8").startsWith(marker)) : void 0;
|
|
130
|
+
if (latest !== void 0 && readFileSync(resolve(path, latest), "utf8") === text) return {
|
|
131
|
+
rel: `${base}/${latest}`,
|
|
132
|
+
current: true
|
|
133
|
+
};
|
|
134
|
+
return {
|
|
135
|
+
rel: `${base}/${nextMigrationVersion(existsSync(path) ? readdirSync(path) : [], now)}_permdock_${label}.sql`,
|
|
136
|
+
current: false
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
//#endregion
|
|
140
|
+
export { parseSplit as a, seedsMigration as c, isSeedsDirectory as i, writeOutputFiles as l, driftOf as n, partPath as o, fileDrift as r, pgDeltaPath as s, dataMigrationFile as t };
|