@absol-labs/agent 0.11.0 → 0.12.0-rc.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 (366) hide show
  1. package/README.md +43 -51
  2. package/dist/capability/invocation-capability.d.ts +2 -2
  3. package/dist/capability/probe-capability.d.ts +225 -0
  4. package/dist/capability/probe-capability.d.ts.map +1 -0
  5. package/dist/capability/probe-capability.js +248 -0
  6. package/dist/capability/probe-capability.js.map +1 -0
  7. package/dist/cli/args.d.ts +11 -0
  8. package/dist/cli/args.d.ts.map +1 -1
  9. package/dist/cli/args.js +23 -0
  10. package/dist/cli/args.js.map +1 -1
  11. package/dist/cli/commands/claim.d.ts +32 -0
  12. package/dist/cli/commands/claim.d.ts.map +1 -1
  13. package/dist/cli/commands/claim.js +116 -28
  14. package/dist/cli/commands/claim.js.map +1 -1
  15. package/dist/cli/commands/close.d.ts.map +1 -1
  16. package/dist/cli/commands/close.js +35 -3
  17. package/dist/cli/commands/close.js.map +1 -1
  18. package/dist/cli/commands/invoke.d.ts +2 -0
  19. package/dist/cli/commands/invoke.d.ts.map +1 -1
  20. package/dist/cli/commands/invoke.js +2 -2
  21. package/dist/cli/commands/invoke.js.map +1 -1
  22. package/dist/cli/commands/mcp.d.ts.map +1 -1
  23. package/dist/cli/commands/mcp.js +15 -2
  24. package/dist/cli/commands/mcp.js.map +1 -1
  25. package/dist/cli/commands/open.d.ts.map +1 -1
  26. package/dist/cli/commands/open.js +58 -4
  27. package/dist/cli/commands/open.js.map +1 -1
  28. package/dist/cli/commands/pay.d.ts +34 -0
  29. package/dist/cli/commands/pay.d.ts.map +1 -0
  30. package/dist/cli/commands/pay.js +479 -0
  31. package/dist/cli/commands/pay.js.map +1 -0
  32. package/dist/cli/commands/reclaim-unverified.d.ts.map +1 -1
  33. package/dist/cli/commands/reclaim-unverified.js +3 -2
  34. package/dist/cli/commands/reclaim-unverified.js.map +1 -1
  35. package/dist/cli/commands/reclaim.d.ts +23 -2
  36. package/dist/cli/commands/reclaim.d.ts.map +1 -1
  37. package/dist/cli/commands/reclaim.js +204 -20
  38. package/dist/cli/commands/reclaim.js.map +1 -1
  39. package/dist/cli/commands/refund.d.ts +31 -0
  40. package/dist/cli/commands/refund.d.ts.map +1 -0
  41. package/dist/cli/commands/refund.js +397 -0
  42. package/dist/cli/commands/refund.js.map +1 -0
  43. package/dist/cli/commands/status.d.ts.map +1 -1
  44. package/dist/cli/commands/status.js +21 -2
  45. package/dist/cli/commands/status.js.map +1 -1
  46. package/dist/cli/commands/streams.js +8 -12
  47. package/dist/cli/commands/streams.js.map +1 -1
  48. package/dist/cli/commands/watch.d.ts.map +1 -1
  49. package/dist/cli/commands/watch.js +4 -1
  50. package/dist/cli/commands/watch.js.map +1 -1
  51. package/dist/cli/config.d.ts +44 -26
  52. package/dist/cli/config.d.ts.map +1 -1
  53. package/dist/cli/config.js +88 -38
  54. package/dist/cli/config.js.map +1 -1
  55. package/dist/cli/context.d.ts +19 -0
  56. package/dist/cli/context.d.ts.map +1 -1
  57. package/dist/cli/deps.d.ts +53 -0
  58. package/dist/cli/deps.d.ts.map +1 -1
  59. package/dist/cli/deps.js +51 -1
  60. package/dist/cli/deps.js.map +1 -1
  61. package/dist/cli/errors.d.ts.map +1 -1
  62. package/dist/cli/errors.js +21 -1
  63. package/dist/cli/errors.js.map +1 -1
  64. package/dist/cli/escape-hatch.d.ts +6 -4
  65. package/dist/cli/escape-hatch.d.ts.map +1 -1
  66. package/dist/cli/escape-hatch.js +6 -2
  67. package/dist/cli/escape-hatch.js.map +1 -1
  68. package/dist/cli/listings.d.ts +18 -0
  69. package/dist/cli/listings.d.ts.map +1 -1
  70. package/dist/cli/listings.js +22 -12
  71. package/dist/cli/listings.js.map +1 -1
  72. package/dist/cli/preflight.d.ts +20 -14
  73. package/dist/cli/preflight.d.ts.map +1 -1
  74. package/dist/cli/preflight.js +34 -20
  75. package/dist/cli/preflight.js.map +1 -1
  76. package/dist/cli/privy.d.ts.map +1 -1
  77. package/dist/cli/privy.js +4 -2
  78. package/dist/cli/privy.js.map +1 -1
  79. package/dist/cli/progress.d.ts +13 -1
  80. package/dist/cli/progress.d.ts.map +1 -1
  81. package/dist/cli/progress.js +7 -1
  82. package/dist/cli/progress.js.map +1 -1
  83. package/dist/cli/reclaimability.d.ts +82 -0
  84. package/dist/cli/reclaimability.d.ts.map +1 -0
  85. package/dist/cli/reclaimability.js +80 -0
  86. package/dist/cli/reclaimability.js.map +1 -0
  87. package/dist/cli/run.d.ts +2 -1
  88. package/dist/cli/run.d.ts.map +1 -1
  89. package/dist/cli/run.js +62 -21
  90. package/dist/cli/run.js.map +1 -1
  91. package/dist/cli/scan-range.d.ts +2 -2
  92. package/dist/cli/scan-range.js +2 -2
  93. package/dist/cli/status.d.ts +106 -1
  94. package/dist/cli/status.d.ts.map +1 -1
  95. package/dist/cli/status.js +325 -44
  96. package/dist/cli/status.js.map +1 -1
  97. package/dist/cli/wallet.d.ts +2 -2
  98. package/dist/cli/wallet.d.ts.map +1 -1
  99. package/dist/cli/wallet.js +29 -5
  100. package/dist/cli/wallet.js.map +1 -1
  101. package/dist/discovery/rate-band.d.ts +74 -0
  102. package/dist/discovery/rate-band.d.ts.map +1 -0
  103. package/dist/discovery/rate-band.js +114 -0
  104. package/dist/discovery/rate-band.js.map +1 -0
  105. package/dist/escrow-generation.d.ts +81 -0
  106. package/dist/escrow-generation.d.ts.map +1 -0
  107. package/dist/escrow-generation.js +76 -0
  108. package/dist/escrow-generation.js.map +1 -0
  109. package/dist/frameworks/agentkit.d.ts +8 -4
  110. package/dist/frameworks/agentkit.d.ts.map +1 -1
  111. package/dist/frameworks/agentkit.js +27 -10
  112. package/dist/frameworks/agentkit.js.map +1 -1
  113. package/dist/frameworks/eliza.d.ts +3 -3
  114. package/dist/frameworks/eliza.d.ts.map +1 -1
  115. package/dist/frameworks/eliza.js +15 -6
  116. package/dist/frameworks/eliza.js.map +1 -1
  117. package/dist/frameworks/langchain.d.ts.map +1 -1
  118. package/dist/frameworks/langchain.js +8 -0
  119. package/dist/frameworks/langchain.js.map +1 -1
  120. package/dist/gateway/caller-auth-gateway.d.ts +83 -31
  121. package/dist/gateway/caller-auth-gateway.d.ts.map +1 -1
  122. package/dist/gateway/caller-auth-gateway.js +180 -27
  123. package/dist/gateway/caller-auth-gateway.js.map +1 -1
  124. package/dist/gateway/http-server.d.ts +128 -44
  125. package/dist/gateway/http-server.d.ts.map +1 -1
  126. package/dist/gateway/http-server.js +506 -155
  127. package/dist/gateway/http-server.js.map +1 -1
  128. package/dist/gateway/probe-auth.d.ts +112 -0
  129. package/dist/gateway/probe-auth.d.ts.map +1 -0
  130. package/dist/gateway/probe-auth.js +127 -0
  131. package/dist/gateway/probe-auth.js.map +1 -0
  132. package/dist/gateway/signed-rate-bounds.d.ts +51 -0
  133. package/dist/gateway/signed-rate-bounds.d.ts.map +1 -0
  134. package/dist/gateway/signed-rate-bounds.js +94 -0
  135. package/dist/gateway/signed-rate-bounds.js.map +1 -0
  136. package/dist/gateway/x402-opener-mode.d.ts +252 -0
  137. package/dist/gateway/x402-opener-mode.d.ts.map +1 -0
  138. package/dist/gateway/x402-opener-mode.js +772 -0
  139. package/dist/gateway/x402-opener-mode.js.map +1 -0
  140. package/dist/index.d.ts +6 -2
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.js +10 -5
  143. package/dist/index.js.map +1 -1
  144. package/dist/mcp/server.d.ts +64 -1
  145. package/dist/mcp/server.d.ts.map +1 -1
  146. package/dist/mcp/server.js +247 -37
  147. package/dist/mcp/server.js.map +1 -1
  148. package/dist/mcp/x402-tools.d.ts +109 -0
  149. package/dist/mcp/x402-tools.d.ts.map +1 -0
  150. package/dist/mcp/x402-tools.js +554 -0
  151. package/dist/mcp/x402-tools.js.map +1 -0
  152. package/dist/network.d.ts +119 -0
  153. package/dist/network.d.ts.map +1 -0
  154. package/dist/network.js +199 -0
  155. package/dist/network.js.map +1 -0
  156. package/dist/sdk/client.d.ts +13 -0
  157. package/dist/sdk/client.d.ts.map +1 -1
  158. package/dist/sdk/client.js +15 -0
  159. package/dist/sdk/client.js.map +1 -1
  160. package/dist/sdk/invoke.d.ts +4 -0
  161. package/dist/sdk/invoke.d.ts.map +1 -1
  162. package/dist/sdk/invoke.js +2 -5
  163. package/dist/sdk/invoke.js.map +1 -1
  164. package/dist/wallet/autonomous-wallet-broker.d.ts +3 -0
  165. package/dist/wallet/autonomous-wallet-broker.d.ts.map +1 -1
  166. package/dist/wallet/autonomous-wallet-broker.js +27 -23
  167. package/dist/wallet/autonomous-wallet-broker.js.map +1 -1
  168. package/dist/wallet/autonomous-wallet-protocol.d.ts +8 -2
  169. package/dist/wallet/autonomous-wallet-protocol.d.ts.map +1 -1
  170. package/dist/wallet/autonomous-wallet-protocol.js +9 -2
  171. package/dist/wallet/autonomous-wallet-protocol.js.map +1 -1
  172. package/dist/wallet/autonomous-wallet.d.ts.map +1 -1
  173. package/dist/wallet/autonomous-wallet.js +3 -2
  174. package/dist/wallet/autonomous-wallet.js.map +1 -1
  175. package/dist/wallet/broker-escrows.d.ts +222 -0
  176. package/dist/wallet/broker-escrows.d.ts.map +1 -0
  177. package/dist/wallet/broker-escrows.js +36 -0
  178. package/dist/wallet/broker-escrows.js.map +1 -0
  179. package/dist/wallet/lifecycle.d.ts +21 -5
  180. package/dist/wallet/lifecycle.d.ts.map +1 -1
  181. package/dist/wallet/lifecycle.js +32 -12
  182. package/dist/wallet/lifecycle.js.map +1 -1
  183. package/dist/wallet/privy-broker-server.d.ts.map +1 -1
  184. package/dist/wallet/privy-broker-server.js +31 -26
  185. package/dist/wallet/privy-broker-server.js.map +1 -1
  186. package/dist/wallet/privy-session-broker.d.ts +14 -5
  187. package/dist/wallet/privy-session-broker.d.ts.map +1 -1
  188. package/dist/wallet/privy-session-broker.js +29 -17
  189. package/dist/wallet/privy-session-broker.js.map +1 -1
  190. package/dist/wallet/privy-session-provider.d.ts +3 -1
  191. package/dist/wallet/privy-session-provider.d.ts.map +1 -1
  192. package/dist/wallet/privy-session-provider.js +5 -3
  193. package/dist/wallet/privy-session-provider.js.map +1 -1
  194. package/dist/wallet/provider.d.ts.map +1 -1
  195. package/dist/wallet/provider.js +15 -8
  196. package/dist/wallet/provider.js.map +1 -1
  197. package/dist/x402/facilitator.d.ts +3 -30
  198. package/dist/x402/facilitator.d.ts.map +1 -1
  199. package/dist/x402/facilitator.js +0 -27
  200. package/dist/x402/facilitator.js.map +1 -1
  201. package/dist/x402-buyer/guarded-fetch.d.ts +51 -0
  202. package/dist/x402-buyer/guarded-fetch.d.ts.map +1 -0
  203. package/dist/x402-buyer/guarded-fetch.js +147 -0
  204. package/dist/x402-buyer/guarded-fetch.js.map +1 -0
  205. package/dist/x402-buyer/index.d.ts +10 -0
  206. package/dist/x402-buyer/index.d.ts.map +1 -0
  207. package/dist/x402-buyer/index.js +10 -0
  208. package/dist/x402-buyer/index.js.map +1 -0
  209. package/dist/x402-buyer/pay.d.ts +157 -0
  210. package/dist/x402-buyer/pay.d.ts.map +1 -0
  211. package/dist/x402-buyer/pay.js +366 -0
  212. package/dist/x402-buyer/pay.js.map +1 -0
  213. package/dist/x402-opener/abi.d.ts +684 -0
  214. package/dist/x402-opener/abi.d.ts.map +1 -0
  215. package/dist/x402-opener/abi.js +880 -0
  216. package/dist/x402-opener/abi.js.map +1 -0
  217. package/dist/x402-opener/facilitator-entry.d.ts +3 -0
  218. package/dist/x402-opener/facilitator-entry.d.ts.map +1 -0
  219. package/dist/x402-opener/facilitator-entry.js +40 -0
  220. package/dist/x402-opener/facilitator-entry.js.map +1 -0
  221. package/dist/x402-opener/facilitator-server.d.ts +209 -0
  222. package/dist/x402-opener/facilitator-server.d.ts.map +1 -0
  223. package/dist/x402-opener/facilitator-server.js +762 -0
  224. package/dist/x402-opener/facilitator-server.js.map +1 -0
  225. package/dist/x402-opener/index.d.ts +14 -0
  226. package/dist/x402-opener/index.d.ts.map +1 -0
  227. package/dist/x402-opener/index.js +14 -0
  228. package/dist/x402-opener/index.js.map +1 -0
  229. package/dist/x402-opener/listing-resolver.d.ts +55 -0
  230. package/dist/x402-opener/listing-resolver.d.ts.map +1 -0
  231. package/dist/x402-opener/listing-resolver.js +125 -0
  232. package/dist/x402-opener/listing-resolver.js.map +1 -0
  233. package/dist/x402-opener/refund-relay.d.ts +266 -0
  234. package/dist/x402-opener/refund-relay.d.ts.map +1 -0
  235. package/dist/x402-opener/refund-relay.js +1341 -0
  236. package/dist/x402-opener/refund-relay.js.map +1 -0
  237. package/dist/x402-opener/relayer-queue.d.ts +14 -0
  238. package/dist/x402-opener/relayer-queue.d.ts.map +1 -0
  239. package/dist/x402-opener/relayer-queue.js +18 -0
  240. package/dist/x402-opener/relayer-queue.js.map +1 -0
  241. package/dist/x402-opener/scheme.d.ts +296 -0
  242. package/dist/x402-opener/scheme.d.ts.map +1 -0
  243. package/dist/x402-opener/scheme.js +1035 -0
  244. package/dist/x402-opener/scheme.js.map +1 -0
  245. package/dist/x402-opener/terms.d.ts +165 -0
  246. package/dist/x402-opener/terms.d.ts.map +1 -0
  247. package/dist/x402-opener/terms.js +304 -0
  248. package/dist/x402-opener/terms.js.map +1 -0
  249. package/dist/zktls/reclaim.d.ts +2 -2
  250. package/dist/zktls/t2-delivery-proof.d.ts +6 -6
  251. package/docs/agent-layer.md +3 -2
  252. package/docs/autonomous-privy-wallet.md +188 -0
  253. package/docs/cli.md +265 -34
  254. package/docs/langchain.md +5 -0
  255. package/docs/mcp-reference.md +91 -5
  256. package/docs/probe-capability.md +191 -0
  257. package/docs/quickstart.md +39 -4
  258. package/docs/threat-model.md +20 -0
  259. package/docs/x402.md +766 -593
  260. package/package.json +19 -17
  261. package/src/capability/probe-capability.ts +355 -0
  262. package/src/cli/args.ts +29 -0
  263. package/src/cli/commands/claim.ts +168 -33
  264. package/src/cli/commands/close.ts +36 -3
  265. package/src/cli/commands/invoke.ts +5 -2
  266. package/src/cli/commands/mcp.ts +18 -2
  267. package/src/cli/commands/open.ts +75 -4
  268. package/src/cli/commands/pay.ts +584 -0
  269. package/src/cli/commands/reclaim-unverified.ts +8 -2
  270. package/src/cli/commands/reclaim.ts +277 -19
  271. package/src/cli/commands/refund.ts +475 -0
  272. package/src/cli/commands/status.ts +28 -2
  273. package/src/cli/commands/streams.ts +10 -14
  274. package/src/cli/commands/watch.ts +11 -1
  275. package/src/cli/config.ts +139 -52
  276. package/src/cli/context.ts +16 -0
  277. package/src/cli/deps.ts +111 -1
  278. package/src/cli/errors.ts +24 -1
  279. package/src/cli/escape-hatch.ts +19 -5
  280. package/src/cli/listings.ts +43 -10
  281. package/src/cli/preflight.ts +36 -21
  282. package/src/cli/privy.ts +4 -2
  283. package/src/cli/progress.ts +21 -2
  284. package/src/cli/reclaimability.ts +154 -0
  285. package/src/cli/run.ts +77 -21
  286. package/src/cli/scan-range.ts +2 -2
  287. package/src/cli/status.ts +454 -44
  288. package/src/cli/wallet.ts +45 -8
  289. package/src/discovery/rate-band.ts +172 -0
  290. package/src/escrow-generation.ts +135 -0
  291. package/src/frameworks/agentkit.ts +45 -11
  292. package/src/frameworks/eliza.ts +27 -5
  293. package/src/frameworks/langchain.ts +14 -0
  294. package/src/gateway/caller-auth-gateway.ts +320 -68
  295. package/src/gateway/http-server.ts +717 -220
  296. package/src/gateway/probe-auth.ts +191 -0
  297. package/src/gateway/signed-rate-bounds.ts +164 -0
  298. package/src/gateway/x402-opener-mode.ts +1171 -0
  299. package/src/index.ts +82 -19
  300. package/src/mcp/server.ts +351 -42
  301. package/src/mcp/x402-tools.ts +785 -0
  302. package/src/network.ts +302 -0
  303. package/src/sdk/client.ts +25 -0
  304. package/src/sdk/invoke.ts +6 -5
  305. package/src/wallet/autonomous-wallet-broker.ts +46 -20
  306. package/src/wallet/autonomous-wallet-protocol.ts +11 -2
  307. package/src/wallet/autonomous-wallet.ts +4 -2
  308. package/src/wallet/broker-escrows.ts +66 -0
  309. package/src/wallet/lifecycle.ts +53 -18
  310. package/src/wallet/privy-broker-server.ts +35 -25
  311. package/src/wallet/privy-session-broker.ts +58 -25
  312. package/src/wallet/privy-session-provider.ts +7 -3
  313. package/src/wallet/provider.ts +20 -15
  314. package/src/x402/facilitator.ts +3 -43
  315. package/src/x402-buyer/guarded-fetch.ts +213 -0
  316. package/src/x402-buyer/index.ts +9 -0
  317. package/src/x402-buyer/pay.ts +555 -0
  318. package/src/x402-opener/abi.ts +881 -0
  319. package/src/x402-opener/facilitator-entry.ts +48 -0
  320. package/src/x402-opener/facilitator-server.ts +1114 -0
  321. package/src/x402-opener/index.ts +13 -0
  322. package/src/x402-opener/listing-resolver.ts +202 -0
  323. package/src/x402-opener/refund-relay.ts +1873 -0
  324. package/src/x402-opener/relayer-queue.ts +18 -0
  325. package/src/x402-opener/scheme.ts +1551 -0
  326. package/src/x402-opener/terms.ts +453 -0
  327. package/dist/gateway/x402-mode.d.ts +0 -123
  328. package/dist/gateway/x402-mode.d.ts.map +0 -1
  329. package/dist/gateway/x402-mode.js +0 -212
  330. package/dist/gateway/x402-mode.js.map +0 -1
  331. package/dist/x402/delivery-oracle.d.ts +0 -108
  332. package/dist/x402/delivery-oracle.d.ts.map +0 -1
  333. package/dist/x402/delivery-oracle.js +0 -174
  334. package/dist/x402/delivery-oracle.js.map +0 -1
  335. package/dist/x402/facilitator-server-entry.d.ts +0 -3
  336. package/dist/x402/facilitator-server-entry.d.ts.map +0 -1
  337. package/dist/x402/facilitator-server-entry.js +0 -27
  338. package/dist/x402/facilitator-server-entry.js.map +0 -1
  339. package/dist/x402/facilitator-server.d.ts +0 -73
  340. package/dist/x402/facilitator-server.d.ts.map +0 -1
  341. package/dist/x402/facilitator-server.js +0 -305
  342. package/dist/x402/facilitator-server.js.map +0 -1
  343. package/dist/x402/payment-requirements.d.ts +0 -106
  344. package/dist/x402/payment-requirements.d.ts.map +0 -1
  345. package/dist/x402/payment-requirements.js +0 -138
  346. package/dist/x402/payment-requirements.js.map +0 -1
  347. package/dist/x402/relayer.d.ts +0 -41
  348. package/dist/x402/relayer.d.ts.map +0 -1
  349. package/dist/x402/relayer.js +0 -64
  350. package/dist/x402/relayer.js.map +0 -1
  351. package/dist/x402/resource-index.d.ts +0 -75
  352. package/dist/x402/resource-index.d.ts.map +0 -1
  353. package/dist/x402/resource-index.js +0 -126
  354. package/dist/x402/resource-index.js.map +0 -1
  355. package/dist/x402/verified-delivery-facilitator.d.ts +0 -285
  356. package/dist/x402/verified-delivery-facilitator.d.ts.map +0 -1
  357. package/dist/x402/verified-delivery-facilitator.js +0 -423
  358. package/dist/x402/verified-delivery-facilitator.js.map +0 -1
  359. package/src/gateway/x402-mode.ts +0 -350
  360. package/src/x402/delivery-oracle.ts +0 -285
  361. package/src/x402/facilitator-server-entry.ts +0 -35
  362. package/src/x402/facilitator-server.ts +0 -445
  363. package/src/x402/payment-requirements.ts +0 -231
  364. package/src/x402/relayer.ts +0 -122
  365. package/src/x402/resource-index.ts +0 -228
  366. package/src/x402/verified-delivery-facilitator.ts +0 -744
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reclaim-unverified.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/reclaim-unverified.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AA2CjE,eAAO,MAAM,wBAAwB,EAAE,WAwGtC,CAAC"}
1
+ {"version":3,"file":"reclaim-unverified.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/reclaim-unverified.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AA4CjE,eAAO,MAAM,wBAAwB,EAAE,WA6GtC,CAAC"}
@@ -7,6 +7,7 @@ import { signRecoveryMandate } from "../mandate.js";
7
7
  import { assertCanPayGas } from "../preflight.js";
