@lit-protocol/vincent-app-sdk 0.0.4-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 +74 -0
- package/CONTRIBUTING.md +115 -0
- package/README.md +216 -0
- package/dist/CHANGELOG.md +74 -0
- package/dist/CONTRIBUTING.md +115 -0
- package/dist/README.md +216 -0
- package/dist/package.json +86 -0
- package/dist/src/expressMiddleware/express.d.ts +63 -0
- package/dist/src/expressMiddleware/express.d.ts.map +1 -0
- package/dist/src/expressMiddleware/express.js +125 -0
- package/dist/src/expressMiddleware/express.js.map +1 -0
- package/dist/src/expressMiddleware/index.d.ts +14 -0
- package/dist/src/expressMiddleware/index.d.ts.map +1 -0
- package/dist/src/expressMiddleware/index.js +17 -0
- package/dist/src/expressMiddleware/index.js.map +1 -0
- package/dist/src/expressMiddleware/types.d.ts +31 -0
- package/dist/src/expressMiddleware/types.d.ts.map +1 -0
- package/dist/src/expressMiddleware/types.js +3 -0
- package/dist/src/expressMiddleware/types.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/internal/LitNodeClient/LitNodeClientInstance.d.ts +14 -0
- package/dist/src/internal/LitNodeClient/LitNodeClientInstance.d.ts.map +1 -0
- package/dist/src/internal/LitNodeClient/LitNodeClientInstance.js +67 -0
- package/dist/src/internal/LitNodeClient/LitNodeClientInstance.js.map +1 -0
- package/dist/src/internal/LitNodeClient/getLitNodeClient.d.ts +7 -0
- package/dist/src/internal/LitNodeClient/getLitNodeClient.d.ts.map +1 -0
- package/dist/src/internal/LitNodeClient/getLitNodeClient.js +25 -0
- package/dist/src/internal/LitNodeClient/getLitNodeClient.js.map +1 -0
- package/dist/src/jwt/accessors.d.ts +8 -0
- package/dist/src/jwt/accessors.d.ts.map +1 -0
- package/dist/src/jwt/accessors.js +15 -0
- package/dist/src/jwt/accessors.js.map +1 -0
- package/dist/src/jwt/core/create.d.ts +24 -0
- package/dist/src/jwt/core/create.d.ts.map +1 -0
- package/dist/src/jwt/core/create.js +95 -0
- package/dist/src/jwt/core/create.js.map +1 -0
- package/dist/src/jwt/core/isExpired.d.ts +9 -0
- package/dist/src/jwt/core/isExpired.d.ts.map +1 -0
- package/dist/src/jwt/core/isExpired.js +20 -0
- package/dist/src/jwt/core/isExpired.js.map +1 -0
- package/dist/src/jwt/core/utils/base64.d.ts +14 -0
- package/dist/src/jwt/core/utils/base64.d.ts.map +1 -0
- package/dist/src/jwt/core/utils/base64.js +54 -0
- package/dist/src/jwt/core/utils/base64.js.map +1 -0
- package/dist/src/jwt/core/utils/definedObject.d.ts +2 -0
- package/dist/src/jwt/core/utils/definedObject.d.ts.map +1 -0
- package/dist/src/jwt/core/utils/definedObject.js +7 -0
- package/dist/src/jwt/core/utils/definedObject.js.map +1 -0
- package/dist/src/jwt/core/utils/index.d.ts +5 -0
- package/dist/src/jwt/core/utils/index.d.ts.map +1 -0
- package/dist/src/jwt/core/utils/index.js +12 -0
- package/dist/src/jwt/core/utils/index.js.map +1 -0
- package/dist/src/jwt/core/utils/processJWTSignature.d.ts +8 -0
- package/dist/src/jwt/core/utils/processJWTSignature.d.ts.map +1 -0
- package/dist/src/jwt/core/utils/processJWTSignature.js +14 -0
- package/dist/src/jwt/core/utils/processJWTSignature.js.map +1 -0
- package/dist/src/jwt/core/utils/splitJWT.d.ts +11 -0
- package/dist/src/jwt/core/utils/splitJWT.d.ts.map +1 -0
- package/dist/src/jwt/core/utils/splitJWT.js +21 -0
- package/dist/src/jwt/core/utils/splitJWT.js.map +1 -0
- package/dist/src/jwt/core/utils/validateJWTTime.d.ts +12 -0
- package/dist/src/jwt/core/utils/validateJWTTime.d.ts.map +1 -0
- package/dist/src/jwt/core/utils/validateJWTTime.js +24 -0
- package/dist/src/jwt/core/utils/validateJWTTime.js.map +1 -0
- package/dist/src/jwt/core/validate.d.ts +29 -0
- package/dist/src/jwt/core/validate.d.ts.map +1 -0
- package/dist/src/jwt/core/validate.js +143 -0
- package/dist/src/jwt/core/validate.js.map +1 -0
- package/dist/src/jwt/index.d.ts +21 -0
- package/dist/src/jwt/index.d.ts.map +1 -0
- package/dist/src/jwt/index.js +32 -0
- package/dist/src/jwt/index.js.map +1 -0
- package/dist/src/jwt/typeGuards.d.ts +14 -0
- package/dist/src/jwt/typeGuards.d.ts.map +1 -0
- package/dist/src/jwt/typeGuards.js +32 -0
- package/dist/src/jwt/typeGuards.js.map +1 -0
- package/dist/src/jwt/types.d.ts +82 -0
- package/dist/src/jwt/types.d.ts.map +1 -0
- package/dist/src/jwt/types.js +3 -0
- package/dist/src/jwt/types.js.map +1 -0
- package/dist/src/toolClient/constants.d.ts +2 -0
- package/dist/src/toolClient/constants.d.ts.map +1 -0
- package/dist/src/toolClient/constants.js +5 -0
- package/dist/src/toolClient/constants.js.map +1 -0
- package/dist/src/toolClient/execute/generateVincentToolSessionSigs.d.ts +8 -0
- package/dist/src/toolClient/execute/generateVincentToolSessionSigs.d.ts.map +1 -0
- package/dist/src/toolClient/execute/generateVincentToolSessionSigs.js +33 -0
- package/dist/src/toolClient/execute/generateVincentToolSessionSigs.js.map +1 -0
- package/dist/src/toolClient/execute/resultCreators.d.ts +71 -0
- package/dist/src/toolClient/execute/resultCreators.d.ts.map +1 -0
- package/dist/src/toolClient/execute/resultCreators.js +57 -0
- package/dist/src/toolClient/execute/resultCreators.js.map +1 -0
- package/dist/src/toolClient/execute/types.d.ts +38 -0
- package/dist/src/toolClient/execute/types.d.ts.map +1 -0
- package/dist/src/toolClient/execute/types.js +4 -0
- package/dist/src/toolClient/execute/types.js.map +1 -0
- package/dist/src/toolClient/index.d.ts +19 -0
- package/dist/src/toolClient/index.d.ts.map +1 -0
- package/dist/src/toolClient/index.js +26 -0
- package/dist/src/toolClient/index.js.map +1 -0
- package/dist/src/toolClient/precheck/resultCreators.d.ts +71 -0
- package/dist/src/toolClient/precheck/resultCreators.d.ts.map +1 -0
- package/dist/src/toolClient/precheck/resultCreators.js +57 -0
- package/dist/src/toolClient/precheck/resultCreators.js.map +1 -0
- package/dist/src/toolClient/precheck/runPolicyPrechecks.d.ts +14 -0
- package/dist/src/toolClient/precheck/runPolicyPrechecks.d.ts.map +1 -0
- package/dist/src/toolClient/precheck/runPolicyPrechecks.js +98 -0
- package/dist/src/toolClient/precheck/runPolicyPrechecks.js.map +1 -0
- package/dist/src/toolClient/precheck/types.d.ts +82 -0
- package/dist/src/toolClient/precheck/types.d.ts.map +1 -0
- package/dist/src/toolClient/precheck/types.js +4 -0
- package/dist/src/toolClient/precheck/types.js.map +1 -0
- package/dist/src/toolClient/typeGuards.d.ts +28 -0
- package/dist/src/toolClient/typeGuards.d.ts.map +1 -0
- package/dist/src/toolClient/typeGuards.js +67 -0
- package/dist/src/toolClient/typeGuards.js.map +1 -0
- package/dist/src/toolClient/types.d.ts +50 -0
- package/dist/src/toolClient/types.d.ts.map +1 -0
- package/dist/src/toolClient/types.js +4 -0
- package/dist/src/toolClient/types.js.map +1 -0
- package/dist/src/toolClient/vincentToolClient.d.ts +76 -0
- package/dist/src/toolClient/vincentToolClient.d.ts.map +1 -0
- package/dist/src/toolClient/vincentToolClient.js +285 -0
- package/dist/src/toolClient/vincentToolClient.js.map +1 -0
- package/dist/src/type-inference-verification/tool-client-inference.d.ts +3 -0
- package/dist/src/type-inference-verification/tool-client-inference.d.ts.map +1 -0
- package/dist/src/type-inference-verification/tool-client-inference.js +220 -0
- package/dist/src/type-inference-verification/tool-client-inference.js.map +1 -0
- package/dist/src/utils/delegation.d.ts +7 -0
- package/dist/src/utils/delegation.d.ts.map +1 -0
- package/dist/src/utils/delegation.js +18 -0
- package/dist/src/utils/delegation.js.map +1 -0
- package/dist/src/utils/index.d.ts +3 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +6 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/typedocRoot.d.ts +7 -0
- package/dist/src/utils/typedocRoot.d.ts.map +1 -0
- package/dist/src/utils/typedocRoot.js +13 -0
- package/dist/src/utils/typedocRoot.js.map +1 -0
- package/dist/src/utils/types.d.ts +15 -0
- package/dist/src/utils/types.d.ts.map +1 -0
- package/dist/src/utils/types.js +3 -0
- package/dist/src/utils/types.js.map +1 -0
- package/dist/src/webAuthClient/app.d.ts +7 -0
- package/dist/src/webAuthClient/app.d.ts.map +1 -0
- package/dist/src/webAuthClient/app.js +39 -0
- package/dist/src/webAuthClient/app.js.map +1 -0
- package/dist/src/webAuthClient/constants.d.ts +3 -0
- package/dist/src/webAuthClient/constants.d.ts.map +1 -0
- package/dist/src/webAuthClient/constants.js +6 -0
- package/dist/src/webAuthClient/constants.js.map +1 -0
- package/dist/src/webAuthClient/index.d.ts +13 -0
- package/dist/src/webAuthClient/index.d.ts.map +1 -0
- package/dist/src/webAuthClient/index.js +15 -0
- package/dist/src/webAuthClient/index.js.map +1 -0
- package/dist/src/webAuthClient/internal/index.d.ts +3 -0
- package/dist/src/webAuthClient/internal/index.d.ts.map +1 -0
- package/dist/src/webAuthClient/internal/index.js +7 -0
- package/dist/src/webAuthClient/internal/index.js.map +1 -0
- package/dist/src/webAuthClient/internal/uriHelpers.d.ts +15 -0
- package/dist/src/webAuthClient/internal/uriHelpers.d.ts.map +1 -0
- package/dist/src/webAuthClient/internal/uriHelpers.js +38 -0
- package/dist/src/webAuthClient/internal/uriHelpers.js.map +1 -0
- package/dist/src/webAuthClient/types.d.ts +109 -0
- package/dist/src/webAuthClient/types.d.ts.map +1 -0
- package/dist/src/webAuthClient/types.js +3 -0
- package/dist/src/webAuthClient/types.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** The VincentToolClient is used to handle all interactions with VincentTools -- both local execution of its precheck()
|
|
2
|
+
* method and the execution of its `execute()` method via the LIT Action runtime. The VincentToolClient also handles calling policy
|
|
3
|
+
* precheck methods when they are defined, and returns all policy precheck results along with the tool precheck result.
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
export { isToolResponseSuccess, isToolResponseRuntimeFailure, isToolResponseSchemaValidationFailure, isToolResponseFailure, } from './typeGuards';
|
|
8
|
+
import { disconnectLitNodeClientInstance } from '../internal/LitNodeClient/getLitNodeClient';
|
|
9
|
+
/** This method closes any registered event listeners maintained by Vincent Tool Clients, allowing your process to exit gracefully.
|
|
10
|
+
* @category API
|
|
11
|
+
*/
|
|
12
|
+
declare const disconnectVincentToolClients: typeof disconnectLitNodeClientInstance;
|
|
13
|
+
export { disconnectVincentToolClients };
|
|
14
|
+
export { getVincentToolClient } from './vincentToolClient';
|
|
15
|
+
export type { VincentToolClient, ToolClientContext, BaseToolContext } from './types';
|
|
16
|
+
export { generateVincentToolSessionSigs } from './execute/generateVincentToolSessionSigs';
|
|
17
|
+
export type { ToolExecuteResponse, ToolExecuteResponseFailureNoResult, ToolExecuteResponseFailure, ToolExecuteResponseSuccessNoResult, ToolExecuteResponseSuccess, } from './execute/types';
|
|
18
|
+
export type { ToolPrecheckResponse, ToolPrecheckResponseFailureNoResult, ToolPrecheckResponseFailure, ToolPrecheckResponseSuccessNoResult, ToolPrecheckResponseSuccess, } from './precheck/types';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/toolClient/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,qCAAqC,EACrC,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAE7F;;GAEG;AACH,QAAA,MAAM,4BAA4B,wCAAkC,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAErF,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,YAAY,EACV,mBAAmB,EACnB,kCAAkC,EAClC,0BAA0B,EAC1B,kCAAkC,EAClC,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,oBAAoB,EACpB,mCAAmC,EACnC,2BAA2B,EAC3B,mCAAmC,EACnC,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** The VincentToolClient is used to handle all interactions with VincentTools -- both local execution of its precheck()
|
|
3
|
+
* method and the execution of its `execute()` method via the LIT Action runtime. The VincentToolClient also handles calling policy
|
|
4
|
+
* precheck methods when they are defined, and returns all policy precheck results along with the tool precheck result.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.generateVincentToolSessionSigs = exports.getVincentToolClient = exports.disconnectVincentToolClients = exports.isToolResponseFailure = exports.isToolResponseSchemaValidationFailure = exports.isToolResponseRuntimeFailure = exports.isToolResponseSuccess = void 0;
|
|
10
|
+
// src/lib/toolClient/index.ts
|
|
11
|
+
var typeGuards_1 = require("./typeGuards");
|
|
12
|
+
Object.defineProperty(exports, "isToolResponseSuccess", { enumerable: true, get: function () { return typeGuards_1.isToolResponseSuccess; } });
|
|
13
|
+
Object.defineProperty(exports, "isToolResponseRuntimeFailure", { enumerable: true, get: function () { return typeGuards_1.isToolResponseRuntimeFailure; } });
|
|
14
|
+
Object.defineProperty(exports, "isToolResponseSchemaValidationFailure", { enumerable: true, get: function () { return typeGuards_1.isToolResponseSchemaValidationFailure; } });
|
|
15
|
+
Object.defineProperty(exports, "isToolResponseFailure", { enumerable: true, get: function () { return typeGuards_1.isToolResponseFailure; } });
|
|
16
|
+
const getLitNodeClient_1 = require("../internal/LitNodeClient/getLitNodeClient");
|
|
17
|
+
/** This method closes any registered event listeners maintained by Vincent Tool Clients, allowing your process to exit gracefully.
|
|
18
|
+
* @category API
|
|
19
|
+
*/
|
|
20
|
+
const disconnectVincentToolClients = getLitNodeClient_1.disconnectLitNodeClientInstance;
|
|
21
|
+
exports.disconnectVincentToolClients = disconnectVincentToolClients;
|
|
22
|
+
var vincentToolClient_1 = require("./vincentToolClient");
|
|
23
|
+
Object.defineProperty(exports, "getVincentToolClient", { enumerable: true, get: function () { return vincentToolClient_1.getVincentToolClient; } });
|
|
24
|
+
var generateVincentToolSessionSigs_1 = require("./execute/generateVincentToolSessionSigs");
|
|
25
|
+
Object.defineProperty(exports, "generateVincentToolSessionSigs", { enumerable: true, get: function () { return generateVincentToolSessionSigs_1.generateVincentToolSessionSigs; } });
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/toolClient/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,8BAA8B;AAE9B,2CAKsB;AAJpB,mHAAA,qBAAqB,OAAA;AACrB,0HAAA,4BAA4B,OAAA;AAC5B,mIAAA,qCAAqC,OAAA;AACrC,mHAAA,qBAAqB,OAAA;AAGvB,iFAA6F;AAE7F;;GAEG;AACH,MAAM,4BAA4B,GAAG,kDAA+B,CAAC;AAC5D,oEAA4B;AAErC,yDAA2D;AAAlD,yHAAA,oBAAoB,OAAA;AAG7B,2FAA0F;AAAjF,gJAAA,8BAA8B,OAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { BaseToolContext, SchemaValidationError } from '@lit-protocol/vincent-tool-sdk';
|
|
3
|
+
import type { ToolPrecheckResponseFailure, ToolPrecheckResponseFailureNoResult, ToolPrecheckResponseSuccess, ToolPrecheckResponseSuccessNoResult, PolicyPrecheckResultContext } from './types';
|
|
4
|
+
export declare function createAllowPrecheckResult<PoliciesByPackageName extends Record<string, any>>(evaluatedPolicies: Array<keyof PoliciesByPackageName>, allowedPolicies: {
|
|
5
|
+
[K in keyof PoliciesByPackageName]?: {
|
|
6
|
+
result: PoliciesByPackageName[K]['__schemaTypes'] extends {
|
|
7
|
+
precheckAllowResultSchema: infer Schema;
|
|
8
|
+
} ? Schema extends z.ZodType ? z.infer<Schema> : never : never;
|
|
9
|
+
};
|
|
10
|
+
}): {
|
|
11
|
+
allow: true;
|
|
12
|
+
evaluatedPolicies: Array<keyof PoliciesByPackageName>;
|
|
13
|
+
allowedPolicies: {
|
|
14
|
+
[K in keyof PoliciesByPackageName]?: {
|
|
15
|
+
result: PoliciesByPackageName[K]['__schemaTypes'] extends {
|
|
16
|
+
precheckAllowResultSchema: infer Schema;
|
|
17
|
+
} ? Schema extends z.ZodType ? z.infer<Schema> : never : never;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export declare function createDenyPrecheckResult<PoliciesByPackageName extends Record<string, any>>(evaluatedPolicies: Array<keyof PoliciesByPackageName>, allowedPolicies: {
|
|
22
|
+
[K in keyof PoliciesByPackageName]?: {
|
|
23
|
+
result: PoliciesByPackageName[K]['__schemaTypes'] extends {
|
|
24
|
+
precheckAllowResultSchema: infer Schema;
|
|
25
|
+
} ? Schema extends z.ZodType ? z.infer<Schema> : never : never;
|
|
26
|
+
};
|
|
27
|
+
}, deniedPolicy: {
|
|
28
|
+
packageName: keyof PoliciesByPackageName;
|
|
29
|
+
runtimeError?: string;
|
|
30
|
+
schemaValidationError?: SchemaValidationError;
|
|
31
|
+
result: (PoliciesByPackageName[keyof PoliciesByPackageName]['__schemaTypes'] extends {
|
|
32
|
+
precheckDenyResultSchema: infer Schema;
|
|
33
|
+
} ? Schema extends z.ZodType ? z.infer<Schema> : undefined : undefined) | undefined;
|
|
34
|
+
}): {
|
|
35
|
+
allow: false;
|
|
36
|
+
evaluatedPolicies: Array<keyof PoliciesByPackageName>;
|
|
37
|
+
allowedPolicies: {
|
|
38
|
+
[K in keyof PoliciesByPackageName]?: {
|
|
39
|
+
result: PoliciesByPackageName[K]['__schemaTypes'] extends {
|
|
40
|
+
precheckAllowResultSchema: infer Schema;
|
|
41
|
+
} ? Schema extends z.ZodType ? z.infer<Schema> : never : never;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
deniedPolicy: {
|
|
45
|
+
packageName: keyof PoliciesByPackageName;
|
|
46
|
+
runtimeError?: string;
|
|
47
|
+
schemaValidationError?: SchemaValidationError;
|
|
48
|
+
result: (PoliciesByPackageName[keyof PoliciesByPackageName]['__schemaTypes'] extends {
|
|
49
|
+
precheckDenyResultSchema: infer Schema;
|
|
50
|
+
} ? Schema extends z.ZodType ? z.infer<Schema> : undefined : undefined) | undefined;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
export declare function createToolPrecheckResponseSuccess<Success, Policies extends Record<any, any>>(params: {
|
|
54
|
+
result: Success;
|
|
55
|
+
context?: BaseToolContext<PolicyPrecheckResultContext<Policies>>;
|
|
56
|
+
}): ToolPrecheckResponseSuccess<Success, Policies>;
|
|
57
|
+
export declare function createToolPrecheckResponseSuccessNoResult<Policies extends Record<any, any>>(params?: {
|
|
58
|
+
context?: BaseToolContext<PolicyPrecheckResultContext<Policies>>;
|
|
59
|
+
}): ToolPrecheckResponseSuccessNoResult<Policies>;
|
|
60
|
+
export declare function createToolPrecheckResponseFailure<Fail, Policies extends Record<any, any>>(params: {
|
|
61
|
+
runtimeError?: string;
|
|
62
|
+
schemaValidationError?: SchemaValidationError;
|
|
63
|
+
result: Fail;
|
|
64
|
+
context?: BaseToolContext<PolicyPrecheckResultContext<Policies>>;
|
|
65
|
+
}): ToolPrecheckResponseFailure<Fail, Policies>;
|
|
66
|
+
export declare function createToolPrecheckResponseFailureNoResult<Policies extends Record<any, any>>(params: {
|
|
67
|
+
runtimeError?: string;
|
|
68
|
+
schemaValidationError?: SchemaValidationError;
|
|
69
|
+
context?: BaseToolContext<PolicyPrecheckResultContext<Policies>>;
|
|
70
|
+
}): ToolPrecheckResponseFailureNoResult<Policies>;
|
|
71
|
+
//# sourceMappingURL=resultCreators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultCreators.d.ts","sourceRoot":"","sources":["../../../../src/toolClient/precheck/resultCreators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/toolClient/precheck/resultCreators.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createAllowPrecheckResult = createAllowPrecheckResult;
|
|
5
|
+
exports.createDenyPrecheckResult = createDenyPrecheckResult;
|
|
6
|
+
exports.createToolPrecheckResponseSuccess = createToolPrecheckResponseSuccess;
|
|
7
|
+
exports.createToolPrecheckResponseSuccessNoResult = createToolPrecheckResponseSuccessNoResult;
|
|
8
|
+
exports.createToolPrecheckResponseFailure = createToolPrecheckResponseFailure;
|
|
9
|
+
exports.createToolPrecheckResponseFailureNoResult = createToolPrecheckResponseFailureNoResult;
|
|
10
|
+
function createAllowPrecheckResult(evaluatedPolicies, allowedPolicies) {
|
|
11
|
+
return {
|
|
12
|
+
allow: true,
|
|
13
|
+
evaluatedPolicies,
|
|
14
|
+
allowedPolicies,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function createDenyPrecheckResult(evaluatedPolicies, allowedPolicies, deniedPolicy) {
|
|
18
|
+
return {
|
|
19
|
+
allow: false,
|
|
20
|
+
evaluatedPolicies,
|
|
21
|
+
allowedPolicies,
|
|
22
|
+
deniedPolicy,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function createToolPrecheckResponseSuccess(params) {
|
|
26
|
+
return {
|
|
27
|
+
success: true,
|
|
28
|
+
result: params.result,
|
|
29
|
+
context: params.context,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function createToolPrecheckResponseSuccessNoResult(params) {
|
|
33
|
+
return {
|
|
34
|
+
success: true,
|
|
35
|
+
result: undefined,
|
|
36
|
+
context: params === null || params === void 0 ? void 0 : params.context,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function createToolPrecheckResponseFailure(params) {
|
|
40
|
+
return {
|
|
41
|
+
success: false,
|
|
42
|
+
schemaValidationError: params.schemaValidationError,
|
|
43
|
+
runtimeError: params.runtimeError,
|
|
44
|
+
result: params.result,
|
|
45
|
+
context: params.context,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function createToolPrecheckResponseFailureNoResult(params) {
|
|
49
|
+
return {
|
|
50
|
+
success: false,
|
|
51
|
+
runtimeError: params.runtimeError,
|
|
52
|
+
schemaValidationError: params.schemaValidationError,
|
|
53
|
+
result: undefined,
|
|
54
|
+
context: params.context,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=resultCreators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultCreators.js","sourceRoot":"","sources":["../../../../src/toolClient/precheck/resultCreators.ts"],"names":[],"mappings":";AAAA,gDAAgD;;AAchD,8DAiCC;AAED,4DA+DC;AAED,8EAYC;AAED,8FAUC;AAED,8EAaC;AAED,8FAcC;AA3JD,SAAgB,yBAAyB,CACvC,iBAAqD,EACrD,eAUC;IAgBD,OAAO;QACL,KAAK,EAAE,IAAI;QACX,iBAAiB;QACjB,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CACtC,iBAAqD,EACrD,eAUC,EACD,YAaC;IA+BD,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,iBAAiB;QACjB,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAgB,iCAAiC,CAG/C,MAGD;IACC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,SAAgB,yCAAyC,CAEvD,MAED;IACC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;KACzB,CAAC;AACJ,CAAC;AAED,SAAgB,iCAAiC,CAA0C,MAK1F;IACC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,SAAgB,yCAAyC,CAEvD,MAID;IACC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ToolPolicyParameterData } from '@lit-protocol/vincent-contracts-sdk';
|
|
3
|
+
import type { BaseContext, BaseToolContext, BundledVincentTool, VincentTool } from '@lit-protocol/vincent-tool-sdk';
|
|
4
|
+
import type { ToolPolicyMap } from '@lit-protocol/vincent-tool-sdk/internal';
|
|
5
|
+
import type { PolicyPrecheckResultContext } from './types';
|
|
6
|
+
export declare function runToolPolicyPrechecks<const IpfsCid extends string, ToolParamsSchema extends z.ZodType, PkgNames extends string, PolicyMap extends ToolPolicyMap<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: {
|
|
7
|
+
bundledVincentTool: BundledVincentTool<VincentTool<ToolParamsSchema, PkgNames, PolicyMap, PoliciesByPackageName, ExecuteSuccessSchema, ExecuteFailSchema, PrecheckSuccessSchema, PrecheckFailSchema, any, any>, IpfsCid>;
|
|
8
|
+
toolParams: z.infer<ToolParamsSchema>;
|
|
9
|
+
context: BaseContext & {
|
|
10
|
+
rpcUrl?: string;
|
|
11
|
+
};
|
|
12
|
+
decodedPolicies: ToolPolicyParameterData;
|
|
13
|
+
}): Promise<BaseToolContext<PolicyPrecheckResultContext<PoliciesByPackageName>>>;
|
|
14
|
+
//# sourceMappingURL=runPolicyPrechecks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runPolicyPrechecks.d.ts","sourceRoot":"","sources":["../../../../src/toolClient/precheck/runPolicyPrechecks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,WAAW,EAEZ,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAU7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAQ3D,wBAAsB,sBAAsB,CAC1C,KAAK,CAAC,OAAO,SAAS,MAAM,EAC5B,gBAAgB,SAAS,CAAC,CAAC,OAAO,EAClC,QAAQ,SAAS,MAAM,EACvB,SAAS,SAAS,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAC9C,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,kBAAkB,EAAE,kBAAkB,CACpC,WAAW,CACT,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,GAAG,EACH,GAAG,CACJ,EACD,OAAO,CACR,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACtC,OAAO,EAAE,WAAW,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,eAAe,EAAE,uBAAuB,CAAC;CAC1C,GAAG,OAAO,CAAC,eAAe,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAmL/E"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/toolClient/precheck/runPolicyPrechecks.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.runToolPolicyPrechecks = runToolPolicyPrechecks;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const internal_1 = require("@lit-protocol/vincent-tool-sdk/internal");
|
|
7
|
+
const resultCreators_1 = require("./resultCreators");
|
|
8
|
+
const bigintReplacer = (key, value) => {
|
|
9
|
+
return typeof value === 'bigint' ? value.toString() : value;
|
|
10
|
+
};
|
|
11
|
+
async function runToolPolicyPrechecks(params) {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const { bundledVincentTool: { vincentTool, ipfsCid }, toolParams, context, decodedPolicies, } = params;
|
|
14
|
+
console.log('Executing runToolPolicyPrechecks()', Object.keys(params.bundledVincentTool.vincentTool.supportedPolicies.policyByPackageName));
|
|
15
|
+
const validatedPolicies = await (0, internal_1.validatePolicies)({
|
|
16
|
+
decodedPolicies,
|
|
17
|
+
vincentTool,
|
|
18
|
+
toolIpfsCid: ipfsCid,
|
|
19
|
+
parsedToolParams: toolParams,
|
|
20
|
+
});
|
|
21
|
+
const decodedPoliciesByPackageName = {};
|
|
22
|
+
for (const { policyPackageName, parameters } of validatedPolicies) {
|
|
23
|
+
decodedPoliciesByPackageName[policyPackageName] = parameters;
|
|
24
|
+
}
|
|
25
|
+
const evaluatedPolicies = [];
|
|
26
|
+
const allowedPolicies = {};
|
|
27
|
+
let deniedPolicy = undefined;
|
|
28
|
+
const policyByName = vincentTool.supportedPolicies.policyByPackageName;
|
|
29
|
+
for (const { policyPackageName, toolPolicyParams } of validatedPolicies) {
|
|
30
|
+
const key = policyPackageName;
|
|
31
|
+
const toolPolicy = policyByName[key];
|
|
32
|
+
evaluatedPolicies.push(key);
|
|
33
|
+
const vincentPolicy = toolPolicy.vincentPolicy;
|
|
34
|
+
if (!vincentPolicy.precheck) {
|
|
35
|
+
console.log('No precheck() defined policy', key, 'skipping...');
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
console.log('Executing precheck() for policy', key);
|
|
40
|
+
const result = await vincentPolicy.precheck({
|
|
41
|
+
toolParams: toolPolicyParams,
|
|
42
|
+
userParams: decodedPoliciesByPackageName[key],
|
|
43
|
+
}, context);
|
|
44
|
+
console.log('vincentPolicy.precheck() result', JSON.stringify(result, bigintReplacer, 2));
|
|
45
|
+
// precheck() might have thrown a runtimeError or failed to parse the input
|
|
46
|
+
if (((0, internal_1.isPolicyDenyResponse)(result) && result.runtimeError) || result.schemaValidationError) {
|
|
47
|
+
deniedPolicy = {
|
|
48
|
+
result: undefined,
|
|
49
|
+
runtimeError: result.runtimeError,
|
|
50
|
+
schemaValidationError: result.schemaValidationError,
|
|
51
|
+
packageName: key,
|
|
52
|
+
};
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
const { schemaToUse } = (0, internal_1.getSchemaForPolicyResponseResult)({
|
|
56
|
+
value: result,
|
|
57
|
+
allowResultSchema: (_a = vincentPolicy.precheckAllowResultSchema) !== null && _a !== void 0 ? _a : zod_1.z.undefined(),
|
|
58
|
+
denyResultSchema: (_b = vincentPolicy.precheckDenyResultSchema) !== null && _b !== void 0 ? _b : zod_1.z.undefined(),
|
|
59
|
+
});
|
|
60
|
+
const validated = (0, internal_1.validateOrDeny)(result.result, schemaToUse, 'precheck', 'output');
|
|
61
|
+
if ((0, internal_1.isPolicyDenyResponse)(result)) {
|
|
62
|
+
// Return value from precheck was invalid in this case
|
|
63
|
+
deniedPolicy = {
|
|
64
|
+
runtimeError: result.runtimeError,
|
|
65
|
+
schemaValidationError: result.schemaValidationError,
|
|
66
|
+
result: validated,
|
|
67
|
+
packageName: key,
|
|
68
|
+
};
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
allowedPolicies[key] = {
|
|
72
|
+
result: validated,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
deniedPolicy = {
|
|
77
|
+
packageName: key,
|
|
78
|
+
...(0, internal_1.createDenyResult)({
|
|
79
|
+
runtimeError: err instanceof Error ? err.message : 'Unknown error in precheck()',
|
|
80
|
+
}),
|
|
81
|
+
};
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (deniedPolicy) {
|
|
86
|
+
const policiesContext = (0, resultCreators_1.createDenyPrecheckResult)(evaluatedPolicies, allowedPolicies, deniedPolicy);
|
|
87
|
+
return {
|
|
88
|
+
...context,
|
|
89
|
+
policiesContext,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const policiesContext = (0, resultCreators_1.createAllowPrecheckResult)(evaluatedPolicies, allowedPolicies);
|
|
93
|
+
return {
|
|
94
|
+
...context,
|
|
95
|
+
policiesContext,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=runPolicyPrechecks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runPolicyPrechecks.js","sourceRoot":"","sources":["../../../../src/toolClient/precheck/runPolicyPrechecks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { BaseToolContext, SchemaValidationError } from '@lit-protocol/vincent-tool-sdk';
|
|
3
|
+
import type { VincentPolicy } from '@lit-protocol/vincent-tool-sdk/internal';
|
|
4
|
+
/** @category Interfaces */
|
|
5
|
+
export interface ToolPrecheckResponseSuccess<Result, Policies extends Record<string, any>> {
|
|
6
|
+
success: true;
|
|
7
|
+
result: Result;
|
|
8
|
+
context?: BaseToolContext<PolicyPrecheckResultContext<Policies>>;
|
|
9
|
+
}
|
|
10
|
+
/** @category Interfaces */
|
|
11
|
+
export interface ToolPrecheckResponseSuccessNoResult<Policies extends Record<string, any>> {
|
|
12
|
+
success: true;
|
|
13
|
+
result?: never;
|
|
14
|
+
context?: BaseToolContext<PolicyPrecheckResultContext<Policies>>;
|
|
15
|
+
}
|
|
16
|
+
/** @category Interfaces */
|
|
17
|
+
export interface ToolPrecheckResponseFailure<Result, Policies extends Record<string, any>> {
|
|
18
|
+
success: false;
|
|
19
|
+
runtimeError?: string;
|
|
20
|
+
schemaValidationError?: SchemaValidationError;
|
|
21
|
+
result: Result;
|
|
22
|
+
context?: BaseToolContext<PolicyPrecheckResultContext<Policies>>;
|
|
23
|
+
}
|
|
24
|
+
/** @category Interfaces */
|
|
25
|
+
export interface ToolPrecheckResponseFailureNoResult<Policies extends Record<string, any>> {
|
|
26
|
+
success: false;
|
|
27
|
+
runtimeError?: string;
|
|
28
|
+
schemaValidationError?: SchemaValidationError;
|
|
29
|
+
result?: never;
|
|
30
|
+
context?: BaseToolContext<PolicyPrecheckResultContext<Policies>>;
|
|
31
|
+
}
|
|
32
|
+
/** @category Interfaces */
|
|
33
|
+
export type ToolPrecheckResponse<SuccessSchema extends z.ZodType | undefined, FailSchema extends z.ZodType | undefined, Policies extends Record<string, any>> = (SuccessSchema extends z.ZodType ? ToolPrecheckResponseSuccess<z.infer<SuccessSchema>, Policies> : ToolPrecheckResponseSuccessNoResult<Policies>) | (FailSchema extends z.ZodType ? ToolPrecheckResponseFailure<z.infer<FailSchema>, Policies> : ToolPrecheckResponseFailureNoResult<Policies>);
|
|
34
|
+
export interface RemoteVincentToolExecutionResult<SuccessSchema extends z.ZodType | undefined, FailSchema extends z.ZodType | undefined, Policies extends Record<string, any>> {
|
|
35
|
+
toolExecutionResult: ToolPrecheckResponse<SuccessSchema, FailSchema, Policies>;
|
|
36
|
+
toolContext: BaseToolContext<PolicyPrecheckResultContext<Policies>>;
|
|
37
|
+
}
|
|
38
|
+
export type PolicyPrecheckResultContext<Policies extends Record<string, {
|
|
39
|
+
vincentPolicy: VincentPolicy<any, any, any, any, any, any, any, any, any, any>;
|
|
40
|
+
/** @hidden */
|
|
41
|
+
__schemaTypes?: {
|
|
42
|
+
policyToolParamsSchema: z.ZodType;
|
|
43
|
+
userParamsSchema?: z.ZodType;
|
|
44
|
+
evalAllowResultSchema?: z.ZodType;
|
|
45
|
+
evalDenyResultSchema?: z.ZodType;
|
|
46
|
+
commitParamsSchema?: z.ZodType;
|
|
47
|
+
commitAllowResultSchema?: z.ZodType;
|
|
48
|
+
commitDenyResultSchema?: z.ZodType;
|
|
49
|
+
evaluate?: Function;
|
|
50
|
+
precheck?: Function;
|
|
51
|
+
commit?: Function;
|
|
52
|
+
};
|
|
53
|
+
}>> = {
|
|
54
|
+
evaluatedPolicies: Array<keyof Policies>;
|
|
55
|
+
} & ({
|
|
56
|
+
allow: true;
|
|
57
|
+
allowedPolicies: {
|
|
58
|
+
[PolicyKey in keyof Policies]?: {
|
|
59
|
+
result: Policies[PolicyKey]['__schemaTypes'] extends {
|
|
60
|
+
precheckAllowResultSchema: infer Schema;
|
|
61
|
+
} ? Schema extends z.ZodType ? z.infer<Schema> : never : never;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
deniedPolicy?: never;
|
|
65
|
+
} | {
|
|
66
|
+
allow: false;
|
|
67
|
+
deniedPolicy: {
|
|
68
|
+
runtimeError?: string;
|
|
69
|
+
packageName: keyof Policies;
|
|
70
|
+
result: (Policies[Extract<keyof Policies, string>]['__schemaTypes'] extends {
|
|
71
|
+
precheckDenyResultSchema: infer Schema;
|
|
72
|
+
} ? Schema extends z.ZodType ? z.infer<Schema> : undefined : undefined) | undefined;
|
|
73
|
+
};
|
|
74
|
+
allowedPolicies?: {
|
|
75
|
+
[PolicyKey in keyof Policies]?: {
|
|
76
|
+
result: Policies[PolicyKey]['__schemaTypes'] extends {
|
|
77
|
+
precheckAllowResultSchema: infer Schema;
|
|
78
|
+
} ? Schema extends z.ZodType ? z.infer<Schema> : never : never;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/toolClient/precheck/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/toolClient/precheck/types.ts"],"names":[],"mappings":";AAAA,uCAAuC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { RemoteVincentToolExecutionResult, ToolExecuteResponse, ToolExecuteResponseFailure, ToolExecuteResponseFailureNoResult, ToolExecuteResponseSuccess, ToolExecuteResponseSuccessNoResult } from './execute/types';
|
|
2
|
+
/** Type guard function that returns true only if the passed value is a successful tool response
|
|
3
|
+
* @category API
|
|
4
|
+
* */
|
|
5
|
+
export declare function isToolResponseSuccess(value: unknown): value is ToolExecuteResponseSuccess<any, Record<string, any>> | ToolExecuteResponseSuccessNoResult<Record<string, any>>;
|
|
6
|
+
/** Type guard function that returns true only if the passed value is a failure tool response
|
|
7
|
+
* @category API */
|
|
8
|
+
export declare function isToolResponseFailure(value: unknown): value is ToolExecuteResponseFailure<any, Record<string, any>> | ToolExecuteResponseFailureNoResult<Record<string, any>>;
|
|
9
|
+
/** Type guard function that returns true only if the passed value is a failure tool response that was a runtime error
|
|
10
|
+
* This could be caused by code `throw()`ing an error from inside tool or policy code, or by errors encountered in the
|
|
11
|
+
* Vincent SDK wrapping code that handles the execution of the tool/policies.
|
|
12
|
+
*
|
|
13
|
+
* This could also be the result of a schema validation error -- use {@link isToolResponseSchemaValidationFailure} to check
|
|
14
|
+
* to see if have a data validation error.
|
|
15
|
+
*
|
|
16
|
+
* @category API*/
|
|
17
|
+
export declare function isToolResponseRuntimeFailure(value: unknown): value is ToolExecuteResponseFailureNoResult<Record<string, any>>;
|
|
18
|
+
/** Type guard function that returns true only if the passed value is a failure tool response that was caused by
|
|
19
|
+
* a schema parsing failure. All data inputs and outputs to / from Vincent Tools and Policies is validated using ZOD schemas.
|
|
20
|
+
*
|
|
21
|
+
* If this returns true, you can parse the `schemaValidationError` property in the response - it is a ZodError object.
|
|
22
|
+
* @category API */
|
|
23
|
+
export declare function isToolResponseSchemaValidationFailure(value: unknown): value is ToolExecuteResponseFailureNoResult<Record<string, any>>;
|
|
24
|
+
/** @hidden */
|
|
25
|
+
export declare function isToolResponse(value: unknown): value is ToolExecuteResponse<any, any, Record<string, any>>;
|
|
26
|
+
/** @hidden */
|
|
27
|
+
export declare function isRemoteVincentToolExecutionResult(value: unknown): value is RemoteVincentToolExecutionResult<any, any, Record<any, any>>;
|
|
28
|
+
//# sourceMappingURL=typeGuards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["../../../src/toolClient/typeGuards.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gCAAgC,EAChC,mBAAmB,EACnB,0BAA0B,EAC1B,kCAAkC,EAClC,0BAA0B,EAC1B,kCAAkC,EACnC,MAAM,iBAAiB,CAAC;AAEzB;;KAEK;AACL,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IACJ,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACpD,kCAAkC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAO1D;AAED;oBACoB;AACpB,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IACJ,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACpD,kCAAkC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAO1D;AAED;;;;;;;mBAOmB;AACnB,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,kCAAkC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAIlE;AAED;;;;mBAImB;AACnB,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,kCAAkC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAKlE;AAED,cAAc;AACd,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAO7D;AAED,cAAc;AACd,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,gCAAgC,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAUvE"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/lib/toolClient/typeGuards.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.isToolResponseSuccess = isToolResponseSuccess;
|
|
5
|
+
exports.isToolResponseFailure = isToolResponseFailure;
|
|
6
|
+
exports.isToolResponseRuntimeFailure = isToolResponseRuntimeFailure;
|
|
7
|
+
exports.isToolResponseSchemaValidationFailure = isToolResponseSchemaValidationFailure;
|
|
8
|
+
exports.isToolResponse = isToolResponse;
|
|
9
|
+
exports.isRemoteVincentToolExecutionResult = isRemoteVincentToolExecutionResult;
|
|
10
|
+
/** Type guard function that returns true only if the passed value is a successful tool response
|
|
11
|
+
* @category API
|
|
12
|
+
* */
|
|
13
|
+
function isToolResponseSuccess(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 tool response
|
|
20
|
+
* @category API */
|
|
21
|
+
function isToolResponseFailure(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 tool response that was a runtime error
|
|
28
|
+
* This could be caused by code `throw()`ing an error from inside tool or policy code, or by errors encountered in the
|
|
29
|
+
* Vincent SDK wrapping code that handles the execution of the tool/policies.
|
|
30
|
+
*
|
|
31
|
+
* This could also be the result of a schema validation error -- use {@link isToolResponseSchemaValidationFailure} to check
|
|
32
|
+
* to see if have a data validation error.
|
|
33
|
+
*
|
|
34
|
+
* @category API*/
|
|
35
|
+
function isToolResponseRuntimeFailure(value) {
|
|
36
|
+
if (!isToolResponseFailure(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 tool response that was caused by
|
|
41
|
+
* a schema parsing failure. All data inputs and outputs to / from Vincent Tools 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 isToolResponseSchemaValidationFailure(value) {
|
|
46
|
+
if (!isToolResponseFailure(value))
|
|
47
|
+
return false;
|
|
48
|
+
return ('schemaValidationError' in value && typeof value.schemaValidationError === 'object');
|
|
49
|
+
}
|
|
50
|
+
/** @hidden */
|
|
51
|
+
function isToolResponse(value) {
|
|
52
|
+
return (typeof value === 'object' &&
|
|
53
|
+
value !== null &&
|
|
54
|
+
'success' in value &&
|
|
55
|
+
typeof value.success === 'boolean');
|
|
56
|
+
}
|
|
57
|
+
/** @hidden */
|
|
58
|
+
function isRemoteVincentToolExecutionResult(value) {
|
|
59
|
+
return (typeof value === 'object' &&
|
|
60
|
+
value !== null &&
|
|
61
|
+
'toolExecutionResult' in value &&
|
|
62
|
+
'toolContext' in value &&
|
|
63
|
+
isToolResponse(value.toolExecutionResult) &&
|
|
64
|
+
typeof value.toolContext === 'object' &&
|
|
65
|
+
value.toolContext !== null);
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=typeGuards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../../src/toolClient/typeGuards.ts"],"names":[],"mappings":";AAAA,mCAAmC;;AAcnC,sDAWC;AAID,sDAWC;AAUD,oEAMC;AAOD,sFAOC;AAGD,wCASC;AAGD,gFAYC;AAtFD;;KAEK;AACL,SAAgB,qBAAqB,CACnC,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,qBAAqB,CACnC,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,4BAA4B,CAC1C,KAAc;IAEd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhD,OAAO,cAAc,IAAI,KAAK,IAAI,OAAQ,KAAa,CAAC,YAAY,KAAK,QAAQ,CAAC;AACpF,CAAC;AAED;;;;mBAImB;AACnB,SAAgB,qCAAqC,CACnD,KAAc;IAEd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,CACL,uBAAuB,IAAI,KAAK,IAAI,OAAQ,KAAa,CAAC,qBAAqB,KAAK,QAAQ,CAC7F,CAAC;AACJ,CAAC;AAED,cAAc;AACd,SAAgB,cAAc,CAC5B,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,kCAAkC,CAChD,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,qBAAqB,IAAI,KAAK;QAC9B,aAAa,IAAI,KAAK;QACtB,cAAc,CAAE,KAAa,CAAC,mBAAmB,CAAC;QAClD,OAAQ,KAAa,CAAC,WAAW,KAAK,QAAQ;QAC7C,KAAa,CAAC,WAAW,KAAK,IAAI,CACpC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { BaseToolContext } from '@lit-protocol/vincent-tool-sdk';
|
|
3
|
+
import type { ToolExecuteResponse } from './execute/types';
|
|
4
|
+
import type { ToolPrecheckResponse } from './precheck/types';
|
|
5
|
+
export { type BaseToolContext };
|
|
6
|
+
/**
|
|
7
|
+
* The Vincent Tool Client is used to interact with Vincent tools.
|
|
8
|
+
*
|
|
9
|
+
* - Precheck tool parameters and policies
|
|
10
|
+
* - Execute tools remotely
|
|
11
|
+
*
|
|
12
|
+
* @typeParam ToolParamsSchema {@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 VincentToolClient<ToolParamsSchema 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 tool parameters and policies.
|
|
24
|
+
*
|
|
25
|
+
* This method validates the tool parameters and checks if the policies allow the tool to be executed.
|
|
26
|
+
*
|
|
27
|
+
* @param rawToolParams - The parameters to be passed to the tool
|
|
28
|
+
* @param context - The context for the tool execution, including the delegator PKP Ethereum address
|
|
29
|
+
* @returns A promise that resolves to a ToolResponse containing the precheck result
|
|
30
|
+
*/
|
|
31
|
+
precheck(rawToolParams: z.infer<ToolParamsSchema>, context: ToolClientContext & {
|
|
32
|
+
rpcUrl?: string;
|
|
33
|
+
}): Promise<ToolPrecheckResponse<PrecheckSuccessSchema, PrecheckFailSchema, PoliciesByPackageName>>;
|
|
34
|
+
/**
|
|
35
|
+
* Executes the tool with the given parameters.
|
|
36
|
+
*
|
|
37
|
+
* This method validates the tool parameters, executes the tool remotely, and returns the result.
|
|
38
|
+
*
|
|
39
|
+
* @param rawToolParams - The parameters to be passed to the tool
|
|
40
|
+
* @param context - The context for the tool execution, including the delegator PKP Ethereum address
|
|
41
|
+
* @returns A promise that resolves to a ToolResponse containing the execution result
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
44
|
+
execute(rawToolParams: z.infer<ToolParamsSchema>, context: ToolClientContext): Promise<ToolExecuteResponse<ExecuteSuccessSchema, ExecuteFailSchema, PoliciesByPackageName>>;
|
|
45
|
+
}
|
|
46
|
+
/** @category Interfaces */
|
|
47
|
+
export interface ToolClientContext {
|
|
48
|
+
delegatorPkpEthAddress: string;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/toolClient/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,KAAK,eAAe,EAAE,CAAC;AAEhC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB,CAChC,gBAAgB,SAAS,CAAC,CAAC,OAAO,EAClC,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,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EACxC,OAAO,EAAE,iBAAiB,GAAG;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CACR,oBAAoB,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CACvF,CAAC;IAEF;;;;;;;;;OASG;IACH,OAAO,CACL,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EACxC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC,CAAC;CACjG;AAED,2BAA2B;AAC3B,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,EAAE,MAAM,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/toolClient/types.ts"],"names":[],"mappings":";AAAA,8BAA8B"}
|