safehands-pharos 1.3.0 → 1.4.0

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 (159) hide show
  1. package/.env.example +64 -26
  2. package/README.md +333 -445
  3. package/dist/cli.d.ts +5 -5
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +124 -98
  6. package/dist/cli.js.map +1 -1
  7. package/dist/demo.d.ts +1 -1
  8. package/dist/demo.js +171 -171
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.js +138 -85
  11. package/dist/index.js.map +1 -1
  12. package/dist/init.d.ts +1 -1
  13. package/dist/init.js +65 -65
  14. package/dist/lib/auditLog.d.ts +9 -0
  15. package/dist/lib/auditLog.d.ts.map +1 -0
  16. package/dist/lib/auditLog.js +30 -0
  17. package/dist/lib/auditLog.js.map +1 -0
  18. package/dist/lib/constants.d.ts +291 -291
  19. package/dist/lib/constants.js +292 -292
  20. package/dist/lib/dodoApi.d.ts +78 -70
  21. package/dist/lib/dodoApi.d.ts.map +1 -1
  22. package/dist/lib/dodoApi.js +196 -178
  23. package/dist/lib/dodoApi.js.map +1 -1
  24. package/dist/lib/http.d.ts +14 -14
  25. package/dist/lib/http.js +118 -118
  26. package/dist/lib/pharosClient.d.ts +58 -58
  27. package/dist/lib/pharosClient.d.ts.map +1 -1
  28. package/dist/lib/pharosClient.js +63 -53
  29. package/dist/lib/pharosClient.js.map +1 -1
  30. package/dist/lib/policy/actionPolicyEngine.d.ts +53 -53
  31. package/dist/lib/policy/actionPolicyEngine.js +212 -212
  32. package/dist/lib/riskEngine.d.ts +26 -26
  33. package/dist/lib/riskEngine.js +283 -283
  34. package/dist/lib/signer/index.d.ts +24 -24
  35. package/dist/lib/signer/index.d.ts.map +1 -1
  36. package/dist/lib/signer/index.js +88 -89
  37. package/dist/lib/signer/index.js.map +1 -1
  38. package/dist/lib/spendAccumulator.d.ts +10 -0
  39. package/dist/lib/spendAccumulator.d.ts.map +1 -0
  40. package/dist/lib/spendAccumulator.js +54 -0
  41. package/dist/lib/spendAccumulator.js.map +1 -0
  42. package/dist/lib/testDodoLive.d.ts +1 -1
  43. package/dist/lib/testDodoLive.js +104 -104
  44. package/dist/lib/testLiveSafehands.d.ts +1 -1
  45. package/dist/lib/testLiveSafehands.js +92 -92
  46. package/dist/lib/testRpc.d.ts +1 -1
  47. package/dist/lib/testRpc.js +29 -29
  48. package/dist/lib/testRpcLive.d.ts +1 -1
  49. package/dist/lib/testRpcLive.js +88 -88
  50. package/dist/lib/testTools.d.ts +1 -1
  51. package/dist/lib/testTools.js +397 -397
  52. package/dist/lib/testX402Live.d.ts +1 -1
  53. package/dist/lib/testX402Live.js +159 -159
  54. package/dist/lib/toolResponse.d.ts +25 -25
  55. package/dist/lib/toolResponse.js +53 -53
  56. package/dist/lib/wallet/index.d.ts +37 -18
  57. package/dist/lib/wallet/index.d.ts.map +1 -1
  58. package/dist/lib/wallet/index.js +128 -70
  59. package/dist/lib/wallet/index.js.map +1 -1
  60. package/dist/scripts/checkDeploy.d.ts +1 -1
  61. package/dist/scripts/checkDeploy.js +24 -24
  62. package/dist/scripts/deployRegistry.d.ts +1 -1
  63. package/dist/scripts/deployRegistry.js +100 -100
  64. package/dist/scripts/testRegistry.d.ts +1 -1
  65. package/dist/scripts/testRegistry.js +43 -43
  66. package/dist/tools/approveToken.d.ts +45 -46
  67. package/dist/tools/approveToken.d.ts.map +1 -1
  68. package/dist/tools/approveToken.js +85 -83
  69. package/dist/tools/approveToken.js.map +1 -1
  70. package/dist/tools/assessRisk.d.ts +79 -79
  71. package/dist/tools/assessRisk.d.ts.map +1 -1
  72. package/dist/tools/assessRisk.js +104 -93
  73. package/dist/tools/assessRisk.js.map +1 -1
  74. package/dist/tools/checkAllowance.d.ts +43 -36
  75. package/dist/tools/checkAllowance.d.ts.map +1 -1
  76. package/dist/tools/checkAllowance.js +56 -42
  77. package/dist/tools/checkAllowance.js.map +1 -1
  78. package/dist/tools/checkTokenSecurity.d.ts +46 -46
  79. package/dist/tools/checkTokenSecurity.d.ts.map +1 -1
  80. package/dist/tools/checkTokenSecurity.js +95 -88
  81. package/dist/tools/checkTokenSecurity.js.map +1 -1
  82. package/dist/tools/createAgentWallet.d.ts +26 -26
  83. package/dist/tools/createAgentWallet.d.ts.map +1 -1
  84. package/dist/tools/createAgentWallet.js +58 -59
  85. package/dist/tools/createAgentWallet.js.map +1 -1
  86. package/dist/tools/estimateGas.d.ts +79 -79
  87. package/dist/tools/estimateGas.js +124 -124
  88. package/dist/tools/executeSwap.d.ts +61 -59
  89. package/dist/tools/executeSwap.d.ts.map +1 -1
  90. package/dist/tools/executeSwap.js +141 -129
  91. package/dist/tools/executeSwap.js.map +1 -1
  92. package/dist/tools/explainRisk.d.ts +29 -29
  93. package/dist/tools/explainRisk.js +32 -32
  94. package/dist/tools/getAgentWallet.d.ts +21 -21
  95. package/dist/tools/getAgentWallet.js +27 -27
  96. package/dist/tools/getAgentWalletBalance.d.ts +11 -11
  97. package/dist/tools/getAgentWalletBalance.js +70 -70
  98. package/dist/tools/getExecutionHistory.d.ts +49 -51
  99. package/dist/tools/getExecutionHistory.d.ts.map +1 -1
  100. package/dist/tools/getExecutionHistory.js +154 -93
  101. package/dist/tools/getExecutionHistory.js.map +1 -1
  102. package/dist/tools/getGasPrice.d.ts +43 -43
  103. package/dist/tools/getGasPrice.js +59 -59
  104. package/dist/tools/getPoolInfo.d.ts +75 -75
  105. package/dist/tools/getPoolInfo.js +137 -137
  106. package/dist/tools/getTokenPrice.d.ts +113 -113
  107. package/dist/tools/getTokenPrice.js +117 -117
  108. package/dist/tools/getTransactionStatus.d.ts +43 -57
  109. package/dist/tools/getTransactionStatus.d.ts.map +1 -1
  110. package/dist/tools/getTransactionStatus.js +59 -67
  111. package/dist/tools/getTransactionStatus.js.map +1 -1
  112. package/dist/tools/getWalletBalance.d.ts +68 -68
  113. package/dist/tools/getWalletBalance.js +87 -87
  114. package/dist/tools/publishRiskScore.d.ts +63 -63
  115. package/dist/tools/publishRiskScore.d.ts.map +1 -1
  116. package/dist/tools/publishRiskScore.js +88 -85
  117. package/dist/tools/publishRiskScore.js.map +1 -1
  118. package/dist/tools/queryRiskRegistry.d.ts +38 -48
  119. package/dist/tools/queryRiskRegistry.d.ts.map +1 -1
  120. package/dist/tools/queryRiskRegistry.js +55 -60
  121. package/dist/tools/queryRiskRegistry.js.map +1 -1
  122. package/dist/tools/safehandsPreflightCheck.d.ts +77 -77
  123. package/dist/tools/safehandsPreflightCheck.js +47 -47
  124. package/dist/tools/safehandsRiskReport.d.ts +81 -81
  125. package/dist/tools/safehandsRiskReport.js +28 -28
  126. package/dist/tools/safehandsSafeExecute.d.ts +20 -20
  127. package/dist/tools/safehandsSafeExecute.d.ts.map +1 -1
  128. package/dist/tools/safehandsSafeExecute.js +81 -75
  129. package/dist/tools/safehandsSafeExecute.js.map +1 -1
  130. package/dist/tools/safehandsWalletHealth.d.ts +14 -14
  131. package/dist/tools/safehandsWalletHealth.js +103 -103
  132. package/dist/tools/safehandsX402Preflight.d.ts +26 -26
  133. package/dist/tools/safehandsX402Preflight.js +65 -65
  134. package/dist/tools/sendPayment.d.ts +57 -58
  135. package/dist/tools/sendPayment.d.ts.map +1 -1
  136. package/dist/tools/sendPayment.js +117 -108
  137. package/dist/tools/sendPayment.js.map +1 -1
  138. package/dist/tools/simulateTransaction.d.ts +60 -81
  139. package/dist/tools/simulateTransaction.d.ts.map +1 -1
  140. package/dist/tools/simulateTransaction.js +83 -88
  141. package/dist/tools/simulateTransaction.js.map +1 -1
  142. package/dist/tools/tokenRegistryStatus.d.ts +26 -26
  143. package/dist/tools/tokenRegistryStatus.js +96 -96
  144. package/dist/tools/x402PayAndFetch.d.ts +81 -81
  145. package/dist/tools/x402PayAndFetch.d.ts.map +1 -1
  146. package/dist/tools/x402PayAndFetch.js +152 -149
  147. package/dist/tools/x402PayAndFetch.js.map +1 -1
  148. package/dist/x402Server.d.ts +1 -1
  149. package/dist/x402Server.js +252 -252
  150. package/examples/dashboard/index.html +337 -0
  151. package/package.json +83 -84
  152. package/.agents/skill/safehands/SKILL.md +0 -212
  153. package/.agents/skill/safehands/assets/networks.json +0 -24
  154. package/.agents/skill/safehands/assets/tokens.json +0 -66
  155. package/.agents/wallets.json +0 -20
  156. package/docs/reports/OFFICIAL_DOCS_ALIGNMENT_REPORT.md +0 -137
  157. package/docs/reports/final_audit_report.md +0 -307
  158. package/docs/reports/live_verification_report.md +0 -147
  159. package/docs/reports/pharos_skill_engine_alignment_report.md +0 -85