8
8
  import { writeClientOptions } from "../deps.js";
9
9
  import { isPolicyEnforced, resolveCliWallet } from "../wallet.js";
10
+ import { escrowGenerationFor } from "../../escrow-generation.js";
10
11
  /**
11
12
  * The acknowledgement this command will not run without.
12
13
  *
@@ -72,7 +73,7 @@ export const reclaimUnverifiedCommand = {
72
73
  const { account } = wallet;
73
74
  const read = deps.createReadClient(config);
74
75
  await assertTestnetRpc(config, () => read.getChainId());
75
- await assertCanPayGas(read, account.address);
76
+ await assertCanPayGas(read, account.address, config.network);
76
77
  const stream = await read.getStreamV2(streamId);
77
78
  if (stream.reclaimed) {
78
79
  throw new CliError("this stream has already been reclaimed — there is nothing left to take back", {
@@ -86,7 +87,7 @@ export const reclaimUnverifiedCommand = {
86
87
  // prevent.
87
88
  const grace = await readEscapeGrace(read);
88
89
  const now = await readChainNow(read, deps.nowSeconds());
89
- const window = escapeHatchWindow(stream, grace, now.seconds);
90
+ const window = escapeHatchWindow(stream, grace, now.seconds, escrowGenerationFor(config.chainId, config.escrow));
90
91
  if (!window.ready) {
91
92
  throw notReady(streamId, window, now.source);
92
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reclaim-unverified.js","sourceRoot":"","sources":["../../../src/cli/commands/reclaim-unverified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIlE;;;;;;;;;;;;;;GAcG;AACH,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAG;IACtB,wEAAwE;IACxE,gFAAgF;IAChF,0EAA0E;IAC1E,4EAA4E;IAC5E,8DAA8D;IAC9D,EAAE;IACF,+EAA+E;IAC/E,4EAA4E;CAC7E,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAgB;IACnD,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EACL,yEAAyE;IAC3E,KAAK,EAAE,0CAA0C,oBAAoB,EAAE;IACvE,KAAK,EAAE,CAAC,oBAAoB,CAAC;IAC7B,KAAK,EAAE,IAAI;IACX,KAAK,CAAC,GAAG,CAAC,OAAuB;QAC/B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,UAAU,CAAC,iDAAiD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEzD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAC7C,MAAM,UAAU,CACd,0FAA0F,oBAAoB,EAAE,EAChH;gBACE,GAAG,eAAe;gBAClB,EAAE;gBACF,iBAAiB,oBAAoB,gCAAgC;aACtE,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACzC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxD,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CAChB,6EAA6E,EAC7E;gBACE,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,uCAAuC,QAAQ,EAAE;aACxD,CACF,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,mEAAmE;QACnE,4EAA4E;QAC5E,WAAW;QACX,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,6EAA6E;QAC7E,sEAAsE;QACtE,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,eAAe;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CACN,OAAO,KAAK,IAAI;YACd,CAAC,CAAC,6GAA6G;YAC/G,CAAC,CAAC,wCAAwC,UAAU,CAAC,OAAO,CAAC,uDAAuD,CACvH,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEb,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAClC,MAAM,EACN,OAAO,EACP,kBAAkB,CAAC,MAAM,CAAC,CAC3B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC;YACjD,QAAQ;YACR,kEAAkE;YAClE,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC;gBACrC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;YACtD,cAAc,EAAE,EAAE;YAClB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SAC9B,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC;YACT,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,MAAM,CAAC,OAAO;YAClC,kBAAkB,EAAE,MAAM,CAAC,YAAY;YACvC,0BAA0B,EAAE,OAAO;SACpC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACxC,GAAG,CAAC,KAAK,CAAC;YACR,CAAC,UAAU,EAAE,QAAQ,CAAC;YACtB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;YACrB,CAAC,qBAAqB,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxD;gBACE,6BAA6B;gBAC7B,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;aACxE;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,SAAS,QAAQ,CACf,QAAuB,EACvB,MAAyB,EACzB,KAAwB;IAExB,OAAO,IAAI,QAAQ,CACjB,4DAA4D,eAAe,CACzE,MAAM,CAAC,OAAO,CACf,QAAQ,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAClD;QACE,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE;YACJ,4DAA4D,MAAM,CAAC,YAAY,+BAC7E,KAAK,KAAK,OAAO;gBACf,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,2EACN,GAAG;YACH,sEAAsE,QAAQ,EAAE;SACjF,CAAC,IAAI,CAAC,GAAG,CAAC;KACZ,CACF,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,KAAK,UAAU,eAAe,CAAC,IAAmB;IAChD,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAChB,mGAAmG,EACnG;YACE,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,oFAAoF;YAC1F,KAAK,EAAE,KAAK;SACb,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAChC,IAAmB,EACnB,QAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"reclaim-unverified.js","sourceRoot":"","sources":["../../../src/cli/commands/reclaim-unverified.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { CommandSpec } from "../context.js";
2
2
  import type { CliReadClient, CliWriteClient } from "../deps.js";
3
3
  import type { ReclaimVerifiedStreamResult, StreamProofTransactionResult } from "../../sdk/client.js";
4
+ import { type Log } from "viem";
4
5
  export declare const reclaimCommand: CommandSpec;
5
6
  /**
6
7
  * Send the close that `--close-first` asks for, tolerating the one race that
@@ -19,15 +20,35 @@ export declare function awaitClosed(read: Pick<CliReadClient, "getStreamV2">, st
19
20
  * time. That is not an error condition — it is the normal ordering of a
20
21
  * checkpoint rail, and it happens on the FIRST attempt essentially every time.
21
22
  * A CLI that surfaced the raw revert would teach every user that reclaim is
22
- * broken, so the wait is built in and narrated. Any other failure is rethrown
23
- * immediately: only an open settlement window is retried.
23
+ * broken, so the wait is built in and narrated.
24
+ *
25
+ * What counts as "wait for the next checkpoint" is decided by `isRetryable`,
26
+ * NOT by this function. It used to be `instanceof SettlementWindowOpenError`
27
+ * alone, which missed the two ways the wait actually shows up in practice: the
28
+ * ORACLE refusing a proof for a stream it has not checkpointed yet (the SDK
29
+ * fetches the proof before it ever simulates, so the escrow's revert never
30
+ * happens), and the endpoint returning revert data the ABI cannot decode. Both
31
+ * killed the advertised retry on its first attempt — the second one right
32
+ * after `--close-first` had already spent the buyer's close.
24
33
  */
