safehands-pharos 1.4.0 → 2.6.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 (571) hide show
  1. package/.agents/policies/default.json +15 -0
  2. package/.env.example +81 -64
  3. package/README.md +301 -333
  4. package/SECURITY.md +112 -0
  5. package/SKILL.md +59 -0
  6. package/contracts/SafeHandsAttestation.sol +182 -0
  7. package/contracts/SafeHandsRegistry.sol +149 -0
  8. package/dist/agent/SafeHandsGuardianAgent.d.ts +39 -0
  9. package/dist/agent/SafeHandsGuardianAgent.d.ts.map +1 -0
  10. package/dist/agent/SafeHandsGuardianAgent.js +98 -0
  11. package/dist/agent/SafeHandsGuardianAgent.js.map +1 -0
  12. package/dist/agent/agentDecisionFormatter.d.ts +43 -0
  13. package/dist/agent/agentDecisionFormatter.d.ts.map +1 -0
  14. package/dist/agent/agentDecisionFormatter.js +96 -0
  15. package/dist/agent/agentDecisionFormatter.js.map +1 -0
  16. package/dist/agent/agentEnrich.d.ts +28 -0
  17. package/dist/agent/agentEnrich.d.ts.map +1 -0
  18. package/dist/agent/agentEnrich.js +99 -0
  19. package/dist/agent/agentEnrich.js.map +1 -0
  20. package/dist/agent/agentIntentClassifier.d.ts +44 -0
  21. package/dist/agent/agentIntentClassifier.d.ts.map +1 -0
  22. package/dist/agent/agentIntentClassifier.js +77 -0
  23. package/dist/agent/agentIntentClassifier.js.map +1 -0
  24. package/dist/agent/agentPolicyResolver.d.ts +44 -0
  25. package/dist/agent/agentPolicyResolver.d.ts.map +1 -0
  26. package/dist/agent/agentPolicyResolver.js +94 -0
  27. package/dist/agent/agentPolicyResolver.js.map +1 -0
  28. package/dist/agent/agentRuntime.d.ts +12 -0
  29. package/dist/agent/agentRuntime.d.ts.map +1 -0
  30. package/dist/agent/agentRuntime.js +31 -0
  31. package/dist/agent/agentRuntime.js.map +1 -0
  32. package/dist/agent/agentToolRouter.d.ts +24 -0
  33. package/dist/agent/agentToolRouter.d.ts.map +1 -0
  34. package/dist/agent/agentToolRouter.js +89 -0
  35. package/dist/agent/agentToolRouter.js.map +1 -0
  36. package/dist/agent/guardianOperator.d.ts +35 -0
  37. package/dist/agent/guardianOperator.d.ts.map +1 -0
  38. package/dist/agent/guardianOperator.js +65 -0
  39. package/dist/agent/guardianOperator.js.map +1 -0
  40. package/dist/agent/index.d.ts +8 -0
  41. package/dist/agent/index.d.ts.map +1 -0
  42. package/dist/agent/index.js +14 -0
  43. package/dist/agent/index.js.map +1 -0
  44. package/dist/api/activityRoutes.d.ts +70 -0
  45. package/dist/api/activityRoutes.d.ts.map +1 -0
  46. package/dist/api/activityRoutes.js +100 -0
  47. package/dist/api/activityRoutes.js.map +1 -0
  48. package/dist/api/agentRoutes.d.ts +16 -0
  49. package/dist/api/agentRoutes.d.ts.map +1 -0
  50. package/dist/api/agentRoutes.js +37 -0
  51. package/dist/api/agentRoutes.js.map +1 -0
  52. package/dist/api/broadcastRoutes.d.ts +34 -0
  53. package/dist/api/broadcastRoutes.d.ts.map +1 -0
  54. package/dist/api/broadcastRoutes.js +147 -0
  55. package/dist/api/broadcastRoutes.js.map +1 -0
  56. package/dist/api/consolePage.d.ts +2 -0
  57. package/dist/api/consolePage.d.ts.map +1 -0
  58. package/dist/api/consolePage.js +206 -0
  59. package/dist/api/consolePage.js.map +1 -0
  60. package/dist/api/httpHardening.d.ts +75 -0
  61. package/dist/api/httpHardening.d.ts.map +1 -0
  62. package/dist/api/httpHardening.js +122 -0
  63. package/dist/api/httpHardening.js.map +1 -0
  64. package/dist/api/indexerRoutes.d.ts +46 -0
  65. package/dist/api/indexerRoutes.d.ts.map +1 -0
  66. package/dist/api/indexerRoutes.js +75 -0
  67. package/dist/api/indexerRoutes.js.map +1 -0
  68. package/dist/api/paidRoutes.d.ts +8 -0
  69. package/dist/api/paidRoutes.d.ts.map +1 -0
  70. package/dist/api/paidRoutes.js +175 -0
  71. package/dist/api/paidRoutes.js.map +1 -0
  72. package/dist/api/prepareRoutes.d.ts +58 -0
  73. package/dist/api/prepareRoutes.d.ts.map +1 -0
  74. package/dist/api/prepareRoutes.js +90 -0
  75. package/dist/api/prepareRoutes.js.map +1 -0
  76. package/dist/api/response.d.ts +39 -0
  77. package/dist/api/response.d.ts.map +1 -0
  78. package/dist/api/response.js +53 -0
  79. package/dist/api/response.js.map +1 -0
  80. package/dist/api/routes.d.ts +175 -0
  81. package/dist/api/routes.d.ts.map +1 -0
  82. package/dist/api/routes.js +276 -0
  83. package/dist/api/routes.js.map +1 -0
  84. package/dist/api/schemas.d.ts +147 -0
  85. package/dist/api/schemas.d.ts.map +1 -0
  86. package/dist/api/schemas.js +81 -0
  87. package/dist/api/schemas.js.map +1 -0
  88. package/dist/api/server.d.ts +11 -0
  89. package/dist/api/server.d.ts.map +1 -0
  90. package/dist/api/server.js +505 -0
  91. package/dist/api/server.js.map +1 -0
  92. package/dist/api/toolRoutes.d.ts +14 -0
  93. package/dist/api/toolRoutes.d.ts.map +1 -0
  94. package/dist/api/toolRoutes.js +138 -0
  95. package/dist/api/toolRoutes.js.map +1 -0
  96. package/dist/api/walletPrepareRoutes.d.ts +74 -0
  97. package/dist/api/walletPrepareRoutes.d.ts.map +1 -0
  98. package/dist/api/walletPrepareRoutes.js +127 -0
  99. package/dist/api/walletPrepareRoutes.js.map +1 -0
  100. package/dist/api/x402Gate.d.ts +51 -0
  101. package/dist/api/x402Gate.d.ts.map +1 -0
  102. package/dist/api/x402Gate.js +184 -0
  103. package/dist/api/x402Gate.js.map +1 -0
  104. package/dist/cli.d.ts +5 -5
  105. package/dist/cli.d.ts.map +1 -1
  106. package/dist/cli.js +154 -124
  107. package/dist/cli.js.map +1 -1
  108. package/dist/data/ecosystemRegistry.data.d.ts +3 -0
  109. package/dist/data/ecosystemRegistry.data.d.ts.map +1 -0
  110. package/dist/data/ecosystemRegistry.data.js +582 -0
  111. package/dist/data/ecosystemRegistry.data.js.map +1 -0
  112. package/dist/demo.d.ts +1 -1
  113. package/dist/demo.d.ts.map +1 -1
  114. package/dist/demo.js +206 -171
  115. package/dist/demo.js.map +1 -1
  116. package/dist/index.d.ts +2 -2
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +249 -164
  119. package/dist/index.js.map +1 -1
  120. package/dist/init.d.ts +1 -1
  121. package/dist/init.d.ts.map +1 -1
  122. package/dist/init.js +127 -65
  123. package/dist/init.js.map +1 -1
  124. package/dist/lib/analysis/approval.d.ts +29 -0
  125. package/dist/lib/analysis/approval.d.ts.map +1 -0
  126. package/dist/lib/analysis/approval.js +162 -0
  127. package/dist/lib/analysis/approval.js.map +1 -0
  128. package/dist/lib/analysis/calldata.d.ts +60 -0
  129. package/dist/lib/analysis/calldata.d.ts.map +1 -0
  130. package/dist/lib/analysis/calldata.js +349 -0
  131. package/dist/lib/analysis/calldata.js.map +1 -0
  132. package/dist/lib/analysis/contractIntel.d.ts +65 -0
  133. package/dist/lib/analysis/contractIntel.d.ts.map +1 -0
  134. package/dist/lib/analysis/contractIntel.js +320 -0
  135. package/dist/lib/analysis/contractIntel.js.map +1 -0
  136. package/dist/lib/analysis/evm.d.ts +42 -0
  137. package/dist/lib/analysis/evm.d.ts.map +1 -0
  138. package/dist/lib/analysis/evm.js +185 -0
  139. package/dist/lib/analysis/evm.js.map +1 -0
  140. package/dist/lib/analysis/gas.d.ts +4 -0
  141. package/dist/lib/analysis/gas.d.ts.map +1 -0
  142. package/dist/lib/analysis/gas.js +13 -0
  143. package/dist/lib/analysis/gas.js.map +1 -0
  144. package/dist/lib/analysis/index.d.ts +11 -0
  145. package/dist/lib/analysis/index.d.ts.map +1 -0
  146. package/dist/lib/analysis/index.js +16 -0
  147. package/dist/lib/analysis/index.js.map +1 -0
  148. package/dist/lib/analysis/pharosTokens.d.ts +31 -0
  149. package/dist/lib/analysis/pharosTokens.d.ts.map +1 -0
  150. package/dist/lib/analysis/pharosTokens.js +78 -0
  151. package/dist/lib/analysis/pharosTokens.js.map +1 -0
  152. package/dist/lib/analysis/safeTx.d.ts +27 -0
  153. package/dist/lib/analysis/safeTx.d.ts.map +1 -0
  154. package/dist/lib/analysis/safeTx.js +118 -0
  155. package/dist/lib/analysis/safeTx.js.map +1 -0
  156. package/dist/lib/analysis/token.d.ts +21 -0
  157. package/dist/lib/analysis/token.d.ts.map +1 -0
  158. package/dist/lib/analysis/token.js +151 -0
  159. package/dist/lib/analysis/token.js.map +1 -0
  160. package/dist/lib/analysis/types.d.ts +49 -0
  161. package/dist/lib/analysis/types.d.ts.map +1 -0
  162. package/dist/lib/analysis/types.js +10 -0
  163. package/dist/lib/analysis/types.js.map +1 -0
  164. package/dist/lib/analysis/x402.d.ts +24 -0
  165. package/dist/lib/analysis/x402.d.ts.map +1 -0
  166. package/dist/lib/analysis/x402.js +60 -0
  167. package/dist/lib/analysis/x402.js.map +1 -0
  168. package/dist/lib/auditLog.d.ts +1 -0
  169. package/dist/lib/auditLog.d.ts.map +1 -1
  170. package/dist/lib/auditLog.js +0 -0
  171. package/dist/lib/auditLog.js.map +1 -1
  172. package/dist/lib/config.d.ts +77 -0
  173. package/dist/lib/config.d.ts.map +1 -0
  174. package/dist/lib/config.js +120 -0
  175. package/dist/lib/config.js.map +1 -0
  176. package/dist/lib/constants.d.ts +452 -291
  177. package/dist/lib/constants.d.ts.map +1 -1
  178. package/dist/lib/constants.js +509 -292
  179. package/dist/lib/constants.js.map +1 -1
  180. package/dist/lib/dodoApi.d.ts +101 -78
  181. package/dist/lib/dodoApi.d.ts.map +1 -1
  182. package/dist/lib/dodoApi.js +259 -196
  183. package/dist/lib/dodoApi.js.map +1 -1
  184. package/dist/lib/ecosystemRegistry.d.ts +116 -0
  185. package/dist/lib/ecosystemRegistry.d.ts.map +1 -0
  186. package/dist/lib/ecosystemRegistry.js +178 -0
  187. package/dist/lib/ecosystemRegistry.js.map +1 -0
  188. package/dist/lib/envLoader.d.ts +2 -0
  189. package/dist/lib/envLoader.d.ts.map +1 -0
  190. package/dist/lib/envLoader.js +65 -0
  191. package/dist/lib/envLoader.js.map +1 -0
  192. package/dist/lib/goldsky.d.ts +58 -0
  193. package/dist/lib/goldsky.d.ts.map +1 -0
  194. package/dist/lib/goldsky.js +275 -0
  195. package/dist/lib/goldsky.js.map +1 -0
  196. package/dist/lib/guardian/decision.d.ts +23 -0
  197. package/dist/lib/guardian/decision.d.ts.map +1 -0
  198. package/dist/lib/guardian/decision.js +40 -0
  199. package/dist/lib/guardian/decision.js.map +1 -0
  200. package/dist/lib/http.d.ts +13 -14
  201. package/dist/lib/http.d.ts.map +1 -1
  202. package/dist/lib/http.js +383 -118
  203. package/dist/lib/http.js.map +1 -1
  204. package/dist/lib/managedExecution.d.ts +19 -0
  205. package/dist/lib/managedExecution.d.ts.map +1 -0
  206. package/dist/lib/managedExecution.js +64 -0
  207. package/dist/lib/managedExecution.js.map +1 -0
  208. package/dist/lib/merkleBatcher.d.ts +23 -0
  209. package/dist/lib/merkleBatcher.d.ts.map +1 -0
  210. package/dist/lib/merkleBatcher.js +62 -0
  211. package/dist/lib/merkleBatcher.js.map +1 -0
  212. package/dist/lib/networks.d.ts +48 -0
  213. package/dist/lib/networks.d.ts.map +1 -0
  214. package/dist/lib/networks.js +103 -0
  215. package/dist/lib/networks.js.map +1 -0
  216. package/dist/lib/observability/accessContext.d.ts +29 -0
  217. package/dist/lib/observability/accessContext.d.ts.map +1 -0
  218. package/dist/lib/observability/accessContext.js +50 -0
  219. package/dist/lib/observability/accessContext.js.map +1 -0
  220. package/dist/lib/observability/activityStore.d.ts +70 -0
  221. package/dist/lib/observability/activityStore.d.ts.map +1 -0
  222. package/dist/lib/observability/activityStore.js +149 -0
  223. package/dist/lib/observability/activityStore.js.map +1 -0
  224. package/dist/lib/observability/apiKey.d.ts +55 -0
  225. package/dist/lib/observability/apiKey.d.ts.map +1 -0
  226. package/dist/lib/observability/apiKey.js +141 -0
  227. package/dist/lib/observability/apiKey.js.map +1 -0
  228. package/dist/lib/observability/logger.d.ts +30 -0
  229. package/dist/lib/observability/logger.d.ts.map +1 -0
  230. package/dist/lib/observability/logger.js +30 -0
  231. package/dist/lib/observability/logger.js.map +1 -0
  232. package/dist/lib/observability/quota.d.ts +33 -0
  233. package/dist/lib/observability/quota.d.ts.map +1 -0
  234. package/dist/lib/observability/quota.js +49 -0
  235. package/dist/lib/observability/quota.js.map +1 -0
  236. package/dist/lib/observability/requestId.d.ts +8 -0
  237. package/dist/lib/observability/requestId.d.ts.map +1 -0
  238. package/dist/lib/observability/requestId.js +24 -0
  239. package/dist/lib/observability/requestId.js.map +1 -0
  240. package/dist/lib/observability/sanitize.d.ts +77 -0
  241. package/dist/lib/observability/sanitize.d.ts.map +1 -0
  242. package/dist/lib/observability/sanitize.js +228 -0
  243. package/dist/lib/observability/sanitize.js.map +1 -0
  244. package/dist/lib/observability/scopes.d.ts +20 -0
  245. package/dist/lib/observability/scopes.d.ts.map +1 -0
  246. package/dist/lib/observability/scopes.js +77 -0
  247. package/dist/lib/observability/scopes.js.map +1 -0
  248. package/dist/lib/okxDexApi.d.ts +106 -0
  249. package/dist/lib/okxDexApi.d.ts.map +1 -0
  250. package/dist/lib/okxDexApi.js +221 -0
  251. package/dist/lib/okxDexApi.js.map +1 -0
  252. package/dist/lib/persistentJsonStore.d.ts +5 -0
  253. package/dist/lib/persistentJsonStore.d.ts.map +1 -0
  254. package/dist/lib/persistentJsonStore.js +39 -0
  255. package/dist/lib/persistentJsonStore.js.map +1 -0
  256. package/dist/lib/pharos/attestationPublisher.d.ts +50 -0
  257. package/dist/lib/pharos/attestationPublisher.d.ts.map +1 -0
  258. package/dist/lib/pharos/attestationPublisher.js +262 -0
  259. package/dist/lib/pharos/attestationPublisher.js.map +1 -0
  260. package/dist/lib/pharos/ecosystem.d.ts +52 -0
  261. package/dist/lib/pharos/ecosystem.d.ts.map +1 -0
  262. package/dist/lib/pharos/ecosystem.js +431 -0
  263. package/dist/lib/pharos/ecosystem.js.map +1 -0
  264. package/dist/lib/pharos/ecosystemEvidence.d.ts +53 -0
  265. package/dist/lib/pharos/ecosystemEvidence.d.ts.map +1 -0
  266. package/dist/lib/pharos/ecosystemEvidence.js +133 -0
  267. package/dist/lib/pharos/ecosystemEvidence.js.map +1 -0
  268. package/dist/lib/pharos/rpc.d.ts +44 -0
  269. package/dist/lib/pharos/rpc.d.ts.map +1 -0
  270. package/dist/lib/pharos/rpc.js +90 -0
  271. package/dist/lib/pharos/rpc.js.map +1 -0
  272. package/dist/lib/pharos/rpcEvidence.d.ts +49 -0
  273. package/dist/lib/pharos/rpcEvidence.d.ts.map +1 -0
  274. package/dist/lib/pharos/rpcEvidence.js +46 -0
  275. package/dist/lib/pharos/rpcEvidence.js.map +1 -0
  276. package/dist/lib/pharos/rpcMethods.d.ts +46 -0
  277. package/dist/lib/pharos/rpcMethods.d.ts.map +1 -0
  278. package/dist/lib/pharos/rpcMethods.js +176 -0
  279. package/dist/lib/pharos/rpcMethods.js.map +1 -0
  280. package/dist/lib/pharos/spvVerifier.d.ts +47 -0
  281. package/dist/lib/pharos/spvVerifier.d.ts.map +1 -0
  282. package/dist/lib/pharos/spvVerifier.js +105 -0
  283. package/dist/lib/pharos/spvVerifier.js.map +1 -0
  284. package/dist/lib/pharos/userSignedBroadcaster.d.ts +10 -0
  285. package/dist/lib/pharos/userSignedBroadcaster.d.ts.map +1 -0
  286. package/dist/lib/pharos/userSignedBroadcaster.js +50 -0
  287. package/dist/lib/pharos/userSignedBroadcaster.js.map +1 -0
  288. package/dist/lib/pharosClient.d.ts +53 -58
  289. package/dist/lib/pharosClient.d.ts.map +1 -1
  290. package/dist/lib/pharosClient.js +56 -63
  291. package/dist/lib/pharosClient.js.map +1 -1
  292. package/dist/lib/policy/actionPolicyEngine.d.ts +89 -53
  293. package/dist/lib/policy/actionPolicyEngine.d.ts.map +1 -1
  294. package/dist/lib/policy/actionPolicyEngine.js +373 -212
  295. package/dist/lib/policy/actionPolicyEngine.js.map +1 -1
  296. package/dist/lib/policy/agentPolicy.d.ts +29 -0
  297. package/dist/lib/policy/agentPolicy.d.ts.map +1 -0
  298. package/dist/lib/policy/agentPolicy.js +154 -0
  299. package/dist/lib/policy/agentPolicy.js.map +1 -0
  300. package/dist/lib/policy/policyPresets.d.ts +30 -0
  301. package/dist/lib/policy/policyPresets.d.ts.map +1 -0
  302. package/dist/lib/policy/policyPresets.js +124 -0
  303. package/dist/lib/policy/policyPresets.js.map +1 -0
  304. package/dist/lib/policy/writeExecutionGate.d.ts +23 -0
  305. package/dist/lib/policy/writeExecutionGate.d.ts.map +1 -0
  306. package/dist/lib/policy/writeExecutionGate.js +65 -0
  307. package/dist/lib/policy/writeExecutionGate.js.map +1 -0
  308. package/dist/lib/preparedTxStore.d.ts +21 -0
  309. package/dist/lib/preparedTxStore.d.ts.map +1 -0
  310. package/dist/lib/preparedTxStore.js +90 -0
  311. package/dist/lib/preparedTxStore.js.map +1 -0
  312. package/dist/lib/price/chainlinkPushProvider.d.ts +34 -0
  313. package/dist/lib/price/chainlinkPushProvider.d.ts.map +1 -0
  314. package/dist/lib/price/chainlinkPushProvider.js +36 -0
  315. package/dist/lib/price/chainlinkPushProvider.js.map +1 -0
  316. package/dist/lib/price/feedRegistry.d.ts +26 -0
  317. package/dist/lib/price/feedRegistry.d.ts.map +1 -0
  318. package/dist/lib/price/feedRegistry.js +67 -0
  319. package/dist/lib/price/feedRegistry.js.map +1 -0
  320. package/dist/lib/price/priceResolver.d.ts +35 -0
  321. package/dist/lib/price/priceResolver.d.ts.map +1 -0
  322. package/dist/lib/price/priceResolver.js +246 -0
  323. package/dist/lib/price/priceResolver.js.map +1 -0
  324. package/dist/lib/price/supraProvider.d.ts +9 -0
  325. package/dist/lib/price/supraProvider.d.ts.map +1 -0
  326. package/dist/lib/price/supraProvider.js +17 -0
  327. package/dist/lib/price/supraProvider.js.map +1 -0
  328. package/dist/lib/price/types.d.ts +67 -0
  329. package/dist/lib/price/types.d.ts.map +1 -0
  330. package/dist/lib/price/types.js +7 -0
  331. package/dist/lib/price/types.js.map +1 -0
  332. package/dist/lib/productionGuards.d.ts +16 -0
  333. package/dist/lib/productionGuards.d.ts.map +1 -0
  334. package/dist/lib/productionGuards.js +93 -0
  335. package/dist/lib/productionGuards.js.map +1 -0
  336. package/dist/lib/recipientSafety.d.ts +5 -0
  337. package/dist/lib/recipientSafety.d.ts.map +1 -0
  338. package/dist/lib/recipientSafety.js +28 -0
  339. package/dist/lib/recipientSafety.js.map +1 -0
  340. package/dist/lib/riskEngine.d.ts +45 -26
  341. package/dist/lib/riskEngine.d.ts.map +1 -1
  342. package/dist/lib/riskEngine.js +346 -283
  343. package/dist/lib/riskEngine.js.map +1 -1
  344. package/dist/lib/riskInclusion.d.ts +72 -0
  345. package/dist/lib/riskInclusion.d.ts.map +1 -0
  346. package/dist/lib/riskInclusion.js +252 -0
  347. package/dist/lib/riskInclusion.js.map +1 -0
  348. package/dist/lib/safeHandsRegistry.d.ts +32 -0
  349. package/dist/lib/safeHandsRegistry.d.ts.map +1 -0
  350. package/dist/lib/safeHandsRegistry.js +151 -0
  351. package/dist/lib/safeHandsRegistry.js.map +1 -0
  352. package/dist/lib/signer/index.d.ts +24 -24
  353. package/dist/lib/signer/index.d.ts.map +1 -1
  354. package/dist/lib/signer/index.js +110 -88
  355. package/dist/lib/signer/index.js.map +1 -1
  356. package/dist/lib/spendAccumulator.d.ts +24 -1
  357. package/dist/lib/spendAccumulator.d.ts.map +1 -1
  358. package/dist/lib/spendAccumulator.js +76 -6
  359. package/dist/lib/spendAccumulator.js.map +1 -1
  360. package/dist/lib/toolResponse.d.ts +30 -25
  361. package/dist/lib/toolResponse.d.ts.map +1 -1
  362. package/dist/lib/toolResponse.js +57 -53
  363. package/dist/lib/toolResponse.js.map +1 -1
  364. package/dist/lib/validation.d.ts +7 -0
  365. package/dist/lib/validation.d.ts.map +1 -0
  366. package/dist/lib/validation.js +62 -0
  367. package/dist/lib/validation.js.map +1 -0
  368. package/dist/lib/wallet/index.d.ts +33 -37
  369. package/dist/lib/wallet/index.d.ts.map +1 -1
  370. package/dist/lib/wallet/index.js +141 -128
  371. package/dist/lib/wallet/index.js.map +1 -1
  372. package/dist/lib/x402ReplayStore.d.ts +6 -0
  373. package/dist/lib/x402ReplayStore.d.ts.map +1 -0
  374. package/dist/lib/x402ReplayStore.js +79 -0
  375. package/dist/lib/x402ReplayStore.js.map +1 -0
  376. package/dist/safehands.zip +0 -0
  377. package/dist/sdk.d.ts +14 -0
  378. package/dist/sdk.d.ts.map +1 -0
  379. package/dist/sdk.js +25 -0
  380. package/dist/sdk.js.map +1 -0
  381. package/dist/tools/approveToken.d.ts +66 -45
  382. package/dist/tools/approveToken.d.ts.map +1 -1
  383. package/dist/tools/approveToken.js +152 -85
  384. package/dist/tools/approveToken.js.map +1 -1
  385. package/dist/tools/assessRisk.d.ts +66 -79
  386. package/dist/tools/assessRisk.d.ts.map +1 -1
  387. package/dist/tools/assessRisk.js +63 -104
  388. package/dist/tools/assessRisk.js.map +1 -1
  389. package/dist/tools/checkAllowance.d.ts +49 -43
  390. package/dist/tools/checkAllowance.d.ts.map +1 -1
  391. package/dist/tools/checkAllowance.js +78 -56
  392. package/dist/tools/checkAllowance.js.map +1 -1
  393. package/dist/tools/checkTokenSecurity.d.ts +103 -46
  394. package/dist/tools/checkTokenSecurity.d.ts.map +1 -1
  395. package/dist/tools/checkTokenSecurity.js +240 -95
  396. package/dist/tools/checkTokenSecurity.js.map +1 -1
  397. package/dist/tools/createAgentWallet.d.ts +30 -26
  398. package/dist/tools/createAgentWallet.d.ts.map +1 -1
  399. package/dist/tools/createAgentWallet.js +87 -58
  400. package/dist/tools/createAgentWallet.js.map +1 -1
  401. package/dist/tools/estimateGas.d.ts +84 -79
  402. package/dist/tools/estimateGas.d.ts.map +1 -1
  403. package/dist/tools/estimateGas.js +130 -124
  404. package/dist/tools/estimateGas.js.map +1 -1
  405. package/dist/tools/executeSwap.d.ts +109 -61
  406. package/dist/tools/executeSwap.d.ts.map +1 -1
  407. package/dist/tools/executeSwap.js +289 -141
  408. package/dist/tools/executeSwap.js.map +1 -1
  409. package/dist/tools/explainRisk.d.ts +29 -29
  410. package/dist/tools/explainRisk.d.ts.map +1 -1
  411. package/dist/tools/explainRisk.js +33 -32
  412. package/dist/tools/explainRisk.js.map +1 -1
  413. package/dist/tools/getAgentPolicy.d.ts +15 -0
  414. package/dist/tools/getAgentPolicy.d.ts.map +1 -0
  415. package/dist/tools/getAgentPolicy.js +16 -0
  416. package/dist/tools/getAgentPolicy.js.map +1 -0
  417. package/dist/tools/getAgentReputation.d.ts +31 -0
  418. package/dist/tools/getAgentReputation.d.ts.map +1 -0
  419. package/dist/tools/getAgentReputation.js +44 -0
  420. package/dist/tools/getAgentReputation.js.map +1 -0
  421. package/dist/tools/getAgentWallet.d.ts +21 -21
  422. package/dist/tools/getAgentWallet.d.ts.map +1 -1
  423. package/dist/tools/getAgentWallet.js +37 -27
  424. package/dist/tools/getAgentWallet.js.map +1 -1
  425. package/dist/tools/getAgentWalletBalance.d.ts +11 -11
  426. package/dist/tools/getAgentWalletBalance.d.ts.map +1 -1
  427. package/dist/tools/getAgentWalletBalance.js +102 -70
  428. package/dist/tools/getAgentWalletBalance.js.map +1 -1
  429. package/dist/tools/getExecutionHistory.d.ts +49 -49
  430. package/dist/tools/getExecutionHistory.d.ts.map +1 -1
  431. package/dist/tools/getExecutionHistory.js +148 -154
  432. package/dist/tools/getExecutionHistory.js.map +1 -1
  433. package/dist/tools/getGasPrice.d.ts +43 -43
  434. package/dist/tools/getGasPrice.d.ts.map +0 -0
  435. package/dist/tools/getGasPrice.js +59 -59
  436. package/dist/tools/getGasPrice.js.map +1 -1
  437. package/dist/tools/getPoolInfo.d.ts +75 -75
  438. package/dist/tools/getPoolInfo.d.ts.map +1 -1
  439. package/dist/tools/getPoolInfo.js +142 -137
  440. package/dist/tools/getPoolInfo.js.map +1 -1
  441. package/dist/tools/getSpvProof.d.ts +24 -0
  442. package/dist/tools/getSpvProof.d.ts.map +1 -0
  443. package/dist/tools/getSpvProof.js +64 -0
  444. package/dist/tools/getSpvProof.js.map +1 -0
  445. package/dist/tools/getTokenPrice.d.ts +56 -113
  446. package/dist/tools/getTokenPrice.d.ts.map +1 -1
  447. package/dist/tools/getTokenPrice.js +110 -117
  448. package/dist/tools/getTokenPrice.js.map +1 -1
  449. package/dist/tools/getTransactionStatus.d.ts +43 -43
  450. package/dist/tools/getTransactionStatus.d.ts.map +0 -0
  451. package/dist/tools/getTransactionStatus.js +59 -59
  452. package/dist/tools/getTransactionStatus.js.map +0 -0
  453. package/dist/tools/getWalletBalance.d.ts +103 -68
  454. package/dist/tools/getWalletBalance.d.ts.map +1 -1
  455. package/dist/tools/getWalletBalance.js +127 -87
  456. package/dist/tools/getWalletBalance.js.map +1 -1
  457. package/dist/tools/publishRiskScore.d.ts +85 -63
  458. package/dist/tools/publishRiskScore.d.ts.map +1 -1
  459. package/dist/tools/publishRiskScore.js +136 -88
  460. package/dist/tools/publishRiskScore.js.map +1 -1
  461. package/dist/tools/queryGoldsky.d.ts +20 -0
  462. package/dist/tools/queryGoldsky.d.ts.map +1 -0
  463. package/dist/tools/queryGoldsky.js +29 -0
  464. package/dist/tools/queryGoldsky.js.map +1 -0
  465. package/dist/tools/queryRiskRegistry.d.ts +38 -38
  466. package/dist/tools/queryRiskRegistry.d.ts.map +1 -1
  467. package/dist/tools/queryRiskRegistry.js +59 -55
  468. package/dist/tools/queryRiskRegistry.js.map +1 -1
  469. package/dist/tools/safehandsPreflightCheck.d.ts +92 -77
  470. package/dist/tools/safehandsPreflightCheck.d.ts.map +1 -1
  471. package/dist/tools/safehandsPreflightCheck.js +174 -47
  472. package/dist/tools/safehandsPreflightCheck.js.map +1 -1
  473. package/dist/tools/safehandsRiskReport.d.ts +96 -81
  474. package/dist/tools/safehandsRiskReport.d.ts.map +1 -1
  475. package/dist/tools/safehandsRiskReport.js +48 -28
  476. package/dist/tools/safehandsRiskReport.js.map +1 -1
  477. package/dist/tools/safehandsSafeExecute.d.ts +20 -20
  478. package/dist/tools/safehandsSafeExecute.d.ts.map +1 -1
  479. package/dist/tools/safehandsSafeExecute.js +164 -81
  480. package/dist/tools/safehandsSafeExecute.js.map +1 -1
  481. package/dist/tools/safehandsWalletHealth.d.ts +28 -14
  482. package/dist/tools/safehandsWalletHealth.d.ts.map +1 -1
  483. package/dist/tools/safehandsWalletHealth.js +145 -103
  484. package/dist/tools/safehandsWalletHealth.js.map +1 -1
  485. package/dist/tools/safehandsX402Preflight.d.ts +26 -26
  486. package/dist/tools/safehandsX402Preflight.d.ts.map +1 -1
  487. package/dist/tools/safehandsX402Preflight.js +86 -65
  488. package/dist/tools/safehandsX402Preflight.js.map +1 -1
  489. package/dist/tools/sendPayment.d.ts +63 -57
  490. package/dist/tools/sendPayment.d.ts.map +1 -1
  491. package/dist/tools/sendPayment.js +144 -117
  492. package/dist/tools/sendPayment.js.map +1 -1
  493. package/dist/tools/setAgentPolicy.d.ts +75 -0
  494. package/dist/tools/setAgentPolicy.d.ts.map +1 -0
  495. package/dist/tools/setAgentPolicy.js +80 -0
  496. package/dist/tools/setAgentPolicy.js.map +1 -0
  497. package/dist/tools/simulateTransaction.d.ts +64 -60
  498. package/dist/tools/simulateTransaction.d.ts.map +1 -1
  499. package/dist/tools/simulateTransaction.js +116 -83
  500. package/dist/tools/simulateTransaction.js.map +1 -1
  501. package/dist/tools/tokenRegistryStatus.d.ts +46 -26
  502. package/dist/tools/tokenRegistryStatus.d.ts.map +1 -1
  503. package/dist/tools/tokenRegistryStatus.js +126 -96
  504. package/dist/tools/tokenRegistryStatus.js.map +1 -1
  505. package/dist/tools/verifyRiskInclusion.d.ts +59 -0
  506. package/dist/tools/verifyRiskInclusion.d.ts.map +1 -0
  507. package/dist/tools/verifyRiskInclusion.js +40 -0
  508. package/dist/tools/verifyRiskInclusion.js.map +1 -0
  509. package/dist/tools/x402PayAndFetch.d.ts +87 -81
  510. package/dist/tools/x402PayAndFetch.d.ts.map +1 -1
  511. package/dist/tools/x402PayAndFetch.js +295 -152
  512. package/dist/tools/x402PayAndFetch.js.map +1 -1
  513. package/dist/worker.d.ts +3 -0
  514. package/dist/worker.d.ts.map +1 -0
  515. package/dist/worker.js +39 -0
  516. package/dist/worker.js.map +1 -0
  517. package/dist/x402Server.d.ts +1 -1
  518. package/dist/x402Server.d.ts.map +1 -1
  519. package/dist/x402Server.js +409 -252
  520. package/dist/x402Server.js.map +1 -1
  521. package/docs/REVIEWER_QUICKSTART.md +113 -0
  522. package/docs/SAFEHANDS_REVIEWER_DEMO_SCRIPT.md +228 -0
  523. package/package.json +130 -83
  524. package/contracts/RiskRegistry.json +0 -223
  525. package/contracts/RiskRegistry.sol +0 -58
  526. package/dist/lib/testDodoLive.d.ts +0 -2
  527. package/dist/lib/testDodoLive.d.ts.map +0 -1
  528. package/dist/lib/testDodoLive.js +0 -105
  529. package/dist/lib/testDodoLive.js.map +0 -1
  530. package/dist/lib/testLiveSafehands.d.ts +0 -2
  531. package/dist/lib/testLiveSafehands.d.ts.map +0 -1
  532. package/dist/lib/testLiveSafehands.js +0 -93
  533. package/dist/lib/testLiveSafehands.js.map +0 -1
  534. package/dist/lib/testRpc.d.ts +0 -2
  535. package/dist/lib/testRpc.d.ts.map +0 -1
  536. package/dist/lib/testRpc.js +0 -30
  537. package/dist/lib/testRpc.js.map +0 -1
  538. package/dist/lib/testRpcLive.d.ts +0 -2
  539. package/dist/lib/testRpcLive.d.ts.map +0 -1
  540. package/dist/lib/testRpcLive.js +0 -89
  541. package/dist/lib/testRpcLive.js.map +0 -1
  542. package/dist/lib/testTools.d.ts +0 -2
  543. package/dist/lib/testTools.d.ts.map +0 -1
  544. package/dist/lib/testTools.js +0 -398
  545. package/dist/lib/testTools.js.map +0 -1
  546. package/dist/lib/testX402Live.d.ts +0 -2
  547. package/dist/lib/testX402Live.d.ts.map +0 -1
  548. package/dist/lib/testX402Live.js +0 -160
  549. package/dist/lib/testX402Live.js.map +0 -1
  550. package/dist/scripts/checkDeploy.d.ts +0 -2
  551. package/dist/scripts/checkDeploy.d.ts.map +0 -1
  552. package/dist/scripts/checkDeploy.js +0 -25
  553. package/dist/scripts/checkDeploy.js.map +0 -1
  554. package/dist/scripts/deployRegistry.d.ts +0 -2
  555. package/dist/scripts/deployRegistry.d.ts.map +0 -1
  556. package/dist/scripts/deployRegistry.js +0 -101
  557. package/dist/scripts/deployRegistry.js.map +0 -1
  558. package/dist/scripts/testRegistry.d.ts +0 -2
  559. package/dist/scripts/testRegistry.d.ts.map +0 -1
  560. package/dist/scripts/testRegistry.js +0 -44
  561. package/dist/scripts/testRegistry.js.map +0 -1
  562. package/examples/dashboard/index.html +0 -337
  563. package/examples/pharos-skill-engine/SKILL.safehands.md +0 -85
  564. package/examples/pharos-skill-engine/assets/safehands/example-actions.json +0 -49
  565. package/examples/pharos-skill-engine/assets/safehands/policy-defaults.json +0 -11
  566. package/examples/pharos-skill-engine/references/safehands.md +0 -345
  567. package/examples/scenario-hack.ts +0 -38
  568. package/skill/SKILL.md +0 -133
  569. package/skill/assets/safehands/example-actions.json +0 -49
  570. package/skill/assets/safehands/policy-defaults.json +0 -11
  571. package/skill/references/safehands.md +0 -345