@@ -1,130 +1,142 @@
1
- // ─── Tool: execute_swap ────────────────────────────────────────────────
2
- import { z } from "zod";
3
- import { publicClient, createPharosWalletClientFromAccount, getExplorerUrl } from "../lib/pharosClient.js";
4
- import { getDodoRoute, isNativeToken, resolveTokenAddress, resolveTokenDecimals, toWei } from "../lib/dodoApi.js";
5
- import { assessRisk } from "../lib/riskEngine.js";
6
- import { fail, ok, classifyExternalError } from "../lib/toolResponse.js";
7
- import { DODO_APPROVE_ADDRESS, ERC20_ABI, RISK_BLOCK_THRESHOLD, MAX_TX_AMOUNT_PHRS, CHAIN_ID, PHAROS_ENVIRONMENT } from "../lib/constants.js";
8
- import { getSigner, isSignerFailure } from "../lib/signer/index.js";
9
- import { evaluateActionPolicy } from "../lib/policy/actionPolicyEngine.js";
10
- export const executeSwapSchema = z.object({
11
- tokenIn: z.string(),
12
- tokenOut: z.string(),
13
- amountIn: z.string(),
14
- slippageTolerance: z.number().optional().default(3.225),
15
- agentId: z.string().optional().describe("Managed testnet wallet agentId when WALLET_MODE=managed-testnet"),
16
- });
17
- export const executeSwapTool = {
18
- name: "execute_swap",
19
- description: "Swap tokens via FaroSwap with built-in risk gate. Runs risk assessment first, blocks if score > 80.",
20
- inputSchema: executeSwapSchema,
21
- };
22
- export async function handleExecuteSwap(raw) {
23
- if (process.env.WRITE_TOOLS_ENABLED !== "true") {
24
- return fail("WRITE_TOOLS_DISABLED", "execute_swap is disabled by default. Set WRITE_TOOLS_ENABLED=true only for trusted testnet execution.", false, "execute_swap");
25
- }
26
- const input = executeSwapSchema.parse(raw);
27
- const signer = await getSigner(input.agentId);
28
- if (isSignerFailure(signer)) {
29
- return fail(signer.error.code, signer.error.message, false, "execute_swap");
30
- }
31
- const walletAddress = signer.address;
32
- const policy = evaluateActionPolicy({
33
- actionType: "execute_swap",
34
- amount: input.amountIn,
35
- amountUnit: "TOKEN",
36
- tokenIn: input.tokenIn,
37
- tokenOut: input.tokenOut,
38
- chainId: CHAIN_ID,
39
- environment: PHAROS_ENVIRONMENT,
40
- isMainnet: false,
41
- signerAvailable: true,
42
- requiresSigner: true,
43
- });
44
- if (policy.decision === "BLOCK") {
45
- return fail("POLICY_BLOCKED", policy.reasons.join(" ") || "Swap blocked by SafeHands policy.", false, "execute_swap");
46
- }
47
- if (Number(input.amountIn) > Number(MAX_TX_AMOUNT_PHRS) && input.tokenIn.toUpperCase() === "PHRS") {
48
- return fail("TX_LIMIT_EXCEEDED", `Swap amount exceeds configured testnet limit (${MAX_TX_AMOUNT_PHRS}).`, false, "execute_swap");
49
- }
50
- const risk = await assessRisk({
51
- action: "swap",
52
- tokenIn: input.tokenIn,
53
- tokenOut: input.tokenOut,
54
- amount: input.amountIn,
55
- walletAddress,
56
- });
57
- if (risk.riskScore > RISK_BLOCK_THRESHOLD) {
58
- return fail("POLICY_BLOCKED", `Swap blocked — risk score ${risk.riskScore}/100: ${risk.suggestion}`, false, "execute_swap");
59
- }
60
- try {
61
- const quote = await getDodoRoute({
62
- fromToken: input.tokenIn,
63
- toToken: input.tokenOut,
64
- amountHuman: input.amountIn,
65
- walletAddress,
66
- slippage: input.slippageTolerance,
67
- });
68
- if (!quote.routeAvailable) {
69
- return fail("NO_ROUTE_AVAILABLE", "No swap route available — insufficient liquidity", true, "dodo_api");
70
- }
71
- const wallet = createPharosWalletClientFromAccount(signer.account);
72
- if (!isNativeToken(input.tokenIn)) {
73
- const tokenAddr = resolveTokenAddress(input.tokenIn);
74
- const decimals = resolveTokenDecimals(input.tokenIn);
75
- const amountWei = BigInt(toWei(input.amountIn, decimals));
76
- const allowance = (await publicClient.readContract({
77
- address: tokenAddr,
78
- abi: ERC20_ABI,
79
- functionName: "allowance",
80
- args: [walletAddress, DODO_APPROVE_ADDRESS],
81
- }));
82
- if (allowance < amountWei) {
83
- const approvalPolicy = evaluateActionPolicy({
84
- actionType: "approve_token",
85
- approvalAmount: input.amountIn,
86
- spender: DODO_APPROVE_ADDRESS,
87
- spenderVerified: true,
88
- chainId: CHAIN_ID,
89
- environment: PHAROS_ENVIRONMENT,
90
- isMainnet: false,
91
- signerAvailable: true,
92
- requiresSigner: true,
93
- });
94
- if (approvalPolicy.decision === "BLOCK") {
95
- return fail("POLICY_BLOCKED", `Swap approval blocked: ${approvalPolicy.reasons.join(" ")}`, false, "execute_swap");
96
- }
97
- const approveHash = await wallet.writeContract({
98
- address: tokenAddr,
99
- abi: ERC20_ABI,
100
- functionName: "approve",
101
- args: [DODO_APPROVE_ADDRESS, amountWei],
102
- });
103
- await publicClient.waitForTransactionReceipt({ hash: approveHash });
104
- }
105
- }
106
- const txHash = await wallet.sendTransaction({
107
- to: quote.to,
108
- value: BigInt(quote.value),
109
- data: quote.calldata,
110
- gas: BigInt(quote.gasLimit),
111
- });
112
- const receipt = await publicClient.waitForTransactionReceipt({ hash: txHash });
113
- return ok({
114
- txSuccess: receipt.status === "success",
115
- txHash,
116
- explorerUrl: getExplorerUrl(txHash),
117
- amountOut: quote.amountOut,
118
- signerMode: signer.mode,
119
- walletAddress,
120
- gasUsed: receipt.gasUsed.toString(),
121
- policy,
122
- riskAssessment: { riskScore: risk.riskScore, wasBlocked: false },
123
- source: "execute_swap",
124
- });
125
- }
126
- catch (err) {
127
- return classifyExternalError("pharos_rpc", err);
128
- }
129
- }
1
+ // ─── Tool: execute_swap ────────────────────────────────────────────────
2
+ import { z } from "zod";
3
+ import { publicClient, createPharosWalletClientFromAccount, getExplorerUrl } from "../lib/pharosClient.js";
4
+ import { getDodoRoute, isNativeToken, resolveTokenAddress, resolveTokenDecimals, toWei } from "../lib/dodoApi.js";
5
+ import { assessRisk } from "../lib/riskEngine.js";
6
+ import { fail, ok, classifyExternalError } from "../lib/toolResponse.js";
7
+ import { DODO_APPROVE_ADDRESS, ERC20_ABI, RISK_BLOCK_THRESHOLD, MAX_TX_AMOUNT_PHRS, CHAIN_ID, PHAROS_ENVIRONMENT } from "../lib/constants.js";
8
+ import { getSigner, isSignerFailure } from "../lib/signer/index.js";
9
+ import { evaluateActionPolicy } from "../lib/policy/actionPolicyEngine.js";
10
+ import { checkDailyLimit, recordSpend, estimateUsd } from "../lib/spendAccumulator.js";
11
+ export const executeSwapSchema = z.object({
12
+ tokenIn: z.string(),
13
+ tokenOut: z.string(),
14
+ amountIn: z.string(),
15
+ slippageTolerance: z.number().optional().default(3.225),
16
+ agentId: z.string().optional().describe("Managed testnet wallet agentId when WALLET_MODE=managed-testnet"),
17
+ });
18
+ export const executeSwapTool = {
19
+ name: "execute_swap",
20
+ description: "Swap tokens via FaroSwap with built-in risk gate. Runs risk assessment first, blocks if score > 80.",
21
+ inputSchema: executeSwapSchema,
22
+ };
23
+ export async function handleExecuteSwap(raw) {
24
+ if (process.env.WRITE_TOOLS_ENABLED !== "true") {
25
+ return fail("WRITE_TOOLS_DISABLED", "execute_swap is disabled by default. Set WRITE_TOOLS_ENABLED=true only for trusted testnet execution.", false, "execute_swap");
26
+ }
27
+ const input = executeSwapSchema.parse(raw);
28
+ const signer = await getSigner(input.agentId);
29
+ if (isSignerFailure(signer)) {
30
+ return fail(signer.error.code, signer.error.message, false, "execute_swap");
31
+ }
32
+ const walletAddress = signer.address;
33
+ const policy = evaluateActionPolicy({
34
+ actionType: "execute_swap",
35
+ amount: input.amountIn,
36
+ amountUnit: "TOKEN",
37
+ tokenIn: input.tokenIn,
38
+ tokenOut: input.tokenOut,
39
+ chainId: CHAIN_ID,
40
+ environment: PHAROS_ENVIRONMENT,
41
+ isMainnet: false,
42
+ signerAvailable: true,
43
+ requiresSigner: true,
44
+ });
45
+ if (policy.decision === "BLOCK") {
46
+ return fail("POLICY_BLOCKED", policy.reasons.join(" ") || "Swap blocked by SafeHands policy.", false, "execute_swap");
47
+ }
48
+ if (Number(input.amountIn) > Number(MAX_TX_AMOUNT_PHRS) && input.tokenIn.toUpperCase() === "PHRS") {
49
+ return fail("TX_LIMIT_EXCEEDED", `Swap amount exceeds configured testnet limit (${MAX_TX_AMOUNT_PHRS}).`, false, "execute_swap");
50
+ }
51
+ const amountUsd = estimateUsd(input.amountIn, input.tokenIn);
52
+ const dailyCheck = checkDailyLimit(walletAddress, amountUsd);
53
+ if (!dailyCheck.allowed) {
54
+ return fail("DAILY_SPEND_LIMIT_EXCEEDED", `Daily spend limit reached. Spent $${dailyCheck.currentUsd.toFixed(2)} of $${dailyCheck.limitUsd.toFixed(2)} USD today. Remaining: $${dailyCheck.remainingUsd.toFixed(2)}. Resets at UTC midnight.`, false, "execute_swap");
55
+ }
56
+ const risk = await assessRisk({
57
+ action: "swap",
58
+ tokenIn: input.tokenIn,
59
+ tokenOut: input.tokenOut,
60
+ amount: input.amountIn,
61
+ walletAddress,
62
+ });
63
+ if (risk.riskScore > RISK_BLOCK_THRESHOLD) {
64
+ return fail("POLICY_BLOCKED", `Swap blocked — risk score ${risk.riskScore}/100: ${risk.suggestion}`, false, "execute_swap");
65
+ }
66
+ try {
67
+ const quote = await getDodoRoute({
68
+ fromToken: input.tokenIn,
69
+ toToken: input.tokenOut,
70
+ amountHuman: input.amountIn,
71
+ walletAddress,
72
+ slippage: input.slippageTolerance,
73
+ });
74
+ if (!quote.routeAvailable) {
75
+ return fail("NO_ROUTE_AVAILABLE", "No swap route available — insufficient liquidity", true, "dodo_api");
76
+ }
77
+ const wallet = createPharosWalletClientFromAccount(signer.account);
78
+ if (!isNativeToken(input.tokenIn)) {
79
+ const tokenAddr = resolveTokenAddress(input.tokenIn);
80
+ const decimals = resolveTokenDecimals(input.tokenIn);
81
+ const amountWei = BigInt(toWei(input.amountIn, decimals));
82
+ const allowance = (await publicClient.readContract({
83
+ address: tokenAddr,
84
+ abi: ERC20_ABI,
85
+ functionName: "allowance",
86
+ args: [walletAddress, DODO_APPROVE_ADDRESS],
87
+ }));
88
+ if (allowance < amountWei) {
89
+ const approvalPolicy = evaluateActionPolicy({
90
+ actionType: "approve_token",
91
+ approvalAmount: input.amountIn,
92
+ spender: DODO_APPROVE_ADDRESS,
93
+ spenderVerified: true,
94
+ chainId: CHAIN_ID,
95
+ environment: PHAROS_ENVIRONMENT,
96
+ isMainnet: false,
97
+ signerAvailable: true,
98
+ requiresSigner: true,
99
+ });
100
+ if (approvalPolicy.decision === "BLOCK") {
101
+ return fail("POLICY_BLOCKED", `Swap approval blocked: ${approvalPolicy.reasons.join(" ")}`, false, "execute_swap");
102
+ }
103
+ const approveHash = await wallet.writeContract({
104
+ address: tokenAddr,
105
+ abi: ERC20_ABI,
106
+ functionName: "approve",
107
+ args: [DODO_APPROVE_ADDRESS, amountWei],
108
+ });
109
+ await publicClient.waitForTransactionReceipt({ hash: approveHash });
110
+ }
111
+ }
112
+ const txHash = await wallet.sendTransaction({
113
+ to: quote.to,
114
+ value: BigInt(quote.value),
115
+ data: quote.calldata,
116
+ gas: BigInt(quote.gasLimit),
117
+ });
118
+ const receipt = await publicClient.waitForTransactionReceipt({ hash: txHash });
119
+ if (receipt.status !== "success") {
120
+ return fail("TX_REVERTED", "execute_swap transaction was mined but reverted on-chain.", false, "execute_swap");
121
+ }
122
+ recordSpend(walletAddress, amountUsd);
123
+ return ok({
124
+ txHash,
125
+ explorerUrl: getExplorerUrl(txHash),
126
+ amountOut: quote.amountOut,
127
+ usedFromToken: quote.usedFromToken,
128
+ usedToToken: quote.usedToToken,
129
+ wasSubstituted: quote.wasSubstituted,
130
+ signerMode: signer.mode,
131
+ walletAddress,
132
+ gasUsed: receipt.gasUsed.toString(),
133
+ policy,
134
+ riskAssessment: { riskScore: risk.riskScore, wasBlocked: false },
135
+ source: "execute_swap",
136
+ });
137
+ }
138
+ catch (err) {
139
+ return classifyExternalError("pharos_rpc", err);
140
+ }
141
+ }
130
142
  //# sourceMappingURL=executeSwap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executeSwap.js","sourceRoot":"","sources":["../../src/tools/executeSwap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executeSwap.js","sourceRoot":"","sources":["../../src/tools/executeSwap.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,30 @@
