@ixo/openhands-sdk 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/campaign/cleanup.js +1 -1
  3. package/dist/cjs/campaign/cleanup.js.map +1 -1
  4. package/dist/cjs/campaign/funding.js +3 -3
  5. package/dist/cjs/campaign/funding.js.map +1 -1
  6. package/dist/cjs/campaign/spot.d.ts.map +1 -1
  7. package/dist/cjs/campaign/spot.js +2 -1
  8. package/dist/cjs/campaign/spot.js.map +1 -1
  9. package/dist/cjs/chain/ask.d.ts +72 -2
  10. package/dist/cjs/chain/ask.d.ts.map +1 -1
  11. package/dist/cjs/chain/ask.js +68 -34
  12. package/dist/cjs/chain/ask.js.map +1 -1
  13. package/dist/cjs/chain/broadcast.d.ts.map +1 -1
  14. package/dist/cjs/chain/broadcast.js +6 -4
  15. package/dist/cjs/chain/broadcast.js.map +1 -1
  16. package/dist/cjs/chain/claimVerdict.d.ts +26 -0
  17. package/dist/cjs/chain/claimVerdict.d.ts.map +1 -0
  18. package/dist/cjs/chain/claimVerdict.js +33 -0
  19. package/dist/cjs/chain/claimVerdict.js.map +1 -0
  20. package/dist/cjs/chain/delegate.d.ts +54 -13
  21. package/dist/cjs/chain/delegate.d.ts.map +1 -1
  22. package/dist/cjs/chain/delegate.js +77 -28
  23. package/dist/cjs/chain/delegate.js.map +1 -1
  24. package/dist/cjs/chain/entityShape.d.ts +2 -0
  25. package/dist/cjs/chain/entityShape.d.ts.map +1 -1
  26. package/dist/cjs/chain/entityShape.js +8 -1
  27. package/dist/cjs/chain/entityShape.js.map +1 -1
  28. package/dist/cjs/chain/env.d.ts +1 -0
  29. package/dist/cjs/chain/env.d.ts.map +1 -1
  30. package/dist/cjs/chain/env.js +9 -1
  31. package/dist/cjs/chain/env.js.map +1 -1
  32. package/dist/cjs/chain/inviteMessages.d.ts +224 -0
  33. package/dist/cjs/chain/inviteMessages.d.ts.map +1 -0
  34. package/dist/cjs/chain/inviteMessages.js +347 -0
  35. package/dist/cjs/chain/inviteMessages.js.map +1 -0
  36. package/dist/cjs/chain/inviteProof.d.ts +121 -0
  37. package/dist/cjs/chain/inviteProof.d.ts.map +1 -0
  38. package/dist/cjs/chain/inviteProof.js +297 -0
  39. package/dist/cjs/chain/inviteProof.js.map +1 -0
  40. package/dist/cjs/chain/lane.d.ts +148 -0
  41. package/dist/cjs/chain/lane.d.ts.map +1 -0
  42. package/dist/cjs/chain/lane.js +220 -0
  43. package/dist/cjs/chain/lane.js.map +1 -0
  44. package/dist/cjs/chain/money.d.ts +24 -17
  45. package/dist/cjs/chain/money.d.ts.map +1 -1
  46. package/dist/cjs/chain/money.js +28 -29
  47. package/dist/cjs/chain/money.js.map +1 -1
  48. package/dist/cjs/chain/oracle.d.ts +2 -0
  49. package/dist/cjs/chain/oracle.d.ts.map +1 -1
  50. package/dist/cjs/chain/oracle.js +1 -1
  51. package/dist/cjs/chain/oracle.js.map +1 -1
  52. package/dist/cjs/chain/orgReviewBilling.d.ts +1 -1
  53. package/dist/cjs/chain/orgReviewBilling.d.ts.map +1 -1
  54. package/dist/cjs/chain/orgReviewBilling.js +16 -15
  55. package/dist/cjs/chain/orgReviewBilling.js.map +1 -1
  56. package/dist/cjs/chain/payoutTerms.d.ts.map +1 -1
  57. package/dist/cjs/chain/payoutTerms.js +1 -1
  58. package/dist/cjs/chain/payoutTerms.js.map +1 -1
  59. package/dist/cjs/chain/personReview.d.ts +218 -0
  60. package/dist/cjs/chain/personReview.d.ts.map +1 -0
  61. package/dist/cjs/chain/personReview.js +379 -0
  62. package/dist/cjs/chain/personReview.js.map +1 -0
  63. package/dist/cjs/chain/postFee.d.ts +11 -0
  64. package/dist/cjs/chain/postFee.d.ts.map +1 -0
  65. package/dist/cjs/chain/postFee.js +14 -0
  66. package/dist/cjs/chain/postFee.js.map +1 -0
  67. package/dist/cjs/chain/query.d.ts +55 -2
  68. package/dist/cjs/chain/query.d.ts.map +1 -1
  69. package/dist/cjs/chain/query.js +144 -8
  70. package/dist/cjs/chain/query.js.map +1 -1
  71. package/dist/cjs/chain/reviewBilling.d.ts +3 -27
  72. package/dist/cjs/chain/reviewBilling.d.ts.map +1 -1
  73. package/dist/cjs/chain/reviewBilling.js +5 -112
  74. package/dist/cjs/chain/reviewBilling.js.map +1 -1
  75. package/dist/cjs/chain/rewardDenom.d.ts +6 -0
  76. package/dist/cjs/chain/rewardDenom.d.ts.map +1 -0
  77. package/dist/cjs/chain/rewardDenom.js +9 -0
  78. package/dist/cjs/chain/rewardDenom.js.map +1 -0
  79. package/dist/cjs/chain/sponsor.d.ts +1 -1
  80. package/dist/cjs/chain/sponsor.d.ts.map +1 -1
  81. package/dist/cjs/chain/sponsor.js +8 -4
  82. package/dist/cjs/chain/sponsor.js.map +1 -1
  83. package/dist/cjs/chain.d.ts +1 -1
  84. package/dist/cjs/chain.d.ts.map +1 -1
  85. package/dist/cjs/chain.js +5 -4
  86. package/dist/cjs/chain.js.map +1 -1
  87. package/dist/cjs/config.d.ts +12 -3
  88. package/dist/cjs/config.d.ts.map +1 -1
  89. package/dist/cjs/config.js +5 -1
  90. package/dist/cjs/config.js.map +1 -1
  91. package/dist/cjs/data/agent.d.ts +2 -0
  92. package/dist/cjs/data/agent.d.ts.map +1 -1
  93. package/dist/cjs/data/agent.js +1 -0
  94. package/dist/cjs/data/agent.js.map +1 -1
  95. package/dist/cjs/data/board/assemble.d.ts +7 -2
  96. package/dist/cjs/data/board/assemble.d.ts.map +1 -1
  97. package/dist/cjs/data/board/assemble.js +76 -10
  98. package/dist/cjs/data/board/assemble.js.map +1 -1
  99. package/dist/cjs/data/board/facts.d.ts +10 -0
  100. package/dist/cjs/data/board/facts.d.ts.map +1 -1
  101. package/dist/cjs/data/board/facts.js +14 -1
  102. package/dist/cjs/data/board/facts.js.map +1 -1
  103. package/dist/cjs/data/board/read.d.ts +46 -3
  104. package/dist/cjs/data/board/read.d.ts.map +1 -1
  105. package/dist/cjs/data/board/read.js +145 -9
  106. package/dist/cjs/data/board/read.js.map +1 -1
  107. package/dist/cjs/data/board/types.d.ts +82 -5
  108. package/dist/cjs/data/board/types.d.ts.map +1 -1
  109. package/dist/cjs/data/board/types.js +5 -3
  110. package/dist/cjs/data/board/types.js.map +1 -1
  111. package/dist/cjs/data/checkers.d.ts +169 -0
  112. package/dist/cjs/data/checkers.d.ts.map +1 -0
  113. package/dist/cjs/data/checkers.js +354 -0
  114. package/dist/cjs/data/checkers.js.map +1 -0
  115. package/dist/cjs/data/checkersRead.d.ts +58 -0
  116. package/dist/cjs/data/checkersRead.d.ts.map +1 -0
  117. package/dist/cjs/data/checkersRead.js +263 -0
  118. package/dist/cjs/data/checkersRead.js.map +1 -0
  119. package/dist/cjs/data/denoms.d.ts.map +1 -1
  120. package/dist/cjs/data/denoms.js +1 -0
  121. package/dist/cjs/data/denoms.js.map +1 -1
  122. package/dist/cjs/data/docUrls.d.ts +3 -0
  123. package/dist/cjs/data/docUrls.d.ts.map +1 -1
  124. package/dist/cjs/data/docUrls.js +12 -1
  125. package/dist/cjs/data/docUrls.js.map +1 -1
  126. package/dist/cjs/data/docs.d.ts +3 -1
  127. package/dist/cjs/data/docs.d.ts.map +1 -1
  128. package/dist/cjs/data/docs.js +15 -2
  129. package/dist/cjs/data/docs.js.map +1 -1
  130. package/dist/cjs/data/engine.d.ts.map +1 -1
  131. package/dist/cjs/data/engine.js +12 -5
  132. package/dist/cjs/data/engine.js.map +1 -1
  133. package/dist/cjs/data/engineUrl.js +1 -1
  134. package/dist/cjs/data/engineUrl.js.map +1 -1
  135. package/dist/cjs/data/envelope.d.ts +18 -0
  136. package/dist/cjs/data/envelope.d.ts.map +1 -1
  137. package/dist/cjs/data/envelope.js +16 -1
  138. package/dist/cjs/data/envelope.js.map +1 -1
  139. package/dist/cjs/data/format.d.ts +32 -10
  140. package/dist/cjs/data/format.d.ts.map +1 -1
  141. package/dist/cjs/data/format.js +62 -19
  142. package/dist/cjs/data/format.js.map +1 -1
  143. package/dist/cjs/data/index.d.ts +2 -2
  144. package/dist/cjs/data/index.d.ts.map +1 -1
  145. package/dist/cjs/data/index.js +2 -1
  146. package/dist/cjs/data/index.js.map +1 -1
  147. package/dist/cjs/data/install.d.ts +46 -49
  148. package/dist/cjs/data/install.d.ts.map +1 -1
  149. package/dist/cjs/data/install.js +62 -61
  150. package/dist/cjs/data/install.js.map +1 -1
  151. package/dist/cjs/data/money.d.ts +36 -0
  152. package/dist/cjs/data/money.d.ts.map +1 -0
  153. package/dist/cjs/data/money.js +95 -0
  154. package/dist/cjs/data/money.js.map +1 -0
  155. package/dist/cjs/data/openness.d.ts +17 -1
  156. package/dist/cjs/data/openness.d.ts.map +1 -1
  157. package/dist/cjs/data/openness.js +16 -26
  158. package/dist/cjs/data/openness.js.map +1 -1
  159. package/dist/cjs/data/queue.d.ts +26 -0
  160. package/dist/cjs/data/queue.d.ts.map +1 -1
  161. package/dist/cjs/data/queue.js +57 -12
  162. package/dist/cjs/data/queue.js.map +1 -1
  163. package/dist/cjs/data/receipt.d.ts +19 -0
  164. package/dist/cjs/data/receipt.d.ts.map +1 -1
  165. package/dist/cjs/data/receipt.js +22 -5
  166. package/dist/cjs/data/receipt.js.map +1 -1
  167. package/dist/cjs/data/sponsors.d.ts +94 -0
  168. package/dist/cjs/data/sponsors.d.ts.map +1 -0
  169. package/dist/cjs/data/sponsors.js +147 -0
  170. package/dist/cjs/data/sponsors.js.map +1 -0
  171. package/dist/cjs/data/threads.d.ts +4 -0
  172. package/dist/cjs/data/threads.d.ts.map +1 -1
  173. package/dist/cjs/data/threads.js +5 -1
  174. package/dist/cjs/data/threads.js.map +1 -1
  175. package/dist/cjs/data/traceWords.js +8 -8
  176. package/dist/cjs/data/traceWords.js.map +1 -1
  177. package/dist/cjs/data/types.d.ts +6 -1
  178. package/dist/cjs/data/types.d.ts.map +1 -1
  179. package/dist/cjs/data/types.js.map +1 -1
  180. package/dist/cjs/data/whyReceipt.d.ts.map +1 -1
  181. package/dist/cjs/data/whyReceipt.js +10 -1
  182. package/dist/cjs/data/whyReceipt.js.map +1 -1
  183. package/dist/cjs/data/work.d.ts +5 -0
  184. package/dist/cjs/data/work.d.ts.map +1 -1
  185. package/dist/cjs/data/work.js +11 -5
  186. package/dist/cjs/data/work.js.map +1 -1
  187. package/dist/cjs/discovery.d.ts +64 -0
  188. package/dist/cjs/discovery.d.ts.map +1 -0
  189. package/dist/cjs/discovery.js +85 -0
  190. package/dist/cjs/discovery.js.map +1 -0
  191. package/dist/cjs/envRead.d.ts +1 -1
  192. package/dist/cjs/envRead.d.ts.map +1 -1
  193. package/dist/cjs/envRead.js +2 -1
  194. package/dist/cjs/envRead.js.map +1 -1
  195. package/dist/cjs/given.d.ts +14 -0
  196. package/dist/cjs/given.d.ts.map +1 -1
  197. package/dist/cjs/given.js +14 -2
  198. package/dist/cjs/given.js.map +1 -1
  199. package/dist/cjs/network.d.ts +3 -1
  200. package/dist/cjs/network.d.ts.map +1 -1
  201. package/dist/cjs/network.js +11 -3
  202. package/dist/cjs/network.js.map +1 -1
  203. package/dist/cjs/rubric/bridge.d.ts +8 -0
  204. package/dist/cjs/rubric/bridge.d.ts.map +1 -1
  205. package/dist/cjs/rubric/bridge.js +107 -8
  206. package/dist/cjs/rubric/bridge.js.map +1 -1
  207. package/dist/cjs/rubric/call.d.ts +35 -8
  208. package/dist/cjs/rubric/call.d.ts.map +1 -1
  209. package/dist/cjs/rubric/call.js +62 -20
  210. package/dist/cjs/rubric/call.js.map +1 -1
  211. package/dist/cjs/rubric/callChecks.d.ts +14 -0
  212. package/dist/cjs/rubric/callChecks.d.ts.map +1 -0
  213. package/dist/cjs/rubric/callChecks.js +43 -0
  214. package/dist/cjs/rubric/callChecks.js.map +1 -0
  215. package/dist/cjs/rubric/callLimits.d.ts +28 -0
  216. package/dist/cjs/rubric/callLimits.d.ts.map +1 -0
  217. package/dist/cjs/rubric/callLimits.js +36 -0
  218. package/dist/cjs/rubric/callLimits.js.map +1 -0
  219. package/dist/cjs/rubric/callTag.d.ts +5 -0
  220. package/dist/cjs/rubric/callTag.d.ts.map +1 -0
  221. package/dist/cjs/rubric/callTag.js +17 -0
  222. package/dist/cjs/rubric/callTag.js.map +1 -0
  223. package/dist/cjs/rubric/compose.d.ts.map +1 -1
  224. package/dist/cjs/rubric/compose.js +5 -3
  225. package/dist/cjs/rubric/compose.js.map +1 -1
  226. package/dist/cjs/rubric/draft.d.ts +9 -1
  227. package/dist/cjs/rubric/draft.d.ts.map +1 -1
  228. package/dist/cjs/rubric/draft.js +25 -3
  229. package/dist/cjs/rubric/draft.js.map +1 -1
  230. package/dist/cjs/rubric/feeLine.d.ts +26 -0
  231. package/dist/cjs/rubric/feeLine.d.ts.map +1 -0
  232. package/dist/cjs/rubric/feeLine.js +46 -0
  233. package/dist/cjs/rubric/feeLine.js.map +1 -0
  234. package/dist/cjs/rubric/gateMet.d.ts +17 -0
  235. package/dist/cjs/rubric/gateMet.d.ts.map +1 -1
  236. package/dist/cjs/rubric/gateMet.js +36 -3
  237. package/dist/cjs/rubric/gateMet.js.map +1 -1
  238. package/dist/cjs/rubric/leg.js +3 -3
  239. package/dist/cjs/rubric/leg.js.map +1 -1
  240. package/dist/cjs/rubric/marketPlan.d.ts +2 -0
  241. package/dist/cjs/rubric/marketPlan.d.ts.map +1 -1
  242. package/dist/cjs/rubric/marketPlan.js.map +1 -1
  243. package/dist/cjs/rubric/planAsk.d.ts +23 -0
  244. package/dist/cjs/rubric/planAsk.d.ts.map +1 -0
  245. package/dist/cjs/rubric/planAsk.js +24 -0
  246. package/dist/cjs/rubric/planAsk.js.map +1 -0
  247. package/dist/cjs/rubric/report.d.ts +208 -0
  248. package/dist/cjs/rubric/report.d.ts.map +1 -0
  249. package/dist/cjs/rubric/report.js +411 -0
  250. package/dist/cjs/rubric/report.js.map +1 -0
  251. package/dist/cjs/rubric/reportLine.d.ts +31 -0
  252. package/dist/cjs/rubric/reportLine.d.ts.map +1 -0
  253. package/dist/cjs/rubric/reportLine.js +45 -0
  254. package/dist/cjs/rubric/reportLine.js.map +1 -0
  255. package/dist/cjs/rubric/reportTemplate.d.ts +30 -0
  256. package/dist/cjs/rubric/reportTemplate.d.ts.map +1 -0
  257. package/dist/cjs/rubric/reportTemplate.js +78 -0
  258. package/dist/cjs/rubric/reportTemplate.js.map +1 -0
  259. package/dist/cjs/rubric/share.d.ts +46 -0
  260. package/dist/cjs/rubric/share.d.ts.map +1 -0
  261. package/dist/cjs/rubric/share.js +65 -0
  262. package/dist/cjs/rubric/share.js.map +1 -0
  263. package/dist/cjs/rubric/terms.d.ts +89 -25
  264. package/dist/cjs/rubric/terms.d.ts.map +1 -1
  265. package/dist/cjs/rubric/terms.js +91 -29
  266. package/dist/cjs/rubric/terms.js.map +1 -1
  267. package/dist/cjs/verification/profile.d.ts +28 -0
  268. package/dist/cjs/verification/profile.d.ts.map +1 -0
  269. package/dist/cjs/verification/profile.js +126 -0
  270. package/dist/cjs/verification/profile.js.map +1 -0
  271. package/dist/cjs/verification/schema.d.ts +54 -0
  272. package/dist/cjs/verification/schema.d.ts.map +1 -0
  273. package/dist/cjs/verification/schema.js +49 -0
  274. package/dist/cjs/verification/schema.js.map +1 -0
  275. package/dist/esm/campaign/cleanup.js +1 -1
  276. package/dist/esm/campaign/cleanup.js.map +1 -1
  277. package/dist/esm/campaign/funding.js +3 -3
  278. package/dist/esm/campaign/funding.js.map +1 -1
  279. package/dist/esm/campaign/spot.d.ts.map +1 -1
  280. package/dist/esm/campaign/spot.js +2 -1
  281. package/dist/esm/campaign/spot.js.map +1 -1
  282. package/dist/esm/chain/ask.d.ts +72 -2
  283. package/dist/esm/chain/ask.d.ts.map +1 -1
  284. package/dist/esm/chain/ask.js +69 -36
  285. package/dist/esm/chain/ask.js.map +1 -1
  286. package/dist/esm/chain/broadcast.d.ts.map +1 -1
  287. package/dist/esm/chain/broadcast.js +7 -5
  288. package/dist/esm/chain/broadcast.js.map +1 -1
  289. package/dist/esm/chain/claimVerdict.d.ts +26 -0
  290. package/dist/esm/chain/claimVerdict.d.ts.map +1 -0
  291. package/dist/esm/chain/claimVerdict.js +30 -0
  292. package/dist/esm/chain/claimVerdict.js.map +1 -0
  293. package/dist/esm/chain/delegate.d.ts +54 -13
  294. package/dist/esm/chain/delegate.d.ts.map +1 -1
  295. package/dist/esm/chain/delegate.js +69 -27
  296. package/dist/esm/chain/delegate.js.map +1 -1
  297. package/dist/esm/chain/entityShape.d.ts +2 -0
  298. package/dist/esm/chain/entityShape.d.ts.map +1 -1
  299. package/dist/esm/chain/entityShape.js +6 -0
  300. package/dist/esm/chain/entityShape.js.map +1 -1
  301. package/dist/esm/chain/env.d.ts +1 -0
  302. package/dist/esm/chain/env.d.ts.map +1 -1
  303. package/dist/esm/chain/env.js +7 -0
  304. package/dist/esm/chain/env.js.map +1 -1
  305. package/dist/esm/chain/inviteMessages.d.ts +224 -0
  306. package/dist/esm/chain/inviteMessages.d.ts.map +1 -0
  307. package/dist/esm/chain/inviteMessages.js +296 -0
  308. package/dist/esm/chain/inviteMessages.js.map +1 -0
  309. package/dist/esm/chain/inviteProof.d.ts +121 -0
  310. package/dist/esm/chain/inviteProof.d.ts.map +1 -0
  311. package/dist/esm/chain/inviteProof.js +278 -0
  312. package/dist/esm/chain/inviteProof.js.map +1 -0
  313. package/dist/esm/chain/lane.d.ts +148 -0
  314. package/dist/esm/chain/lane.d.ts.map +1 -0
  315. package/dist/esm/chain/lane.js +170 -0
  316. package/dist/esm/chain/lane.js.map +1 -0
  317. package/dist/esm/chain/money.d.ts +24 -17
  318. package/dist/esm/chain/money.d.ts.map +1 -1
  319. package/dist/esm/chain/money.js +34 -25
  320. package/dist/esm/chain/money.js.map +1 -1
  321. package/dist/esm/chain/oracle.d.ts +2 -0
  322. package/dist/esm/chain/oracle.d.ts.map +1 -1
  323. package/dist/esm/chain/oracle.js +1 -1
  324. package/dist/esm/chain/oracle.js.map +1 -1
  325. package/dist/esm/chain/orgReviewBilling.d.ts +1 -1
  326. package/dist/esm/chain/orgReviewBilling.d.ts.map +1 -1
  327. package/dist/esm/chain/orgReviewBilling.js +16 -15
  328. package/dist/esm/chain/orgReviewBilling.js.map +1 -1
  329. package/dist/esm/chain/payoutTerms.d.ts.map +1 -1
  330. package/dist/esm/chain/payoutTerms.js +1 -1
  331. package/dist/esm/chain/payoutTerms.js.map +1 -1
  332. package/dist/esm/chain/personReview.d.ts +218 -0
  333. package/dist/esm/chain/personReview.d.ts.map +1 -0
  334. package/dist/esm/chain/personReview.js +322 -0
  335. package/dist/esm/chain/personReview.js.map +1 -0
  336. package/dist/esm/chain/postFee.d.ts +11 -0
  337. package/dist/esm/chain/postFee.d.ts.map +1 -0
  338. package/dist/esm/chain/postFee.js +11 -0
  339. package/dist/esm/chain/postFee.js.map +1 -0
  340. package/dist/esm/chain/query.d.ts +55 -2
  341. package/dist/esm/chain/query.d.ts.map +1 -1
  342. package/dist/esm/chain/query.js +136 -8
  343. package/dist/esm/chain/query.js.map +1 -1
  344. package/dist/esm/chain/reviewBilling.d.ts +3 -27
  345. package/dist/esm/chain/reviewBilling.d.ts.map +1 -1
  346. package/dist/esm/chain/reviewBilling.js +5 -108
  347. package/dist/esm/chain/reviewBilling.js.map +1 -1
  348. package/dist/esm/chain/rewardDenom.d.ts +6 -0
  349. package/dist/esm/chain/rewardDenom.d.ts.map +1 -0
  350. package/dist/esm/chain/rewardDenom.js +5 -0
  351. package/dist/esm/chain/rewardDenom.js.map +1 -0
  352. package/dist/esm/chain/sponsor.d.ts +1 -1
  353. package/dist/esm/chain/sponsor.d.ts.map +1 -1
  354. package/dist/esm/chain/sponsor.js +8 -4
  355. package/dist/esm/chain/sponsor.js.map +1 -1
  356. package/dist/esm/chain.d.ts +1 -1
  357. package/dist/esm/chain.d.ts.map +1 -1
  358. package/dist/esm/chain.js +1 -1
  359. package/dist/esm/chain.js.map +1 -1
  360. package/dist/esm/config.d.ts +12 -3
  361. package/dist/esm/config.d.ts.map +1 -1
  362. package/dist/esm/config.js +6 -2
  363. package/dist/esm/config.js.map +1 -1
  364. package/dist/esm/data/agent.d.ts +2 -0
  365. package/dist/esm/data/agent.d.ts.map +1 -1
  366. package/dist/esm/data/agent.js +1 -0
  367. package/dist/esm/data/agent.js.map +1 -1
  368. package/dist/esm/data/board/assemble.d.ts +7 -2
  369. package/dist/esm/data/board/assemble.d.ts.map +1 -1
  370. package/dist/esm/data/board/assemble.js +73 -9
  371. package/dist/esm/data/board/assemble.js.map +1 -1
  372. package/dist/esm/data/board/facts.d.ts +10 -0
  373. package/dist/esm/data/board/facts.d.ts.map +1 -1
  374. package/dist/esm/data/board/facts.js +13 -1
  375. package/dist/esm/data/board/facts.js.map +1 -1
  376. package/dist/esm/data/board/read.d.ts +46 -3
  377. package/dist/esm/data/board/read.d.ts.map +1 -1
  378. package/dist/esm/data/board/read.js +143 -10
  379. package/dist/esm/data/board/read.js.map +1 -1
  380. package/dist/esm/data/board/types.d.ts +82 -5
  381. package/dist/esm/data/board/types.d.ts.map +1 -1
  382. package/dist/esm/data/board/types.js +5 -3
  383. package/dist/esm/data/board/types.js.map +1 -1
  384. package/dist/esm/data/checkers.d.ts +169 -0
  385. package/dist/esm/data/checkers.d.ts.map +1 -0
  386. package/dist/esm/data/checkers.js +304 -0
  387. package/dist/esm/data/checkers.js.map +1 -0
  388. package/dist/esm/data/checkersRead.d.ts +58 -0
  389. package/dist/esm/data/checkersRead.d.ts.map +1 -0
  390. package/dist/esm/data/checkersRead.js +252 -0
  391. package/dist/esm/data/checkersRead.js.map +1 -0
  392. package/dist/esm/data/denoms.d.ts.map +1 -1
  393. package/dist/esm/data/denoms.js +1 -0
  394. package/dist/esm/data/denoms.js.map +1 -1
  395. package/dist/esm/data/docUrls.d.ts +3 -0
  396. package/dist/esm/data/docUrls.d.ts.map +1 -1
  397. package/dist/esm/data/docUrls.js +9 -0
  398. package/dist/esm/data/docUrls.js.map +1 -1
  399. package/dist/esm/data/docs.d.ts +3 -1
  400. package/dist/esm/data/docs.d.ts.map +1 -1
  401. package/dist/esm/data/docs.js +15 -2
  402. package/dist/esm/data/docs.js.map +1 -1
  403. package/dist/esm/data/engine.d.ts.map +1 -1
  404. package/dist/esm/data/engine.js +12 -5
  405. package/dist/esm/data/engine.js.map +1 -1
  406. package/dist/esm/data/engineUrl.js +2 -2
  407. package/dist/esm/data/engineUrl.js.map +1 -1
  408. package/dist/esm/data/envelope.d.ts +18 -0
  409. package/dist/esm/data/envelope.d.ts.map +1 -1
  410. package/dist/esm/data/envelope.js +14 -0
  411. package/dist/esm/data/envelope.js.map +1 -1
  412. package/dist/esm/data/format.d.ts +32 -10
  413. package/dist/esm/data/format.d.ts.map +1 -1
  414. package/dist/esm/data/format.js +58 -18
  415. package/dist/esm/data/format.js.map +1 -1
  416. package/dist/esm/data/index.d.ts +2 -2
  417. package/dist/esm/data/index.d.ts.map +1 -1
  418. package/dist/esm/data/index.js +1 -1
  419. package/dist/esm/data/index.js.map +1 -1
  420. package/dist/esm/data/install.d.ts +46 -49
  421. package/dist/esm/data/install.d.ts.map +1 -1
  422. package/dist/esm/data/install.js +58 -60
  423. package/dist/esm/data/install.js.map +1 -1
  424. package/dist/esm/data/money.d.ts +36 -0
  425. package/dist/esm/data/money.d.ts.map +1 -0
  426. package/dist/esm/data/money.js +90 -0
  427. package/dist/esm/data/money.js.map +1 -0
  428. package/dist/esm/data/openness.d.ts +17 -1
  429. package/dist/esm/data/openness.d.ts.map +1 -1
  430. package/dist/esm/data/openness.js +16 -26
  431. package/dist/esm/data/openness.js.map +1 -1
  432. package/dist/esm/data/queue.d.ts +26 -0
  433. package/dist/esm/data/queue.d.ts.map +1 -1
  434. package/dist/esm/data/queue.js +50 -9
  435. package/dist/esm/data/queue.js.map +1 -1
  436. package/dist/esm/data/receipt.d.ts +19 -0
  437. package/dist/esm/data/receipt.d.ts.map +1 -1
  438. package/dist/esm/data/receipt.js +20 -4
  439. package/dist/esm/data/receipt.js.map +1 -1
  440. package/dist/esm/data/sponsors.d.ts +94 -0
  441. package/dist/esm/data/sponsors.d.ts.map +1 -0
  442. package/dist/esm/data/sponsors.js +137 -0
  443. package/dist/esm/data/sponsors.js.map +1 -0
  444. package/dist/esm/data/threads.d.ts +4 -0
  445. package/dist/esm/data/threads.d.ts.map +1 -1
  446. package/dist/esm/data/threads.js +6 -2
  447. package/dist/esm/data/threads.js.map +1 -1
  448. package/dist/esm/data/traceWords.js +8 -8
  449. package/dist/esm/data/traceWords.js.map +1 -1
  450. package/dist/esm/data/types.d.ts +6 -1
  451. package/dist/esm/data/types.d.ts.map +1 -1
  452. package/dist/esm/data/types.js.map +1 -1
  453. package/dist/esm/data/whyReceipt.d.ts.map +1 -1
  454. package/dist/esm/data/whyReceipt.js +10 -1
  455. package/dist/esm/data/whyReceipt.js.map +1 -1
  456. package/dist/esm/data/work.d.ts +5 -0
  457. package/dist/esm/data/work.d.ts.map +1 -1
  458. package/dist/esm/data/work.js +11 -5
  459. package/dist/esm/data/work.js.map +1 -1
  460. package/dist/esm/discovery.d.ts +64 -0
  461. package/dist/esm/discovery.d.ts.map +1 -0
  462. package/dist/esm/discovery.js +74 -0
  463. package/dist/esm/discovery.js.map +1 -0
  464. package/dist/esm/envRead.d.ts +1 -1
  465. package/dist/esm/envRead.d.ts.map +1 -1
  466. package/dist/esm/envRead.js +1 -1
  467. package/dist/esm/envRead.js.map +1 -1
  468. package/dist/esm/given.d.ts +14 -0
  469. package/dist/esm/given.d.ts.map +1 -1
  470. package/dist/esm/given.js +11 -1
  471. package/dist/esm/given.js.map +1 -1
  472. package/dist/esm/network.d.ts +3 -1
  473. package/dist/esm/network.d.ts.map +1 -1
  474. package/dist/esm/network.js +10 -3
  475. package/dist/esm/network.js.map +1 -1
  476. package/dist/esm/rubric/bridge.d.ts +8 -0
  477. package/dist/esm/rubric/bridge.d.ts.map +1 -1
  478. package/dist/esm/rubric/bridge.js +105 -7
  479. package/dist/esm/rubric/bridge.js.map +1 -1
  480. package/dist/esm/rubric/call.d.ts +35 -8
  481. package/dist/esm/rubric/call.d.ts.map +1 -1
  482. package/dist/esm/rubric/call.js +57 -16
  483. package/dist/esm/rubric/call.js.map +1 -1
  484. package/dist/esm/rubric/callChecks.d.ts +14 -0
  485. package/dist/esm/rubric/callChecks.d.ts.map +1 -0
  486. package/dist/esm/rubric/callChecks.js +36 -0
  487. package/dist/esm/rubric/callChecks.js.map +1 -0
  488. package/dist/esm/rubric/callLimits.d.ts +28 -0
  489. package/dist/esm/rubric/callLimits.d.ts.map +1 -0
  490. package/dist/esm/rubric/callLimits.js +33 -0
  491. package/dist/esm/rubric/callLimits.js.map +1 -0
  492. package/dist/esm/rubric/callTag.d.ts +5 -0
  493. package/dist/esm/rubric/callTag.d.ts.map +1 -0
  494. package/dist/esm/rubric/callTag.js +12 -0
  495. package/dist/esm/rubric/callTag.js.map +1 -0
  496. package/dist/esm/rubric/compose.d.ts.map +1 -1
  497. package/dist/esm/rubric/compose.js +5 -3
  498. package/dist/esm/rubric/compose.js.map +1 -1
  499. package/dist/esm/rubric/draft.d.ts +9 -1
  500. package/dist/esm/rubric/draft.d.ts.map +1 -1
  501. package/dist/esm/rubric/draft.js +24 -3
  502. package/dist/esm/rubric/draft.js.map +1 -1
  503. package/dist/esm/rubric/feeLine.d.ts +26 -0
  504. package/dist/esm/rubric/feeLine.d.ts.map +1 -0
  505. package/dist/esm/rubric/feeLine.js +42 -0
  506. package/dist/esm/rubric/feeLine.js.map +1 -0
  507. package/dist/esm/rubric/gateMet.d.ts +17 -0
  508. package/dist/esm/rubric/gateMet.d.ts.map +1 -1
  509. package/dist/esm/rubric/gateMet.js +34 -2
  510. package/dist/esm/rubric/gateMet.js.map +1 -1
  511. package/dist/esm/rubric/leg.js +4 -4
  512. package/dist/esm/rubric/leg.js.map +1 -1
  513. package/dist/esm/rubric/marketPlan.d.ts +2 -0
  514. package/dist/esm/rubric/marketPlan.d.ts.map +1 -1
  515. package/dist/esm/rubric/marketPlan.js.map +1 -1
  516. package/dist/esm/rubric/planAsk.d.ts +23 -0
  517. package/dist/esm/rubric/planAsk.d.ts.map +1 -0
  518. package/dist/esm/rubric/planAsk.js +20 -0
  519. package/dist/esm/rubric/planAsk.js.map +1 -0
  520. package/dist/esm/rubric/report.d.ts +208 -0
  521. package/dist/esm/rubric/report.d.ts.map +1 -0
  522. package/dist/esm/rubric/report.js +398 -0
  523. package/dist/esm/rubric/report.js.map +1 -0
  524. package/dist/esm/rubric/reportLine.d.ts +31 -0
  525. package/dist/esm/rubric/reportLine.d.ts.map +1 -0
  526. package/dist/esm/rubric/reportLine.js +40 -0
  527. package/dist/esm/rubric/reportLine.js.map +1 -0
  528. package/dist/esm/rubric/reportTemplate.d.ts +30 -0
  529. package/dist/esm/rubric/reportTemplate.d.ts.map +1 -0
  530. package/dist/esm/rubric/reportTemplate.js +74 -0
  531. package/dist/esm/rubric/reportTemplate.js.map +1 -0
  532. package/dist/esm/rubric/share.d.ts +46 -0
  533. package/dist/esm/rubric/share.d.ts.map +1 -0
  534. package/dist/esm/rubric/share.js +58 -0
  535. package/dist/esm/rubric/share.js.map +1 -0
  536. package/dist/esm/rubric/terms.d.ts +89 -25
  537. package/dist/esm/rubric/terms.d.ts.map +1 -1
  538. package/dist/esm/rubric/terms.js +83 -25
  539. package/dist/esm/rubric/terms.js.map +1 -1
  540. package/dist/esm/verification/profile.d.ts +28 -0
  541. package/dist/esm/verification/profile.d.ts.map +1 -0
  542. package/dist/esm/verification/profile.js +122 -0
  543. package/dist/esm/verification/profile.js.map +1 -0
  544. package/dist/esm/verification/schema.d.ts +54 -0
  545. package/dist/esm/verification/schema.d.ts.map +1 -0
  546. package/dist/esm/verification/schema.js +46 -0
  547. package/dist/esm/verification/schema.js.map +1 -0
  548. package/package.json +22 -2
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.LaneRefused = exports.laneCidUrl = exports.MAX_SHARE_SECONDS = exports.isPrivateTerms = exports.laneReveal = exports.laneResource = exports.MAX_ENVELOPE_BYTES = exports.READ_PASS_SECONDS = exports.WRITE_PASS_SECONDS = void 0;
37
+ exports.agentDidKey = agentDidKey;
38
+ exports.signPass = signPass;
39
+ exports.signShare = signShare;
40
+ exports.readPass = readPass;
41
+ exports.passProblem = passProblem;
42
+ exports.laneInvocation = laneInvocation;
43
+ exports.selfLaneInvocation = selfLaneInvocation;
44
+ exports.uploadToLane = uploadToLane;
45
+ exports.readFromLane = readFromLane;
46
+ const docUrls_ts_1 = require("../data/docUrls.js");
47
+ /** The lane Vault's did:web (the invocation audience), as `store.ts` derives it from the host. */
48
+ const networkVfsDid = () => `did:web:${new URL((0, docUrls_ts_1.laneVfsUrl)()).host.replace(/:/g, "%3A")}`;
49
+ exports.WRITE_PASS_SECONDS = 3600;
50
+ exports.READ_PASS_SECONDS = 86_400;
51
+ /** The engine binds claim content of at most 256 KiB. */
52
+ exports.MAX_ENVELOPE_BYTES = 256 * 1024;
53
+ /** One request's invocation: seconds, as `mintVfsBearer`. */
54
+ const INVOCATION_SECONDS = 300;
55
+ const now = () => Math.floor(Date.now() / 1000);
56
+ /** The Vault resource for one ask's lane. The entity must be lowercase (the Vault's scope rule). */
57
+ const laneResource = (entityDid, collectionId) => `ixo:filesystem/${entityDid.toLowerCase()}/.claims/${collectionId}`;
58
+ exports.laneResource = laneResource;
59
+ /**
60
+ * The lane folder is hidden in the entity namespace; a reader who is the entity's controller (the poster) only sees it
61
+ * when every link of the chain reveals it (Vault ucan.ts nb.hidden; auth.ts reveals it itself only for lane-grant
62
+ * readers). Harmless for everyone else.
63
+ */
64
+ const laneReveal = (collectionId) => ({ hidden: [`/.claims/${collectionId}`] });
65
+ exports.laneReveal = laneReveal;
66
+ /* The rule lives beside the terms it reads (rubric/share.ts), where the posting path finds it without this module's imports. */
67
+ var share_ts_1 = require("../rubric/share.js");
68
+ Object.defineProperty(exports, "isPrivateTerms", { enumerable: true, get: function () { return share_ts_1.isPrivateTerms; } });
69
+ /** Claude's did:key: the same mnemonic always gives the same key, so nothing new is stored. */
70
+ async function agentDidKey(mnemonic) {
71
+ const { signerFromMnemonic } = await Promise.resolve().then(() => __importStar(require("@ixo/ucan")));
72
+ const { signer } = await signerFromMnemonic(mnemonic);
73
+ return { did: signer.did(), sign: async (bytes) => new Uint8Array((await signer.sign(bytes)).raw), signer };
74
+ }
75
+ /** The person signs Claude a pass for one ask's lane (browser side). */
76
+ async function signPass(request) {
77
+ if (!(request.ttlSeconds > 0))
78
+ throw new Error("a pass needs an expiry");
79
+ const { signerFromMnemonic, createDelegation, serializeDelegation, parseDelegation } = await Promise.resolve().then(() => __importStar(require("@ixo/ucan")));
80
+ const { signer } = await signerFromMnemonic(request.signer.mnemonic, request.personDid);
81
+ const delegation = await createDelegation({
82
+ issuer: signer,
83
+ audience: request.agentDid,
84
+ capabilities: [{ with: (0, exports.laneResource)(request.entityDid, request.collectionId), can: request.can, nb: (0, exports.laneReveal)(request.collectionId) }],
85
+ expiration: now() + request.ttlSeconds,
86
+ ...(request.proofs?.length ? { proofs: await Promise.all(request.proofs.map((one) => parseDelegation(one))) } : {}),
87
+ facts: [{ ask: request.collectionId, purpose: request.can === "fs/write" ? "answer" : "read", nonce: crypto.randomUUID() }]
88
+ });
89
+ return serializeDelegation(delegation);
90
+ }
91
+ /** The longest an approver's share lasts, whatever the ask's dates say. */
92
+ exports.MAX_SHARE_SECONDS = 90 * 86_400;
93
+ /**
94
+ * The poster lets an approver who is not the poster read one ask's private answers (read only), until the ask's end
95
+ * plus its review window, never more than 90 days. Signed in the poster's browser; the worker keeps it beside the ask.
96
+ */
97
+ async function signShare(request) {
98
+ if (!request.approverDid.startsWith("did:ixo:"))
99
+ throw new Error("an approver is an account");
100
+ const { signerFromMnemonic, createDelegation, serializeDelegation } = await Promise.resolve().then(() => __importStar(require("@ixo/ucan")));
101
+ const { signer } = await signerFromMnemonic(request.signer.mnemonic, request.posterDid);
102
+ const expiration = Math.min(Math.floor(request.endsAt) + (request.reviewSeconds ?? 14 * 86_400), now() + exports.MAX_SHARE_SECONDS);
103
+ if (expiration <= now())
104
+ throw new Error("the ask's review time is over");
105
+ return serializeDelegation(await createDelegation({
106
+ issuer: signer,
107
+ audience: request.approverDid,
108
+ capabilities: [{ with: (0, exports.laneResource)(request.entityDid, request.collectionId), can: "fs/read", nb: (0, exports.laneReveal)(request.collectionId) }],
109
+ expiration,
110
+ facts: [{ ask: request.collectionId, purpose: "approver", nonce: crypto.randomUUID() }]
111
+ }));
112
+ }
113
+ /** What a pass says, or null when it is not a pass at all. */
114
+ async function readPass(pass) {
115
+ try {
116
+ const { parseDelegation } = await Promise.resolve().then(() => __importStar(require("@ixo/ucan")));
117
+ const delegation = await parseDelegation(pass);
118
+ const capability = delegation.capabilities[0];
119
+ if (!capability)
120
+ return null;
121
+ return { issuer: delegation.issuer.did(), audience: delegation.audience.did(), with: capability.with, can: capability.can, expiration: delegation.expiration };
122
+ }
123
+ catch {
124
+ return null;
125
+ }
126
+ }
127
+ /**
128
+ * Why this pass will not do for this ask, in plain words; null when it will.
129
+ * `minSeconds` is how long it must still last (an answer takes minutes).
130
+ */
131
+ async function passProblem(pass, want) {
132
+ const facts = await readPass(pass);
133
+ if (!facts)
134
+ return "it could not be read";
135
+ if (facts.audience !== want.agentDid)
136
+ return "it was made for someone else";
137
+ if (want.personDid && facts.issuer !== want.personDid)
138
+ return "it was signed by another account";
139
+ if (facts.with !== (0, exports.laneResource)(want.entityDid, want.collectionId))
140
+ return "it is for another ask";
141
+ /* A write pass reads too (the Vault's ability rule); a read pass never writes. */
142
+ if (!(facts.can === want.can || (facts.can === "fs/write" && want.can === "fs/read")))
143
+ return "it does not allow this";
144
+ if (!Number.isFinite(facts.expiration) || facts.expiration < now() + (want.minSeconds ?? 60))
145
+ return "it has run out";
146
+ return null;
147
+ }
148
+ /** A single-use invocation by Claude under the person's pass: one per HTTP request. */
149
+ async function laneInvocation(request) {
150
+ const { createInvocation, parseDelegation, serializeInvocation } = await Promise.resolve().then(() => __importStar(require("@ixo/ucan")));
151
+ const pass = await parseDelegation(request.pass);
152
+ return serializeInvocation(await createInvocation({
153
+ issuer: request.agent.signer,
154
+ audience: request.vfsDid ?? networkVfsDid(),
155
+ capability: { with: (0, exports.laneResource)(request.entityDid, request.collectionId), can: request.can, nb: (0, exports.laneReveal)(request.collectionId) },
156
+ proofs: [pass],
157
+ /* Never outlives the pass: the Vault would refuse it anyway, and a clear expiry is easier to read. */
158
+ expiration: Math.min(now() + (request.ttlSeconds ?? INVOCATION_SECONDS), pass.expiration),
159
+ /* Two invocations in one second would otherwise share an address, and the Vault refuses a replay. */
160
+ facts: [{ nonce: crypto.randomUUID() }]
161
+ }));
162
+ }
163
+ /** A single-use invocation signed by the person's own session key (the site): actor and invoker are the person. */
164
+ async function selfLaneInvocation(request) {
165
+ const { signerFromMnemonic, createInvocation, serializeInvocation, parseDelegation } = await Promise.resolve().then(() => __importStar(require("@ixo/ucan")));
166
+ const { signer } = await signerFromMnemonic(request.signer.mnemonic, `did:ixo:${request.signer.address}`);
167
+ const share = request.share ? await parseDelegation(request.share) : null;
168
+ return serializeInvocation(await createInvocation({
169
+ issuer: signer,
170
+ audience: request.vfsDid ?? networkVfsDid(),
171
+ capability: { with: (0, exports.laneResource)(request.entityDid, request.collectionId), can: request.can, nb: (0, exports.laneReveal)(request.collectionId) },
172
+ ...(share ? { proofs: [share] } : {}),
173
+ expiration: Math.min(now() + (request.ttlSeconds ?? INVOCATION_SECONDS), share?.expiration ?? Infinity),
174
+ facts: [{ nonce: crypto.randomUUID() }]
175
+ }));
176
+ }
177
+ /** Where a lane file is read by CID, with a token (never a public link). */
178
+ const laneCidUrl = (cid) => `${(0, docUrls_ts_1.laneVfsUrl)()}/api/fs/cid/${cid}`;
179
+ exports.laneCidUrl = laneCidUrl;
180
+ /** The Vault's refusal, kept so a caller can tell "not yet allowed" (retry) from anything else. */
181
+ class LaneRefused extends Error {
182
+ status;
183
+ constructor(status, message) {
184
+ super(message);
185
+ this.status = status;
186
+ this.name = "LaneRefused";
187
+ }
188
+ }
189
+ exports.LaneRefused = LaneRefused;
190
+ /** Store bytes in the ask's lane. Never `public`: the Vault refuses that for the lane, and so does this. */
191
+ async function uploadToLane(bytes, contentType, args) {
192
+ /* No dot-leading segment: `..` must never climb out of the ask's folder. */
193
+ if (!/^[A-Za-z0-9_-][A-Za-z0-9._-]*(\/[A-Za-z0-9_-][A-Za-z0-9._-]*)?$/.test(args.name))
194
+ throw new Error("bad lane file name");
195
+ const path = `/.claims/${args.collectionId}/${args.name}`;
196
+ const response = await fetch(`${(0, docUrls_ts_1.laneVfsUrl)()}/api/fs/files?path=${encodeURIComponent(path)}`, {
197
+ method: "POST",
198
+ headers: { authorization: `Bearer ${args.bearer}`, "content-type": contentType },
199
+ body: bytes,
200
+ signal: args.signal ?? AbortSignal.timeout(60_000)
201
+ });
202
+ if (!response.ok) {
203
+ const said = await response.text().catch(() => "");
204
+ throw new LaneRefused(response.status, `the private store refused the file (${response.status}${said ? `: ${said.slice(0, 160)}` : ""})`);
205
+ }
206
+ const meta = (await response.json());
207
+ if (typeof meta.cid !== "string" || !meta.cid)
208
+ throw new LaneRefused(502, "the private store gave no address for the file");
209
+ return { cid: meta.cid, url: (0, exports.laneCidUrl)(meta.cid) };
210
+ }
211
+ /** Read a lane file's bytes by CID. */
212
+ async function readFromLane(cid, args) {
213
+ const response = await fetch((0, exports.laneCidUrl)(cid), { headers: { authorization: `Bearer ${args.bearer}` }, signal: args.signal ?? AbortSignal.timeout(60_000) });
214
+ if (!response.ok) {
215
+ await response.body?.cancel().catch(() => undefined);
216
+ throw new LaneRefused(response.status, `the private store would not give the file (${response.status})`);
217
+ }
218
+ return new Uint8Array(await response.arrayBuffer());
219
+ }
220
+ //# sourceMappingURL=lane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lane.js","sourceRoot":"","sources":["../../../src/chain/lane.ts"],"names":[],"mappings":"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"}
@@ -10,29 +10,35 @@
10
10
  * an ask pays in, and `broadcast.ts` names it directly.
