permdock 0.0.0 → 0.1.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 (290) hide show
  1. package/README.md +268 -1
  2. package/dist/a2a/index.d.ts +178 -0
  3. package/dist/a2a/index.js +271 -0
  4. package/dist/ai-sdk/index.d.ts +74 -0
  5. package/dist/ai-sdk/index.js +137 -0
  6. package/dist/approval-required-TzNB9oQA.js +6 -0
  7. package/dist/approvals/index.d.ts +3 -0
  8. package/dist/approvals/index.js +4 -0
  9. package/dist/approvals-DaxY-Bdg.js +218 -0
  10. package/dist/approvers-aH0PJkmf.js +20 -0
  11. package/dist/arazzo-CTeVuXr5.js +70 -0
  12. package/dist/arazzo-aoTkqYsJ.js +54 -0
  13. package/dist/authzen/index.d.ts +48 -0
  14. package/dist/authzen/index.js +336 -0
  15. package/dist/better-auth/index.d.ts +92 -0
  16. package/dist/better-auth/index.js +324 -0
  17. package/dist/budget-JqcRqyhK.d.ts +11 -0
  18. package/dist/budget-NbEtbJC_.js +11 -0
  19. package/dist/capability-B68OFnZx.js +171 -0
  20. package/dist/capability-BDG_nkxt.d.ts +99 -0
  21. package/dist/catalog/index.d.ts +12 -0
  22. package/dist/catalog/index.js +2 -0
  23. package/dist/catalog-B0E6bggc.js +48 -0
  24. package/dist/catalog-H-vFGwWK.js +55 -0
  25. package/dist/catalog-doc-BSo_Q_-6.js +298 -0
  26. package/dist/catalog-idsHc0vo.js +2 -0
  27. package/dist/catalog-path-CnI0XTFK.js +12 -0
  28. package/dist/claude-agent/index.d.ts +81 -0
  29. package/dist/claude-agent/index.js +83 -0
  30. package/dist/clerk/index.d.ts +56 -0
  31. package/dist/clerk/index.js +280 -0
  32. package/dist/cli/bin.d.ts +1 -0
  33. package/dist/cli/bin.js +20 -0
  34. package/dist/cli/index.d.ts +46 -0
  35. package/dist/cli/index.js +5 -0
  36. package/dist/cloud/index.d.ts +91 -0
  37. package/dist/cloud/index.js +390 -0
  38. package/dist/cloud-BNQTrmrr.js +50 -0
  39. package/dist/cloud-Cuxr6Czw.js +117 -0
  40. package/dist/collect-B7_TIfmg.js +49 -0
  41. package/dist/collect-O-tOtbnk.js +350 -0
  42. package/dist/collect-fRPAQIWb.js +2 -0
  43. package/dist/commands-BMh_Etm2.js +93 -0
  44. package/dist/compact-y6vfu2_f.js +19 -0
  45. package/dist/compare-pfyVnBjE.js +12 -0
  46. package/dist/compile-CQbvyIBr.d.ts +30 -0
  47. package/dist/compile-D22iwvuV.js +558 -0
  48. package/dist/config-BPYmjTOp.js +26 -0
  49. package/dist/connection-JvqwHODC.js +194 -0
  50. package/dist/context-CKEAabd7.js +73 -0
  51. package/dist/context-gtAwAILx.js +6 -0
  52. package/dist/convex/index.d.ts +40 -0
  53. package/dist/convex/index.js +55 -0
  54. package/dist/create-BKF3dgFk.d.ts +162 -0
  55. package/dist/create-CSkhDU9T.js +222 -0
  56. package/dist/credential-B_rkUNlY.js +326 -0
  57. package/dist/credentials-BgRX3WEg.js +268 -0
  58. package/dist/describe-Bt1YD5uS.js +99 -0
  59. package/dist/describe-DernyItf.d.ts +37 -0
  60. package/dist/diff-BUzf5Poi.js +48 -0
  61. package/dist/diff-x5Il8LVa.js +418 -0
  62. package/dist/digest-B3kc_PgQ.d.ts +19 -0
  63. package/dist/digest-BI-6aa6d.js +27 -0
  64. package/dist/doctor-BGle8Gqi.js +1314 -0
  65. package/dist/doctor-Bqo6FwUa.js +53 -0
  66. package/dist/drizzle/index.d.ts +72 -0
  67. package/dist/drizzle/index.js +160 -0
  68. package/dist/duration-xK2jGFVc.js +25 -0
  69. package/dist/elysia/index.d.ts +71 -0
  70. package/dist/elysia/index.js +103 -0
  71. package/dist/errors-DSMnAVNa.js +43 -0
  72. package/dist/errors-DbZ1YOnb.d.ts +138 -0
  73. package/dist/errors-Iy71s7Oj.js +177 -0
  74. package/dist/errors-m3u9TmDu.js +27 -0
  75. package/dist/evaluations-DsAU9ppl.js +479 -0
  76. package/dist/eve/index.d.ts +95 -0
  77. package/dist/eve/index.js +181 -0
  78. package/dist/express/index.d.ts +46 -0
  79. package/dist/express/index.js +108 -0
  80. package/dist/fastify/index.d.ts +56 -0
  81. package/dist/fastify/index.js +141 -0
  82. package/dist/files-B_wAGYmt.js +121 -0
  83. package/dist/fixtures-Cvaw0gDG.js +64 -0
  84. package/dist/freeze-y1_jQL4v.js +31 -0
  85. package/dist/from-snapshot-BMGnhmgv.js +552 -0
  86. package/dist/generate-CH7ThJ14.js +173 -0
  87. package/dist/grantee-Bv04_Vzf.js +521 -0
  88. package/dist/headers-B5RRv3Xm.js +6 -0
  89. package/dist/headers-C8SHQccD.d.ts +6 -0
  90. package/dist/helpers-DnSOrhB9.js +682 -0
  91. package/dist/hono/index.d.ts +70 -0
  92. package/dist/hono/index.js +131 -0
  93. package/dist/hosted-BwKQ1BTA.js +265 -0
  94. package/dist/http-DPuDaChb.d.ts +13 -0
  95. package/dist/http-GgVApX1k.js +111 -0
  96. package/dist/index-CltcQ4Bf.d.ts +138 -0
  97. package/dist/index-LF_hS-yn.d.ts +177 -0
  98. package/dist/index-fG6NSXlc.d.ts +9 -0
  99. package/dist/index-xIxJLwOQ.d.ts +415 -0
  100. package/dist/index.d.ts +11 -0
  101. package/dist/index.js +21 -0
  102. package/dist/jwt/index.d.ts +87 -0
  103. package/dist/jwt/index.js +571 -0
  104. package/dist/kernel-YOGCWNLf.js +211 -0
  105. package/dist/kysely/index.d.ts +77 -0
  106. package/dist/kysely/index.js +129 -0
  107. package/dist/load-BZ24CpZP.js +69 -0
  108. package/dist/load-QOOm1z70.js +2 -0
  109. package/dist/load-jose-BL6LH4bL.js +11 -0
  110. package/dist/lru-8q4WZjBV.js +28 -0
  111. package/dist/manifest-DDQbC6K0.d.ts +118 -0
  112. package/dist/map-DowSO96j.js +158 -0
  113. package/dist/map-claims-B_6I1Rn-.js +360 -0
  114. package/dist/map-error-RJ3ZsUyA.js +16 -0
  115. package/dist/markers-B0hYLvMD.js +60 -0
  116. package/dist/may-use-CnFEjVEp.js +37 -0
  117. package/dist/mcp/index.d.ts +127 -0
  118. package/dist/mcp/index.js +563 -0
  119. package/dist/nest/index.d.ts +80 -0
  120. package/dist/nest/index.js +270 -0
  121. package/dist/next/client.d.ts +24 -0
  122. package/dist/next/client.js +31 -0
  123. package/dist/next/index.d.ts +110 -0
  124. package/dist/next/index.js +195 -0
  125. package/dist/next/plugin.d.ts +14 -0
  126. package/dist/next/plugin.js +2 -0
  127. package/dist/node/index.d.ts +43 -0
  128. package/dist/node/index.js +66 -0
  129. package/dist/openai/index.d.ts +71 -0
  130. package/dist/openai/index.js +105 -0
  131. package/dist/openapi/index.d.ts +93 -0
  132. package/dist/openapi/index.js +3 -0
  133. package/dist/openapi-CwePaF7C.js +164 -0
  134. package/dist/openapi-DWD0Uc_4.js +250 -0
  135. package/dist/openapi-DcqM8nU7.js +306 -0
  136. package/dist/openapi-import-BWRUNNeW.js +5959 -0
  137. package/dist/openapi-schema-D8j_T9tO.js +6902 -0
  138. package/dist/orpc/index.d.ts +64 -0
  139. package/dist/orpc/index.js +188 -0
  140. package/dist/otel/index.d.ts +13 -0
  141. package/dist/otel/index.js +202 -0
  142. package/dist/package-root-zGkxO3oN.js +30 -0
  143. package/dist/parse-DPfIvFMU.js +135 -0
  144. package/dist/pdp/index.d.ts +22 -0
  145. package/dist/pdp/index.js +795 -0
  146. package/dist/peer-BOr_kJE1.js +31 -0
  147. package/dist/permdock-yoZ7EjxX.js +2956 -0
  148. package/dist/permissions-B4apnahQ.d.ts +185 -0
  149. package/dist/permissions-B8vCg_bI.d.ts +52 -0
  150. package/dist/permissions-CofRqesP.js +142 -0
  151. package/dist/permissions-DC7GROPA.js +600 -0
  152. package/dist/pg-4GJWDUxG.js +953 -0
  153. package/dist/pins-CqE1jZuF.js +12 -0
  154. package/dist/plugin-4gr7IxFJ.js +65 -0
  155. package/dist/policy-ANp36PnI.js +971 -0
  156. package/dist/policy-CInmNGkM.d.ts +1959 -0
  157. package/dist/policy-Cq2fB8Q5.d.ts +20 -0
  158. package/dist/prisma/index.d.ts +135 -0
  159. package/dist/prisma/index.js +430 -0
  160. package/dist/problem-Cgp9-KZA.js +226 -0
  161. package/dist/prompt-CXYhLfsS.js +32 -0
  162. package/dist/protected-B4K3BKoX.js +138 -0
  163. package/dist/protected-BuPAycJT.d.ts +26 -0
  164. package/dist/protected-wY7nXhY9.d.ts +23 -0
  165. package/dist/provider-_wx46HpB.js +48 -0
  166. package/dist/provider-wTAUda2v.d.ts +6 -0
  167. package/dist/react/index.d.ts +6 -0
  168. package/dist/react/index.js +6 -0
  169. package/dist/react/provider-client.d.ts +2 -0
  170. package/dist/react/provider-client.js +3 -0
  171. package/dist/react-native/index.d.ts +42 -0
  172. package/dist/react-native/index.js +174 -0
  173. package/dist/refs-ChLSxbST.js +90 -0
  174. package/dist/relations-r4soIFZB.js +426 -0
  175. package/dist/revocations-Cy06JNx2.d.ts +21 -0
  176. package/dist/rls-BOFU3chG.js +233 -0
  177. package/dist/rls-CJVja9Ww.js +2119 -0
  178. package/dist/rls-graph-DxQ39PJj.js +371 -0
  179. package/dist/rls-helpers-BxRuif0l.js +1346 -0
  180. package/dist/rls-import-CXV6LBlS.js +942 -0
  181. package/dist/rls-migrate-DrFPbf8p.js +366 -0
  182. package/dist/row-check-BajTgQZ-.d.ts +43 -0
  183. package/dist/run-CJ6UvS3a.js +155 -0
  184. package/dist/runtime-DP9ttFh1.js +27 -0
  185. package/dist/saas-BRrZzJkM.js +1193 -0
  186. package/dist/schema-P8yoma__.js +296 -0
  187. package/dist/scim/index.d.ts +2 -0
  188. package/dist/scim/index.js +2 -0
  189. package/dist/scim-9NFa0XVZ.js +1445 -0
  190. package/dist/scopes-cKVp_WTw.js +212 -0
  191. package/dist/server/index.d.ts +123 -0
  192. package/dist/server/index.js +8 -0
  193. package/dist/sha256-BO0swRXL.js +150 -0
  194. package/dist/sink-Bd9PSyfq.js +141 -0
  195. package/dist/sink-Cfr9-7YC.d.ts +104 -0
  196. package/dist/skills-C_lpV4Jx.js +50 -0
  197. package/dist/skills-Dx3QLnMY.js +110 -0
  198. package/dist/snapshot-DE8dE_hz.js +1051 -0
  199. package/dist/solid/index.d.ts +63 -0
  200. package/dist/solid/index.js +197 -0
  201. package/dist/source-DoBBYJi2.js +6 -0
  202. package/dist/sources-DOpW5Ila.d.ts +347 -0
  203. package/dist/sources-DVHM3Mwq.js +284 -0
  204. package/dist/sql-Bll1d7y0.js +22 -0
  205. package/dist/src-CTNT-PBW.js +430 -0
  206. package/dist/ssf/index.d.ts +3 -0
  207. package/dist/ssf/index.js +622 -0
  208. package/dist/store-Bq90395i.d.ts +27 -0
  209. package/dist/store-C6hFW6ta.js +508 -0
  210. package/dist/stores-CkG2HrSg.js +140 -0
  211. package/dist/stores-CvOnu_2T.d.ts +41 -0
  212. package/dist/stream-BhMfZOwr.d.ts +12 -0
  213. package/dist/stream-Q_xlB6Ko.js +52 -0
  214. package/dist/style-CTm1AXDT.js +22 -0
  215. package/dist/subject-C6dLxqHU.js +24 -0
  216. package/dist/subject-settings-xt7V845g.js +82 -0
  217. package/dist/supabase/index.d.ts +67 -0
  218. package/dist/supabase/index.js +4 -0
  219. package/dist/supabase/middleware.d.ts +77 -0
  220. package/dist/supabase/middleware.js +68 -0
  221. package/dist/supabase-D8UlBA7Z.js +83 -0
  222. package/dist/supabase-DTxGtYdi.js +796 -0
  223. package/dist/supabase-hook-DW-xP4hU.js +2 -0
  224. package/dist/supabase-hook-D_OqGb_V.js +1528 -0
  225. package/dist/svelte/Protected.svelte +34 -0
  226. package/dist/svelte/index.d.ts +10 -0
  227. package/dist/svelte/index.js +53 -0
  228. package/dist/svelte/runtime.d.ts +6 -0
  229. package/dist/svelte/runtime.js +3 -0
  230. package/dist/svelte/source.d.ts +10 -0
  231. package/dist/svelte/source.js +8 -0
  232. package/dist/terminal/index.d.ts +171 -0
  233. package/dist/terminal/index.js +821 -0
  234. package/dist/testing/index.d.ts +656 -0
  235. package/dist/testing/index.js +3208 -0
  236. package/dist/testing/saas/index.d.ts +194 -0
  237. package/dist/testing/saas/index.js +3 -0
  238. package/dist/testing/saas/permissions.d.ts +2 -0
  239. package/dist/testing/saas/permissions.js +2 -0
  240. package/dist/text-diff-BdkkYSbi.js +15 -0
  241. package/dist/thenable-okc2xDsj.js +10 -0
  242. package/dist/timeout-D51niuQP.js +8 -0
  243. package/dist/trpc/index.d.ts +80 -0
  244. package/dist/trpc/index.js +205 -0
  245. package/dist/types-B8w5PFtS.d.ts +141 -0
  246. package/dist/types-B9dmiiab.d.ts +66 -0
  247. package/dist/types-BBK-exvJ.d.ts +177 -0
  248. package/dist/types-BvBk1wgn.d.ts +118 -0
  249. package/dist/types-CxquUByI.d.ts +9 -0
  250. package/dist/types-D6Z6-rKJ.d.ts +312 -0
  251. package/dist/types-DbWdEfcm.d.ts +87 -0
  252. package/dist/types-bva3i4Gf.d.ts +98 -0
  253. package/dist/types-i4BAOvdb.d.ts +97 -0
  254. package/dist/unplugin/index.d.ts +7 -0
  255. package/dist/unplugin/index.js +30 -0
  256. package/dist/usage-1ozMubLY.js +42 -0
  257. package/dist/usage-CUnK6Ou9.js +530 -0
  258. package/dist/usage-PyEor6GA.js +2 -0
  259. package/dist/validity-D0uRmJKJ.js +224 -0
  260. package/dist/verifier-B90agnhl.js +461 -0
  261. package/dist/version-CnSh33Fj.js +16 -0
  262. package/dist/vocabulary-Dk0fs-Jk.d.ts +56 -0
  263. package/dist/vue/index.d.ts +57 -0
  264. package/dist/vue/index.js +203 -0
  265. package/dist/webmcp/index.d.ts +75 -0
  266. package/dist/webmcp/index.js +313 -0
  267. package/package.json +423 -4
  268. package/rulesets/permdock.yaml +29 -0
  269. package/schemas/catalog-v1.json +507 -0
  270. package/schemas/openapi/oas-3.1.json +1298 -0
  271. package/schemas/openapi/oas-3.2.json +1516 -0
  272. package/schemas/openapi/overlay-1.1.json +79 -0
  273. package/schemas/supabase-claims-v1.json +139 -0
  274. package/schemas/supabase-manifest-v1.json +217 -0
  275. package/skills/permdock/SKILL.md +66 -0
  276. package/skills/permdock-agents/SKILL.md +77 -0
  277. package/skills/permdock-agents/references/runtimes.md +211 -0
  278. package/skills/permdock-approvals/SKILL.md +80 -0
  279. package/skills/permdock-approvals/references/stores-and-resume.md +83 -0
  280. package/skills/permdock-audit/SKILL.md +67 -0
  281. package/skills/permdock-credentials/SKILL.md +55 -0
  282. package/skills/permdock-credentials/references/tokens-keys-links.md +127 -0
  283. package/skills/permdock-data/SKILL.md +57 -0
  284. package/skills/permdock-data/references/queries-and-rls.md +54 -0
  285. package/skills/permdock-data/references/relationships.md +65 -0
  286. package/skills/permdock-tenancy/SKILL.md +77 -0
  287. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +83 -0
  288. package/skills/permdock-wire/SKILL.md +116 -0
  289. package/skills/permdock-wire/references/adapters.md +480 -0
  290. package/skills/permdock-wire/references/policy-options.md +43 -0