1
- import { z } from "zod";
2
- import { type ToolResponse } from "../lib/toolResponse.js";
3
- export declare const explainRiskSchema: z.ZodObject<{
4
- decision: z.ZodEnum<["ALLOW", "WARN", "BLOCK", "REQUIRE_CONFIRMATION", "REQUIRE_FUNDING", "REQUIRE_TOKEN_REVIEW"]>;
5
- riskLevel: z.ZodEnum<["LOW", "MEDIUM", "HIGH", "CRITICAL", "UNKNOWN"]>;
6
- reasons: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
7
- requiredActions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
8
- environment: z.ZodDefault<z.ZodOptional<z.ZodString>>;
9
- chainId: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
10
- isMainnet: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
11
- }, "strip", z.ZodTypeAny, {
12
- riskLevel: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | "UNKNOWN";
13
- environment: string;
14
- chainId: number;
15
- isMainnet: boolean;
16
- decision: "ALLOW" | "WARN" | "BLOCK" | "REQUIRE_CONFIRMATION" | "REQUIRE_FUNDING" | "REQUIRE_TOKEN_REVIEW";
17
- reasons: string[];
18
- requiredActions: string[];
19
- }, {
20
- riskLevel: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | "UNKNOWN";
21
- decision: "ALLOW" | "WARN" | "BLOCK" | "REQUIRE_CONFIRMATION" | "REQUIRE_FUNDING" | "REQUIRE_TOKEN_REVIEW";
22
- environment?: string | undefined;
23
- chainId?: number | undefined;
24
- isMainnet?: boolean | undefined;
25
- reasons?: string[] | undefined;
26
- requiredActions?: string[] | undefined;
27
- }>;
28
- export type ExplainRiskInput = z.input<typeof explainRiskSchema>;
29
- export declare function handleExplainRisk(raw: ExplainRiskInput): Promise<ToolResponse<unknown>>;
1
+ import { z } from "zod";
2
+ import { type ToolResponse } from "../lib/toolResponse.js";
3
+ export declare const explainRiskSchema: z.ZodObject<{
4
+ decision: z.ZodEnum<["ALLOW", "WARN", "BLOCK", "REQUIRE_CONFIRMATION", "REQUIRE_FUNDING", "REQUIRE_TOKEN_REVIEW"]>;
5
+ riskLevel: z.ZodEnum<["LOW", "MEDIUM", "HIGH", "CRITICAL", "UNKNOWN"]>;
6
+ reasons: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
7
+ requiredActions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
8
+ environment: z.ZodDefault<z.ZodOptional<z.ZodString>>;
9
+ chainId: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
10
+ isMainnet: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ riskLevel: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | "UNKNOWN";
13
+ environment: string;
14
+ chainId: number;
15
+ isMainnet: boolean;
16
+ decision: "ALLOW" | "WARN" | "BLOCK" | "REQUIRE_CONFIRMATION" | "REQUIRE_FUNDING" | "REQUIRE_TOKEN_REVIEW";
17
+ reasons: string[];
18
+ requiredActions: string[];
19
+ }, {
20
+ riskLevel: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | "UNKNOWN";
21
+ decision: "ALLOW" | "WARN" | "BLOCK" | "REQUIRE_CONFIRMATION" | "REQUIRE_FUNDING" | "REQUIRE_TOKEN_REVIEW";
22
+ environment?: string | undefined;
23
+ chainId?: number | undefined;
24
+ isMainnet?: boolean | undefined;
25
+ reasons?: string[] | undefined;
26
+ requiredActions?: string[] | undefined;
27
+ }>;
28
+ export type ExplainRiskInput = z.input<typeof explainRiskSchema>;
29
+ export declare function handleExplainRisk(raw: ExplainRiskInput): Promise<ToolResponse<unknown>>;
30
30
  //# sourceMappingURL=explainRisk.d.ts.map