25
34
  export declare function reclaimWithBoundedRetry(write: CliWriteClient, buildInput: () => Promise<Parameters<CliWriteClient["reclaimStream"]>[0]>, options: {
26
35
  readonly attempts: number;
27
36
  readonly intervalMs: number;
28
37
  readonly sleep: (ms: number) => Promise<void>;
38
+ /** True when this failure is the checkpoint wait and will clear on its own. */
39
+ readonly isRetryable: (error: unknown) => Promise<boolean>;
40
+ /** Turn a failure that will NOT clear into something worth reading. */
41
+ readonly explainFailure: (error: unknown) => Promise<unknown>;
29
42
  readonly onRetry: (attempt: number, reason: string) => void;
30
43
  /** What to tell the buyer once the budget is spent. See `describeLastResort`. */
31
44
  readonly exhaustedHint?: () => Promise<string>;
32
45
  }): Promise<ReclaimVerifiedStreamResult>;
46
+ /**
47
+ * The amount the reclaim returned, decoded from its BuyerReclaimed event (same
48
+ * signature on V2 and V3). Null when the receipt carries no matching log, so
49
+ * the CLI prints nothing rather than a guessed figure.
50
+ */
51
+ export declare function refundFromReceipt(receipt: {
52
+ logs?: readonly Log[];
53
+ } | undefined, escrow: string, streamId: `0x${string}`): bigint | null;
33
54
  //# sourceMappingURL=reclaim.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reclaim.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/reclaim.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EACV,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAW7B,eAAO,MAAM,cAAc,EAAE,WA4I5B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAO9C;AA0BD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,EACxC,QAAQ,EAAE,KAAK,MAAM,EAAE,EACvB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACpC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzE,OAAO,EAAE;IACP,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,iFAAiF;IACjF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD,GACA,OAAO,CAAC,2BAA2B,CAAC,CAuBtC"}