11
11
  */
12
12
  import type { AskDenom } from "../config.ts";
13
- /** The denoms an ask may carry. `upay` is ixo's PAY (1 PAY = 1 USD): the checker's fee coin, and the reward coin of old asks only. */
13
+ import { USDC_MAINNET } from "./rewardDenom.ts";
14
+ /** The denoms an ask may carry. `upay` is ixo's PAY (1 PAY = 1 USD): the checker's fee coin everywhere, and the sandbox's reward coin. */
14
15
  export type { AskDenom };
15
16
  /**
16
- * The denom NEW asks are posted in. Defaults to `uixo` so nothing changes
17
- * until a deployment says otherwise; the board keeps rendering older asks in
18
- * whatever they were posted in, because a denom is a property of the ask and
19
- * never of the reader.
17
+ * The denom NEW asks are posted in is the network's (`rewardDenom`); the board
18
+ * keeps rendering older asks in whatever they were posted in, because a denom
19
+ * is a property of the ask and never of the reader.
20
20
  */
21
- /** Noble USDC on ixo mainnet: the ICS-20 hash of `transfer/channel-26/uusdc`. Mainnet only; testnet has no such route. */
22
- export declare const USDC_MAINNET: "ibc/6BBE9BD4246F8E04948D5A4EEE7164B2630263B9EBB5E7DC5F0A46C62A2FF97B";
21
+ export { USDC_MAINNET };
22
+ /** Noble USDC (`transfer/channel-26/uusdc`), READ only: old asks, escrows and balances in it still display, pay out and close. Never created, never offered. */
23
+ export declare const USDC_NOBLE_LEGACY: "ibc/6BBE9BD4246F8E04948D5A4EEE7164B2630263B9EBB5E7DC5F0A46C62A2FF97B";
23
24
  /**
24
- * The reward coins a NEW ask may be posted in (owner ruling 2026-10-16): IXO, or Noble USDC. PAY is never a
25
- * reward any more, on any network; it stays the checker's fee coin (`checkerFeeDenom`) and old PAY asks still read.
25
+ * The coin a NEW ask's reward is posted in, one per network:
26
+ * USDC.inj on mainnet, test PAY everywhere else. IXO is no longer offered on any network; old IXO and PAY asks still
27
+ * read, pay out and close. PAY stays the checker's fee coin (`checkerFeeDenom`) on every network, so in the sandbox
28
+ * the reward and the fee are one coin and both look like dollars, as they do on the real network.
26
29
  */