@@ -1,33 +1,33 @@
1
- // ─── Tool: explain_risk ────────────────────────────────────────────────
2
- import { z } from "zod";
3
- import { ok } from "../lib/toolResponse.js";
4
- import { explainPolicyResult } from "../lib/policy/actionPolicyEngine.js";
5
- export const explainRiskSchema = z.object({
6
- decision: z.enum(["ALLOW", "WARN", "BLOCK", "REQUIRE_CONFIRMATION", "REQUIRE_FUNDING", "REQUIRE_TOKEN_REVIEW"]),
7
- riskLevel: z.enum(["LOW", "MEDIUM", "HIGH", "CRITICAL", "UNKNOWN"]),
8
- reasons: z.array(z.string()).optional().default([]),
9
- requiredActions: z.array(z.string()).optional().default([]),
10
- environment: z.string().optional().default("atlantic-testnet"),
11
- chainId: z.number().optional().default(688689),
12
- isMainnet: z.boolean().optional().default(false),
13
- });
14
- export async function handleExplainRisk(raw) {
15
- const input = explainRiskSchema.parse(raw);
16
- const result = {
17
- decision: input.decision,
18
- riskLevel: input.riskLevel,
19
- safeToExecute: input.decision === "ALLOW",
20
- reasons: input.reasons,
21
- requiredActions: input.requiredActions,
22
- checks: [],
23
- environment: input.environment,
24
- chainId: input.chainId,
25
- isMainnet: input.isMainnet,
26
- };
27
- return ok({
28
- explanation: explainPolicyResult(result),
29
- ...result,
30
- source: "explain_risk",
31
- });
32
- }
1
+ // ─── Tool: explain_risk ────────────────────────────────────────────────
2
+ import { z } from "zod";
3
+ import { ok } from "../lib/toolResponse.js";
4
+ import { explainPolicyResult } from "../lib/policy/actionPolicyEngine.js";
5
+ export const explainRiskSchema = z.object({
6
+ decision: z.enum(["ALLOW", "WARN", "BLOCK", "REQUIRE_CONFIRMATION", "REQUIRE_FUNDING", "REQUIRE_TOKEN_REVIEW"]),
7
+ riskLevel: z.enum(["LOW", "MEDIUM", "HIGH", "CRITICAL", "UNKNOWN"]),
8
+ reasons: z.array(z.string()).optional().default([]),
9
+ requiredActions: z.array(z.string()).optional().default([]),
10
+ environment: z.string().optional().default("atlantic-testnet"),
11
+ chainId: z.number().optional().default(688689),
12
+ isMainnet: z.boolean().optional().default(false),
13
+ });
14
+ export async function handleExplainRisk(raw) {
15
+ const input = explainRiskSchema.parse(raw);
16
+ const result = {
17
+ decision: input.decision,
18
+ riskLevel: input.riskLevel,
19
+ safeToExecute: input.decision === "ALLOW",
20
+ reasons: input.reasons,
21
+ requiredActions: input.requiredActions,
22
+ checks: [],
23
+ environment: input.environment,
24
+ chainId: input.chainId,
25
+ isMainnet: input.isMainnet,
26
+ };
27
+ return ok({
28
+ explanation: explainPolicyResult(result),
29
+ ...result,
30
+ source: "explain_risk",
31
+ });
32
+ }
33
33
  //# sourceMappingURL=explainRisk.js.map
