@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
@@ -1,12 +1,12 @@
1
1
  /**
2
- * How an MCP client is told to connect to Openhands Network.
2
+ * How an MCP client is told to connect to asks.world.
3
3
  *
4
4
  * One table, several renderings: the server's own `get_config_help` and the
5
5
  * hosted `where_to_act`, the install block (`/`, `/connect`, `/mcp`), the
6
6
  * agent page and its `/mcp.md` twin, and the hosted server's description all
7
7
  * print these lines from here, so
8
8
  * they cannot disagree — which they did, for a month, when the page said
9
- * `/path/to/openhands-mcp` and the server printed whatever path it happened
9
+ * `/path/to/asks-mcp` and the server printed whatever path it happened
10
10
  * to be running from.
11
11
  *
12
12
  * Pure and dependency-free, like `app/lib/networks.ts`: the app, the MCP
@@ -19,23 +19,36 @@
19
19
  * anchor, so the server, the package and the plugin all carry its name.
20
20
  */
21
21
  /** The npm package the bundled server ships as (the plugin plan's A2). */
22
- export declare const MCP_PACKAGE = "@ixo/openhands-mcp";
23
- /** The name a client registers the server under; tools appear as `mcp__openhands-network__*`. */
24
- export declare const MCP_SERVER = "openhands-network";
22
+ export declare const MCP_PACKAGE = "@ixo/asks-mcp";
23
+ /** The name a client registers the server under; tools appear as `mcp__asks__*`. */
24
+ export declare const MCP_SERVER = "asks";
25
25
  /**
26
- * The major an install pins. semantic-release publishes the package
27
- * (docs/RELEASING-MCP.md) and a breaking change moves the major, so `npx -y
28
- * @ixo/openhands-mcp@1` takes every fix and feature of 1.x and never a
29
- * 2.0 nobody asked for. The plugin (ixoworld/ixo-plugins) pins the same.
26
+ * The dist-tag an install follows (owner, 2026-10-26): `latest`, the newest release from main, majors
27
+ * included. The plugin (ixoworld/ixo-plugins) uses the same.
30
28
  */
31
- export declare const MCP_MAJOR = 1;
29
+ export declare const MCP_TAG = "latest";
32
30
  /** What `npx` is told to run. */
33
- export declare const MCP_SPEC = "@ixo/openhands-mcp@1";
31
+ export declare const MCP_SPEC = "@ixo/asks-mcp@latest";
32
+ /**
33
+ * What that spec actually runs is whatever build the npx cache holds for it.
34
+ * npx keeps one install per spec string and reuses it without asking the
35
+ * registry, so a machine that installed in September keeps September's
36
+ * server until the cache is cleared — on 2026-10-20 `@1` ran 1.1.0 on a Mac
37
+ * while 1.4.1 was latest, and 1.1.0 refused post_call for want of variables
38
+ * 1.4 reads from the site. The plugin's `.mcp.json` uses the same spec. Said
39
+ * beside the version wherever an install is printed, with the one line that
40
+ * refreshes it.
41
+ */
42
+ export declare const NPX_CACHE_NOTE = "npx keeps the build it first installed for \"@ixo/asks-mcp@latest\" and reuses it without asking npm, so after a release an older server can keep running on your machine.";
43
+ /** The one line that makes the next start install the newest release: npx's own cache, found through npm's config so the path is right on every machine. */
44
+ export declare const NPX_REFRESH_LINE = "rm -rf \"$(npm config get cache)/_npx\"";
45
+ /** The note and the line, as text: what get_config_help and the install pages print. */
46
+ export declare const npxCacheLines: () => string[];
34
47
  /**
35
48
  * The hosted server's path on every deployment's own origin: read-only,
36
49
  * unauthenticated, and the protocol surface the `/v1/` prefix versions
37
- * (docs/MCP.md). `https://openhands.network/v1/mcp` and
38
- * `https://test.openhands.network/v1/mcp`.
50
+ * (docs/MCP.md). `https://asks.world/v1/mcp` and
51
+ * `https://test.asks.world/v1/mcp`.
39
52
  */
40
53
  export declare const MCP_HOSTED_PATH = "/v1/mcp";
41
54
  /** The hosted server's URL on a deployment's origin. */
@@ -53,7 +66,6 @@ export type InstallClient = (typeof INSTALL_CLIENTS)[number];
53
66
  */