package/dist/index.js CHANGED
@@ -1,26 +1,32 @@
1
1
  #!/usr/bin/env node
2
2
  // ─── SafeHands MCP Server ──────────────────────────────────────────────
3
- // Entry point — registers 27 tools (17 legacy/core + 3 managed wallet + 7 SafeHands guardrail tools) and starts the MCP server.
3
+ // Entry point — registers 33 tools and starts the MCP server.
4
4
  // ────────────────────────────────────────────────────────────────────────
5
+ // Must be first import — loads .env before any module reads process.env at init time
6
+ import "./lib/envLoader.js";
7
+ import { createRequire } from "module";
8
+ import { pathToFileURL } from "url";
9
+ const require = createRequire(import.meta.url);
10
+ const PKG_VERSION = require("../package.json").version;
5
11
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
12
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
7
- import { assessRiskSchema, handleAssessRisk } from "./tools/assessRisk.js";
8
- import { executeSwapSchema, handleExecuteSwap } from "./tools/executeSwap.js";
9
- import { sendPaymentSchema, handleSendPayment } from "./tools/sendPayment.js";
10
- import { simulateTransactionSchema, handleSimulateTransaction } from "./tools/simulateTransaction.js";
11
- import { getExecutionHistorySchema, handleGetExecutionHistory } from "./tools/getExecutionHistory.js";
12
- import { getTokenPriceSchema, handleGetTokenPrice } from "./tools/getTokenPrice.js";
13
- import { getWalletBalanceSchema, handleGetWalletBalance } from "./tools/getWalletBalance.js";
14
- import { checkAllowanceSchema, handleCheckAllowance } from "./tools/checkAllowance.js";
15
- import { getTransactionStatusSchema, handleGetTransactionStatus } from "./tools/getTransactionStatus.js";
16
- import { estimateGasSchema, handleEstimateGas } from "./tools/estimateGas.js";
17
- import { publishRiskScoreSchema, handlePublishRiskScore } from "./tools/publishRiskScore.js";
18
- import { queryRiskRegistrySchema, handleQueryRiskRegistry } from "./tools/queryRiskRegistry.js";
19
- import { approveTokenSchema, handleApproveToken } from "./tools/approveToken.js";
20
- import { getGasPriceSchema, handleGetGasPrice } from "./tools/getGasPrice.js";
21
- import { getPoolInfoSchema, handleGetPoolInfo } from "./tools/getPoolInfo.js";
22
- import { checkTokenSecuritySchema, handleCheckTokenSecurity } from "./tools/checkTokenSecurity.js";
23
- import { x402PayAndFetchSchema, handleX402PayAndFetch } from "./tools/x402PayAndFetch.js";
13
+ import { assessRiskTool, handleAssessRisk } from "./tools/assessRisk.js";
14
+ import { simulateTransactionTool, handleSimulateTransaction } from "./tools/simulateTransaction.js";
15
+ import { getExecutionHistoryTool, handleGetExecutionHistory } from "./tools/getExecutionHistory.js";
16
+ import { getTokenPriceTool, handleGetTokenPrice } from "./tools/getTokenPrice.js";
17
+ import { getWalletBalanceTool, handleGetWalletBalance } from "./tools/getWalletBalance.js";
18
+ import { checkAllowanceTool, handleCheckAllowance } from "./tools/checkAllowance.js";
19
+ import { getTransactionStatusTool, handleGetTransactionStatus } from "./tools/getTransactionStatus.js";
20
+ import { estimateGasTool, handleEstimateGas } from "./tools/estimateGas.js";
21
+ import { publishRiskScoreTool, handlePublishRiskScore } from "./tools/publishRiskScore.js";
22
+ import { queryRiskRegistryTool, handleQueryRiskRegistry } from "./tools/queryRiskRegistry.js";
23
+ import { verifyRiskInclusionTool, handleVerifyRiskInclusion } from "./tools/verifyRiskInclusion.js";
24
+ import { getAgentReputationTool, handleGetAgentReputation } from "./tools/getAgentReputation.js";
25
+ import { getGasPriceTool, handleGetGasPrice } from "./tools/getGasPrice.js";
26
+ import { getPoolInfoTool, handleGetPoolInfo } from "./tools/getPoolInfo.js";
27
+ import { queryGoldskySchema, handleQueryGoldsky } from "./tools/queryGoldsky.js";
28
+ import { getSpvProofSchema, handleGetSpvProof } from "./tools/getSpvProof.js";
29
+ import { checkTokenSecurityTool, handleCheckTokenSecurity } from "./tools/checkTokenSecurity.js";
24
30
  import { createAgentWalletSchema, handleCreateAgentWallet } from "./tools/createAgentWallet.js";