27
- export type RewardDenom = Exclude<AskDenom, "upay">;
28
- /** A reward coin, or IXO for anything else (PAY included: `NEXT_PUBLIC_ASK_DENOM=upay` no longer makes rewards PAY). */
29
- export declare const asRewardDenom: (value: string | undefined | null) => RewardDenom;
30
+ export type RewardDenom = AskDenom;
30
31
  /**
31
- * Noble USDC's denom on a network, or null where there is none. Checked 2026-10-16 against each chain's bank
32
+ * The reward coin on `network`, whatever `value` names (a poster or a stored plan never chooses; the deployment's
33
+ * `NEXT_PUBLIC_ASK_DENOM` does, through `rewardDenom`). `value` is kept so the callers that passed one read the same.
34
+ */
35
+ export declare const asRewardDenom: (_value: string | undefined | null, network: string) => RewardDenom;
36
+ /**
37
+ * USDC.inj's denom on a network, or null where there is none. Checked 2026-10-16 against each chain's bank
32
38
  * supply and IBC denom traces: devnet holds no IBC coin at all, and testnet's four are AXL and OSMO, no USDC.
33
39
  */
34
40
  export declare const usdcDenom: (network: string) => RewardDenom | null;
35
- /** The default reward coin for new asks: `NEXT_PUBLIC_ASK_DENOM` may choose between IXO and USDC only. */
41
+ /** The reward coin for new asks: the network's (`rewardDenom`; on mainnet `NEXT_PUBLIC_ASK_DENOM=upay` makes it PAY). */
36
42
  export declare const askDenom: () => RewardDenom;
