@lit-protocol/vincent-app-sdk 0.0.6-mma → 0.0.8-mma
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 +7 -7
- package/CONTRIBUTING.md +4 -5
- package/README.md +41 -41
- package/dist/CHANGELOG.md +7 -7
- package/dist/CONTRIBUTING.md +4 -5
- package/dist/README.md +41 -41
- package/dist/package.json +6 -7
- package/dist/src/abilityClient/constants.d.ts.map +1 -0
- package/dist/src/abilityClient/constants.js.map +1 -0
- package/dist/src/{toolClient/execute/generateVincentToolSessionSigs.d.ts → abilityClient/execute/generateVincentAbilitySessionSigs.d.ts} +2 -2
- package/dist/src/abilityClient/execute/generateVincentAbilitySessionSigs.d.ts.map +1 -0
- package/dist/src/{toolClient/execute/generateVincentToolSessionSigs.js → abilityClient/execute/generateVincentAbilitySessionSigs.js} +5 -5
- package/dist/src/abilityClient/execute/generateVincentAbilitySessionSigs.js.map +1 -0
- package/dist/src/{toolClient → abilityClient}/execute/resultCreators.d.ts +14 -14
- package/dist/src/abilityClient/execute/resultCreators.d.ts.map +1 -0
- package/dist/src/{toolClient → abilityClient}/execute/resultCreators.js +9 -9
- package/dist/src/abilityClient/execute/resultCreators.js.map +1 -0
- package/dist/src/abilityClient/execute/types.d.ts +38 -0
- package/dist/src/abilityClient/execute/types.d.ts.map +1 -0
- package/dist/src/{toolClient → abilityClient}/execute/types.js +1 -1
- package/dist/src/abilityClient/execute/types.js.map +1 -0
- package/dist/src/abilityClient/index.d.ts +19 -0
- package/dist/src/abilityClient/index.d.ts.map +1 -0
- package/dist/src/abilityClient/index.js +26 -0
- package/dist/src/abilityClient/index.js.map +1 -0
- package/dist/src/{toolClient → abilityClient}/precheck/resultCreators.d.ts +14 -14
- package/dist/src/abilityClient/precheck/resultCreators.d.ts.map +1 -0
- package/dist/src/{toolClient → abilityClient}/precheck/resultCreators.js +9 -9
- package/dist/src/abilityClient/precheck/resultCreators.js.map +1 -0
- package/dist/src/abilityClient/precheck/runPolicyPrechecks.d.ts +14 -0
- package/dist/src/abilityClient/precheck/runPolicyPrechecks.d.ts.map +1 -0
- package/dist/src/{toolClient → abilityClient}/precheck/runPolicyPrechecks.js +14 -14
- package/dist/src/abilityClient/precheck/runPolicyPrechecks.js.map +1 -0
- package/dist/src/{toolClient → abilityClient}/precheck/types.d.ts +15 -15
- package/dist/src/abilityClient/precheck/types.d.ts.map +1 -0
- package/dist/src/{toolClient → abilityClient}/precheck/types.js +1 -1
- package/dist/src/abilityClient/precheck/types.js.map +1 -0
- package/dist/src/abilityClient/typeGuards.d.ts +28 -0
- package/dist/src/abilityClient/typeGuards.d.ts.map +1 -0
- package/dist/src/abilityClient/typeGuards.js +67 -0
- package/dist/src/abilityClient/typeGuards.js.map +1 -0
- package/dist/src/abilityClient/types.d.ts +50 -0
- package/dist/src/abilityClient/types.d.ts.map +1 -0
- package/dist/src/{toolClient → abilityClient}/types.js +1 -1
- package/dist/src/abilityClient/types.js.map +1 -0
- package/dist/src/abilityClient/vincentAbilityClient.d.ts +76 -0
- package/dist/src/abilityClient/vincentAbilityClient.d.ts.map +1 -0
- package/dist/src/{toolClient/vincentToolClient.js → abilityClient/vincentAbilityClient.js} +96 -96
- package/dist/src/abilityClient/vincentAbilityClient.js.map +1 -0
- package/dist/src/expressMiddleware/express.js +10 -1
- package/dist/src/expressMiddleware/express.js.map +1 -1
- package/dist/src/expressMiddleware/types.d.ts +2 -2
- package/dist/src/expressMiddleware/types.d.ts.map +1 -1
- package/dist/src/jwt/accessors.d.ts +36 -3
- package/dist/src/jwt/accessors.d.ts.map +1 -1
- package/dist/src/jwt/accessors.js +60 -2
- package/dist/src/jwt/accessors.js.map +1 -1
- package/dist/src/jwt/constants.d.ts +33 -0
- package/dist/src/jwt/constants.d.ts.map +1 -0
- package/dist/src/jwt/constants.js +36 -0
- package/dist/src/jwt/constants.js.map +1 -0
- package/dist/src/jwt/core/create.d.ts +14 -19
- package/dist/src/jwt/core/create.d.ts.map +1 -1
- package/dist/src/jwt/core/create.js +78 -78
- package/dist/src/jwt/core/create.js.map +1 -1
- package/dist/src/jwt/core/decode.d.ts +3 -0
- package/dist/src/jwt/core/decode.d.ts.map +1 -0
- package/dist/src/jwt/core/decode.js +27 -0
- package/dist/src/jwt/core/decode.js.map +1 -0
- package/dist/src/jwt/core/isExpired.d.ts +3 -3
- package/dist/src/jwt/core/isExpired.d.ts.map +1 -1
- package/dist/src/jwt/core/isExpired.js +1 -1
- package/dist/src/jwt/core/isExpired.js.map +1 -1
- package/dist/src/jwt/core/utils/base64.d.ts +1 -0
- package/dist/src/jwt/core/utils/base64.d.ts.map +1 -1
- package/dist/src/jwt/core/utils/base64.js +1 -0
- package/dist/src/jwt/core/utils/base64.js.map +1 -1
- package/dist/src/jwt/core/utils/decodeJWTStr.d.ts +3 -0
- package/dist/src/jwt/core/utils/decodeJWTStr.d.ts.map +1 -0
- package/dist/src/jwt/core/utils/decodeJWTStr.js +21 -0
- package/dist/src/jwt/core/utils/decodeJWTStr.js.map +1 -0
- package/dist/src/jwt/core/utils/index.d.ts +2 -2
- package/dist/src/jwt/core/utils/index.d.ts.map +1 -1
- package/dist/src/jwt/core/utils/index.js +6 -5
- package/dist/src/jwt/core/utils/index.js.map +1 -1
- package/dist/src/jwt/core/utils/validateJWTTime.js +3 -3
- package/dist/src/jwt/core/utils/validateJWTTime.js.map +1 -1
- package/dist/src/jwt/core/utils/verifyES256KSignature.d.ts +5 -0
- package/dist/src/jwt/core/utils/verifyES256KSignature.d.ts.map +1 -0
- package/dist/src/jwt/core/utils/verifyES256KSignature.js +33 -0
- package/dist/src/jwt/core/utils/verifyES256KSignature.js.map +1 -0
- package/dist/src/jwt/core/verify.d.ts +27 -0
- package/dist/src/jwt/core/verify.d.ts.map +1 -0
- package/dist/src/jwt/core/verify.js +84 -0
- package/dist/src/jwt/core/verify.js.map +1 -0
- package/dist/src/jwt/index.d.ts +7 -7
- package/dist/src/jwt/index.d.ts.map +1 -1
- package/dist/src/jwt/index.js +20 -10
- package/dist/src/jwt/index.js.map +1 -1
- package/dist/src/jwt/typeGuards.d.ts +28 -11
- package/dist/src/jwt/typeGuards.d.ts.map +1 -1
- package/dist/src/jwt/typeGuards.js +51 -20
- package/dist/src/jwt/typeGuards.js.map +1 -1
- package/dist/src/jwt/types.d.ts +123 -49
- package/dist/src/jwt/types.d.ts.map +1 -1
- package/dist/src/type-inference-verification/{tool-client-inference.d.ts → ability-client-inference.d.ts} +1 -1
- package/dist/src/type-inference-verification/ability-client-inference.d.ts.map +1 -0
- package/dist/src/type-inference-verification/{tool-client-inference.js → ability-client-inference.js} +47 -47
- package/dist/src/type-inference-verification/ability-client-inference.js.map +1 -0
- package/dist/src/utils/delegation.js +2 -2
- package/dist/src/utils/delegation.js.map +1 -1
- package/dist/src/utils/types.d.ts +1 -4
- package/dist/src/utils/types.d.ts.map +1 -1
- package/dist/src/webAuthClient/app.d.ts.map +1 -1
- package/dist/src/webAuthClient/app.js +9 -9
- package/dist/src/webAuthClient/app.js.map +1 -1
- package/dist/src/webAuthClient/internal/uriHelpers.d.ts +5 -5
- package/dist/src/webAuthClient/internal/uriHelpers.d.ts.map +1 -1
- package/dist/src/webAuthClient/internal/uriHelpers.js +14 -12
- package/dist/src/webAuthClient/internal/uriHelpers.js.map +1 -1
- package/dist/src/webAuthClient/types.d.ts +25 -25
- package/dist/src/webAuthClient/types.d.ts.map +1 -1
- package/package.json +7 -8
- package/dist/src/jwt/core/utils/processJWTSignature.d.ts +0 -8
- package/dist/src/jwt/core/utils/processJWTSignature.d.ts.map +0 -1
- package/dist/src/jwt/core/utils/processJWTSignature.js +0 -14
- package/dist/src/jwt/core/utils/processJWTSignature.js.map +0 -1
- package/dist/src/jwt/core/utils/splitJWT.d.ts +0 -11
- package/dist/src/jwt/core/utils/splitJWT.d.ts.map +0 -1
- package/dist/src/jwt/core/utils/splitJWT.js +0 -21
- package/dist/src/jwt/core/utils/splitJWT.js.map +0 -1
- package/dist/src/jwt/core/validate.d.ts +0 -29
- package/dist/src/jwt/core/validate.d.ts.map +0 -1
- package/dist/src/jwt/core/validate.js +0 -143
- package/dist/src/jwt/core/validate.js.map +0 -1
- package/dist/src/toolClient/constants.d.ts.map +0 -1
- package/dist/src/toolClient/constants.js.map +0 -1
- package/dist/src/toolClient/execute/generateVincentToolSessionSigs.d.ts.map +0 -1
- package/dist/src/toolClient/execute/generateVincentToolSessionSigs.js.map +0 -1
- package/dist/src/toolClient/execute/resultCreators.d.ts.map +0 -1
- package/dist/src/toolClient/execute/resultCreators.js.map +0 -1
- package/dist/src/toolClient/execute/types.d.ts +0 -38
- package/dist/src/toolClient/execute/types.d.ts.map +0 -1
- package/dist/src/toolClient/execute/types.js.map +0 -1
- package/dist/src/toolClient/index.d.ts +0 -19
- package/dist/src/toolClient/index.d.ts.map +0 -1
- package/dist/src/toolClient/index.js +0 -26
- package/dist/src/toolClient/index.js.map +0 -1
- package/dist/src/toolClient/precheck/resultCreators.d.ts.map +0 -1
- package/dist/src/toolClient/precheck/resultCreators.js.map +0 -1
- package/dist/src/toolClient/precheck/runPolicyPrechecks.d.ts +0 -14
- package/dist/src/toolClient/precheck/runPolicyPrechecks.d.ts.map +0 -1
- package/dist/src/toolClient/precheck/runPolicyPrechecks.js.map +0 -1
- package/dist/src/toolClient/precheck/types.d.ts.map +0 -1
- package/dist/src/toolClient/precheck/types.js.map +0 -1
- package/dist/src/toolClient/typeGuards.d.ts +0 -28
- package/dist/src/toolClient/typeGuards.d.ts.map +0 -1
- package/dist/src/toolClient/typeGuards.js +0 -67
- package/dist/src/toolClient/typeGuards.js.map +0 -1
- package/dist/src/toolClient/types.d.ts +0 -50
- package/dist/src/toolClient/types.d.ts.map +0 -1
- package/dist/src/toolClient/types.js.map +0 -1
- package/dist/src/toolClient/vincentToolClient.d.ts +0 -76
- package/dist/src/toolClient/vincentToolClient.d.ts.map +0 -1
- package/dist/src/toolClient/vincentToolClient.js.map +0 -1
- package/dist/src/type-inference-verification/tool-client-inference.d.ts.map +0 -1
- package/dist/src/type-inference-verification/tool-client-inference.js.map +0 -1
- /package/dist/src/{toolClient → abilityClient}/constants.d.ts +0 -0
- /package/dist/src/{toolClient → abilityClient}/constants.js +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/abilityClient/typeGuards.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.isAbilityResponseSuccess = isAbilityResponseSuccess;
|
|
5
|
+
exports.isAbilityResponseFailure = isAbilityResponseFailure;
|
|
6
|
+
exports.isAbilityResponseRuntimeFailure = isAbilityResponseRuntimeFailure;
|
|
7
|
+
exports.isAbilityResponseSchemaValidationFailure = isAbilityResponseSchemaValidationFailure;
|
|
8
|
+
exports.isAbilityResponse = isAbilityResponse;
|
|
9
|
+
exports.isRemoteVincentAbilityExecutionResult = isRemoteVincentAbilityExecutionResult;
|
|
10
|
+
/** Type guard function that returns true only if the passed value is a successful ability response
|
|
11
|
+
* @category API
|
|
12
|
+
* */
|
|
13
|
+
function isAbilityResponseSuccess(value) {
|
|
14
|
+
return (typeof value === 'object' &&
|
|
15
|
+
value !== null &&
|
|
16
|
+
'success' in value &&
|
|
17
|
+
value.success === true);
|
|
18
|
+
}
|
|
19
|
+
/** Type guard function that returns true only if the passed value is a failure ability response
|
|
20
|
+
* @category API */
|
|
21
|
+
function isAbilityResponseFailure(value) {
|
|
22
|
+
return (typeof value === 'object' &&
|
|
23
|
+
value !== null &&
|
|
24
|
+
'success' in value &&
|
|
25
|
+
value.success === false);
|
|
26
|
+
}
|
|
27
|
+
/** Type guard function that returns true only if the passed value is a failure ability response that was a runtime error
|
|
28
|
+
* This could be caused by code `throw()`ing an error from inside ability or policy code, or by errors encountered in the
|
|
29
|
+
* Vincent SDK wrapping code that handles the execution of the ability/policies.
|
|
30
|
+
*
|
|
31
|
+
* This could also be the result of a schema validation error -- use {@link isAbilityResponseSchemaValidationFailure} to check
|
|
32
|
+
* to see if have a data validation error.
|
|
33
|
+
*
|
|
34
|
+
* @category API*/
|
|
35
|
+
function isAbilityResponseRuntimeFailure(value) {
|
|
36
|
+
if (!isAbilityResponseFailure(value))
|
|
37
|
+
return false;
|
|
38
|
+
return 'runtimeError' in value && typeof value.runtimeError === 'string';
|
|
39
|
+
}
|
|
40
|
+
/** Type guard function that returns true only if the passed value is a failure ability response that was caused by
|
|
41
|
+
* a schema parsing failure. All data inputs and outputs to / from Vincent Abilities and Policies is validated using ZOD schemas.
|
|
42
|
+
*
|
|
43
|
+
* If this returns true, you can parse the `schemaValidationError` property in the response - it is a ZodError object.
|
|
44
|
+
* @category API */
|
|
45
|
+
function isAbilityResponseSchemaValidationFailure(value) {
|
|
46
|
+
if (!isAbilityResponseFailure(value))
|
|
47
|
+
return false;
|
|
48
|
+
return ('schemaValidationError' in value && typeof value.schemaValidationError === 'object');
|
|
49
|
+
}
|
|
50
|
+
/** @hidden */
|
|
51
|
+
function isAbilityResponse(value) {
|
|
52
|
+
return (typeof value === 'object' &&
|
|
53
|
+
value !== null &&
|
|
54
|
+
'success' in value &&
|
|
55
|
+
typeof value.success === 'boolean');
|
|
56
|
+
}
|
|
57
|
+
/** @hidden */
|
|
58
|
+
function isRemoteVincentAbilityExecutionResult(value) {
|
|
59
|
+
return (typeof value === 'object' &&
|
|
60
|
+
value !== null &&
|
|
61
|
+
'abilityExecutionResult' in value &&
|
|
62
|
+
'abilityContext' in value &&
|
|
63
|
+
isAbilityResponse(value.abilityExecutionResult) &&
|
|
64
|
+
typeof value.abilityContext === 'object' &&
|
|
65
|
+
value.abilityContext !== null);
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=typeGuards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../../src/abilityClient/typeGuards.ts"],"names":[],"mappings":";AAAA,sCAAsC;;AActC,4DAWC;AAID,4DAWC;AAUD,0EAMC;AAOD,4FAOC;AAGD,8CASC;AAGD,sFAYC;AAtFD;;KAEK;AACL,SAAgB,wBAAwB,CACtC,KAAc;IAId,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QACjB,KAAa,CAAC,OAAO,KAAK,IAAI,CAChC,CAAC;AACJ,CAAC;AAED;oBACoB;AACpB,SAAgB,wBAAwB,CACtC,KAAc;IAId,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QACjB,KAAa,CAAC,OAAO,KAAK,KAAK,CACjC,CAAC;AACJ,CAAC;AAED;;;;;;;mBAOmB;AACnB,SAAgB,+BAA+B,CAC7C,KAAc;IAEd,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnD,OAAO,cAAc,IAAI,KAAK,IAAI,OAAQ,KAAa,CAAC,YAAY,KAAK,QAAQ,CAAC;AACpF,CAAC;AAED;;;;mBAImB;AACnB,SAAgB,wCAAwC,CACtD,KAAc;IAEd,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,CACL,uBAAuB,IAAI,KAAK,IAAI,OAAQ,KAAa,CAAC,qBAAqB,KAAK,QAAQ,CAC7F,CAAC;AACJ,CAAC;AAED,cAAc;AACd,SAAgB,iBAAiB,CAC/B,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QAClB,OAAQ,KAAa,CAAC,OAAO,KAAK,SAAS,CAC5C,CAAC;AACJ,CAAC;AAED,cAAc;AACd,SAAgB,qCAAqC,CACnD,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,wBAAwB,IAAI,KAAK;QACjC,gBAAgB,IAAI,KAAK;QACzB,iBAAiB,CAAE,KAAa,CAAC,sBAAsB,CAAC;QACxD,OAAQ,KAAa,CAAC,cAAc,KAAK,QAAQ;QAChD,KAAa,CAAC,cAAc,KAAK,IAAI,CACvC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { BaseAbilityContext } from '@lit-protocol/vincent-ability-sdk';
|
|
3
|
+
import type { AbilityExecuteResponse } from './execute/types';
|
|
4
|
+
import type { AbilityPrecheckResponse } from './precheck/types';
|
|
5
|
+
export { type BaseAbilityContext };
|
|
6
|
+
/**
|
|
7
|
+
* The Vincent Ability Client is used to interact with Vincent abilities.
|
|
8
|
+
*
|
|
9
|
+
* - Precheck ability parameters and policies
|
|
10
|
+
* - Execute abilities remotely
|
|
11
|
+
*
|
|
12
|
+
* @typeParam AbilityParamsSchema {@removeTypeParameterCompletely}
|
|
13
|
+
* @typeParam PoliciesByPackageName {@removeTypeParameterCompletely}
|
|
14
|
+
* @typeParam ExecuteSuccessSchema {@removeTypeParameterCompletely}
|
|
15
|
+
* @typeParam ExecuteFailSchema {@removeTypeParameterCompletely}
|
|
16
|
+
* @typeParam PrecheckSuccessSchema {@removeTypeParameterCompletely}
|
|
17
|
+
* @typeParam PrecheckFailSchema {@removeTypeParameterCompletely}
|
|
18
|
+
*
|
|
19
|
+
* @category Interfaces
|
|
20
|
+
*/
|
|
21
|
+
export interface VincentAbilityClient<AbilityParamsSchema extends z.ZodType, PoliciesByPackageName extends Record<string, any>, ExecuteSuccessSchema extends z.ZodType = z.ZodUndefined, ExecuteFailSchema extends z.ZodType = z.ZodUndefined, PrecheckSuccessSchema extends z.ZodType = z.ZodUndefined, PrecheckFailSchema extends z.ZodType = z.ZodUndefined> {
|
|
22
|
+
/**
|
|
23
|
+
* Performs a precheck of the ability parameters and policies.
|
|
24
|
+
*
|
|
25
|
+
* This method validates the ability parameters and checks if the policies allow the ability to be executed.
|
|
26
|
+
*
|
|
27
|
+
* @param rawAbilityParams - The parameters to be passed to the ability
|
|
28
|
+
* @param context - The context for the ability execution, including the delegator PKP Ethereum address
|
|
29
|
+
* @returns A promise that resolves to a AbilityResponse containing the precheck result
|
|
30
|
+
*/
|
|
31
|
+
precheck(rawAbilityParams: z.infer<AbilityParamsSchema>, context: AbilityClientContext & {
|
|
32
|
+
rpcUrl?: string;
|
|
33
|
+
}): Promise<AbilityPrecheckResponse<PrecheckSuccessSchema, PrecheckFailSchema, PoliciesByPackageName>>;
|
|
34
|
+
/**
|
|
35
|
+
* Executes the ability with the given parameters.
|
|
36
|
+
*
|
|
37
|
+
* This method validates the ability parameters, executes the ability remotely, and returns the result.
|
|
38
|
+
*
|
|
39
|
+
* @param rawAbilityParams - The parameters to be passed to the ability
|
|
40
|
+
* @param context - The context for the ability execution, including the delegator PKP Ethereum address
|
|
41
|
+
* @returns A promise that resolves to a AbilityResponse containing the execution result
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
44
|
+
execute(rawAbilityParams: z.infer<AbilityParamsSchema>, context: AbilityClientContext): Promise<AbilityExecuteResponse<ExecuteSuccessSchema, ExecuteFailSchema, PoliciesByPackageName>>;
|
|
45
|
+
}
|
|
46
|
+
/** @category Interfaces */
|
|
47
|
+
export interface AbilityClientContext {
|
|
48
|
+
delegatorPkpEthAddress: string;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/abilityClient/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,KAAK,kBAAkB,EAAE,CAAC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,oBAAoB,CACnC,mBAAmB,SAAS,CAAC,CAAC,OAAO,EACrC,qBAAqB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjD,oBAAoB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACvD,iBAAiB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACpD,qBAAqB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACxD,kBAAkB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY;IAErD;;;;;;;;OAQG;IACH,QAAQ,CACN,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAC9C,OAAO,EAAE,oBAAoB,GAAG;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CACR,uBAAuB,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CAC1F,CAAC;IAEF;;;;;;;;;OASG;IACH,OAAO,CACL,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAC9C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CACR,sBAAsB,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CACvF,CAAC;CACH;AAED,2BAA2B;AAC3B,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,EAAE,MAAM,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/abilityClient/types.ts"],"names":[],"mappings":";AAAA,iCAAiC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import type { BundledVincentAbility, VincentAbility } from '@lit-protocol/vincent-ability-sdk';
|
|
4
|
+
import type { AbilityPolicyMap } from '@lit-protocol/vincent-ability-sdk/internal';
|
|
5
|
+
import type { VincentAbilityClient } from './types';
|
|
6
|
+
/** A VincentAbilityClient provides a type-safe interface for executing abilities, for both `precheck()`
|
|
7
|
+
* and `execute()` functionality.
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { disconnectVincentAbilityClients, getVincentAbilityClient, isAbilityResponseFailure } from '@lit-protocol/vincent-app-sdk/abilityClient';
|
|
11
|
+
* import { bundledVincentAbility as uniswapBundledAbility } from '@lit-protocol/vincent-ability-uniswap-swap';
|
|
12
|
+
* import { delegateeEthersSigner } = from './ethersSigner';
|
|
13
|
+
* import { ETH_RPC_URL, BASE_RPC_URL } from './rpcConfigs';
|
|
14
|
+
*
|
|
15
|
+
* const uniswapAbilityClient = getVincentAbilityClient({
|
|
16
|
+
* bundledVincentAbility: uniswapBundledAbility,
|
|
17
|
+
* ethersSigner: delegateeEthersSigner,
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // First, call `precheck()` to get a best-estimate result indicating that the ability execution in the LIT action runtime will not fail
|
|
21
|
+
* const precheckResult = await uniswapSwapAbilityClient.precheck({
|
|
22
|
+
* ethRpcUrl: ETH_RPC_URL,
|
|
23
|
+
* rpcUrlForUniswap: BASE_RPC_URL,
|
|
24
|
+
* chainIdForUniswap: 8453, // Base
|
|
25
|
+
* tokenInAddress: '0x4200000000000000000000000000000000000006', // WETH
|
|
26
|
+
* tokenInDecimals: 18,
|
|
27
|
+
* tokenInAmount: 0.0000077,
|
|
28
|
+
* tokenOutAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC on Base
|
|
29
|
+
* tokenOutDecimals: 8,
|
|
30
|
+
* },
|
|
31
|
+
* {
|
|
32
|
+
* delegatorPkpEthAddress: '0x123456789123456789123456789...',
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* const uniswapSwapExecutionResult = await uniswapSwapAbilityClient.execute({
|
|
36
|
+
* ethRpcUrl: ETH_RPC_URL,
|
|
37
|
+
* rpcUrlForUniswap: BASE_RPC_URL,
|
|
38
|
+
* chainIdForUniswap: 8453,
|
|
39
|
+
* tokenInAddress: '0x4200000000000000000000000000000000000006', // WETH
|
|
40
|
+
* tokenInDecimals: 18,
|
|
41
|
+
* tokenInAmount: 0.0000077,
|
|
42
|
+
* tokenOutAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC on Base
|
|
43
|
+
* tokenOutDecimals: 8,
|
|
44
|
+
* },
|
|
45
|
+
* {
|
|
46
|
+
* delegatorPkpEthAddress: '0x123456789123456789123456789...',
|
|
47
|
+
* });
|
|
48
|
+
*
|
|
49
|
+
* if(isAbilityResponseFailure(uniswapSwapExecutionResult)) {
|
|
50
|
+
* ...handle failure
|
|
51
|
+
* } else {
|
|
52
|
+
* ...handle result
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @typeParam IpfsCid {@removeTypeParameterCompletely}
|
|
57
|
+
* @typeParam AbilityParamsSchema {@removeTypeParameterCompletely}
|
|
58
|
+
* @typeParam PkgNames {@removeTypeParameterCompletely}
|
|
59
|
+
* @typeParam PolicyMap {@removeTypeParameterCompletely}
|
|
60
|
+
* @typeParam PoliciesByPackageName {@removeTypeParameterCompletely}
|
|
61
|
+
* @typeParam ExecuteSuccessSchema {@removeTypeParameterCompletely}
|
|
62
|
+
* @typeParam ExecuteFailSchema {@removeTypeParameterCompletely}
|
|
63
|
+
* @typeParam PrecheckSuccessSchema {@removeTypeParameterCompletely}
|
|
64
|
+
* @typeParam PrecheckFailSchema {@removeTypeParameterCompletely}
|
|
65
|
+
*
|
|
66
|
+
* @param params
|
|
67
|
+
* @param params.ethersSigner - An ethers signer that has been configured with your delegatee key
|
|
68
|
+
* @param params.bundledVincentAbility - The bundled vincent ability that you want to interact with
|
|
69
|
+
*
|
|
70
|
+
* @category API
|
|
71
|
+
* */
|
|
72
|
+
export declare function getVincentAbilityClient<const IpfsCid extends string, AbilityParamsSchema extends z.ZodType, PkgNames extends string, PolicyMap extends AbilityPolicyMap<any, PkgNames>, PoliciesByPackageName extends PolicyMap['policyByPackageName'], ExecuteSuccessSchema extends z.ZodType = z.ZodUndefined, ExecuteFailSchema extends z.ZodType = z.ZodUndefined, PrecheckSuccessSchema extends z.ZodType = z.ZodUndefined, PrecheckFailSchema extends z.ZodType = z.ZodUndefined>(params: {
|
|
73
|
+
bundledVincentAbility: BundledVincentAbility<VincentAbility<AbilityParamsSchema, PkgNames, PolicyMap, PoliciesByPackageName, ExecuteSuccessSchema, ExecuteFailSchema, PrecheckSuccessSchema, PrecheckFailSchema, any, any>, IpfsCid>;
|
|
74
|
+
ethersSigner: ethers.Signer;
|
|
75
|
+
}): VincentAbilityClient<AbilityParamsSchema, PoliciesByPackageName, ExecuteSuccessSchema, ExecuteFailSchema, PrecheckSuccessSchema, PrecheckFailSchema>;
|
|
76
|
+
//# sourceMappingURL=vincentAbilityClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vincentAbilityClient.d.ts","sourceRoot":"","sources":["../../../src/abilityClient/vincentAbilityClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAcnF,OAAO,KAAK,EAAwB,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA2B1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiEK;AACL,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,OAAO,SAAS,MAAM,EAC5B,mBAAmB,SAAS,CAAC,CAAC,OAAO,EACrC,QAAQ,SAAS,MAAM,EACvB,SAAS,SAAS,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,EACjD,qBAAqB,SAAS,SAAS,CAAC,qBAAqB,CAAC,EAC9D,oBAAoB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACvD,iBAAiB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACpD,qBAAqB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACxD,kBAAkB,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,EACrD,MAAM,EAAE;IACR,qBAAqB,EAAE,qBAAqB,CAC1C,cAAc,CACZ,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,GAAG,EACH,GAAG,CACJ,EACD,OAAO,CACR,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;CAC7B,GAAG,oBAAoB,CACtB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,CACnB,CAmWA"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// src/
|
|
2
|
+
// src/abilityClient/vincentAbilityClient.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
4
|
+
exports.getVincentAbilityClient = getVincentAbilityClient;
|
|
5
5
|
const ethers_1 = require("ethers");
|
|
6
6
|
const zod_1 = require("zod");
|
|
7
7
|
const constants_1 = require("@lit-protocol/constants");
|
|
8
|
-
const internal_1 = require("@lit-protocol/vincent-
|
|
8
|
+
const internal_1 = require("@lit-protocol/vincent-ability-sdk/internal");
|
|
9
9
|
const getLitNodeClient_1 = require("../internal/LitNodeClient/getLitNodeClient");
|
|
10
|
-
const
|
|
10
|
+
const generateVincentAbilitySessionSigs_1 = require("./execute/generateVincentAbilitySessionSigs");
|
|
11
11
|
const resultCreators_1 = require("./execute/resultCreators");
|
|
12
12
|
const resultCreators_2 = require("./precheck/resultCreators");
|
|
13
13
|
const runPolicyPrechecks_1 = require("./precheck/runPolicyPrechecks");
|
|
@@ -16,22 +16,22 @@ const YELLOWSTONE_RPC_URL = 'https://yellowstone-rpc.litprotocol.com/';
|
|
|
16
16
|
const bigintReplacer = (key, value) => {
|
|
17
17
|
return typeof value === 'bigint' ? value.toString() : value;
|
|
18
18
|
};
|
|
19
|
-
/** A
|
|
19
|
+
/** A VincentAbilityClient provides a type-safe interface for executing abilities, for both `precheck()`
|
|
20
20
|
* and `execute()` functionality.
|
|
21
21
|
*
|
|
22
22
|
* ```typescript
|
|
23
|
-
* import {
|
|
24
|
-
* import {
|
|
23
|
+
* import { disconnectVincentAbilityClients, getVincentAbilityClient, isAbilityResponseFailure } from '@lit-protocol/vincent-app-sdk/abilityClient';
|
|
24
|
+
* import { bundledVincentAbility as uniswapBundledAbility } from '@lit-protocol/vincent-ability-uniswap-swap';
|
|
25
25
|
* import { delegateeEthersSigner } = from './ethersSigner';
|
|
26
26
|
* import { ETH_RPC_URL, BASE_RPC_URL } from './rpcConfigs';
|
|
27
27
|
*
|
|
28
|
-
* const
|
|
29
|
-
*
|
|
28
|
+
* const uniswapAbilityClient = getVincentAbilityClient({
|
|
29
|
+
* bundledVincentAbility: uniswapBundledAbility,
|
|
30
30
|
* ethersSigner: delegateeEthersSigner,
|
|
31
31
|
* });
|
|
32
32
|
*
|
|
33
|
-
* // First, call `precheck()` to get a best-estimate result indicating that the
|
|
34
|
-
* const precheckResult = await
|
|
33
|
+
* // First, call `precheck()` to get a best-estimate result indicating that the ability execution in the LIT action runtime will not fail
|
|
34
|
+
* const precheckResult = await uniswapSwapAbilityClient.precheck({
|
|
35
35
|
* ethRpcUrl: ETH_RPC_URL,
|
|
36
36
|
* rpcUrlForUniswap: BASE_RPC_URL,
|
|
37
37
|
* chainIdForUniswap: 8453, // Base
|
|
@@ -45,7 +45,7 @@ const bigintReplacer = (key, value) => {
|
|
|
45
45
|
* delegatorPkpEthAddress: '0x123456789123456789123456789...',
|
|
46
46
|
* });
|
|
47
47
|
*
|
|
48
|
-
* const uniswapSwapExecutionResult = await
|
|
48
|
+
* const uniswapSwapExecutionResult = await uniswapSwapAbilityClient.execute({
|
|
49
49
|
* ethRpcUrl: ETH_RPC_URL,
|
|
50
50
|
* rpcUrlForUniswap: BASE_RPC_URL,
|
|
51
51
|
* chainIdForUniswap: 8453,
|
|
@@ -59,7 +59,7 @@ const bigintReplacer = (key, value) => {
|
|
|
59
59
|
* delegatorPkpEthAddress: '0x123456789123456789123456789...',
|
|
60
60
|
* });
|
|
61
61
|
*
|
|
62
|
-
* if(
|
|
62
|
+
* if(isAbilityResponseFailure(uniswapSwapExecutionResult)) {
|
|
63
63
|
* ...handle failure
|
|
64
64
|
* } else {
|
|
65
65
|
* ...handle result
|
|
@@ -67,7 +67,7 @@ const bigintReplacer = (key, value) => {
|
|
|
67
67
|
* ```
|
|
68
68
|
*
|
|
69
69
|
* @typeParam IpfsCid {@removeTypeParameterCompletely}
|
|
70
|
-
* @typeParam
|
|
70
|
+
* @typeParam AbilityParamsSchema {@removeTypeParameterCompletely}
|
|
71
71
|
* @typeParam PkgNames {@removeTypeParameterCompletely}
|
|
72
72
|
* @typeParam PolicyMap {@removeTypeParameterCompletely}
|
|
73
73
|
* @typeParam PoliciesByPackageName {@removeTypeParameterCompletely}
|
|
@@ -78,21 +78,21 @@ const bigintReplacer = (key, value) => {
|
|
|
78
78
|
*
|
|
79
79
|
* @param params
|
|
80
80
|
* @param params.ethersSigner - An ethers signer that has been configured with your delegatee key
|
|
81
|
-
* @param params.
|
|
81
|
+
* @param params.bundledVincentAbility - The bundled vincent ability that you want to interact with
|
|
82
82
|
*
|
|
83
83
|
* @category API
|
|
84
84
|
* */
|
|
85
|
-
function
|
|
85
|
+
function getVincentAbilityClient(params) {
|
|
86
86
|
var _a, _b;
|
|
87
|
-
const {
|
|
88
|
-
const { ipfsCid,
|
|
89
|
-
(0, internal_1.
|
|
87
|
+
const { bundledVincentAbility, ethersSigner } = params;
|
|
88
|
+
const { ipfsCid, vincentAbility, vincentAbilityApiVersion } = bundledVincentAbility;
|
|
89
|
+
(0, internal_1.assertSupportedAbilityVersion)(vincentAbilityApiVersion);
|
|
90
90
|
const network = constants_1.LIT_NETWORK.Datil;
|
|
91
|
-
const executeSuccessSchema = ((_a =
|
|
92
|
-
const executeFailSchema = ((_b =
|
|
91
|
+
const executeSuccessSchema = ((_a = vincentAbility.__schemaTypes.executeSuccessSchema) !== null && _a !== void 0 ? _a : zod_1.z.undefined());
|
|
92
|
+
const executeFailSchema = ((_b = vincentAbility.__schemaTypes.executeFailSchema) !== null && _b !== void 0 ? _b : zod_1.z.undefined());
|
|
93
93
|
return {
|
|
94
|
-
async precheck(
|
|
95
|
-
console.log('precheck', {
|
|
94
|
+
async precheck(rawAbilityParams, { rpcUrl, delegatorPkpEthAddress, }) {
|
|
95
|
+
console.log('precheck', { rawAbilityParams, delegatorPkpEthAddress, rpcUrl });
|
|
96
96
|
const delegateePkpEthAddress = ethers_1.ethers.utils.getAddress(await ethersSigner.getAddress());
|
|
97
97
|
// This will be populated further during execution; if an error is encountered, it'll include as much data as we can give the caller.
|
|
98
98
|
const baseContext = {
|
|
@@ -100,13 +100,13 @@ function getVincentToolClient(params) {
|
|
|
100
100
|
delegateeAddress: delegateePkpEthAddress,
|
|
101
101
|
// delegatorPkpInfo: null,
|
|
102
102
|
},
|
|
103
|
-
|
|
103
|
+
abilityIpfsCid: ipfsCid,
|
|
104
104
|
// appId: undefined,
|
|
105
105
|
// appVersion: undefined,
|
|
106
106
|
};
|
|
107
|
-
const parsedParams = (0, internal_1.validateOrFail)(
|
|
108
|
-
if ((0, typeGuards_1.
|
|
109
|
-
return (0, resultCreators_2.
|
|
107
|
+
const parsedParams = (0, internal_1.validateOrFail)(rawAbilityParams, vincentAbility.abilityParamsSchema, 'precheck', 'input');
|
|
108
|
+
if ((0, typeGuards_1.isAbilityResponseFailure)(parsedParams)) {
|
|
109
|
+
return (0, resultCreators_2.createAbilityPrecheckResponseFailureNoResult)({
|
|
110
110
|
...parsedParams,
|
|
111
111
|
context: baseContext,
|
|
112
112
|
});
|
|
@@ -122,42 +122,42 @@ function getVincentToolClient(params) {
|
|
|
122
122
|
delegationRpcUrl: rpcUrl !== null && rpcUrl !== void 0 ? rpcUrl : YELLOWSTONE_RPC_URL,
|
|
123
123
|
appDelegateeAddress: delegateePkpEthAddress,
|
|
124
124
|
agentWalletPkpEthAddress: delegatorPkpEthAddress,
|
|
125
|
-
|
|
125
|
+
abilityIpfsCid: ipfsCid,
|
|
126
126
|
});
|
|
127
127
|
baseContext.appId = appId.toNumber();
|
|
128
128
|
baseContext.appVersion = appVersion.toNumber();
|
|
129
129
|
console.log('Fetched policies and app info', { decodedPolicies, appId, appVersion });
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
const baseAbilityContext = await (0, runPolicyPrechecks_1.runAbilityPolicyPrechecks)({
|
|
131
|
+
bundledVincentAbility,
|
|
132
|
+
abilityParams: parsedParams,
|
|
133
133
|
decodedPolicies,
|
|
134
134
|
context: {
|
|
135
135
|
...baseContext,
|
|
136
136
|
rpcUrl,
|
|
137
137
|
},
|
|
138
138
|
});
|
|
139
|
-
if (!
|
|
140
|
-
console.log('No
|
|
141
|
-
|
|
139
|
+
if (!vincentAbility.precheck) {
|
|
140
|
+
console.log('No ability precheck defined - returning baseContext policy evaluation results', {
|
|
141
|
+
rawAbilityParams,
|
|
142
142
|
delegatorPkpEthAddress,
|
|
143
143
|
rpcUrl,
|
|
144
144
|
});
|
|
145
|
-
if (!
|
|
146
|
-
return (0, resultCreators_2.
|
|
147
|
-
context:
|
|
145
|
+
if (!baseAbilityContext.policiesContext.allow) {
|
|
146
|
+
return (0, resultCreators_2.createAbilityPrecheckResponseFailureNoResult)({
|
|
147
|
+
context: baseAbilityContext,
|
|
148
148
|
});
|
|
149
149
|
}
|
|
150
|
-
return (0, resultCreators_2.
|
|
151
|
-
context:
|
|
150
|
+
return (0, resultCreators_2.createAbilityPrecheckResponseSuccessNoResult)({
|
|
151
|
+
context: baseAbilityContext,
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
|
-
console.log('Executing
|
|
155
|
-
const precheckResult = await
|
|
156
|
-
if ((0, typeGuards_1.
|
|
157
|
-
(0, typeGuards_1.
|
|
158
|
-
console.log('Detected runtime or schema validation error in
|
|
159
|
-
|
|
160
|
-
|
|
154
|
+
console.log('Executing ability precheck');
|
|
155
|
+
const precheckResult = await vincentAbility.precheck({ abilityParams: parsedParams }, baseAbilityContext);
|
|
156
|
+
if ((0, typeGuards_1.isAbilityResponseSchemaValidationFailure)(precheckResult) ||
|
|
157
|
+
(0, typeGuards_1.isAbilityResponseRuntimeFailure)(precheckResult)) {
|
|
158
|
+
console.log('Detected runtime or schema validation error in abilityPrecheckResult - returning as-is:', JSON.stringify({
|
|
159
|
+
isAbilityResponseRuntimeFailure: (0, typeGuards_1.isAbilityResponseRuntimeFailure)(precheckResult),
|
|
160
|
+
isAbilityResponseSchemaValidationFailure: (0, typeGuards_1.isAbilityResponseSchemaValidationFailure)(precheckResult),
|
|
161
161
|
precheckResult,
|
|
162
162
|
}, bigintReplacer));
|
|
163
163
|
// Runtime errors and schema validation errors will not have results; return them as-is.
|
|
@@ -166,26 +166,26 @@ function getVincentToolClient(params) {
|
|
|
166
166
|
console.log('precheckResult()', JSON.stringify(precheckResult, bigintReplacer));
|
|
167
167
|
return {
|
|
168
168
|
...precheckResult,
|
|
169
|
-
context:
|
|
169
|
+
context: baseAbilityContext,
|
|
170
170
|
};
|
|
171
171
|
},
|
|
172
|
-
async execute(
|
|
173
|
-
const parsedParams = (0, internal_1.validateOrFail)(
|
|
174
|
-
if ((0, typeGuards_1.
|
|
172
|
+
async execute(rawAbilityParams, context) {
|
|
173
|
+
const parsedParams = (0, internal_1.validateOrFail)(rawAbilityParams, vincentAbility.abilityParamsSchema, 'execute', 'input');
|
|
174
|
+
if ((0, typeGuards_1.isAbilityResponseFailure)(parsedParams)) {
|
|
175
175
|
return {
|
|
176
176
|
...parsedParams,
|
|
177
177
|
context,
|
|
178
178
|
};
|
|
179
179
|
}
|
|
180
180
|
const litNodeClient = await (0, getLitNodeClient_1.getLitNodeClientInstance)({ network });
|
|
181
|
-
const sessionSigs = await (0,
|
|
181
|
+
const sessionSigs = await (0, generateVincentAbilitySessionSigs_1.generateVincentAbilitySessionSigs)({ ethersSigner, litNodeClient });
|
|
182
182
|
const result = await litNodeClient.executeJs({
|
|
183
183
|
ipfsId: ipfsCid,
|
|
184
184
|
sessionSigs,
|
|
185
185
|
jsParams: {
|
|
186
|
-
|
|
186
|
+
abilityParams: parsedParams,
|
|
187
187
|
context,
|
|
188
|
-
|
|
188
|
+
vincentAbilityApiVersion,
|
|
189
189
|
},
|
|
190
190
|
});
|
|
191
191
|
const { success, response } = result;
|
|
@@ -194,8 +194,8 @@ function getVincentToolClient(params) {
|
|
|
194
194
|
success,
|
|
195
195
|
});
|
|
196
196
|
if (success !== true) {
|
|
197
|
-
return (0, resultCreators_1.
|
|
198
|
-
runtimeError: `Remote
|
|
197
|
+
return (0, resultCreators_1.createAbilityExecuteResponseFailureNoResult)({
|
|
198
|
+
runtimeError: `Remote ability failed with unknown error: ${JSON.stringify(response, bigintReplacer, 2)}`,
|
|
199
199
|
});
|
|
200
200
|
}
|
|
201
201
|
let parsedResult = response;
|
|
@@ -206,80 +206,80 @@ function getVincentToolClient(params) {
|
|
|
206
206
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
207
207
|
}
|
|
208
208
|
catch (e) {
|
|
209
|
-
return (0, resultCreators_1.
|
|
210
|
-
runtimeError: `Remote
|
|
209
|
+
return (0, resultCreators_1.createAbilityExecuteResponseFailureNoResult)({
|
|
210
|
+
runtimeError: `Remote ability failed with unknown error: ${JSON.stringify(response, bigintReplacer)}`,
|
|
211
211
|
});
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
|
-
if (!(0, typeGuards_1.
|
|
215
|
-
console.log('Result from `executeJs` was valid JSON, but not a
|
|
216
|
-
return (0, resultCreators_1.
|
|
217
|
-
runtimeError: `Remote
|
|
214
|
+
if (!(0, typeGuards_1.isRemoteVincentAbilityExecutionResult)(parsedResult)) {
|
|
215
|
+
console.log('Result from `executeJs` was valid JSON, but not a vincentAbilityExecutionResult', { parsedResult, success });
|
|
216
|
+
return (0, resultCreators_1.createAbilityExecuteResponseFailureNoResult)({
|
|
217
|
+
runtimeError: `Remote ability failed with unknown error: ${JSON.stringify(parsedResult, bigintReplacer)}`,
|
|
218
218
|
});
|
|
219
219
|
}
|
|
220
|
-
const
|
|
221
|
-
console.log('Parsed executeJs
|
|
222
|
-
const {
|
|
223
|
-
if ((0, typeGuards_1.
|
|
224
|
-
(0, typeGuards_1.
|
|
225
|
-
console.log('Detected runtime or schema validation error in
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
220
|
+
const remoteVincentAbilityResult = parsedResult;
|
|
221
|
+
console.log('Parsed executeJs vincentAbilityExecutionResult:', JSON.stringify(parsedResult, bigintReplacer));
|
|
222
|
+
const { abilityContext, abilityExecutionResult } = remoteVincentAbilityResult;
|
|
223
|
+
if ((0, typeGuards_1.isAbilityResponseSchemaValidationFailure)(abilityExecutionResult) ||
|
|
224
|
+
(0, typeGuards_1.isAbilityResponseRuntimeFailure)(abilityExecutionResult)) {
|
|
225
|
+
console.log('Detected runtime or schema validation error in abilityExecutionResult - returning as-is:', JSON.stringify({
|
|
226
|
+
isAbilityResponseRuntimeFailure: (0, typeGuards_1.isAbilityResponseRuntimeFailure)(abilityExecutionResult),
|
|
227
|
+
isAbilityResponseSchemaValidationFailure: (0, typeGuards_1.isAbilityResponseSchemaValidationFailure)(abilityExecutionResult),
|
|
228
|
+
abilityExecutionResult,
|
|
229
229
|
}, bigintReplacer));
|
|
230
230
|
// Runtime errors and schema validation errors will not have results; return them as-is.
|
|
231
|
-
return (0, resultCreators_1.
|
|
232
|
-
...(
|
|
233
|
-
? { runtimeError:
|
|
231
|
+
return (0, resultCreators_1.createAbilityExecuteResponseFailureNoResult)({
|
|
232
|
+
...(abilityExecutionResult.runtimeError
|
|
233
|
+
? { runtimeError: abilityExecutionResult.runtimeError }
|
|
234
234
|
: {}),
|
|
235
|
-
...(
|
|
236
|
-
? { schemaValidationError:
|
|
235
|
+
...(abilityExecutionResult.schemaValidationError
|
|
236
|
+
? { schemaValidationError: abilityExecutionResult.schemaValidationError }
|
|
237
237
|
: {}),
|
|
238
|
-
context:
|
|
238
|
+
context: remoteVincentAbilityResult.abilityContext,
|
|
239
239
|
});
|
|
240
240
|
}
|
|
241
241
|
// Policy eval happens before `execute()` is ever called
|
|
242
|
-
// As a result, when policies return a `deny` result, there will be no
|
|
242
|
+
// As a result, when policies return a `deny` result, there will be no ability result
|
|
243
243
|
// so we need to skip trying to run result through the success/fail schema logic
|
|
244
|
-
if (!
|
|
245
|
-
return (0, resultCreators_1.
|
|
246
|
-
context:
|
|
244
|
+
if (!abilityContext.policiesContext.allow) {
|
|
245
|
+
return (0, resultCreators_1.createAbilityExecuteResponseFailureNoResult)({
|
|
246
|
+
context: abilityContext,
|
|
247
247
|
});
|
|
248
248
|
}
|
|
249
|
-
const resultSchemaDetails = (0, internal_1.
|
|
250
|
-
value:
|
|
249
|
+
const resultSchemaDetails = (0, internal_1.getSchemaForAbilityResult)({
|
|
250
|
+
value: abilityExecutionResult,
|
|
251
251
|
successResultSchema: executeSuccessSchema,
|
|
252
252
|
failureResultSchema: executeFailSchema,
|
|
253
253
|
});
|
|
254
254
|
const { schemaToUse, parsedType } = resultSchemaDetails;
|
|
255
|
-
console.log(`Parsing
|
|
255
|
+
console.log(`Parsing ability result using the ${parsedType} Zod schema`);
|
|
256
256
|
// Parse returned result using appropriate execute zod schema
|
|
257
|
-
const executeResult = (0, internal_1.validateOrFail)(
|
|
257
|
+
const executeResult = (0, internal_1.validateOrFail)(abilityExecutionResult.result, schemaToUse, 'execute', 'output');
|
|
258
258
|
console.log('Zod parse result:', executeResult);
|
|
259
|
-
if ((0, typeGuards_1.
|
|
259
|
+
if ((0, typeGuards_1.isAbilityResponseFailure)(executeResult)) {
|
|
260
260
|
// Parsing the result threw a zodError
|
|
261
261
|
return executeResult;
|
|
262
262
|
}
|
|
263
|
-
console.log('Raw
|
|
263
|
+
console.log('Raw abilityExecutionResult was:', abilityExecutionResult);
|
|
264
264
|
// We parsed the result -- it may be a success or a failure; return appropriately.
|
|
265
|
-
if ((0, typeGuards_1.
|
|
266
|
-
return (0, resultCreators_1.
|
|
267
|
-
...(
|
|
268
|
-
? { runtimeError:
|
|
265
|
+
if ((0, typeGuards_1.isAbilityResponseFailure)(abilityExecutionResult)) {
|
|
266
|
+
return (0, resultCreators_1.createAbilityExecuteResponseFailure)({
|
|
267
|
+
...(abilityExecutionResult.runtimeError
|
|
268
|
+
? { runtimeError: abilityExecutionResult.runtimeError }
|
|
269
269
|
: {}),
|
|
270
|
-
...(
|
|
271
|
-
? { schemaValidationError:
|
|
270
|
+
...(abilityExecutionResult.schemaValidationError
|
|
271
|
+
? { schemaValidationError: abilityExecutionResult.schemaValidationError }
|
|
272
272
|
: {}),
|
|
273
273
|
result: executeResult,
|
|
274
|
-
context:
|
|
274
|
+
context: remoteVincentAbilityResult.abilityContext,
|
|
275
275
|
});
|
|
276
276
|
}
|
|
277
277
|
const res = executeResult;
|
|
278
|
-
return (0, resultCreators_1.
|
|
278
|
+
return (0, resultCreators_1.createAbilityExecuteResponseSuccess)({
|
|
279
279
|
result: res,
|
|
280
|
-
context:
|
|
280
|
+
context: remoteVincentAbilityResult.abilityContext,
|
|
281
281
|
});
|
|
282
282
|
},
|
|
283
283
|
};
|
|
284
284
|
}
|
|
285
|
-
//# sourceMappingURL=
|
|
285
|
+
//# sourceMappingURL=vincentAbilityClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vincentAbilityClient.js","sourceRoot":"","sources":["../../../src/abilityClient/vincentAbilityClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,7 +105,16 @@ function getAuthenticateUserExpressHandler({ allowedAudience, requiredAppId, use
|
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
107
|
try {
|
|
108
|
-
const decodedJWT =
|
|
108
|
+
const decodedJWT = requiredAppId != null
|
|
109
|
+
? await (0, jwt_1.verifyVincentAppUserJWT)({
|
|
110
|
+
jwt: rawJWT,
|
|
111
|
+
expectedAudience: allowedAudience,
|
|
112
|
+
requiredAppId,
|
|
113
|
+
})
|
|
114
|
+
: await (0, jwt_1.verifyVincentPlatformJWT)({
|
|
115
|
+
jwt: rawJWT,
|
|
116
|
+
expectedAudience: allowedAudience,
|
|
117
|
+
});
|
|
109
118
|
if (!decodedJWT) {
|
|
110
119
|
res.status(401).json({ error: 'Invalid token' });
|
|
111
120
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.js","sourceRoot":"","sources":["../../../src/expressMiddleware/express.ts"],"names":[],"mappings":";;AA8EA,kEASC;AAnFD,
|
|
1
|
+
{"version":3,"file":"express.js","sourceRoot":"","sources":["../../../src/expressMiddleware/express.ts"],"names":[],"mappings":"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"}
|