25
31
  import { safehandsPreflightCheckSchema, handleSafeHandsPreflightCheck } from "./tools/safehandsPreflightCheck.js";
26
32
  import { safehandsSafeExecuteSchema, handleSafeHandsSafeExecute } from "./tools/safehandsSafeExecute.js";
@@ -31,19 +37,33 @@ import { explainRiskSchema, handleExplainRisk } from "./tools/explainRisk.js";
31
37
  import { tokenRegistryStatusSchema, handleTokenRegistryStatus } from "./tools/tokenRegistryStatus.js";
32
38
  import { getAgentWalletSchema, handleGetAgentWallet } from "./tools/getAgentWallet.js";
33
39
  import { getAgentWalletBalanceSchema, handleGetAgentWalletBalance } from "./tools/getAgentWalletBalance.js";
40
+ import { getAgentPolicySchema, handleGetAgentPolicy } from "./tools/getAgentPolicy.js";
41
+ import { setAgentPolicySchema, handleSetAgentPolicy } from "./tools/setAgentPolicy.js";
42
+ import { executeSwapTool, handleExecuteSwap } from "./tools/executeSwap.js";
43
+ import { sendPaymentTool, handleSendPayment } from "./tools/sendPayment.js";
44
+ import { approveTokenTool, handleApproveToken } from "./tools/approveToken.js";
45
+ import { x402PayAndFetchTool, handleX402PayAndFetch } from "./tools/x402PayAndFetch.js";
34
46
  import { fail, ok } from "./lib/toolResponse.js";
