@agirails/sdk 2.0.1-beta → 2.0.2

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 (405) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +116 -108
  3. package/bin/actp +10 -0
  4. package/dist/ACTPClient.d.ts +456 -33
  5. package/dist/ACTPClient.d.ts.map +1 -1
  6. package/dist/ACTPClient.js +477 -93
  7. package/dist/ACTPClient.js.map +1 -1
  8. package/dist/abi/AgentRegistry.json +782 -0
  9. package/dist/abi/EscrowVault.json +106 -38
  10. package/dist/abi/IdentityRegistry.json +316 -0
  11. package/dist/adapters/BaseAdapter.d.ts +231 -0
  12. package/dist/adapters/BaseAdapter.d.ts.map +1 -0
  13. package/dist/adapters/BaseAdapter.js +393 -0
  14. package/dist/adapters/BaseAdapter.js.map +1 -0
  15. package/dist/adapters/BeginnerAdapter.d.ts +152 -0
  16. package/dist/adapters/BeginnerAdapter.d.ts.map +1 -0
  17. package/dist/adapters/BeginnerAdapter.js +168 -0
  18. package/dist/adapters/BeginnerAdapter.js.map +1 -0
  19. package/dist/adapters/IntermediateAdapter.d.ts +211 -0
  20. package/dist/adapters/IntermediateAdapter.d.ts.map +1 -0
  21. package/dist/adapters/IntermediateAdapter.js +260 -0
  22. package/dist/adapters/IntermediateAdapter.js.map +1 -0
  23. package/dist/adapters/index.d.ts +15 -0
  24. package/dist/adapters/index.d.ts.map +1 -0
  25. package/dist/adapters/index.js +26 -0
  26. package/dist/adapters/index.js.map +1 -0
  27. package/dist/builders/DeliveryProofBuilder.d.ts +60 -1
  28. package/dist/builders/DeliveryProofBuilder.d.ts.map +1 -1
  29. package/dist/builders/DeliveryProofBuilder.js +81 -5
  30. package/dist/builders/DeliveryProofBuilder.js.map +1 -1
  31. package/dist/builders/QuoteBuilder.d.ts +101 -0
  32. package/dist/builders/QuoteBuilder.d.ts.map +1 -1
  33. package/dist/builders/QuoteBuilder.js +120 -3
  34. package/dist/builders/QuoteBuilder.js.map +1 -1
  35. package/dist/builders/index.d.ts +4 -0
  36. package/dist/builders/index.d.ts.map +1 -1
  37. package/dist/builders/index.js +4 -0
  38. package/dist/builders/index.js.map +1 -1
  39. package/dist/cli/commands/balance.d.ts +13 -0
  40. package/dist/cli/commands/balance.d.ts.map +1 -0
  41. package/dist/cli/commands/balance.js +89 -0
  42. package/dist/cli/commands/balance.js.map +1 -0
  43. package/dist/cli/commands/batch.d.ts +24 -0
  44. package/dist/cli/commands/batch.d.ts.map +1 -0
  45. package/dist/cli/commands/batch.js +424 -0
  46. package/dist/cli/commands/batch.js.map +1 -0
  47. package/dist/cli/commands/config.d.ts +13 -0
  48. package/dist/cli/commands/config.d.ts.map +1 -0
  49. package/dist/cli/commands/config.js +192 -0
  50. package/dist/cli/commands/config.js.map +1 -0
  51. package/dist/cli/commands/init.d.ts +19 -0
  52. package/dist/cli/commands/init.d.ts.map +1 -0
  53. package/dist/cli/commands/init.js +143 -0
  54. package/dist/cli/commands/init.js.map +1 -0
  55. package/dist/cli/commands/mint.d.ts +13 -0
  56. package/dist/cli/commands/mint.d.ts.map +1 -0
  57. package/dist/cli/commands/mint.js +91 -0
  58. package/dist/cli/commands/mint.js.map +1 -0
  59. package/dist/cli/commands/pay.d.ts +18 -0
  60. package/dist/cli/commands/pay.d.ts.map +1 -0
  61. package/dist/cli/commands/pay.js +87 -0
  62. package/dist/cli/commands/pay.js.map +1 -0
  63. package/dist/cli/commands/simulate.d.ts +32 -0
  64. package/dist/cli/commands/simulate.d.ts.map +1 -0
  65. package/dist/cli/commands/simulate.js +290 -0
  66. package/dist/cli/commands/simulate.js.map +1 -0
  67. package/dist/cli/commands/time.d.ts +29 -0
  68. package/dist/cli/commands/time.d.ts.map +1 -0
  69. package/dist/cli/commands/time.js +252 -0
  70. package/dist/cli/commands/time.js.map +1 -0
  71. package/dist/cli/commands/tx.d.ts +16 -0
  72. package/dist/cli/commands/tx.d.ts.map +1 -0
  73. package/dist/cli/commands/tx.js +379 -0
  74. package/dist/cli/commands/tx.js.map +1 -0
  75. package/dist/cli/commands/watch.d.ts +20 -0
  76. package/dist/cli/commands/watch.d.ts.map +1 -0
  77. package/dist/cli/commands/watch.js +160 -0
  78. package/dist/cli/commands/watch.js.map +1 -0
  79. package/dist/cli/index.d.ts +17 -0
  80. package/dist/cli/index.d.ts.map +1 -0
  81. package/dist/cli/index.js +104 -0
  82. package/dist/cli/index.js.map +1 -0
  83. package/dist/cli/utils/client.d.ts +70 -0
  84. package/dist/cli/utils/client.d.ts.map +1 -0
  85. package/dist/cli/utils/client.js +240 -0
  86. package/dist/cli/utils/client.js.map +1 -0
  87. package/dist/cli/utils/config.d.ts +91 -0
  88. package/dist/cli/utils/config.d.ts.map +1 -0
  89. package/dist/cli/utils/config.js +240 -0
  90. package/dist/cli/utils/config.js.map +1 -0
  91. package/dist/cli/utils/output.d.ts +174 -0
  92. package/dist/cli/utils/output.d.ts.map +1 -0
  93. package/dist/cli/utils/output.js +380 -0
  94. package/dist/cli/utils/output.js.map +1 -0
  95. package/dist/config/networks.d.ts +28 -0
  96. package/dist/config/networks.d.ts.map +1 -1
  97. package/dist/config/networks.js +60 -12
  98. package/dist/config/networks.js.map +1 -1
  99. package/dist/errors/index.d.ts +165 -2
  100. package/dist/errors/index.d.ts.map +1 -1
  101. package/dist/errors/index.js +260 -2
  102. package/dist/errors/index.js.map +1 -1
  103. package/dist/index.d.ts +61 -13
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +141 -36
  106. package/dist/index.js.map +1 -1
  107. package/dist/level0/Provider.d.ts +106 -0
  108. package/dist/level0/Provider.d.ts.map +1 -0
  109. package/dist/level0/Provider.js +10 -0
  110. package/dist/level0/Provider.js.map +1 -0
  111. package/dist/level0/ServiceDirectory.d.ts +74 -0
  112. package/dist/level0/ServiceDirectory.d.ts.map +1 -0
  113. package/dist/level0/ServiceDirectory.js +122 -0
  114. package/dist/level0/ServiceDirectory.js.map +1 -0
  115. package/dist/level0/index.d.ts +10 -0
  116. package/dist/level0/index.d.ts.map +1 -0
  117. package/dist/level0/index.js +15 -0
  118. package/dist/level0/index.js.map +1 -0
  119. package/dist/level0/provide.d.ts +51 -0
  120. package/dist/level0/provide.d.ts.map +1 -0
  121. package/dist/level0/provide.js +113 -0
  122. package/dist/level0/provide.js.map +1 -0
  123. package/dist/level0/request.d.ts +53 -0
  124. package/dist/level0/request.d.ts.map +1 -0
  125. package/dist/level0/request.js +462 -0
  126. package/dist/level0/request.js.map +1 -0
  127. package/dist/level1/Agent.d.ts +472 -0
  128. package/dist/level1/Agent.d.ts.map +1 -0
  129. package/dist/level1/Agent.js +1091 -0
  130. package/dist/level1/Agent.js.map +1 -0
  131. package/dist/level1/index.d.ts +10 -0
  132. package/dist/level1/index.d.ts.map +1 -0
  133. package/dist/level1/index.js +30 -0
  134. package/dist/level1/index.js.map +1 -0
  135. package/dist/level1/pricing/PriceCalculator.d.ts +62 -0
  136. package/dist/level1/pricing/PriceCalculator.d.ts.map +1 -0
  137. package/dist/level1/pricing/PriceCalculator.js +237 -0
  138. package/dist/level1/pricing/PriceCalculator.js.map +1 -0
  139. package/dist/level1/pricing/PricingStrategy.d.ts +179 -0
  140. package/dist/level1/pricing/PricingStrategy.d.ts.map +1 -0
  141. package/dist/level1/pricing/PricingStrategy.js +11 -0
  142. package/dist/level1/pricing/PricingStrategy.js.map +1 -0
  143. package/dist/level1/types/Job.d.ts +166 -0
  144. package/dist/level1/types/Job.d.ts.map +1 -0
  145. package/dist/level1/types/Job.js +11 -0
  146. package/dist/level1/types/Job.js.map +1 -0
  147. package/dist/level1/types/Options.d.ts +258 -0
  148. package/dist/level1/types/Options.d.ts.map +1 -0
  149. package/dist/level1/types/Options.js +8 -0
  150. package/dist/level1/types/Options.js.map +1 -0
  151. package/dist/level1/types/index.d.ts +8 -0
  152. package/dist/level1/types/index.d.ts.map +1 -0
  153. package/dist/level1/types/index.js +8 -0
  154. package/dist/level1/types/index.js.map +1 -0
  155. package/dist/protocol/ACTPKernel.d.ts +229 -2
  156. package/dist/protocol/ACTPKernel.d.ts.map +1 -1
  157. package/dist/protocol/ACTPKernel.js +367 -33
  158. package/dist/protocol/ACTPKernel.js.map +1 -1
  159. package/dist/protocol/AgentRegistry.d.ts +177 -0
  160. package/dist/protocol/AgentRegistry.d.ts.map +1 -0
  161. package/dist/protocol/AgentRegistry.js +449 -0
  162. package/dist/protocol/AgentRegistry.js.map +1 -0
  163. package/dist/protocol/DIDManager.d.ts +289 -0
  164. package/dist/protocol/DIDManager.d.ts.map +1 -0
  165. package/dist/protocol/DIDManager.js +481 -0
  166. package/dist/protocol/DIDManager.js.map +1 -0
  167. package/dist/protocol/DIDResolver.d.ts +236 -0
  168. package/dist/protocol/DIDResolver.d.ts.map +1 -0
  169. package/dist/protocol/DIDResolver.js +495 -0
  170. package/dist/protocol/DIDResolver.js.map +1 -0
  171. package/dist/protocol/EASHelper.d.ts +57 -2
  172. package/dist/protocol/EASHelper.d.ts.map +1 -1
  173. package/dist/protocol/EASHelper.js +230 -37
  174. package/dist/protocol/EASHelper.js.map +1 -1
  175. package/dist/protocol/EscrowVault.d.ts +93 -2
  176. package/dist/protocol/EscrowVault.d.ts.map +1 -1
  177. package/dist/protocol/EscrowVault.js +122 -33
  178. package/dist/protocol/EscrowVault.js.map +1 -1
  179. package/dist/protocol/EventMonitor.d.ts +45 -1
  180. package/dist/protocol/EventMonitor.d.ts.map +1 -1
  181. package/dist/protocol/EventMonitor.js +64 -8
  182. package/dist/protocol/EventMonitor.js.map +1 -1
  183. package/dist/protocol/MessageSigner.d.ts +116 -2
  184. package/dist/protocol/MessageSigner.d.ts.map +1 -1
  185. package/dist/protocol/MessageSigner.js +215 -9
  186. package/dist/protocol/MessageSigner.js.map +1 -1
  187. package/dist/protocol/ProofGenerator.d.ts +93 -0
  188. package/dist/protocol/ProofGenerator.d.ts.map +1 -1
  189. package/dist/protocol/ProofGenerator.js +194 -9
  190. package/dist/protocol/ProofGenerator.js.map +1 -1
  191. package/dist/protocol/QuoteBuilder.d.ts +8 -0
  192. package/dist/protocol/QuoteBuilder.d.ts.map +1 -1
  193. package/dist/protocol/QuoteBuilder.js +8 -0
  194. package/dist/protocol/QuoteBuilder.js.map +1 -1
  195. package/dist/runtime/BlockchainRuntime.d.ts +360 -0
  196. package/dist/runtime/BlockchainRuntime.d.ts.map +1 -0
  197. package/dist/runtime/BlockchainRuntime.js +767 -0
  198. package/dist/runtime/BlockchainRuntime.js.map +1 -0
  199. package/dist/runtime/IACTPRuntime.d.ts +271 -0
  200. package/dist/runtime/IACTPRuntime.d.ts.map +1 -0
  201. package/dist/runtime/IACTPRuntime.js +15 -0
  202. package/dist/runtime/IACTPRuntime.js.map +1 -0
  203. package/dist/runtime/MockRuntime.d.ts +445 -0
  204. package/dist/runtime/MockRuntime.d.ts.map +1 -0
  205. package/dist/runtime/MockRuntime.js +1065 -0
  206. package/dist/runtime/MockRuntime.js.map +1 -0
  207. package/dist/runtime/MockStateManager.d.ts +233 -0
  208. package/dist/runtime/MockStateManager.d.ts.map +1 -0
  209. package/dist/runtime/MockStateManager.js +533 -0
  210. package/dist/runtime/MockStateManager.js.map +1 -0
  211. package/dist/runtime/index.d.ts +14 -0
  212. package/dist/runtime/index.d.ts.map +1 -0
  213. package/dist/runtime/index.js +42 -0
  214. package/dist/runtime/index.js.map +1 -0
  215. package/dist/runtime/types/MockState.d.ts +167 -0
  216. package/dist/runtime/types/MockState.d.ts.map +1 -0
  217. package/dist/runtime/types/MockState.js +43 -0
  218. package/dist/runtime/types/MockState.js.map +1 -0
  219. package/dist/types/agent.d.ts +76 -0
  220. package/dist/types/agent.d.ts.map +1 -0
  221. package/dist/types/agent.js +8 -0
  222. package/dist/types/agent.js.map +1 -0
  223. package/dist/types/did.d.ts +192 -0
  224. package/dist/types/did.d.ts.map +1 -0
  225. package/dist/types/did.js +38 -0
  226. package/dist/types/did.js.map +1 -0
  227. package/dist/types/eip712.d.ts +34 -0
  228. package/dist/types/eip712.d.ts.map +1 -1
  229. package/dist/types/eip712.js +31 -5
  230. package/dist/types/eip712.js.map +1 -1
  231. package/dist/types/escrow.d.ts +17 -10
  232. package/dist/types/escrow.d.ts.map +1 -1
  233. package/dist/types/index.d.ts +5 -0
  234. package/dist/types/index.d.ts.map +1 -1
  235. package/dist/types/index.js +8 -0
  236. package/dist/types/index.js.map +1 -1
  237. package/dist/types/message.d.ts +32 -0
  238. package/dist/types/message.d.ts.map +1 -1
  239. package/dist/types/message.js +4 -0
  240. package/dist/types/message.js.map +1 -1
  241. package/dist/types/state.d.ts +28 -0
  242. package/dist/types/state.d.ts.map +1 -1
  243. package/dist/types/state.js +37 -6
  244. package/dist/types/state.js.map +1 -1
  245. package/dist/types/transaction.d.ts +17 -0
  246. package/dist/types/transaction.d.ts.map +1 -1
  247. package/dist/utils/ErrorRecoveryGuide.d.ts +125 -0
  248. package/dist/utils/ErrorRecoveryGuide.d.ts.map +1 -0
  249. package/dist/utils/ErrorRecoveryGuide.js +579 -0
  250. package/dist/utils/ErrorRecoveryGuide.js.map +1 -0
  251. package/dist/utils/Helpers.d.ts +453 -0
  252. package/dist/utils/Helpers.d.ts.map +1 -0
  253. package/dist/utils/Helpers.js +623 -0
  254. package/dist/utils/Helpers.js.map +1 -0
  255. package/dist/utils/IPFSClient.d.ts +113 -0
  256. package/dist/utils/IPFSClient.d.ts.map +1 -1
  257. package/dist/utils/IPFSClient.js +128 -7
  258. package/dist/utils/IPFSClient.js.map +1 -1
  259. package/dist/utils/Logger.d.ts +195 -0
  260. package/dist/utils/Logger.d.ts.map +1 -0
  261. package/dist/utils/Logger.js +382 -0
  262. package/dist/utils/Logger.js.map +1 -0
  263. package/dist/utils/NonceManager.d.ts +234 -1
  264. package/dist/utils/NonceManager.d.ts.map +1 -1
  265. package/dist/utils/NonceManager.js +372 -7
  266. package/dist/utils/NonceManager.js.map +1 -1
  267. package/dist/utils/RateLimiter.d.ts +253 -0
  268. package/dist/utils/RateLimiter.d.ts.map +1 -0
  269. package/dist/utils/RateLimiter.js +424 -0
  270. package/dist/utils/RateLimiter.js.map +1 -0
  271. package/dist/utils/ReceivedNonceTracker.d.ts +175 -0
  272. package/dist/utils/ReceivedNonceTracker.d.ts.map +1 -1
  273. package/dist/utils/ReceivedNonceTracker.js +261 -5
  274. package/dist/utils/ReceivedNonceTracker.js.map +1 -1
  275. package/dist/utils/SDKLifecycle.d.ts +156 -0
  276. package/dist/utils/SDKLifecycle.d.ts.map +1 -0
  277. package/dist/utils/SDKLifecycle.js +347 -0
  278. package/dist/utils/SDKLifecycle.js.map +1 -0
  279. package/dist/utils/SecureNonce.d.ts +57 -0
  280. package/dist/utils/SecureNonce.d.ts.map +1 -0
  281. package/dist/utils/SecureNonce.js +80 -0
  282. package/dist/utils/SecureNonce.js.map +1 -0
  283. package/dist/utils/Semaphore.d.ts +123 -0
  284. package/dist/utils/Semaphore.d.ts.map +1 -0
  285. package/dist/utils/Semaphore.js +247 -0
  286. package/dist/utils/Semaphore.js.map +1 -0
  287. package/dist/utils/UsedAttestationTracker.d.ts +167 -0
  288. package/dist/utils/UsedAttestationTracker.d.ts.map +1 -0
  289. package/dist/utils/UsedAttestationTracker.js +309 -0
  290. package/dist/utils/UsedAttestationTracker.js.map +1 -0
  291. package/dist/utils/canonicalJson.d.ts +22 -0
  292. package/dist/utils/canonicalJson.d.ts.map +1 -1
  293. package/dist/utils/canonicalJson.js +26 -3
  294. package/dist/utils/canonicalJson.js.map +1 -1
  295. package/dist/utils/computeTypeHash.d.ts +14 -0
  296. package/dist/utils/computeTypeHash.d.ts.map +1 -1
  297. package/dist/utils/computeTypeHash.js +19 -2
  298. package/dist/utils/computeTypeHash.js.map +1 -1
  299. package/dist/utils/fsSafe.d.ts +14 -0
  300. package/dist/utils/fsSafe.d.ts.map +1 -0
  301. package/dist/utils/fsSafe.js +89 -0
  302. package/dist/utils/fsSafe.js.map +1 -0
  303. package/dist/utils/index.d.ts +15 -0
  304. package/dist/utils/index.d.ts.map +1 -0
  305. package/dist/utils/index.js +51 -0
  306. package/dist/utils/index.js.map +1 -0
  307. package/dist/utils/security.d.ts +147 -0
  308. package/dist/utils/security.d.ts.map +1 -0
  309. package/dist/utils/security.js +391 -0
  310. package/dist/utils/security.js.map +1 -0
  311. package/dist/utils/validation.d.ts +40 -0
  312. package/dist/utils/validation.d.ts.map +1 -1
  313. package/dist/utils/validation.js +184 -7
  314. package/dist/utils/validation.js.map +1 -1
  315. package/package.json +54 -37
  316. package/src/ACTPClient.ts +692 -178
  317. package/src/abi/AgentRegistry.json +782 -0
  318. package/src/abi/EscrowVault.json +106 -38
  319. package/src/abi/IdentityRegistry.json +316 -0
  320. package/src/adapters/BaseAdapter.ts +473 -0
  321. package/src/adapters/BeginnerAdapter.ts +232 -0
  322. package/src/adapters/IntermediateAdapter.ts +316 -0
  323. package/src/adapters/index.ts +25 -0
  324. package/src/builders/DeliveryProofBuilder.ts +3 -2
  325. package/src/cli/commands/balance.ts +110 -0
  326. package/src/cli/commands/batch.ts +487 -0
  327. package/src/cli/commands/config.ts +231 -0
  328. package/src/cli/commands/init.ts +161 -0
  329. package/src/cli/commands/mint.ts +116 -0
  330. package/src/cli/commands/pay.ts +113 -0
  331. package/src/cli/commands/simulate.ts +345 -0
  332. package/src/cli/commands/time.ts +303 -0
  333. package/src/cli/commands/tx.ts +448 -0
  334. package/src/cli/commands/watch.ts +211 -0
  335. package/src/cli/index.ts +116 -0
  336. package/src/cli/utils/client.ts +249 -0
  337. package/src/cli/utils/config.ts +282 -0
  338. package/src/cli/utils/output.ts +465 -0
  339. package/src/config/networks.ts +32 -9
  340. package/src/errors/index.ts +298 -1
  341. package/src/index.ts +207 -71
  342. package/src/level0/Provider.ts +117 -0
  343. package/src/level0/ServiceDirectory.ts +131 -0
  344. package/src/level0/index.ts +10 -0
  345. package/src/level0/provide.ts +131 -0
  346. package/src/level0/request.ts +494 -0
  347. package/src/level1/Agent.ts +1432 -0
  348. package/src/level1/index.ts +10 -0
  349. package/src/level1/pricing/PriceCalculator.ts +255 -0
  350. package/src/level1/pricing/PricingStrategy.ts +198 -0
  351. package/src/level1/types/Job.ts +179 -0
  352. package/src/level1/types/Options.ts +291 -0
  353. package/src/level1/types/index.ts +8 -0
  354. package/src/protocol/ACTPKernel.ts +175 -23
  355. package/src/protocol/AgentRegistry.ts +559 -0
  356. package/src/protocol/DIDManager.ts +629 -0
  357. package/src/protocol/DIDResolver.ts +554 -0
  358. package/src/protocol/EASHelper.ts +230 -46
  359. package/src/protocol/EscrowVault.ts +68 -50
  360. package/src/protocol/EventMonitor.ts +44 -15
  361. package/src/protocol/MessageSigner.ts +193 -13
  362. package/src/protocol/ProofGenerator.ts +223 -4
  363. package/src/runtime/BlockchainRuntime.ts +993 -0
  364. package/src/runtime/IACTPRuntime.ts +284 -0
  365. package/src/runtime/MockRuntime.ts +1244 -0
  366. package/src/runtime/MockStateManager.ts +576 -0
  367. package/src/runtime/index.ts +25 -0
  368. package/src/runtime/types/MockState.ts +227 -0
  369. package/src/types/agent.ts +79 -0
  370. package/src/types/did.ts +223 -0
  371. package/src/types/escrow.ts +12 -11
  372. package/src/types/index.ts +5 -1
  373. package/src/types/state.ts +12 -3
  374. package/src/types/transaction.ts +4 -1
  375. package/src/utils/ErrorRecoveryGuide.ts +675 -0
  376. package/src/utils/Helpers.ts +688 -0
  377. package/src/utils/IPFSClient.ts +122 -5
  378. package/src/utils/Logger.ts +484 -0
  379. package/src/utils/NonceManager.ts +305 -8
  380. package/src/utils/RateLimiter.ts +534 -0
  381. package/src/utils/ReceivedNonceTracker.ts +170 -0
  382. package/src/utils/SDKLifecycle.ts +416 -0
  383. package/src/utils/SecureNonce.ts +78 -0
  384. package/src/utils/Semaphore.ts +276 -0
  385. package/src/utils/UsedAttestationTracker.ts +387 -0
  386. package/src/utils/fsSafe.ts +75 -0
  387. package/src/utils/index.ts +80 -0
  388. package/src/utils/security.ts +418 -0
  389. package/src/utils/validation.ts +164 -0
  390. package/src/__tests__/ProofGenerator.test.ts +0 -124
  391. package/src/__tests__/QuoteBuilder.test.ts +0 -516
  392. package/src/__tests__/StateMachine.test.ts +0 -82
  393. package/src/__tests__/builders/DeliveryProofBuilder.test.ts +0 -581
  394. package/src/__tests__/integration/ACTPClient.test.ts +0 -263
  395. package/src/__tests__/integration.test.ts +0 -289
  396. package/src/__tests__/protocol/EASHelper.test.ts +0 -472
  397. package/src/__tests__/protocol/EventMonitor.test.ts +0 -382
  398. package/src/__tests__/security/ACTPKernel.security.test.ts +0 -1167
  399. package/src/__tests__/security/EscrowVault.security.test.ts +0 -570
  400. package/src/__tests__/security/MessageSigner.security.test.ts +0 -286
  401. package/src/__tests__/security/NonceReplay.security.test.ts +0 -501
  402. package/src/__tests__/security/validation.security.test.ts +0 -376
  403. package/src/__tests__/utils/IPFSClient.test.ts +0 -262
  404. package/src/__tests__/utils/NonceManager.test.ts +0 -205
  405. package/src/__tests__/utils/canonicalJson.test.ts +0 -153
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Init Command - Initialize ACTP in the current directory
3
+ *
4
+ * Creates .actp/ directory with configuration and initial state.
5
+ * Supports interactive and non-interactive modes.
6
+ *
7
+ * @module cli/commands/init
8
+ */
9
+ import { Command } from 'commander';
10
+ import { Output } from '../utils/output';
11
+ export declare function createInitCommand(): Command;
12
+ interface InitOptions {
13
+ mode: string;
14
+ address?: string;
15
+ force?: boolean;
16
+ }
17
+ declare function runInit(options: InitOptions, output: Output): Promise<void>;
18
+ export { runInit };
19
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,OAAO,EAAE,MAAM,EAAY,MAAM,iBAAiB,CAAC;AAOnD,wBAAgB,iBAAiB,IAAI,OAAO,CAyB3C;AAMD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,iBAAe,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+F1E;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ /**
3
+ * Init Command - Initialize ACTP in the current directory
4
+ *
5
+ * Creates .actp/ directory with configuration and initial state.
6
+ * Supports interactive and non-interactive modes.
7
+ *
8
+ * @module cli/commands/init
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || function (mod) {
27
+ if (mod && mod.__esModule) return mod;
28
+ var result = {};
29
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
30
+ __setModuleDefault(result, mod);
31
+ return result;
32
+ };
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ exports.runInit = exports.createInitCommand = void 0;
35
+ const crypto = __importStar(require("crypto"));
36
+ const commander_1 = require("commander");
37
+ const config_1 = require("../utils/config");
38
+ const output_1 = require("../utils/output");
39
+ const MockStateManager_1 = require("../../runtime/MockStateManager");
40
+ // ============================================================================
41
+ // Command Definition
42
+ // ============================================================================
43
+ function createInitCommand() {
44
+ const cmd = new commander_1.Command('init')
45
+ .description('Initialize ACTP in the current directory')
46
+ .option('-m, --mode <mode>', 'Operating mode: mock, testnet, mainnet', 'mock')
47
+ .option('-a, --address <address>', 'Your Ethereum address')
48
+ .option('-f, --force', 'Overwrite existing configuration')
49
+ .option('--json', 'Output as JSON')
50
+ .option('-q, --quiet', 'Minimal output')
51
+ .action(async (options) => {
52
+ const output = new output_1.Output(options.json ? 'json' : options.quiet ? 'quiet' : 'human');
53
+ try {
54
+ await runInit(options, output);
55
+ }
56
+ catch (error) {
57
+ output.errorResult({
58
+ code: 'INIT_FAILED',
59
+ message: error.message,
60
+ });
61
+ process.exit(output_1.ExitCode.ERROR);
62
+ }
63
+ });
64
+ return cmd;
65
+ }
66
+ exports.createInitCommand = createInitCommand;
67
+ async function runInit(options, output) {
68
+ const projectRoot = process.cwd();
69
+ // Check if already initialized
70
+ if ((0, config_1.isInitialized)(projectRoot) && !options.force) {
71
+ throw new Error('ACTP already initialized in this directory.\n' +
72
+ 'Use --force to reinitialize.');
73
+ }
74
+ // Validate mode
75
+ const validModes = ['mock', 'testnet', 'mainnet'];
76
+ if (!validModes.includes(options.mode)) {
77
+ throw new Error(`Invalid mode: "${options.mode}". Valid modes: ${validModes.join(', ')}`);
78
+ }
79
+ const mode = options.mode;
80
+ // Get or generate address
81
+ let address = options.address;
82
+ if (!address) {
83
+ if (mode === 'mock') {
84
+ // Generate a random address for mock mode
85
+ address = '0x' + crypto.randomBytes(20).toString('hex');
86
+ output.info(`Generated mock address: ${address}`);
87
+ }
88
+ else {
89
+ throw new Error(`Address required for ${mode} mode.\n` +
90
+ 'Use --address <your-address> to specify.');
91
+ }
92
+ }
93
+ // Validate address format
94
+ if (!/^0x[a-fA-F0-9]{40}$/.test(address)) {
95
+ throw new Error(`Invalid address format: "${address}"\n` +
96
+ 'Expected 0x-prefixed 40-character hex string.');
97
+ }
98
+ // Create configuration
99
+ const config = {
100
+ mode,
101
+ address: address.toLowerCase(),
102
+ version: '1.0',
103
+ };
104
+ // Save configuration
105
+ (0, config_1.saveConfig)(config, projectRoot);
106
+ output.success('Configuration saved');
107
+ // Initialize mock state if in mock mode
108
+ if (mode === 'mock') {
109
+ const stateManager = new MockStateManager_1.MockStateManager(projectRoot);
110
+ if (!stateManager.exists() || options.force) {
111
+ stateManager.reset();
112
+ output.success('Mock state initialized');
113
+ }
114
+ // Mint initial tokens for the address
115
+ const { MockRuntime } = await Promise.resolve().then(() => __importStar(require('../../runtime/MockRuntime')));
116
+ const runtime = new MockRuntime(stateManager);
117
+ await runtime.mintTokens(address.toLowerCase(), '10000000000'); // 10,000 USDC
118
+ output.info('Minted 10,000 USDC to your address');
119
+ }
120
+ // Add to gitignore
121
+ try {
122
+ (0, config_1.addToGitignore)(projectRoot);
123
+ output.success('Added .actp/ to .gitignore');
124
+ }
125
+ catch {
126
+ output.warning('Could not update .gitignore (may not exist)');
127
+ }
128
+ // Output result
129
+ output.blank();
130
+ output.result({
131
+ initialized: true,
132
+ directory: (0, config_1.getActpDir)(projectRoot),
133
+ mode,
134
+ address,
135
+ }, { quietKey: 'address' });
136
+ output.blank();
137
+ output.print('Next steps:');
138
+ output.print(' 1. Create a payment: actp pay <provider> <amount>');
139
+ output.print(' 2. Check your balance: actp balance');
140
+ output.print(' 3. List transactions: actp tx list');
141
+ }
142
+ exports.runInit = runInit;
143
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Mint Command - Mint test USDC tokens (mock mode only)
3
+ *
4
+ * Useful for testing scenarios where you need to fund accounts.
5
+ *
6
+ * @module cli/commands/mint
7
+ */
8
+ import { Command } from 'commander';
9
+ import { Output } from '../utils/output';
10
+ export declare function createMintCommand(): Command;
11
+ declare function runMint(address: string, amount: string, output: Output): Promise<void>;
12
+ export { runMint };
13
+ //# sourceMappingURL=mint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAY,MAAM,iBAAiB,CAAC;AAQnD,wBAAgB,iBAAiB,IAAI,OAAO,CA0B3C;AAMD,iBAAe,OAAO,CACpB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAgDf;AAcD,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /**
3
+ * Mint Command - Mint test USDC tokens (mock mode only)
4
+ *
5
+ * Useful for testing scenarios where you need to fund accounts.
6
+ *
7
+ * @module cli/commands/mint
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.runMint = exports.createMintCommand = void 0;
11
+ const commander_1 = require("commander");
12
+ const output_1 = require("../utils/output");
13
+ const client_1 = require("../utils/client");
14
+ const config_1 = require("../utils/config");
15
+ // ============================================================================
16
+ // Command Definition
17
+ // ============================================================================
18
+ function createMintCommand() {
19
+ const cmd = new commander_1.Command('mint')
20
+ .description('Mint test USDC tokens (mock mode only)')
21
+ .argument('<address>', 'Address to mint tokens to')
22
+ .argument('<amount>', 'Amount to mint (in USDC, e.g., "1000")')
23
+ .option('--json', 'Output as JSON')
24
+ .option('-q, --quiet', 'Minimal output')
25
+ .action(async (address, amount, options) => {
26
+ const output = new output_1.Output(options.json ? 'json' : options.quiet ? 'quiet' : 'human');
27
+ try {
28
+ await runMint(address, amount, output);
29
+ }
30
+ catch (error) {
31
+ const structuredError = (0, client_1.mapError)(error);
32
+ output.errorResult({
33
+ code: structuredError.code,
34
+ message: structuredError.message,
35
+ details: structuredError.details,
36
+ });
37
+ process.exit(output_1.ExitCode.ERROR);
38
+ }
39
+ });
40
+ return cmd;
41
+ }
42
+ exports.createMintCommand = createMintCommand;
43
+ // ============================================================================
44
+ // Implementation
45
+ // ============================================================================
46
+ async function runMint(address, amount, output) {
47
+ // Check we're in mock mode
48
+ const config = (0, config_1.loadConfig)();
49
+ if (config.mode !== 'mock') {
50
+ throw new Error('Mint command only available in mock mode.\n' +
51
+ 'You cannot mint real USDC on testnet/mainnet.');
52
+ }
53
+ // Validate address format
54
+ if (!/^0x[a-fA-F0-9]{40}$/.test(address)) {
55
+ throw new Error(`Invalid address format: "${address}"\n` +
56
+ 'Expected 0x-prefixed 40-character hex string.');
57
+ }
58
+ // Parse amount (user enters USDC, we convert to wei)
59
+ const amountNum = parseFloat(amount);
60
+ if (isNaN(amountNum) || amountNum <= 0) {
61
+ throw new Error(`Invalid amount: "${amount}"\n` +
62
+ 'Expected positive number (e.g., "1000" for 1000 USDC).');
63
+ }
64
+ // Convert to wei (USDC has 6 decimals)
65
+ const amountWei = Math.floor(amountNum * 1000000).toString();
66
+ // Create client and mint
67
+ const client = await (0, client_1.createClient)();
68
+ await client.mintTokens(address.toLowerCase(), amountWei);
69
+ // Get new balance
70
+ const newBalance = await client.getBalance(address.toLowerCase());
71
+ output.result({
72
+ address,
73
+ minted: `${amountNum} USDC`,
74
+ mintedWei: amountWei,
75
+ newBalance: `${formatUsdc(newBalance)} USDC`,
76
+ }, { quietKey: 'newBalance' });
77
+ output.success(`Minted ${amountNum} USDC to ${address}`);
78
+ }
79
+ exports.runMint = runMint;
80
+ /**
81
+ * Format USDC amount from wei to decimal
82
+ */
83
+ function formatUsdc(weiAmount) {
84
+ const amount = BigInt(weiAmount);
85
+ const whole = amount / 1000000n;
86
+ const decimal = amount % 1000000n;
87
+ const decimalStr = decimal.toString().padStart(6, '0').slice(0, 2);
88
+ const wholeFormatted = whole.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
89
+ return `${wholeFormatted}.${decimalStr}`;
90
+ }
91
+ //# sourceMappingURL=mint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mint.js","sourceRoot":"","sources":["../../../src/cli/commands/mint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Pay Command - One-liner payment command (beginner API)
3
+ *
4
+ * The simplest way to create a payment transaction.
5
+ * Creates transaction, links escrow, and returns immediately.
6
+ *
7
+ * @module cli/commands/pay
8
+ */
9
+ import { Command } from 'commander';
10
+ import { Output } from '../utils/output';
11
+ export declare function createPayCommand(): Command;
12
+ interface PayOptions {
13
+ deadline: string;
14
+ disputeWindow: string;
15
+ }
16
+ declare function runPay(to: string, amount: string, options: PayOptions, output: Output): Promise<void>;
17
+ export { runPay };
18
+ //# sourceMappingURL=pay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAY,MAAM,iBAAiB,CAAC;AAOnD,wBAAgB,gBAAgB,IAAI,OAAO,CA4B1C;AAMD,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,iBAAe,MAAM,CACnB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAiDf;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /**
3
+ * Pay Command - One-liner payment command (beginner API)
4
+ *
5
+ * The simplest way to create a payment transaction.
6
+ * Creates transaction, links escrow, and returns immediately.
7
+ *
8
+ * @module cli/commands/pay
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.runPay = exports.createPayCommand = void 0;
12
+ const commander_1 = require("commander");
13
+ const output_1 = require("../utils/output");
14
+ const client_1 = require("../utils/client");
15
+ // ============================================================================
16
+ // Command Definition
17
+ // ============================================================================
18
+ function createPayCommand() {
19
+ const cmd = new commander_1.Command('pay')
20
+ .description('Create a payment transaction (simplest API)')
21
+ .argument('<to>', 'Provider address (recipient)')
22
+ .argument('<amount>', 'Amount to pay (e.g., "100", "100.50", "100 USDC")')
23
+ .option('-d, --deadline <deadline>', 'Deadline (+24h, +7d, or Unix timestamp)', '+24h')
24
+ .option('-w, --dispute-window <seconds>', 'Dispute window in seconds', '172800')
25
+ .option('--json', 'Output as JSON')
26
+ .option('-q, --quiet', 'Output only the transaction ID')
27
+ .action(async (to, amount, options) => {
28
+ const output = new output_1.Output(options.json ? 'json' : options.quiet ? 'quiet' : 'human');
29
+ try {
30
+ await runPay(to, amount, options, output);
31
+ }
32
+ catch (error) {
33
+ const structuredError = (0, client_1.mapError)(error);
34
+ output.errorResult({
35
+ code: structuredError.code,
36
+ message: structuredError.message,
37
+ details: structuredError.details,
38
+ });
39
+ process.exit(output_1.ExitCode.ERROR);
40
+ }
41
+ });
42
+ return cmd;
43
+ }
44
+ exports.createPayCommand = createPayCommand;
45
+ async function runPay(to, amount, options, output) {
46
+ // Create spinner for human mode
47
+ const spinner = output.spinner('Creating payment...');
48
+ try {
49
+ // Create client
50
+ const client = await (0, client_1.createClient)();
51
+ // Parse options
52
+ let deadline = options.deadline;
53
+ if (/^\d+$/.test(options.deadline)) {
54
+ deadline = parseInt(options.deadline, 10);
55
+ }
56
+ const disputeWindow = parseInt(options.disputeWindow, 10);
57
+ // Create payment
58
+ const result = await client.beginner.pay({
59
+ to,
60
+ amount,
61
+ deadline,
62
+ disputeWindow,
63
+ });
64
+ spinner.stop(true);
65
+ // Output result
66
+ output.result({
67
+ txId: result.txId,
68
+ state: result.state,
69
+ provider: result.provider,
70
+ requester: result.requester,
71
+ amount: result.amount,
72
+ deadline: result.deadline,
73
+ }, { quietKey: 'txId' });
74
+ output.blank();
75
+ output.success('Payment created and funded!');
76
+ output.print('');
77
+ output.print('Next steps:');
78
+ output.print(' - Provider delivers: actp tx deliver ' + result.txId.slice(0, 10) + '...');
79
+ output.print(' - Check status: actp tx status ' + result.txId.slice(0, 10) + '...');
80
+ }
81
+ catch (error) {
82
+ spinner.stop(false);
83
+ throw error;
84
+ }
85
+ }
86
+ exports.runPay = runPay;
87
+ //# sourceMappingURL=pay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Simulate Command - Dry-run commands without executing
3
+ *
4
+ * Agent-first feature: Preview what a command would do
5
+ * without actually executing it. Perfect for:
6
+ * - Testing scripts before running on mainnet
7
+ * - Understanding fee calculations
8
+ * - Validating input parameters
9
+ *
10
+ * @module cli/commands/simulate
11
+ */
12
+ import { Command } from 'commander';
13
+ import { Output } from '../utils/output';
14
+ export declare function createSimulateCommand(): Command;
15
+ interface SimulatePayOptions {
16
+ deadline: string;
17
+ json?: boolean;
18
+ }
19
+ declare function runSimulatePay(to: string, amount: string, options: SimulatePayOptions, output: Output): Promise<void>;
20
+ /**
21
+ * Calculate platform fee based on AGIRAILS fee model:
22
+ * - 1% of transaction amount
23
+ * - $0.05 minimum
24
+ */
25
+ declare function calculateFee(amountWei: bigint): {
26
+ fee: bigint;
27
+ providerReceives: bigint;
28
+ effectiveRate: string;
29
+ minimumApplied: boolean;
30
+ };
31
+ export { runSimulatePay, calculateFee };
32
+ //# sourceMappingURL=simulate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/simulate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AASxD,wBAAgB,qBAAqB,IAAI,OAAO,CAQ/C;AA6BD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,iBAAe,cAAc,CAC3B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAgFf;AAoJD;;;;GAIG;AACH,iBAAS,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB,CAwBA;AAaD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC"}