54
67
  export type InstallEntry = {
55
68
  kind: "package";
56
- name?: string;
57
69
  } | {
58
70
  kind: "source";
59
71
  path: string;
@@ -79,14 +91,8 @@ export declare const INSTALL_WHERE: Record<InstallClient, string>;
79
91
  * package does.
80
92
  */
81
93
  export declare const PLUGIN_MARKETPLACE = "ixoworld/ixo-plugins";
82
- export declare const PLUGIN_NAME = "ixo-openhands";
83
- export declare const PLUGIN_ID = "ixo-openhands@ixo-plugins";
84
- /**
85
- * The hosted MCP (claude.ai, ChatGPT) only reads. Everything that signs runs in
86
- * Claude Code with the local MCP / HQ plugin, where keys and data stay on the
87
- * user's machine (owner ruling 2026-10-15). One wording, said everywhere.
88
- */
89
- export declare const HQ_PLUGIN_NAME = "ixo-openhands-hq";
94
+ export declare const PLUGIN_NAME = "asks";
95
+ export declare const PLUGIN_ID = "asks@ixo-plugins";
90
96
  /** The plugin marketplace's public repository: every plugin's skill, README and version. */
91
97
  export declare const PLUGIN_MARKETPLACE_URL = "https://github.com/ixoworld/ixo-plugins";
92
98
  /** An npm package's page, where its latest version is. */
@@ -102,20 +108,12 @@ export declare const RESOURCE_PACKAGES: readonly {
102
108
  }[];
103
109
  /** One line per package: name@range, what it is, its npm page. */
104
110
  export declare const resourceLines: () => string[];
105
- /** The marketplace also lists two hosted, read-only plugins; their names read like network versions of ixo-openhands, so say what they are. */
106
- export declare const READ_ONLY_PLUGINS_LINE = "ixo-openhands-mainnet and ixo-openhands-testnet in the same marketplace are read-only: they only look at the board, with no posting, payouts or sign-in. They are not the mainnet or testnet versions of ixo-openhands; for those, install ixo-openhands or ixo-openhands-hq, which start on mainnet and switch to testnet with OPENHANDS_NETWORK=testnet.";
107
- export declare const READ_ONLY_LINE = "This connector can only read. To post asks, set up payouts, pay for reviews or get paid, use Claude Code with an OpenHands plugin (ixo-openhands-hq for a company, ixo-openhands for a worker or yourself): it runs on your computer, so your keys and data stay with you.";
108
111
  /**
109
- * The network the plugin starts on, and the variable that changes it.
110
- *
111
- * The plugin's Claude Code `.mcp.json` sets `NEXT_PUBLIC_CHAIN_NETWORK` to
112
- * `${OPENHANDS_NETWORK:-mainnet}`, which Claude Code expands from the
113
- * environment it was started in. Codex's portable `mcp.json` has no such
114
- * expansion and says `mainnet` outright, so in Codex the plugin is mainnet
115
- * only and the test network is the config.toml lines.
112
+ * The hosted MCP (claude.ai, ChatGPT) only reads. Everything that signs runs in
113
+ * Claude Code with the local MCP / HQ plugin, where keys and data stay on the
114
+ * user's machine (owner ruling 2026-10-15). One wording, said everywhere.
116
115
  */
117
- export declare const PLUGIN_NETWORK_DEFAULT = "mainnet";
118
- export declare const PLUGIN_NETWORK_ENV = "OPENHANDS_NETWORK";
116
+ export declare const READ_ONLY_LINE = "This connector holds no key: it reads, and posts an ask only as a pay link (post_ask with pay_by \"card\"), where the person pays by card and posts it on asks.world. To post from your own money, set up payouts, pay for reviews or get paid, use Claude Code with an asks.world plugin (asks): it runs on your computer, so your keys and data stay with you.";
119
117
  /** The first Claude Code that installs from a marketplace in one step, with `--marketplace`. */
120
118
  export declare const CLAUDE_CODE_ONE_STEP = "2.1.275";
121
119
  export declare const PLUGIN_CLIENTS: readonly ["claude-code", "codex"];
@@ -128,28 +126,27 @@ export declare const PLUGIN_INSTALLS: readonly ["claude-code", "claude-code-olde
128
126
  export type PluginInstall = (typeof PLUGIN_INSTALLS)[number];
129
127
  /** One plugin install, a command per line: the worker plugin unless `name` says which. */
130
128
  export declare function pluginLines(install: PluginInstall, name?: string): string;
131
- /** The HQ plugin's two Claude Code lines, which work on every Claude Code version. */
132
- export declare const HQ_INSTALL_LINES: string;
129
+ /** The Claude Code install as shell commands, said on one line: for an agent that cannot type a /plugin command but can run `claude`. */
130
+ export declare const pluginShellLine: (name: string) => string;
133
131
  /**
134
- * The two ways in, company first: who each plugin is for and what it does.
135
- * Every page and tool that shows an install shows both, from here.
132
+ * The Claude app (desktop or claude.ai, paid plans): a person adds the plugin by hand, and its server, which runs on
133
+ * their computer, works where Claude can run things on it: the Code tab, or a chat with a folder connected (the former Cowork); not a plain chat (support.claude.com, "Use plugins in Claude").
136
134
  */
135
+ export declare const claudeAppPluginSteps: (names: string) => string;
136
+ /** The one plugin, for a company or a worker: what it does, said once. Every page and tool that shows an install shows it, from here. */
137
137
  export declare const PLUGIN_PATHS: readonly [{
138
- readonly name: "ixo-openhands-hq";
139
- readonly who: "For a company";
140
- readonly what: "Set up your company (organisation, how workers are paid, a reviewer, review billing), then post asks.";
141
- }, {
142
- readonly name: "ixo-openhands";
143
- readonly who: "For a worker or yourself";
144
- readonly what: "Find asks, answer them and get paid. Post asks of your own.";
138
+ readonly name: "asks";
139
+ readonly who: "For a company or yourself";
140
+ readonly what: "Find asks, answer them and get paid, post asks of your own, and set up your company (organisation, how workers are paid, a verifier, review billing). A report ask is answered with Claude (the report and screenshots, which you approve before anything is sent) or on the website.";
145
141
  }];
142
+ /** The plugin's commands (ixoworld/ixo-plugins), said once: `/asks` works out what the person wants, the rest go straight to one job. */
143
+ export declare const PLUGIN_COMMANDS_LINE = "Once installed, type /asks and say what you want, or go straight to one job: /asks:create (post an ask or a review, set up a company), /asks:jobs (find work), /asks:invite, /asks:manage, /asks:report (write a review report), /asks:profile, /asks:account, /asks:connect, /asks:help.";
146
144
  export declare const PLUGIN_WHERE: Record<PluginInstall, string>;
147
- /** Both plugins as plain text, company first: who it is for, then each install's lines. */
145
+ /** The plugin as plain text: who it is for, then each install's lines. */
148
146
  export declare function pluginPathsText(installs?: readonly PluginInstall[]): string[];
149
147
  /**
150
- * What the plugin brings and which network it starts on, said for the site at
151
- * `network`: on mainnet, how to get the test network instead; on the test
152
- * network, that the client has to be started for it.
148
+ * What the plugin brings and which network to use, said for the site at `network`. One server serves both: every
149
+ * tool takes `network`, so there is nothing to set at install.
153
150
  */
154
151
  export declare function pluginNetworkNote(network: string): string;
155
152
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/data/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/data/install.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  /**
3
- * How an MCP client is told to connect to Openhands Network.
3
+ * How an MCP client is told to connect to asks.world.
4
4
  *
5
5
  * One table, several renderings: the server's own `get_config_help` and the
6
6
  * hosted `where_to_act`, the install block (`/`, `/connect`, `/mcp`), the
7
7
  * agent page and its `/mcp.md` twin, and the hosted server's description all
8
8
  * print these lines from here, so
9
9
  * they cannot disagree — which they did, for a month, when the page said
10
- * `/path/to/openhands-mcp` and the server printed whatever path it happened
10
+ * `/path/to/asks-mcp` and the server printed whatever path it happened
11
11
  * to be running from.
12
12
  *
13
13
  * Pure and dependency-free, like `app/lib/networks.ts`: the app, the MCP
@@ -20,30 +20,46 @@
20
20
  * anchor, so the server, the package and the plugin all carry its name.
21
21
  */
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.HOSTED_WHERE = exports.HOSTED_CLIENTS = exports.PLUGIN_WHERE = exports.PLUGIN_PATHS = exports.HQ_INSTALL_LINES = exports.PLUGIN_INSTALLS = exports.PLUGIN_CLIENTS = exports.CLAUDE_CODE_ONE_STEP = exports.PLUGIN_NETWORK_ENV = exports.PLUGIN_NETWORK_DEFAULT = exports.READ_ONLY_LINE = exports.READ_ONLY_PLUGINS_LINE = exports.resourceLines = exports.RESOURCE_PACKAGES = exports.npmUrl = exports.PLUGIN_MARKETPLACE_URL = exports.HQ_PLUGIN_NAME = exports.PLUGIN_ID = exports.PLUGIN_NAME = exports.PLUGIN_MARKETPLACE = exports.INSTALL_WHERE = exports.INSTALL_CLIENTS = exports.hostedUrl = exports.MCP_HOSTED_PATH = exports.MCP_SPEC = exports.MCP_MAJOR = exports.MCP_SERVER = exports.MCP_PACKAGE = void 0;
23
+ exports.HOSTED_WHERE = exports.HOSTED_CLIENTS = exports.PLUGIN_WHERE = exports.PLUGIN_COMMANDS_LINE = exports.PLUGIN_PATHS = exports.claudeAppPluginSteps = exports.pluginShellLine = exports.PLUGIN_INSTALLS = exports.PLUGIN_CLIENTS = exports.CLAUDE_CODE_ONE_STEP = exports.READ_ONLY_LINE = exports.resourceLines = exports.RESOURCE_PACKAGES = exports.npmUrl = exports.PLUGIN_MARKETPLACE_URL = exports.PLUGIN_ID = exports.PLUGIN_NAME = exports.PLUGIN_MARKETPLACE = exports.INSTALL_WHERE = exports.INSTALL_CLIENTS = exports.hostedUrl = exports.MCP_HOSTED_PATH = exports.npxCacheLines = exports.NPX_REFRESH_LINE = exports.NPX_CACHE_NOTE = exports.MCP_SPEC = exports.MCP_TAG = exports.MCP_SERVER = exports.MCP_PACKAGE = void 0;
24
24
  exports.installLines = installLines;
25
25
  exports.pluginLines = pluginLines;
26
26
  exports.pluginPathsText = pluginPathsText;
27
27
  exports.pluginNetworkNote = pluginNetworkNote;
28
28
  exports.hostedLines = hostedLines;
29
29
  /** The npm package the bundled server ships as (the plugin plan's A2). */
30
- exports.MCP_PACKAGE = "@ixo/openhands-mcp";
31
- /** The name a client registers the server under; tools appear as `mcp__openhands-network__*`. */
32
- exports.MCP_SERVER = "openhands-network";
30
+ exports.MCP_PACKAGE = "@ixo/asks-mcp";
31
+ /** The name a client registers the server under; tools appear as `mcp__asks__*`. */
32
+ exports.MCP_SERVER = "asks";
33
33
  /**
34
- * The major an install pins. semantic-release publishes the package
35
- * (docs/RELEASING-MCP.md) and a breaking change moves the major, so `npx -y
36
- * @ixo/openhands-mcp@1` takes every fix and feature of 1.x and never a
37
- * 2.0 nobody asked for. The plugin (ixoworld/ixo-plugins) pins the same.
34
+ * The dist-tag an install follows (owner, 2026-10-26): `latest`, the newest release from main, majors
35
+ * included. The plugin (ixoworld/ixo-plugins) uses the same.
38
36
  */
39
- exports.MCP_MAJOR = 1;
37
+ exports.MCP_TAG = "latest";
40
38
  /** What `npx` is told to run. */
41
- exports.MCP_SPEC = `${exports.MCP_PACKAGE}@${exports.MCP_MAJOR}`;
39
+ exports.MCP_SPEC = `${exports.MCP_PACKAGE}@${exports.MCP_TAG}`;
40
+ /** A site's network is the test network unless it is mainnet (testnet, devnet). */
41
+ const isTest = (network) => network !== "mainnet";
42
+ /**
43
+ * What that spec actually runs is whatever build the npx cache holds for it.
44
+ * npx keeps one install per spec string and reuses it without asking the
45
+ * registry, so a machine that installed in September keeps September's
46
+ * server until the cache is cleared — on 2026-10-20 `@1` ran 1.1.0 on a Mac
47
+ * while 1.4.1 was latest, and 1.1.0 refused post_call for want of variables
48
+ * 1.4 reads from the site. The plugin's `.mcp.json` uses the same spec. Said
49
+ * beside the version wherever an install is printed, with the one line that
50
+ * refreshes it.
51
+ */
52
+ exports.NPX_CACHE_NOTE = `npx keeps the build it first installed for "${exports.MCP_SPEC}" and reuses it without asking npm, so after a release an older server can keep running on your machine.`;
53
+ /** The one line that makes the next start install the newest release: npx's own cache, found through npm's config so the path is right on every machine. */
54
+ exports.NPX_REFRESH_LINE = 'rm -rf "$(npm config get cache)/_npx"';
55
+ /** The note and the line, as text: what get_config_help and the install pages print. */
56
+ const npxCacheLines = () => [`${exports.NPX_CACHE_NOTE} To refresh it, run this once, then start the client again:\n${exports.NPX_REFRESH_LINE}`];
57
+ exports.npxCacheLines = npxCacheLines;
42
58
  /**
43
59
  * The hosted server's path on every deployment's own origin: read-only,
44
60
  * unauthenticated, and the protocol surface the `/v1/` prefix versions
45
- * (docs/MCP.md). `https://openhands.network/v1/mcp` and
46
- * `https://test.openhands.network/v1/mcp`.
61
+ * (docs/MCP.md). `https://asks.world/v1/mcp` and
62
+ * `https://test.asks.world/v1/mcp`.
47
63
  */
48
64
  exports.MCP_HOSTED_PATH = "/v1/mcp";
49
65
  /** The hosted server's URL on a deployment's origin. */
@@ -54,7 +70,7 @@ const PACKAGE_ENTRY = { kind: "package" };
54
70
  /** The command and its arguments, as every client wants them. */
55
71
  function command(entry) {
56
72
  return entry.kind === "package"
57
- ? { command: "npx", args: ["-y", entry.name ?? exports.MCP_SPEC], env: {} }
73
+ ? { command: "npx", args: ["-y", exports.MCP_SPEC], env: {} }
58
74
  : { command: "node", args: ["--experimental-strip-types", entry.path], env: {} };
59
75
  }
60
76
  const envOf = (options) => ({
@@ -65,23 +81,25 @@ const envOf = (options) => ({
65
81
  function installLines(client, options) {
66
82
  const run = command(options.entry ?? PACKAGE_ENTRY);
67
83
  const env = envOf(options);
84
+ /* A plugin install does not replace a hand-added server (Claude Code names plugin servers `plugin:<plugin>:<server>`), so the guide says to remove it, or every tool is listed twice (final review M3). */
85
+ const name = exports.MCP_SERVER;
68
86
  switch (client) {
69
87
  case "claude-code": {
70
88
  const flags = Object.entries(env)
71
89
  .map(([key, value]) => `--env ${key}=${value}`)
72
90
  .join(" ");
73
- return `claude mcp add ${exports.MCP_SERVER} ${flags} -- ${run.command} ${run.args.join(" ")}`;
91
+ return `claude mcp add ${name} ${flags} -- ${run.command} ${run.args.join(" ")}`;
74
92
  }
75
93
  case "codex": {
76
94
  const table = Object.entries(env)
77
95
  .map(([key, value]) => `${key} = "${value}"`)
78
96
  .join(", ");
79
- return [`[mcp_servers.${exports.MCP_SERVER}]`, `command = "${run.command}"`, `args = ${JSON.stringify(run.args)}`, `env = { ${table} }`].join("\n");
97
+ return [`[mcp_servers.${name}]`, `command = "${run.command}"`, `args = ${JSON.stringify(run.args)}`, `env = { ${table} }`].join("\n");
80
98
  }
81
99
  case "cursor":
82
- return JSON.stringify({ mcpServers: { [exports.MCP_SERVER]: { command: run.command, args: run.args, env } } }, null, 2);
100
+ return JSON.stringify({ mcpServers: { [name]: { command: run.command, args: run.args, env } } }, null, 2);
83
101
  case "vscode":
84
- return `vscode:mcp/install?${encodeURIComponent(JSON.stringify({ name: exports.MCP_SERVER, command: run.command, args: run.args, env }))}`;
102
+ return `vscode:mcp/install?${encodeURIComponent(JSON.stringify({ name, command: run.command, args: run.args, env }))}`;
85
103
  }
86
104
  }
87
105
  /** Where each client keeps it — the sentence above the block. */
@@ -98,14 +116,8 @@ exports.INSTALL_WHERE = {
98
116
  * package does.
99
117
  */
100
118
  exports.PLUGIN_MARKETPLACE = "ixoworld/ixo-plugins";
101
- exports.PLUGIN_NAME = "ixo-openhands";
119
+ exports.PLUGIN_NAME = "asks";
102
120
  exports.PLUGIN_ID = `${exports.PLUGIN_NAME}@ixo-plugins`;
103
- /**
104
- * The hosted MCP (claude.ai, ChatGPT) only reads. Everything that signs runs in
105
- * Claude Code with the local MCP / HQ plugin, where keys and data stay on the
106
- * user's machine (owner ruling 2026-10-15). One wording, said everywhere.
107
- */
108
- exports.HQ_PLUGIN_NAME = "ixo-openhands-hq";
109
121
  /** The plugin marketplace's public repository: every plugin's skill, README and version. */
110
122
  exports.PLUGIN_MARKETPLACE_URL = `https://github.com/${exports.PLUGIN_MARKETPLACE}`;
111
123
  /** An npm package's page, where its latest version is. */
@@ -116,27 +128,19 @@ exports.npmUrl = npmUrl;
116
128
  * guides (/llms.txt, /mcp.md) list these; bump a range here when a plugin's skill moves to a new one.
117
129
  */
118
130
  exports.RESOURCE_PACKAGES = [
119
- { name: exports.MCP_PACKAGE, range: String(exports.MCP_MAJOR), what: `the Openhands tools both plugins run (server name ${exports.MCP_SERVER})` },
120
- { name: "@ixo/decision-oracle", range: "0.2", what: `company setup: the organisation, its reviewer and Pay for reviews (used by ${exports.HQ_PLUGIN_NAME})` },
121
- { name: "@ixo/payouts-facilitator", range: "0.1", what: `a company's own payouts service, for paying workers USDC on Base (used by ${exports.HQ_PLUGIN_NAME})` }
131
+ { name: exports.MCP_PACKAGE, range: exports.MCP_TAG, what: `the asks.world tools the plugin runs (server name ${exports.MCP_SERVER})` },
132
+ { name: "@ixo/decision-oracle", range: "0.2", what: `company setup: the organisation, its verifier and Pay for reviews (used by ${exports.PLUGIN_NAME})` },
133
+ { name: "@ixo/payouts-facilitator", range: "0.1", what: `a company's own payouts service, for paying workers in USD Coin on Base (used by ${exports.PLUGIN_NAME})` }
122
134
  ];
123
135
  /** One line per package: name@range, what it is, its npm page. */
124
136
  const resourceLines = () => exports.RESOURCE_PACKAGES.map((one) => `${one.name}@${one.range}: ${one.what}. ${(0, exports.npmUrl)(one.name)}`);
125
137
  exports.resourceLines = resourceLines;
126
- /** The marketplace also lists two hosted, read-only plugins; their names read like network versions of ixo-openhands, so say what they are. */
127
- exports.READ_ONLY_PLUGINS_LINE = "ixo-openhands-mainnet and ixo-openhands-testnet in the same marketplace are read-only: they only look at the board, with no posting, payouts or sign-in. They are not the mainnet or testnet versions of ixo-openhands; for those, install ixo-openhands or ixo-openhands-hq, which start on mainnet and switch to testnet with OPENHANDS_NETWORK=testnet.";
128
- exports.READ_ONLY_LINE = "This connector can only read. To post asks, set up payouts, pay for reviews or get paid, use Claude Code with an OpenHands plugin (ixo-openhands-hq for a company, ixo-openhands for a worker or yourself): it runs on your computer, so your keys and data stay with you.";
129
138
  /**
130
- * The network the plugin starts on, and the variable that changes it.
131
- *
132
- * The plugin's Claude Code `.mcp.json` sets `NEXT_PUBLIC_CHAIN_NETWORK` to
133
- * `${OPENHANDS_NETWORK:-mainnet}`, which Claude Code expands from the
134
- * environment it was started in. Codex's portable `mcp.json` has no such
135
- * expansion and says `mainnet` outright, so in Codex the plugin is mainnet
136
- * only and the test network is the config.toml lines.
139
+ * The hosted MCP (claude.ai, ChatGPT) only reads. Everything that signs runs in
140
+ * Claude Code with the local MCP / HQ plugin, where keys and data stay on the
141
+ * user's machine (owner ruling 2026-10-15). One wording, said everywhere.
137
142
  */
138
- exports.PLUGIN_NETWORK_DEFAULT = "mainnet";
139
- exports.PLUGIN_NETWORK_ENV = "OPENHANDS_NETWORK";
143
+ exports.READ_ONLY_LINE = "This connector holds no key: it reads, and posts an ask only as a pay link (post_ask with pay_by \"card\"), where the person pays by card and posts it on asks.world. To post from your own money, set up payouts, pay for reviews or get paid, use Claude Code with an asks.world plugin (asks): it runs on your computer, so your keys and data stay with you.";
140
144
  /** The first Claude Code that installs from a marketplace in one step, with `--marketplace`. */
141
145
  exports.CLAUDE_CODE_ONE_STEP = "2.1.275";
142
146
  exports.PLUGIN_CLIENTS = ["claude-code", "codex"];
@@ -157,44 +161,41 @@ function pluginLines(install, name = exports.PLUGIN_NAME) {
157
161
  return [`codex plugin marketplace add ${exports.PLUGIN_MARKETPLACE}`, `codex plugin add ${id}`].join("\n");
158
162
  }
159
163
  }
160
- /** The HQ plugin's two Claude Code lines, which work on every Claude Code version. */
161
- exports.HQ_INSTALL_LINES = pluginLines("claude-code-older", exports.HQ_PLUGIN_NAME);
164
+ /** The Claude Code install as shell commands, said on one line: for an agent that cannot type a /plugin command but can run `claude`. */
165
+ const pluginShellLine = (name) => `claude plugin marketplace add ${exports.PLUGIN_MARKETPLACE} then claude plugin install ${name}@ixo-plugins`;
166
+ exports.pluginShellLine = pluginShellLine;
162
167
  /**
163
- * The two ways in, company first: who each plugin is for and what it does.
164
- * Every page and tool that shows an install shows both, from here.
168
+ * The Claude app (desktop or claude.ai, paid plans): a person adds the plugin by hand, and its server, which runs on
169
+ * their computer, works where Claude can run things on it: the Code tab, or a chat with a folder connected (the former Cowork); not a plain chat (support.claude.com, "Use plugins in Claude").
165
170
  */
171
+ const claudeAppPluginSteps = (names) => `In the Claude app (paid plans) your user adds it themselves: Customize, then Plugins, then Add, then Add marketplace, then Add from a repository, and enter ${exports.PLUGIN_MARKETPLACE}; then on the Discover tab pick ${names} and tap Add. It runs on their computer, so they use it in the app's Code tab or in a chat with a folder connected, not in a plain chat.`;
172
+ exports.claudeAppPluginSteps = claudeAppPluginSteps;
173
+ /** The one plugin, for a company or a worker: what it does, said once. Every page and tool that shows an install shows it, from here. */
166
174
  exports.PLUGIN_PATHS = [
167
- {
168
- name: exports.HQ_PLUGIN_NAME,
169
- who: "For a company",
170
- what: "Set up your company (organisation, how workers are paid, a reviewer, review billing), then post asks."
171
- },
172
175
  {
173
176
  name: exports.PLUGIN_NAME,
174
- who: "For a worker or yourself",
175
- what: "Find asks, answer them and get paid. Post asks of your own."
177
+ who: "For a company or yourself",
178
+ what: "Find asks, answer them and get paid, post asks of your own, and set up your company (organisation, how workers are paid, a verifier, review billing). A report ask is answered with Claude (the report and screenshots, which you approve before anything is sent) or on the website."
176
179
  }
177
180
  ];
181
+ /** The plugin's commands (ixoworld/ixo-plugins), said once: `/asks` works out what the person wants, the rest go straight to one job. */
182
+ exports.PLUGIN_COMMANDS_LINE = `Once installed, type /asks and say what you want, or go straight to one job: /asks:create (post an ask or a review, set up a company), /asks:jobs (find work), /asks:invite, /asks:manage, /asks:report (write a review report), /asks:profile, /asks:account, /asks:connect, /asks:help.`;
178
183
  exports.PLUGIN_WHERE = {
179
184
  "claude-code": `Claude Code ${exports.CLAUDE_CODE_ONE_STEP} or newer, typed inside a session:`,
180
185
  "claude-code-older": "An older Claude Code, two lines inside a session:",
181
186
  codex: "Codex, in a terminal:"
182
187
  };
183
- /** Both plugins as plain text, company first: who it is for, then each install's lines. */
188
+ /** The plugin as plain text: who it is for, then each install's lines. */
184
189
  function pluginPathsText(installs = exports.PLUGIN_INSTALLS) {
185
190
  return exports.PLUGIN_PATHS.map((path) => [`${path.who}: ${path.name}. ${path.what}`, ...installs.map((one) => `${exports.PLUGIN_WHERE[one]}\n${pluginLines(one, path.name)}`)].join("\n\n"));
186
191
  }
187
192
  /**
188
- * What the plugin brings and which network it starts on, said for the site at
189
- * `network`: on mainnet, how to get the test network instead; on the test
190
- * network, that the client has to be started for it.
193
+ * What the plugin brings and which network to use, said for the site at `network`. One server serves both: every
194
+ * tool takes `network`, so there is nothing to set at install.
191
195
  */
192
196
  function pluginNetworkNote(network) {
193
- const what = "Each plugin brings the server and its skill.";
194
- const codex = `In Codex the plugins are always mainnet; for the test network there, use the config.toml lines.`;
195
- return network === exports.PLUGIN_NETWORK_DEFAULT
196
- ? `${what} They start on mainnet, where rewards are paid in IXO or USDC. To try the test network, where coins have no value, start Claude Code with ${exports.PLUGIN_NETWORK_ENV}=testnet set in its shell (${exports.PLUGIN_NETWORK_ENV}=testnet claude). ${codex}`
197
- : `${what} This site is the test network, where coins have no value, and the plugins start on mainnet: start Claude Code with ${exports.PLUGIN_NETWORK_ENV}=testnet (${exports.PLUGIN_NETWORK_ENV}=testnet claude) so it matches. ${codex}`;
197
+ const what = "The plugin brings the server and its skill, for both networks. Every action names one: the real network (`mainnet`) or the sandbox (`testnet`, a dry run with play money).";
198
+ return isTest(network) ? `This site is the sandbox. Install ${exports.PLUGIN_NAME}. ${what} Here, use it with \`testnet\` (a dry run, play money).` : what;
198
199
  }
199
200
  /**
200
201
  * The hosted server, for a client that cannot run a local one. It reads the
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/data/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/data/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * The one way an amount becomes words.
3
+ *
4
+ * Every coin that is held at a dollar (PAY, and USDC in both its denoms) is shown as dollars: `$12.00`, never a
5
+ * ticker. A reader who chose a currency sees it beside the dollars, `≈ €11.20`, with `≈` because a reference rate
6
+ * is not the amount that moved. Sandbox money looks exactly like real money: the page's band says what it is, and
7
+ * the number wears no second disclaimer.
8
+ *
9
+ * IXO floats, so it has no dollar face. An old IXO amount in the sandbox is play money and is faced 1:1, marked
10
+ * approximate; on the real network it is said as itself, "12.5 IXO", never with a `$`.
11
+ *
12
+ * A leaf: no import, so a page that only shows amounts pays for this file and nothing behind it.
13
+ */
14
+ /** What an amount says: the dollar face, the reader's currency beside it (or null), and the hover. */
15
+ export interface MoneyFace {
16
+ face: string;
17
+ local: string | null;
18
+ approx: boolean;
19
+ title: string;
20
+ }
21
+ /** Who is reading: the currency they chose (and its rate, units per dollar), and whether this is the sandbox. */
22
+ export interface Viewer {
23
+ currency?: string;
24
+ rate?: number | null;
25
+ sandbox: boolean;
26
+ }
27
+ /** The denoms held at one US dollar, each six decimals: 1 000 000 base units = $1. */
28
+ export declare const DOLLAR_DENOMS: ReadonlySet<string>;
29
+ /** A display amount in dollars, as every page writes one: `0.5` → "$0.50", `0.000001` → "$0.000001". */
30
+ export declare function dollars(value: number): string;
31
+ /**
32
+ * `base` units of `denom`, in words for `viewer`, or null when it has no honest face: a coin this file does not know
33
+ * (the caller says *see the record*), or an amount that is not one.
34
+ */
35
+ export declare function money(base: bigint | number | string, denom: string, viewer: Viewer): MoneyFace | null;
36
+ //# sourceMappingURL=money.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../../../src/data/money.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,sGAAsG;AACtG,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iHAAiH;AACjH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAMD,sFAAsF;AACtF,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAAsD,CAAC;AASrG,wGAAwG;AACxG,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7C;AA0CD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAWrG"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /**
3
+ * The one way an amount becomes words.
4
+ *
5
+ * Every coin that is held at a dollar (PAY, and USDC in both its denoms) is shown as dollars: `$12.00`, never a
6
+ * ticker. A reader who chose a currency sees it beside the dollars, `≈ €11.20`, with `≈` because a reference rate
7
+ * is not the amount that moved. Sandbox money looks exactly like real money: the page's band says what it is, and
8
+ * the number wears no second disclaimer.
9
+ *
10
+ * IXO floats, so it has no dollar face. An old IXO amount in the sandbox is play money and is faced 1:1, marked
11
+ * approximate; on the real network it is said as itself, "12.5 IXO", never with a `$`.
12
+ *
13
+ * A leaf: no import, so a page that only shows amounts pays for this file and nothing behind it.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.DOLLAR_DENOMS = void 0;
17
+ exports.dollars = dollars;
18
+ exports.money = money;
19
+ /* The literals of `chain/money.ts`, inlined: importing it brings `given.ts` into every page that shows an amount. */
20
+ const USDC_MAINNET = "ibc/77C12480BD8C29BF0ACEC2143736C15BAF8CD232CA27BAE09336677B828955E6";
21
+ const USDC_NOBLE_LEGACY = "ibc/6BBE9BD4246F8E04948D5A4EEE7164B2630263B9EBB5E7DC5F0A46C62A2FF97B";
22
+ /** The denoms held at one US dollar, each six decimals: 1 000 000 base units = $1. */
23
+ exports.DOLLAR_DENOMS = new Set(["upay", USDC_MAINNET, USDC_NOBLE_LEGACY]);
24
+ const MICRO = 1000000n;
25
+ /* Places after the point: two for money, four under a dollar (a tenth of a cent is a real payout here), six (the
26
+ micro-unit, the chain's smallest amount) under a hundredth of a cent, so nothing that is not zero prints as $0.00.
27
+ The same rule as `fractionFor` in format.ts and `Amount`'s own, kept here so this file imports nothing. */
28
+ const placesFor = (value) => (value === 0 ? 2 : Math.abs(value) < 0.0001 ? 6 : Math.abs(value) < 1 ? 4 : 2);
29
+ /** A display amount in dollars, as every page writes one: `0.5` → "$0.50", `0.000001` → "$0.000001". */
30
+ function dollars(value) {
31
+ const sign = value < 0 ? "-" : "";
32
+ return `${sign}$${Math.abs(value).toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: placesFor(value) })}`;
33
+ }
34
+ /** IXO floats, so it is said as itself: `12.5` → "12.5 IXO". */
35
+ const ixoWords = (value) => `${value.toLocaleString("en-US", { maximumFractionDigits: placesFor(value) })} IXO`;
36
+ const IXO_TITLE = "IXO, the network's own coin, not a dollar coin";
37
+ /* Base units, exactly, or null: an integer number (a safe one), a bigint, or a string of digits. */
38
+ function baseOf(base) {
39
+ if (typeof base === "bigint")
40
+ return base;
41
+ if (typeof base === "number")
42
+ return Number.isSafeInteger(base) ? BigInt(base) : null;
43
+ return /^-?\d+$/.test(base.trim()) ? BigInt(base.trim()) : null;
44
+ }
45
+ /*
46
+ * A whole-dollar amount and up, in bigint arithmetic from start to end: rounded to the cent (half up), the dollars
47
+ * grouped by Intl from the bigint itself. A float never holds the amount, so a figure beyond 2^53 base units keeps
48
+ * every digit. Under a dollar the value is under 10^6 base units, where a float is exact enough for four or six places.
49
+ */
50
+ function dollarsOfBase(base) {
51
+ const negative = base < 0n;
52
+ const size = negative ? -base : base;
53
+ if (size < MICRO)
54
+ return dollars(Number(base) / 1e6);
55
+ const cents = (size + 5000n) / 10000n;
56
+ const whole = (cents / 100n).toLocaleString("en-US");
57
+ const fraction = String(cents % 100n).padStart(2, "0");
58
+ return `${negative ? "-" : ""}$${whole}.${fraction}`;
59
+ }
60
+ /* `≈ €11.20`, or null: no currency chosen, dollars chosen, no rate, a code Intl refuses, or under a cent converted. */
61
+ function localOf(base, viewer) {
62
+ const { currency, rate } = viewer;
63
+ if (!currency || currency === "USD" || !rate || !Number.isFinite(rate) || rate <= 0)
64
+ return null;
65
+ /* Cents as a number: exact for any amount a person holds; the conversion is a reference rate anyway. */
66
+ const value = (Number(base / 10000n) / 100) * rate;
67
+ if (Math.abs(value) < 0.01)
68
+ return null;
69
+ try {
70
+ return `≈ ${new Intl.NumberFormat(undefined, { style: "currency", currency, maximumFractionDigits: 2 }).format(value)}`;
71
+ }
72
+ catch {
73
+ return null;
74
+ }
75
+ }
76
+ /**
77
+ * `base` units of `denom`, in words for `viewer`, or null when it has no honest face: a coin this file does not know
78
+ * (the caller says *see the record*), or an amount that is not one.
79
+ */
80
+ function money(base, denom, viewer) {
81
+ const exact = baseOf(base);
82
+ if (exact === null)
83
+ return null;
84
+ if (exports.DOLLAR_DENOMS.has(denom)) {
85
+ const face = dollarsOfBase(exact);
86
+ return { face, local: localOf(exact, viewer), approx: false, title: `${face} in US dollars` };
87
+ }
88
+ /* Test IXO in the sandbox: play money, faced 1:1; `approx` lets a page mark it, and the fold says what it is. */
89
+ if (denom === "uixo" && viewer.sandbox)
90
+ return { face: dollarsOfBase(exact), local: null, approx: true, title: "sandbox amount" };
91
+ if (denom === "uixo")
92
+ return { face: ixoWords(Number(exact) / 1e6), local: null, approx: false, title: IXO_TITLE };
93
+ return null;
94
+ }
95
+ //# sourceMappingURL=money.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money.js","sourceRoot":"","sources":["../../../src/data/money.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,21 @@ export type AskDoor = Openness | {
68
68
  * this gate. An RPC that fails yields an empty set, which shows no door — the
69
69
  * safe direction, since the gate would refuse anyway.
70
70
  */
71
+ /**
72
+ * The door, with the screen's word on it (Part C): `held` is a person looking
73
+ * first; `refused` is not carried here at all. `reason` is the sentence kept
74
+ * with the ruling — the phrase rules' own, or a moderator's — when the board
75
+ * gave one. Answered server-side (`doorFor` in the app), never by `askDoor`,
76
+ * which reads the chain alone.
77
+ */
78
+ export type ScreenedDoor = AskDoor | {
79
+ open: false;
80
+ why: "held" | "refused";
81
+ reason: string | null;
82
+ } | {
83
+ open: false;
84
+ why: "unfunded";
85
+ };
71
86
  export declare function askDoor(ask: AskWindow & {
72
87
  admin?: string | null;
73
88
  }, authorized: ReadonlySet<string>, now?: Date): AskDoor;
@@ -89,5 +104,6 @@ export declare function askDoor(ask: AskWindow & {
89
104
  export declare function standingLine(ask: AskWindow & {
90
105
  count: number;
91
106
  rejected: number;
92
- }, openness?: AskDoor): string;
107
+ approver?: string | null;
108
+ }, openness?: ScreenedDoor): string;
93
109
  //# sourceMappingURL=openness.d.ts.map