35
47
  import { auditLog } from "./lib/auditLog.js";
48
+ import { walletStore, encryptKey, getEffectiveEncryptionKey } from "./lib/wallet/index.js";
49
+ import { generatePrivateKey, privateKeyToAccount } from "viem/accounts";
36
50
  import { runSkillCli } from "./cli.js";
37
51
  import { runDemo } from "./demo.js";
38
52
  import { runInit } from "./init.js";
53
+ process.on("unhandledRejection", (reason) => {
54
+ console.error("SafeHands MCP unhandled rejection:", reason);
55
+ });
56
+ process.on("uncaughtException", (error) => {
57
+ console.error("SafeHands MCP uncaught exception:", error);
58
+ process.exit(1);
59
+ });
39
60
  // ─── Per-tool rate limiting ────────────────────────────────────────────
40
61
  // Heavy tools (block-scan history) get a tighter limit.
41
62
  // Write tools get a moderate limit to prevent agent loops.
42
63
  // All other tools share a generous global limit.
43
64
  const HEAVY_TOOLS = new Set(["get_execution_history"]);
44
65
  const WRITE_TOOLS = new Set([
45
- "execute_swap", "send_payment", "approve_token",
46
- "publish_risk_score", "x402_pay_and_fetch", "safehands_safe_execute",
66
+ "publish_risk_score", "safehands_safe_execute",
47
67
  ]);
