@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.
Files changed (172) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/CONTRIBUTING.md +115 -0
  3. package/README.md +216 -0
  4. package/dist/CHANGELOG.md +74 -0
  5. package/dist/CONTRIBUTING.md +115 -0
  6. package/dist/README.md +216 -0
  7. package/dist/package.json +86 -0
  8. package/dist/src/expressMiddleware/express.d.ts +63 -0
  9. package/dist/src/expressMiddleware/express.d.ts.map +1 -0
  10. package/dist/src/expressMiddleware/express.js +125 -0
  11. package/dist/src/expressMiddleware/express.js.map +1 -0
  12. package/dist/src/expressMiddleware/index.d.ts +14 -0
  13. package/dist/src/expressMiddleware/index.d.ts.map +1 -0
  14. package/dist/src/expressMiddleware/index.js +17 -0
  15. package/dist/src/expressMiddleware/index.js.map +1 -0
  16. package/dist/src/expressMiddleware/types.d.ts +31 -0
  17. package/dist/src/expressMiddleware/types.d.ts.map +1 -0
  18. package/dist/src/expressMiddleware/types.js +3 -0
  19. package/dist/src/expressMiddleware/types.js.map +1 -0
  20. package/dist/src/index.d.ts +2 -0
  21. package/dist/src/index.d.ts.map +1 -0
  22. package/dist/src/index.js +3 -0
  23. package/dist/src/index.js.map +1 -0
  24. package/dist/src/internal/LitNodeClient/LitNodeClientInstance.d.ts +14 -0
  25. package/dist/src/internal/LitNodeClient/LitNodeClientInstance.d.ts.map +1 -0
  26. package/dist/src/internal/LitNodeClient/LitNodeClientInstance.js +67 -0
  27. package/dist/src/internal/LitNodeClient/LitNodeClientInstance.js.map +1 -0
  28. package/dist/src/internal/LitNodeClient/getLitNodeClient.d.ts +7 -0
  29. package/dist/src/internal/LitNodeClient/getLitNodeClient.d.ts.map +1 -0
  30. package/dist/src/internal/LitNodeClient/getLitNodeClient.js +25 -0
  31. package/dist/src/internal/LitNodeClient/getLitNodeClient.js.map +1 -0
  32. package/dist/src/jwt/accessors.d.ts +8 -0
  33. package/dist/src/jwt/accessors.d.ts.map +1 -0
  34. package/dist/src/jwt/accessors.js +15 -0
  35. package/dist/src/jwt/accessors.js.map +1 -0
  36. package/dist/src/jwt/core/create.d.ts +24 -0
  37. package/dist/src/jwt/core/create.d.ts.map +1 -0
  38. package/dist/src/jwt/core/create.js +95 -0
  39. package/dist/src/jwt/core/create.js.map +1 -0
  40. package/dist/src/jwt/core/isExpired.d.ts +9 -0
  41. package/dist/src/jwt/core/isExpired.d.ts.map +1 -0
  42. package/dist/src/jwt/core/isExpired.js +20 -0
  43. package/dist/src/jwt/core/isExpired.js.map +1 -0
  44. package/dist/src/jwt/core/utils/base64.d.ts +14 -0
  45. package/dist/src/jwt/core/utils/base64.d.ts.map +1 -0
  46. package/dist/src/jwt/core/utils/base64.js +54 -0
  47. package/dist/src/jwt/core/utils/base64.js.map +1 -0
  48. package/dist/src/jwt/core/utils/definedObject.d.ts +2 -0
  49. package/dist/src/jwt/core/utils/definedObject.d.ts.map +1 -0
  50. package/dist/src/jwt/core/utils/definedObject.js +7 -0
  51. package/dist/src/jwt/core/utils/definedObject.js.map +1 -0
  52. package/dist/src/jwt/core/utils/index.d.ts +5 -0
  53. package/dist/src/jwt/core/utils/index.d.ts.map +1 -0
  54. package/dist/src/jwt/core/utils/index.js +12 -0
  55. package/dist/src/jwt/core/utils/index.js.map +1 -0
  56. package/dist/src/jwt/core/utils/processJWTSignature.d.ts +8 -0
  57. package/dist/src/jwt/core/utils/processJWTSignature.d.ts.map +1 -0
  58. package/dist/src/jwt/core/utils/processJWTSignature.js +14 -0
  59. package/dist/src/jwt/core/utils/processJWTSignature.js.map +1 -0
  60. package/dist/src/jwt/core/utils/splitJWT.d.ts +11 -0
  61. package/dist/src/jwt/core/utils/splitJWT.d.ts.map +1 -0
  62. package/dist/src/jwt/core/utils/splitJWT.js +21 -0
  63. package/dist/src/jwt/core/utils/splitJWT.js.map +1 -0
  64. package/dist/src/jwt/core/utils/validateJWTTime.d.ts +12 -0
  65. package/dist/src/jwt/core/utils/validateJWTTime.d.ts.map +1 -0
  66. package/dist/src/jwt/core/utils/validateJWTTime.js +24 -0
  67. package/dist/src/jwt/core/utils/validateJWTTime.js.map +1 -0
  68. package/dist/src/jwt/core/validate.d.ts +29 -0
  69. package/dist/src/jwt/core/validate.d.ts.map +1 -0
  70. package/dist/src/jwt/core/validate.js +143 -0
  71. package/dist/src/jwt/core/validate.js.map +1 -0
  72. package/dist/src/jwt/index.d.ts +21 -0
  73. package/dist/src/jwt/index.d.ts.map +1 -0
  74. package/dist/src/jwt/index.js +32 -0
  75. package/dist/src/jwt/index.js.map +1 -0
  76. package/dist/src/jwt/typeGuards.d.ts +14 -0
  77. package/dist/src/jwt/typeGuards.d.ts.map +1 -0
  78. package/dist/src/jwt/typeGuards.js +32 -0
  79. package/dist/src/jwt/typeGuards.js.map +1 -0
  80. package/dist/src/jwt/types.d.ts +82 -0
  81. package/dist/src/jwt/types.d.ts.map +1 -0
  82. package/dist/src/jwt/types.js +3 -0
  83. package/dist/src/jwt/types.js.map +1 -0
  84. package/dist/src/toolClient/constants.d.ts +2 -0
  85. package/dist/src/toolClient/constants.d.ts.map +1 -0
  86. package/dist/src/toolClient/constants.js +5 -0
  87. package/dist/src/toolClient/constants.js.map +1 -0
  88. package/dist/src/toolClient/execute/generateVincentToolSessionSigs.d.ts +8 -0
  89. package/dist/src/toolClient/execute/generateVincentToolSessionSigs.d.ts.map +1 -0
  90. package/dist/src/toolClient/execute/generateVincentToolSessionSigs.js +33 -0
  91. package/dist/src/toolClient/execute/generateVincentToolSessionSigs.js.map +1 -0
  92. package/dist/src/toolClient/execute/resultCreators.d.ts +71 -0
  93. package/dist/src/toolClient/execute/resultCreators.d.ts.map +1 -0
  94. package/dist/src/toolClient/execute/resultCreators.js +57 -0
  95. package/dist/src/toolClient/execute/resultCreators.js.map +1 -0
  96. package/dist/src/toolClient/execute/types.d.ts +38 -0
  97. package/dist/src/toolClient/execute/types.d.ts.map +1 -0
  98. package/dist/src/toolClient/execute/types.js +4 -0
  99. package/dist/src/toolClient/execute/types.js.map +1 -0
  100. package/dist/src/toolClient/index.d.ts +19 -0
  101. package/dist/src/toolClient/index.d.ts.map +1 -0
  102. package/dist/src/toolClient/index.js +26 -0
  103. package/dist/src/toolClient/index.js.map +1 -0
  104. package/dist/src/toolClient/precheck/resultCreators.d.ts +71 -0
  105. package/dist/src/toolClient/precheck/resultCreators.d.ts.map +1 -0
  106. package/dist/src/toolClient/precheck/resultCreators.js +57 -0
  107. package/dist/src/toolClient/precheck/resultCreators.js.map +1 -0
  108. package/dist/src/toolClient/precheck/runPolicyPrechecks.d.ts +14 -0
  109. package/dist/src/toolClient/precheck/runPolicyPrechecks.d.ts.map +1 -0
  110. package/dist/src/toolClient/precheck/runPolicyPrechecks.js +98 -0
  111. package/dist/src/toolClient/precheck/runPolicyPrechecks.js.map +1 -0
  112. package/dist/src/toolClient/precheck/types.d.ts +82 -0
  113. package/dist/src/toolClient/precheck/types.d.ts.map +1 -0
  114. package/dist/src/toolClient/precheck/types.js +4 -0
  115. package/dist/src/toolClient/precheck/types.js.map +1 -0
  116. package/dist/src/toolClient/typeGuards.d.ts +28 -0
  117. package/dist/src/toolClient/typeGuards.d.ts.map +1 -0
  118. package/dist/src/toolClient/typeGuards.js +67 -0
  119. package/dist/src/toolClient/typeGuards.js.map +1 -0
  120. package/dist/src/toolClient/types.d.ts +50 -0
  121. package/dist/src/toolClient/types.d.ts.map +1 -0
  122. package/dist/src/toolClient/types.js +4 -0
  123. package/dist/src/toolClient/types.js.map +1 -0
  124. package/dist/src/toolClient/vincentToolClient.d.ts +76 -0
  125. package/dist/src/toolClient/vincentToolClient.d.ts.map +1 -0
  126. package/dist/src/toolClient/vincentToolClient.js +285 -0
  127. package/dist/src/toolClient/vincentToolClient.js.map +1 -0
  128. package/dist/src/type-inference-verification/tool-client-inference.d.ts +3 -0
  129. package/dist/src/type-inference-verification/tool-client-inference.d.ts.map +1 -0
  130. package/dist/src/type-inference-verification/tool-client-inference.js +220 -0
  131. package/dist/src/type-inference-verification/tool-client-inference.js.map +1 -0
  132. package/dist/src/utils/delegation.d.ts +7 -0
  133. package/dist/src/utils/delegation.d.ts.map +1 -0
  134. package/dist/src/utils/delegation.js +18 -0
  135. package/dist/src/utils/delegation.js.map +1 -0
  136. package/dist/src/utils/index.d.ts +3 -0
  137. package/dist/src/utils/index.d.ts.map +1 -0
  138. package/dist/src/utils/index.js +6 -0
  139. package/dist/src/utils/index.js.map +1 -0
  140. package/dist/src/utils/typedocRoot.d.ts +7 -0
  141. package/dist/src/utils/typedocRoot.d.ts.map +1 -0
  142. package/dist/src/utils/typedocRoot.js +13 -0
  143. package/dist/src/utils/typedocRoot.js.map +1 -0
  144. package/dist/src/utils/types.d.ts +15 -0
  145. package/dist/src/utils/types.d.ts.map +1 -0
  146. package/dist/src/utils/types.js +3 -0
  147. package/dist/src/utils/types.js.map +1 -0
  148. package/dist/src/webAuthClient/app.d.ts +7 -0
  149. package/dist/src/webAuthClient/app.d.ts.map +1 -0
  150. package/dist/src/webAuthClient/app.js +39 -0
  151. package/dist/src/webAuthClient/app.js.map +1 -0
  152. package/dist/src/webAuthClient/constants.d.ts +3 -0
  153. package/dist/src/webAuthClient/constants.d.ts.map +1 -0
  154. package/dist/src/webAuthClient/constants.js +6 -0
  155. package/dist/src/webAuthClient/constants.js.map +1 -0
  156. package/dist/src/webAuthClient/index.d.ts +13 -0
  157. package/dist/src/webAuthClient/index.d.ts.map +1 -0
  158. package/dist/src/webAuthClient/index.js +15 -0
  159. package/dist/src/webAuthClient/index.js.map +1 -0
  160. package/dist/src/webAuthClient/internal/index.d.ts +3 -0
  161. package/dist/src/webAuthClient/internal/index.d.ts.map +1 -0
  162. package/dist/src/webAuthClient/internal/index.js +7 -0
  163. package/dist/src/webAuthClient/internal/index.js.map +1 -0
  164. package/dist/src/webAuthClient/internal/uriHelpers.d.ts +15 -0
  165. package/dist/src/webAuthClient/internal/uriHelpers.d.ts.map +1 -0
  166. package/dist/src/webAuthClient/internal/uriHelpers.js +38 -0
  167. package/dist/src/webAuthClient/internal/uriHelpers.js.map +1 -0
  168. package/dist/src/webAuthClient/types.d.ts +109 -0
  169. package/dist/src/webAuthClient/types.d.ts.map +1 -0
  170. package/dist/src/webAuthClient/types.js +3 -0
  171. package/dist/src/webAuthClient/types.js.map +1 -0
  172. 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":";AAAA,sCAAsC;;AAiHtC,oDAqWC;AApdD,mCAAgC;AAChC,6BAAwB;AAKxB,uDAAsD;AACtD,sEAOiD;AAMjD,iFAAsF;AACtF,6FAA0F;AAC1F,6DAIkC;AAClC,8DAGmC;AACnC,sEAAuE;AACvE,6CAKsB;AAEtB,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;AAEvE,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,KAAU,EAAE,EAAE;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiEK;AACL,SAAgB,oBAAoB,CAUlC,MAiBD;;IAQC,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,kBAAkB,CAAC;IAE3E,IAAA,qCAA0B,EAAC,qBAAqB,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,uBAAW,CAAC,KAAK,CAAC;IAElC,MAAM,oBAAoB,GAAG,CAAC,MAAA,WAAW,CAAC,aAAa,CAAC,oBAAoB,mCAC1E,OAAC,CAAC,SAAS,EAAE,CAAyB,CAAC;IACzC,MAAM,iBAAiB,GAAG,CAAC,MAAA,WAAW,CAAC,aAAa,CAAC,iBAAiB,mCACpE,OAAC,CAAC,SAAS,EAAE,CAAsB,CAAC;IAEtC,OAAO;QACL,KAAK,CAAC,QAAQ,CACZ,aAAwC,EACxC,EACE,MAAM,EACN,sBAAsB,GAGvB;YAID,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3E,MAAM,sBAAsB,GAAG,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;YAExF,qIAAqI;YACrI,MAAM,WAAW,GAAG;gBAClB,UAAU,EAAE;oBACV,gBAAgB,EAAE,sBAAsB;oBACxC,0BAA0B;iBAC3B;gBACD,WAAW,EAAE,OAAO;gBACpB,oBAAoB;gBACpB,yBAAyB;aACnB,CAAC;YAET,MAAM,YAAY,GAAG,IAAA,yBAAc,EACjC,aAAa,EACb,WAAW,CAAC,gBAAgB,EAC5B,UAAU,EACV,OAAO,CACR,CAAC;YAEF,IAAI,IAAA,kCAAqB,EAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,OAAO,IAAA,0DAAyC,EAAC;oBAC/C,GAAG,YAAY;oBACf,OAAO,EAAE,WAAW;iBACrB,CAIA,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAU,EAAC;gBACnC,sBAAsB,EAAE,0CAA+B;gBACvD,iBAAiB,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,mBAAmB;gBAChD,aAAa,EAAE,sBAAsB;aACtC,CAAC,CAAC;YACH,WAAW,CAAC,UAAU,CAAC,gBAAgB,GAAG,WAAW,CAAC;YAEtD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAExC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,mCAAwB,EAAC;gBAC5E,gBAAgB,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,mBAAmB;gBAC/C,mBAAmB,EAAE,sBAAsB;gBAC3C,wBAAwB,EAAE,sBAAsB;gBAChD,WAAW,EAAE,OAAO;aACrB,CAAC,CAAC;YACH,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;YAE/C,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAErF,MAAM,eAAe,GAAG,MAAM,IAAA,2CAAsB,EAAC;gBACnD,kBAAkB;gBAClB,UAAU,EAAE,YAAyC;gBACrD,eAAe;gBACf,OAAO,EAAE;oBACP,GAAG,WAAW;oBACd,MAAM;iBACP;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,4EAA4E,EAAE;oBACxF,aAAa;oBACb,sBAAsB;oBACtB,MAAM;iBACP,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;oBAC3C,OAAO,IAAA,0DAAyC,EAAC;wBAC/C,OAAO,EAAE,eAAe;qBACzB,CAIA,CAAC;gBACJ,CAAC;gBAED,OAAO,IAAA,0DAAyC,EAAC;oBAC/C,OAAO,EAAE,eAAe;iBACzB,CAIA,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YAEvC,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,QAAQ,CAC/C,EAAE,UAAU,EAAE,YAAY,EAAE,EAC5B,eAAe,CAChB,CAAC;YAEF,IACE,IAAA,kDAAqC,EAAC,cAAc,CAAC;gBACrD,IAAA,yCAA4B,EAAC,cAAc,CAAC,EAC5C,CAAC;gBACD,OAAO,CAAC,GAAG,CACT,sFAAsF,EACtF,IAAI,CAAC,SAAS,CACZ;oBACE,4BAA4B,EAAE,IAAA,yCAA4B,EAAC,cAAc,CAAC;oBAC1E,qCAAqC,EACnC,IAAA,kDAAqC,EAAC,cAAc,CAAC;oBACvD,cAAc;iBACf,EACD,cAAc,CACf,CACF,CAAC;gBACF,wFAAwF;gBACxF,OAAO,cAIN,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;YAChF,OAAO;gBACL,GAAG,cAAc;gBACjB,OAAO,EAAE,eAAe;aACiE,CAAC;QAC9F,CAAC;QAED,KAAK,CAAC,OAAO,CACX,aAAwC,EACxC,OAA0B;YAI1B,MAAM,YAAY,GAAG,IAAA,yBAAc,EACjC,aAAa,EACb,WAAW,CAAC,gBAAgB,EAC5B,SAAS,EACT,OAAO,CACR,CAAC;YAEF,IAAI,IAAA,kCAAqB,EAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,OAAO;oBACL,GAAG,YAAY;oBACf,OAAO;iBAC+E,CAAC;YAC3F,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAA,2CAAwB,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,MAAM,IAAA,+DAA8B,EAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;YAE1F,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC;gBAC3C,MAAM,EAAE,OAAO;gBACf,WAAW;gBACX,QAAQ,EAAE;oBACR,UAAU,EAAE,YAAY;oBACxB,OAAO;oBACP,qBAAqB;iBACtB;aACF,CAAC,CAAC;YAEH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,4DAA4D,EAAE;gBACxE,QAAQ;gBACR,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO,IAAA,yDAAwC,EAAC;oBAC9C,YAAY,EAAE,0CAA0C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE;iBACtG,CAAwF,CAAC;YAC5F,CAAC;YAED,IAAI,YAAY,GAAG,QAAQ,CAAC;YAE5B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,kGAAkG;gBAClG,IAAI,CAAC;oBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACpC,6DAA6D;gBAC/D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,IAAA,yDAAwC,EAAC;wBAC9C,YAAY,EAAE,0CAA0C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE;qBACnG,CAAwF,CAAC;gBAC5F,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAA,+CAAkC,EAAC,YAAY,CAAC,EAAE,CAAC;gBACtD,OAAO,CAAC,GAAG,CACT,8EAA8E,EAC9E,EAAE,YAAY,EAAE,OAAO,EAAE,CAC1B,CAAC;gBAEF,OAAO,IAAA,yDAAwC,EAAC;oBAC9C,YAAY,EAAE,0CAA0C,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE;iBACvG,CAAwF,CAAC;YAC5F,CAAC;YAED,MAAM,uBAAuB,GAIzB,YAAY,CAAC;YAEjB,OAAO,CAAC,GAAG,CACT,8CAA8C,EAC9C,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAC7C,CAAC;YAEF,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,uBAAuB,CAAC;YAErE,IACE,IAAA,kDAAqC,EAAC,mBAAmB,CAAC;gBAC1D,IAAA,yCAA4B,EAAC,mBAAmB,CAAC,EACjD,CAAC;gBACD,OAAO,CAAC,GAAG,CACT,uFAAuF,EACvF,IAAI,CAAC,SAAS,CACZ;oBACE,4BAA4B,EAAE,IAAA,yCAA4B,EAAC,mBAAmB,CAAC;oBAC/E,qCAAqC,EACnC,IAAA,kDAAqC,EAAC,mBAAmB,CAAC;oBAC5D,mBAAmB;iBACpB,EACD,cAAc,CACf,CACF,CAAC;gBACF,wFAAwF;gBACxF,OAAO,IAAA,yDAAwC,EAAC;oBAC9C,GAAG,CAAC,mBAAmB,CAAC,YAAY;wBAClC,CAAC,CAAC,EAAE,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE;wBACpD,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,mBAAmB,CAAC,qBAAqB;wBAC3C,CAAC,CAAC,EAAE,qBAAqB,EAAE,mBAAmB,CAAC,qBAAqB,EAAE;wBACtE,CAAC,CAAC,EAAE,CAAC;oBACP,OAAO,EAAE,uBAAuB,CAAC,WAAW;iBAC7C,CAAwF,CAAC;YAC5F,CAAC;YAED,wDAAwD;YACxD,kFAAkF;YAClF,gFAAgF;YAChF,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBACvC,OAAO,IAAA,yDAAwC,EAAC;oBAC9C,OAAO,EAAE,WAAW;iBACrB,CAAwF,CAAC;YAC5F,CAAC;YAED,MAAM,mBAAmB,GAAG,IAAA,iCAAsB,EAAC;gBACjD,KAAK,EAAE,mBAAmB;gBAC1B,mBAAmB,EAAE,oBAAoB;gBACzC,mBAAmB,EAAE,iBAAiB;aACvC,CAAC,CAAC;YAEH,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC;YAExD,OAAO,CAAC,GAAG,CAAC,iCAAiC,UAAU,aAAa,CAAC,CAAC;YAEtE,6DAA6D;YAC7D,MAAM,aAAa,GAAG,IAAA,yBAAc,EAClC,mBAAmB,CAAC,MAAM,EAC1B,WAAW,EACX,SAAS,EACT,QAAQ,CACT,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;YAEhD,IAAI,IAAA,kCAAqB,EAAC,aAAa,CAAC,EAAE,CAAC;gBACzC,sCAAsC;gBACtC,OAAO,aAIN,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,CAAC;YAEjE,kFAAkF;YAClF,IAAI,IAAA,kCAAqB,EAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAA,iDAAgC,EAAC;oBACtC,GAAG,CAAC,mBAAmB,CAAC,YAAY;wBAClC,CAAC,CAAC,EAAE,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE;wBACpD,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,mBAAmB,CAAC,qBAAqB;wBAC3C,CAAC,CAAC,EAAE,qBAAqB,EAAE,mBAAmB,CAAC,qBAAqB,EAAE;wBACtE,CAAC,CAAC,EAAE,CAAC;oBACP,MAAM,EAAE,aAAa;oBACrB,OAAO,EAAE,uBAAuB,CAAC,WAAW;iBAC7C,CAAwF,CAAC;YAC5F,CAAC;YAED,MAAM,GAAG,GAA6C,aAAa,CAAC;YAEpE,OAAO,IAAA,iDAAgC,EAAC;gBACtC,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,uBAAuB,CAAC,WAAW;aAC7C,CAAwF,CAAC;QAC5F,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function run(): Promise<void>;
2
+ export declare function gogo(): Promise<void>;
3
+ //# sourceMappingURL=tool-client-inference.d.ts.map
@@ -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"}