37
43
  /**
38
44
  * The coin money this deployment ALREADY holds is in: `NEXT_PUBLIC_ASK_DENOM` as configured (PAY, USDC, else IXO). The
@@ -41,14 +47,15 @@ export declare const askDenom: () => RewardDenom;
41
47
  */
42
48
  export declare const heldDenom: () => AskDenom;
43
49
  /**
44
- * The default reward coin on a network (a poster may pick the other): USDC where it exists (mainnet) unless the
45
- * deployment says IXO, and IXO where USDC does not exist.
50
+ * The reward coin on a network: test PAY off mainnet. On mainnet, the deployment's `NEXT_PUBLIC_ASK_DENOM` chooses:
51
+ * `upay` pays rewards in PAY; anything else, or unset, is USDC.inj. The poster
52
+ * never picks. Scope-aware through `envDenom`, so a host serving two networks (the MCP) asks it per call.
46
53
  */
47
54
  export declare const rewardDenom: (network: string) => RewardDenom;
48
55
  /**
49
56
  * What a checker's fee (an ask's on-chain evaluation leg) is paid in, by network (owner ruling 2026-10-14):
50
57
  * PAY (upay) on every network, mainnet included. A card's `{currency: "PAY"}` price is used as upay directly
51
- * (`servicePriceBase`). Rewards are a separate coin (`rewardDenom`: USDC on mainnet).
58
+ * (`servicePriceBase`). Rewards are `rewardDenom`'s: USDC on mainnet, PAY (this same coin) in the sandbox.
52
59
  */