1
+ {"version":3,"file":"reclaim.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/reclaim.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EACV,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAkB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAWhD,eAAO,MAAM,cAAc,EAAE,WA4O5B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAO9C;AA0BD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,EACxC,QAAQ,EAAE,KAAK,MAAM,EAAE,EACvB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACpC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzE,OAAO,EAAE;IACP,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,uEAAuE;IACvE,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,iFAAiF;IACjF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD,GACA,OAAO,CAAC,2BAA2B,CAAC,CAwBtC;AA6LD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,SAAS,GAAG,EAAE,CAAA;CAAE,GAAG,SAAS,EAC9C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,MAAM,EAAE,GACtB,MAAM,GAAG,IAAI,CAcf"}
@@ -1,4 +1,4 @@
1
- import { SettlementWindowOpenError } from "@absol-labs/sdk";
1
+ import { CheckpointNotReadyError, ReclaimFailedError, SettlementWindowOpenError, StreamNotInCheckpointError, } from "@absol-labs/sdk";
2
2
  import { booleanFlag, integerFlag } from "../args.js";
3
3
  import { formatUsdc } from "../amounts.js";
4
4
  import { assertTestnetRpc, parseBytes32 } from "../config.js";
@@ -7,7 +7,11 @@ import { describeEscapeHatch, escapeHatchWindow, readChainNow, } from "../escape
7
7
  import { signRecoveryMandate } from "../mandate.js";