@@ -1,22 +1,22 @@
1
- import { z } from "zod";
2
- import { type ToolResponse } from "../lib/toolResponse.js";
3
- export declare const getAgentWalletSchema: z.ZodObject<{
4
- agentId: z.ZodString;
5
- }, "strip", z.ZodTypeAny, {
6
- agentId: string;
7
- }, {
8
- agentId: string;
9
- }>;
10
- export type GetAgentWalletParams = z.infer<typeof getAgentWalletSchema>;
11
- interface GetAgentWalletData {
12
- agentId: string;
13
- address: string;
14
- environment: string;
15
- chainId: number;
16
- isMainnet: boolean;
17
- createdAt: string;
18
- explorerUrl: string;
19
- }
20
- export declare function handleGetAgentWallet(params: GetAgentWalletParams): Promise<ToolResponse<GetAgentWalletData>>;
21
- export {};
1
+ import { z } from "zod";
2
+ import { type ToolResponse } from "../lib/toolResponse.js";
3
+ export declare const getAgentWalletSchema: z.ZodObject<{
4
+ agentId: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ agentId: string;
7
+ }, {
8
+ agentId: string;
9
+ }>;
10
+ export type GetAgentWalletParams = z.infer<typeof getAgentWalletSchema>;
11
+ interface GetAgentWalletData {
12
+ agentId: string;
13
+ address: string;
14
+ environment: string;
15
+ chainId: number;
16
+ isMainnet: boolean;
17
+ createdAt: string;
18
+ explorerUrl: string;
19
+ }
20
+ export declare function handleGetAgentWallet(params: GetAgentWalletParams): Promise<ToolResponse<GetAgentWalletData>>;
21
+ export {};
22
22
  //# sourceMappingURL=getAgentWallet.d.ts.map