53
60
  export declare const checkerFeeDenom: (_network: string) => AskDenom;
54
61
  /** A bank send's coins: same denoms summed, zeros dropped, sorted by denom (the chain refuses unsorted or duplicate coins). */
@@ -1 +1 @@
1
- {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../../../src/chain/money.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,sIAAsI;AACtI,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB;;;;;GAKG;AAMH,0HAA0H;AAC1H,eAAO,MAAM,YAAY,wEAAqG,CAAC;AAE/H;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEpD,wHAAwH;AACxH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,WAA+D,CAAC;AAEjI;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,WAAW,GAAG,IAAqD,CAAC;AAIhH,0GAA0G;AAC1G,eAAO,MAAM,QAAQ,QAAO,WAAwC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAO,QAG5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,WAG7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,QAAkB,CAAC;AAEtE,+HAA+H;AAC/H,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,CAI1G;AAED,sHAAsH;AACtH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,MAA8E,CAAC;AAExH,0EAA0E;AAC1E,eAAO,MAAM,KAAK,UAAY,CAAC;AAE/B;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASnD;AAED,kHAAkH;AAClH,eAAO,MAAM,MAAM,GAAI,SAAS,MAAM,KAAG,MAA8B,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,OAAqD,CAAC;AAE/F;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAS7K"}
1
+ {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../../../src/chain/money.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAkB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,0IAA0I;AAC1I,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB;;;;GAIG;AAMH,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,gKAAgK;AAChK,eAAO,MAAM,iBAAiB,EAAG,sEAA+E,CAAC;AAEjH;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,SAAS,MAAM,KAAG,WAAmC,CAAC;AAEvH;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,WAAW,GAAG,IAAqD,CAAC;AAahH,yHAAyH;AACzH,eAAO,MAAM,QAAQ,QAAO,WAA4C,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAO,QAG5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,WAAkD,CAAC;AAEjG;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,QAAkB,CAAC;AAEtE,+HAA+H;AAC/H,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,CAI1G;AAED,sHAAsH;AACtH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,MAA2H,CAAC;AAErK,0EAA0E;AAC1E,eAAO,MAAM,KAAK,UAAY,CAAC;AAE/B;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASnD;AAED,kHAAkH;AAClH,eAAO,MAAM,MAAM,GAAI,SAAS,MAAM,KAAG,MAA8B,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,OAAoF,CAAC;AAE9H;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAS7K"}
@@ -11,36 +11,37 @@
11
11
  * an ask pays in, and `broadcast.ts` names it directly.
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.isPegged = exports.toBase = exports.MICRO = exports.symbolOf = exports.checkerFeeDenom = exports.rewardDenom = exports.heldDenom = exports.askDenom = exports.usdcDenom = exports.asRewardDenom = exports.USDC_MAINNET = void 0;
14
+ exports.isPegged = exports.toBase = exports.MICRO = exports.symbolOf = exports.checkerFeeDenom = exports.rewardDenom = exports.heldDenom = exports.askDenom = exports.usdcDenom = exports.asRewardDenom = exports.USDC_NOBLE_LEGACY = exports.USDC_MAINNET = void 0;
15
15
  exports.coinsOf = coinsOf;
16
16
  exports.baseFromPay = baseFromPay;
17
17
  exports.orgShortfall = orgShortfall;
18
18
  const given_ts_1 = require("../given.js");
19
+ const rewardDenom_ts_1 = require("./rewardDenom.js");
20
+ Object.defineProperty(exports, "USDC_MAINNET", { enumerable: true, get: function () { return rewardDenom_ts_1.USDC_MAINNET; } });
21
+ /** Noble USDC (`transfer/channel-26/uusdc`), READ only: old asks, escrows and balances in it still display, pay out and close. Never created, never offered. */
22
+ exports.USDC_NOBLE_LEGACY = "ibc/6BBE9BD4246F8E04948D5A4EEE7164B2630263B9EBB5E7DC5F0A46C62A2FF97B";
19
23
  /**
20
- * The denom NEW asks are posted in. Defaults to `uixo` so nothing changes
21
- * until a deployment says otherwise; the board keeps rendering older asks in
22
- * whatever they were posted in, because a denom is a property of the ask and
23
- * never of the reader.
24
+ * The reward coin on `network`, whatever `value` names (a poster or a stored plan never chooses; the deployment's
25
+ * `NEXT_PUBLIC_ASK_DENOM` does, through `rewardDenom`). `value` is kept so the callers that passed one read the same.
24
26
  */
25
- /*
26
- * Resolved as `config().askDenom` is (`configure()`, then the literal env read
27
- * Next inlines), without importing the whole resolver: `toBase` and friends
28
- * ride into browser pages, and the resolver's tables would ride with them.
29
- */
30
- /** Noble USDC on ixo mainnet: the ICS-20 hash of `transfer/channel-26/uusdc`. Mainnet only; testnet has no such route. */
31
- exports.USDC_MAINNET = "ibc/6BBE9BD4246F8E04948D5A4EEE7164B2630263B9EBB5E7DC5F0A46C62A2FF97B";
32
- /** A reward coin, or IXO for anything else (PAY included: `NEXT_PUBLIC_ASK_DENOM=upay` no longer makes rewards PAY). */
33
- const asRewardDenom = (value) => (value === exports.USDC_MAINNET ? exports.USDC_MAINNET : "uixo");
27
+ const asRewardDenom = (_value, network) => (0, exports.rewardDenom)(network);
34
28
  exports.asRewardDenom = asRewardDenom;
35
29
  /**
36
- * Noble USDC's denom on a network, or null where there is none. Checked 2026-10-16 against each chain's bank
30
+ * USDC.inj's denom on a network, or null where there is none. Checked 2026-10-16 against each chain's bank
37
31
  * supply and IBC denom traces: devnet holds no IBC coin at all, and testnet's four are AXL and OSMO, no USDC.
38
32
  */
39
- const usdcDenom = (network) => (network === "mainnet" ? exports.USDC_MAINNET : null);
33
+ const usdcDenom = (network) => (network === "mainnet" ? rewardDenom_ts_1.USDC_MAINNET : null);
40
34
  exports.usdcDenom = usdcDenom;
41
- const envDenom = () => (0, given_ts_1.givenConfig)().askDenom ?? (typeof process === "undefined" || !process.env ? undefined : process.env.NEXT_PUBLIC_ASK_DENOM);
42
- /** The default reward coin for new asks: `NEXT_PUBLIC_ASK_DENOM` may choose between IXO and USDC only. */
43
- const askDenom = () => (0, exports.asRewardDenom)(envDenom());
35
+ /* A call scoped to a network the env does not describe ignores the env (the MCP's other network). */
36
+ const envDenom = () => (0, given_ts_1.givenConfig)().askDenom ?? (typeof process === "undefined" || !process.env || (0, given_ts_1.currentScope)()?.env === false ? undefined : process.env.NEXT_PUBLIC_ASK_DENOM);
37
+ /*
38
+ * The network as `network()` (network.ts) reads it: the call's scope, then `configure({ network })`, then the literal
39
+ * env read Next inlines, unset or empty being testnet. Inlined for the reason above. Only "is it mainnet?" is asked
40
+ * of it, so a misspelt value (which `network()` refuses) reads here as not mainnet: the sandbox's coin, never real money.
41
+ */
42
+ const currentNetwork = () => (0, given_ts_1.currentScope)()?.network || (0, given_ts_1.givenConfig)().network || (typeof process === "undefined" || !process.env ? undefined : process.env.NEXT_PUBLIC_CHAIN_NETWORK) || "testnet";
43
+ /** The reward coin for new asks: the network's (`rewardDenom`; on mainnet `NEXT_PUBLIC_ASK_DENOM=upay` makes it PAY). */
44
+ const askDenom = () => (0, exports.rewardDenom)(currentNetwork());
44
45
  exports.askDenom = askDenom;
45
46
  /**
46
47
  * The coin money this deployment ALREADY holds is in: `NEXT_PUBLIC_ASK_DENOM` as configured (PAY, USDC, else IXO). The
@@ -49,22 +50,20 @@ exports.askDenom = askDenom;
49
50
  */
50
51
  const heldDenom = () => {
51
52
  const env = envDenom();
52
- return env === "upay" || env === exports.USDC_MAINNET ? env : "uixo";
53
+ return env === "upay" || env === rewardDenom_ts_1.USDC_MAINNET ? env : "uixo";
53
54
  };
54
55
  exports.heldDenom = heldDenom;
55
56
  /**
56
- * The default reward coin on a network (a poster may pick the other): USDC where it exists (mainnet) unless the
57
- * deployment says IXO, and IXO where USDC does not exist.
57
+ * The reward coin on a network: test PAY off mainnet. On mainnet, the deployment's `NEXT_PUBLIC_ASK_DENOM` chooses:
58
+ * `upay` pays rewards in PAY; anything else, or unset, is USDC.inj. The poster
59
+ * never picks. Scope-aware through `envDenom`, so a host serving two networks (the MCP) asks it per call.
58
60
  */
59
- const rewardDenom = (network) => {
60
- const usdc = (0, exports.usdcDenom)(network);
61
- return usdc && envDenom() !== "uixo" ? usdc : "uixo";
62
- };
61
+ const rewardDenom = (network) => (0, rewardDenom_ts_1.rewardDenomFor)(network, envDenom());
63
62
  exports.rewardDenom = rewardDenom;
64
63
  /**
65
64
  * What a checker's fee (an ask's on-chain evaluation leg) is paid in, by network (owner ruling 2026-10-14):
66
65
  * PAY (upay) on every network, mainnet included. A card's `{currency: "PAY"}` price is used as upay directly
67
- * (`servicePriceBase`). Rewards are a separate coin (`rewardDenom`: USDC on mainnet).
66
+ * (`servicePriceBase`). Rewards are `rewardDenom`'s: USDC on mainnet, PAY (this same coin) in the sandbox.
68
67
  */
69
68
  const checkerFeeDenom = (_network) => "upay";
70
69
  exports.checkerFeeDenom = checkerFeeDenom;
@@ -77,7 +76,7 @@ function coinsOf(parts) {
77
76
  return [...sums].sort(([a], [b]) => (a < b ? -1 : 1)).map(([denom, amount]) => ({ denom, amount: String(amount) }));
78
77
  }
79
78
  /** The ticker a person reads. Unknown denoms read "IXO", exactly as every inline `=== "upay" ? "PAY" : "IXO"` did. */
80
- const symbolOf = (denom) => (denom === "upay" ? "PAY" : denom === exports.USDC_MAINNET ? "USDC" : "IXO");
79
+ const symbolOf = (denom) => (denom === "upay" ? "PAY" : denom === rewardDenom_ts_1.USDC_MAINNET ? "USDC" : denom === exports.USDC_NOBLE_LEGACY ? "USDC (old)" : "IXO");
81
80
  exports.symbolOf = symbolOf;
82
81
  /** Base units per display unit. Both denoms are 6-decimal micro units. */
83
82
  exports.MICRO = 1_000_000;
@@ -116,7 +115,7 @@ exports.toBase = toBase;
116
115
  * dollar face. IXO floats, so it never can — the face is only honest where
117
116
  * the peg is.
118
117
  */
119
- const isPegged = (denom) => denom === "upay" || denom === exports.USDC_MAINNET;
118
+ const isPegged = (denom) => denom === "upay" || denom === rewardDenom_ts_1.USDC_MAINNET || denom === exports.USDC_NOBLE_LEGACY;
120
119
  exports.isPegged = isPegged;
121
120
  /**
122
121
  * Refused before anything is signed when the org's admin account cannot fund its ask: the rewards (reward × quota,
@@ -1 +1 @@
1
- {"version":3,"file":"money.js","sourceRoot":"","sources":["../../../src/chain/money.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"money.js","sourceRoot":"","sources":["../../../src/chain/money.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export type OracleEvent = "hire" | "scan";
17
17
  export declare const oracleUrl: () => string;
18
18
  export interface NotifyOptions {
19
19
  baseUrl?: string;
20
+ /** The oracle's own route for this event (its `/v1/info` `openhands`, `:collectionId` filled), else `/openhands/<event>/<id>`. */
21
+ path?: string;
20
22
  fetch?: typeof fetch;
21
23
  }
22
24
  /** True when the oracle answered 2xx; false on every other outcome, never a throw. */
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/chain/oracle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,qFAAqF;AACrF,eAAO,MAAM,SAAS,QAAO,MAA2H,CAAC;AAIzJ,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,sFAAsF;AACtF,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB1H"}
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/chain/oracle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,qFAAqF;AACrF,eAAO,MAAM,SAAS,QAAO,MAA2H,CAAC;AAIzJ,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kIAAkI;IAClI,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,sFAAsF;AACtF,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB1H"}
@@ -31,7 +31,7 @@ async function notifyOracle(event, collectionId, options = {}) {
31
31
  if (typeof send !== "function")
32
32
  return false;
33
33
  try {
34
- const response = await send(`${base}/openhands/${event}/${collectionId}`, {
34
+ const response = await send(`${base}${options.path ?? `/openhands/${event}/${collectionId}`}`, {
35
35
  method: "POST",
36
36
  /* Survives the page moving on right after a submit. */
37
37
  keepalive: true,
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/chain/oracle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAkBH,oCAgBC;AAhCD,0CAA0C;AAC1C,8CAAuC;AAIvC,qFAAqF;AAC9E,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,CAAC,IAAA,sBAAW,GAAE,CAAC,SAAS,IAAI,CAAC,IAAA,mBAAM,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAA5I,QAAA,SAAS,aAAmI;AAEzJ,MAAM,UAAU,GAAG,KAAK,CAAC;AAOzB,sFAAsF;AAC/E,KAAK,UAAU,YAAY,CAAC,KAAkB,EAAE,YAAoB,EAAE,UAAyB,EAAE;IACtG,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,IAAA,iBAAS,GAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAC/C,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,cAAc,KAAK,IAAI,YAAY,EAAE,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,uDAAuD;YACvD,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/chain/oracle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAoBH,oCAgBC;AAlCD,0CAA0C;AAC1C,8CAAuC;AAIvC,qFAAqF;AAC9E,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,CAAC,IAAA,sBAAW,GAAE,CAAC,SAAS,IAAI,CAAC,IAAA,mBAAM,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAA5I,QAAA,SAAS,aAAmI;AAEzJ,MAAM,UAAU,GAAG,KAAK,CAAC;AASzB,sFAAsF;AAC/E,KAAK,UAAU,YAAY,CAAC,KAAkB,EAAE,YAAoB,EAAE,UAAyB,EAAE;IACtG,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,IAAA,iBAAS,GAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAC/C,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,cAAc,KAAK,IAAI,YAAY,EAAE,EAAE,EAAE;YAC7F,MAAM,EAAE,MAAM;YACd,uDAAuD;YACvD,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -35,7 +35,7 @@ export interface ReviewBillingStatus {
35
35
  }
36
36
  /** The oracle's `ReviewBilling` body, strictly: null when a field it must carry is missing or not upay. */
37
37
  export declare function parseReviewBilling(body: unknown): ReviewBillingStatus | null;
38
- /** upay → "1,000 PAY" / "0.5 PAY". */
38
+ /** upay → "$1,000.00" / "$0.50": PAY is held at a dollar, so it is said as dollars. */
39
39
  export declare const payFace: (upay: string | number) => string;
40
40
  /** A cap the person typed, in PAY → upay; null unless a positive whole number of upay. */
41
41
  export declare function capUpay(pay: string | number): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"orgReviewBilling.d.ts","sourceRoot":"","sources":["../../../src/chain/orgReviewBilling.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,4FAA4F;AAC5F,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,8BAA8B;AAC9B,eAAO,MAAM,YAAY,UAAY,CAAC;AAEtC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAExF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uFAAuF;IACvF,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1D,iBAAiB,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/D;AAKD,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAyB5E;AAED,sCAAsC;AACtC,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,GAAG,MAAM,KAAG,MAAsG,CAAC;AAEvJ,0FAA0F;AAC1F,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAK3D;AAED,sCAAsC;AACtC,wBAAgB,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAQ9D;AAED,4FAA4F;AAC5F,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKxD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,SAAK,GAAG,MAAM,CAyB/F;AAED,yEAAyE;AACzE,wBAAgB,MAAM,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAM7H;AAID,iHAAiH;AACjH,MAAM,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAErG,qIAAqI;AACrI,wBAAgB,UAAU,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAapF;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAKD,0GAA0G;AAC1G,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC7F,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA0BlG;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AASD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAY9J;AAED,MAAM,MAAM,WAAW;AACrB,yFAAyF;AACvF;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE;AACzC,2DAA2D;GACzD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE;AACnE,uCAAuC;GACrC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,qFAAqF;AACrF,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQzG;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAkB5I;AAED,qHAAqH;AACrH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,cAAc,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjF,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,EAAE,MAAM,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,QAAQ,CAOzH"}
1
+ {"version":3,"file":"orgReviewBilling.d.ts","sourceRoot":"","sources":["../../../src/chain/orgReviewBilling.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ exports.orgSources = orgSources;
55
55
  exports.oracleAudience = oracleAudience;
56
56
  exports.readOrgReviewBilling = readOrgReviewBilling;
57
57
  exports.controlsFor = controlsFor;
58
+ const money_ts_1 = require("../data/money.js");
58
59
  /** The owner's default budget: 1,000 PAY (owner ruling); each signature is a new budget. */
59
60
  exports.DEFAULT_CAP_PAY = 1000;
60
61
  /** 1 PAY = 1,000,000 upay. */
@@ -90,8 +91,8 @@ function parseReviewBilling(body) {
90
91
  pausedCollections: paused.filter((one) => typeof one?.collectionId === "string" && typeof one.reason === "string").map((one) => ({ collectionId: one.collectionId, reason: one.reason }))
91
92
  };
92
93
  }
93
- /** upay → "1,000 PAY" / "0.5 PAY". */
94
- const payFace = (upay) => `${(Number(upay) / exports.UPAY_PER_PAY).toLocaleString("en-US", { maximumFractionDigits: 6 })} PAY`;
94
+ /** upay → "$1,000.00" / "$0.50": PAY is held at a dollar, so it is said as dollars. */
95
+ const payFace = (upay) => (0, money_ts_1.dollars)(Number(upay) / exports.UPAY_PER_PAY);
95
96
  exports.payFace = payFace;
96
97
  /** A cap the person typed, in PAY → upay; null unless a positive whole number of upay. */
97
98
  function capUpay(pay) {
@@ -118,18 +119,18 @@ function pauseWords(reason) {
118
119
  if (reason === "payer-delegation")
119
120
  return "Reviews paused: Pay for reviews needs turning on again (or a higher cap)";
120
121
  if (reason === "oracle-plan")
121
- return "Reviews paused: the oracle's plan is inactive";
122
+ return "Reviews paused: the verifier's plan is inactive";
122
123
  return null;
123
124
  }
124
125
  /** The oracle's refusal of a PUT or DELETE (contract 1.22.0), in words. */
125
126
  function refusalWords(status, code, reason, message = "") {
126
127
  switch (reason) {
127
128
  case "not_org_owner":
128
- return "Only the organisation's owner on chain can turn this on: their credits pay for the reviews.";
129
+ return "Only the organisation's owner can turn this on: their credits pay for the reviews.";
129
130
  case "review_billing_elsewhere":
130
- return "Another of the organisation's Decision API connections on this oracle already pays for reviews. Turn it off there first (in the Decision Console).";
131
+ return "Another of the organisation's Decision API connections on this verifier already pays for reviews. Turn it off there first (in the Decision Console).";
131
132
  case "billing_mode_none":
132
- return "The organisation's connection to this oracle is not set up for billing, so it cannot pay for reviews. Ask IXO to switch it on.";
133
+ return "The organisation's connection to this verifier is not set up for billing, so it cannot pay for reviews. Ask IXO to switch it on.";
133
134
  case "cap_below_price":
134
135
  return "The cap is below the price of one review. Raise it.";
135
136
  case "expires_too_soon":
@@ -139,26 +140,26 @@ function refusalWords(status, code, reason, message = "") {
139
140
  case "not_a_payment_delegation":
140
141
  case "bad_signature":
141
142
  case "not_yet_valid":
142
- return `The oracle refused the signed permission (${reason}). Nothing was stored.`;
143
+ return `The verifier refused the signed permission (${reason}). Nothing was stored.`;
143
144
  }
144
145
  if (code === "SOURCE_PENDING_LINK")
145
- return "The organisation's connection to this oracle is not linked yet. Link it (the OpenHands HQ plugin, step 8, or the Decision Console), then try again.";
146
+ return "The organisation's connection to this verifier is not linked yet. Link it (the OpenHands HQ plugin, step 8, or the Decision Console), then try again.";
146
147
  if (code === "SOURCE_DISPUTED")
147
- return "The organisation's link to this oracle is disputed. Sort it out in the Decision Console, then try again.";
148
+ return "The organisation's link to this verifier is disputed. Sort it out in the Decision Console, then try again.";
148
149
  if (code === "SOURCE_PAUSED" || status === 503)
149
- return "The oracle cannot take payments just now. Try again in a few minutes.";
150
+ return "The verifier cannot take payments just now. Try again in a few minutes.";
150
151
  if (status === 401 || status === 403)
151
- return "The oracle did not accept your signature for this organisation.";
152
+ return "The verifier did not accept your signature for this organisation.";
152
153
  if (status === 404)
153
- return "This oracle does not bill reviews per check.";
154
- return `The oracle said no${message ? `: ${message}` : ` (${status})`}.`;
154
+ return "This verifier does not bill reviews per check.";
155
+ return `The verifier said no${message ? `: ${message}` : ` (${status})`}.`;
155
156
  }
156
157
  /** The three ways in, for anyone who cannot (or need not) do it here. */
157
158
  function waysIn(org, oracle, sourceId) {
158
159
  return [
159
- `In OpenHands: ${org.name}'s owner opens ${org.settingsUrl}#pay-for-reviews signed in with their IXO account and clicks "Allow reviews to be paid from my credits".`,
160
+ `On asks.world: ${org.name}'s owner opens ${org.settingsUrl}#pay-for-reviews signed in with their IXO account and clicks "Allow reviews to be paid from my credits".`,
160
161
  "In the Decision Console: Billing › Pay for reviews.",
161
- `In Claude Code: eval-oracle api review-billing enable --source ${sourceId ?? "<source id>"} --kit ${oracle.url.replace(/\/$/, "")} --cap <PAY> (it previews first; add --yes to sign).`
162
+ `In Claude Code: eval-oracle api review-billing enable --source ${sourceId ?? "<source id>"} --kit ${oracle.url.replace(/\/$/, "")} --cap <dollars> (it previews first; add --yes to sign).`
162
163
  ];
163
164
  }
164
165
  /** The signer's own invocation from their ed25519 key (as `ownerMint`): no proof (a controller is a root), five minutes, a nonce. */