@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.
- package/CHANGELOG.md +64 -0
- package/CONTRIBUTING.md +117 -0
- package/README.md +213 -0
- package/dist/package.json +44 -0
- package/dist/src/index.d.ts +15 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +21 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/internal.d.ts +12 -0
- package/dist/src/internal.d.ts.map +1 -0
- package/dist/src/internal.js +32 -0
- package/dist/src/internal.js.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.d.ts +28 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.js +51 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/abilityContext.js.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.d.ts +18 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.js +48 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/resultCreators.js.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/types.d.ts +31 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/types.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/types.js +9 -0
- package/dist/src/lib/abilityCore/abilityConfig/context/types.js.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/types.d.ts +20 -0
- package/dist/src/lib/abilityCore/abilityConfig/types.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/abilityConfig/types.js +4 -0
- package/dist/src/lib/abilityCore/abilityConfig/types.js.map +1 -0
- package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.d.ts +5 -0
- package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.js +21 -0
- package/dist/src/lib/abilityCore/bundledAbility/bundledAbility.js.map +1 -0
- package/dist/src/lib/abilityCore/bundledAbility/types.d.ts +18 -0
- package/dist/src/lib/abilityCore/bundledAbility/types.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/bundledAbility/types.js +4 -0
- package/dist/src/lib/abilityCore/bundledAbility/types.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.d.ts +5 -0
- package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.js +18 -0
- package/dist/src/lib/abilityCore/helpers/getMappedAbilityPolicyParams.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/getPkpInfo.d.ts +10 -0
- package/dist/src/lib/abilityCore/helpers/getPkpInfo.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/getPkpInfo.js +26 -0
- package/dist/src/lib/abilityCore/helpers/getPkpInfo.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/index.d.ts +5 -0
- package/dist/src/lib/abilityCore/helpers/index.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/index.js +12 -0
- package/dist/src/lib/abilityCore/helpers/index.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/resultCreators.d.ts +21 -0
- package/dist/src/lib/abilityCore/helpers/resultCreators.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/resultCreators.js +48 -0
- package/dist/src/lib/abilityCore/helpers/resultCreators.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.d.ts +55 -0
- package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.js +68 -0
- package/dist/src/lib/abilityCore/helpers/supportedPoliciesForAbility.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/typeGuards.d.ts +8 -0
- package/dist/src/lib/abilityCore/helpers/typeGuards.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/typeGuards.js +28 -0
- package/dist/src/lib/abilityCore/helpers/typeGuards.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/validatePolicies.d.ts +24 -0
- package/dist/src/lib/abilityCore/helpers/validatePolicies.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/validatePolicies.js +31 -0
- package/dist/src/lib/abilityCore/helpers/validatePolicies.js.map +1 -0
- package/dist/src/lib/abilityCore/helpers/zod.d.ts +43 -0
- package/dist/src/lib/abilityCore/helpers/zod.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/helpers/zod.js +70 -0
- package/dist/src/lib/abilityCore/helpers/zod.js.map +1 -0
- package/dist/src/lib/abilityCore/vincentAbility.d.ts +54 -0
- package/dist/src/lib/abilityCore/vincentAbility.d.ts.map +1 -0
- package/dist/src/lib/abilityCore/vincentAbility.js +162 -0
- package/dist/src/lib/abilityCore/vincentAbility.js.map +1 -0
- package/dist/src/lib/assertSupportedAbilityVersion.d.ts +2 -0
- package/dist/src/lib/assertSupportedAbilityVersion.d.ts.map +1 -0
- package/dist/src/lib/assertSupportedAbilityVersion.js +15 -0
- package/dist/src/lib/assertSupportedAbilityVersion.js.map +1 -0
- package/dist/src/lib/constants.d.ts +2 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +5 -0
- package/dist/src/lib/constants.js.map +1 -0
- package/dist/src/lib/handlers/constants.d.ts +2 -0
- package/dist/src/lib/handlers/constants.d.ts.map +1 -0
- package/dist/src/lib/handlers/constants.js +6 -0
- package/dist/src/lib/handlers/constants.js.map +1 -0
- package/dist/src/lib/handlers/evaluatePolicies.d.ts +11 -0
- package/dist/src/lib/handlers/evaluatePolicies.d.ts.map +1 -0
- package/dist/src/lib/handlers/evaluatePolicies.js +110 -0
- package/dist/src/lib/handlers/evaluatePolicies.js.map +1 -0
- package/dist/src/lib/handlers/vincentAbilityHandler.d.ts +15 -0
- package/dist/src/lib/handlers/vincentAbilityHandler.d.ts.map +1 -0
- package/dist/src/lib/handlers/vincentAbilityHandler.js +160 -0
- package/dist/src/lib/handlers/vincentAbilityHandler.js.map +1 -0
- package/dist/src/lib/handlers/vincentPolicyHandler.d.ts +13 -0
- package/dist/src/lib/handlers/vincentPolicyHandler.d.ts.map +1 -0
- package/dist/src/lib/handlers/vincentPolicyHandler.js +70 -0
- package/dist/src/lib/handlers/vincentPolicyHandler.js.map +1 -0
- package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.d.ts +5 -0
- package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.d.ts.map +1 -0
- package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.js +21 -0
- package/dist/src/lib/policyCore/bundledPolicy/bundledPolicy.js.map +1 -0
- package/dist/src/lib/policyCore/bundledPolicy/types.d.ts +17 -0
- package/dist/src/lib/policyCore/bundledPolicy/types.d.ts.map +1 -0
- package/dist/src/lib/policyCore/bundledPolicy/types.js +4 -0
- package/dist/src/lib/policyCore/bundledPolicy/types.js.map +1 -0
- package/dist/src/lib/policyCore/helpers/index.d.ts +5 -0
- package/dist/src/lib/policyCore/helpers/index.d.ts.map +1 -0
- package/dist/src/lib/policyCore/helpers/index.js +16 -0
- package/dist/src/lib/policyCore/helpers/index.js.map +1 -0
- package/dist/src/lib/policyCore/helpers/resultCreators.d.ts +38 -0
- package/dist/src/lib/policyCore/helpers/resultCreators.d.ts.map +1 -0
- package/dist/src/lib/policyCore/helpers/resultCreators.js +89 -0
- package/dist/src/lib/policyCore/helpers/resultCreators.js.map +1 -0
- package/dist/src/lib/policyCore/helpers/typeGuards.d.ts +7 -0
- package/dist/src/lib/policyCore/helpers/typeGuards.d.ts.map +1 -0
- package/dist/src/lib/policyCore/helpers/typeGuards.js +23 -0
- package/dist/src/lib/policyCore/helpers/typeGuards.js.map +1 -0
- package/dist/src/lib/policyCore/helpers/zod.d.ts +55 -0
- package/dist/src/lib/policyCore/helpers/zod.d.ts.map +1 -0
- package/dist/src/lib/policyCore/helpers/zod.js +82 -0
- package/dist/src/lib/policyCore/helpers/zod.js.map +1 -0
- package/dist/src/lib/policyCore/index.d.ts +3 -0
- package/dist/src/lib/policyCore/index.d.ts.map +1 -0
- package/dist/src/lib/policyCore/index.js +8 -0
- package/dist/src/lib/policyCore/index.js.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.d.ts +12 -0
- package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.d.ts.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.js +20 -0
- package/dist/src/lib/policyCore/policyConfig/context/policyConfigContext.js.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/resultCreators.d.ts +6 -0
- package/dist/src/lib/policyCore/policyConfig/context/resultCreators.d.ts.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/resultCreators.js +30 -0
- package/dist/src/lib/policyCore/policyConfig/context/resultCreators.js.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/types.d.ts +24 -0
- package/dist/src/lib/policyCore/policyConfig/context/types.d.ts.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/context/types.js +5 -0
- package/dist/src/lib/policyCore/policyConfig/context/types.js.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/types.d.ts +46 -0
- package/dist/src/lib/policyCore/policyConfig/types.d.ts.map +1 -0
- package/dist/src/lib/policyCore/policyConfig/types.js +3 -0
- package/dist/src/lib/policyCore/policyConfig/types.js.map +1 -0
- package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.d.ts +17 -0
- package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.d.ts.map +1 -0
- package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.js +54 -0
- package/dist/src/lib/policyCore/policyParameters/getOnchainPolicyParams.js.map +1 -0
- package/dist/src/lib/policyCore/vincentPolicy.d.ts +92 -0
- package/dist/src/lib/policyCore/vincentPolicy.d.ts.map +1 -0
- package/dist/src/lib/policyCore/vincentPolicy.js +242 -0
- package/dist/src/lib/policyCore/vincentPolicy.js.map +1 -0
- package/dist/src/lib/types.d.ts +260 -0
- package/dist/src/lib/types.d.ts.map +1 -0
- package/dist/src/lib/types.js +4 -0
- package/dist/src/lib/types.js.map +1 -0
- package/dist/src/lib/utils.d.ts +2 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +8 -0
- package/dist/src/lib/utils.js.map +1 -0
- package/dist/src/type-inference-verification/ability-definition-tests.d.ts +702 -0
- package/dist/src/type-inference-verification/ability-definition-tests.d.ts.map +1 -0
- package/dist/src/type-inference-verification/ability-definition-tests.js +203 -0
- package/dist/src/type-inference-verification/ability-definition-tests.js.map +1 -0
- package/dist/src/type-inference-verification/ability-lifecycle-inference.d.ts +2 -0
- package/dist/src/type-inference-verification/ability-lifecycle-inference.d.ts.map +1 -0
- package/dist/src/type-inference-verification/ability-lifecycle-inference.js +109 -0
- package/dist/src/type-inference-verification/ability-lifecycle-inference.js.map +1 -0
- package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.d.ts +923 -0
- package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.d.ts.map +1 -0
- package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.js +196 -0
- package/dist/src/type-inference-verification/ability-lifecycle-succeed-fail-tests.js.map +1 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases-ability.d.ts +4305 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases-ability.d.ts.map +1 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases-ability.js +644 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases-ability.js.map +1 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases.d.ts +646 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases.d.ts.map +1 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases.js +264 -0
- package/dist/src/type-inference-verification/allow-deny-test-cases.js.map +1 -0
- package/dist/src/type-inference-verification/context-switching-tests.d.ts +637 -0
- package/dist/src/type-inference-verification/context-switching-tests.d.ts.map +1 -0
- package/dist/src/type-inference-verification/context-switching-tests.js +229 -0
- package/dist/src/type-inference-verification/context-switching-tests.js.map +1 -0
- package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.d.ts +2 -0
- package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.d.ts.map +1 -0
- package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.js +56 -0
- package/dist/src/type-inference-verification/create-policy-map-from-tool-policies.js.map +1 -0
- package/dist/src/type-inference-verification/create-vincent-ability-policy.d.ts +2 -0
- package/dist/src/type-inference-verification/create-vincent-ability-policy.d.ts.map +1 -0
- package/dist/src/type-inference-verification/create-vincent-ability-policy.js +49 -0
- package/dist/src/type-inference-verification/create-vincent-ability-policy.js.map +1 -0
- package/dist/src/type-inference-verification/create-vincent-ability.d.ts +250 -0
- package/dist/src/type-inference-verification/create-vincent-ability.d.ts.map +1 -0
- package/dist/src/type-inference-verification/create-vincent-ability.js +68 -0
- package/dist/src/type-inference-verification/create-vincent-ability.js.map +1 -0
- package/dist/src/type-inference-verification/parameter-inference-tests-tool.d.ts +1710 -0
- package/dist/src/type-inference-verification/parameter-inference-tests-tool.d.ts.map +1 -0
- package/dist/src/type-inference-verification/parameter-inference-tests-tool.js +537 -0
- package/dist/src/type-inference-verification/parameter-inference-tests-tool.js.map +1 -0
- package/dist/src/type-inference-verification/parameter-inference-tests.d.ts +456 -0
- package/dist/src/type-inference-verification/parameter-inference-tests.d.ts.map +1 -0
- package/dist/src/type-inference-verification/parameter-inference-tests.js +179 -0
- package/dist/src/type-inference-verification/parameter-inference-tests.js.map +1 -0
- package/dist/src/type-inference-verification/playground.d.ts +1556 -0
- package/dist/src/type-inference-verification/playground.d.ts.map +1 -0
- package/dist/src/type-inference-verification/playground.js +473 -0
- package/dist/src/type-inference-verification/playground.js.map +1 -0
- package/dist/src/type-inference-verification/schema-test.d.ts +470 -0
- package/dist/src/type-inference-verification/schema-test.d.ts.map +1 -0
- package/dist/src/type-inference-verification/schema-test.js +252 -0
- package/dist/src/type-inference-verification/schema-test.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/policyCore/helpers/zod.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PolicyResponseShape = void 0;
|
|
5
|
+
exports.validateOrDeny = validateOrDeny;
|
|
6
|
+
exports.getValidatedParamsOrDeny = getValidatedParamsOrDeny;
|
|
7
|
+
exports.getSchemaForPolicyResponseResult = getSchemaForPolicyResponseResult;
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
const utils_1 = require("../../utils");
|
|
10
|
+
const resultCreators_1 = require("./resultCreators");
|
|
11
|
+
const typeGuards_1 = require("./typeGuards");
|
|
12
|
+
/**
|
|
13
|
+
* Matches the minimum structure of a PolicyResponse.
|
|
14
|
+
* This is useful when validating that a response shape is at least plausible.
|
|
15
|
+
*/
|
|
16
|
+
exports.PolicyResponseShape = zod_1.z.object({
|
|
17
|
+
allow: zod_1.z.boolean(),
|
|
18
|
+
result: zod_1.z.unknown(),
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Validates a value using a Zod schema (or requires undefined if none given).
|
|
22
|
+
* Returns parsed result or a standardized deny object.
|
|
23
|
+
*
|
|
24
|
+
* @param value - The raw value to validate
|
|
25
|
+
* @param schema - A Zod schema to apply, or undefined (meaning: must be undefined)
|
|
26
|
+
* @param phase - One of 'evaluate' | 'precheck' | 'commit'
|
|
27
|
+
* @param stage - 'parameters' (before calling the lifecycle phase) or 'result' (after receiving the result)
|
|
28
|
+
*
|
|
29
|
+
* @returns The parsed result, or a PolicyResponseDeny with a ZodValidationDenyResult
|
|
30
|
+
*/
|
|
31
|
+
function validateOrDeny(value, schema, phase, stage) {
|
|
32
|
+
const parsed = schema.safeParse(value);
|
|
33
|
+
if (!parsed.success) {
|
|
34
|
+
const descriptor = stage === 'input' ? 'parameters' : 'result';
|
|
35
|
+
const message = `Invalid ${phase} ${descriptor}.`;
|
|
36
|
+
return (0, resultCreators_1.createDenyResult)({
|
|
37
|
+
runtimeError: message,
|
|
38
|
+
schemaValidationError: {
|
|
39
|
+
zodError: parsed.error,
|
|
40
|
+
phase,
|
|
41
|
+
stage,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return parsed.data;
|
|
46
|
+
}
|
|
47
|
+
function getValidatedParamsOrDeny({ rawAbilityParams, rawUserParams, abilityParamsSchema, userParamsSchema, phase, }) {
|
|
48
|
+
const abilityParams = validateOrDeny(rawAbilityParams, abilityParamsSchema, phase, 'input');
|
|
49
|
+
if ((0, typeGuards_1.isPolicyDenyResponse)(abilityParams)) {
|
|
50
|
+
return abilityParams;
|
|
51
|
+
}
|
|
52
|
+
const userParams = validateOrDeny(rawUserParams, userParamsSchema, phase, 'input');
|
|
53
|
+
if ((0, typeGuards_1.isPolicyDenyResponse)(userParams)) {
|
|
54
|
+
return userParams;
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
abilityParams,
|
|
58
|
+
userParams,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Given an unknown policy response result and the known allow/deny schemas,
|
|
63
|
+
* this function returns the appropriate Zod schema to use when validating `.result`.
|
|
64
|
+
*
|
|
65
|
+
* - If the response shape is invalid, returns a Zod schema matching the PolicyResponse structure.
|
|
66
|
+
* - If the shape is valid, returns either the allow or deny result schema.
|
|
67
|
+
*/
|
|
68
|
+
function getSchemaForPolicyResponseResult({ value, allowResultSchema, denyResultSchema, }) {
|
|
69
|
+
if (!(0, typeGuards_1.isPolicyResponse)(value)) {
|
|
70
|
+
console.log('getSchemaForPolicyResponseResult !isPolicyResponse', JSON.stringify(value, utils_1.bigintReplacer));
|
|
71
|
+
return {
|
|
72
|
+
schemaToUse: exports.PolicyResponseShape,
|
|
73
|
+
parsedType: 'unknown',
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
console.log('getSchemaForPolicyResponseResult value is', JSON.stringify(value, utils_1.bigintReplacer));
|
|
77
|
+
return {
|
|
78
|
+
schemaToUse: value.allow ? allowResultSchema : denyResultSchema,
|
|
79
|
+
parsedType: value.allow ? 'allow' : 'deny',
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=zod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../../../src/lib/policyCore/helpers/zod.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;AAiCpC,wCAsBC;AAED,4DAmCC;AASD,4EA6BC;AA7HD,6BAAwB;AAIxB,uCAA6C;AAC7C,qDAAoD;AACpD,6CAAsE;AAEtE;;;GAGG;AACU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE;IAClB,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE;CACpB,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,SAAgB,cAAc,CAC5B,KAAc,EACd,MAAS,EACT,KAAyC,EACzC,KAAyB;IAEzB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,MAAM,OAAO,GAAG,WAAW,KAAK,IAAI,UAAU,GAAG,CAAC;QAClD,OAAO,IAAA,iCAAgB,EAAC;YACtB,YAAY,EAAE,OAAO;YACrB,qBAAqB,EAAE;gBACrB,QAAQ,EAAE,MAAM,CAAC,KAAK;gBACtB,KAAK;gBACL,KAAK;aACN;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAgB,wBAAwB,CAGtC,EACA,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,GAON;IAMC,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5F,IAAI,IAAA,iCAAoB,EAAC,aAAa,CAAC,EAAE,CAAC;QACxC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACnF,IAAI,IAAA,iCAAoB,EAAC,UAAU,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO;QACL,aAAa;QACb,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gCAAgC,CAAC,EAC/C,KAAK,EACL,iBAAiB,EACjB,gBAAgB,GAKjB;IAIC,IAAI,CAAC,IAAA,6BAAgB,EAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CACT,oDAAoD,EACpD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,sBAAc,CAAC,CACtC,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,2BAAmB;YAChC,UAAU,EAAE,SAAS;SACtB,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,sBAAc,CAAC,CAAC,CAAC;IAChG,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB;QAC/D,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;KAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/policyCore/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAClF,YAAY,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/policyCore/index.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createVincentPolicy = exports.createVincentAbilityPolicy = void 0;
|
|
5
|
+
var vincentPolicy_1 = require("./vincentPolicy");
|
|
6
|
+
Object.defineProperty(exports, "createVincentAbilityPolicy", { enumerable: true, get: function () { return vincentPolicy_1.createVincentAbilityPolicy; } });
|
|
7
|
+
Object.defineProperty(exports, "createVincentPolicy", { enumerable: true, get: function () { return vincentPolicy_1.createVincentPolicy; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/policyCore/index.ts"],"names":[],"mappings":";AAAA,8BAA8B;;;AAE9B,iDAAkF;AAAzE,2HAAA,0BAA0B,OAAA;AAAE,oHAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BaseContext } from '../../../types';
|
|
2
|
+
import type { PolicyContext } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a policy execution context to be passed into lifecycle methods
|
|
5
|
+
* like `evaluate`, `precheck`, and `commit`. This context includes strongly
|
|
6
|
+
* typed `allow()` and `deny()` helpers based on optional Zod schemas, and is used
|
|
7
|
+
* internally by VincentPolicyConfig wrappers to standardize response structure.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createPolicyContext({ baseContext, }: {
|
|
10
|
+
baseContext: BaseContext;
|
|
11
|
+
}): PolicyContext<any, any>;
|
|
12
|
+
//# sourceMappingURL=policyConfigContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policyConfigContext.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/policyCore/policyConfig/context/policyConfigContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;CAC1B,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAO1B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/policyConfig/context/policyConfigContext.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createPolicyContext = createPolicyContext;
|
|
5
|
+
const resultCreators_1 = require("./resultCreators");
|
|
6
|
+
/**
|
|
7
|
+
* Creates a policy execution context to be passed into lifecycle methods
|
|
8
|
+
* like `evaluate`, `precheck`, and `commit`. This context includes strongly
|
|
9
|
+
* typed `allow()` and `deny()` helpers based on optional Zod schemas, and is used
|
|
10
|
+
* internally by VincentPolicyConfig wrappers to standardize response structure.
|
|
11
|
+
*/
|
|
12
|
+
function createPolicyContext({ baseContext, }) {
|
|
13
|
+
// Select the appropriate function implementation based on schema presence
|
|
14
|
+
return {
|
|
15
|
+
...baseContext,
|
|
16
|
+
allow: resultCreators_1.createAllow,
|
|
17
|
+
deny: resultCreators_1.createDeny,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=policyConfigContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policyConfigContext.js","sourceRoot":"","sources":["../../../../../../src/lib/policyCore/policyConfig/context/policyConfigContext.ts"],"names":[],"mappings":";AAAA,sDAAsD;;AAatD,kDAWC;AAnBD,qDAA2D;AAE3D;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,EAClC,WAAW,GAGZ;IACC,0EAA0E;IAC1E,OAAO;QACL,GAAG,WAAW;QACd,KAAK,EAAE,4BAA+C;QACtD,IAAI,EAAE,2BAA6C;KACpD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ContextAllowResponse, ContextAllowResponseNoResult, ContextDenyResponse, ContextDenyResponseNoResult } from './types';
|
|
2
|
+
export declare function createAllow<T>(result: T): ContextAllowResponse<T>;
|
|
3
|
+
export declare function createAllowNoResult(): ContextAllowResponseNoResult;
|
|
4
|
+
export declare function createDeny<T>(result: T): ContextDenyResponse<T>;
|
|
5
|
+
export declare function createDenyNoResult(): ContextDenyResponseNoResult;
|
|
6
|
+
//# sourceMappingURL=resultCreators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultCreators.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/policyCore/policyConfig/context/resultCreators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AAEjB,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAKjE;AAED,wBAAgB,mBAAmB,IAAI,4BAA4B,CAIlE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAK/D;AAED,wBAAgB,kBAAkB,IAAI,2BAA2B,CAKhE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAllow = createAllow;
|
|
4
|
+
exports.createAllowNoResult = createAllowNoResult;
|
|
5
|
+
exports.createDeny = createDeny;
|
|
6
|
+
exports.createDenyNoResult = createDenyNoResult;
|
|
7
|
+
function createAllow(result) {
|
|
8
|
+
return {
|
|
9
|
+
allow: true,
|
|
10
|
+
result,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function createAllowNoResult() {
|
|
14
|
+
return {
|
|
15
|
+
allow: true,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function createDeny(result) {
|
|
19
|
+
return {
|
|
20
|
+
allow: false,
|
|
21
|
+
result,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function createDenyNoResult() {
|
|
25
|
+
return {
|
|
26
|
+
allow: false,
|
|
27
|
+
result: undefined,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=resultCreators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultCreators.js","sourceRoot":"","sources":["../../../../../../src/lib/policyCore/policyConfig/context/resultCreators.ts"],"names":[],"mappings":";;AAOA,kCAKC;AAED,kDAIC;AAED,gCAKC;AAED,gDAKC;AAzBD,SAAgB,WAAW,CAAI,MAAS;IACtC,OAAO;QACL,KAAK,EAAE,IAAI;QACX,MAAM;KACoB,CAAC;AAC/B,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO;QACL,KAAK,EAAE,IAAI;KACoB,CAAC;AACpC,CAAC;AAED,SAAgB,UAAU,CAAI,MAAS;IACrC,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,MAAM;KACmB,CAAC;AAC9B,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,SAAkB;KACI,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { PolicyResponseAllow, PolicyResponseAllowNoResult, PolicyResponseDeny, PolicyResponseDenyNoResult, BaseContext } from '../../../types';
|
|
3
|
+
declare const YouMustCallContextAllowOrDeny: unique symbol;
|
|
4
|
+
type MustCallContextAllowOrDeny<T> = T & {
|
|
5
|
+
[YouMustCallContextAllowOrDeny]: 'PolicyResponse';
|
|
6
|
+
};
|
|
7
|
+
export type EnforcePolicyResponse<T> = typeof YouMustCallContextAllowOrDeny extends keyof T ? T : {
|
|
8
|
+
ERROR: 'You must return the result of context.allow() or context.deny()';
|
|
9
|
+
FIX: 'Do not construct the return value manually. Use the injected context helpers.';
|
|
10
|
+
};
|
|
11
|
+
export type ContextAllowResponse<AllowResult> = MustCallContextAllowOrDeny<PolicyResponseAllow<AllowResult>>;
|
|
12
|
+
export type ContextAllowResponseNoResult = MustCallContextAllowOrDeny<PolicyResponseAllowNoResult>;
|
|
13
|
+
export type ContextDenyResponse<DenyResult> = MustCallContextAllowOrDeny<PolicyResponseDeny<DenyResult>>;
|
|
14
|
+
export type ContextDenyResponseNoResult = MustCallContextAllowOrDeny<PolicyResponseDenyNoResult>;
|
|
15
|
+
/**
|
|
16
|
+
* @expand
|
|
17
|
+
* @category Interfaces
|
|
18
|
+
* */
|
|
19
|
+
export interface PolicyContext<AllowSchema extends z.ZodType = z.ZodUndefined, DenySchema extends z.ZodType = z.ZodUndefined> extends BaseContext {
|
|
20
|
+
allow: AllowSchema extends z.ZodUndefined ? () => ContextAllowResponseNoResult : (result: z.infer<AllowSchema>) => ContextAllowResponse<z.infer<AllowSchema>>;
|
|
21
|
+
deny: DenySchema extends z.ZodUndefined ? () => ContextDenyResponseNoResult : (result: z.infer<DenySchema>, runtimeError?: string) => ContextDenyResponse<z.infer<DenySchema>>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/policyCore/policyConfig/context/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAClB,0BAA0B,EAC1B,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,QAAA,MAAM,6BAA6B,EAAE,OAAO,MAE3C,CAAC;AAEF,KAAK,0BAA0B,CAAC,CAAC,IAAI,CAAC,GAAG;IACvC,CAAC,6BAA6B,CAAC,EAAE,gBAAgB,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,OAAO,6BAA6B,SAAS,MAAM,CAAC,GACvF,CAAC,GACD;IACE,KAAK,EAAE,iEAAiE,CAAC;IACzE,GAAG,EAAE,+EAA+E,CAAC;CACtF,CAAC;AAEN,MAAM,MAAM,oBAAoB,CAAC,WAAW,IAAI,0BAA0B,CACxE,mBAAmB,CAAC,WAAW,CAAC,CACjC,CAAC;AACF,MAAM,MAAM,4BAA4B,GAAG,0BAA0B,CAAC,2BAA2B,CAAC,CAAC;AACnG,MAAM,MAAM,mBAAmB,CAAC,UAAU,IAAI,0BAA0B,CACtE,kBAAkB,CAAC,UAAU,CAAC,CAC/B,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG,0BAA0B,CAAC,0BAA0B,CAAC,CAAC;AAEjG;;;KAGK;AACL,MAAM,WAAW,aAAa,CAC5B,WAAW,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EAC9C,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,CAC7C,SAAQ,WAAW;IACnB,KAAK,EAAE,WAAW,SAAS,CAAC,CAAC,YAAY,GACrC,MAAM,4BAA4B,GAClC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAEjF,IAAI,EAAE,UAAU,SAAS,CAAC,CAAC,YAAY,GACnC,MAAM,2BAA2B,GACjC,CACE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAC3B,YAAY,CAAC,EAAE,MAAM,KAClB,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;CACnD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/policyConfig/context/types.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const YouMustCallContextAllowOrDeny = Symbol('PolicyResponses must come from calling context.allow() or context.deny()');
|
|
5
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/lib/policyCore/policyConfig/context/types.ts"],"names":[],"mappings":";AAAA,wCAAwC;;AAYxC,MAAM,6BAA6B,GAAkB,MAAM,CACzD,0EAA0E,CAC3E,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { ContextAllowResponse, ContextAllowResponseNoResult, ContextDenyResponse, ContextDenyResponseNoResult, EnforcePolicyResponse, PolicyContext } from './context/types';
|
|
3
|
+
/** `evaluate()` and `precheck()` functions that you define when using `createVincentPolicy()` will match this function signature.
|
|
4
|
+
* Note that the arguments and return types are inferred based on the ZOD schemas that you pass to `createVincentPolicy`
|
|
5
|
+
*
|
|
6
|
+
* @category Interfaces
|
|
7
|
+
*/
|
|
8
|
+
export type PolicyConfigLifecycleFunction<AbilityParams extends z.ZodType, UserParams extends z.ZodType = z.ZodUndefined, AllowResult extends z.ZodType = z.ZodUndefined, DenyResult extends z.ZodType = z.ZodUndefined> = (args: {
|
|
9
|
+
abilityParams: z.infer<AbilityParams>;
|
|
10
|
+
userParams: z.infer<UserParams>;
|
|
11
|
+
}, ctx: PolicyContext<AllowResult, DenyResult>) => Promise<EnforcePolicyResponse<(AllowResult extends z.ZodUndefined ? ContextAllowResponseNoResult : ContextAllowResponse<z.infer<AllowResult>>) | (DenyResult extends z.ZodUndefined ? ContextDenyResponseNoResult : ContextDenyResponse<z.infer<DenyResult>>)>>;
|
|
12
|
+
/** Unlike `evaluate()` and `precheck()`, commit receives specific arguments provided by the ability during its `execute()` phase
|
|
13
|
+
* instead of than `abilityParams` and `userParams` that the ability was called with.
|
|
14
|
+
*
|
|
15
|
+
* @category Interfaces
|
|
16
|
+
*/
|
|
17
|
+
export type PolicyConfigCommitFunction<CommitParams extends z.ZodType = z.ZodUndefined, CommitAllowResult extends z.ZodType = z.ZodUndefined, CommitDenyResult extends z.ZodType = z.ZodUndefined> = (args: CommitParams extends z.ZodType ? z.infer<CommitParams> : undefined, context: PolicyContext<CommitAllowResult, CommitDenyResult>) => Promise<EnforcePolicyResponse<(CommitAllowResult extends z.ZodUndefined ? ContextAllowResponseNoResult : ContextAllowResponse<z.infer<CommitAllowResult>>) | (CommitDenyResult extends z.ZodUndefined ? ContextDenyResponseNoResult : ContextDenyResponse<z.infer<CommitDenyResult>>)>>;
|
|
18
|
+
/**
|
|
19
|
+
* @typeParam PackageName {@removeTypeParameterCompletely}
|
|
20
|
+
* @typeParam PolicyAbilityParams {@removeTypeParameterCompletely}
|
|
21
|
+
* @typeParam UserParams {@removeTypeParameterCompletely}
|
|
22
|
+
* @typeParam PrecheckAllowResult {@removeTypeParameterCompletely}
|
|
23
|
+
* @typeParam PrecheckDenyResult {@removeTypeParameterCompletely}
|
|
24
|
+
* @typeParam EvalAllowResult {@removeTypeParameterCompletely}
|
|
25
|
+
* @typeParam EvalDenyResult {@removeTypeParameterCompletely}
|
|
26
|
+
* @typeParam CommitParams {@removeTypeParameterCompletely}
|
|
27
|
+
* @typeParam CommitAllowResult {@removeTypeParameterCompletely}
|
|
28
|
+
* @typeParam CommitDenyResult {@removeTypeParameterCompletely}
|
|
29
|
+
* @typeParam CommitDenyResult {@removeTypeParameterCompletely}
|
|
30
|
+
*/
|
|
31
|
+
export type VincentPolicyConfig<PackageName extends string, PolicyAbilityParams extends z.ZodType, UserParams extends z.ZodType = z.ZodUndefined, PrecheckAllowResult extends z.ZodType = z.ZodUndefined, PrecheckDenyResult extends z.ZodType = z.ZodUndefined, EvalAllowResult extends z.ZodType = z.ZodUndefined, EvalDenyResult extends z.ZodType = z.ZodUndefined, CommitParams extends z.ZodType = z.ZodUndefined, CommitAllowResult extends z.ZodType = z.ZodUndefined, CommitDenyResult extends z.ZodType = z.ZodUndefined, EvaluateFn = PolicyConfigLifecycleFunction<PolicyAbilityParams, UserParams, EvalAllowResult, EvalDenyResult>, PrecheckFn = undefined | PolicyConfigLifecycleFunction<PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult>, CommitFn = undefined | PolicyConfigCommitFunction<CommitParams, CommitAllowResult, CommitDenyResult>> = {
|
|
32
|
+
packageName: PackageName;
|
|
33
|
+
abilityParamsSchema: PolicyAbilityParams;
|
|
34
|
+
userParamsSchema?: UserParams;
|
|
35
|
+
evalAllowResultSchema?: EvalAllowResult;
|
|
36
|
+
evalDenyResultSchema?: EvalDenyResult;
|
|
37
|
+
precheckAllowResultSchema?: PrecheckAllowResult;
|
|
38
|
+
precheckDenyResultSchema?: PrecheckDenyResult;
|
|
39
|
+
commitParamsSchema?: CommitParams;
|
|
40
|
+
commitAllowResultSchema?: CommitAllowResult;
|
|
41
|
+
commitDenyResultSchema?: CommitDenyResult;
|
|
42
|
+
evaluate: EvaluateFn;
|
|
43
|
+
precheck?: PrecheckFn;
|
|
44
|
+
commit?: CommitFn;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/policyCore/policyConfig/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/lib/policyCore/policyConfig/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import type { AbilityPolicyParameterData } from '@lit-protocol/vincent-contracts-sdk';
|
|
3
|
+
export declare const getDecodedPolicyParams: ({ decodedPolicies, policyIpfsCid, }: {
|
|
4
|
+
decodedPolicies: AbilityPolicyParameterData;
|
|
5
|
+
policyIpfsCid: string;
|
|
6
|
+
}) => Promise<Record<string, any> | undefined>;
|
|
7
|
+
export declare const getPoliciesAndAppVersion: ({ delegationRpcUrl, appDelegateeAddress, agentWalletPkpEthAddress, abilityIpfsCid, }: {
|
|
8
|
+
delegationRpcUrl: string;
|
|
9
|
+
appDelegateeAddress: string;
|
|
10
|
+
agentWalletPkpEthAddress: string;
|
|
11
|
+
abilityIpfsCid: string;
|
|
12
|
+
}) => Promise<{
|
|
13
|
+
appId: ethers.BigNumber;
|
|
14
|
+
appVersion: ethers.BigNumber;
|
|
15
|
+
decodedPolicies: AbilityPolicyParameterData;
|
|
16
|
+
}>;
|
|
17
|
+
//# sourceMappingURL=getOnchainPolicyParams.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOnchainPolicyParams.d.ts","sourceRoot":"","sources":["../../../../../src/lib/policyCore/policyParameters/getOnchainPolicyParams.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,sBAAsB,GAAU,qCAG1C;IACD,eAAe,EAAE,0BAA0B,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;CACvB,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAW1C,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,sFAK5C;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB,KAAG,OAAO,CAAC;IACV,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;IAC7B,eAAe,EAAE,0BAA0B,CAAC;CAC7C,CA6CA,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/policyCore/policyParameters/getOnchainPolicyParams.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getPoliciesAndAppVersion = exports.getDecodedPolicyParams = void 0;
|
|
5
|
+
const ethers_1 = require("ethers");
|
|
6
|
+
const vincent_contracts_sdk_1 = require("@lit-protocol/vincent-contracts-sdk");
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
8
|
+
const getDecodedPolicyParams = async ({ decodedPolicies, policyIpfsCid, }) => {
|
|
9
|
+
console.log('All on-chain policy params:', JSON.stringify(decodedPolicies, utils_1.bigintReplacer));
|
|
10
|
+
const policyParams = decodedPolicies[policyIpfsCid];
|
|
11
|
+
if (policyParams) {
|
|
12
|
+
return policyParams;
|
|
13
|
+
}
|
|
14
|
+
console.log('Found no on-chain parameters for policy IPFS CID:', policyIpfsCid);
|
|
15
|
+
return undefined;
|
|
16
|
+
};
|
|
17
|
+
exports.getDecodedPolicyParams = getDecodedPolicyParams;
|
|
18
|
+
const getPoliciesAndAppVersion = async ({ delegationRpcUrl, appDelegateeAddress, agentWalletPkpEthAddress, abilityIpfsCid, }) => {
|
|
19
|
+
console.log('getPoliciesAndAppVersion', {
|
|
20
|
+
delegationRpcUrl,
|
|
21
|
+
appDelegateeAddress,
|
|
22
|
+
agentWalletPkpEthAddress,
|
|
23
|
+
abilityIpfsCid,
|
|
24
|
+
});
|
|
25
|
+
try {
|
|
26
|
+
// Create a signer using the delegationRpcUrl
|
|
27
|
+
const signer = ethers_1.ethers.Wallet.createRandom().connect(new ethers_1.ethers.providers.StaticJsonRpcProvider(delegationRpcUrl));
|
|
28
|
+
const contractClient = (0, vincent_contracts_sdk_1.getClient)({
|
|
29
|
+
signer,
|
|
30
|
+
});
|
|
31
|
+
// Use the contracts-sdk to validate ability execution and get policies
|
|
32
|
+
const validationResult = await contractClient.validateAbilityExecutionAndGetPolicies({
|
|
33
|
+
delegateeAddress: appDelegateeAddress,
|
|
34
|
+
pkpEthAddress: agentWalletPkpEthAddress,
|
|
35
|
+
abilityIpfsCid: abilityIpfsCid,
|
|
36
|
+
});
|
|
37
|
+
// We exit early here because !validationResult.isPermitted means appDelegateeAddress
|
|
38
|
+
// is not permitted to execute abilityIpfsCid for the Vincent App on behalf of the agentWalletPkpTokenId
|
|
39
|
+
// and no further processing is needed
|
|
40
|
+
if (!validationResult.isPermitted) {
|
|
41
|
+
throw new Error(`App Delegatee: ${appDelegateeAddress} is not permitted to execute Vincent Ability: ${abilityIpfsCid} for App ID: ${validationResult.appId} App Version: ${validationResult.appVersion} using Agent Wallet PKP Address: ${agentWalletPkpEthAddress}`);
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
appId: ethers_1.ethers.BigNumber.from(validationResult.appId),
|
|
45
|
+
appVersion: ethers_1.ethers.BigNumber.from(validationResult.appVersion),
|
|
46
|
+
decodedPolicies: validationResult.decodedPolicies,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
throw new Error(`Error getting on-chain policy parameters from Vincent contract using App Delegatee: ${appDelegateeAddress} and Agent Wallet PKP Address: ${agentWalletPkpEthAddress} and Vincent Ability: ${abilityIpfsCid}: ${error instanceof Error ? error.message : String(error)}`);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
exports.getPoliciesAndAppVersion = getPoliciesAndAppVersion;
|
|
54
|
+
//# sourceMappingURL=getOnchainPolicyParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOnchainPolicyParams.js","sourceRoot":"","sources":["../../../../../src/lib/policyCore/policyParameters/getOnchainPolicyParams.ts"],"names":[],"mappings":";AAAA,gEAAgE;;;AAEhE,mCAAgC;AAOhC,+EAAgE;AAEhE,uCAA6C;AAEtC,MAAM,sBAAsB,GAAG,KAAK,EAAE,EAC3C,eAAe,EACf,aAAa,GAId,EAA4C,EAAE;IAC7C,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,sBAAc,CAAC,CAAC,CAAC;IAE5F,MAAM,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAEpD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mDAAmD,EAAE,aAAa,CAAC,CAAC;IAChF,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAjBW,QAAA,sBAAsB,0BAiBjC;AAEK,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAC7C,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,GAMf,EAIE,EAAE;IACH,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE;QACtC,gBAAgB;QAChB,mBAAmB;QACnB,wBAAwB;QACxB,cAAc;KACf,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,6CAA6C;QAC7C,MAAM,MAAM,GAAG,eAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CACjD,IAAI,eAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAC7D,CAAC;QAEF,MAAM,cAAc,GAAG,IAAA,iCAAS,EAAC;YAC/B,MAAM;SACP,CAAC,CAAC;QAEH,uEAAuE;QACvE,MAAM,gBAAgB,GACpB,MAAM,cAAc,CAAC,sCAAsC,CAAC;YAC1D,gBAAgB,EAAE,mBAAmB;YACrC,aAAa,EAAE,wBAAwB;YACvC,cAAc,EAAE,cAAc;SAC/B,CAAC,CAAC;QAEL,qFAAqF;QACrF,wGAAwG;QACxG,sCAAsC;QACtC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,kBAAkB,mBAAmB,iDAAiD,cAAc,gBAAgB,gBAAgB,CAAC,KAAK,iBAAiB,gBAAgB,CAAC,UAAU,oCAAoC,wBAAwB,EAAE,CACrP,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACpD,UAAU,EAAE,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;YAC9D,eAAe,EAAE,gBAAgB,CAAC,eAAe;SAClD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,uFAAuF,mBAAmB,kCAAkC,wBAAwB,yBAAyB,cAAc,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzQ,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AA3DW,QAAA,wBAAwB,4BA2DnC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { CommitLifecycleFunction, PolicyLifecycleFunction, VincentPolicy } from '../types';
|
|
3
|
+
import type { BundledVincentPolicy } from './bundledPolicy/types';
|
|
4
|
+
import type { PolicyConfigCommitFunction, PolicyConfigLifecycleFunction, VincentPolicyConfig } from './policyConfig/types';
|
|
5
|
+
/**
|
|
6
|
+
* The `createVincentPolicy()` method is used to define a policy's lifecycle methods and ensure that arguments provided to the ability's
|
|
7
|
+
* lifecycle methods, as well as their return values, are validated and fully type-safe by defining ZOD schemas for them.
|
|
8
|
+
*
|
|
9
|
+
* @typeParam PackageName {@removeTypeParameterCompletely}
|
|
10
|
+
* @typeParam PolicyAbilityParams {@removeTypeParameterCompletely}
|
|
11
|
+
* @typeParam UserParams {@removeTypeParameterCompletely}
|
|
12
|
+
* @typeParam PrecheckAllowResult {@removeTypeParameterCompletely}
|
|
13
|
+
* @typeParam PrecheckDenyResult {@removeTypeParameterCompletely}
|
|
14
|
+
* @typeParam EvalAllowResult {@removeTypeParameterCompletely}
|
|
15
|
+
* @typeParam EvalDenyResult {@removeTypeParameterCompletely}
|
|
16
|
+
* @typeParam CommitParams {@removeTypeParameterCompletely}
|
|
17
|
+
* @typeParam CommitAllowResult {@removeTypeParameterCompletely}
|
|
18
|
+
* @typeParam CommitDenyResult {@removeTypeParameterCompletely}
|
|
19
|
+
* @category API Methods
|
|
20
|
+
*/
|
|
21
|
+
export declare function createVincentPolicy<PackageName extends string, PolicyAbilityParams extends z.ZodType, UserParams extends z.ZodType = z.ZodUndefined, PrecheckAllowResult extends z.ZodType = z.ZodUndefined, PrecheckDenyResult extends z.ZodType = z.ZodUndefined, EvalAllowResult extends z.ZodType = z.ZodUndefined, EvalDenyResult extends z.ZodType = z.ZodUndefined, CommitParams extends z.ZodType = z.ZodUndefined, CommitAllowResult extends z.ZodType = z.ZodUndefined, CommitDenyResult extends z.ZodType = z.ZodUndefined>(PolicyConfig: VincentPolicyConfig<PackageName, PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult, EvalAllowResult, EvalDenyResult, CommitParams, CommitAllowResult, CommitDenyResult, PolicyConfigLifecycleFunction<PolicyAbilityParams, UserParams, EvalAllowResult, EvalDenyResult>, PolicyConfigLifecycleFunction<PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult>, PolicyConfigCommitFunction<CommitParams, CommitAllowResult, CommitDenyResult>>): VincentPolicy<PackageName, PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult, EvalAllowResult, EvalDenyResult, CommitParams, CommitAllowResult, CommitDenyResult, PolicyLifecycleFunction<PolicyAbilityParams, UserParams, EvalAllowResult, EvalDenyResult>, PolicyLifecycleFunction<PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult>, CommitLifecycleFunction<CommitParams, CommitAllowResult, CommitDenyResult>>;
|
|
22
|
+
/**
|
|
23
|
+
* `createVincentAbilityPolicy()` is used to bind a policy to a specific ability. You must provide a `abilityParameterMappings` argument
|
|
24
|
+
* which instructs the ability which of its abilityParams should be passed to the Vincent Policy during evaluation, and
|
|
25
|
+
* defines what the argument passed to the ability should be.
|
|
26
|
+
*
|
|
27
|
+
* For example, a Ability might receive an argument called `tokenInAmount`, but it may need to pass that as `buyAmount` to a
|
|
28
|
+
* policy that uses the `tokenInAmount` for its own purposes.
|
|
29
|
+
*
|
|
30
|
+
* ```typescript
|
|
31
|
+
* import { bundledVincentPolicy } from '@lit-protocol/vincent-policy-spending-limit';
|
|
32
|
+
*
|
|
33
|
+
* const SpendingLimitPolicy = createVincentAbilityPolicy({
|
|
34
|
+
* abilityParamsSchema,
|
|
35
|
+
* bundledVincentPolicy,
|
|
36
|
+
* abilityParameterMappings: {
|
|
37
|
+
* rpcUrlForUniswap: 'rpcUrlForUniswap',
|
|
38
|
+
* chainIdForUniswap: 'chainIdForUniswap',
|
|
39
|
+
* ethRpcUrl: 'ethRpcUrl',
|
|
40
|
+
* tokenInAddress: 'tokenAddress',
|
|
41
|
+
* tokenInDecimals: 'tokenDecimals',
|
|
42
|
+
* tokenInAmount: 'buyAmount',
|
|
43
|
+
* },
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @typeParam PackageName {@removeTypeParameterCompletely}
|
|
48
|
+
* @typeParam IpfsCid {@removeTypeParameterCompletely}
|
|
49
|
+
* @typeParam AbilityParamsSchema {@removeTypeParameterCompletely}
|
|
50
|
+
* @typeParam PolicyAbilityParams {@removeTypeParameterCompletely}
|
|
51
|
+
* @typeParam UserParams {@removeTypeParameterCompletely}
|
|
52
|
+
* @typeParam PrecheckAllowResult {@removeTypeParameterCompletely}
|
|
53
|
+
* @typeParam PrecheckDenyResult {@removeTypeParameterCompletely}
|
|
54
|
+
* @typeParam EvalAllowResult {@removeTypeParameterCompletely}
|
|
55
|
+
* @typeParam EvalDenyResult {@removeTypeParameterCompletely}
|
|
56
|
+
* @typeParam CommitParams {@removeTypeParameterCompletely}
|
|
57
|
+
* @typeParam CommitAllowResult {@removeTypeParameterCompletely}
|
|
58
|
+
* @typeParam CommitDenyResult {@removeTypeParameterCompletely}
|
|
59
|
+
*
|
|
60
|
+
* @returns A Vincent Policy that is configured to work with the provided ability
|
|
61
|
+
* {@displayType A Vincent Policy that is configured to work with the provided ability }
|
|
62
|
+
* @category API Methods
|
|
63
|
+
*/
|
|
64
|
+
export declare function createVincentAbilityPolicy<const PackageName extends string, const IpfsCid extends string, const VincentAbilityApiVersion extends string, AbilityParamsSchema extends z.ZodType, PolicyAbilityParams extends z.ZodType, UserParams extends z.ZodType = z.ZodUndefined, PrecheckAllowResult extends z.ZodType = z.ZodUndefined, PrecheckDenyResult extends z.ZodType = z.ZodUndefined, EvalAllowResult extends z.ZodType = z.ZodUndefined, EvalDenyResult extends z.ZodType = z.ZodUndefined, CommitParams extends z.ZodType = z.ZodUndefined, CommitAllowResult extends z.ZodType = z.ZodUndefined, CommitDenyResult extends z.ZodType = z.ZodUndefined>(config: {
|
|
65
|
+
abilityParamsSchema: AbilityParamsSchema;
|
|
66
|
+
bundledVincentPolicy: BundledVincentPolicy<VincentPolicy<PackageName, PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult, EvalAllowResult, EvalDenyResult, CommitParams, CommitAllowResult, CommitDenyResult, PolicyLifecycleFunction<PolicyAbilityParams, UserParams, EvalAllowResult, EvalDenyResult>, PolicyLifecycleFunction<PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult>, CommitLifecycleFunction<CommitParams, CommitAllowResult, CommitDenyResult>>, IpfsCid, VincentAbilityApiVersion>;
|
|
67
|
+
abilityParameterMappings: Partial<{
|
|
68
|
+
[K in keyof z.infer<AbilityParamsSchema>]: keyof z.infer<PolicyAbilityParams>;
|
|
69
|
+
}>;
|
|
70
|
+
}): {
|
|
71
|
+
vincentPolicy: VincentPolicy<PackageName, PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult, EvalAllowResult, EvalDenyResult, CommitParams, CommitAllowResult, CommitDenyResult, PolicyLifecycleFunction<PolicyAbilityParams, UserParams, EvalAllowResult, EvalDenyResult>, PolicyLifecycleFunction<PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult>, CommitLifecycleFunction<CommitParams, CommitAllowResult, CommitDenyResult>>;
|
|
72
|
+
ipfsCid: IpfsCid;
|
|
73
|
+
abilityParameterMappings: typeof config.abilityParameterMappings;
|
|
74
|
+
/** @hidden */
|
|
75
|
+
vincentAbilityApiVersion: VincentAbilityApiVersion;
|
|
76
|
+
/** @hidden */
|
|
77
|
+
__schemaTypes: {
|
|
78
|
+
policyAbilityParamsSchema: PolicyAbilityParams;
|
|
79
|
+
userParamsSchema: UserParams;
|
|
80
|
+
evalAllowResultSchema: EvalAllowResult;
|
|
81
|
+
evalDenyResultSchema: EvalDenyResult;
|
|
82
|
+
precheckAllowResultSchema: PrecheckAllowResult;
|
|
83
|
+
precheckDenyResultSchema: PrecheckDenyResult;
|
|
84
|
+
commitParamsSchema: CommitParams;
|
|
85
|
+
commitAllowResultSchema: CommitAllowResult;
|
|
86
|
+
commitDenyResultSchema: CommitDenyResult;
|
|
87
|
+
evaluate: PolicyLifecycleFunction<PolicyAbilityParams, UserParams, EvalAllowResult, EvalDenyResult>;
|
|
88
|
+
precheck: PolicyLifecycleFunction<PolicyAbilityParams, UserParams, PrecheckAllowResult, PrecheckDenyResult> | undefined;
|
|
89
|
+
commit: CommitLifecycleFunction<CommitParams, CommitAllowResult, CommitDenyResult> | undefined;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=vincentPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vincentPolicy.d.ts","sourceRoot":"","sources":["../../../../src/lib/policyCore/vincentPolicy.ts"],"names":[],"mappings":"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"}
|