@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,76 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import type { BundledVincentTool, VincentTool } from '@lit-protocol/vincent-tool-sdk';
|
|
4
|
+
import type { ToolPolicyMap } from '@lit-protocol/vincent-tool-sdk/internal';
|
|
5
|
+
import type { VincentToolClient } from './types';
|
|
6
|
+
/** A VincentToolClient provides a type-safe interface for executing tools, for both `precheck()`
|
|
7
|
+
* and `execute()` functionality.
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { disconnectVincentToolClients, getVincentToolClient, isToolResponseFailure } from '@lit-protocol/vincent-app-sdk/toolClient';
|
|
11
|
+
* import { bundledVincentTool as uniswapBundledTool } from '@lit-protocol/vincent-tool-uniswap-swap';
|
|
12
|
+
* import { delegateeEthersSigner } = from './ethersSigner';
|
|
13
|
+
* import { ETH_RPC_URL, BASE_RPC_URL } from './rpcConfigs';
|
|
14
|
+
*
|
|
15
|
+
* const uniswapToolClient = getVincentToolClient({
|
|
16
|
+
* bundledVincentTool: uniswapBundledTool,
|
|
17
|
+
* ethersSigner: delegateeEthersSigner,
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // First, call `precheck()` to get a best-estimate result indicating that the tool execution in the LIT action runtime will not fail
|
|
21
|
+
* const precheckResult = await uniswapSwapToolClient.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 uniswapSwapToolClient.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(isToolResponseFailure(uniswapSwapExecutionResult)) {
|
|
50
|
+
* ...handle failure
|
|
51
|
+
* } else {
|
|
52
|
+
* ...handle result
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @typeParam IpfsCid {@removeTypeParameterCompletely}
|
|
57
|
+
* @typeParam ToolParamsSchema {@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.bundledVincentTool - The bundled vincent tool that you want to interact with
|
|
69
|
+
*
|
|
70
|
+
* @category API
|
|
71
|
+
* */
|
|
72
|
+
export declare function getVincentToolClient<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: {
|
|
73
|
+
bundledVincentTool: BundledVincentTool<VincentTool<ToolParamsSchema, PkgNames, PolicyMap, PoliciesByPackageName, ExecuteSuccessSchema, ExecuteFailSchema, PrecheckSuccessSchema, PrecheckFailSchema, any, any>, IpfsCid>;
|
|
74
|
+
ethersSigner: ethers.Signer;
|
|
75
|
+
}): VincentToolClient<ToolParamsSchema, PoliciesByPackageName, ExecuteSuccessSchema, ExecuteFailSchema, PrecheckSuccessSchema, PrecheckFailSchema>;
|
|
76
|
+
//# sourceMappingURL=vincentToolClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vincentToolClient.d.ts","sourceRoot":"","sources":["../../../src/toolClient/vincentToolClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAc7E,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA2BpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiEK;AACL,wBAAgB,oBAAoB,CAClC,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,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;CAC7B,GAAG,iBAAiB,CACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,CACnB,CAmUA"}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// src/toolClient/vincentToolClient.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getVincentToolClient = getVincentToolClient;
|
|
5
|
+
const ethers_1 = require("ethers");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const constants_1 = require("@lit-protocol/constants");
|
|
8
|
+
const internal_1 = require("@lit-protocol/vincent-tool-sdk/internal");
|
|
9
|
+
const getLitNodeClient_1 = require("../internal/LitNodeClient/getLitNodeClient");
|
|
10
|
+
const generateVincentToolSessionSigs_1 = require("./execute/generateVincentToolSessionSigs");
|
|
11
|
+
const resultCreators_1 = require("./execute/resultCreators");
|
|
12
|
+
const resultCreators_2 = require("./precheck/resultCreators");
|
|
13
|
+
const runPolicyPrechecks_1 = require("./precheck/runPolicyPrechecks");
|
|
14
|
+
const typeGuards_1 = require("./typeGuards");
|
|
15
|
+
const YELLOWSTONE_RPC_URL = 'https://yellowstone-rpc.litprotocol.com/';
|
|
16
|
+
const bigintReplacer = (key, value) => {
|
|
17
|
+
return typeof value === 'bigint' ? value.toString() : value;
|
|
18
|
+
};
|
|
19
|
+
/** A VincentToolClient provides a type-safe interface for executing tools, for both `precheck()`
|
|
20
|
+
* and `execute()` functionality.
|
|
21
|
+
*
|
|
22
|
+
* ```typescript
|
|
23
|
+
* import { disconnectVincentToolClients, getVincentToolClient, isToolResponseFailure } from '@lit-protocol/vincent-app-sdk/toolClient';
|
|
24
|
+
* import { bundledVincentTool as uniswapBundledTool } from '@lit-protocol/vincent-tool-uniswap-swap';
|
|
25
|
+
* import { delegateeEthersSigner } = from './ethersSigner';
|
|
26
|
+
* import { ETH_RPC_URL, BASE_RPC_URL } from './rpcConfigs';
|
|
27
|
+
*
|
|
28
|
+
* const uniswapToolClient = getVincentToolClient({
|
|
29
|
+
* bundledVincentTool: uniswapBundledTool,
|
|
30
|
+
* ethersSigner: delegateeEthersSigner,
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* // First, call `precheck()` to get a best-estimate result indicating that the tool execution in the LIT action runtime will not fail
|
|
34
|
+
* const precheckResult = await uniswapSwapToolClient.precheck({
|
|
35
|
+
* ethRpcUrl: ETH_RPC_URL,
|
|
36
|
+
* rpcUrlForUniswap: BASE_RPC_URL,
|
|
37
|
+
* chainIdForUniswap: 8453, // Base
|
|
38
|
+
* tokenInAddress: '0x4200000000000000000000000000000000000006', // WETH
|
|
39
|
+
* tokenInDecimals: 18,
|
|
40
|
+
* tokenInAmount: 0.0000077,
|
|
41
|
+
* tokenOutAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC on Base
|
|
42
|
+
* tokenOutDecimals: 8,
|
|
43
|
+
* },
|
|
44
|
+
* {
|
|
45
|
+
* delegatorPkpEthAddress: '0x123456789123456789123456789...',
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* const uniswapSwapExecutionResult = await uniswapSwapToolClient.execute({
|
|
49
|
+
* ethRpcUrl: ETH_RPC_URL,
|
|
50
|
+
* rpcUrlForUniswap: BASE_RPC_URL,
|
|
51
|
+
* chainIdForUniswap: 8453,
|
|
52
|
+
* tokenInAddress: '0x4200000000000000000000000000000000000006', // WETH
|
|
53
|
+
* tokenInDecimals: 18,
|
|
54
|
+
* tokenInAmount: 0.0000077,
|
|
55
|
+
* tokenOutAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC on Base
|
|
56
|
+
* tokenOutDecimals: 8,
|
|
57
|
+
* },
|
|
58
|
+
* {
|
|
59
|
+
* delegatorPkpEthAddress: '0x123456789123456789123456789...',
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* if(isToolResponseFailure(uniswapSwapExecutionResult)) {
|
|
63
|
+
* ...handle failure
|
|
64
|
+
* } else {
|
|
65
|
+
* ...handle result
|
|
66
|
+
* }
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @typeParam IpfsCid {@removeTypeParameterCompletely}
|
|
70
|
+
* @typeParam ToolParamsSchema {@removeTypeParameterCompletely}
|
|
71
|
+
* @typeParam PkgNames {@removeTypeParameterCompletely}
|
|
72
|
+
* @typeParam PolicyMap {@removeTypeParameterCompletely}
|
|
73
|
+
* @typeParam PoliciesByPackageName {@removeTypeParameterCompletely}
|
|
74
|
+
* @typeParam ExecuteSuccessSchema {@removeTypeParameterCompletely}
|
|
75
|
+
* @typeParam ExecuteFailSchema {@removeTypeParameterCompletely}
|
|
76
|
+
* @typeParam PrecheckSuccessSchema {@removeTypeParameterCompletely}
|
|
77
|
+
* @typeParam PrecheckFailSchema {@removeTypeParameterCompletely}
|
|
78
|
+
*
|
|
79
|
+
* @param params
|
|
80
|
+
* @param params.ethersSigner - An ethers signer that has been configured with your delegatee key
|
|
81
|
+
* @param params.bundledVincentTool - The bundled vincent tool that you want to interact with
|
|
82
|
+
*
|
|
83
|
+
* @category API
|
|
84
|
+
* */
|
|
85
|
+
function getVincentToolClient(params) {
|
|
86
|
+
var _a, _b;
|
|
87
|
+
const { bundledVincentTool, ethersSigner } = params;
|
|
88
|
+
const { ipfsCid, vincentTool, vincentToolApiVersion } = bundledVincentTool;
|
|
89
|
+
(0, internal_1.assertSupportedToolVersion)(vincentToolApiVersion);
|
|
90
|
+
const network = constants_1.LIT_NETWORK.Datil;
|
|
91
|
+
const executeSuccessSchema = ((_a = vincentTool.__schemaTypes.executeSuccessSchema) !== null && _a !== void 0 ? _a : zod_1.z.undefined());
|
|
92
|
+
const executeFailSchema = ((_b = vincentTool.__schemaTypes.executeFailSchema) !== null && _b !== void 0 ? _b : zod_1.z.undefined());
|
|
93
|
+
return {
|
|
94
|
+
async precheck(rawToolParams, { rpcUrl, delegatorPkpEthAddress, }) {
|
|
95
|
+
console.log('precheck', { rawToolParams, delegatorPkpEthAddress, rpcUrl });
|
|
96
|
+
const delegateePkpEthAddress = ethers_1.ethers.utils.getAddress(await ethersSigner.getAddress());
|
|
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
|
+
const baseContext = {
|
|
99
|
+
delegation: {
|
|
100
|
+
delegateeAddress: delegateePkpEthAddress,
|
|
101
|
+
// delegatorPkpInfo: null,
|
|
102
|
+
},
|
|
103
|
+
toolIpfsCid: ipfsCid,
|
|
104
|
+
// appId: undefined,
|
|
105
|
+
// appVersion: undefined,
|
|
106
|
+
};
|
|
107
|
+
const parsedParams = (0, internal_1.validateOrFail)(rawToolParams, vincentTool.toolParamsSchema, 'precheck', 'input');
|
|
108
|
+
if ((0, typeGuards_1.isToolResponseFailure)(parsedParams)) {
|
|
109
|
+
return (0, resultCreators_2.createToolPrecheckResponseFailureNoResult)({
|
|
110
|
+
...parsedParams,
|
|
111
|
+
context: baseContext,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
const userPkpInfo = await (0, internal_1.getPkpInfo)({
|
|
115
|
+
litPubkeyRouterAddress: internal_1.LIT_DATIL_PUBKEY_ROUTER_ADDRESS,
|
|
116
|
+
yellowstoneRpcUrl: rpcUrl !== null && rpcUrl !== void 0 ? rpcUrl : YELLOWSTONE_RPC_URL,
|
|
117
|
+
pkpEthAddress: delegatorPkpEthAddress,
|
|
118
|
+
});
|
|
119
|
+
baseContext.delegation.delegatorPkpInfo = userPkpInfo;
|
|
120
|
+
console.log('userPkpInfo', userPkpInfo);
|
|
121
|
+
const { decodedPolicies, appId, appVersion } = await (0, internal_1.getPoliciesAndAppVersion)({
|
|
122
|
+
delegationRpcUrl: rpcUrl !== null && rpcUrl !== void 0 ? rpcUrl : YELLOWSTONE_RPC_URL,
|
|
123
|
+
appDelegateeAddress: delegateePkpEthAddress,
|
|
124
|
+
agentWalletPkpEthAddress: delegatorPkpEthAddress,
|
|
125
|
+
toolIpfsCid: ipfsCid,
|
|
126
|
+
});
|
|
127
|
+
baseContext.appId = appId.toNumber();
|
|
128
|
+
baseContext.appVersion = appVersion.toNumber();
|
|
129
|
+
console.log('Fetched policies and app info', { decodedPolicies, appId, appVersion });
|
|
130
|
+
const baseToolContext = await (0, runPolicyPrechecks_1.runToolPolicyPrechecks)({
|
|
131
|
+
bundledVincentTool,
|
|
132
|
+
toolParams: parsedParams,
|
|
133
|
+
decodedPolicies,
|
|
134
|
+
context: {
|
|
135
|
+
...baseContext,
|
|
136
|
+
rpcUrl,
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
if (!vincentTool.precheck) {
|
|
140
|
+
console.log('No tool precheck defined - returning baseContext policy evaluation results', {
|
|
141
|
+
rawToolParams,
|
|
142
|
+
delegatorPkpEthAddress,
|
|
143
|
+
rpcUrl,
|
|
144
|
+
});
|
|
145
|
+
if (!baseToolContext.policiesContext.allow) {
|
|
146
|
+
return (0, resultCreators_2.createToolPrecheckResponseFailureNoResult)({
|
|
147
|
+
context: baseToolContext,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
return (0, resultCreators_2.createToolPrecheckResponseSuccessNoResult)({
|
|
151
|
+
context: baseToolContext,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
console.log('Executing tool precheck');
|
|
155
|
+
const precheckResult = await vincentTool.precheck({ toolParams: parsedParams }, baseToolContext);
|
|
156
|
+
if ((0, typeGuards_1.isToolResponseSchemaValidationFailure)(precheckResult) ||
|
|
157
|
+
(0, typeGuards_1.isToolResponseRuntimeFailure)(precheckResult)) {
|
|
158
|
+
console.log('Detected runtime or schema validation error in toolPrecheckResult - returning as-is:', JSON.stringify({
|
|
159
|
+
isToolResponseRuntimeFailure: (0, typeGuards_1.isToolResponseRuntimeFailure)(precheckResult),
|
|
160
|
+
isToolResponseSchemaValidationFailure: (0, typeGuards_1.isToolResponseSchemaValidationFailure)(precheckResult),
|
|
161
|
+
precheckResult,
|
|
162
|
+
}, bigintReplacer));
|
|
163
|
+
// Runtime errors and schema validation errors will not have results; return them as-is.
|
|
164
|
+
return precheckResult;
|
|
165
|
+
}
|
|
166
|
+
console.log('precheckResult()', JSON.stringify(precheckResult, bigintReplacer));
|
|
167
|
+
return {
|
|
168
|
+
...precheckResult,
|
|
169
|
+
context: baseToolContext,
|
|
170
|
+
};
|
|
171
|
+
},
|
|
172
|
+
async execute(rawToolParams, context) {
|
|
173
|
+
const parsedParams = (0, internal_1.validateOrFail)(rawToolParams, vincentTool.toolParamsSchema, 'execute', 'input');
|
|
174
|
+
if ((0, typeGuards_1.isToolResponseFailure)(parsedParams)) {
|
|
175
|
+
return {
|
|
176
|
+
...parsedParams,
|
|
177
|
+
context,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
const litNodeClient = await (0, getLitNodeClient_1.getLitNodeClientInstance)({ network });
|
|
181
|
+
const sessionSigs = await (0, generateVincentToolSessionSigs_1.generateVincentToolSessionSigs)({ ethersSigner, litNodeClient });
|
|
182
|
+
const result = await litNodeClient.executeJs({
|
|
183
|
+
ipfsId: ipfsCid,
|
|
184
|
+
sessionSigs,
|
|
185
|
+
jsParams: {
|
|
186
|
+
toolParams: parsedParams,
|
|
187
|
+
context,
|
|
188
|
+
vincentToolApiVersion,
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
const { success, response } = result;
|
|
192
|
+
console.log('executeResult - raw result from `litNodeClient.executeJs()', {
|
|
193
|
+
response,
|
|
194
|
+
success,
|
|
195
|
+
});
|
|
196
|
+
if (success !== true) {
|
|
197
|
+
return (0, resultCreators_1.createToolExecuteResponseFailureNoResult)({
|
|
198
|
+
runtimeError: `Remote tool failed with unknown error: ${JSON.stringify(response, bigintReplacer, 2)}`,
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
let parsedResult = response;
|
|
202
|
+
if (typeof response === 'string') {
|
|
203
|
+
// lit-node-client returns a string if no signed data, even if the result could be JSON.parse'd :(
|
|
204
|
+
try {
|
|
205
|
+
parsedResult = JSON.parse(response);
|
|
206
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
207
|
+
}
|
|
208
|
+
catch (e) {
|
|
209
|
+
return (0, resultCreators_1.createToolExecuteResponseFailureNoResult)({
|
|
210
|
+
runtimeError: `Remote tool failed with unknown error: ${JSON.stringify(response, bigintReplacer)}`,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (!(0, typeGuards_1.isRemoteVincentToolExecutionResult)(parsedResult)) {
|
|
215
|
+
console.log('Result from `executeJs` was valid JSON, but not a vincentToolExecutionResult', { parsedResult, success });
|
|
216
|
+
return (0, resultCreators_1.createToolExecuteResponseFailureNoResult)({
|
|
217
|
+
runtimeError: `Remote tool failed with unknown error: ${JSON.stringify(parsedResult, bigintReplacer)}`,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
const remoteVincentToolResult = parsedResult;
|
|
221
|
+
console.log('Parsed executeJs vincentToolExecutionResult:', JSON.stringify(parsedResult, bigintReplacer));
|
|
222
|
+
const { toolContext, toolExecutionResult } = remoteVincentToolResult;
|
|
223
|
+
if ((0, typeGuards_1.isToolResponseSchemaValidationFailure)(toolExecutionResult) ||
|
|
224
|
+
(0, typeGuards_1.isToolResponseRuntimeFailure)(toolExecutionResult)) {
|
|
225
|
+
console.log('Detected runtime or schema validation error in toolExecutionResult - returning as-is:', JSON.stringify({
|
|
226
|
+
isToolResponseRuntimeFailure: (0, typeGuards_1.isToolResponseRuntimeFailure)(toolExecutionResult),
|
|
227
|
+
isToolResponseSchemaValidationFailure: (0, typeGuards_1.isToolResponseSchemaValidationFailure)(toolExecutionResult),
|
|
228
|
+
toolExecutionResult,
|
|
229
|
+
}, bigintReplacer));
|
|
230
|
+
// Runtime errors and schema validation errors will not have results; return them as-is.
|
|
231
|
+
return (0, resultCreators_1.createToolExecuteResponseFailureNoResult)({
|
|
232
|
+
...(toolExecutionResult.runtimeError
|
|
233
|
+
? { runtimeError: toolExecutionResult.runtimeError }
|
|
234
|
+
: {}),
|
|
235
|
+
...(toolExecutionResult.schemaValidationError
|
|
236
|
+
? { schemaValidationError: toolExecutionResult.schemaValidationError }
|
|
237
|
+
: {}),
|
|
238
|
+
context: remoteVincentToolResult.toolContext,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
// Policy eval happens before `execute()` is ever called
|
|
242
|
+
// As a result, when policies return a `deny` result, there will be no tool result
|
|
243
|
+
// so we need to skip trying to run result through the success/fail schema logic
|
|
244
|
+
if (!toolContext.policiesContext.allow) {
|
|
245
|
+
return (0, resultCreators_1.createToolExecuteResponseFailureNoResult)({
|
|
246
|
+
context: toolContext,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
const resultSchemaDetails = (0, internal_1.getSchemaForToolResult)({
|
|
250
|
+
value: toolExecutionResult,
|
|
251
|
+
successResultSchema: executeSuccessSchema,
|
|
252
|
+
failureResultSchema: executeFailSchema,
|
|
253
|
+
});
|
|
254
|
+
const { schemaToUse, parsedType } = resultSchemaDetails;
|
|
255
|
+
console.log(`Parsing tool result using the ${parsedType} Zod schema`);
|
|
256
|
+
// Parse returned result using appropriate execute zod schema
|
|
257
|
+
const executeResult = (0, internal_1.validateOrFail)(toolExecutionResult.result, schemaToUse, 'execute', 'output');
|
|
258
|
+
console.log('Zod parse result:', executeResult);
|
|
259
|
+
if ((0, typeGuards_1.isToolResponseFailure)(executeResult)) {
|
|
260
|
+
// Parsing the result threw a zodError
|
|
261
|
+
return executeResult;
|
|
262
|
+
}
|
|
263
|
+
console.log('Raw toolExecutionResult was:', toolExecutionResult);
|
|
264
|
+
// We parsed the result -- it may be a success or a failure; return appropriately.
|
|
265
|
+
if ((0, typeGuards_1.isToolResponseFailure)(toolExecutionResult)) {
|
|
266
|
+
return (0, resultCreators_1.createToolExecuteResponseFailure)({
|
|
267
|
+
...(toolExecutionResult.runtimeError
|
|
268
|
+
? { runtimeError: toolExecutionResult.runtimeError }
|
|
269
|
+
: {}),
|
|
270
|
+
...(toolExecutionResult.schemaValidationError
|
|
271
|
+
? { schemaValidationError: toolExecutionResult.schemaValidationError }
|
|
272
|
+
: {}),
|
|
273
|
+
result: executeResult,
|
|
274
|
+
context: remoteVincentToolResult.toolContext,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
const res = executeResult;
|
|
278
|
+
return (0, resultCreators_1.createToolExecuteResponseSuccess)({
|
|
279
|
+
result: res,
|
|
280
|
+
context: remoteVincentToolResult.toolContext,
|
|
281
|
+
});
|
|
282
|
+
},
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=vincentToolClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vincentToolClient.js","sourceRoot":"","sources":["../../../src/toolClient/vincentToolClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-client-inference.d.ts","sourceRoot":"","sources":["../../../src/type-inference-verification/tool-client-inference.ts"],"names":[],"mappings":"AAqEA,wBAAsB,GAAG,kBA6FxB;AAwDD,wBAAsB,IAAI,kBAiCzB"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.run = run;
|
|
4
|
+
exports.gogo = gogo;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const vincent_tool_sdk_1 = require("@lit-protocol/vincent-tool-sdk");
|
|
7
|
+
const vincentToolClient_1 = require("../toolClient/vincentToolClient");
|
|
8
|
+
const currencyPolicy = (0, vincent_tool_sdk_1.createVincentPolicy)({
|
|
9
|
+
packageName: 'currency-policy',
|
|
10
|
+
toolParamsSchema: zod_1.z.object({ currency: zod_1.z.string() }),
|
|
11
|
+
evaluate: async ({ toolParams }, ctx) => ctx.allow({ approvedCurrency: toolParams.currency }),
|
|
12
|
+
evalAllowResultSchema: zod_1.z.object({ approvedCurrency: zod_1.z.string() }),
|
|
13
|
+
evalDenyResultSchema: zod_1.z.object({ borked: zod_1.z.string() }),
|
|
14
|
+
});
|
|
15
|
+
const currencyToolPolicy = (0, vincent_tool_sdk_1.createVincentToolPolicy)({
|
|
16
|
+
toolParamsSchema: zod_1.z.object({
|
|
17
|
+
currency: zod_1.z.string(),
|
|
18
|
+
}),
|
|
19
|
+
bundledVincentPolicy: (0, vincent_tool_sdk_1.asBundledVincentPolicy)(currencyPolicy, 'QmCurrency123'),
|
|
20
|
+
toolParameterMappings: {
|
|
21
|
+
currency: 'currency',
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const rateLimitPolicy = (0, vincent_tool_sdk_1.createVincentPolicy)({
|
|
25
|
+
packageName: 'rate-limit',
|
|
26
|
+
toolParamsSchema: zod_1.z.object({ userId: zod_1.z.string() }),
|
|
27
|
+
evaluate: async (_, ctx) => ctx.allow({ allowed: true }),
|
|
28
|
+
evalAllowResultSchema: zod_1.z.object({ allowed: zod_1.z.literal(true) }),
|
|
29
|
+
commit: async (_, ctx) => ctx.allow({ committed: true }),
|
|
30
|
+
commitAllowResultSchema: zod_1.z.object({ committed: zod_1.z.boolean() }),
|
|
31
|
+
});
|
|
32
|
+
const rateLimitToolPolicy = (0, vincent_tool_sdk_1.createVincentToolPolicy)({
|
|
33
|
+
toolParamsSchema: zod_1.z.object({
|
|
34
|
+
userId: zod_1.z.string(),
|
|
35
|
+
}),
|
|
36
|
+
bundledVincentPolicy: (0, vincent_tool_sdk_1.asBundledVincentPolicy)(rateLimitPolicy, 'QmRateLimit123'),
|
|
37
|
+
toolParameterMappings: {
|
|
38
|
+
userId: 'userId',
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
const toolParamsSchema = zod_1.z.object({
|
|
42
|
+
currency: zod_1.z.string(),
|
|
43
|
+
userId: zod_1.z.string(),
|
|
44
|
+
});
|
|
45
|
+
const tool = (0, vincent_tool_sdk_1.createVincentTool)({
|
|
46
|
+
packageName: '@lit-protocol/yestool3@1.0.0',
|
|
47
|
+
toolDescription: 'Yes Tool',
|
|
48
|
+
toolParamsSchema,
|
|
49
|
+
supportedPolicies: (0, vincent_tool_sdk_1.supportedPoliciesForTool)([currencyToolPolicy, rateLimitToolPolicy]),
|
|
50
|
+
execute: async ({ toolParams }, ctx) => ctx.succeed({ ok: true }),
|
|
51
|
+
executeSuccessSchema: zod_1.z.object({ ok: zod_1.z.literal(true) }),
|
|
52
|
+
});
|
|
53
|
+
const client = (0, vincentToolClient_1.getVincentToolClient)({
|
|
54
|
+
bundledVincentTool: (0, vincent_tool_sdk_1.asBundledVincentTool)(tool, 'QmFakeTool123'),
|
|
55
|
+
ethersSigner: {}, // stubbed
|
|
56
|
+
});
|
|
57
|
+
async function run() {
|
|
58
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
59
|
+
const toolParams = {
|
|
60
|
+
currency: 'USD',
|
|
61
|
+
userId: 'user-123',
|
|
62
|
+
};
|
|
63
|
+
const precheckResult = await client.precheck(toolParams, {
|
|
64
|
+
delegatorPkpEthAddress: '0xabc',
|
|
65
|
+
});
|
|
66
|
+
if (precheckResult.success === true) {
|
|
67
|
+
// ✅ Inferred success result shape
|
|
68
|
+
const successResult = precheckResult.result;
|
|
69
|
+
// Should be ok to access successResult with correct type
|
|
70
|
+
if (successResult !== undefined) {
|
|
71
|
+
// @ts-expect-error - no properties defined on undefined schema
|
|
72
|
+
console.log(successResult.foo);
|
|
73
|
+
}
|
|
74
|
+
const policiesContext = (_a = precheckResult === null || precheckResult === void 0 ? void 0 : precheckResult.context) === null || _a === void 0 ? void 0 : _a.policiesContext;
|
|
75
|
+
if (precheckResult && policiesContext && policiesContext.allow) {
|
|
76
|
+
const p = policiesContext.allowedPolicies;
|
|
77
|
+
// ✅ Should infer currency-policy result shape
|
|
78
|
+
if (p['currency-policy']) {
|
|
79
|
+
// @ts-expect-error There is no precheck result schema; result must be undefined
|
|
80
|
+
p['currency-policy'].result.approvedCurrency.toUpperCase();
|
|
81
|
+
// @ts-expect-error - no commit on currency-policy
|
|
82
|
+
p['currency-policy'].commit();
|
|
83
|
+
}
|
|
84
|
+
// ✅ Should infer rate-limit result shape and commit
|
|
85
|
+
if (p['rate-limit']) {
|
|
86
|
+
// @ts-expect-error There is no precheck result schema; result must be undefined
|
|
87
|
+
const val = p['rate-limit'].result.allowed;
|
|
88
|
+
console.log(val);
|
|
89
|
+
}
|
|
90
|
+
// @ts-expect-error - policy not in map
|
|
91
|
+
console.log(p['non-existent-policy']);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// ✅ Inferred failure shape
|
|
96
|
+
const fail = precheckResult.result;
|
|
97
|
+
// @ts-expect-error - fail is z.undefined(), cannot have properties
|
|
98
|
+
console.log(fail.reason);
|
|
99
|
+
// Can still access error message
|
|
100
|
+
(_b = precheckResult.runtimeError) === null || _b === void 0 ? void 0 : _b.toUpperCase();
|
|
101
|
+
// Should still be optional policiesContext
|
|
102
|
+
const deniedPolicy = (_d = (_c = precheckResult.context) === null || _c === void 0 ? void 0 : _c.policiesContext) === null || _d === void 0 ? void 0 : _d.deniedPolicy;
|
|
103
|
+
if (deniedPolicy) {
|
|
104
|
+
if (deniedPolicy.packageName === 'currency-policy' &&
|
|
105
|
+
deniedPolicy.result &&
|
|
106
|
+
// @ts-expect-error There's no precheck deny schema!
|
|
107
|
+
deniedPolicy.result.borked) {
|
|
108
|
+
// @ts-expect-error There's no precheck deny schema!
|
|
109
|
+
console.log(deniedPolicy.result.borked);
|
|
110
|
+
}
|
|
111
|
+
console.log(deniedPolicy.result);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// 🧪 Now check execute inference
|
|
115
|
+
const executeResult = await client.execute(toolParams, {
|
|
116
|
+
delegatorPkpEthAddress: '0x09182301238',
|
|
117
|
+
});
|
|
118
|
+
if (executeResult.success === true) {
|
|
119
|
+
if (executeResult.result) {
|
|
120
|
+
const val = executeResult.result;
|
|
121
|
+
// @ts-expect-error - invalid field on success result
|
|
122
|
+
console.log(val.failureReason);
|
|
123
|
+
const result = (_f = (_e = executeResult.context) === null || _e === void 0 ? void 0 : _e.policiesContext) === null || _f === void 0 ? void 0 : _f.allowedPolicies;
|
|
124
|
+
if (result) {
|
|
125
|
+
const currencyPolicyResult = result['currency-policy'];
|
|
126
|
+
if (currencyPolicyResult) {
|
|
127
|
+
console.log(currencyPolicyResult.result.approvedCurrency);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
console.log((_j = (_h = (_g = executeResult.context) === null || _g === void 0 ? void 0 : _g.policiesContext) === null || _h === void 0 ? void 0 : _h.deniedPolicy) === null || _j === void 0 ? void 0 : _j.result);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const fullSchemaPolicy = (0, vincent_tool_sdk_1.createVincentPolicy)({
|
|
137
|
+
packageName: 'full-policy',
|
|
138
|
+
toolParamsSchema: zod_1.z.object({ count: zod_1.z.number() }),
|
|
139
|
+
evaluate: async ({ toolParams }, ctx) => {
|
|
140
|
+
if (toolParams.count > 0) {
|
|
141
|
+
return ctx.allow({ result: 'ok' });
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
return ctx.deny({ reason: 'must be > 0' });
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
evalAllowResultSchema: zod_1.z.object({ result: zod_1.z.literal('ok') }),
|
|
148
|
+
evalDenyResultSchema: zod_1.z.object({ reason: zod_1.z.string() }),
|
|
149
|
+
});
|
|
150
|
+
const fullSchemaToolPolicy = (0, vincent_tool_sdk_1.createVincentToolPolicy)({
|
|
151
|
+
toolParamsSchema: zod_1.z.object({ count: zod_1.z.number() }),
|
|
152
|
+
bundledVincentPolicy: (0, vincent_tool_sdk_1.asBundledVincentPolicy)(fullSchemaPolicy, 'QmFullSchema123'),
|
|
153
|
+
toolParameterMappings: {
|
|
154
|
+
count: 'count',
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
const fullTool = (0, vincent_tool_sdk_1.createVincentTool)({
|
|
158
|
+
packageName: '@lit-protocol/yestool3@1.0.0',
|
|
159
|
+
toolDescription: 'Yes Tool',
|
|
160
|
+
toolParamsSchema: zod_1.z.object({ count: zod_1.z.number() }),
|
|
161
|
+
supportedPolicies: (0, vincent_tool_sdk_1.supportedPoliciesForTool)([fullSchemaToolPolicy]),
|
|
162
|
+
precheck: async ({ toolParams }, ctx) => {
|
|
163
|
+
if (toolParams.count > 10) {
|
|
164
|
+
return ctx.succeed({ accepted: true });
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
return ctx.fail({ reason: 'too small' });
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
precheckSuccessSchema: zod_1.z.object({ accepted: zod_1.z.literal(true) }),
|
|
171
|
+
precheckFailSchema: zod_1.z.object({ reason: zod_1.z.string() }),
|
|
172
|
+
execute: async ({ toolParams }, ctx) => {
|
|
173
|
+
if (toolParams.count < 100) {
|
|
174
|
+
return ctx.succeed({ ok: true });
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
return ctx.fail({ reason: 'too big' });
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
executeSuccessSchema: zod_1.z.object({ ok: zod_1.z.literal(true) }),
|
|
181
|
+
executeFailSchema: zod_1.z.object({ reason: zod_1.z.string() }),
|
|
182
|
+
});
|
|
183
|
+
const fullClient = (0, vincentToolClient_1.getVincentToolClient)({
|
|
184
|
+
bundledVincentTool: (0, vincent_tool_sdk_1.asBundledVincentTool)(fullTool, 'QmFullTool123'),
|
|
185
|
+
ethersSigner: {},
|
|
186
|
+
});
|
|
187
|
+
const fullParams = { count: 5 };
|
|
188
|
+
async function gogo() {
|
|
189
|
+
const precheck = await fullClient.precheck(fullParams, {
|
|
190
|
+
delegatorPkpEthAddress: '0x1sfskjdfhf',
|
|
191
|
+
});
|
|
192
|
+
if (precheck.success === true) {
|
|
193
|
+
const ok = precheck.result.accepted;
|
|
194
|
+
console.log(ok);
|
|
195
|
+
// @ts-expect-error foo not valid on precheck result
|
|
196
|
+
console.log(precheck.result.foo);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
const reason = precheck.result.reason;
|
|
200
|
+
console.log(reason);
|
|
201
|
+
// @ts-expect-error accepted not valid on failure!
|
|
202
|
+
console.log(precheck.result.accepted);
|
|
203
|
+
}
|
|
204
|
+
const execute = await fullClient.execute(fullParams, {
|
|
205
|
+
delegatorPkpEthAddress: '0x098479847928734',
|
|
206
|
+
});
|
|
207
|
+
if (execute.success === true) {
|
|
208
|
+
const val = execute.result.ok;
|
|
209
|
+
console.log(val);
|
|
210
|
+
// @ts-expect-error reason not valid on success result
|
|
211
|
+
console.log(execute.result.reason);
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
const msg = execute.result.reason;
|
|
215
|
+
console.log(msg);
|
|
216
|
+
// @ts-expect-error OK not valid on failure result
|
|
217
|
+
console.log(execute.result.ok);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=tool-client-inference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-client-inference.js","sourceRoot":"","sources":["../../../src/type-inference-verification/tool-client-inference.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { GetDelegatorsAgentPkpsParams } from './types';
|
|
2
|
+
/** Get a (paginated) list of delegator agent PKPs for a specific app version
|
|
3
|
+
*
|
|
4
|
+
* See documentation at {@link vincent-contracts-sdk!getDelegatedPkpEthAddresses | vincent-contracts-sdk/getDelegatedPkpEthAddresses}
|
|
5
|
+
*/
|
|
6
|
+
export declare function getDelegatorsAgentPkpAddresses(params: GetDelegatorsAgentPkpsParams): Promise<string[]>;
|
|
7
|
+
//# sourceMappingURL=delegation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../../src/utils/delegation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAE5D;;;GAGG;AACH,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,4BAA4B,qBASxF"}
|