@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,290 @@
1
+ "use strict";
2
+ /**
3
+ * Simulate Command - Dry-run commands without executing
4
+ *
5
+ * Agent-first feature: Preview what a command would do
6
+ * without actually executing it. Perfect for:
7
+ * - Testing scripts before running on mainnet
8
+ * - Understanding fee calculations
9
+ * - Validating input parameters
10
+ *
11
+ * @module cli/commands/simulate
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.calculateFee = exports.runSimulatePay = exports.createSimulateCommand = void 0;
15
+ const commander_1 = require("commander");
16
+ const output_1 = require("../utils/output");
17
+ const config_1 = require("../utils/config");
18
+ const client_1 = require("../utils/client");
19
+ const BaseAdapter_1 = require("../../adapters/BaseAdapter");
20
+ // ============================================================================
21
+ // Command Definition
22
+ // ============================================================================
23
+ function createSimulateCommand() {
24
+ const cmd = new commander_1.Command('simulate')
25
+ .description('Dry-run a command without executing (agent-first feature)');
26
+ cmd.addCommand(createSimulatePayCommand());
27
+ cmd.addCommand(createSimulateFeeCommand());
28
+ return cmd;
29
+ }
30
+ exports.createSimulateCommand = createSimulateCommand;
31
+ // ============================================================================
32
+ // simulate pay
33
+ // ============================================================================
34
+ function createSimulatePayCommand() {
35
+ return new commander_1.Command('pay')
36
+ .description('Simulate a payment transaction')
37
+ .argument('<to>', 'Provider address')
38
+ .argument('<amount>', 'Amount to pay')
39
+ .option('-d, --deadline <deadline>', 'Deadline (+24h, +7d, or Unix timestamp)', '+24h')
40
+ .option('--json', 'Output as JSON')
41
+ .action(async (to, amount, options) => {
42
+ const output = new output_1.Output(options.json ? 'json' : 'human');
43
+ try {
44
+ await runSimulatePay(to, amount, options, output);
45
+ }
46
+ catch (error) {
47
+ const structuredError = (0, client_1.mapError)(error);
48
+ output.errorResult({
49
+ code: structuredError.code,
50
+ message: structuredError.message,
51
+ });
52
+ process.exit(output_1.ExitCode.ERROR);
53
+ }
54
+ });
55
+ }
56
+ async function runSimulatePay(to, amount, options, output) {
57
+ const config = (0, config_1.loadConfig)();
58
+ // Create a mock adapter just for parsing
59
+ const adapter = new SimulationAdapter(config.address);
60
+ // Validate and parse inputs
61
+ const validation = adapter.validatePayment(to, amount, options.deadline);
62
+ if (!validation.valid) {
63
+ output.result({
64
+ valid: false,
65
+ errors: validation.errors,
66
+ });
67
+ process.exit(output_1.ExitCode.INVALID_INPUT);
68
+ }
69
+ // Calculate fee
70
+ const amountWei = validation.parsedAmount;
71
+ const feeCalculation = calculateFee(amountWei);
72
+ const result = {
73
+ valid: true,
74
+ simulation: {
75
+ action: 'CREATE_AND_FUND_TRANSACTION',
76
+ provider: to.toLowerCase(),
77
+ requester: config.address.toLowerCase(),
78
+ amount: formatUsdc(amountWei.toString()) + ' USDC',
79
+ amountWei: amountWei.toString(),
80
+ deadline: new Date(validation.parsedDeadline * 1000).toISOString(),
81
+ deadlineUnix: validation.parsedDeadline,
82
+ },
83
+ fees: {
84
+ platformFee: formatUsdc(feeCalculation.fee.toString()) + ' USDC',
85
+ platformFeeWei: feeCalculation.fee.toString(),
86
+ feeRate: feeCalculation.effectiveRate,
87
+ providerReceives: formatUsdc(feeCalculation.providerReceives.toString()) + ' USDC',
88
+ minimumApplied: feeCalculation.minimumApplied,
89
+ },
90
+ requirements: {
91
+ requiredBalance: formatUsdc((amountWei + feeCalculation.fee).toString()) + ' USDC',
92
+ mode: config.mode,
93
+ },
94
+ warnings: validation.warnings,
95
+ };
96
+ if (options.json) {
97
+ output.result(result);
98
+ }
99
+ else {
100
+ output.section('Simulation Results');
101
+ output.print('');
102
+ output.print(output_1.fmt.bold('Transaction Details:'));
103
+ output.keyValue(' Action', 'Create and fund transaction');
104
+ output.keyValue(' Provider', to);
105
+ output.keyValue(' Amount', result.simulation.amount);
106
+ output.keyValue(' Deadline', result.simulation.deadline);
107
+ output.print('');
108
+ output.print(output_1.fmt.bold('Fee Breakdown (1% + $0.05 min):'));
109
+ output.keyValue(' Platform Fee', result.fees.platformFee);
110
+ output.keyValue(' Effective Rate', result.fees.feeRate);
111
+ output.keyValue(' Provider Receives', result.fees.providerReceives);
112
+ if (feeCalculation.minimumApplied) {
113
+ output.print(output_1.fmt.yellow(' (Minimum fee applied - amount < $5)'));
114
+ }
115
+ output.print('');
116
+ output.print(output_1.fmt.bold('Requirements:'));
117
+ output.keyValue(' Required Balance', result.requirements.requiredBalance);
118
+ output.keyValue(' Mode', result.requirements.mode);
119
+ if (validation.warnings && validation.warnings.length > 0) {
120
+ output.print('');
121
+ output.print(output_1.fmt.yellow('Warnings:'));
122
+ for (const warning of validation.warnings) {
123
+ output.print(output_1.fmt.yellow(` - ${warning}`));
124
+ }
125
+ }
126
+ output.print('');
127
+ output.success('Simulation complete - no transaction created');
128
+ }
129
+ }
130
+ exports.runSimulatePay = runSimulatePay;
131
+ // ============================================================================
132
+ // simulate fee
133
+ // ============================================================================
134
+ function createSimulateFeeCommand() {
135
+ return new commander_1.Command('fee')
136
+ .description('Calculate fee for a given amount')
137
+ .argument('<amount>', 'Amount to calculate fee for')
138
+ .option('--json', 'Output as JSON')
139
+ .action(async (amount, options) => {
140
+ const output = new output_1.Output(options.json ? 'json' : 'human');
141
+ try {
142
+ // Parse amount
143
+ const adapter = new SimulationAdapter('0x0000000000000000000000000000000000000000');
144
+ const parsedAmount = adapter.parseAmountPublic(amount);
145
+ const feeCalc = calculateFee(parsedAmount);
146
+ const result = {
147
+ amount: formatUsdc(parsedAmount.toString()) + ' USDC',
148
+ amountWei: parsedAmount.toString(),
149
+ fee: formatUsdc(feeCalc.fee.toString()) + ' USDC',
150
+ feeWei: feeCalc.fee.toString(),
151
+ effectiveRate: feeCalc.effectiveRate,
152
+ providerReceives: formatUsdc(feeCalc.providerReceives.toString()) + ' USDC',
153
+ totalRequired: formatUsdc((parsedAmount + feeCalc.fee).toString()) + ' USDC',
154
+ minimumApplied: feeCalc.minimumApplied,
155
+ };
156
+ if (options.json) {
157
+ output.result(result);
158
+ }
159
+ else {
160
+ output.section('Fee Calculation');
161
+ output.keyValue('Amount', result.amount);
162
+ output.keyValue('Platform Fee', result.fee);
163
+ output.keyValue('Effective Rate', result.effectiveRate);
164
+ output.keyValue('Provider Receives', result.providerReceives);
165
+ output.keyValue('Total Required', result.totalRequired);
166
+ if (feeCalc.minimumApplied) {
167
+ output.print('');
168
+ output.info('Minimum fee ($0.05) applied because amount < $5');
169
+ }
170
+ }
171
+ }
172
+ catch (error) {
173
+ const structuredError = (0, client_1.mapError)(error);
174
+ output.errorResult({
175
+ code: structuredError.code,
176
+ message: structuredError.message,
177
+ });
178
+ process.exit(output_1.ExitCode.ERROR);
179
+ }
180
+ });
181
+ }
182
+ // ============================================================================
183
+ // Helpers
184
+ // ============================================================================
185
+ /**
186
+ * Extended adapter for simulation purposes
187
+ */
188
+ class SimulationAdapter extends BaseAdapter_1.BaseAdapter {
189
+ constructor(requesterAddress) {
190
+ super(requesterAddress);
191
+ }
192
+ /**
193
+ * Validate payment parameters without executing
194
+ */
195
+ validatePayment(to, amount, deadline) {
196
+ const errors = [];
197
+ const warnings = [];
198
+ let parsedAmount;
199
+ let parsedDeadline;
200
+ // Validate address
201
+ try {
202
+ this.validateAddress(to, 'to');
203
+ }
204
+ catch (e) {
205
+ errors.push(e.message);
206
+ }
207
+ // Validate amount
208
+ try {
209
+ parsedAmount = this.parseAmount(amount);
210
+ // Check for small amount warning
211
+ if (parsedAmount < 5000000n) {
212
+ // Less than $5
213
+ warnings.push('Amount is below $5 - minimum fee ($0.05) will apply');
214
+ }
215
+ }
216
+ catch (e) {
217
+ errors.push(e.message);
218
+ }
219
+ // Validate deadline
220
+ try {
221
+ const currentTime = Math.floor(Date.now() / 1000);
222
+ parsedDeadline = this.parseDeadline(deadline, currentTime);
223
+ if (parsedDeadline <= currentTime) {
224
+ errors.push('Deadline must be in the future');
225
+ }
226
+ // Check for short deadline warning
227
+ const hoursUntilDeadline = (parsedDeadline - currentTime) / 3600;
228
+ if (hoursUntilDeadline < 1) {
229
+ warnings.push('Deadline is less than 1 hour from now');
230
+ }
231
+ }
232
+ catch (e) {
233
+ errors.push(e.message);
234
+ }
235
+ // Check self-payment
236
+ if (to.toLowerCase() === this.requesterAddress.toLowerCase()) {
237
+ errors.push('Cannot pay yourself');
238
+ }
239
+ return {
240
+ valid: errors.length === 0,
241
+ errors,
242
+ warnings,
243
+ parsedAmount,
244
+ parsedDeadline,
245
+ };
246
+ }
247
+ /**
248
+ * Public access to parseAmount for fee calculation
249
+ */
250
+ parseAmountPublic(amount) {
251
+ return this.parseAmount(amount);
252
+ }
253
+ }
254
+ /**
255
+ * Calculate platform fee based on AGIRAILS fee model:
256
+ * - 1% of transaction amount
257
+ * - $0.05 minimum
258
+ */
259
+ function calculateFee(amountWei) {
260
+ // 1% fee
261
+ const percentFee = amountWei / 100n;
262
+ // $0.05 minimum in wei (6 decimals)
263
+ const minimumFeeWei = 50000n;
264
+ // Apply minimum
265
+ const fee = percentFee > minimumFeeWei ? percentFee : minimumFeeWei;
266
+ const minimumApplied = percentFee < minimumFeeWei;
267
+ // Calculate what provider receives (amount minus fee)
268
+ const providerReceives = amountWei - fee;
269
+ // Calculate effective rate
270
+ const effectiveRatePercent = (Number(fee) / Number(amountWei)) * 100;
271
+ const effectiveRate = effectiveRatePercent.toFixed(2) + '%';
272
+ return {
273
+ fee,
274
+ providerReceives,
275
+ effectiveRate,
276
+ minimumApplied,
277
+ };
278
+ }
279
+ exports.calculateFee = calculateFee;
280
+ /**
281
+ * Format USDC amount from wei to decimal
282
+ */
283
+ function formatUsdc(weiAmount) {
284
+ const amount = BigInt(weiAmount);
285
+ const whole = amount / 1000000n;
286
+ const decimal = amount % 1000000n;
287
+ const decimalStr = decimal.toString().padStart(6, '0').slice(0, 2);
288
+ return `${whole}.${decimalStr}`;
289
+ }
290
+ //# sourceMappingURL=simulate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/cli/commands/simulate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Time Command - Manipulate mock blockchain time
3
+ *
4
+ * Mock mode only feature for testing time-dependent logic:
5
+ * - Deadline expiration
6
+ * - Dispute window progression
7
+ * - Time-based state transitions
8
+ *
9
+ * @module cli/commands/time
10
+ */
11
+ import { Command } from 'commander';
12
+ export declare function createTimeCommand(): Command;
13
+ /**
14
+ * Parse duration string to seconds
15
+ *
16
+ * Supports:
17
+ * - "30s" - 30 seconds
18
+ * - "5m" - 5 minutes
19
+ * - "2h" - 2 hours
20
+ * - "7d" - 7 days
21
+ * - "3600" - raw seconds
22
+ */
23
+ declare function parseDuration(duration: string): number;
24
+ /**
25
+ * Format seconds as human-readable duration
26
+ */
27
+ declare function formatDuration(seconds: number): string;
28
+ export { parseDuration, formatDuration };
29
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/time.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,iBAAiB,IAAI,OAAO,CAS3C;AAoKD;;;;;;;;;GASG;AACH,iBAAS,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA8B/C;AAuBD;;GAEG;AACH,iBAAS,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkB/C;AAuBD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ /**
3
+ * Time Command - Manipulate mock blockchain time
4
+ *
5
+ * Mock mode only feature for testing time-dependent logic:
6
+ * - Deadline expiration
7
+ * - Dispute window progression
8
+ * - Time-based state transitions
9
+ *
10
+ * @module cli/commands/time
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.formatDuration = exports.parseDuration = exports.createTimeCommand = void 0;
14
+ const commander_1 = require("commander");
15
+ const output_1 = require("../utils/output");
16
+ const config_1 = require("../utils/config");
17
+ const client_1 = require("../utils/client");
18
+ // ============================================================================
19
+ // Command Definition
20
+ // ============================================================================
21
+ function createTimeCommand() {
22
+ const cmd = new commander_1.Command('time')
23
+ .description('Manipulate mock blockchain time (mock mode only)');
24
+ cmd.addCommand(createTimeShowCommand());
25
+ cmd.addCommand(createTimeAdvanceCommand());
26
+ cmd.addCommand(createTimeSetCommand());
27
+ return cmd;
28
+ }
29
+ exports.createTimeCommand = createTimeCommand;
30
+ // ============================================================================
31
+ // time show
32
+ // ============================================================================
33
+ function createTimeShowCommand() {
34
+ return new commander_1.Command('show')
35
+ .description('Show current mock blockchain time')
36
+ .option('--json', 'Output as JSON')
37
+ .option('-q, --quiet', 'Output only the timestamp')
38
+ .action(async (options) => {
39
+ const output = new output_1.Output(options.json ? 'json' : options.quiet ? 'quiet' : 'human');
40
+ try {
41
+ validateMockMode();
42
+ const client = await (0, client_1.createClient)();
43
+ const runtime = client.runtime;
44
+ const currentTime = runtime.time.now();
45
+ if (options.quiet) {
46
+ console.log(currentTime);
47
+ return;
48
+ }
49
+ output.result({
50
+ timestamp: currentTime,
51
+ iso: new Date(currentTime * 1000).toISOString(),
52
+ readable: formatRelativeTime(currentTime),
53
+ });
54
+ }
55
+ catch (error) {
56
+ const structuredError = (0, client_1.mapError)(error);
57
+ output.errorResult({
58
+ code: structuredError.code,
59
+ message: structuredError.message,
60
+ });
61
+ process.exit(output_1.ExitCode.ERROR);
62
+ }
63
+ });
64
+ }
65
+ // ============================================================================
66
+ // time advance
67
+ // ============================================================================
68
+ function createTimeAdvanceCommand() {
69
+ return new commander_1.Command('advance')
70
+ .description('Advance mock blockchain time')
71
+ .argument('<duration>', 'Duration to advance (e.g., "1h", "30m", "7d", "3600")')
72
+ .option('--json', 'Output as JSON')
73
+ .option('-q, --quiet', 'Minimal output')
74
+ .action(async (duration, options) => {
75
+ const output = new output_1.Output(options.json ? 'json' : options.quiet ? 'quiet' : 'human');
76
+ try {
77
+ validateMockMode();
78
+ const seconds = parseDuration(duration);
79
+ if (seconds <= 0) {
80
+ throw new Error('Duration must be positive');
81
+ }
82
+ const client = await (0, client_1.createClient)();
83
+ const runtime = client.runtime;
84
+ const beforeTime = runtime.time.now();
85
+ await runtime.time.advanceTime(seconds);
86
+ const afterTime = runtime.time.now();
87
+ output.result({
88
+ advanced: seconds,
89
+ advancedReadable: formatDuration(seconds),
90
+ beforeTimestamp: beforeTime,
91
+ afterTimestamp: afterTime,
92
+ afterIso: new Date(afterTime * 1000).toISOString(),
93
+ });
94
+ output.success(`Advanced time by ${formatDuration(seconds)}`);
95
+ }
96
+ catch (error) {
97
+ const structuredError = (0, client_1.mapError)(error);
98
+ output.errorResult({
99
+ code: structuredError.code,
100
+ message: structuredError.message,
101
+ });
102
+ process.exit(output_1.ExitCode.ERROR);
103
+ }
104
+ });
105
+ }
106
+ // ============================================================================
107
+ // time set
108
+ // ============================================================================
109
+ function createTimeSetCommand() {
110
+ return new commander_1.Command('set')
111
+ .description('Set mock blockchain time to specific timestamp')
112
+ .argument('<timestamp>', 'Unix timestamp or ISO date')
113
+ .option('--json', 'Output as JSON')
114
+ .option('-q, --quiet', 'Minimal output')
115
+ .action(async (timestamp, options) => {
116
+ const output = new output_1.Output(options.json ? 'json' : options.quiet ? 'quiet' : 'human');
117
+ try {
118
+ validateMockMode();
119
+ const targetTime = parseTimestamp(timestamp);
120
+ const client = await (0, client_1.createClient)();
121
+ const runtime = client.runtime;
122
+ const beforeTime = runtime.time.now();
123
+ if (targetTime < beforeTime) {
124
+ throw new Error('Cannot set time in the past.\n' +
125
+ `Current time: ${beforeTime}\n` +
126
+ `Target time: ${targetTime}`);
127
+ }
128
+ await runtime.time.setTime(targetTime);
129
+ output.result({
130
+ beforeTimestamp: beforeTime,
131
+ afterTimestamp: targetTime,
132
+ afterIso: new Date(targetTime * 1000).toISOString(),
133
+ });
134
+ output.success(`Set time to ${new Date(targetTime * 1000).toISOString()}`);
135
+ }
136
+ catch (error) {
137
+ const structuredError = (0, client_1.mapError)(error);
138
+ output.errorResult({
139
+ code: structuredError.code,
140
+ message: structuredError.message,
141
+ });
142
+ process.exit(output_1.ExitCode.ERROR);
143
+ }
144
+ });
145
+ }
146
+ // ============================================================================
147
+ // Helpers
148
+ // ============================================================================
149
+ /**
150
+ * Validate that we're in mock mode
151
+ */
152
+ function validateMockMode() {
153
+ const config = (0, config_1.loadConfig)();
154
+ if (config.mode !== 'mock') {
155
+ throw new Error('Time commands only available in mock mode.\n' +
156
+ `Current mode: ${config.mode}`);
157
+ }
158
+ }
159
+ /**
160
+ * Parse duration string to seconds
161
+ *
162
+ * Supports:
163
+ * - "30s" - 30 seconds
164
+ * - "5m" - 5 minutes
165
+ * - "2h" - 2 hours
166
+ * - "7d" - 7 days
167
+ * - "3600" - raw seconds
168
+ */
169
+ function parseDuration(duration) {
170
+ // Raw number (seconds)
171
+ if (/^\d+$/.test(duration)) {
172
+ return parseInt(duration, 10);
173
+ }
174
+ // Duration with unit
175
+ const match = duration.match(/^(\d+(?:\.\d+)?)(s|m|h|d)$/);
176
+ if (!match) {
177
+ throw new Error(`Invalid duration format: "${duration}"\n` +
178
+ 'Expected format: "30s", "5m", "2h", "7d", or raw seconds');
179
+ }
180
+ const [, valueStr, unit] = match;
181
+ const value = parseFloat(valueStr);
182
+ switch (unit) {
183
+ case 's':
184
+ return Math.floor(value);
185
+ case 'm':
186
+ return Math.floor(value * 60);
187
+ case 'h':
188
+ return Math.floor(value * 3600);
189
+ case 'd':
190
+ return Math.floor(value * 86400);
191
+ default:
192
+ throw new Error(`Unknown unit: ${unit}`);
193
+ }
194
+ }
195
+ exports.parseDuration = parseDuration;
196
+ /**
197
+ * Parse timestamp string (Unix timestamp or ISO date)
198
+ */
199
+ function parseTimestamp(timestamp) {
200
+ // Unix timestamp (number)
201
+ if (/^\d+$/.test(timestamp)) {
202
+ return parseInt(timestamp, 10);
203
+ }
204
+ // ISO date string
205
+ const date = new Date(timestamp);
206
+ if (isNaN(date.getTime())) {
207
+ throw new Error(`Invalid timestamp: "${timestamp}"\n` +
208
+ 'Expected Unix timestamp or ISO date (e.g., "2025-12-31T23:59:59Z")');
209
+ }
210
+ return Math.floor(date.getTime() / 1000);
211
+ }
212
+ /**
213
+ * Format seconds as human-readable duration
214
+ */
215
+ function formatDuration(seconds) {
216
+ if (seconds < 60) {
217
+ return `${seconds}s`;
218
+ }
219
+ if (seconds < 3600) {
220
+ const minutes = Math.floor(seconds / 60);
221
+ const secs = seconds % 60;
222
+ return secs > 0 ? `${minutes}m ${secs}s` : `${minutes}m`;
223
+ }
224
+ if (seconds < 86400) {
225
+ const hours = Math.floor(seconds / 3600);
226
+ const minutes = Math.floor((seconds % 3600) / 60);
227
+ return minutes > 0 ? `${hours}h ${minutes}m` : `${hours}h`;
228
+ }
229
+ const days = Math.floor(seconds / 86400);
230
+ const hours = Math.floor((seconds % 86400) / 3600);
231
+ return hours > 0 ? `${days}d ${hours}h` : `${days}d`;
232
+ }
233
+ exports.formatDuration = formatDuration;
234
+ /**
235
+ * Format timestamp as relative time
236
+ */
237
+ function formatRelativeTime(timestamp) {
238
+ const now = Math.floor(Date.now() / 1000);
239
+ const diff = timestamp - now;
240
+ if (Math.abs(diff) < 60) {
241
+ return diff >= 0 ? 'just now' : 'just now';
242
+ }
243
+ const absDiff = Math.abs(diff);
244
+ const formatted = formatDuration(absDiff);
245
+ if (diff > 0) {
246
+ return `${formatted} in the future`;
247
+ }
248
+ else {
249
+ return `${formatted} in the past`;
250
+ }
251
+ }
252
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/cli/commands/time.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Transaction Commands - tx subcommand group
3
+ *
4
+ * Commands for managing ACTP transactions:
5
+ * - tx create: Create a new transaction (intermediate API)
6
+ * - tx status: Check transaction status
7
+ * - tx list: List all transactions
8
+ * - tx deliver: Mark transaction as delivered
9
+ * - tx settle: Release escrow funds
10
+ * - tx cancel: Cancel a transaction
11
+ *
12
+ * @module cli/commands/tx
13
+ */
14
+ import { Command } from 'commander';
15
+ export declare function createTxCommand(): Command;
16
+ //# sourceMappingURL=tx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,eAAe,IAAI,OAAO,CAYzC"}