@@ -0,0 +1,34 @@
1
+ <script lang="ts">
2
+ import { onDestroy } from 'svelte';
3
+
4
+ import { getStore, protectedView, type ProtectedProps } from './runtime.js';
5
+
6
+ let {
7
+ permission,
8
+ data,
9
+ tenant,
10
+ children,
11
+ pending,
12
+ fallback,
13
+ }: ProtectedProps = $props();
14
+
15
+ const store = getStore();
16
+ let tick = $state(0);
17
+ onDestroy(
18
+ store.subscribe(() => {
19
+ tick += 1;
20
+ }),
21
+ );
22
+ const view = $derived.by(() => {
23
+ const generation = tick;
24
+ return protectedView(store, permission, data, tenant, generation);
25
+ });
26
+ </script>
27
+
28
+ {#if view.slot === 'pending'}
29
+ {@render pending?.()}
30
+ {:else if view.slot === 'fallback'}
31
+ {@render fallback?.(view.decision)}
32
+ {:else}
33
+ {@render children?.(view.decision)}
34
+ {/if}
@@ -0,0 +1,10 @@
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, f as UseRolesOptions, i as ClientStatus, n as ApprovalState, r as ClientPermDock, s as PermissionSet, t as ApprovalHandle, u as SubjectView } from "../types-DbWdEfcm.js";
4
+ import { a as getPermDock, c as permissions, d as subject, f as tenant, i as filtered, l as roles, n as assignable, o as memberships, p as PermDockSvelteOptions, r as assignablePermissions, s as permission, t as approval, u as setPermDock } from "../stores-CvOnu_2T.js";
5
+ import { t as ProtectedProps } from "../protected-wY7nXhY9.js";
6
+ import { Component } from "svelte";
7
+ //#region src/svelte/index.d.ts
8
+ export declare const Protected: Component<ProtectedProps>;
9
+ //#endregion
10
+ export { type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type FilterResult, type PermDockSvelteOptions, type PermissionSet, type PermissionState, type ProtectedProps, type SubjectView, type TenantView, type UseRolesOptions, approval, approvalHeaders, assignable, assignablePermissions, describe, filtered, getPermDock, memberships, permission, permissions, requiredPlans, roles, setPermDock, subject, tenant };
@@ -0,0 +1,53 @@
1
+ import { n as requiredPlans, t as describe } from "../describe-Bt1YD5uS.js";
2
+ import { t as approvalHeaders } from "../headers-B5RRv3Xm.js";
3
+ import { t as getStore } from "../context-CKEAabd7.js";
4
+ import { t as protectedView } from "../runtime-DP9ttFh1.js";
5
+ import { a as getPermDock, c as permissions, d as subject, f as tenant, i as filtered, l as roles, n as assignable, o as memberships, r as assignablePermissions, s as permission, t as approval, u as setPermDock } from "../stores-CkG2HrSg.js";
6
+ import "svelte/internal/disclose-version";
7
+ import * as $ from "svelte/internal/client";
8
+ import { onDestroy } from "svelte";
9
+ //#region src/svelte/Protected.svelte
10
+ function Protected$1($$anchor, $$props) {
11
+ $.push($$props, true);
12
+ const store = getStore();
13
+ let tick = $.state(0);
14
+ onDestroy(store.subscribe(() => {
15
+ $.set(tick, $.get(tick) + 1);
16
+ }));
17
+ const view = $.derived(() => {
18
+ const generation = $.get(tick);
19
+ return protectedView(store, $$props.permission, $$props.data, $$props.tenant, generation);
20
+ });
21
+ var fragment = $.comment();
22
+ var node = $.first_child(fragment);
23
+ var consequent = ($$anchor) => {
24
+ var fragment_1 = $.comment();
25
+ var node_1 = $.first_child(fragment_1);
26
+ $.snippet(node_1, () => $$props.pending ?? $.noop);
27
+ $.append($$anchor, fragment_1);
28
+ };
29
+ var consequent_1 = ($$anchor) => {
30
+ var fragment_2 = $.comment();
31
+ var node_2 = $.first_child(fragment_2);
32
+ $.snippet(node_2, () => $$props.fallback ?? $.noop, () => $.get(view).decision);
33
+ $.append($$anchor, fragment_2);
34
+ };
35
+ var alternate = ($$anchor) => {
36
+ var fragment_3 = $.comment();
37
+ var node_3 = $.first_child(fragment_3);
38
+ $.snippet(node_3, () => $$props.children ?? $.noop, () => $.get(view).decision);
39
+ $.append($$anchor, fragment_3);
40
+ };
41
+ $.if(node, ($$render) => {
42
+ if ($.get(view).slot === "pending") $$render(consequent);
43
+ else if ($.get(view).slot === "fallback") $$render(consequent_1, 1);
44
+ else $$render(alternate, -1);
45
+ });
46
+ $.append($$anchor, fragment);
47
+ $.pop();
48
+ }
49
+ //#endregion
50
+ //#region src/svelte/index.ts
51
+ const Protected = Protected$1;
52
+ //#endregion
53
+ export { Protected, approval, approvalHeaders, assignable, assignablePermissions, describe, filtered, getPermDock, memberships, permission, permissions, requiredPlans, roles, setPermDock, subject, tenant };
@@ -0,0 +1,6 @@
1
+ import { t as ClientStore } from "../store-Bq90395i.js";
2
+ import { n as protectedView, t as ProtectedProps } from "../protected-wY7nXhY9.js";
3
+ //#region src/svelte/context.d.ts
4
+ export declare function getStore(): ClientStore;
5
+ //#endregion
6
+ export { type ProtectedProps, protectedView };
@@ -0,0 +1,3 @@
1
+ import { t as getStore } from "../context-CKEAabd7.js";
2
+ import { t as protectedView } from "../runtime-DP9ttFh1.js";
3
+ export { getStore, protectedView };
@@ -0,0 +1,10 @@
1
+ import { 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, f as UseRolesOptions, i as ClientStatus, n as ApprovalState, r as ClientPermDock, s as PermissionSet, t as ApprovalHandle, u as SubjectView } from "../types-DbWdEfcm.js";
4
+ import { a as getPermDock, c as permissions, d as subject, f as tenant, i as filtered, l as roles, n as assignable, o as memberships, p as PermDockSvelteOptions, r as assignablePermissions, s as permission, t as approval, u as setPermDock } from "../stores-CvOnu_2T.js";
5
+ import { t as ProtectedProps } from "../protected-wY7nXhY9.js";
6
+ import { Component } from "svelte";
7
+ //#region src/svelte/source.d.ts
8
+ export declare const Protected: Component<ProtectedProps>;
9
+ //#endregion
10
+ export { type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type FilterResult, type PermDockSvelteOptions, type PermissionSet, type PermissionState, type ProtectedProps, type SubjectView, type TenantView, type UseRolesOptions, approval, approvalHeaders, assignable, assignablePermissions, describe, filtered, getPermDock, memberships, permission, permissions, roles, setPermDock, subject, tenant };
@@ -0,0 +1,8 @@
1
+ import { t as describe } from "../describe-Bt1YD5uS.js";
2
+ import { t as approvalHeaders } from "../headers-B5RRv3Xm.js";
3
+ import { a as getPermDock, c as permissions, d as subject, f as tenant, i as filtered, l as roles, n as assignable, o as memberships, r as assignablePermissions, s as permission, t as approval, u as setPermDock } from "../stores-CkG2HrSg.js";
4
+ import ProtectedComponent from "./Protected.svelte";
5
+ //#region src/svelte/source.ts
6
+ const Protected = ProtectedComponent;
7
+ //#endregion
8
+ export { Protected, approval, approvalHeaders, assignable, assignablePermissions, describe, filtered, getPermDock, memberships, permission, permissions, roles, setPermDock, subject, tenant };
@@ -0,0 +1,171 @@
1
+ import { $ as DecisionSink, C as Policy, E as PolicyVocabulary, Mn as Decision, Zt as PermDock, at as LimitStore, ct as MembershipSource, ft as RelationSource, hr as Subject, mr as Principal, pt as RoleSource, sn as PolicySource, tt as EntitlementSource } from "../policy-CInmNGkM.js";
2
+ import { d as Permission } from "../permissions-B4apnahQ.js";
3
+ import { f as ApprovalStore } from "../types-B8w5PFtS.js";
4
+ import { o as ProblemDetails, t as ApprovalHint } from "../errors-DbZ1YOnb.js";
5
+ //#region src/terminal/types.d.ts
6
+ type TokenSourceName = "device" | "keychain" | "env" | "ci-oidc";
7
+ type TokenSource = TokenSourceName | {
8
+ readonly env: string;
9
+ } | {
10
+ readonly source: TokenSourceName;
11
+ readonly env?: string;
12
+ /** `ci-oidc`: the audience requested from GitHub Actions (`aud`). */
13
+ readonly audience?: string;
14
+ };
15
+ type TokenHelper = (sources: readonly TokenSource[]) => Promise<string | null>;
16
+ type TokenContext = {
17
+ readonly token: TokenHelper;
18
+ readonly profile: string;
19
+ };
20
+ type DeviceFlowOptions = {
21
+ readonly issuer?: string;
22
+ readonly clientId: string;
23
+ readonly scope?: string;
24
+ readonly authorizationEndpoint?: string;
25
+ readonly tokenEndpoint?: string;
26
+ readonly revocationEndpoint?: string;
27
+ readonly open?: (url: string) => void;
28
+ readonly onPrompt?: (info: {
29
+ readonly user_code: string;
30
+ readonly verification_uri: string;
31
+ readonly verification_uri_complete?: string;
32
+ }) => void;
33
+ };
34
+ type InteractiveConfirm = (input: {
35
+ readonly permission: string;
36
+ readonly resource: {
37
+ readonly type: string;
38
+ readonly id?: string;
39
+ };
40
+ readonly reason: string;
41
+ readonly token: string;
42
+ }) => Promise<boolean>;
43
+ /** Asks the user to type `expected` before a destructive action; resolves with what they typed. */
44
+ type TypedConfirm = (input: {
45
+ readonly permission: string;
46
+ readonly resource: {
47
+ readonly type: string;
48
+ readonly id?: string;
49
+ };
50
+ readonly expected: string;
51
+ }) => Promise<string>;
52
+ type TerminalRuntime = {
53
+ readonly argv?: readonly string[];
54
+ readonly env?: Readonly<Record<string, string | undefined>>;
55
+ readonly stdoutIsTTY?: boolean;
56
+ readonly platform?: string;
57
+ readonly now?: () => number;
58
+ readonly write?: (text: string) => void;
59
+ readonly exit?: (code: number) => never;
60
+ readonly fetch?: typeof fetch;
61
+ readonly sleep?: (ms: number) => Promise<void>;
62
+ readonly homedir?: () => string;
63
+ readonly configDir?: string;
64
+ };
65
+ /** The shape of `Entry` from `@napi-rs/keyring`. */
66
+ type KeyringEntry = {
67
+ getPassword(): string | null | undefined;
68
+ setPassword(password: string): void;
69
+ deletePassword(): unknown;
70
+ };
71
+ type TerminalStorageOptions = {
72
+ readonly service: string;
73
+ readonly dir?: string;
74
+ /**
75
+ * `Entry` from `@napi-rs/keyring`: tokens go to the OS keychain under
76
+ * `service`, one entry per profile. Without it, or when the keychain
77
+ * throws, they go to the mode-0600 credentials file.
78
+ */
79
+ readonly keyring?: new (service: string, account: string) => KeyringEntry;
80
+ };
81
+ type TerminalPermDockOptions<TUser = unknown> = {
82
+ readonly subject: (context: TokenContext) => TUser | Promise<TUser>;
83
+ readonly actor?: (context: TokenContext) => unknown;
84
+ readonly tenant?: string;
85
+ readonly memberships?: MembershipSource | readonly MembershipSource[];
86
+ /** The object graph for relation grants that walk a parent chain; without it they deny. */
87
+ readonly relations?: RelationSource;
88
+ readonly entitlements?: EntitlementSource;
89
+ readonly customRoles?: RoleSource;
90
+ /** Hosted grants, read once per instance; see `PolicySource`. */
91
+ readonly policies?: PolicySource;
92
+ readonly store?: ApprovalStore;
93
+ readonly sink?: DecisionSink;
94
+ readonly limits?: LimitStore;
95
+ readonly storage?: TerminalStorageOptions;
96
+ readonly device?: DeviceFlowOptions;
97
+ readonly interactive?: boolean | {
98
+ readonly confirm?: InteractiveConfirm;
99
+ readonly typed?: TypedConfirm;
100
+ };
101
+ /** Runs a destructive action without the typed confirmation; defaults to `--yes` / `-y` in argv. */
102
+ readonly yes?: boolean;
103
+ /** Decides and prints the decision without running the action; defaults to `--dry-run` in argv. */
104
+ readonly dryRun?: boolean;
105
+ readonly output?: {
106
+ readonly json?: boolean;
107
+ };
108
+ readonly approval?: ApprovalHint;
109
+ readonly runtime?: TerminalRuntime;
110
+ };
111
+ type PermDockResolveOptions = {
112
+ readonly refresh?: boolean;
113
+ readonly source?: TokenSourceName;
114
+ readonly as?: string;
115
+ };
116
+ type CommandEntry = {
117
+ readonly name: string;
118
+ readonly permission: Permission;
119
+ readonly description: string;
120
+ };
121
+ type FilterCommandsOptions = {
122
+ readonly mode: "hide" | "annotate";
123
+ readonly permdock?: PermDock;
124
+ };
125
+ type FormatOptions = {
126
+ readonly json?: boolean;
127
+ readonly permission?: Permission;
128
+ readonly instance?: string;
129
+ readonly subject?: Subject;
130
+ readonly approval?: ApprovalHint;
131
+ };
132
+ type TerminalProblemDetails = ProblemDetails;
133
+ type ProtectContext<T = unknown, V extends PolicyVocabulary = PolicyVocabulary> = {
134
+ readonly permdock: PermDock<V>;
135
+ readonly data: T;
136
+ readonly decision: Extract<Decision, {
137
+ readonly outcome: "granted";
138
+ }>;
139
+ };
140
+ type TerminalPermDock<V extends PolicyVocabulary = PolicyVocabulary> = {
141
+ readonly permdock: (options?: PermDockResolveOptions) => Promise<PermDock<V>>;
142
+ readonly protect: <TArgs extends readonly unknown[], TData = unknown>(permission: Permission, load?: (...args: TArgs) => TData | Promise<TData>) => (action: (context: ProtectContext<TData, V>, ...args: TArgs) => unknown) => (...args: TArgs) => Promise<unknown>;
143
+ readonly filterCommands: (entries: readonly CommandEntry[], options?: FilterCommandsOptions) => readonly CommandEntry[];
144
+ readonly format: (decision: Decision, options?: FormatOptions) => string;
145
+ readonly exitCode: (decision: Decision) => number;
146
+ readonly logout: () => Promise<void>;
147
+ };
148
+ //#endregion
149
+ //#region src/terminal/create.d.ts
150
+ export declare function createPermDock<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, options: TerminalPermDockOptions<TUser>): TerminalPermDock<V>;
151
+ //#endregion
152
+ //#region src/terminal/exit.d.ts
153
+ export declare const EX_OK = 0;
154
+ export declare const EX_USAGE = 64;
155
+ export declare const EX_TEMPFAIL = 75;
156
+ export declare const EX_NOPERM = 77;
157
+ export declare const EX_CONFIG = 78;
158
+ export declare class TerminalExit extends Error {
159
+ override readonly name: "TerminalExit";
160
+ readonly code: number;
161
+ constructor(code: number);
162
+ }
163
+ //#endregion
164
+ //#region src/terminal/format.d.ts
165
+ export declare function exitCode(decision: Decision): number;
166
+ export declare function formatDecision(decision: Decision, options?: FormatOptions): string;
167
+ //#endregion
168
+ //#region src/terminal/token.d.ts
169
+ export declare function looksLikeJwt(value: string): boolean;
170
+ //#endregion
171
+ export type { ApprovalHint, CommandEntry, DeviceFlowOptions, FilterCommandsOptions, FormatOptions, InteractiveConfirm, KeyringEntry, PermDockResolveOptions, ProtectContext, TerminalPermDock, TerminalPermDockOptions, TerminalProblemDetails, TerminalRuntime, TerminalStorageOptions, TokenContext, TokenHelper, TokenSource, TokenSourceName, TypedConfirm };