@ixo/openhands-sdk 0.4.0 → 0.5.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 (510) 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.d.ts.map +1 -1
  5. package/dist/cjs/campaign/funding.js +1 -1
  6. package/dist/cjs/campaign/funding.js.map +1 -1
  7. package/dist/cjs/campaign/pool.js +3 -3
  8. package/dist/cjs/campaign/pool.js.map +1 -1
  9. package/dist/cjs/campaign/record.d.ts.map +1 -1
  10. package/dist/cjs/campaign/record.js +1 -1
  11. package/dist/cjs/campaign/record.js.map +1 -1
  12. package/dist/cjs/campaign/spot.d.ts.map +1 -1
  13. package/dist/cjs/campaign/spot.js +2 -1
  14. package/dist/cjs/campaign/spot.js.map +1 -1
  15. package/dist/cjs/campaign/spots.js +4 -4
  16. package/dist/cjs/campaign/spots.js.map +1 -1
  17. package/dist/cjs/campaign/treasurySends.d.ts.map +1 -1
  18. package/dist/cjs/campaign/treasurySends.js +3 -3
  19. package/dist/cjs/campaign/treasurySends.js.map +1 -1
  20. package/dist/cjs/chain/ask.d.ts +17 -0
  21. package/dist/cjs/chain/ask.d.ts.map +1 -1
  22. package/dist/cjs/chain/ask.js +27 -10
  23. package/dist/cjs/chain/ask.js.map +1 -1
  24. package/dist/cjs/chain/broadcast.d.ts.map +1 -1
  25. package/dist/cjs/chain/broadcast.js +6 -4
  26. package/dist/cjs/chain/broadcast.js.map +1 -1
  27. package/dist/cjs/chain/claimVerdict.d.ts +26 -0
  28. package/dist/cjs/chain/claimVerdict.d.ts.map +1 -0
  29. package/dist/cjs/chain/claimVerdict.js +33 -0
  30. package/dist/cjs/chain/claimVerdict.js.map +1 -0
  31. package/dist/cjs/chain/delegate.d.ts +46 -3
  32. package/dist/cjs/chain/delegate.d.ts.map +1 -1
  33. package/dist/cjs/chain/delegate.js +68 -6
  34. package/dist/cjs/chain/delegate.js.map +1 -1
  35. package/dist/cjs/chain/entityShape.d.ts +6 -0
  36. package/dist/cjs/chain/entityShape.d.ts.map +1 -1
  37. package/dist/cjs/chain/entityShape.js +24 -4
  38. package/dist/cjs/chain/entityShape.js.map +1 -1
  39. package/dist/cjs/chain/env.d.ts +1 -0
  40. package/dist/cjs/chain/env.d.ts.map +1 -1
  41. package/dist/cjs/chain/env.js +9 -1
  42. package/dist/cjs/chain/env.js.map +1 -1
  43. package/dist/cjs/chain/inviteMessages.d.ts +183 -0
  44. package/dist/cjs/chain/inviteMessages.d.ts.map +1 -0
  45. package/dist/cjs/chain/inviteMessages.js +289 -0
  46. package/dist/cjs/chain/inviteMessages.js.map +1 -0
  47. package/dist/cjs/chain/inviteProof.d.ts +121 -0
  48. package/dist/cjs/chain/inviteProof.d.ts.map +1 -0
  49. package/dist/cjs/chain/inviteProof.js +297 -0
  50. package/dist/cjs/chain/inviteProof.js.map +1 -0
  51. package/dist/cjs/chain/lane.d.ts +148 -0
  52. package/dist/cjs/chain/lane.d.ts.map +1 -0
  53. package/dist/cjs/chain/lane.js +220 -0
  54. package/dist/cjs/chain/lane.js.map +1 -0
  55. package/dist/cjs/chain/money.d.ts +12 -4
  56. package/dist/cjs/chain/money.d.ts.map +1 -1
  57. package/dist/cjs/chain/money.js +20 -7
  58. package/dist/cjs/chain/money.js.map +1 -1
  59. package/dist/cjs/chain/oracle.d.ts +2 -0
  60. package/dist/cjs/chain/oracle.d.ts.map +1 -1
  61. package/dist/cjs/chain/oracle.js +1 -1
  62. package/dist/cjs/chain/oracle.js.map +1 -1
  63. package/dist/cjs/chain/orgReviewBilling.js +1 -1
  64. package/dist/cjs/chain/orgReviewBilling.js.map +1 -1
  65. package/dist/cjs/chain/payoutTerms.d.ts.map +1 -1
  66. package/dist/cjs/chain/payoutTerms.js +1 -1
  67. package/dist/cjs/chain/payoutTerms.js.map +1 -1
  68. package/dist/cjs/chain/personReview.d.ts +218 -0
  69. package/dist/cjs/chain/personReview.d.ts.map +1 -0
  70. package/dist/cjs/chain/personReview.js +379 -0
  71. package/dist/cjs/chain/personReview.js.map +1 -0
  72. package/dist/cjs/chain/postFee.d.ts +11 -0
  73. package/dist/cjs/chain/postFee.d.ts.map +1 -0
  74. package/dist/cjs/chain/postFee.js +14 -0
  75. package/dist/cjs/chain/postFee.js.map +1 -0
  76. package/dist/cjs/chain/query.d.ts +55 -2
  77. package/dist/cjs/chain/query.d.ts.map +1 -1
  78. package/dist/cjs/chain/query.js +144 -8
  79. package/dist/cjs/chain/query.js.map +1 -1
  80. package/dist/cjs/chain/reviewBilling.d.ts +3 -27
  81. package/dist/cjs/chain/reviewBilling.d.ts.map +1 -1
  82. package/dist/cjs/chain/reviewBilling.js +5 -112
  83. package/dist/cjs/chain/reviewBilling.js.map +1 -1
  84. package/dist/cjs/chain.d.ts +2 -2
  85. package/dist/cjs/chain.d.ts.map +1 -1
  86. package/dist/cjs/chain.js +7 -2
  87. package/dist/cjs/chain.js.map +1 -1
  88. package/dist/cjs/config.d.ts +11 -2
  89. package/dist/cjs/config.d.ts.map +1 -1
  90. package/dist/cjs/config.js +5 -1
  91. package/dist/cjs/config.js.map +1 -1
  92. package/dist/cjs/data/agent.d.ts +2 -0
  93. package/dist/cjs/data/agent.d.ts.map +1 -1
  94. package/dist/cjs/data/agent.js +1 -0
  95. package/dist/cjs/data/agent.js.map +1 -1
  96. package/dist/cjs/data/board/assemble.d.ts +7 -2
  97. package/dist/cjs/data/board/assemble.d.ts.map +1 -1
  98. package/dist/cjs/data/board/assemble.js +76 -10
  99. package/dist/cjs/data/board/assemble.js.map +1 -1
  100. package/dist/cjs/data/board/facts.d.ts +2 -0
  101. package/dist/cjs/data/board/facts.d.ts.map +1 -1
  102. package/dist/cjs/data/board/facts.js +2 -1
  103. package/dist/cjs/data/board/facts.js.map +1 -1
  104. package/dist/cjs/data/board/read.d.ts +27 -3
  105. package/dist/cjs/data/board/read.d.ts.map +1 -1
  106. package/dist/cjs/data/board/read.js +122 -8
  107. package/dist/cjs/data/board/read.js.map +1 -1
  108. package/dist/cjs/data/board/types.d.ts +77 -5
  109. package/dist/cjs/data/board/types.d.ts.map +1 -1
  110. package/dist/cjs/data/board/types.js +5 -3
  111. package/dist/cjs/data/board/types.js.map +1 -1
  112. package/dist/cjs/data/checkers.d.ts +169 -0
  113. package/dist/cjs/data/checkers.d.ts.map +1 -0
  114. package/dist/cjs/data/checkers.js +354 -0
  115. package/dist/cjs/data/checkers.js.map +1 -0
  116. package/dist/cjs/data/checkersRead.d.ts +58 -0
  117. package/dist/cjs/data/checkersRead.d.ts.map +1 -0
  118. package/dist/cjs/data/checkersRead.js +263 -0
  119. package/dist/cjs/data/checkersRead.js.map +1 -0
  120. package/dist/cjs/data/denoms.d.ts.map +1 -1
  121. package/dist/cjs/data/denoms.js +1 -0
  122. package/dist/cjs/data/denoms.js.map +1 -1
  123. package/dist/cjs/data/docUrls.d.ts +2 -0
  124. package/dist/cjs/data/docUrls.d.ts.map +1 -1
  125. package/dist/cjs/data/docUrls.js +4 -1
  126. package/dist/cjs/data/docUrls.js.map +1 -1
  127. package/dist/cjs/data/docs.d.ts +3 -1
  128. package/dist/cjs/data/docs.d.ts.map +1 -1
  129. package/dist/cjs/data/docs.js +15 -2
  130. package/dist/cjs/data/docs.js.map +1 -1
  131. package/dist/cjs/data/engine.d.ts.map +1 -1
  132. package/dist/cjs/data/engine.js +12 -5
  133. package/dist/cjs/data/engine.js.map +1 -1
  134. package/dist/cjs/data/engineUrl.js +1 -1
  135. package/dist/cjs/data/engineUrl.js.map +1 -1
  136. package/dist/cjs/data/envelope.d.ts +18 -0
  137. package/dist/cjs/data/envelope.d.ts.map +1 -1
  138. package/dist/cjs/data/envelope.js +16 -1
  139. package/dist/cjs/data/envelope.js.map +1 -1
  140. package/dist/cjs/data/format.d.ts +18 -0
  141. package/dist/cjs/data/format.d.ts.map +1 -1
  142. package/dist/cjs/data/format.js +32 -2
  143. package/dist/cjs/data/format.js.map +1 -1
  144. package/dist/cjs/data/index.d.ts +2 -2
  145. package/dist/cjs/data/index.d.ts.map +1 -1
  146. package/dist/cjs/data/index.js +2 -1
  147. package/dist/cjs/data/index.js.map +1 -1
  148. package/dist/cjs/data/install.d.ts +63 -33
  149. package/dist/cjs/data/install.d.ts.map +1 -1
  150. package/dist/cjs/data/install.js +88 -45
  151. package/dist/cjs/data/install.js.map +1 -1
  152. package/dist/cjs/data/openness.d.ts +14 -1
  153. package/dist/cjs/data/openness.d.ts.map +1 -1
  154. package/dist/cjs/data/openness.js +14 -26
  155. package/dist/cjs/data/openness.js.map +1 -1
  156. package/dist/cjs/data/queue.d.ts +26 -0
  157. package/dist/cjs/data/queue.d.ts.map +1 -1
  158. package/dist/cjs/data/queue.js +57 -12
  159. package/dist/cjs/data/queue.js.map +1 -1
  160. package/dist/cjs/data/receipt.d.ts +19 -0
  161. package/dist/cjs/data/receipt.d.ts.map +1 -1
  162. package/dist/cjs/data/receipt.js +22 -5
  163. package/dist/cjs/data/receipt.js.map +1 -1
  164. package/dist/cjs/data/threads.d.ts +2 -0
  165. package/dist/cjs/data/threads.d.ts.map +1 -1
  166. package/dist/cjs/data/threads.js +3 -1
  167. package/dist/cjs/data/threads.js.map +1 -1
  168. package/dist/cjs/data/traceWords.js +1 -1
  169. package/dist/cjs/data/traceWords.js.map +1 -1
  170. package/dist/cjs/data/types.d.ts +6 -1
  171. package/dist/cjs/data/types.d.ts.map +1 -1
  172. package/dist/cjs/data/types.js.map +1 -1
  173. package/dist/cjs/data/whyReceipt.d.ts.map +1 -1
  174. package/dist/cjs/data/whyReceipt.js +10 -1
  175. package/dist/cjs/data/whyReceipt.js.map +1 -1
  176. package/dist/cjs/data/work.d.ts +5 -0
  177. package/dist/cjs/data/work.d.ts.map +1 -1
  178. package/dist/cjs/data/work.js +11 -5
  179. package/dist/cjs/data/work.js.map +1 -1
  180. package/dist/cjs/discovery.d.ts +64 -0
  181. package/dist/cjs/discovery.d.ts.map +1 -0
  182. package/dist/cjs/discovery.js +85 -0
  183. package/dist/cjs/discovery.js.map +1 -0
  184. package/dist/cjs/envRead.d.ts +1 -1
  185. package/dist/cjs/envRead.d.ts.map +1 -1
  186. package/dist/cjs/envRead.js +2 -1
  187. package/dist/cjs/envRead.js.map +1 -1
  188. package/dist/cjs/given.d.ts +14 -0
  189. package/dist/cjs/given.d.ts.map +1 -1
  190. package/dist/cjs/given.js +14 -2
  191. package/dist/cjs/given.js.map +1 -1
  192. package/dist/cjs/network.d.ts +3 -1
  193. package/dist/cjs/network.d.ts.map +1 -1
  194. package/dist/cjs/network.js +11 -3
  195. package/dist/cjs/network.js.map +1 -1
  196. package/dist/cjs/rubric/bridge.d.ts +8 -0
  197. package/dist/cjs/rubric/bridge.d.ts.map +1 -1
  198. package/dist/cjs/rubric/bridge.js +107 -8
  199. package/dist/cjs/rubric/bridge.js.map +1 -1
  200. package/dist/cjs/rubric/call.d.ts +35 -8
  201. package/dist/cjs/rubric/call.d.ts.map +1 -1
  202. package/dist/cjs/rubric/call.js +62 -20
  203. package/dist/cjs/rubric/call.js.map +1 -1
  204. package/dist/cjs/rubric/callTag.d.ts +5 -0
  205. package/dist/cjs/rubric/callTag.d.ts.map +1 -0
  206. package/dist/cjs/rubric/callTag.js +17 -0
  207. package/dist/cjs/rubric/callTag.js.map +1 -0
  208. package/dist/cjs/rubric/compose.d.ts.map +1 -1
  209. package/dist/cjs/rubric/compose.js +5 -3
  210. package/dist/cjs/rubric/compose.js.map +1 -1
  211. package/dist/cjs/rubric/draft.d.ts +9 -1
  212. package/dist/cjs/rubric/draft.d.ts.map +1 -1
  213. package/dist/cjs/rubric/draft.js +24 -2
  214. package/dist/cjs/rubric/draft.js.map +1 -1
  215. package/dist/cjs/rubric/gateMet.d.ts +17 -0
  216. package/dist/cjs/rubric/gateMet.d.ts.map +1 -1
  217. package/dist/cjs/rubric/gateMet.js +36 -3
  218. package/dist/cjs/rubric/gateMet.js.map +1 -1
  219. package/dist/cjs/rubric/leg.js +3 -3
  220. package/dist/cjs/rubric/leg.js.map +1 -1
  221. package/dist/cjs/rubric/marketPlan.d.ts +2 -0
  222. package/dist/cjs/rubric/marketPlan.d.ts.map +1 -1
  223. package/dist/cjs/rubric/marketPlan.js.map +1 -1
  224. package/dist/cjs/rubric/planAsk.d.ts +23 -0
  225. package/dist/cjs/rubric/planAsk.d.ts.map +1 -0
  226. package/dist/cjs/rubric/planAsk.js +24 -0
  227. package/dist/cjs/rubric/planAsk.js.map +1 -0
  228. package/dist/cjs/rubric/report.d.ts +208 -0
  229. package/dist/cjs/rubric/report.d.ts.map +1 -0
  230. package/dist/cjs/rubric/report.js +384 -0
  231. package/dist/cjs/rubric/report.js.map +1 -0
  232. package/dist/cjs/rubric/reportLine.d.ts +31 -0
  233. package/dist/cjs/rubric/reportLine.d.ts.map +1 -0
  234. package/dist/cjs/rubric/reportLine.js +45 -0
  235. package/dist/cjs/rubric/reportLine.js.map +1 -0
  236. package/dist/cjs/rubric/reportTemplate.d.ts +30 -0
  237. package/dist/cjs/rubric/reportTemplate.d.ts.map +1 -0
  238. package/dist/cjs/rubric/reportTemplate.js +78 -0
  239. package/dist/cjs/rubric/reportTemplate.js.map +1 -0
  240. package/dist/cjs/rubric/share.d.ts +46 -0
  241. package/dist/cjs/rubric/share.d.ts.map +1 -0
  242. package/dist/cjs/rubric/share.js +65 -0
  243. package/dist/cjs/rubric/share.js.map +1 -0
  244. package/dist/cjs/rubric/terms.d.ts +76 -2
  245. package/dist/cjs/rubric/terms.d.ts.map +1 -1
  246. package/dist/cjs/rubric/terms.js +84 -4
  247. package/dist/cjs/rubric/terms.js.map +1 -1
  248. package/dist/cjs/verification/profile.d.ts +28 -0
  249. package/dist/cjs/verification/profile.d.ts.map +1 -0
  250. package/dist/cjs/verification/profile.js +126 -0
  251. package/dist/cjs/verification/profile.js.map +1 -0
  252. package/dist/cjs/verification/schema.d.ts +54 -0
  253. package/dist/cjs/verification/schema.d.ts.map +1 -0
  254. package/dist/cjs/verification/schema.js +49 -0
  255. package/dist/cjs/verification/schema.js.map +1 -0
  256. package/dist/esm/campaign/cleanup.js +1 -1
  257. package/dist/esm/campaign/cleanup.js.map +1 -1
  258. package/dist/esm/campaign/funding.d.ts.map +1 -1
  259. package/dist/esm/campaign/funding.js +2 -2
  260. package/dist/esm/campaign/funding.js.map +1 -1
  261. package/dist/esm/campaign/pool.js +3 -3
  262. package/dist/esm/campaign/pool.js.map +1 -1
  263. package/dist/esm/campaign/record.d.ts.map +1 -1
  264. package/dist/esm/campaign/record.js +2 -2
  265. package/dist/esm/campaign/record.js.map +1 -1
  266. package/dist/esm/campaign/spot.d.ts.map +1 -1
  267. package/dist/esm/campaign/spot.js +2 -1
  268. package/dist/esm/campaign/spot.js.map +1 -1
  269. package/dist/esm/campaign/spots.js +4 -4
  270. package/dist/esm/campaign/spots.js.map +1 -1
  271. package/dist/esm/campaign/treasurySends.d.ts.map +1 -1
  272. package/dist/esm/campaign/treasurySends.js +4 -4
  273. package/dist/esm/campaign/treasurySends.js.map +1 -1
  274. package/dist/esm/chain/ask.d.ts +17 -0
  275. package/dist/esm/chain/ask.d.ts.map +1 -1
  276. package/dist/esm/chain/ask.js +29 -12
  277. package/dist/esm/chain/ask.js.map +1 -1
  278. package/dist/esm/chain/broadcast.d.ts.map +1 -1
  279. package/dist/esm/chain/broadcast.js +7 -5
  280. package/dist/esm/chain/broadcast.js.map +1 -1
  281. package/dist/esm/chain/claimVerdict.d.ts +26 -0
  282. package/dist/esm/chain/claimVerdict.d.ts.map +1 -0
  283. package/dist/esm/chain/claimVerdict.js +30 -0
  284. package/dist/esm/chain/claimVerdict.js.map +1 -0
  285. package/dist/esm/chain/delegate.d.ts +46 -3
  286. package/dist/esm/chain/delegate.d.ts.map +1 -1
  287. package/dist/esm/chain/delegate.js +60 -5
  288. package/dist/esm/chain/delegate.js.map +1 -1
  289. package/dist/esm/chain/entityShape.d.ts +6 -0
  290. package/dist/esm/chain/entityShape.d.ts.map +1 -1
  291. package/dist/esm/chain/entityShape.js +20 -3
  292. package/dist/esm/chain/entityShape.js.map +1 -1
  293. package/dist/esm/chain/env.d.ts +1 -0
  294. package/dist/esm/chain/env.d.ts.map +1 -1
  295. package/dist/esm/chain/env.js +7 -0
  296. package/dist/esm/chain/env.js.map +1 -1
  297. package/dist/esm/chain/inviteMessages.d.ts +183 -0
  298. package/dist/esm/chain/inviteMessages.d.ts.map +1 -0
  299. package/dist/esm/chain/inviteMessages.js +246 -0
  300. package/dist/esm/chain/inviteMessages.js.map +1 -0
  301. package/dist/esm/chain/inviteProof.d.ts +121 -0
  302. package/dist/esm/chain/inviteProof.d.ts.map +1 -0
  303. package/dist/esm/chain/inviteProof.js +278 -0
  304. package/dist/esm/chain/inviteProof.js.map +1 -0
  305. package/dist/esm/chain/lane.d.ts +148 -0
  306. package/dist/esm/chain/lane.d.ts.map +1 -0
  307. package/dist/esm/chain/lane.js +170 -0
  308. package/dist/esm/chain/lane.js.map +1 -0
  309. package/dist/esm/chain/money.d.ts +12 -4
  310. package/dist/esm/chain/money.d.ts.map +1 -1
  311. package/dist/esm/chain/money.js +19 -7
  312. package/dist/esm/chain/money.js.map +1 -1
  313. package/dist/esm/chain/oracle.d.ts +2 -0
  314. package/dist/esm/chain/oracle.d.ts.map +1 -1
  315. package/dist/esm/chain/oracle.js +1 -1
  316. package/dist/esm/chain/oracle.js.map +1 -1
  317. package/dist/esm/chain/orgReviewBilling.js +1 -1
  318. package/dist/esm/chain/orgReviewBilling.js.map +1 -1
  319. package/dist/esm/chain/payoutTerms.d.ts.map +1 -1
  320. package/dist/esm/chain/payoutTerms.js +1 -1
  321. package/dist/esm/chain/payoutTerms.js.map +1 -1
  322. package/dist/esm/chain/personReview.d.ts +218 -0
  323. package/dist/esm/chain/personReview.d.ts.map +1 -0
  324. package/dist/esm/chain/personReview.js +322 -0
  325. package/dist/esm/chain/personReview.js.map +1 -0
  326. package/dist/esm/chain/postFee.d.ts +11 -0
  327. package/dist/esm/chain/postFee.d.ts.map +1 -0
  328. package/dist/esm/chain/postFee.js +11 -0
  329. package/dist/esm/chain/postFee.js.map +1 -0
  330. package/dist/esm/chain/query.d.ts +55 -2
  331. package/dist/esm/chain/query.d.ts.map +1 -1
  332. package/dist/esm/chain/query.js +136 -8
  333. package/dist/esm/chain/query.js.map +1 -1
  334. package/dist/esm/chain/reviewBilling.d.ts +3 -27
  335. package/dist/esm/chain/reviewBilling.d.ts.map +1 -1
  336. package/dist/esm/chain/reviewBilling.js +5 -108
  337. package/dist/esm/chain/reviewBilling.js.map +1 -1
  338. package/dist/esm/chain.d.ts +2 -2
  339. package/dist/esm/chain.d.ts.map +1 -1
  340. package/dist/esm/chain.js +2 -2
  341. package/dist/esm/chain.js.map +1 -1
  342. package/dist/esm/config.d.ts +11 -2
  343. package/dist/esm/config.d.ts.map +1 -1
  344. package/dist/esm/config.js +6 -2
  345. package/dist/esm/config.js.map +1 -1
  346. package/dist/esm/data/agent.d.ts +2 -0
  347. package/dist/esm/data/agent.d.ts.map +1 -1
  348. package/dist/esm/data/agent.js +1 -0
  349. package/dist/esm/data/agent.js.map +1 -1
  350. package/dist/esm/data/board/assemble.d.ts +7 -2
  351. package/dist/esm/data/board/assemble.d.ts.map +1 -1
  352. package/dist/esm/data/board/assemble.js +73 -9
  353. package/dist/esm/data/board/assemble.js.map +1 -1
  354. package/dist/esm/data/board/facts.d.ts +2 -0
  355. package/dist/esm/data/board/facts.d.ts.map +1 -1
  356. package/dist/esm/data/board/facts.js +2 -1
  357. package/dist/esm/data/board/facts.js.map +1 -1
  358. package/dist/esm/data/board/read.d.ts +27 -3
  359. package/dist/esm/data/board/read.d.ts.map +1 -1
  360. package/dist/esm/data/board/read.js +123 -10
  361. package/dist/esm/data/board/read.js.map +1 -1
  362. package/dist/esm/data/board/types.d.ts +77 -5
  363. package/dist/esm/data/board/types.d.ts.map +1 -1
  364. package/dist/esm/data/board/types.js +5 -3
  365. package/dist/esm/data/board/types.js.map +1 -1
  366. package/dist/esm/data/checkers.d.ts +169 -0
  367. package/dist/esm/data/checkers.d.ts.map +1 -0
  368. package/dist/esm/data/checkers.js +304 -0
  369. package/dist/esm/data/checkers.js.map +1 -0
  370. package/dist/esm/data/checkersRead.d.ts +58 -0
  371. package/dist/esm/data/checkersRead.d.ts.map +1 -0
  372. package/dist/esm/data/checkersRead.js +252 -0
  373. package/dist/esm/data/checkersRead.js.map +1 -0
  374. package/dist/esm/data/denoms.d.ts.map +1 -1
  375. package/dist/esm/data/denoms.js +1 -0
  376. package/dist/esm/data/denoms.js.map +1 -1
  377. package/dist/esm/data/docUrls.d.ts +2 -0
  378. package/dist/esm/data/docUrls.d.ts.map +1 -1
  379. package/dist/esm/data/docUrls.js +2 -0
  380. package/dist/esm/data/docUrls.js.map +1 -1
  381. package/dist/esm/data/docs.d.ts +3 -1
  382. package/dist/esm/data/docs.d.ts.map +1 -1
  383. package/dist/esm/data/docs.js +15 -2
  384. package/dist/esm/data/docs.js.map +1 -1
  385. package/dist/esm/data/engine.d.ts.map +1 -1
  386. package/dist/esm/data/engine.js +12 -5
  387. package/dist/esm/data/engine.js.map +1 -1
  388. package/dist/esm/data/engineUrl.js +2 -2
  389. package/dist/esm/data/engineUrl.js.map +1 -1
  390. package/dist/esm/data/envelope.d.ts +18 -0
  391. package/dist/esm/data/envelope.d.ts.map +1 -1
  392. package/dist/esm/data/envelope.js +14 -0
  393. package/dist/esm/data/envelope.js.map +1 -1
  394. package/dist/esm/data/format.d.ts +18 -0
  395. package/dist/esm/data/format.d.ts.map +1 -1
  396. package/dist/esm/data/format.js +28 -1
  397. package/dist/esm/data/format.js.map +1 -1
  398. package/dist/esm/data/index.d.ts +2 -2
  399. package/dist/esm/data/index.d.ts.map +1 -1
  400. package/dist/esm/data/index.js +1 -1
  401. package/dist/esm/data/index.js.map +1 -1
  402. package/dist/esm/data/install.d.ts +63 -33
  403. package/dist/esm/data/install.d.ts.map +1 -1
  404. package/dist/esm/data/install.js +81 -44
  405. package/dist/esm/data/install.js.map +1 -1
  406. package/dist/esm/data/openness.d.ts +14 -1
  407. package/dist/esm/data/openness.d.ts.map +1 -1
  408. package/dist/esm/data/openness.js +14 -26
  409. package/dist/esm/data/openness.js.map +1 -1
  410. package/dist/esm/data/queue.d.ts +26 -0
  411. package/dist/esm/data/queue.d.ts.map +1 -1
  412. package/dist/esm/data/queue.js +50 -9
  413. package/dist/esm/data/queue.js.map +1 -1
  414. package/dist/esm/data/receipt.d.ts +19 -0
  415. package/dist/esm/data/receipt.d.ts.map +1 -1
  416. package/dist/esm/data/receipt.js +20 -4
  417. package/dist/esm/data/receipt.js.map +1 -1
  418. package/dist/esm/data/threads.d.ts +2 -0
  419. package/dist/esm/data/threads.d.ts.map +1 -1
  420. package/dist/esm/data/threads.js +3 -1
  421. package/dist/esm/data/threads.js.map +1 -1
  422. package/dist/esm/data/traceWords.js +1 -1
  423. package/dist/esm/data/traceWords.js.map +1 -1
  424. package/dist/esm/data/types.d.ts +6 -1
  425. package/dist/esm/data/types.d.ts.map +1 -1
  426. package/dist/esm/data/types.js.map +1 -1
  427. package/dist/esm/data/whyReceipt.d.ts.map +1 -1
  428. package/dist/esm/data/whyReceipt.js +10 -1
  429. package/dist/esm/data/whyReceipt.js.map +1 -1
  430. package/dist/esm/data/work.d.ts +5 -0
  431. package/dist/esm/data/work.d.ts.map +1 -1
  432. package/dist/esm/data/work.js +11 -5
  433. package/dist/esm/data/work.js.map +1 -1
  434. package/dist/esm/discovery.d.ts +64 -0
  435. package/dist/esm/discovery.d.ts.map +1 -0
  436. package/dist/esm/discovery.js +74 -0
  437. package/dist/esm/discovery.js.map +1 -0
  438. package/dist/esm/envRead.d.ts +1 -1
  439. package/dist/esm/envRead.d.ts.map +1 -1
  440. package/dist/esm/envRead.js +1 -1
  441. package/dist/esm/envRead.js.map +1 -1
  442. package/dist/esm/given.d.ts +14 -0
  443. package/dist/esm/given.d.ts.map +1 -1
  444. package/dist/esm/given.js +11 -1
  445. package/dist/esm/given.js.map +1 -1
  446. package/dist/esm/network.d.ts +3 -1
  447. package/dist/esm/network.d.ts.map +1 -1
  448. package/dist/esm/network.js +10 -3
  449. package/dist/esm/network.js.map +1 -1
  450. package/dist/esm/rubric/bridge.d.ts +8 -0
  451. package/dist/esm/rubric/bridge.d.ts.map +1 -1
  452. package/dist/esm/rubric/bridge.js +105 -7
  453. package/dist/esm/rubric/bridge.js.map +1 -1
  454. package/dist/esm/rubric/call.d.ts +35 -8
  455. package/dist/esm/rubric/call.d.ts.map +1 -1
  456. package/dist/esm/rubric/call.js +57 -16
  457. package/dist/esm/rubric/call.js.map +1 -1
  458. package/dist/esm/rubric/callTag.d.ts +5 -0
  459. package/dist/esm/rubric/callTag.d.ts.map +1 -0
  460. package/dist/esm/rubric/callTag.js +12 -0
  461. package/dist/esm/rubric/callTag.js.map +1 -0
  462. package/dist/esm/rubric/compose.d.ts.map +1 -1
  463. package/dist/esm/rubric/compose.js +5 -3
  464. package/dist/esm/rubric/compose.js.map +1 -1
  465. package/dist/esm/rubric/draft.d.ts +9 -1
  466. package/dist/esm/rubric/draft.d.ts.map +1 -1
  467. package/dist/esm/rubric/draft.js +23 -2
  468. package/dist/esm/rubric/draft.js.map +1 -1
  469. package/dist/esm/rubric/gateMet.d.ts +17 -0
  470. package/dist/esm/rubric/gateMet.d.ts.map +1 -1
  471. package/dist/esm/rubric/gateMet.js +34 -2
  472. package/dist/esm/rubric/gateMet.js.map +1 -1
  473. package/dist/esm/rubric/leg.js +4 -4
  474. package/dist/esm/rubric/leg.js.map +1 -1
  475. package/dist/esm/rubric/marketPlan.d.ts +2 -0
  476. package/dist/esm/rubric/marketPlan.d.ts.map +1 -1
  477. package/dist/esm/rubric/marketPlan.js.map +1 -1
  478. package/dist/esm/rubric/planAsk.d.ts +23 -0
  479. package/dist/esm/rubric/planAsk.d.ts.map +1 -0
  480. package/dist/esm/rubric/planAsk.js +20 -0
  481. package/dist/esm/rubric/planAsk.js.map +1 -0
  482. package/dist/esm/rubric/report.d.ts +208 -0
  483. package/dist/esm/rubric/report.d.ts.map +1 -0
  484. package/dist/esm/rubric/report.js +371 -0
  485. package/dist/esm/rubric/report.js.map +1 -0
  486. package/dist/esm/rubric/reportLine.d.ts +31 -0
  487. package/dist/esm/rubric/reportLine.d.ts.map +1 -0
  488. package/dist/esm/rubric/reportLine.js +40 -0
  489. package/dist/esm/rubric/reportLine.js.map +1 -0
  490. package/dist/esm/rubric/reportTemplate.d.ts +30 -0
  491. package/dist/esm/rubric/reportTemplate.d.ts.map +1 -0
  492. package/dist/esm/rubric/reportTemplate.js +74 -0
  493. package/dist/esm/rubric/reportTemplate.js.map +1 -0
  494. package/dist/esm/rubric/share.d.ts +46 -0
  495. package/dist/esm/rubric/share.d.ts.map +1 -0
  496. package/dist/esm/rubric/share.js +58 -0
  497. package/dist/esm/rubric/share.js.map +1 -0
  498. package/dist/esm/rubric/terms.d.ts +76 -2
  499. package/dist/esm/rubric/terms.d.ts.map +1 -1
  500. package/dist/esm/rubric/terms.js +78 -3
  501. package/dist/esm/rubric/terms.js.map +1 -1
  502. package/dist/esm/verification/profile.d.ts +28 -0
  503. package/dist/esm/verification/profile.d.ts.map +1 -0
  504. package/dist/esm/verification/profile.js +122 -0
  505. package/dist/esm/verification/profile.js.map +1 -0
  506. package/dist/esm/verification/schema.d.ts +54 -0
  507. package/dist/esm/verification/schema.d.ts.map +1 -0
  508. package/dist/esm/verification/schema.js +46 -0
  509. package/dist/esm/verification/schema.js.map +1 -0
  510. package/package.json +22 -2
