@lit-protocol/vincent-ability-sdk 0.0.1-ea

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 (209) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/CONTRIBUTING.md +117 -0
  3. package/README.md +213 -0
  4. package/dist/package.json +44 -0
  5. package/dist/src/index.d.ts +15 -0
  6. package/dist/src/index.d.ts.map +1 -0
  7. package/dist/src/index.js +21 -0
  8. package/dist/src/index.js.map +1 -0
  9. package/dist/src/internal.d.ts +12 -0
  10. package/dist/src/internal.d.ts.map +1 -0
  11. package/dist/src/internal.js +32 -0
  12. package/dist/src/internal.js.map +1 -0
  13. package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.d.ts +28 -0
  14. package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.d.ts.map +1 -0
  15. package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.js +51 -0
  16. package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.js.map +1 -0
  17. package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.d.ts +18 -0
  18. package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.d.ts.map +1 -0
  19. package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.js +48 -0
  20. package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.js.map +1 -0
  21. package/dist/src/lib/abilityCore/abilityConfig/context/types.d.ts +31 -0
  22. package/dist/src/lib/abilityCore/abilityConfig/context/types.d.ts.map +1 -0
  23. package/dist/src/lib/abilityCore/abilityConfig/context/types.js +9 -0
  24. package/dist/src/lib/abilityCore/abilityConfig/context/types.js.map +1 -0
  25. package/dist/src/lib/abilityCore/abilityConfig/types.d.ts +20 -0
  26. package/dist/src/lib/abilityCore/abilityConfig/types.d.ts.map +1 -0
  27. package/dist/src/lib/abilityCore/abilityConfig/types.js +4 -0
  28. package/dist/src/lib/abilityCore/abilityConfig/types.js.map +1 -0
  29. package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.d.ts +5 -0
  30. package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.d.ts.map +1 -0
  31. package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.js +21 -0
  32. package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.js.map +1 -0
  33. package/dist/src/lib/abilityCore/bundledAbility/types.d.ts +18 -0
  34. package/dist/src/lib/abilityCore/bundledAbility/types.d.ts.map +1 -0
  35. package/dist/src/lib/abilityCore/bundledAbility/types.js +4 -0
  36. package/dist/src/lib/abilityCore/bundledAbility/types.js.map +1 -0
  37. package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.d.ts +5 -0
  38. package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.d.ts.map +1 -0
  39. package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.js +18 -0
  40. package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.js.map +1 -0
  41. package/dist/src/lib/abilityCore/helpers/getPkpInfo.d.ts +10 -0
  42. package/dist/src/lib/abilityCore/helpers/getPkpInfo.d.ts.map +1 -0
  43. package/dist/src/lib/abilityCore/helpers/getPkpInfo.js +26 -0
  44. package/dist/src/lib/abilityCore/helpers/getPkpInfo.js.map +1 -0
  45. package/dist/src/lib/abilityCore/helpers/index.d.ts +5 -0
  46. package/dist/src/lib/abilityCore/helpers/index.d.ts.map +1 -0
  47. package/dist/src/lib/abilityCore/helpers/index.js +12 -0
  48. package/dist/src/lib/abilityCore/helpers/index.js.map +1 -0
  49. package/dist/src/lib/abilityCore/helpers/resultCreators.d.ts +21 -0
  50. package/dist/src/lib/abilityCore/helpers/resultCreators.d.ts.map +1 -0
  51. package/dist/src/lib/abilityCore/helpers/resultCreators.js +48 -0
  52. package/dist/src/lib/abilityCore/helpers/resultCreators.js.map +1 -0
  53. package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.d.ts +55 -0
  54. package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.d.ts.map +1 -0
  55. package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.js +68 -0
  56. package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.js.map +1 -0
  57. package/dist/src/lib/abilityCore/helpers/typeGuards.d.ts +8 -0
  58. package/dist/src/lib/abilityCore/helpers/typeGuards.d.ts.map +1 -0
  59. package/dist/src/lib/abilityCore/helpers/typeGuards.js +28 -0
  60. package/dist/src/lib/abilityCore/helpers/typeGuards.js.map +1 -0
  61. package/dist/src/lib/abilityCore/helpers/validatePolicies.d.ts +24 -0
  62. package/dist/src/lib/abilityCore/helpers/validatePolicies.d.ts.map +1 -0
  63. package/dist/src/lib/abilityCore/helpers/validatePolicies.js +31 -0
  64. package/dist/src/lib/abilityCore/helpers/validatePolicies.js.map +1 -0
  65. package/dist/src/lib/abilityCore/helpers/zod.d.ts +43 -0
  66. package/dist/src/lib/abilityCore/helpers/zod.d.ts.map +1 -0
  67. package/dist/src/lib/abilityCore/helpers/zod.js +70 -0
  68. package/dist/src/lib/abilityCore/helpers/zod.js.map +1 -0
  69. package/dist/src/lib/abilityCore/vincentAbility.d.ts +54 -0
  70. package/dist/src/lib/abilityCore/vincentAbility.d.ts.map +1 -0
  71. package/dist/src/lib/abilityCore/vincentAbility.js +162 -0
  72. package/dist/src/lib/abilityCore/vincentAbility.js.map +1 -0
  73. package/dist/src/lib/assertSupportedAbilityVersion.d.ts +2 -0
  74. package/dist/src/lib/assertSupportedAbilityVersion.d.ts.map +1 -0
  75. package/dist/src/lib/assertSupportedAbilityVersion.js +15 -0
  76. package/dist/src/lib/assertSupportedAbilityVersion.js.map +1 -0
  77. package/dist/src/lib/constants.d.ts +2 -0
  78. package/dist/src/lib/constants.d.ts.map +1 -0
  79. package/dist/src/lib/constants.js +5 -0
  80. package/dist/src/lib/constants.js.map +1 -0
  81. package/dist/src/lib/handlers/constants.d.ts +2 -0
  82. package/dist/src/lib/handlers/constants.d.ts.map +1 -0
  83. package/dist/src/lib/handlers/constants.js +6 -0
  84. package/dist/src/lib/handlers/constants.js.map +1 -0
  85. package/dist/src/lib/handlers/evaluatePolicies.d.ts +11 -0
  86. package/dist/src/lib/handlers/evaluatePolicies.d.ts.map +1 -0
  87. package/dist/src/lib/handlers/evaluatePolicies.js +110 -0
  88. package/dist/src/lib/handlers/evaluatePolicies.js.map +1 -0
  89. package/dist/src/lib/handlers/vincentAbilityHandler.d.ts +15 -0
  90. package/dist/src/lib/handlers/vincentAbilityHandler.d.ts.map +1 -0
  91. package/dist/src/lib/handlers/vincentAbilityHandler.js +160 -0
  92. package/dist/src/lib/handlers/vincentAbilityHandler.js.map +1 -0
  93. package/dist/src/lib/handlers/vincentPolicyHandler.d.ts +13 -0
  94. package/dist/src/lib/handlers/vincentPolicyHandler.d.ts.map +1 -0
  95. package/dist/src/lib/handlers/vincentPolicyHandler.js +70 -0
  96. package/dist/src/lib/handlers/vincentPolicyHandler.js.map +1 -0
  97. package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.d.ts +5 -0
  98. package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.d.ts.map +1 -0
  99. package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.js +21 -0
  100. package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.js.map +1 -0
  101. package/dist/src/lib/policyCore/bundledPolicy/types.d.ts +17 -0
  102. package/dist/src/lib/policyCore/bundledPolicy/types.d.ts.map +1 -0
  103. package/dist/src/lib/policyCore/bundledPolicy/types.js +4 -0
  104. package/dist/src/lib/policyCore/bundledPolicy/types.js.map +1 -0
  105. package/dist/src/lib/policyCore/helpers/index.d.ts +5 -0
  106. package/dist/src/lib/policyCore/helpers/index.d.ts.map +1 -0
  107. package/dist/src/lib/policyCore/helpers/index.js +16 -0
  108. package/dist/src/lib/policyCore/helpers/index.js.map +1 -0
  109. package/dist/src/lib/policyCore/helpers/resultCreators.d.ts +38 -0
  110. package/dist/src/lib/policyCore/helpers/resultCreators.d.ts.map +1 -0
  111. package/dist/src/lib/policyCore/helpers/resultCreators.js +89 -0
  112. package/dist/src/lib/policyCore/helpers/resultCreators.js.map +1 -0
  113. package/dist/src/lib/policyCore/helpers/typeGuards.d.ts +7 -0
  114. package/dist/src/lib/policyCore/helpers/typeGuards.d.ts.map +1 -0
  115. package/dist/src/lib/policyCore/helpers/typeGuards.js +23 -0
  116. package/dist/src/lib/policyCore/helpers/typeGuards.js.map +1 -0
  117. package/dist/src/lib/policyCore/helpers/zod.d.ts +55 -0
  118. package/dist/src/lib/policyCore/helpers/zod.d.ts.map +1 -0
  119. package/dist/src/lib/policyCore/helpers/zod.js +82 -0
  120. package/dist/src/lib/policyCore/helpers/zod.js.map +1 -0
  121. package/dist/src/lib/policyCore/index.d.ts +3 -0
  122. package/dist/src/lib/policyCore/index.d.ts.map +1 -0
  123. package/dist/src/lib/policyCore/index.js +8 -0
  124. package/dist/src/lib/policyCore/index.js.map +1 -0
  125. package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.d.ts +12 -0
  126. package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.d.ts.map +1 -0
  127. package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.js +20 -0
  128. package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.js.map +1 -0
  129. package/dist/src/lib/policyCore/policyConfig/context/resultCreators.d.ts +6 -0
  130. package/dist/src/lib/policyCore/policyConfig/context/resultCreators.d.ts.map +1 -0
  131. package/dist/src/lib/policyCore/policyConfig/context/resultCreators.js +30 -0
  132. package/dist/src/lib/policyCore/policyConfig/context/resultCreators.js.map +1 -0
  133. package/dist/src/lib/policyCore/policyConfig/context/types.d.ts +24 -0
  134. package/dist/src/lib/policyCore/policyConfig/context/types.d.ts.map +1 -0
  135. package/dist/src/lib/policyCore/policyConfig/context/types.js +5 -0
  136. package/dist/src/lib/policyCore/policyConfig/context/types.js.map +1 -0
  137. package/dist/src/lib/policyCore/policyConfig/types.d.ts +46 -0
  138. package/dist/src/lib/policyCore/policyConfig/types.d.ts.map +1 -0
  139. package/dist/src/lib/policyCore/policyConfig/types.js +3 -0
  140. package/dist/src/lib/policyCore/policyConfig/types.js.map +1 -0
  141. package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.d.ts +17 -0
  142. package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.d.ts.map +1 -0
  143. package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.js +54 -0
  144. package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.js.map +1 -0
  145. package/dist/src/lib/policyCore/vincentPolicy.d.ts +92 -0
  146. package/dist/src/lib/policyCore/vincentPolicy.d.ts.map +1 -0
  147. package/dist/src/lib/policyCore/vincentPolicy.js +242 -0
  148. package/dist/src/lib/policyCore/vincentPolicy.js.map +1 -0
  149. package/dist/src/lib/types.d.ts +260 -0
  150. package/dist/src/lib/types.d.ts.map +1 -0
  151. package/dist/src/lib/types.js +4 -0
  152. package/dist/src/lib/types.js.map +1 -0
  153. package/dist/src/lib/utils.d.ts +2 -0
  154. package/dist/src/lib/utils.d.ts.map +1 -0
  155. package/dist/src/lib/utils.js +8 -0
  156. package/dist/src/lib/utils.js.map +1 -0
  157. package/dist/src/type-inference-verification/ability-definition-tests.d.ts +702 -0
  158. package/dist/src/type-inference-verification/ability-definition-tests.d.ts.map +1 -0
  159. package/dist/src/type-inference-verification/ability-definition-tests.js +203 -0
  160. package/dist/src/type-inference-verification/ability-definition-tests.js.map +1 -0
  161. package/dist/src/type-inference-verification/ability-lifecycle-inference.d.ts +2 -0
  162. package/dist/src/type-inference-verification/ability-lifecycle-inference.d.ts.map +1 -0
  163. package/dist/src/type-inference-verification/ability-lifecycle-inference.js +109 -0
  164. package/dist/src/type-inference-verification/ability-lifecycle-inference.js.map +1 -0
  165. package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.d.ts +923 -0
  166. package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.d.ts.map +1 -0
  167. package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.js +196 -0
  168. package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.js.map +1 -0
  169. package/dist/src/type-inference-verification/allow-deny-test-cases-ability.d.ts +4305 -0
  170. package/dist/src/type-inference-verification/allow-deny-test-cases-ability.d.ts.map +1 -0
  171. package/dist/src/type-inference-verification/allow-deny-test-cases-ability.js +644 -0
  172. package/dist/src/type-inference-verification/allow-deny-test-cases-ability.js.map +1 -0
  173. package/dist/src/type-inference-verification/allow-deny-test-cases.d.ts +646 -0
  174. package/dist/src/type-inference-verification/allow-deny-test-cases.d.ts.map +1 -0
  175. package/dist/src/type-inference-verification/allow-deny-test-cases.js +264 -0
  176. package/dist/src/type-inference-verification/allow-deny-test-cases.js.map +1 -0
  177. package/dist/src/type-inference-verification/context-switching-tests.d.ts +637 -0
  178. package/dist/src/type-inference-verification/context-switching-tests.d.ts.map +1 -0
  179. package/dist/src/type-inference-verification/context-switching-tests.js +229 -0
  180. package/dist/src/type-inference-verification/context-switching-tests.js.map +1 -0
  181. package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.d.ts +2 -0
  182. package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.d.ts.map +1 -0
  183. package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.js +56 -0
  184. package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.js.map +1 -0
  185. package/dist/src/type-inference-verification/create-vincent-ability-policy.d.ts +2 -0
  186. package/dist/src/type-inference-verification/create-vincent-ability-policy.d.ts.map +1 -0
  187. package/dist/src/type-inference-verification/create-vincent-ability-policy.js +49 -0
  188. package/dist/src/type-inference-verification/create-vincent-ability-policy.js.map +1 -0
  189. package/dist/src/type-inference-verification/create-vincent-ability.d.ts +250 -0
  190. package/dist/src/type-inference-verification/create-vincent-ability.d.ts.map +1 -0
  191. package/dist/src/type-inference-verification/create-vincent-ability.js +68 -0
  192. package/dist/src/type-inference-verification/create-vincent-ability.js.map +1 -0
  193. package/dist/src/type-inference-verification/parameter-inference-tests-tool.d.ts +1710 -0
  194. package/dist/src/type-inference-verification/parameter-inference-tests-tool.d.ts.map +1 -0
  195. package/dist/src/type-inference-verification/parameter-inference-tests-tool.js +537 -0
  196. package/dist/src/type-inference-verification/parameter-inference-tests-tool.js.map +1 -0
  197. package/dist/src/type-inference-verification/parameter-inference-tests.d.ts +456 -0
  198. package/dist/src/type-inference-verification/parameter-inference-tests.d.ts.map +1 -0
  199. package/dist/src/type-inference-verification/parameter-inference-tests.js +179 -0
  200. package/dist/src/type-inference-verification/parameter-inference-tests.js.map +1 -0
  201. package/dist/src/type-inference-verification/playground.d.ts +1556 -0
  202. package/dist/src/type-inference-verification/playground.d.ts.map +1 -0
  203. package/dist/src/type-inference-verification/playground.js +473 -0
  204. package/dist/src/type-inference-verification/playground.js.map +1 -0
  205. package/dist/src/type-inference-verification/schema-test.d.ts +470 -0
  206. package/dist/src/type-inference-verification/schema-test.d.ts.map +1 -0
  207. package/dist/src/type-inference-verification/schema-test.js +252 -0
  208. package/dist/src/type-inference-verification/schema-test.js.map +1 -0
  209. package/package.json +43 -0
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createVincentPolicy = createVincentPolicy;
4
+ exports.createVincentAbilityPolicy = createVincentAbilityPolicy;
5
+ // src/lib/policyCore/vincentPolicy.ts
6
+ const zod_1 = require("zod");
7
+ const assertSupportedAbilityVersion_1 = require("../assertSupportedAbilityVersion");
8
+ const utils_1 = require("../utils");
9
+ const helpers_1 = require("./helpers");
10
+ const resultCreators_1 = require("./helpers/resultCreators");
11
+ const policyConfigContext_1 = require("./policyConfig/context/policyConfigContext");
12
+ /**
13
+ * The `createVincentPolicy()` method is used to define a policy's lifecycle methods and ensure that arguments provided to the ability's
14
+ * lifecycle methods, as well as their return values, are validated and fully type-safe by defining ZOD schemas for them.
15
+ *
16
+ * @typeParam PackageName {@removeTypeParameterCompletely}
17
+ * @typeParam PolicyAbilityParams {@removeTypeParameterCompletely}
18
+ * @typeParam UserParams {@removeTypeParameterCompletely}
19
+ * @typeParam PrecheckAllowResult {@removeTypeParameterCompletely}
20
+ * @typeParam PrecheckDenyResult {@removeTypeParameterCompletely}
21
+ * @typeParam EvalAllowResult {@removeTypeParameterCompletely}
22
+ * @typeParam EvalDenyResult {@removeTypeParameterCompletely}
23
+ * @typeParam CommitParams {@removeTypeParameterCompletely}
24
+ * @typeParam CommitAllowResult {@removeTypeParameterCompletely}
25
+ * @typeParam CommitDenyResult {@removeTypeParameterCompletely}
26
+ * @category API Methods
27
+ */
28
+ function createVincentPolicy(PolicyConfig) {
29
+ if (PolicyConfig.commitParamsSchema && !PolicyConfig.commit) {
30
+ throw new Error('Policy defines commitParamsSchema but is missing commit function');
31
+ }
32
+ const userParamsSchema = (PolicyConfig.userParamsSchema ?? zod_1.z.undefined());
33
+ const evalAllowSchema = (PolicyConfig.evalAllowResultSchema ?? zod_1.z.undefined());
34
+ const evalDenySchema = (PolicyConfig.evalDenyResultSchema ?? zod_1.z.undefined());
35
+ const evaluate = async (args, baseContext) => {
36
+ try {
37
+ const context = (0, policyConfigContext_1.createPolicyContext)({
38
+ baseContext,
39
+ });
40
+ const paramsOrDeny = (0, helpers_1.getValidatedParamsOrDeny)({
41
+ rawAbilityParams: args.abilityParams,
42
+ rawUserParams: args.userParams,
43
+ abilityParamsSchema: PolicyConfig.abilityParamsSchema,
44
+ userParamsSchema: userParamsSchema,
45
+ phase: 'evaluate',
46
+ });
47
+ if ((0, helpers_1.isPolicyDenyResponse)(paramsOrDeny)) {
48
+ return paramsOrDeny;
49
+ }
50
+ const { abilityParams, userParams } = paramsOrDeny;
51
+ const result = await PolicyConfig.evaluate({ abilityParams, userParams }, context);
52
+ const { schemaToUse } = (0, helpers_1.getSchemaForPolicyResponseResult)({
53
+ value: result,
54
+ allowResultSchema: evalAllowSchema,
55
+ denyResultSchema: evalDenySchema,
56
+ });
57
+ const resultOrDeny = (0, helpers_1.validateOrDeny)(result.result, schemaToUse, 'evaluate', 'output');
58
+ if ((0, helpers_1.isPolicyDenyResponse)(resultOrDeny)) {
59
+ return resultOrDeny;
60
+ }
61
+ // We parsed the result -- it may be a success or a failure; return appropriately.
62
+ if ((0, helpers_1.isPolicyDenyResponse)(result)) {
63
+ return (0, helpers_1.createDenyResult)({
64
+ result: resultOrDeny,
65
+ });
66
+ }
67
+ return (0, resultCreators_1.wrapAllow)(resultOrDeny);
68
+ }
69
+ catch (err) {
70
+ return (0, resultCreators_1.returnNoResultDeny)(err instanceof Error ? err.message : 'Unknown error');
71
+ }
72
+ };
73
+ const precheckAllowSchema = (PolicyConfig.precheckAllowResultSchema ??
74
+ zod_1.z.undefined());
75
+ const precheckDenySchema = (PolicyConfig.precheckDenyResultSchema ??
76
+ zod_1.z.undefined());
77
+ const precheck = PolicyConfig.precheck
78
+ ? (async (args, baseContext) => {
79
+ try {
80
+ const context = (0, policyConfigContext_1.createPolicyContext)({
81
+ baseContext,
82
+ });
83
+ const { precheck: precheckFn } = PolicyConfig;
84
+ if (!precheckFn) {
85
+ throw new Error('precheck function unexpectedly missing');
86
+ }
87
+ const paramsOrDeny = (0, helpers_1.getValidatedParamsOrDeny)({
88
+ rawAbilityParams: args.abilityParams,
89
+ rawUserParams: args.userParams,
90
+ abilityParamsSchema: PolicyConfig.abilityParamsSchema,
91
+ userParamsSchema,
92
+ phase: 'precheck',
93
+ });
94
+ if ((0, helpers_1.isPolicyDenyResponse)(paramsOrDeny)) {
95
+ return paramsOrDeny;
96
+ }
97
+ const result = await precheckFn(args, context);
98
+ const { schemaToUse } = (0, helpers_1.getSchemaForPolicyResponseResult)({
99
+ value: result,
100
+ allowResultSchema: precheckAllowSchema,
101
+ denyResultSchema: precheckDenySchema,
102
+ });
103
+ const resultOrDeny = (0, helpers_1.validateOrDeny)(result.result, schemaToUse, 'precheck', 'output');
104
+ if ((0, helpers_1.isPolicyDenyResponse)(resultOrDeny)) {
105
+ return resultOrDeny;
106
+ }
107
+ // We parsed the result -- it may be a success or a failure; return appropriately.
108
+ if ((0, helpers_1.isPolicyDenyResponse)(result)) {
109
+ return (0, helpers_1.createDenyResult)({
110
+ result: resultOrDeny,
111
+ });
112
+ }
113
+ return (0, resultCreators_1.createAllowResult)({ result: resultOrDeny });
114
+ }
115
+ catch (err) {
116
+ return (0, resultCreators_1.createDenyNoResult)(err instanceof Error ? err.message : 'Unknown error');
117
+ }
118
+ })
119
+ : undefined;
120
+ const commitAllowSchema = (PolicyConfig.commitAllowResultSchema ??
121
+ zod_1.z.undefined());
122
+ const commitDenySchema = (PolicyConfig.commitDenyResultSchema ??
123
+ zod_1.z.undefined());
124
+ const commitParamsSchema = (PolicyConfig.commitParamsSchema ?? zod_1.z.undefined());
125
+ const commit = PolicyConfig.commit
126
+ ? (async (args, baseContext) => {
127
+ try {
128
+ const context = (0, policyConfigContext_1.createPolicyContext)({
129
+ baseContext,
130
+ });
131
+ const { commit: commitFn } = PolicyConfig;
132
+ if (!commitFn) {
133
+ throw new Error('commit function unexpectedly missing');
134
+ }
135
+ console.log('commit', JSON.stringify({ args, context }, utils_1.bigintReplacer, 2));
136
+ const paramsOrDeny = (0, helpers_1.validateOrDeny)(args, commitParamsSchema, 'commit', 'input');
137
+ if ((0, helpers_1.isPolicyDenyResponse)(paramsOrDeny)) {
138
+ return paramsOrDeny;
139
+ }
140
+ const result = await commitFn(args, context);
141
+ const { schemaToUse } = (0, helpers_1.getSchemaForPolicyResponseResult)({
142
+ value: result,
143
+ allowResultSchema: commitAllowSchema,
144
+ denyResultSchema: commitDenySchema,
145
+ });
146
+ const resultOrDeny = (0, helpers_1.validateOrDeny)(result.result, schemaToUse, 'commit', 'output');
147
+ if ((0, helpers_1.isPolicyDenyResponse)(resultOrDeny)) {
148
+ return resultOrDeny;
149
+ }
150
+ // We parsed the result -- it may be a success or a failure; return appropriately.
151
+ if ((0, helpers_1.isPolicyDenyResponse)(result)) {
152
+ return (0, helpers_1.createDenyResult)({
153
+ result: resultOrDeny,
154
+ });
155
+ }
156
+ return (0, resultCreators_1.createAllowResult)({ result: resultOrDeny });
157
+ }
158
+ catch (err) {
159
+ return (0, resultCreators_1.createDenyNoResult)(err instanceof Error ? err.message : 'Unknown error');
160
+ }
161
+ })
162
+ : undefined;
163
+ const vincentPolicy = {
164
+ ...PolicyConfig,
165
+ evaluate,
166
+ precheck,
167
+ commit,
168
+ };
169
+ return vincentPolicy;
170
+ }
171
+ /**
172
+ * `createVincentAbilityPolicy()` is used to bind a policy to a specific ability. You must provide a `abilityParameterMappings` argument
173
+ * which instructs the ability which of its abilityParams should be passed to the Vincent Policy during evaluation, and
174
+ * defines what the argument passed to the ability should be.
175
+ *
176
+ * For example, a Ability might receive an argument called `tokenInAmount`, but it may need to pass that as `buyAmount` to a
177
+ * policy that uses the `tokenInAmount` for its own purposes.
178
+ *
179
+ * ```typescript
180
+ * import { bundledVincentPolicy } from '@lit-protocol/vincent-policy-spending-limit';
181
+ *
182
+ * const SpendingLimitPolicy = createVincentAbilityPolicy({
183
+ * abilityParamsSchema,
184
+ * bundledVincentPolicy,
185
+ * abilityParameterMappings: {
186
+ * rpcUrlForUniswap: 'rpcUrlForUniswap',
187
+ * chainIdForUniswap: 'chainIdForUniswap',
188
+ * ethRpcUrl: 'ethRpcUrl',
189
+ * tokenInAddress: 'tokenAddress',
190
+ * tokenInDecimals: 'tokenDecimals',
191
+ * tokenInAmount: 'buyAmount',
192
+ * },
193
+ * });
194
+ * ```
195
+ *
196
+ * @typeParam PackageName {@removeTypeParameterCompletely}
197
+ * @typeParam IpfsCid {@removeTypeParameterCompletely}
198
+ * @typeParam AbilityParamsSchema {@removeTypeParameterCompletely}
199
+ * @typeParam PolicyAbilityParams {@removeTypeParameterCompletely}
200
+ * @typeParam UserParams {@removeTypeParameterCompletely}
201
+ * @typeParam PrecheckAllowResult {@removeTypeParameterCompletely}
202
+ * @typeParam PrecheckDenyResult {@removeTypeParameterCompletely}
203
+ * @typeParam EvalAllowResult {@removeTypeParameterCompletely}
204
+ * @typeParam EvalDenyResult {@removeTypeParameterCompletely}
205
+ * @typeParam CommitParams {@removeTypeParameterCompletely}
206
+ * @typeParam CommitAllowResult {@removeTypeParameterCompletely}
207
+ * @typeParam CommitDenyResult {@removeTypeParameterCompletely}
208
+ *
209
+ * @returns A Vincent Policy that is configured to work with the provided ability
210
+ * {@displayType A Vincent Policy that is configured to work with the provided ability }
211
+ * @category API Methods
212
+ */
213
+ function createVincentAbilityPolicy(config) {
214
+ const { bundledVincentPolicy: { vincentPolicy, ipfsCid, vincentAbilityApiVersion }, } = config;
215
+ (0, assertSupportedAbilityVersion_1.assertSupportedAbilityVersion)(vincentAbilityApiVersion);
216
+ const result = {
217
+ vincentPolicy: vincentPolicy,
218
+ ipfsCid,
219
+ vincentAbilityApiVersion,
220
+ abilityParameterMappings: config.abilityParameterMappings,
221
+ // Explicitly include schema types in the returned object for type inference
222
+ /** @hidden */
223
+ __schemaTypes: {
224
+ policyAbilityParamsSchema: vincentPolicy.abilityParamsSchema,
225
+ userParamsSchema: vincentPolicy.userParamsSchema,
226
+ evalAllowResultSchema: vincentPolicy.evalAllowResultSchema,
227
+ evalDenyResultSchema: vincentPolicy.evalDenyResultSchema,
228
+ commitParamsSchema: vincentPolicy.commitParamsSchema,
229
+ precheckAllowResultSchema: vincentPolicy.precheckAllowResultSchema,
230
+ precheckDenyResultSchema: vincentPolicy.precheckDenyResultSchema,
231
+ commitAllowResultSchema: vincentPolicy.commitAllowResultSchema,
232
+ commitDenyResultSchema: vincentPolicy.commitDenyResultSchema,
233
+ // Explicit function types
234
+ evaluate: vincentPolicy.evaluate,
235
+ precheck: vincentPolicy.precheck,
236
+ commit: vincentPolicy.commit,
237
+ },
238
+ };
239
+ // Use the same type assertion -- but include __schemaTypes to fix generic inference issues
240
+ return result;
241
+ }
242
+ //# sourceMappingURL=vincentPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vincentPolicy.js","sourceRoot":"","sources":["../../../../src/lib/policyCore/vincentPolicy.ts"],"names":[],"mappings":";;AAuDA,kDAuQC;AA4CD,gEAkGC;AA5cD,sCAAsC;AACtC,6BAAwB;AAqBxB,oFAAiF;AACjF,oCAA0C;AAC1C,uCAMmB;AACnB,6DAKkC;AAClC,oFAAiF;AAEjF;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,mBAAmB,CAYjC,YAmBC;IAED,IAAI,YAAY,CAAC,kBAAkB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,YAAY,CAAC,gBAAgB,IAAI,OAAC,CAAC,SAAS,EAAE,CAAe,CAAC;IACxF,MAAM,eAAe,GAAG,CAAC,YAAY,CAAC,qBAAqB,IAAI,OAAC,CAAC,SAAS,EAAE,CAAoB,CAAC;IACjG,MAAM,cAAc,GAAG,CAAC,YAAY,CAAC,oBAAoB,IAAI,OAAC,CAAC,SAAS,EAAE,CAAmB,CAAC;IAE9F,MAAM,QAAQ,GAKV,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAmD,IAAA,yCAAmB,EAAC;gBAClF,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,IAAA,kCAAwB,EAAC;gBAC5C,gBAAgB,EAAE,IAAI,CAAC,aAAa;gBACpC,aAAa,EAAE,IAAI,CAAC,UAAU;gBAC9B,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;gBACrD,gBAAgB,EAAE,gBAAgB;gBAClC,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;YAEH,IAAI,IAAA,8BAAoB,EAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,OAAO,YAEuB,CAAC;YACjC,CAAC;YAED,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;YAEnF,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,0CAAgC,EAAC;gBACvD,KAAK,EAAE,MAAM;gBACb,iBAAiB,EAAE,eAAe;gBAClC,gBAAgB,EAAE,cAAc;aACjC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,IAAA,wBAAc,EAChC,MAAmC,CAAC,MAAM,EAC3C,WAAW,EACX,UAAU,EACV,QAAQ,CACT,CAAC;YAEF,IAAI,IAAA,8BAAoB,EAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,OAAO,YAEuB,CAAC;YACjC,CAAC;YAED,kFAAkF;YAClF,IAAI,IAAA,8BAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAA,0BAAgB,EAAC;oBACtB,MAAM,EAAE,YAAY;iBACrB,CAE6B,CAAC;YACjC,CAAC;YAED,OAAO,IAAA,0BAAS,EAAkB,YAAY,CAEf,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAA,mCAAkB,EACvB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAGxB,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,YAAY,CAAC,yBAAyB;QACjE,OAAC,CAAC,SAAS,EAAE,CAAwB,CAAC;IACxC,MAAM,kBAAkB,GAAG,CAAC,YAAY,CAAC,wBAAwB;QAC/D,OAAC,CAAC,SAAS,EAAE,CAAuB,CAAC;IACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ;QACpC,CAAC,CAAE,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,GACX,IAAA,yCAAmB,EAAC;oBAClB,WAAW;iBACZ,CAAC,CAAC;gBAEL,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;gBAE9C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBAED,MAAM,YAAY,GAAG,IAAA,kCAAwB,EAAC;oBAC5C,gBAAgB,EAAE,IAAI,CAAC,aAAa;oBACpC,aAAa,EAAE,IAAI,CAAC,UAAU;oBAC9B,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;oBACrD,gBAAgB;oBAChB,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAC;gBAEH,IAAI,IAAA,8BAAoB,EAAC,YAAY,CAAC,EAAE,CAAC;oBACvC,OAAO,YAAY,CAAC;gBACtB,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAE/C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,0CAAgC,EAAC;oBACvD,KAAK,EAAE,MAAM;oBACb,iBAAiB,EAAE,mBAAmB;oBACtC,gBAAgB,EAAE,kBAAkB;iBACrC,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,IAAA,wBAAc,EAChC,MAAmC,CAAC,MAAM,EAC3C,WAAW,EACX,UAAU,EACV,QAAQ,CACT,CAAC;gBAEF,IAAI,IAAA,8BAAoB,EAAC,YAAY,CAAC,EAAE,CAAC;oBACvC,OAAO,YAAY,CAAC;gBACtB,CAAC;gBAED,kFAAkF;gBAClF,IAAI,IAAA,8BAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;oBACjC,OAAO,IAAA,0BAAgB,EAAC;wBACtB,MAAM,EAAE,YAAY;qBACrB,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,IAAA,kCAAiB,EAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAA,mCAAkB,EAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAClF,CAAC;QACH,CAAC,CAKC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,iBAAiB,GAAG,CAAC,YAAY,CAAC,uBAAuB;QAC7D,OAAC,CAAC,SAAS,EAAE,CAAsB,CAAC;IACtC,MAAM,gBAAgB,GAAG,CAAC,YAAY,CAAC,sBAAsB;QAC3D,OAAC,CAAC,SAAS,EAAE,CAAqB,CAAC;IACrC,MAAM,kBAAkB,GAAG,CAAC,YAAY,CAAC,kBAAkB,IAAI,OAAC,CAAC,SAAS,EAAE,CAAiB,CAAC;IAC9F,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM;QAChC,CAAC,CAAE,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAuD,IAAA,yCAAmB,EAAC;oBACtF,WAAW;iBACZ,CAAC,CAAC;gBAEH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;gBAE1C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC1D,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,sBAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5E,MAAM,YAAY,GAAG,IAAA,wBAAc,EAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAEjF,IAAI,IAAA,8BAAoB,EAAC,YAAY,CAAC,EAAE,CAAC;oBACvC,OAAO,YAAY,CAAC;gBACtB,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAE7C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,0CAAgC,EAAC;oBACvD,KAAK,EAAE,MAAM;oBACb,iBAAiB,EAAE,iBAAiB;oBACpC,gBAAgB,EAAE,gBAAgB;iBACnC,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,IAAA,wBAAc,EAChC,MAAmC,CAAC,MAAM,EAC3C,WAAW,EACX,QAAQ,EACR,QAAQ,CACT,CAAC;gBAEF,IAAI,IAAA,8BAAoB,EAAC,YAAY,CAAC,EAAE,CAAC;oBACvC,OAAO,YAAY,CAAC;gBACtB,CAAC;gBAED,kFAAkF;gBAClF,IAAI,IAAA,8BAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;oBACjC,OAAO,IAAA,0BAAgB,EAAC;wBACtB,MAAM,EAAE,YAAY;qBACrB,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,IAAA,kCAAiB,EAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAA,mCAAkB,EAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAClF,CAAC;QACH,CAAC,CAAgF;QACnF,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,aAAa,GAmBf;QACF,GAAG,YAAY;QACf,QAAQ;QACR,QAAQ;QACR,MAAM;KACP,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAgB,0BAA0B,CAcxC,MA6BD;IACC,MAAM,EACJ,oBAAoB,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAC3E,GAAG,MAAM,CAAC;IAEX,IAAA,6DAA6B,EAAC,wBAAwB,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG;QACb,aAAa,EAAE,aAAa;QAC5B,OAAO;QACP,wBAAwB;QACxB,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;QACzD,4EAA4E;QAC5E,cAAc;QACd,aAAa,EAAE;YACb,yBAAyB,EAAE,aAAa,CAAC,mBAAmB;YAC5D,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;YAChD,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;YAC1D,oBAAoB,EAAE,aAAa,CAAC,oBAAoB;YACxD,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;YACpD,yBAAyB,EAAE,aAAa,CAAC,yBAAyB;YAClE,wBAAwB,EAAE,aAAa,CAAC,wBAAwB;YAChE,uBAAuB,EAAE,aAAa,CAAC,uBAAuB;YAC9D,sBAAsB,EAAE,aAAa,CAAC,sBAAsB;YAC5D,0BAA0B;YAC1B,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,MAAM,EAAE,aAAa,CAAC,MAAM;SAC7B;KACF,CAAC;IAEF,2FAA2F;IAC3F,OAAO,MAsBN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,260 @@
1
+ import type { z, ZodError } from 'zod';
2
+ import type { BaseAbilityContext } from './abilityCore/abilityConfig/context/types';
3
+ import type { AbilityPolicyMap } from './abilityCore/helpers';
4
+ export interface PolicyResponseAllow<AllowResult> {
5
+ allow: true;
6
+ result: AllowResult;
7
+ }
8
+ export interface PolicyResponseAllowNoResult {
9
+ allow: true;
10
+ result?: never;
11
+ }
12
+ export interface SchemaValidationError {
13
+ zodError: ZodError<unknown>;
14
+ phase: string;
15
+ stage: string;
16
+ }
17
+ export interface PolicyResponseDeny<DenyResult> {
18
+ allow: false;
19
+ runtimeError?: string;
20
+ result: DenyResult;
21
+ schemaValidationError?: SchemaValidationError;
22
+ }
23
+ export interface PolicyResponseDenyNoResult {
24
+ allow: false;
25
+ runtimeError?: string;
26
+ result: never;
27
+ schemaValidationError?: SchemaValidationError;
28
+ }
29
+ export type PolicyResponse<AllowResult extends z.ZodType | undefined, DenyResult extends z.ZodType | undefined> = (AllowResult extends z.ZodType ? PolicyResponseAllow<z.infer<AllowResult>> : PolicyResponseAllowNoResult) | (DenyResult extends z.ZodType ? PolicyResponseDeny<z.infer<DenyResult>> : PolicyResponseDenyNoResult);
30
+ export type WrappedCommitFunction<CommitParams, Result> = CommitParams extends void ? () => Promise<Result> : (args: CommitParams) => Promise<Result>;
31
+ export type PolicyLifecycleFunction<AbilityParams extends z.ZodType, UserParams extends z.ZodType | undefined, AllowResult extends z.ZodType | undefined, DenyResult extends z.ZodType | undefined> = (args: {
32
+ abilityParams: z.infer<AbilityParams>;
33
+ userParams: UserParams extends z.ZodType ? z.infer<UserParams> : undefined;
34
+ }, ctx: BaseContext) => Promise<(AllowResult extends z.ZodType ? PolicyResponseAllow<z.infer<AllowResult>> : PolicyResponseAllowNoResult) | (DenyResult extends z.ZodType ? PolicyResponseDeny<z.infer<DenyResult>> : PolicyResponseDenyNoResult)>;
35
+ export type InferOrUndefined<T> = T extends z.ZodType ? z.infer<T> : undefined;
36
+ /** @hidden */
37
+ export type VincentAbilityPolicy<AbilityParamsSchema extends z.ZodType, VP extends VincentPolicy<any, any, any, any, any, any, any, any, any, any, any, any, any>, VincentAbilityApiVersion extends string = string, PackageName extends string = string, IpfsCid extends string = string> = {
38
+ ipfsCid: IpfsCid;
39
+ /** @hidden */
40
+ vincentAbilityApiVersion: VincentAbilityApiVersion;
41
+ vincentPolicy: VP & {
42
+ packageName: PackageName;
43
+ };
44
+ abilityParameterMappings: Partial<{
45
+ [K in keyof z.infer<AbilityParamsSchema>]: keyof z.infer<VP['abilityParamsSchema']>;
46
+ }>;
47
+ /** @hidden */
48
+ __schemaTypes: {
49
+ policyAbilityParamsSchema: VP['abilityParamsSchema'];
50
+ userParamsSchema?: VP['userParamsSchema'];
51
+ evalAllowResultSchema?: VP['evalAllowResultSchema'];
52
+ evalDenyResultSchema?: VP['evalDenyResultSchema'];
53
+ precheckAllowResultSchema?: VP['precheckAllowResultSchema'];
54
+ precheckDenyResultSchema?: VP['precheckDenyResultSchema'];
55
+ commitParamsSchema?: VP['commitParamsSchema'];
56
+ commitAllowResultSchema?: VP['commitAllowResultSchema'];
57
+ commitDenyResultSchema?: VP['commitDenyResultSchema'];
58
+ evaluate: VP['evaluate'];
59
+ precheck?: VP['precheck'];
60
+ commit?: VP['commit'];
61
+ };
62
+ };
63
+ export type CommitLifecycleFunction<CommitParams extends z.ZodType | undefined, CommitAllowResult extends z.ZodType | undefined, CommitDenyResult extends z.ZodType | undefined> = (args: CommitParams extends z.ZodType ? z.infer<CommitParams> : undefined, ctx: BaseContext) => Promise<(CommitAllowResult extends z.ZodType ? PolicyResponseAllow<z.infer<CommitAllowResult>> : PolicyResponseAllowNoResult) | (CommitDenyResult extends z.ZodType ? PolicyResponseDeny<z.infer<CommitDenyResult>> : PolicyResponseDenyNoResult)>;
64
+ /** @inline */
65
+ export type VincentPolicy<PackageName extends string, PolicyAbilityParams extends z.ZodType, UserParams extends z.ZodType | undefined = undefined, PrecheckAllowResult extends z.ZodType | undefined = undefined, PrecheckDenyResult extends z.ZodType | undefined = undefined, EvalAllowResult extends z.ZodType | undefined = undefined, EvalDenyResult extends z.ZodType | undefined = undefined, CommitParams extends z.ZodType | undefined = undefined, CommitAllowResult extends z.ZodType | undefined = undefined, CommitDenyResult extends z.ZodType | undefined = undefined, EvaluateFn = PolicyLifecycleFunction<PolicyAbilityParams, UserParams, EvalAllowResult, EvalDenyResult>, PrecheckFn = undefined | PolicyLifecycleFunction<PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult>, CommitFn = undefined | CommitLifecycleFunction<CommitParams, CommitAllowResult, CommitDenyResult>> = {
66
+ packageName: PackageName;
67
+ abilityParamsSchema: PolicyAbilityParams;
68
+ userParamsSchema?: UserParams;
69
+ precheckAllowResultSchema?: PrecheckAllowResult;
70
+ precheckDenyResultSchema?: PrecheckDenyResult;
71
+ evalAllowResultSchema?: EvalAllowResult;
72
+ evalDenyResultSchema?: EvalDenyResult;
73
+ commitParamsSchema?: CommitParams;
74
+ commitAllowResultSchema?: CommitAllowResult;
75
+ commitDenyResultSchema?: CommitDenyResult;
76
+ evaluate: EvaluateFn;
77
+ precheck?: PrecheckFn;
78
+ commit?: CommitFn;
79
+ };
80
+ /** @hidden */
81
+ export type PolicyEvaluationResultContext<Policies extends Record<string, {
82
+ vincentPolicy: VincentPolicy<any, any, any, any, any, any, any, any, any, any>;
83
+ /** @hidden */
84
+ __schemaTypes?: {
85
+ evalAllowResultSchema?: z.ZodType;
86
+ evalDenyResultSchema?: z.ZodType;
87
+ commitParamsSchema?: z.ZodType;
88
+ commitAllowResultSchema?: z.ZodType;
89
+ commitDenyResultSchema?: z.ZodType;
90
+ evaluate?: Function;
91
+ precheck?: Function;
92
+ commit?: Function;
93
+ };
94
+ }>> = {
95
+ evaluatedPolicies: Array<keyof Policies>;
96
+ } & ({
97
+ allow: true;
98
+ allowedPolicies: {
99
+ [PolicyKey in keyof Policies]?: {
100
+ result: Policies[PolicyKey]['__schemaTypes'] extends {
101
+ evalAllowResultSchema: infer Schema;
102
+ } ? Schema extends z.ZodType ? z.infer<Schema> : never : never;
103
+ };
104
+ };
105
+ deniedPolicy?: never;
106
+ } | {
107
+ allow: false;
108
+ deniedPolicy: {
109
+ runtimeError?: string;
110
+ schemaValidationError?: SchemaValidationError;
111
+ packageName: keyof Policies;
112
+ result: Policies[Extract<keyof Policies, string>]['__schemaTypes'] extends {
113
+ evalDenyResultSchema: infer Schema;
114
+ } ? Schema extends z.ZodType ? z.infer<Schema> : undefined : undefined;
115
+ };
116
+ allowedPolicies?: {
117
+ [PolicyKey in keyof Policies]?: {
118
+ result: Policies[PolicyKey]['__schemaTypes'] extends {
119
+ evalAllowResultSchema: infer Schema;
120
+ } ? Schema extends z.ZodType ? z.infer<Schema> : never : never;
121
+ };
122
+ };
123
+ });
124
+ export type AbilityExecutionPolicyEvaluationResult<Policies extends Record<string, {
125
+ vincentPolicy: VincentPolicy<any, any, any, any, any, any, any, any, any, any>;
126
+ /** @hidden */
127
+ __schemaTypes?: {
128
+ evalAllowResultSchema?: z.ZodType;
129
+ evalDenyResultSchema?: z.ZodType;
130
+ commitParamsSchema?: z.ZodType;
131
+ commitAllowResultSchema?: z.ZodType;
132
+ commitDenyResultSchema?: z.ZodType;
133
+ evaluate?: Function;
134
+ precheck?: Function;
135
+ commit?: Function;
136
+ };
137
+ }>> = {
138
+ evaluatedPolicies: Array<keyof Policies>;
139
+ allowedPolicies: {
140
+ [PolicyKey in keyof Policies]?: {
141
+ result: Policies[PolicyKey]['__schemaTypes'] extends {
142
+ evalAllowResultSchema: infer Schema;
143
+ } ? Schema extends z.ZodType ? z.infer<Schema> : never : never;
144
+ };
145
+ };
146
+ };
147
+ export type AbilityExecutionPolicyContext<Policies extends Record<string, {
148
+ vincentPolicy: VincentPolicy<any, any, any, any, any, any, any, any, any, any>;
149
+ /** @hidden */
150
+ __schemaTypes?: {
151
+ evalAllowResultSchema?: z.ZodType;
152
+ evalDenyResultSchema?: z.ZodType;
153
+ commitParamsSchema?: z.ZodType;
154
+ commitAllowResultSchema?: z.ZodType;
155
+ commitDenyResultSchema?: z.ZodType;
156
+ evaluate?: Function;
157
+ precheck?: Function;
158
+ commit?: Function;
159
+ };
160
+ }>> = {
161
+ evaluatedPolicies: Array<keyof Policies>;
162
+ allow: true;
163
+ allowedPolicies: {
164
+ [PolicyKey in keyof Policies]?: {
165
+ result: Policies[PolicyKey]['__schemaTypes'] extends {
166
+ evalAllowResultSchema: infer Schema;
167
+ } ? Schema extends z.ZodType ? z.infer<Schema> : never : never;
168
+ commit: Policies[PolicyKey]['__schemaTypes'] extends {
169
+ commit: infer CommitFn;
170
+ } ? CommitFn extends Function ? WrappedCommitFunction<Policies[PolicyKey]['__schemaTypes'] extends {
171
+ commitParamsSchema: infer CommitParams;
172
+ } ? CommitParams extends z.ZodType ? z.infer<CommitParams> : void : never, // Use 'void' instead of 'never' for no-params case
173
+ (Policies[PolicyKey]['__schemaTypes'] extends {
174
+ commitAllowResultSchema: infer CommitAllowSchema;
175
+ } ? CommitAllowSchema extends z.ZodType ? PolicyResponseAllow<z.infer<CommitAllowSchema>> : PolicyResponseAllowNoResult : PolicyResponseAllowNoResult) | (Policies[PolicyKey]['__schemaTypes'] extends {
176
+ commitDenyResultSchema: infer CommitDenySchema;
177
+ } ? CommitDenySchema extends z.ZodType ? PolicyResponseDeny<z.infer<CommitDenySchema>> : PolicyResponseDenyNoResult : PolicyResponseDenyNoResult)> : never : undefined;
178
+ };
179
+ };
180
+ } & {
181
+ readonly deniedPolicy?: never;
182
+ };
183
+ export interface AbilityResultSuccess<SuccessResult = never> {
184
+ success: true;
185
+ result: SuccessResult;
186
+ }
187
+ export interface AbilityResultSuccessNoResult {
188
+ success: true;
189
+ result?: never;
190
+ }
191
+ export interface AbilityResultFailure<FailResult = never> {
192
+ success: false;
193
+ result: FailResult;
194
+ runtimeError?: string;
195
+ schemaValidationError?: SchemaValidationError;
196
+ }
197
+ export interface AbilityResultFailureNoResult {
198
+ success: false;
199
+ runtimeError?: string;
200
+ result?: never;
201
+ schemaValidationError?: SchemaValidationError;
202
+ }
203
+ export type AbilityResult<SucceedResult, FailResults> = (AbilityResultSuccess<SucceedResult> | AbilityResultSuccessNoResult) | (AbilityResultFailure<FailResults> | AbilityResultFailureNoResult);
204
+ export type AbilityLifecycleFunction<AbilityParamsSchema extends z.ZodType, Policies, SuccessSchema extends z.ZodType | undefined, FailSchema extends z.ZodType | undefined> = (params: {
205
+ abilityParams: z.infer<AbilityParamsSchema>;
206
+ }, context: BaseAbilityContext<Policies>) => Promise<AbilityResult<SuccessSchema, FailSchema>>;
207
+ /**
208
+ *
209
+ * @typeParam AbilityParamsSchema {@removeTypeParameterCompletely}
210
+ * @typeParam PkgNames {@removeTypeParameterCompletely}
211
+ * @typeParam PolicyMap {@removeTypeParameterCompletely}
212
+ * @typeParam PoliciesByPackageName {@removeTypeParameterCompletely}
213
+ * @typeParam ExecuteSuccessSchema {@removeTypeParameterCompletely}
214
+ * @typeParam ExecuteFailSchema {@removeTypeParameterCompletely}
215
+ * @typeParam PrecheckSuccessSchema {@removeTypeParameterCompletely}
216
+ * @typeParam PrecheckFailSchema {@removeTypeParameterCompletely}
217
+ * @typeParam ExecuteFn {@removeTypeParameterCompletely}
218
+ * @typeParam PrecheckFn {@removeTypeParameterCompletely}
219
+ *
220
+ * @category Interfaces
221
+ */
222
+ export type VincentAbility<AbilityParamsSchema extends z.ZodType, PkgNames extends string, PolicyMap extends AbilityPolicyMap<any, PkgNames>, PoliciesByPackageName extends PolicyMap['policyByPackageName'], ExecuteSuccessSchema extends z.ZodType | undefined = undefined, ExecuteFailSchema extends z.ZodType | undefined = undefined, PrecheckSuccessSchema extends z.ZodType | undefined = undefined, PrecheckFailSchema extends z.ZodType | undefined = undefined, ExecuteFn = AbilityLifecycleFunction<AbilityParamsSchema, AbilityExecutionPolicyContext<PoliciesByPackageName>, ExecuteSuccessSchema, ExecuteFailSchema>, PrecheckFn = undefined | AbilityLifecycleFunction<AbilityParamsSchema, PolicyEvaluationResultContext<PoliciesByPackageName>, PrecheckSuccessSchema, PrecheckFailSchema>> = {
223
+ packageName: string;
224
+ abilityDescription: string;
225
+ precheck?: PrecheckFn;
226
+ execute: ExecuteFn;
227
+ abilityParamsSchema: AbilityParamsSchema;
228
+ supportedPolicies: PolicyMap;
229
+ /** @hidden */
230
+ __schemaTypes: {
231
+ executeSuccessSchema?: ExecuteSuccessSchema;
232
+ executeFailSchema?: ExecuteFailSchema;
233
+ precheckSuccessSchema?: PrecheckSuccessSchema;
234
+ precheckFailSchema?: PrecheckFailSchema;
235
+ };
236
+ };
237
+ /** @hidden */
238
+ export interface AbilityConsumerContext {
239
+ delegatorPkpEthAddress: string;
240
+ }
241
+ /** @hidden */
242
+ export interface PolicyConsumerContext {
243
+ delegatorPkpEthAddress: string;
244
+ abilityIpfsCid: string;
245
+ }
246
+ /** @hidden */
247
+ export interface BaseContext {
248
+ abilityIpfsCid: string;
249
+ appId: number;
250
+ appVersion: number;
251
+ delegation: {
252
+ delegateeAddress: string;
253
+ delegatorPkpInfo: {
254
+ tokenId: string;
255
+ ethAddress: string;
256
+ publicKey: string;
257
+ };
258
+ };
259
+ }
260
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // src/lib/types.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":";AAAA,mBAAmB"}
@@ -0,0 +1,2 @@
1
+ export declare const bigintReplacer: (key: any, value: any) => any;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,EAAE,OAAO,GAAG,QAElD,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bigintReplacer = void 0;
4
+ const bigintReplacer = (key, value) => {
5
+ return typeof value === 'bigint' ? value.toString() : value;
6
+ };
7
+ exports.bigintReplacer = bigintReplacer;
8
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,KAAU,EAAE,EAAE;IACrD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}