@@ -1,28 +1,28 @@
1
- // ─── get_agent_wallet ───────────────────────────────────────────────────
2
- // Returns public info for a managed agent wallet.
3
- // Never returns private key.
4
- // ────────────────────────────────────────────────────────────────────────
5
- import { z } from "zod";
6
- import { ok, fail } from "../lib/toolResponse.js";
7
- import { walletStore } from "../lib/wallet/index.js";
8
- export const getAgentWalletSchema = z.object({
9
- agentId: z.string().min(1).max(64).describe("Agent wallet identifier"),
10
- });
11
- export async function handleGetAgentWallet(params) {
12
- const { agentId } = params;
13
- const wallet = await walletStore.get(agentId);
14
- if (!wallet) {
15
- return fail("WALLET_NOT_FOUND", `No wallet found for agentId '${agentId}'. Use create_agent_wallet to create one.`, false, "wallet_store");
16
- }
17
- const explorerBase = process.env.PHAROS_EXPLORER_BASE || "https://atlantic.pharosscan.xyz/address/";
18
- return ok({
19
- agentId: wallet.agentId,
20
- address: wallet.address,
21
- environment: wallet.environment,
22
- chainId: wallet.chainId,
23
- isMainnet: wallet.isMainnet,
24
- createdAt: wallet.createdAt,
25
- explorerUrl: `${explorerBase}${wallet.address}`,
26
- });
27
- }
1
+ // ─── get_agent_wallet ───────────────────────────────────────────────────
2
+ // Returns public info for a managed agent wallet.
3
+ // Never returns private key.
4
+ // ────────────────────────────────────────────────────────────────────────
5
+ import { z } from "zod";
6
+ import { ok, fail } from "../lib/toolResponse.js";
7
+ import { walletStore } from "../lib/wallet/index.js";
8
+ export const getAgentWalletSchema = z.object({
9
+ agentId: z.string().min(1).max(64).describe("Agent wallet identifier"),
10
+ });
11
+ export async function handleGetAgentWallet(params) {
12
+ const { agentId } = params;
13
+ const wallet = await walletStore.get(agentId);
14
+ if (!wallet) {
15
+ return fail("WALLET_NOT_FOUND", `No wallet found for agentId '${agentId}'. Use create_agent_wallet to create one.`, false, "wallet_store");
16
+ }
17
+ const explorerBase = process.env.PHAROS_EXPLORER_BASE || "https://atlantic.pharosscan.xyz/address/";
18
+ return ok({
19
+ agentId: wallet.agentId,
20
+ address: wallet.address,
21
+ environment: wallet.environment,
22
+ chainId: wallet.chainId,
23
+ isMainnet: wallet.isMainnet,
24
+ createdAt: wallet.createdAt,
25
+ explorerUrl: `${explorerBase}${wallet.address}`,
26
+ });
27
+ }
28
28
  //# sourceMappingURL=getAgentWallet.js.map