@@ -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,24 +20,41 @@
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_INSTALLS = exports.PLUGIN_CLIENTS = exports.CLAUDE_CODE_ONE_STEP = exports.PLUGIN_NETWORK_ENV = exports.PLUGIN_NETWORK_DEFAULT = exports.HQ_INSTALL_LINES = exports.READ_ONLY_LINE = 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
+ exports.pluginPathsText = pluginPathsText;
26
27
  exports.pluginNetworkNote = pluginNetworkNote;
27
28
  exports.hostedLines = hostedLines;
28
29
  /** The npm package the bundled server ships as (the plugin plan's A2). */
29
- exports.MCP_PACKAGE = "@ixo/openhands-mcp";
30
- /** The name a client registers the server under; tools appear as `mcp__openhands-network__*`. */
31
- 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";
32
33
  /**
33
- * The major an install pins. semantic-release publishes the package
34
- * (docs/RELEASING-MCP.md) and a breaking change moves the major, so `npx -y
35
- * @ixo/openhands-mcp@1` takes every fix and feature of 1.x and never a
36
- * 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.
37
36
  */
38
- exports.MCP_MAJOR = 1;
37
+ exports.MCP_TAG = "latest";
39
38
  /** What `npx` is told to run. */
40
- 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;
41
58
  /**
42
59
  * The hosted server's path on every deployment's own origin: read-only,
43
60
  * unauthenticated, and the protocol surface the `/v1/` prefix versions
@@ -53,7 +70,7 @@ const PACKAGE_ENTRY = { kind: "package" };
53
70
  /** The command and its arguments, as every client wants them. */