8
8
  import { assertCanPayGas } from "../preflight.js";
9
9
  import { writeClientOptions } from "../deps.js";
10
+ import { describeAwaitingCheckpoint, describeTerminalBlocker, readReclaimBlocker, } from "../reclaimability.js";
10
11
  import { isPolicyEnforced, resolveCliWallet } from "../wallet.js";
12
+ import { streamEscrowV2Abi } from "@absol-labs/shared";
13
+ import { parseEventLogs } from "viem";
14
+ import { escrowGenerationFor } from "../../escrow-generation.js";
11
15
  /**
12
16
  * How long to keep retrying a reclaim that is blocked only by an open
13
17
  * settlement window. Defaults chosen to comfortably cover the oracle's ~15-22s
@@ -23,6 +27,7 @@ export const reclaimCommand = {
23
27
  signs: true,
24
28
  async run(context) {
25
29
  const { args, config, env, out, deps } = context;
30
+ const setActivity = (activity) => context.progress?.setActivity(activity);
26
31
  const [streamIdArg] = args.positionals;
27
32
  if (streamIdArg === undefined) {
28
33
  throw usageError("metrik reclaim requires a <streamId>");
@@ -42,7 +47,22 @@ export const reclaimCommand = {
42
47
  const { account } = wallet;
43
48
  const read = deps.createReadClient(config);
44
49
  await assertTestnetRpc(config, () => read.getChainId());
45
- await assertCanPayGas(read, account.address);
50
+ // Name the condition from chain state BEFORE anything is built or spent.
51
+ // The public endpoint's revert data is not dependable enough to tell
52
+ // "already reclaimed" from "still running" from "not checkpointed yet", and
53
+ // those three have nothing in common but the word "reverted". See
54
+ // `../reclaimability.ts`.
55
+ const blocker = await readReclaimBlocker(read, streamId, deps.nowSeconds());
56
+ // `--close-first` exists precisely to clear a running stream, so it is the
57
+ // one caller allowed past that refusal. Nothing gets past "already
58
+ // reclaimed": there is no money left to take, with or without a close.
59
+ if (blocker !== null && !(closeFirst && blocker.kind === "running")) {
60
+ throwIfTerminal(blocker, streamId);
61
+ if (blocker.kind === "awaiting-checkpoint") {
62
+ out.note(describeAwaitingCheckpoint(blocker));
63
+ }
64
+ }
65
+ await assertCanPayGas(read, account.address, config.network);
46
66
  const write = deps.createWriteClient(config, account, writeClientOptions(wallet));
47
67
  // A policy-enforced wallet (Privy) signs no mandate of its own: these are
48
68
  // buyer-recovery actions, gated by the escrow on the buyer address and by
@@ -79,7 +99,18 @@ export const reclaimCommand = {
79
99
  }
80
100
  else {
81
101
  out.note(`closed in ${closeResult.txHash} — waiting for it to land …`);
102
+ setActivity(`waiting for the RPC endpoint to show the close in ${closeResult.txHash}`);
82
103
  await awaitClosed(read, streamId, deps.sleep, closeResult.txHash);
104
+ setActivity(null);
105
+ // A stream closed before any checkpoint covers its stop time is the
106
+ // ORDINARY outcome of a short trial run, not an exotic one — and it
107
+ // is the state `--close-first` leaves behind by construction. Say
108
+ // what is being waited for, so the retries below read as the
109
+ // advertised wait rather than as a command that has stalled.
110
+ const afterClose = await readReclaimBlocker(read, streamId, deps.nowSeconds());
111
+ if (afterClose?.kind === "awaiting-checkpoint") {
112
+ out.note(describeAwaitingCheckpoint(afterClose));
113
+ }
83
114
  }
84
115
  }
85
116
  }
@@ -92,21 +123,33 @@ export const reclaimCommand = {
92
123
  attempts,
93
124
  intervalMs: interval * 1_000,
94
125
  sleep: deps.sleep,
95
- onRetry: (attempt, reason) => out.note(`reclaim blocked: no checkpoint covers the stream's stop time yet (attempt ${attempt}/${attempts}) — ${reason}`),
126
+ isRetryable: async (error) => await isWaitingForCheckpoint(error, read, streamId, deps.nowSeconds()),
127
+ explainFailure: async (error) => await explainReclaimFailure(error, read, streamId, deps.nowSeconds()),
128
+ onRetry: (attempt, reason) => {
129
+ out.note(`reclaim blocked: no checkpoint covers the stream's stop time yet (attempt ${attempt}/${attempts}) — ${reason}`);
130
+ // The heartbeat must describe THIS wait, not guess at a slow RPC.
131
+ setActivity(`waiting for the oracle's next checkpoint (attempt ${attempt}/${attempts} was blocked; retrying every ${interval}s)`);
132
+ },
96
133
  // "Retry later" is the wrong advice when the oracle is gone: every
97
134
  // attempt this command makes needs a proof FROM that oracle. So the
98
135
  // give-up message names the path that needs no proof, and says whether
99
136
  // it is open yet.
100
- exhaustedHint: async () => await describeLastResort(read, streamId, deps.nowSeconds()),
137
+ exhaustedHint: async () => await describeLastResort(read, streamId, deps.nowSeconds(), escrowGenerationFor(config.chainId, config.escrow)),
101
138
  });
102
139
  // Read the settled figure back only once the node we are reading from has
103
- // actually applied the reclaim. `sepolia.base.org` is load-balanced, so an
140
+ // actually applied the reclaim. The public RPC is load-balanced, so an
104
141
  // immediate read can land on a lagged node and report `settledCumulative: 0`
105
- // for a stream that just settled a non-zero amount — printing "settled to
106
- // operator 0 USDC" when it was not zero. Poll for `reclaimed` (which the
142
+ // for a stream that just settled a non-zero amount — printing an operator
143
+ // entitlement of 0 USDC when it was not zero. Poll for `reclaimed` (which the
107
144
  // transaction we just landed sets) so the number beside it is from the same
108
145
  // post-reclaim state. Bounded, and falls back to the last value read.
146
+ setActivity("waiting for the RPC endpoint to show the reclaim");
109
147
  const stream = await readSettledStream(read, streamId, deps.sleep);
148
+ setActivity(null);
149
+ // The refund comes from the reclaim's own BuyerReclaimed event, never from
150
+ // a post-reclaim read: reclaim overwrites `deposit` with the operator's
151
+ // entitlement, so deposit − settled reads 0 after every reclaim.
152
+ const refunded = refundFromReceipt(result.reclaimResult.receipt, config.escrow, streamId);
110
153
  out.result({
111
154
  streamId,
112
155
  txHash: result.reclaimResult.txHash,
@@ -116,6 +159,14 @@ export const reclaimCommand = {
116
159
  // asked for".
117
160
  closeSkippedAlreadyClosed: closeFirst ? alreadyClosed : null,
118
161
  settledCumulative: stream?.settledCumulative ?? null,
162
+ // What the reclaim sent back: everything not settled to the operator.
163
+ // Only reported once the read reflects the reclaim, so a lagged node can
164
+ // never print a refund figure computed from pre-reclaim state.
165
+ refundedAmount: refunded,
166
+ // For an x402 stream the refund goes to the opener's payer, whoever sent
167
+ // the (permissionless) reclaim.
168
+ opener: stream?.opener ?? null,
169
+ refundedTo: stream === null ? null : (stream.payer ?? stream.buyer),
119
170
  });
120
171
  out.print("Reclaimed.");
121
172
  out.table([
@@ -129,7 +180,30 @@ export const reclaimCommand = {
129
180
  ...(stream === null
130
181
  ? []
131
182
  : [
132
- ["settled to operator", formatUsdc(stream.settledCumulative)],
183
+ // No USDC moves to the operator at reclaim: reclaim fixes the
184
+ // operator's entitlement, the operator claims it later, and the
185
+ // protocol fee comes out at that claim. "Settled to operator"
186
+ // read as a payment that never happened.
187
+ [
188
+ "operator entitled",
189
+ `${formatUsdc(stream.settledCumulative)} (claims separately; fee taken at claim)`,
190
+ ],
191
+ ...(refunded === null
192
+ ? []
193
+ : [
194
+ [
195
+ (stream.opener ?? null) === null
196
+ ? "returned to buyer"
197
+ : "returned to payer",
198
+ formatUsdc(refunded),
199
+ ],
200
+ ]),
201
+ ...((stream.opener ?? null) === null
202
+ ? []
203
+ : [
204
+ ["via opener", stream.opener],
205
+ ["refunded to payer", stream.payer],
206
+ ]),
133
207
  ]),
134
208
  ]);
135
209
  },
@@ -170,7 +244,7 @@ function isAlreadyClosed(error) {
170
244
  * Block until the node we read from reports the stream as closed.
171
245
  *
172
246
  * The close transaction's own receipt is awaited inside the SDK, but
173
- * `sepolia.base.org` is load-balanced: the receipt can come back from one node
247
+ * the public RPC is load-balanced: the receipt can come back from one node
174
248
  * while the very next `simulateContract` lands on another that has not imported
175
249
  * the block yet. That node simulates `reclaim` against PRE-close state and
176
250
  * reverts `StreamNotReclaimable()`. Confirming the close through the same read
@@ -197,8 +271,16 @@ export async function awaitClosed(read, streamId, sleep, closeTxHash) {
197
271
  * time. That is not an error condition — it is the normal ordering of a
198
272
  * checkpoint rail, and it happens on the FIRST attempt essentially every time.
199
273
  * A CLI that surfaced the raw revert would teach every user that reclaim is
200
- * broken, so the wait is built in and narrated. Any other failure is rethrown
201
- * immediately: only an open settlement window is retried.
274
+ * broken, so the wait is built in and narrated.
275
+ *
276
+ * What counts as "wait for the next checkpoint" is decided by `isRetryable`,
277
+ * NOT by this function. It used to be `instanceof SettlementWindowOpenError`
278
+ * alone, which missed the two ways the wait actually shows up in practice: the
279
+ * ORACLE refusing a proof for a stream it has not checkpointed yet (the SDK
280
+ * fetches the proof before it ever simulates, so the escrow's revert never
281
+ * happens), and the endpoint returning revert data the ABI cannot decode. Both
282
+ * killed the advertised retry on its first attempt — the second one right
283
+ * after `--close-first` had already spent the buyer's close.
202
284
  */