@@ -1,12 +1,12 @@
1
- import { z } from "zod";
2
- import { type ToolResponse } from "../lib/toolResponse.js";
3
- export declare const getAgentWalletBalanceSchema: z.ZodObject<{
4
- agentId: z.ZodString;
5
- }, "strip", z.ZodTypeAny, {
6
- agentId: string;
7
- }, {
8
- agentId: string;
9
- }>;
10
- export type GetAgentWalletBalanceParams = z.infer<typeof getAgentWalletBalanceSchema>;
11
- export declare function handleGetAgentWalletBalance(params: GetAgentWalletBalanceParams): Promise<ToolResponse<unknown>>;
1
+ import { z } from "zod";
2
+ import { type ToolResponse } from "../lib/toolResponse.js";
3
+ export declare const getAgentWalletBalanceSchema: z.ZodObject<{
4
+ agentId: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ agentId: string;
7
+ }, {
8
+ agentId: string;
9
+ }>;
10
+ export type GetAgentWalletBalanceParams = z.infer<typeof getAgentWalletBalanceSchema>;
11
+ export declare function handleGetAgentWalletBalance(params: GetAgentWalletBalanceParams): Promise<ToolResponse<unknown>>;
12
12
  //# sourceMappingURL=getAgentWalletBalance.d.ts.map