54
71
  function command(entry) {
55
72
  return entry.kind === "package"
56
- ? { command: "npx", args: ["-y", entry.name ?? exports.MCP_SPEC], env: {} }
73
+ ? { command: "npx", args: ["-y", exports.MCP_SPEC], env: {} }
57
74
  : { command: "node", args: ["--experimental-strip-types", entry.path], env: {} };
58
75
  }
59
76
  const envOf = (options) => ({
@@ -64,23 +81,25 @@ const envOf = (options) => ({
64
81
  function installLines(client, options) {
65
82
  const run = command(options.entry ?? PACKAGE_ENTRY);
66
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;
67
86
  switch (client) {
68
87
  case "claude-code": {
69
88
  const flags = Object.entries(env)
70
89
  .map(([key, value]) => `--env ${key}=${value}`)
71
90
  .join(" ");
72
- 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(" ")}`;
73
92
  }
74
93
  case "codex": {
75
94
  const table = Object.entries(env)
76
95
  .map(([key, value]) => `${key} = "${value}"`)
77
96
  .join(", ");
78
- 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");
79
98
  }
80
99
  case "cursor":
81
- 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);
82
101
  case "vscode":
83
- 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 }))}`;
84
103
  }
85
104
  }
86
105
  /** Where each client keeps it — the sentence above the block. */
@@ -97,27 +116,31 @@ exports.INSTALL_WHERE = {
97
116
  * package does.
98
117
  */
99
118
  exports.PLUGIN_MARKETPLACE = "ixoworld/ixo-plugins";
100
- exports.PLUGIN_NAME = "ixo-openhands";
119
+ exports.PLUGIN_NAME = "asks";
101
120
  exports.PLUGIN_ID = `${exports.PLUGIN_NAME}@ixo-plugins`;
121
+ /** The plugin marketplace's public repository: every plugin's skill, README and version. */
122
+ exports.PLUGIN_MARKETPLACE_URL = `https://github.com/${exports.PLUGIN_MARKETPLACE}`;
123
+ /** An npm package's page, where its latest version is. */
124
+ const npmUrl = (name) => `https://www.npmjs.com/package/${name}`;
125
+ exports.npmUrl = npmUrl;
126
+ /**
127
+ * The packages the plugins run, each with the version range an install pins (npx takes the newest inside it). The
128
+ * guides (/llms.txt, /mcp.md) list these; bump a range here when a plugin's skill moves to a new one.
129
+ */
130
+ exports.RESOURCE_PACKAGES = [
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 reviewer 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 USDC on Base (used by ${exports.PLUGIN_NAME})` }
134
+ ];
135
+ /** One line per package: name@range, what it is, its npm page. */
136
+ const resourceLines = () => exports.RESOURCE_PACKAGES.map((one) => `${one.name}@${one.range}: ${one.what}. ${(0, exports.npmUrl)(one.name)}`);
137
+ exports.resourceLines = resourceLines;
102
138
  /**
103
139
  * The hosted MCP (claude.ai, ChatGPT) only reads. Everything that signs runs in
104
140
  * Claude Code with the local MCP / HQ plugin, where keys and data stay on the
105
141
  * user's machine (owner ruling 2026-10-15). One wording, said everywhere.
106
142
  */
107
- exports.HQ_PLUGIN_NAME = "ixo-openhands-hq";
108
- 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 the OpenHands HQ plugin: it runs on your computer, so your keys and data stay with you.";
109
- exports.HQ_INSTALL_LINES = `/plugin marketplace add ${exports.PLUGIN_MARKETPLACE}\n/plugin install ${exports.HQ_PLUGIN_NAME}@ixo-plugins`;
110
- /**
111
- * The network the plugin starts on, and the variable that changes it.
112
- *
113
- * The plugin's Claude Code `.mcp.json` sets `NEXT_PUBLIC_CHAIN_NETWORK` to
114
- * `${OPENHANDS_NETWORK:-mainnet}`, which Claude Code expands from the
115
- * environment it was started in. Codex's portable `mcp.json` has no such
116
- * expansion and says `mainnet` outright, so in Codex the plugin is mainnet
117
- * only and the test network is the config.toml lines.
118
- */
119
- exports.PLUGIN_NETWORK_DEFAULT = "mainnet";
120
- exports.PLUGIN_NETWORK_ENV = "OPENHANDS_NETWORK";
143
+ 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 asks.world plugin (asks): it runs on your computer, so your keys and data stay with you.";
121
144
  /** The first Claude Code that installs from a marketplace in one step, with `--marketplace`. */
122
145
  exports.CLAUDE_CODE_ONE_STEP = "2.1.275";
123
146
  exports.PLUGIN_CLIENTS = ["claude-code", "codex"];
@@ -126,33 +149,53 @@ exports.PLUGIN_CLIENTS = ["claude-code", "codex"];
126
149
  * the two steps an older Claude Code needs, then Codex.
127
150
  */
128
151
  exports.PLUGIN_INSTALLS = ["claude-code", "claude-code-older", "codex"];
129
- /** One plugin install, a command per line. */
130
- function pluginLines(install) {
152
+ /** One plugin install, a command per line: the worker plugin unless `name` says which. */
153
+ function pluginLines(install, name = exports.PLUGIN_NAME) {
154
+ const id = `${name}@ixo-plugins`;
131
155
  switch (install) {
132
156
  case "claude-code":
133
- return `/plugin install ${exports.PLUGIN_NAME} --marketplace ${exports.PLUGIN_MARKETPLACE}`;
157
+ return `/plugin install ${name} --marketplace ${exports.PLUGIN_MARKETPLACE}`;
134
158
  case "claude-code-older":
135
- return [`/plugin marketplace add ${exports.PLUGIN_MARKETPLACE}`, `/plugin install ${exports.PLUGIN_ID}`].join("\n");
159
+ return [`/plugin marketplace add ${exports.PLUGIN_MARKETPLACE}`, `/plugin install ${id}`].join("\n");
136
160
  case "codex":
137
- return [`codex plugin marketplace add ${exports.PLUGIN_MARKETPLACE}`, `codex plugin add ${exports.PLUGIN_ID}`].join("\n");
161
+ return [`codex plugin marketplace add ${exports.PLUGIN_MARKETPLACE}`, `codex plugin add ${id}`].join("\n");
138
162
  }
139
163
  }
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;
167
+ /**
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").
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. */
174
+ exports.PLUGIN_PATHS = [
175
+ {
176
+ name: exports.PLUGIN_NAME,
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 reviewer, review billing). A report ask is answered with Claude (the report and screenshots, which you approve before anything is sent) or on the website."
179
+ }
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.`;
140
183
  exports.PLUGIN_WHERE = {
141
184
  "claude-code": `Claude Code ${exports.CLAUDE_CODE_ONE_STEP} or newer, typed inside a session:`,
142
185
  "claude-code-older": "An older Claude Code, two lines inside a session:",
143
186
  codex: "Codex, in a terminal:"
144
187
  };
188
+ /** The plugin as plain text: who it is for, then each install's lines. */
189
+ function pluginPathsText(installs = exports.PLUGIN_INSTALLS) {
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"));
191
+ }
145
192
  /**
146
- * What the plugin brings and which network it starts on, said for the site at
147
- * `network`: on mainnet, how to get the test network instead; on the test
148
- * 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.
149
195
  */
150
196
  function pluginNetworkNote(network) {
151
- const what = "The plugin brings the server and its skill.";
152
- const codex = `Codex's plugin is always mainnet; for the test network there, use its config.toml lines.`;
153
- return network === exports.PLUGIN_NETWORK_DEFAULT
154
- ? `${what} It starts on mainnet, where PAY is real money; for play money on the test network, start Claude Code with ${exports.PLUGIN_NETWORK_ENV}=testnet set in its shell (${exports.PLUGIN_NETWORK_ENV}=testnet claude). ${codex}`
155
- : `${what} This site is the test network, where PAY has no value, and the plugin starts 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: mainnet, where rewards are paid in IXO or USDC, or testnet, a dry run where coins have no value.`;
198
+ return isTest(network) ? `This site is the test network. Install ${exports.PLUGIN_NAME}. ${what} Here, use it on testnet (a dry run, play money).` : what;
156
199
  }
157
200
  /**
158
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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"}
@@ -68,6 +68,18 @@ 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
+ };
71
83
  export declare function askDoor(ask: AskWindow & {
72
84
  admin?: string | null;
73
85
  }, authorized: ReadonlySet<string>, now?: Date): AskDoor;
@@ -89,5 +101,6 @@ export declare function askDoor(ask: AskWindow & {
89
101
  export declare function standingLine(ask: AskWindow & {
90
102
  count: number;
91
103
  rejected: number;
92
- }, openness?: AskDoor): string;
104
+ approver?: string | null;
105
+ }, openness?: ScreenedDoor): string;
93
106
  //# sourceMappingURL=openness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openness.d.ts","sourceRoot":"","sources":["../../../src/data/openness.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE;AAChB;+EAC+E;GAC7E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;CAAE,CAAC;AAEnE,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,GAAE,IAAiB,GAAG,QAAQ,CAsC5E;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAMpI;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,GAAE,OAA0B,GAAG,MAAM,CA8C/H"}
1
+ {"version":3,"file":"openness.d.ts","sourceRoot":"","sources":["../../../src/data/openness.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE;AAChB;+EAC+E;GAC7E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;CAAE,CAAC;AAEnE,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,GAAE,IAAiB,GAAG,QAAQ,CAsC5E;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAErG,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAMpI;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,QAAQ,GAAE,YAA+B,GAAG,MAAM,CAyD9J"}
@@ -44,32 +44,6 @@ function askOpenness(ask, now = new Date()) {
44
44
  return { open: false, why: "ended" };
45
45
  return { open: true };
46
46
  }
47
- /**
48
- * Whether **this deployment** can take an answer to this ask — which is the
49
- * question a submit button is really asking, and a strictly harder one than
50
- * `askOpenness`.
51
- *
52
- * The board learned this first. The public index returns every claim
53
- * collection on the network, and most belong to other projects: an IXO World
54
- * invoice, somebody's device telemetry, a protocol nobody here has heard of.
55
- * They are open, they pay, they collect answers — through their own
56
- * application. Ours cannot make their claims, and the chain agrees: their
57
- * escrow account never granted this deployment's gate the right to admit a
58
- * stranger, so every submission from here is refused after the work is done.
59
- *
60
- * That grant is the whole test. It is not a heuristic about naming or
61
- * shape — it is the same fact the gate itself re-checks before it signs, so
62
- * a door drawn on this answer is a door that opens.
63
- *
64
- * **Deliberately not tested: published criteria.** An Openhands ask may
65
- * carry no `DoneMeans` and be checked by whoever posted it — the submit page
66
- * says so in its own footnote. Reading their absence as "foreign" would take
67
- * the door off honest asks whose poster reviews by hand.
68
- *
69
- * `authorized` is the set `takeableAdmins()` returns: admins that granted
70
- * this gate. An RPC that fails yields an empty set, which shows no door — the
71
- * safe direction, since the gate would refuse anyway.
72
- */
73
47
  function askDoor(ask, authorized, now = new Date()) {
74
48
  /* The chain's own word and the clock first: an ask that is closed is closed
75
49
  whoever posted it, and "closed" is the more useful thing to be told. */
@@ -95,6 +69,16 @@ function askDoor(ask, authorized, now = new Date()) {
95
69
  */
96
70
  function standingLine(ask, openness = askOpenness(ask)) {
97
71
  if (!openness.open) {
72
+ /*
73
+ * The screen's word, with its reason: the poster whose money is locked
74
+ * behind it, and the worker about to walk somewhere, both need the why
75
+ * more than the date (2026-10-20: a call's entries leg said "3 of 3 spots
76
+ * still pay" while the gate refused every entrant).
77
+ */
78
+ if (openness.why === "refused")
79
+ return openness.reason ? `${openness.reason} This ask takes no answers here.` : "Openhands Network doesn't carry this ask, so it takes no answers here.";
80
+ if (openness.why === "held")
81
+ return `This ask is being looked at before it takes answers.${openness.reason ? ` ${openness.reason}` : ""}`;
98
82
  /*
99
83
  * The one reason that is not about this ask running out of anything. An
100
84
  * ask posted by another application is still open, still paying, still
@@ -112,6 +96,10 @@ function standingLine(ask, openness = askOpenness(ask)) {
112
96
  * shrug and is actually a falsehood.
113
97
  */
114
98
  if (openness.why === "filled") {
99
+ /* Answers still undecided on an ask a person gives the final OK on are held for them, not refused. */
100
+ const held = ask.count - ask.approved - ask.rejected;
101
+ if (held > 0 && ask.approver)
102
+ return `This ask has taken all the answers it can. ${held === 1 ? "One is" : `${held} are`} waiting for the poster's OK.`;
115
103
  return ask.approved > 0
116
104
  ? "Every payout on this ask has been made."
117
105
  : "This ask has taken all the answers it can, and none was approved.";
@@ -1 +1 @@
1
- {"version":3,"file":"openness.js","sourceRoot":"","sources":["../../../src/data/openness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openness.js","sourceRoot":"","sources":["../../../src/data/openness.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,24 @@ export interface Waiting {
38
38
  * it is the one non-terminal verdict, explicitly re-evaluatable.
39
39
  */
40
40
  why: "unjudged" | "flagged";
41
+ /** A person gives the final OK at the oracle (the deed's `approver` link): who, as an ixo1 address. Never signed on chain from here. */
42
+ approver?: string | null;
43
+ /** The ask's claim protocol: the engine manifest that holds the person's questions. */
44
+ protocol?: string;
41
45
  }
46
+ export interface LinkedRow {
47
+ id: string;
48
+ linkedEntity?: {
49
+ id?: string;
50
+ relationship?: string;
51
+ }[] | null;
52
+ }
53
+ /** The ixo1 address an entity's `approver` link names, or null. */
54
+ export declare const approverOf: (row: LinkedRow) => string | null;
55
+ /** A checker looked and handed it back to a person (see `Waiting.why`). */
56
+ export declare const FLAGGED = 5;
57
+ /** A GraphQL list literal of strings. */
58
+ export declare const list: (values: readonly string[]) => string;
42
59
  /**
43
60
  * Everything unjudged on every ask this address owns or may judge, oldest first.
44
61
  *
@@ -46,4 +63,13 @@ export interface Waiting {
46
63
  * person who has been waiting longest is the one owed an answer.
47
64
  */
48
65
  export declare function waitingOn(address: string, limit?: number): Promise<Waiting[]>;
66
+ /**
67
+ * The asks this address posted that a person gives the final OK on (the deed's `approver` link): what its Me page
68
+ * keeps checking on for, silently (`ensureReviewing`). Open or recently ended ones only, newest first.
69
+ */
70
+ export declare function checkingAsksOf(address: string, now?: number): Promise<{
71
+ collectionId: string;
72
+ approver: string;
73
+ endsAt: string | null;
74
+ }[]>;
49
75
  //# sourceMappingURL=queue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/data/queue.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC;CAC7B;AAqED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA+D/E"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/data/queue.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5B,wIAAwI;IACxI,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;CAChE;AAED,mEAAmE;AACnE,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,KAAG,MAAM,GAAG,IAAoJ,CAAC;AAmC1M,2EAA2E;AAC3E,eAAO,MAAM,OAAO,IAAI,CAAC;AAEzB,yCAAyC;AACzC,eAAO,MAAM,IAAI,GAAI,QAAQ,SAAS,MAAM,EAAE,WAAmE,CAAC;AAgClH;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA6E/E;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,CAAC,CAgBpJ"}
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.list = exports.FLAGGED = exports.approverOf = void 0;
3
4
  exports.waitingOn = waitingOn;
5
+ exports.checkingAsksOf = checkingAsksOf;
4
6
  const balance_ts_1 = require("./balance.js");
5
7
  const gql_ts_1 = require("./gql.js");
6
8
  const paged_ts_1 = require("./paged.js");
7
9
  const profiles_ts_1 = require("./profiles.js");
8
10
  const format_ts_1 = require("./format.js");
11
+ /** The ixo1 address an entity's `approver` link names, or null. */
12
+ const approverOf = (row) => row.linkedEntity?.find((one) => one.relationship === "approver" && one.id?.startsWith("did:ixo:ixo1"))?.id?.slice("did:ixo:".length) ?? null;
13
+ exports.approverOf = approverOf;
9
14
  /*
10
15
  * The chain's own rule, and the reason this queue exists.
11
16
  *
@@ -19,8 +24,11 @@ const format_ts_1 = require("./format.js");
19
24
  * ever shown. The thread said "needs a person" and offered nobody a way to be
20
25
  * that person.
21
26
  */
22
- const FLAGGED = 5;
27
+ /** A checker looked and handed it back to a person (see `Waiting.why`). */
28
+ exports.FLAGGED = 5;
29
+ /** A GraphQL list literal of strings. */
23
30
  const list = (values) => `[${values.map((value) => JSON.stringify(value)).join(", ")}]`;
31
+ exports.list = list;
24
32
  /**
25
33
  * The admin accounts this address may judge for, read from its authz grants.
26
34
  *
@@ -65,37 +73,49 @@ async function waitingOn(address, limit = 40) {
65
73
  become an empty queue, which is the one answer a queue must never give
66
74
  falsely — "nobody is waiting on you". The route says "unavailable"
67
75
  instead (app/api/waiting). */
68
- const [owned, admins] = await Promise.all([
76
+ const [owned, admins, approving] = await Promise.all([
69
77
  (0, gql_ts_1.gql)(`query { entities(filter: {owner: {equalTo: ${JSON.stringify(address)}}}, first: 60) { nodes { id } } }`),
70
- judgedAdmins(address)
78
+ judgedAdmins(address),
79
+ /* Asks that name this address as the person who gives the final OK (chain/entityShape.ts `approverLink`). */
80
+ (0, gql_ts_1.gql)(`query { iids(filter: {linkedEntity: {contains: [{id: ${JSON.stringify(`did:ixo:${address}`)}, relationship: "approver"}]}}, first: 60) { nodes { id } } }`)
71
81
  ]);
72
- const entityDids = owned.entities.nodes.map((entity) => entity.id);
82
+ const ownedDids = owned.entities.nodes.map((entity) => entity.id);
83
+ const entityDids = [...new Set([...ownedDids, ...approving.iids.nodes.map((row) => row.id)])];
73
84
  if (entityDids.length === 0 && admins.length === 0)
74
85
  return [];
86
+ /* Which of the poster's own asks a person approves, and who: theirs to answer, not this queue's, unless it is them. */
87
+ const approvers = new Map(approving.iids.nodes.map((row) => [row.id, address]));
75
88
  /* Two reads rather than one `or`: the asks this address posted, and the
76
89
  asks whose admin account granted it the right to judge. A collection
77
90
  found both ways is one collection. */
78
91
  const [posted, judged] = await Promise.all([
79
92
  entityDids.length > 0
80
- ? (0, gql_ts_1.gql)(`query { claimCollections(filter: {entity: {in: ${list(entityDids)}}}) { nodes { id entity protocol admin payments } } }`)
93
+ ? (0, gql_ts_1.gql)(`query { claimCollections(filter: {entity: {in: ${(0, exports.list)(entityDids)}}}) { nodes { id entity protocol admin payments } } }`)
81
94
  : null,
82
95
  admins.length > 0
83
- ? (0, gql_ts_1.gql)(`query { claimCollections(filter: {admin: {in: ${list(admins)}}}) { nodes { id entity protocol admin payments } } }`)
96
+ ? (0, gql_ts_1.gql)(`query { claimCollections(filter: {admin: {in: ${(0, exports.list)(admins)}}}) { nodes { id entity protocol admin payments } } }`)
84
97
  : null
85
98
  ]);
86
99
  const rows = [...new Map([...(posted?.claimCollections.nodes ?? []), ...(judged?.claimCollections.nodes ?? [])].map((row) => [String(row.id), row])).values()];
87
100
  if (rows.length === 0)
88
101
  return [];
89
- const [claims, names] = await Promise.all([
90
- (0, gql_ts_1.gql)(`query { claims(filter: {collectionId: {in: ${list(rows.map((row) => row.id))}}}, first: ${limit * 3}) {
102
+ const [claims, names, personal] = await Promise.all([
103
+ (0, gql_ts_1.gql)(`query { claims(filter: {collectionId: {in: ${(0, exports.list)(rows.map((row) => row.id))}}}, first: ${limit * 3}) {
91
104
  nodes { claimId collectionId agentAddress submissionDate evaluationByClaimId { status } }
92
105
  } }`),
93
106
  /* By the ask's entity — the protocol only ever equalled it on the old shape; see threads.ts. */
94
- (0, profiles_ts_1.entityNames)(rows.map((row) => row.entity)).catch(() => new Map())
107
+ (0, profiles_ts_1.entityNames)(rows.map((row) => row.entity)).catch(() => new Map()),
108
+ /* Every ask here that a person approves, however it was found (posted, judged): never ruled on chain from this queue. */
109
+ (0, gql_ts_1.gql)(`query { iids(filter: {id: {in: ${(0, exports.list)([...new Set(rows.map((row) => row.entity))])}}, linkedEntity: {contains: [{relationship: "approver"}]}}) { nodes { id linkedEntity } } }`)
95
110
  ]);
111
+ for (const row of personal.iids.nodes) {
112
+ const who = (0, exports.approverOf)(row);
113
+ if (who && !approvers.has(row.id))
114
+ approvers.set(row.id, who);
115
+ }
96
116
  const byId = new Map(rows.map((row) => [row.id, row]));
97
117
  return claims.claims.nodes
98
- .filter((claim) => !claim.evaluationByClaimId || claim.evaluationByClaimId.status === FLAGGED)
118
+ .filter((claim) => !claim.evaluationByClaimId || claim.evaluationByClaimId.status === exports.FLAGGED)
99
119
  .map((claim) => {
100
120
  const collection = byId.get(String(claim.collectionId));
101
121
  if (!collection)
@@ -109,11 +129,36 @@ async function waitingOn(address, limit = 40) {
109
129
  pays: (0, format_ts_1.approvalAmount)(collection.payments),
110
130
  admin: collection.admin,
111
131
  entityDid: collection.entity,
112
- why: claim.evaluationByClaimId?.status === FLAGGED ? "flagged" : "unjudged"
132
+ why: claim.evaluationByClaimId?.status === exports.FLAGGED ? "flagged" : "unjudged",
133
+ approver: approvers.get(collection.entity) ?? null,
134
+ protocol: collection.protocol
113
135
  };
114
136
  })
115
- .filter((waiting) => waiting !== null)
137
+ /* An ask a person approves waits on that person only. */
138
+ .filter((waiting) => waiting !== null && (!waiting.approver || waiting.approver === address))
116
139
  .sort((first, second) => (first.submittedAt ?? "").localeCompare(second.submittedAt ?? ""))
117
140
  .slice(0, limit);
118
141
  }
142
+ /**
143
+ * The asks this address posted that a person gives the final OK on (the deed's `approver` link): what its Me page
144
+ * keeps checking on for, silently (`ensureReviewing`). Open or recently ended ones only, newest first.
145
+ */
146
+ async function checkingAsksOf(address, now = Date.now()) {
147
+ if (!address)
148
+ return [];
149
+ const owned = await (0, gql_ts_1.gql)(`query { entities(filter: {owner: {equalTo: ${JSON.stringify(address)}}}, first: 60) { nodes { id } } }`);
150
+ const ids = owned.entities.nodes.map((entity) => entity.id);
151
+ if (ids.length === 0)
152
+ return [];
153
+ const linked = await (0, gql_ts_1.gql)(`query { iids(filter: {id: {in: ${(0, exports.list)(ids)}}, linkedEntity: {contains: [{relationship: "approver"}]}}) { nodes { id linkedEntity } } }`);
154
+ const approvers = new Map(linked.iids.nodes.map((row) => [row.id, (0, exports.approverOf)(row)]).filter((pair) => pair[1] !== null));
155
+ if (approvers.size === 0)
156
+ return [];
157
+ const collections = await (0, gql_ts_1.gql)(`query { claimCollections(filter: {entity: {in: ${(0, exports.list)([...approvers.keys()])}}}) { nodes { id entity endDate } } }`);
158
+ /* Two days past its end a grant would add nothing (personReview.ts `grantWindow`). */
159
+ return collections.claimCollections.nodes
160
+ .filter((row) => !row.endDate || Date.parse(`${row.endDate.replace(/Z?$/, "Z")}`) > now - 2 * 86_400_000)
161
+ .map((row) => ({ collectionId: String(row.id), approver: approvers.get(row.entity), endsAt: row.endDate ?? null }))
162
+ .sort((a, b) => Number(b.collectionId) - Number(a.collectionId));
163
+ }
119
164
  //# sourceMappingURL=queue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/data/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/data/queue.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,8 @@ export interface ReceiptData {
44
44
  doneMeansUrl?: string | null;
45
45
  /** Paid off chain by the org's facilitator (#payoutTerms). */
46
46
  payout?: PayoutTerms;
47
+ /** The person who gives the final OK (the ask's `approver` link), as an ixo1 address; absent when the checker decides. */
48
+ approver?: string | null;
47
49
  /** The org that backs `payout` (backingOrgOf): the collection's org (legacy), or the deed's two-sided requestedBy/request org (IXO shape). */
48
50
  payoutOrg?: string;
49
51
  /**
@@ -152,8 +154,25 @@ type Connection = {
152
154
  };
153
155
  /** What a paged answer says about where it stands. Exported for the tests. */
154
156
  export declare function pageFrom(request: ReceiptPageRequest, recent: Connection | undefined, waiting: Connection | undefined): ClaimsPage;
157
+ /**
158
+ * Next's data-cache hint for a receipt read: seconds, or 0 for none.
159
+ *
160
+ * The data cache answers a query it has seen with what it held last and
161
+ * refreshes behind it, however long ago that was. That is right for a page a
162
+ * crowd reads and wrong for "is my answer there": a query that names an
163
+ * answer or its author was often first asked before the answer existed, and
164
+ * then hands that copy back minutes later. On testnet #44101 (2026-10-21) an
165
+ * entrant's check_verdict was told "Nothing on #44101 yet" about an entry
166
+ * approved and paid, from a read made 22 minutes before it was filed, and the
167
+ * poster's read_ask showed "4 of 4 spots" an hour after the first was taken.
168
+ * A `fresh` read asks the index itself.
169
+ */
170
+ export declare const receiptRevalidate: (options: {
171
+ fresh?: boolean;
172
+ }) => number;
155
173
  export declare function loadReceipt(collectionId: string, options?: {
156
174
  claims?: ReceiptClaims;
175
+ fresh?: boolean;
157
176
  }): Promise<ReceiptData | null>;
158
177
  /**
159
178
  * One claim, by its id — the question a waiting submitter, a membership check