48
68
  const RATE_LIMITS = {
49
69
  heavy: parseInt(process.env.MCP_RATE_LIMIT_HEAVY || "5", 10),
@@ -129,155 +149,220 @@ if (process.argv[2] === "init") {
129
149
  process.exit(0);
130
150
  }
131
151
  // ─── Deterministic Demo CLI ───────────────────────────────────────────
132
- if (process.argv.includes("--demo")) {
152
+ const isDemoMode = process.argv.includes("--demo");
153
+ if (isDemoMode) {
133
154
  await runDemo();
134
- // Brief delay allows libuv handles (express sockets) to close cleanly on Windows
135
- setTimeout(() => process.exit(0), 100);
136
- // Wait indefinitely so the script doesn't continue down to start the MCP server
137
- await new Promise(() => { });
155
+ // Set exit code and let the event loop drain naturally.
156
+ // Avoids Windows libuv UV_HANDLE_CLOSING assertion that occurs with process.exit() while
157
+ // async handles (express close, viem HTTP keep-alive) are still winding down.
158
+ process.exitCode = 0;
138
159
  }
139
160
  // ─── CLI Help ──────────────────────────────────────────────────────────
140
161
  if (process.argv.includes("--help") || process.argv.includes("-h")) {
141
- process.stdout.write(`
142
- 🛡️ SafeHands-Pharos Transaction Safety Firewall for AI Agents
143
- v1.3.0 | Pharos Atlantic Testnet | Chain ID 688689
144
-
145
- USAGE
146
- npx safehands-pharos
147
- Start SafeHands as an MCP server over stdio.
148
-
149
- npx safehands-pharos --help
150
- Show this help.
151
-
152
- npx safehands-pharos init
153
- Launch the interactive setup wizard to configure your .env file safely.
154
-
155
- npx safehands-pharos --demo
156
- Run the deterministic non-destructive hackathon demo.
157
-
158
- npx safehands-pharos skill <tool_name> --input-json '<json>'
159
- Run a Pharos Skill Engine-compatible SafeHands CLI tool.
160
-
161
- POSITIONING
162
- SafeHands is a guardrail layer, not a generic Web3 toolbox.
163
- It checks whether an AI agent action is safe before execution.
164
-
165
- User intent
166
- → SafeHands preflight
167
- ALLOW / WARN / BLOCK / REQUIRE_CONFIRMATION
168
- Pharos Skill Engine or MCP execution only if safe
169
- SafeHands risk report
170
-
171
- SAFEHANDS BRANDED TOOLS
172
- safehands_preflight_check Policy preflight for payments, approvals, swaps, x402, and custom calls
173
- safehands_safe_execute Guarded wrapper that preflights before execution
174
- safehands_wallet_health Wallet/signer/gas/x402 readiness report
175
- safehands_x402_preflight URL, payment, token, and signer safety check before x402 payment
176
- safehands_risk_report Human-readable judge/demo risk report
177
- explain_risk Explain ALLOW/WARN/BLOCK decisions in plain English
178
- token_registry_status Classify canonical, test, custom, unknown, or invalid token address
179
-
180
- OTHER MCP TOOLS
181
- Core safety: assess_risk, check_token_security, simulate_transaction, estimate_gas
182
- Execution: execute_swap, send_payment, approve_token
183
- Market: get_token_price, get_pool_info, get_gas_price
184
- Wallet/history: get_wallet_balance, check_allowance, get_transaction_status, get_execution_history
185
- Risk registry: publish_risk_score, query_risk_registry
186
- x402: x402_pay_and_fetch
187
- Managed testnet wallet: create_agent_wallet, get_agent_wallet, get_agent_wallet_balance
188
-
189
- PHAROS ATLANTIC TESTNET
190
- Environment: atlantic-testnet
191
- Chain ID: 688689
192
- RPC: https://atlantic.dplabs-internal.com
193
- Explorer: https://atlantic.pharosscan.xyz/
194
- RiskRegistry: 0x61962a6c812ee9f57b207e1ea47c19ae70bb7141
195
-
196
- x402 BEHAVIOR
197
- Free endpoints, such as /supported and /health, do not require a private key.
198
- Paid endpoints are fetched normally first. Only after HTTP 402 does SafeHands run x402 preflight and request a signer.
199
- Signed payment payloads and payment headers are not logged or returned.
200
-
201
- DEFAULT SAFETY
202
- WALLET_MODE=none
203
- WRITE_TOOLS_ENABLED=false
204
- ALLOW_UNLIMITED_APPROVAL=false
205
- ALLOW_LOCAL_X402_FETCH=false
206
-
207
- No wallet is created on install, import, or startup.
208
- Write tools are disabled by default.
209
- Unlimited approvals are blocked by default.
210
- Mainnet actions are blocked.
211
- SSRF-sensitive x402 URLs are blocked by default.
212
-
213
- EXAMPLES
214
- npx safehands-pharos skill safehands_preflight_check --input-json '{"actionType":"send_payment","chainId":688689,"isMainnet":false,"amount":"0.001","recipient":"0x0000000000000000000000000000000000000001"}'
215
-
216
- npx safehands-pharos skill token_registry_status --input-json '{"tokenAddress":"0xE0BE08c77f415F577A1B3A9aD7a1Df1479564ec8"}'
217
-
218
- DOCS
219
- README.md
220
- skill/SKILL.md
162
+ process.stdout.write(`
163
+ 🛡️ SafeHands-Pharos: Transaction Safety Firewall for AI Agents
164
+ v${PKG_VERSION} | Pharos Pacific Mainnet | Chain ID 1672
165
+
166
+ USAGE
167
+ npx github:SZtch/safehands-pharos
168
+ Start SafeHands as an MCP server over stdio.
169
+
170
+ npx github:SZtch/safehands-pharos --help
171
+ Show this help.
172
+
173
+ npx github:SZtch/safehands-pharos init
174
+ Launch the interactive setup wizard to configure your .env file safely.
175
+
176
+ npx github:SZtch/safehands-pharos --demo
177
+ Run the deterministic non-destructive hackathon demo.
178
+
179
+ npx github:SZtch/safehands-pharos skill <tool_name> --input-json '<json>'
180
+ Run a Pharos Skill Engine-compatible SafeHands CLI tool.
181
+
182
+ POSITIONING
183
+ SafeHands is an open-source reusable Pharos Skill that gives AI agents
184
+ a safety gateway before on-chain actions. Mainnet-first for Pharos Pacific
185
+ read/check/analyze; execution/signing/managed-wallet/on-chain publishing
186
+ remain gated and disabled by default.
187
+
188
+ User intent
189
+ SafeHands preflight
190
+ ALLOW / BLOCK / REQUIRE_CONFIRMATION / PREPARE_ONLY
191
+ → Execute only if safe
192
+ SafeHands risk report
193
+
194
+ EXECUTION MODES
195
+ Preflight / read-only No wallet, no key, no authorization required
196
+ User-signed SafeHands validates; user signs externally
197
+ Managed execution SafeHandsRegistry authorization + funding required
198
+ Env wallet (advanced) Local mainnet key, not default UX
199
+ Operator / demo Auto-authorize via owner key, mainnet only
200
+
201
+ SAFEHANDS TOOLS (33)
202
+ Safety preflight: safehands_preflight_check, safehands_x402_preflight,
203
+ safehands_risk_report, safehands_wallet_health,
204
+ explain_risk, token_registry_status, query_risk_registry,
205
+ verify_risk_inclusion, get_agent_reputation
206
+ Execution (gated): safehands_safe_execute, execute_swap, send_payment,
207
+ approve_token, publish_risk_score, x402_pay_and_fetch
208
+ Risk + analysis: assess_risk, check_token_security, simulate_transaction,
209
+ estimate_gas
210
+ Market + chain: get_token_price, get_pool_info, get_gas_price,
211
+ get_wallet_balance, check_allowance,
212
+ get_transaction_status, get_execution_history,
213
+ query_goldsky_subgraph, get_spv_proof
214
+ Agent policy: get_agent_policy, set_agent_policy
215
+ Managed wallet: create_agent_wallet, get_agent_wallet,
216
+ get_agent_wallet_balance
217
+
218
+ PHAROS PACIFIC MAINNET (default: read/check/analyze)
219
+ Network: Pharos Pacific Mainnet
220
+ Chain ID: 1672
221
+ Native token: PROS
222
+ RPC: https://rpc.pharos.xyz
223
+ Explorer: https://www.pharosscan.xyz
224
+
225
+ PHAROS ATLANTIC TESTNET (deprecated for execution)
226
+ Environment: atlantic-testnet
227
+ Chain ID: 688689
228
+ RPC: https://atlantic.dplabs-internal.com
229
+ Explorer: https://atlantic.pharosscan.xyz/
230
+
231
+ x402 BEHAVIOR
232
+ Free endpoints, such as /supported and /health, do not require a private key.
233
+ Paid endpoints are fetched normally first. Only after HTTP 402 does SafeHands run x402 preflight and request a signer.
234
+ Signed payment payloads and payment headers are not logged or returned.
235
+
236
+ DEFAULT SAFETY
237
+ WALLET_MODE=none
238
+ WRITE_TOOLS_ENABLED=false
239
+ ALLOW_UNLIMITED_APPROVAL=false
240
+ ALLOW_LOCAL_X402_FETCH=false
241
+
242
+ No wallet is created on install, import, or startup.
243
+ Write tools are disabled by default.
244
+ Unlimited approvals are blocked by default.
245
+ Mainnet write/payment actions are gated and disabled by default.
246
+ SSRF-sensitive x402 URLs are blocked by default.
247
+
248
+ EXAMPLES
249
+ npx github:SZtch/safehands-pharos skill safehands_preflight_check --input-json '{"actionType":"send_payment","chainId":1672,"isMainnet":true,"amount":"0.001","recipient":"0x0000000000000000000000000000000000000001"}'
250
+
251
+ npx github:SZtch/safehands-pharos skill token_registry_status --input-json '{"tokenAddress":"0xc879c018db60520f4355c26ed1a6d572cdac1815"}'
252
+
253
+ DOCS
254
+ README.md
221
255
  `);
222
256
  process.exit(0);
223
257
  }
224
- // ─── Startup Validation ────────────────────────────────────────────────
225
- const walletMode = process.env.WALLET_MODE || "none";
226
- const hasManagedWalletMode = walletMode === "managed-testnet";
227
- const hasExplicitSignerMode = walletMode === "managed-testnet" || walletMode === "env";
228
- if (process.env.WRITE_TOOLS_ENABLED !== "true") {
229
- console.error("⚠️ SafeHands write tools are disabled by default.");
230
- console.error(" Preflight, risk report, token registry, read-only, and x402 free endpoint checks remain available.");
231
- console.error(" To execute trusted testnet actions, set WRITE_TOOLS_ENABLED=true and configure a signer via WALLET_MODE=managed-testnet or WALLET_MODE=env.");
232
- console.error("");
233
- }
234
- else if (!hasExplicitSignerMode) {
235
- console.error("⚠️ SafeHands write tools enabled but no signer mode detected.");
236
- console.error(" Use WALLET_MODE=managed-testnet with create_agent_wallet, or WALLET_MODE=env for testnet developer mode.");
237
- console.error("");
238
- }
239
- // ─── Server Setup ──────────────────────────────────────────────────────
240
- const server = new McpServer({
241
- name: "safehands",
242
- version: "1.3.0",
243
- });
244
- // ─── Tool Registration ─────────────────────────────────────────────────
245
- server.tool("safehands_preflight_check", "Run a SafeHands policy preflight before an AI agent sends payment, approves tokens, swaps, publishes risk data, or pays x402.", safehandsPreflightCheckSchema.shape, async (params) => mcpText(await invokeTool(handleSafeHandsPreflightCheck, params, "safehands_preflight_check")));
246
- server.tool("safehands_safe_execute", "Guarded execution wrapper: preflight first, then execute only allowed and explicitly confirmed testnet actions.", safehandsSafeExecuteSchema.shape, async (params) => mcpText(await invokeTool(handleSafeHandsSafeExecute, params, "safehands_safe_execute")));
247
- server.tool("safehands_wallet_health", "Check whether an AI agent wallet is funded, signer-ready, and safe to use on Pharos Atlantic Testnet.", safehandsWalletHealthSchema.shape, async (params) => mcpText(await invokeTool(handleSafeHandsWalletHealth, params, "safehands_wallet_health")));
248
- server.tool("safehands_x402_preflight", "Check an x402 paid resource for URL safety, payment amount, token, signer, and testnet policy before signing.", safehandsX402PreflightSchema.shape, async (params) => mcpText(await invokeTool(handleSafeHandsX402Preflight, params, "safehands_x402_preflight")));
249
- server.tool("safehands_risk_report", "Generate an audit-friendly human-readable SafeHands risk report for an AI agent action.", safehandsRiskReportSchema.shape, async (params) => mcpText(await invokeTool(handleSafeHandsRiskReport, params, "safehands_risk_report")));
250
- server.tool("explain_risk", "Explain a SafeHands risk/policy decision in human-readable language.", explainRiskSchema.shape, async (params) => mcpText(await invokeTool(handleExplainRisk, params, "explain_risk")));
251
- server.tool("token_registry_status", "Classify exact token input as canonical testnet token, test liquidity token, custom, unknown, or invalid.", tokenRegistryStatusSchema.shape, async (params) => mcpText(await invokeTool(handleTokenRegistryStatus, params, "token_registry_status")));
252
- server.tool("assess_risk", "Evaluate the risk of a planned on-chain action (swap or transfer). Returns 0-100 risk score with 5-dimension breakdown.", assessRiskSchema.shape, async (params) => mcpText(await invokeTool(handleAssessRisk, params, "assess_risk")));
253
- server.tool("execute_swap", "Swap tokens via FaroSwap with built-in risk gate. Runs risk assessment first, blocks if score > 80.", executeSwapSchema.shape, async (params) => mcpText(await invokeTool(handleExecuteSwap, params, "execute_swap")));
254
- server.tool("send_payment", "Send native PHRS with pre-flight validation. Checks address, balance, and warns on high exposure.", sendPaymentSchema.shape, async (params) => mcpText(await invokeTool(handleSendPayment, params, "send_payment")));
255
- server.tool("simulate_transaction", "Dry run a swap or transfer via eth_call — no gas spent. Returns expected output and revert reasons.", simulateTransactionSchema.shape, async (params) => mcpText(await invokeTool(handleSimulateTransaction, params, "simulate_transaction")));
256
- server.tool("get_execution_history", "Pull on-chain transaction history for a wallet. Filters by swap, transfer, or all.", getExecutionHistorySchema.shape, async (params) => mcpText(await invokeTool(handleGetExecutionHistory, params, "get_execution_history")));
257
- server.tool("get_token_price", "Fetch real-time price of PHRS, USDC, or USDT on Pharos using DODO liquidity quotes.", getTokenPriceSchema.shape, async (params) => mcpText(await invokeTool(handleGetTokenPrice, params, "get_token_price")));
258
- server.tool("get_wallet_balance", "Return PHRS, USDC, USDT balances for a wallet with total USD estimate.", getWalletBalanceSchema.shape, async (params) => mcpText(await invokeTool(handleGetWalletBalance, params, "get_wallet_balance")));
259
- server.tool("check_allowance", "Check ERC-20 token allowance for DODO swap approval. Returns whether approval is needed.", checkAllowanceSchema.shape, async (params) => mcpText(await invokeTool(handleCheckAllowance, params, "check_allowance")));
260
- server.tool("get_transaction_status", "Check on-chain transaction status by hash. Returns status, block, gas, and explorer link.", getTransactionStatusSchema.shape, async (params) => mcpText(await invokeTool(handleGetTransactionStatus, params, "get_transaction_status")));
261
- server.tool("estimate_gas", "Estimate gas cost for a swap or transfer before executing. Returns cost in PHRS and USD.", estimateGasSchema.shape, async (params) => mcpText(await invokeTool(handleEstimateGas, params, "estimate_gas")));
262
- server.tool("publish_risk_score", "Run risk assessment and publish result to the on-chain RiskRegistry. Other agents can query it.", publishRiskScoreSchema.shape, async (params) => mcpText(await invokeTool(handlePublishRiskScore, params, "publish_risk_score")));
263
- server.tool("query_risk_registry", "Query the on-chain RiskRegistry for a wallet's published risk score. Read-only, no private key needed.", queryRiskRegistrySchema.shape, async (params) => mcpText(await invokeTool(handleQueryRiskRegistry, params, "query_risk_registry")));
264
- server.tool("approve_token", "Approve ERC-20 token spending for FaroSwap (DODO) router. Required before swapping non-native tokens.", approveTokenSchema.shape, async (params) => mcpText(await invokeTool(handleApproveToken, params, "approve_token")));
265
- server.tool("get_gas_price", "Get current gas price on Pharos with trend classification and cost estimates.", getGasPriceSchema.shape, async (params) => mcpText(await invokeTool(handleGetGasPrice, params, "get_gas_price")));
266
- server.tool("get_pool_info", "Fetch DODO liquidity pool info for a token pair on Pharos. Returns price ratio, impact, and fees.", getPoolInfoSchema.shape, async (params) => mcpText(await invokeTool(handleGetPoolInfo, params, "get_pool_info")));
267
- server.tool("check_token_security", "Check token contract security (honeypot, mintable, ownership privileges, tax) via GoPlus Security API.", checkTokenSecuritySchema.shape, async (params) => mcpText(await invokeTool(handleCheckTokenSecurity, params, "check_token_security")));
268
- server.tool("x402_pay_and_fetch", "Fetch resources from an HTTP x402 payment-gated server. Automatically handles HTTP 402 payment challenge.", x402PayAndFetchSchema.shape, async (params) => mcpText(await invokeTool(handleX402PayAndFetch, params, "x402_pay_and_fetch")));
269
- // ─── Managed Wallet Tools ──────────────────────────────────────────────
270
- server.tool("create_agent_wallet", "Create a new managed testnet agent wallet. Private key is encrypted and never returned. Fund the wallet with testnet PHRS before using write tools.", createAgentWalletSchema.shape, async (params) => mcpText(await invokeTool(handleCreateAgentWallet, params, "create_agent_wallet")));
271
- server.tool("get_agent_wallet", "Get public info (address, environment, chainId) for a managed agent wallet. Never returns private key.", getAgentWalletSchema.shape, async (params) => mcpText(await invokeTool(handleGetAgentWallet, params, "get_agent_wallet")));
272
- server.tool("get_agent_wallet_balance", "Get PHRS, USDC, and USDT balances for a managed agent wallet on Pharos testnet.", getAgentWalletBalanceSchema.shape, async (params) => mcpText(await invokeTool(handleGetAgentWalletBalance, params, "get_agent_wallet_balance")));
273
- // ─── Start Server ──────────────────────────────────────────────────────
274
- async function main() {
275
- const transport = new StdioServerTransport();
276
- await server.connect(transport);
277
- console.error("SafeHands-Pharos MCP Server v1.3.0 running on stdio");
278
- }
279
- main().catch((error) => {
280
- console.error("Fatal error:", error);
281
- process.exit(1);
282
- });
258
+ if (!isDemoMode) {
259
+ // ─── Auto-Wallet Creation ─────────────────────────────────────────────
260
+ // If WALLET_MODE=managed-mainnet and no default wallet exists yet,
261
+ // auto-create one so the user just needs to fund it.
262
+ const DEFAULT_AGENT_ID = "default";
263
+ const walletMode = process.env.WALLET_MODE || "none";
264
+ if (walletMode === "managed-mainnet" && process.env.MANAGED_WALLET_ENABLED === "true") {
265
+ const existing = await walletStore.get(DEFAULT_AGENT_ID);
266
+ if (!existing) {
267
+ try {
268
+ const privateKey = generatePrivateKey();
269
+ const account = privateKeyToAccount(privateKey);
270
+ const encrypted = encryptKey(privateKey, getEffectiveEncryptionKey());
271
+ await walletStore.set(DEFAULT_AGENT_ID, {
272
+ agentId: DEFAULT_AGENT_ID,
273
+ address: account.address,
274
+ encryptedKey: encrypted,
275
+ environment: "pacific-mainnet",
276
+ chainId: 1672,
277
+ isMainnet: true,
278
+ createdAt: new Date().toISOString(),
279
+ });
280
+ console.error(`🛡️ SafeHands - auto-created managed agent wallet: ${account.address}`);
281
+ console.error(` Fund it with PROS for gas. Use a DEDICATED low-value wallet; managed execution stays OFF until you opt in.`);
282
+ console.error("");
283
+ }
284
+ catch {
285
+ console.error("⚠️ SafeHands: failed to auto-create wallet. Use create_agent_wallet manually.");
286
+ console.error("");
287
+ }
288
+ }
289
+ else {
290
+ console.error(`🛡️ SafeHands - agent wallet ready: ${existing.address}`);
291
+ console.error("");
292
+ }
293
+ }
294
+ // ─── Startup Validation ────────────────────────────────────────────────
295
+ const hasExplicitSignerMode = walletMode === "managed-mainnet" || walletMode === "env";
296
+ if (process.env.WRITE_TOOLS_ENABLED !== "true") {
297
+ console.error("⚠️ SafeHands: write tools are disabled. Read-only tools remain available.");
298
+ console.error(" To enable writes, set WRITE_TOOLS_ENABLED=true in your .env or MCP config.");
299
+ console.error("");
300
+ }
301
+ else if (!hasExplicitSignerMode) {
302
+ console.error("⚠️ SafeHands: write tools enabled but no signer mode detected.");
303
+ console.error(" Set WALLET_MODE=managed-mainnet or WALLET_MODE=env.");
304
+ console.error("");
305
+ }
306
+ // ─── Server Setup ──────────────────────────────────────────────────────
307
+ const server = new McpServer({
308
+ name: "safehands",
309
+ version: PKG_VERSION,
310
+ });
311
+ // ─── Tool Registration ─────────────────────────────────────────────────
312
+ server.tool("safehands_preflight_check", "Run a SafeHands policy preflight before an AI agent sends payment, approves tokens, swaps, publishes risk data, or pays x402.", safehandsPreflightCheckSchema.shape, async (params) => mcpText(await invokeTool(handleSafeHandsPreflightCheck, params, "safehands_preflight_check")));
313
+ server.tool("safehands_safe_execute", "Guarded execution wrapper: preflight first, then execute only allowed and explicitly confirmed mainnet actions.", safehandsSafeExecuteSchema.shape, async (params) => mcpText(await invokeTool(handleSafeHandsSafeExecute, params, "safehands_safe_execute")));
314
+ // ─── Execution Tools (Gated) ───────────────────────────────────────────
315
+ server.tool(executeSwapTool.name, executeSwapTool.description, executeSwapTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleExecuteSwap, params, "execute_swap")));
316
+ server.tool(sendPaymentTool.name, sendPaymentTool.description, sendPaymentTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleSendPayment, params, "send_payment")));
317
+ server.tool(approveTokenTool.name, approveTokenTool.description, approveTokenTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleApproveToken, params, "approve_token")));
318
+ server.tool(x402PayAndFetchTool.name, x402PayAndFetchTool.description, x402PayAndFetchTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleX402PayAndFetch, params, "x402_pay_and_fetch")));
319
+ server.tool("safehands_wallet_health", "Check whether an AI agent wallet is funded, signer-ready, and safe to use on Pharos Mainnet.", safehandsWalletHealthSchema.shape, async (params) => mcpText(await invokeTool(handleSafeHandsWalletHealth, params, "safehands_wallet_health")));
320
+ server.tool("safehands_x402_preflight", "Check an x402 paid resource for URL safety, payment amount, token, signer, and mainnet policy before signing.", safehandsX402PreflightSchema.shape, async (params) => mcpText(await invokeTool(handleSafeHandsX402Preflight, params, "safehands_x402_preflight")));
321
+ server.tool("safehands_risk_report", "Generate an audit-friendly human-readable SafeHands risk report for an AI agent action.", safehandsRiskReportSchema.shape, async (params) => mcpText(await invokeTool(handleSafeHandsRiskReport, params, "safehands_risk_report")));
322
+ server.tool("explain_risk", "Explain a SafeHands risk/policy decision in human-readable language.", explainRiskSchema.shape, async (params) => mcpText(await invokeTool(handleExplainRisk, params, "explain_risk")));
323
+ server.tool("token_registry_status", "Classify exact token input as canonical mainnet token, custom, unknown, or invalid.", tokenRegistryStatusSchema.shape, async (params) => mcpText(await invokeTool(handleTokenRegistryStatus, params, "token_registry_status")));
324
+ server.tool(assessRiskTool.name, assessRiskTool.description, assessRiskTool.inputSchema.shape, async (params) => {
325
+ const result = await handleAssessRisk(params);
326
+ return mcpText(result);
327
+ });
328
+ server.tool(simulateTransactionTool.name, simulateTransactionTool.description, simulateTransactionTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleSimulateTransaction, params, "simulate_transaction")));
329
+ server.tool(getExecutionHistoryTool.name, getExecutionHistoryTool.description, getExecutionHistoryTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleGetExecutionHistory, params, "get_execution_history")));
330
+ server.tool(getTokenPriceTool.name, getTokenPriceTool.description, getTokenPriceTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleGetTokenPrice, params, "get_token_price")));
331
+ server.tool(getWalletBalanceTool.name, getWalletBalanceTool.description, getWalletBalanceTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleGetWalletBalance, params, "get_wallet_balance")));
332
+ server.tool(checkAllowanceTool.name, checkAllowanceTool.description, checkAllowanceTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleCheckAllowance, params, "check_allowance")));
333
+ server.tool(getTransactionStatusTool.name, getTransactionStatusTool.description, getTransactionStatusTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleGetTransactionStatus, params, "get_transaction_status")));
334
+ server.tool(estimateGasTool.name, estimateGasTool.description, estimateGasTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleEstimateGas, params, "estimate_gas")));
335
+ server.tool(publishRiskScoreTool.name, publishRiskScoreTool.description, publishRiskScoreTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handlePublishRiskScore, params, "publish_risk_score")));
336
+ server.tool(queryRiskRegistryTool.name, queryRiskRegistryTool.description, queryRiskRegistryTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleQueryRiskRegistry, params, "query_risk_registry")));
337
+ server.tool(verifyRiskInclusionTool.name, verifyRiskInclusionTool.description, verifyRiskInclusionTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleVerifyRiskInclusion, params, "verify_risk_inclusion")));
338
+ server.tool(getAgentReputationTool.name, getAgentReputationTool.description, getAgentReputationTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleGetAgentReputation, params, "get_agent_reputation")));
339
+ server.tool(getGasPriceTool.name, getGasPriceTool.description, getGasPriceTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleGetGasPrice, params, "get_gas_price")));
340
+ server.tool(getPoolInfoTool.name, getPoolInfoTool.description, getPoolInfoTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleGetPoolInfo, params, "get_pool_info")));
341
+ server.tool("query_goldsky_subgraph", "Execute a GraphQL query against the configured Pharos Goldsky Subgraph endpoint to fetch historical indexing data.", queryGoldskySchema.shape, async (params) => mcpText(await invokeTool(handleQueryGoldsky, params, "query_goldsky_subgraph")));
342
+ server.tool("get_spv_proof", "Cryptographically verify account and storage data at a specific block height using Pharos SPV (Simplified Payment Verification).", getSpvProofSchema.shape, async (params) => mcpText(await invokeTool(handleGetSpvProof, params, "get_spv_proof")));
343
+ server.tool(checkTokenSecurityTool.name, checkTokenSecurityTool.description, checkTokenSecurityTool.inputSchema.shape, async (params) => mcpText(await invokeTool(handleCheckTokenSecurity, params, "check_token_security")));
344
+ // ─── Agent Policy Tools ───────────────────────────────────────────────
345
+ server.tool("get_agent_policy", "Get the active safety policy for an agent. Returns limits, flags, and profile name. Read-only.", getAgentPolicySchema.shape, async (params) => mcpText(await invokeTool(handleGetAgentPolicy, params, "get_agent_policy")));
346
+ server.tool("set_agent_policy", "Set or update safety policy for an agent. Choose a profile (conservative/balanced/advanced) or set custom limits. Saved to local policy file.", setAgentPolicySchema.shape, async (params) => mcpText(await invokeTool(handleSetAgentPolicy, params, "set_agent_policy")));
347
+ // ─── Managed Wallet Tools ──────────────────────────────────────────────
348
+ server.tool("create_agent_wallet", "Create a new managed mainnet agent wallet. Private key is encrypted and never returned. Fund the wallet with PROS before using write tools.", createAgentWalletSchema.shape, async (params) => mcpText(await invokeTool(handleCreateAgentWallet, params, "create_agent_wallet")));
349
+ server.tool("get_agent_wallet", "Get public info (address, environment, chainId) for a managed agent wallet. Never returns private key.", getAgentWalletSchema.shape, async (params) => mcpText(await invokeTool(handleGetAgentWallet, params, "get_agent_wallet")));
350
+ server.tool("get_agent_wallet_balance", "Get PROS, USDC, and USDT balances for a managed agent wallet on Pharos Mainnet.", getAgentWalletBalanceSchema.shape, async (params) => mcpText(await invokeTool(handleGetAgentWalletBalance, params, "get_agent_wallet_balance")));
351
+ // ─── Start Server ──────────────────────────────────────────────────────
352
+ async function main() {
353
+ const transport = new StdioServerTransport();
354
+ await server.connect(transport);
355
+ transport.onclose = () => process.exit(0);
356
+ process.on("SIGINT", () => process.exit(0));
357
+ process.on("SIGTERM", () => process.exit(0));
358
+ console.error(`SafeHands-Pharos MCP Server v${PKG_VERSION} running on stdio`);
359
+ }
360
+ const invokedDirectly = !!process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href;
361
+ if (invokedDirectly) {
362
+ main().catch((error) => {
363
+ console.error("Fatal error:", error);
364
+ process.exit(1);
365
+ });
366
+ }
367
+ } // end: !isDemoMode
283
368
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,0EAA0E;AAC1E,8DAA8D;AAC9D,2EAA2E;AAE3E,qFAAqF;AACrF,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAY,OAAO,CAAC,iBAAiB,CAAyB,CAAC,OAAO,CAAC;AAExF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AACvG,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAClH,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC5G,OAAO,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAC/G,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;IAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAGH,0EAA0E;AAC1E,wDAAwD;AACxD,2DAA2D;AAC3D,iDAAiD;AAEjD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACvD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,oBAAoB,EAAE,wBAAwB;CAC/C,CAAC,CAAC;AAEH,MAAM,WAAW,GAA2B;IAC1C,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,GAAG,EAAE,EAAE,CAAC;IAC5D,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAI,EAAE,EAAE,CAAC;IAC7D,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,KAAK,EAAE,EAAE,CAAC;CACnE,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8C,CAAC;AAE1E,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK;QACrD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK;YAC3C,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;QACrC,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;QACzB,OAAO,2BAA2B,IAAI,KAAK,KAAK,oCAAoC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IACnI,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,CACL,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,SAAS,IAAI,KAAK;QAClB,WAAW,IAAI,KAAK;QACpB,OAAO,IAAI,KAAK,CACjB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,OAA0C,EAAE,MAAe,EAAE,MAAc;IACnG,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,MAAgE,CAAC;YAC3E,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YAC/J,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,OAAO,IAAI,MAAM,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,GAAG,MAAM,CAAE,MAA8B,CAAC,KAAK,CAAC,CAAC;gBAC1D,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;gBAC3I,OAAO,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACzD,CAAC;YACD,wFAAwF;YACxF,IAAI,SAAS,IAAI,MAAM,IAAK,MAA+B,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC9E,MAAM,GAAG,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAE,MAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kDAAkD,CAAC;gBACnI,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;gBAC3I,OAAO,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACxG,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC7I,OAAO,IAAI,CACT,uBAAuB,EACvB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAChD,KAAK,EACL,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,MAAe;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACzF,CAAC;AAGD,yEAAyE;AAEzE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9J,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,yEAAyE;AAEzE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;IAC/B,MAAM,OAAO,EAAE,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAGD,yEAAyE;AAEzE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEnD,IAAI,UAAU,EAAE,CAAC;IACf,MAAM,OAAO,EAAE,CAAC;IAChB,wDAAwD;IACxD,yFAAyF;IACzF,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,0EAA0E;AAE1E,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;MAEjB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FhB,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,CAAC,UAAU,EAAE,CAAC;IAElB,yEAAyE;IACzE,mEAAmE;IACnE,qDAAqD;IAErD,MAAM,gBAAgB,GAAG,SAAS,CAAC;IAEnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC;IACrD,IAAI,UAAU,KAAK,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,EAAE,yBAAyB,EAAE,CAAC,CAAC;gBACtE,MAAM,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE;oBACtC,OAAO,EAAE,gBAAgB;oBACzB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,YAAY,EAAE,SAAS;oBACvB,WAAW,EAAE,iBAAiB;oBAC9B,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,uDAAuD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxF,OAAO,CAAC,KAAK,CAAC,+GAA+G,CAAC,CAAC;gBAC/H,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;gBAChG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,wCAAwC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,0EAA0E;IAE1E,MAAM,qBAAqB,GAAG,UAAU,KAAK,iBAAiB,IAAI,UAAU,KAAK,KAAK,CAAC;IAEvF,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAC5F,OAAO,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;QAC/F,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;SAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,0EAA0E;IAE1E,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,0EAA0E;IAE1E,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,+HAA+H,EAC/H,6BAA6B,CAAC,KAAK,EACnC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,6BAA6B,EAAE,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAChH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,iHAAiH,EACjH,0BAA0B,CAAC,KAAK,EAChC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,0BAA0B,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAC1G,CAAC;IAEF,0EAA0E;IAE1E,MAAM,CAAC,IAAI,CACT,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,WAAW,EAC3B,eAAe,CAAC,WAAW,CAAC,KAAK,EACjC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CACvF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,WAAW,EAC3B,eAAe,CAAC,WAAW,CAAC,KAAK,EACjC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CACvF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,CAAC,IAAI,EACrB,gBAAgB,CAAC,WAAW,EAC5B,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAClC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CACzF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,CAAC,IAAI,EACxB,mBAAmB,CAAC,WAAW,EAC/B,mBAAmB,CAAC,WAAW,CAAC,KAAK,EACrC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CACjG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,8FAA8F,EAC9F,2BAA2B,CAAC,KAAK,EACjC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAC5G,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,+GAA+G,EAC/G,4BAA4B,CAAC,KAAK,EAClC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,4BAA4B,EAAE,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAC9G,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,yFAAyF,EACzF,yBAAyB,CAAC,KAAK,EAC/B,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,yBAAyB,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CACxG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,sEAAsE,EACtE,iBAAiB,CAAC,KAAK,EACvB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CACvF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,qFAAqF,EACrF,yBAAyB,CAAC,KAAK,EAC/B,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,yBAAyB,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CACxG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,WAAW,CAAC,KAAK,EAChC,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAa,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC,IAAI,EAC5B,uBAAuB,CAAC,WAAW,EACnC,uBAAuB,CAAC,WAAW,CAAC,KAAK,EACzC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,yBAAyB,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,CACvG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC,IAAI,EAC5B,uBAAuB,CAAC,WAAW,EACnC,uBAAuB,CAAC,WAAW,CAAC,KAAK,EACzC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,yBAAyB,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CACxG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,CAAC,IAAI,EACtB,iBAAiB,CAAC,WAAW,EAC7B,iBAAiB,CAAC,WAAW,CAAC,KAAK,EACnC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAC5F,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,CAAC,IAAI,EACzB,oBAAoB,CAAC,WAAW,EAChC,oBAAoB,CAAC,WAAW,CAAC,KAAK,EACtC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAClG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,CAAC,IAAI,EACvB,kBAAkB,CAAC,WAAW,EAC9B,kBAAkB,CAAC,WAAW,CAAC,KAAK,EACpC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAC7F,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,CAAC,IAAI,EAC7B,wBAAwB,CAAC,WAAW,EACpC,wBAAwB,CAAC,WAAW,CAAC,KAAK,EAC1C,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,0BAA0B,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAC1G,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,WAAW,EAC3B,eAAe,CAAC,WAAW,CAAC,KAAK,EACjC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CACvF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,CAAC,IAAI,EACzB,oBAAoB,CAAC,WAAW,EAChC,oBAAoB,CAAC,WAAW,CAAC,KAAK,EACtC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAClG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,CAAC,IAAI,EAC1B,qBAAqB,CAAC,WAAW,EACjC,qBAAqB,CAAC,WAAW,CAAC,KAAK,EACvC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,uBAAuB,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CACpG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC,IAAI,EAC5B,uBAAuB,CAAC,WAAW,EACnC,uBAAuB,CAAC,WAAW,CAAC,KAAK,EACzC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,yBAAyB,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CACxG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,CAAC,IAAI,EAC3B,sBAAsB,CAAC,WAAW,EAClC,sBAAsB,CAAC,WAAW,CAAC,KAAK,EACxC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,wBAAwB,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,CACtG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,WAAW,EAC3B,eAAe,CAAC,WAAW,CAAC,KAAK,EACjC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CACxF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,WAAW,EAC3B,eAAe,CAAC,WAAW,CAAC,KAAK,EACjC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CACxF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,oHAAoH,EACpH,kBAAkB,CAAC,KAAK,EACxB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAClG,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,kIAAkI,EAClI,iBAAiB,CAAC,KAAK,EACvB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CACxF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,CAAC,IAAI,EAC3B,sBAAsB,CAAC,WAAW,EAClC,sBAAsB,CAAC,WAAW,CAAC,KAAK,EACxC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,wBAAwB,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,CACtG,CAAC;IAEF,yEAAyE;IAEzE,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,gGAAgG,EAChG,oBAAoB,CAAC,KAAK,EAC1B,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAC9F,CAAC;IACF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,+IAA+I,EAC/I,oBAAoB,CAAC,KAAK,EAC1B,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAC9F,CAAC;IAEF,0EAA0E;IAE1E,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,6IAA6I,EAC7I,uBAAuB,CAAC,KAAK,EAC7B,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,uBAAuB,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CACpG,CAAC;IACF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,wGAAwG,EACxG,oBAAoB,CAAC,KAAK,EAC1B,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAC9F,CAAC;IACF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,iFAAiF,EACjF,2BAA2B,CAAC,KAAK,EACjC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,2BAA2B,EAAE,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAC7G,CAAC;IAEF,0EAA0E;IAE1E,KAAK,UAAU,IAAI;QACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,gCAAgC,WAAW,mBAAmB,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,eAAe,GACnB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;AAED,CAAC,CAAC,mBAAmB"}
package/dist/init.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare function runInit(): Promise<void>;
1
+ export declare function runInit(): Promise<void>;
2
2
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAIA,wBAAsB,OAAO,kBA2E5B"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAOA,wBAAsB,OAAO,kBA0I5B"}