203
285
  export async function reclaimWithBoundedRetry(write, buildInput, options) {
204
286
  let lastError;
@@ -207,8 +289,8 @@ export async function reclaimWithBoundedRetry(write, buildInput, options) {
207
289
  return await write.reclaimStream(await buildInput());
208
290
  }
209
291
  catch (error) {
210
- if (!isSettlementWindowOpen(error))
211
- throw explainReclaimFailure(error);
292
+ if (!(await options.isRetryable(error)))
293
+ throw await options.explainFailure(error);
212
294
  lastError = error;
213
295
  if (attempt === options.attempts)
214
296
  break;
@@ -234,24 +316,98 @@ const DEFAULT_EXHAUSTED_HINT = "the funds are not lost — retry later, or raise
234
316
  * question that matters is whether its window has opened yet. That is fully
235
317
  * computable: `expiresAt + escapeGraceSeconds` against the chain's clock.
236
318
  */
237
- async function describeLastResort(read, streamId, fallbackNowSeconds) {
319
+ async function describeLastResort(read, streamId, fallbackNowSeconds, generation) {
238
320
  const [stream, grace] = await Promise.all([
239
321
  read.getStreamV2(streamId),
240
322
  read.escapeGraceSeconds(),
241
323
  ]);
242
324
  const now = await readChainNow(read, fallbackNowSeconds);
243
- const window = escapeHatchWindow(stream, grace, now.seconds);
325
+ const window = escapeHatchWindow(stream, grace, now.seconds, generation);
244
326
  const escapeCommand = `metrik reclaim-unverified ${streamId} --forfeit-unclaimed`;
245
327
  return window.ready
246
328
  ? `the funds are not lost. The no-proof escape hatch is OPEN (${describeEscapeHatch(window)}): \`${escapeCommand}\` takes them back without the oracle — at the cost of forfeiting whatever the operator earned but has not yet claimed. Retrying this command only helps if the oracle comes back.`
247
329
  : `the funds are not lost, but retrying only helps if the oracle comes back — this path needs a proof from it. The no-proof escape hatch ${describeEscapeHatch(window)}; from then on \`${escapeCommand}\` takes them back without the oracle, forfeiting whatever the operator earned but has not yet claimed.`;
248
330
  }
331
+ /** Raise a blocker that will not clear on its own as a named CliError. */
332
+ function throwIfTerminal(blocker, streamId, cause) {
333
+ const terminal = describeTerminalBlocker(blocker, streamId);
334
+ if (terminal === null)
335
+ return;
336
+ throw new CliError(terminal.message, {
337
+ exitCode: 4,
338
+ hint: terminal.hint,
339
+ ...(cause === undefined ? {} : { cause }),
340
+ });
341
+ }
342
+ /**
343
+ * Is this failure the checkpoint wait, i.e. will it clear on its own?
344
+ *
345
+ * Three shapes, in increasing order of how little the endpoint told us:
346
+ *
347
+ * 1. `SettlementWindowOpenError` — the escrow said so and the ABI decoded it.
348
+ * 2. `StreamNotInCheckpointError` / `CheckpointNotReadyError` — the ORACLE has
349
+ * no proof for this stream yet, so the SDK never reached the escrow at all.
350
+ * This is the state `--close-first` creates by construction on a stream
351
+ * closed before its first covering checkpoint, and treating it as fatal is
352
+ * what stranded a buyer's deposit in escrow for three minutes of manual
353
+ * retries while the CLI's own help promised it would wait.
354
+ * 3. A reclaim revert the ABI could not decode. Nothing in the error names the
355
+ * condition, so ask the chain instead — the state is authoritative and the
356
+ * answer is the same one the pre-flight computes.
357
+ *
358
+ * Case 3 is deliberately narrowed to `ReclaimFailedError`: an unrelated failure
359
+ * (no gas, a dead RPC) must still fail on its first attempt rather than burn
360
+ * twelve of them.
361
+ */
362
+ async function isWaitingForCheckpoint(error, read, streamId, nowSeconds) {
363
+ if (isSettlementWindowOpen(error))
364
+ return true;
365
+ if (hasNoCheckpointProofYet(error))
366
+ return true;
367
+ if (!isReclaimRevert(error))
368
+ return false;
369
+ const blocker = await readReclaimBlocker(read, streamId, nowSeconds).catch(() => null);
370
+ return blocker?.kind === "awaiting-checkpoint";
371
+ }
372
+ /**
373
+ * The oracle could not supply a proof yet: it has no leaf for this stream in
374
+ * the latest checkpoint (404), or no internally consistent checkpoint is ready
375
+ * (503). Both resolve when the next checkpoint lands, ~15-22s apart.
376
+ */
377
+ function hasNoCheckpointProofYet(error) {
378
+ for (let current = error, depth = 0; depth < 8; depth++) {
379
+ if (current instanceof StreamNotInCheckpointError ||
380
+ current instanceof CheckpointNotReadyError) {
381
+ return true;
382
+ }
383
+ if (!(current instanceof Error) || current.cause === undefined)
384
+ return false;
385
+ current = current.cause;
386
+ }
387
+ return false;
388
+ }
389
+ /** True when the escrow rejected the reclaim, whatever the reason decoded to. */
390
+ function isReclaimRevert(error) {
391
+ for (let current = error, depth = 0; depth < 8; depth++) {
392
+ if (current instanceof ReclaimFailedError)
393
+ return true;
394
+ if (!(current instanceof Error) || current.cause === undefined)
395
+ return false;
396
+ current = current.cause;
397
+ }
398
+ return false;
399
+ }
249
400
  /**
250
- * `StreamNotReclaimable()` means exactly one thing: the stream is neither closed
251
- * nor past its expiry. Say that, and say which command fixes it, instead of
252
- * handing the reader a selector.
401
+ * Name a failure that will not clear.
402
+ *
403
+ * `StreamNotReclaimable()` means exactly one thing when the ABI decodes it: the
404
+ * stream is neither closed nor past its expiry. When it does NOT decode — the
405
+ * live failure mode on the public endpoint — the chain is asked the same
406
+ * question, so "already reclaimed" and "still running" are still told apart and
407
+ * still say which command fixes them. The raw error is kept as the `cause`
408
+ * either way.
253
409
  */
254
- function explainReclaimFailure(error) {
410
+ async function explainReclaimFailure(error, read, streamId, nowSeconds) {
255
411
  if (!(error instanceof Error))
256
412
  return error;
257
413
  for (let current = error, depth = 0; depth < 8; depth++) {
@@ -260,7 +416,7 @@ function explainReclaimFailure(error) {
260
416
  if (current.message.includes("StreamNotReclaimable")) {
261
417
  return new CliError("the stream is still running, so there is nothing to reclaim yet", {
262
418
  exitCode: 4,
263
- hint: "stop the clock first — `metrik close <streamId>`, or re-run this command with --close-first — or wait for the stream to expire.",
419
+ hint: `stop the clock first — \`metrik close ${streamId}\`, or re-run this command with --close-first — or wait for the stream to expire.`,
264
420
  cause: error,
265
421
  });
266
422
  }
@@ -268,6 +424,17 @@ function explainReclaimFailure(error) {
268
424
  break;
269
425
  current = current.cause;
270
426
  }
427
+ if (isReclaimRevert(error)) {
428
+ const blocker = await readReclaimBlocker(read, streamId, nowSeconds).catch(() => null);
429
+ if (blocker !== null) {
430
+ try {
431
+ throwIfTerminal(blocker, streamId, error);
432
+ }
433
+ catch (named) {
434
+ return named;
435
+ }
436
+ }
437
+ }
271
438
  return error;
272
439
  }
273
440
  /** True when `error`, or anything in its cause chain, is SettlementWindowOpen. */
@@ -291,6 +458,23 @@ const SETTLED_READ_ATTEMPTS = 5;
291
458
  // Deliberately sub-second and distinct from the retry interval (whole seconds,
292
459
  // `--interval`), so the two waits are tellable apart in tests and in logs.
293
460
  const SETTLED_READ_INTERVAL_MS = 500;
461
+ /**
462
+ * The amount the reclaim returned, decoded from its BuyerReclaimed event (same
463
+ * signature on V2 and V3). Null when the receipt carries no matching log, so
464
+ * the CLI prints nothing rather than a guessed figure.
465
+ */
466
+ export function refundFromReceipt(receipt, escrow, streamId) {
467
+ const logs = receipt?.logs;
468
+ if (!Array.isArray(logs))
469
+ return null;
470
+ const events = parseEventLogs({
471
+ abi: streamEscrowV2Abi,
472
+ eventName: "BuyerReclaimed",
473
+ logs: logs.filter((log) => log.address?.toLowerCase() === escrow.toLowerCase()),
474
+ });
475
+ const match = events.find((event) => event.args.streamId.toLowerCase() === streamId.toLowerCase());
476
+ return match === undefined ? null : match.args.amount;
477
+ }
294
478
  async function readSettledStream(read, streamId, sleep) {
295
479
  let last = null;
296
480
  for (let attempt = 1; attempt <= SETTLED_READ_ATTEMPTS; attempt += 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"reclaim.js","sourceRoot":"","sources":["../../../src/cli/commands/reclaim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reclaim.js","sourceRoot":"","sources":["../../../src/cli/commands/reclaim.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { RefundClient, RefundStatus } from "@absol-labs/sdk/x402";
2
+ import type { CommandSpec } from "../context.js";
3
+ /** Environment fallback for `--refund-url`. */
4
+ export declare const REFUND_URL_ENV = "METRIK_AGENT_REFUND_URL";
5
+ export declare const refundCommand: CommandSpec;
6
+ /** Why a recovery is over. */
7
+ export type FinishedReason = "reclaimed" | "nothing-to-reclaim";
8
+ /** Why a requested `--close` / `--reclaim` sent nothing. */
9
+ export type SkipReason = FinishedReason | "already-closed";
10
+ /**
11
+ * Whether the relay's status says nothing is left to recover. `reclaimed` is
12
+ * the chain's one-reclaim-per-stream flag; `next: none` with `reclaimable: 0`
13
+ * is the relay's "the verified delivery covers the whole deposit".
14
+ */
15
+ export declare function finishedReason(status: RefundStatus): FinishedReason | null;
16
+ export declare function describeFinished(reason: FinishedReason): string;
17
+ /**
18
+ * Accepts the relay's full stream URL, a `{streamId}` template, or the relay's
19
+ * base origin (`https://relay.example` -> `https://relay.example/streams/<id>`).
20
+ */
21
+ export declare function resolveRefundUrl(raw: string | undefined, streamId: `0x${string}`): string;
22
+ export declare function explainRefundFailure(error: unknown): unknown;
23
+ /**
24
+ * What to do after a relay refusal. The on-chain fallback is only offered
25
+ * where it can still recover something: never "close it (needs gas)" for a
26
+ * stream that is already closed, and never any recovery at all for one with
27
+ * nothing left in it.
28
+ */
29
+ export declare function relayRefusalHint(code: string | undefined): string;
30
+ export type { RefundClient };
31
+ //# sourceMappingURL=refund.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refund.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/refund.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,YAAY,EAEb,MAAM,sBAAsB,CAAC;AAe9B,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,+CAA+C;AAC/C,eAAO,MAAM,cAAc,4BAA4B,CAAC;AAKxD,eAAO,MAAM,aAAa,EAAE,WAoN3B,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,oBAAoB,CAAC;AAChE,4DAA4D;AAC5D,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,GAAG,IAAI,CAM1E;AAiDD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAI/D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,QAAQ,EAAE,KAAK,MAAM,EAAE,GACtB,MAAM,CAmBR;AAUD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAqC5D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAajE;AAmED,YAAY,EAAE,YAAY,EAAE,CAAC"}