@ixo/openhands-sdk 0.7.0 → 0.8.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 (322) hide show
  1. package/README.md +4 -6
  2. package/dist/cjs/chain/allowance.d.ts +6 -2
  3. package/dist/cjs/chain/allowance.d.ts.map +1 -1
  4. package/dist/cjs/chain/allowance.js +47 -19
  5. package/dist/cjs/chain/allowance.js.map +1 -1
  6. package/dist/cjs/chain/ask.d.ts.map +1 -1
  7. package/dist/cjs/chain/ask.js +2 -1
  8. package/dist/cjs/chain/ask.js.map +1 -1
  9. package/dist/cjs/chain/assist.d.ts +52 -0
  10. package/dist/cjs/chain/assist.d.ts.map +1 -0
  11. package/dist/cjs/chain/assist.js +99 -0
  12. package/dist/cjs/chain/assist.js.map +1 -0
  13. package/dist/cjs/chain/campaignMint.d.ts +92 -0
  14. package/dist/cjs/chain/campaignMint.d.ts.map +1 -0
  15. package/dist/cjs/chain/campaignMint.js +136 -0
  16. package/dist/cjs/chain/campaignMint.js.map +1 -0
  17. package/dist/cjs/chain/draftMessages.d.ts +12 -0
  18. package/dist/cjs/chain/draftMessages.d.ts.map +1 -0
  19. package/dist/cjs/chain/draftMessages.js +85 -0
  20. package/dist/cjs/chain/draftMessages.js.map +1 -0
  21. package/dist/cjs/chain/guest.d.ts +10 -0
  22. package/dist/cjs/chain/guest.d.ts.map +1 -1
  23. package/dist/cjs/chain/guest.js +3 -2
  24. package/dist/cjs/chain/guest.js.map +1 -1
  25. package/dist/cjs/chain/inviteMessages.d.ts +17 -3
  26. package/dist/cjs/chain/inviteMessages.d.ts.map +1 -1
  27. package/dist/cjs/chain/inviteMessages.js +22 -2
  28. package/dist/cjs/chain/inviteMessages.js.map +1 -1
  29. package/dist/cjs/chain/lane.d.ts +16 -0
  30. package/dist/cjs/chain/lane.d.ts.map +1 -1
  31. package/dist/cjs/chain/lane.js +25 -1
  32. package/dist/cjs/chain/lane.js.map +1 -1
  33. package/dist/cjs/chain/personReview.d.ts.map +1 -1
  34. package/dist/cjs/chain/personReview.js +18 -11
  35. package/dist/cjs/chain/personReview.js.map +1 -1
  36. package/dist/cjs/chain/reviewBilling.d.ts.map +1 -1
  37. package/dist/cjs/chain/reviewBilling.js +1 -1
  38. package/dist/cjs/chain/reviewBilling.js.map +1 -1
  39. package/dist/cjs/chain/session.d.ts +1 -1
  40. package/dist/cjs/chain/session.d.ts.map +1 -1
  41. package/dist/cjs/chain/session.js +7 -14
  42. package/dist/cjs/chain/session.js.map +1 -1
  43. package/dist/cjs/chain/sessionEvents.d.ts +4 -0
  44. package/dist/cjs/chain/sessionEvents.d.ts.map +1 -0
  45. package/dist/cjs/chain/sessionEvents.js +15 -0
  46. package/dist/cjs/chain/sessionEvents.js.map +1 -0
  47. package/dist/cjs/chain/takeBack.d.ts +2 -0
  48. package/dist/cjs/chain/takeBack.d.ts.map +1 -1
  49. package/dist/cjs/chain/takeBack.js +45 -8
  50. package/dist/cjs/chain/takeBack.js.map +1 -1
  51. package/dist/cjs/chain/why.d.ts +6 -2
  52. package/dist/cjs/chain/why.d.ts.map +1 -1
  53. package/dist/cjs/chain/why.js +11 -2
  54. package/dist/cjs/chain/why.js.map +1 -1
  55. package/dist/cjs/chain.d.ts +1 -0
  56. package/dist/cjs/chain.d.ts.map +1 -1
  57. package/dist/cjs/chain.js +3 -1
  58. package/dist/cjs/chain.js.map +1 -1
  59. package/dist/cjs/data/actionDraft.d.ts +304 -0
  60. package/dist/cjs/data/actionDraft.d.ts.map +1 -0
  61. package/dist/cjs/data/actionDraft.js +470 -0
  62. package/dist/cjs/data/actionDraft.js.map +1 -0
  63. package/dist/cjs/data/actionDraftWords.d.ts +37 -0
  64. package/dist/cjs/data/actionDraftWords.d.ts.map +1 -0
  65. package/dist/cjs/data/actionDraftWords.js +55 -0
  66. package/dist/cjs/data/actionDraftWords.js.map +1 -0
  67. package/dist/cjs/data/agent.d.ts.map +1 -1
  68. package/dist/cjs/data/agent.js +36 -1
  69. package/dist/cjs/data/agent.js.map +1 -1
  70. package/dist/cjs/data/askyProtocol.d.ts.map +1 -1
  71. package/dist/cjs/data/askyProtocol.js +1 -1
  72. package/dist/cjs/data/askyProtocol.js.map +1 -1
  73. package/dist/cjs/data/board/answer.d.ts +12 -0
  74. package/dist/cjs/data/board/answer.d.ts.map +1 -0
  75. package/dist/cjs/data/board/answer.js +41 -0
  76. package/dist/cjs/data/board/answer.js.map +1 -0
  77. package/dist/cjs/data/board/facts.js +1 -1
  78. package/dist/cjs/data/board/facts.js.map +1 -1
  79. package/dist/cjs/data/board/read.d.ts.map +1 -1
  80. package/dist/cjs/data/board/read.js +20 -9
  81. package/dist/cjs/data/board/read.js.map +1 -1
  82. package/dist/cjs/data/board/types.d.ts +14 -0
  83. package/dist/cjs/data/board/types.d.ts.map +1 -1
  84. package/dist/cjs/data/board/types.js +9 -1
  85. package/dist/cjs/data/board/types.js.map +1 -1
  86. package/dist/cjs/data/checkers.d.ts +12 -2
  87. package/dist/cjs/data/checkers.d.ts.map +1 -1
  88. package/dist/cjs/data/checkers.js +43 -40
  89. package/dist/cjs/data/checkers.js.map +1 -1
  90. package/dist/cjs/data/decisionIdentity.d.ts +10 -0
  91. package/dist/cjs/data/decisionIdentity.d.ts.map +1 -0
  92. package/dist/cjs/data/decisionIdentity.js +19 -0
  93. package/dist/cjs/data/decisionIdentity.js.map +1 -0
  94. package/dist/cjs/data/docUrls.d.ts +5 -0
  95. package/dist/cjs/data/docUrls.d.ts.map +1 -1
  96. package/dist/cjs/data/docUrls.js +18 -1
  97. package/dist/cjs/data/docUrls.js.map +1 -1
  98. package/dist/cjs/data/draftUploads.d.ts +145 -0
  99. package/dist/cjs/data/draftUploads.d.ts.map +1 -0
  100. package/dist/cjs/data/draftUploads.js +293 -0
  101. package/dist/cjs/data/draftUploads.js.map +1 -0
  102. package/dist/cjs/data/emailKinds.d.ts +56 -0
  103. package/dist/cjs/data/emailKinds.d.ts.map +1 -0
  104. package/dist/cjs/data/emailKinds.js +39 -0
  105. package/dist/cjs/data/emailKinds.js.map +1 -0
  106. package/dist/cjs/data/engine.js +1 -1
  107. package/dist/cjs/data/engine.js.map +1 -1
  108. package/dist/cjs/data/format.d.ts +10 -0
  109. package/dist/cjs/data/format.d.ts.map +1 -1
  110. package/dist/cjs/data/format.js +8 -1
  111. package/dist/cjs/data/format.js.map +1 -1
  112. package/dist/cjs/data/install.d.ts +57 -131
  113. package/dist/cjs/data/install.d.ts.map +1 -1
  114. package/dist/cjs/data/install.js +95 -182
  115. package/dist/cjs/data/install.js.map +1 -1
  116. package/dist/cjs/data/openness.js +11 -11
  117. package/dist/cjs/data/openness.js.map +1 -1
  118. package/dist/cjs/data/payoutObservation.d.ts +30 -0
  119. package/dist/cjs/data/payoutObservation.d.ts.map +1 -0
  120. package/dist/cjs/data/payoutObservation.js +219 -0
  121. package/dist/cjs/data/payoutObservation.js.map +1 -0
  122. package/dist/cjs/data/queue.d.ts.map +1 -1
  123. package/dist/cjs/data/queue.js +36 -1
  124. package/dist/cjs/data/queue.js.map +1 -1
  125. package/dist/cjs/data/receipt.d.ts +4 -0
  126. package/dist/cjs/data/receipt.d.ts.map +1 -1
  127. package/dist/cjs/data/receipt.js +5 -2
  128. package/dist/cjs/data/receipt.js.map +1 -1
  129. package/dist/cjs/data/threads.d.ts +3 -1
  130. package/dist/cjs/data/threads.d.ts.map +1 -1
  131. package/dist/cjs/data/threads.js +5 -3
  132. package/dist/cjs/data/threads.js.map +1 -1
  133. package/dist/cjs/data/traceWords.d.ts +4 -0
  134. package/dist/cjs/data/traceWords.d.ts.map +1 -1
  135. package/dist/cjs/data/traceWords.js +17 -4
  136. package/dist/cjs/data/traceWords.js.map +1 -1
  137. package/dist/cjs/data/types.js +1 -1
  138. package/dist/cjs/data/types.js.map +1 -1
  139. package/dist/cjs/rubric/call.d.ts +5 -0
  140. package/dist/cjs/rubric/call.d.ts.map +1 -1
  141. package/dist/cjs/rubric/call.js +9 -1
  142. package/dist/cjs/rubric/call.js.map +1 -1
  143. package/dist/cjs/rubric/callChecks.d.ts +2 -0
  144. package/dist/cjs/rubric/callChecks.d.ts.map +1 -1
  145. package/dist/cjs/rubric/callChecks.js +6 -1
  146. package/dist/cjs/rubric/callChecks.js.map +1 -1
  147. package/dist/cjs/rubric/leg.d.ts +5 -7
  148. package/dist/cjs/rubric/leg.d.ts.map +1 -1
  149. package/dist/cjs/rubric/leg.js +7 -33
  150. package/dist/cjs/rubric/leg.js.map +1 -1
  151. package/dist/cjs/rubric/report.d.ts.map +1 -1
  152. package/dist/cjs/rubric/report.js +4 -4
  153. package/dist/cjs/rubric/report.js.map +1 -1
  154. package/dist/cjs/rubric/reportTemplate.d.ts +6 -0
  155. package/dist/cjs/rubric/reportTemplate.d.ts.map +1 -1
  156. package/dist/cjs/rubric/reportTemplate.js +23 -14
  157. package/dist/cjs/rubric/reportTemplate.js.map +1 -1
  158. package/dist/cjs/rubric/terms.d.ts +6 -1
  159. package/dist/cjs/rubric/terms.d.ts.map +1 -1
  160. package/dist/cjs/rubric/terms.js +4 -4
  161. package/dist/cjs/rubric/terms.js.map +1 -1
  162. package/dist/esm/chain/allowance.d.ts +6 -2
  163. package/dist/esm/chain/allowance.d.ts.map +1 -1
  164. package/dist/esm/chain/allowance.js +45 -19
  165. package/dist/esm/chain/allowance.js.map +1 -1
  166. package/dist/esm/chain/ask.d.ts.map +1 -1
  167. package/dist/esm/chain/ask.js +2 -1
  168. package/dist/esm/chain/ask.js.map +1 -1
  169. package/dist/esm/chain/assist.d.ts +52 -0
  170. package/dist/esm/chain/assist.d.ts.map +1 -0
  171. package/dist/esm/chain/assist.js +89 -0
  172. package/dist/esm/chain/assist.js.map +1 -0
  173. package/dist/esm/chain/campaignMint.d.ts +92 -0
  174. package/dist/esm/chain/campaignMint.d.ts.map +1 -0
  175. package/dist/esm/chain/campaignMint.js +127 -0
  176. package/dist/esm/chain/campaignMint.js.map +1 -0
  177. package/dist/esm/chain/draftMessages.d.ts +12 -0
  178. package/dist/esm/chain/draftMessages.d.ts.map +1 -0
  179. package/dist/esm/chain/draftMessages.js +47 -0
  180. package/dist/esm/chain/draftMessages.js.map +1 -0
  181. package/dist/esm/chain/guest.d.ts +10 -0
  182. package/dist/esm/chain/guest.d.ts.map +1 -1
  183. package/dist/esm/chain/guest.js +3 -2
  184. package/dist/esm/chain/guest.js.map +1 -1
  185. package/dist/esm/chain/inviteMessages.d.ts +17 -3
  186. package/dist/esm/chain/inviteMessages.d.ts.map +1 -1
  187. package/dist/esm/chain/inviteMessages.js +18 -1
  188. package/dist/esm/chain/inviteMessages.js.map +1 -1
  189. package/dist/esm/chain/lane.d.ts +16 -0
  190. package/dist/esm/chain/lane.d.ts.map +1 -1
  191. package/dist/esm/chain/lane.js +22 -0
  192. package/dist/esm/chain/lane.js.map +1 -1
  193. package/dist/esm/chain/personReview.d.ts.map +1 -1
  194. package/dist/esm/chain/personReview.js +18 -11
  195. package/dist/esm/chain/personReview.js.map +1 -1
  196. package/dist/esm/chain/reviewBilling.d.ts.map +1 -1
  197. package/dist/esm/chain/reviewBilling.js +1 -1
  198. package/dist/esm/chain/reviewBilling.js.map +1 -1
  199. package/dist/esm/chain/session.d.ts +1 -1
  200. package/dist/esm/chain/session.d.ts.map +1 -1
  201. package/dist/esm/chain/session.js +5 -12
  202. package/dist/esm/chain/session.js.map +1 -1
  203. package/dist/esm/chain/sessionEvents.d.ts +4 -0
  204. package/dist/esm/chain/sessionEvents.d.ts.map +1 -0
  205. package/dist/esm/chain/sessionEvents.js +11 -0
  206. package/dist/esm/chain/sessionEvents.js.map +1 -0
  207. package/dist/esm/chain/takeBack.d.ts +2 -0
  208. package/dist/esm/chain/takeBack.d.ts.map +1 -1
  209. package/dist/esm/chain/takeBack.js +44 -8
  210. package/dist/esm/chain/takeBack.js.map +1 -1
  211. package/dist/esm/chain/why.d.ts +6 -2
  212. package/dist/esm/chain/why.d.ts.map +1 -1
  213. package/dist/esm/chain/why.js +12 -3
  214. package/dist/esm/chain/why.js.map +1 -1
  215. package/dist/esm/chain.d.ts +1 -0
  216. package/dist/esm/chain.d.ts.map +1 -1
  217. package/dist/esm/chain.js +1 -0
  218. package/dist/esm/chain.js.map +1 -1
  219. package/dist/esm/data/actionDraft.d.ts +304 -0
  220. package/dist/esm/data/actionDraft.d.ts.map +1 -0
  221. package/dist/esm/data/actionDraft.js +450 -0
  222. package/dist/esm/data/actionDraft.js.map +1 -0
  223. package/dist/esm/data/actionDraftWords.d.ts +37 -0
  224. package/dist/esm/data/actionDraftWords.d.ts.map +1 -0
  225. package/dist/esm/data/actionDraftWords.js +47 -0
  226. package/dist/esm/data/actionDraftWords.js.map +1 -0
  227. package/dist/esm/data/agent.d.ts.map +1 -1
  228. package/dist/esm/data/agent.js +4 -2
  229. package/dist/esm/data/agent.js.map +1 -1
  230. package/dist/esm/data/askyProtocol.d.ts.map +1 -1
  231. package/dist/esm/data/askyProtocol.js +1 -1
  232. package/dist/esm/data/askyProtocol.js.map +1 -1
  233. package/dist/esm/data/board/answer.d.ts +12 -0
  234. package/dist/esm/data/board/answer.d.ts.map +1 -0
  235. package/dist/esm/data/board/answer.js +36 -0
  236. package/dist/esm/data/board/answer.js.map +1 -0
  237. package/dist/esm/data/board/facts.js +1 -1
  238. package/dist/esm/data/board/facts.js.map +1 -1
  239. package/dist/esm/data/board/read.d.ts.map +1 -1
  240. package/dist/esm/data/board/read.js +21 -10
  241. package/dist/esm/data/board/read.js.map +1 -1
  242. package/dist/esm/data/board/types.d.ts +14 -0
  243. package/dist/esm/data/board/types.d.ts.map +1 -1
  244. package/dist/esm/data/board/types.js +7 -0
  245. package/dist/esm/data/board/types.js.map +1 -1
  246. package/dist/esm/data/checkers.d.ts +12 -2
  247. package/dist/esm/data/checkers.d.ts.map +1 -1
  248. package/dist/esm/data/checkers.js +41 -39
  249. package/dist/esm/data/checkers.js.map +1 -1
  250. package/dist/esm/data/decisionIdentity.d.ts +10 -0
  251. package/dist/esm/data/decisionIdentity.d.ts.map +1 -0
  252. package/dist/esm/data/decisionIdentity.js +15 -0
  253. package/dist/esm/data/decisionIdentity.js.map +1 -0
  254. package/dist/esm/data/docUrls.d.ts +5 -0
  255. package/dist/esm/data/docUrls.d.ts.map +1 -1
  256. package/dist/esm/data/docUrls.js +16 -0
  257. package/dist/esm/data/docUrls.js.map +1 -1
  258. package/dist/esm/data/draftUploads.d.ts +145 -0
  259. package/dist/esm/data/draftUploads.d.ts.map +1 -0
  260. package/dist/esm/data/draftUploads.js +272 -0
  261. package/dist/esm/data/draftUploads.js.map +1 -0
  262. package/dist/esm/data/emailKinds.d.ts +56 -0
  263. package/dist/esm/data/emailKinds.d.ts.map +1 -0
  264. package/dist/esm/data/emailKinds.js +32 -0
  265. package/dist/esm/data/emailKinds.js.map +1 -0
  266. package/dist/esm/data/engine.js +1 -1
  267. package/dist/esm/data/engine.js.map +1 -1
  268. package/dist/esm/data/format.d.ts +10 -0
  269. package/dist/esm/data/format.d.ts.map +1 -1
  270. package/dist/esm/data/format.js +6 -0
  271. package/dist/esm/data/format.js.map +1 -1
  272. package/dist/esm/data/install.d.ts +57 -131
  273. package/dist/esm/data/install.d.ts.map +1 -1
  274. package/dist/esm/data/install.js +88 -173
  275. package/dist/esm/data/install.js.map +1 -1
  276. package/dist/esm/data/openness.js +11 -11
  277. package/dist/esm/data/openness.js.map +1 -1
  278. package/dist/esm/data/payoutObservation.d.ts +30 -0
  279. package/dist/esm/data/payoutObservation.d.ts.map +1 -0
  280. package/dist/esm/data/payoutObservation.js +213 -0
  281. package/dist/esm/data/payoutObservation.js.map +1 -0
  282. package/dist/esm/data/queue.d.ts.map +1 -1
  283. package/dist/esm/data/queue.js +4 -2
  284. package/dist/esm/data/queue.js.map +1 -1
  285. package/dist/esm/data/receipt.d.ts +4 -0
  286. package/dist/esm/data/receipt.d.ts.map +1 -1
  287. package/dist/esm/data/receipt.js +5 -2
  288. package/dist/esm/data/receipt.js.map +1 -1
  289. package/dist/esm/data/threads.d.ts +3 -1
  290. package/dist/esm/data/threads.d.ts.map +1 -1
  291. package/dist/esm/data/threads.js +6 -4
  292. package/dist/esm/data/threads.js.map +1 -1
  293. package/dist/esm/data/traceWords.d.ts +4 -0
  294. package/dist/esm/data/traceWords.d.ts.map +1 -1
  295. package/dist/esm/data/traceWords.js +16 -4
  296. package/dist/esm/data/traceWords.js.map +1 -1
  297. package/dist/esm/data/types.js +1 -1
  298. package/dist/esm/data/types.js.map +1 -1
  299. package/dist/esm/rubric/call.d.ts +5 -0
  300. package/dist/esm/rubric/call.d.ts.map +1 -1
  301. package/dist/esm/rubric/call.js +7 -0
  302. package/dist/esm/rubric/call.js.map +1 -1
  303. package/dist/esm/rubric/callChecks.d.ts +2 -0
  304. package/dist/esm/rubric/callChecks.d.ts.map +1 -1
  305. package/dist/esm/rubric/callChecks.js +4 -0
  306. package/dist/esm/rubric/callChecks.js.map +1 -1
  307. package/dist/esm/rubric/leg.d.ts +5 -7
  308. package/dist/esm/rubric/leg.d.ts.map +1 -1
  309. package/dist/esm/rubric/leg.js +7 -33
  310. package/dist/esm/rubric/leg.js.map +1 -1
  311. package/dist/esm/rubric/report.d.ts.map +1 -1
  312. package/dist/esm/rubric/report.js +4 -4
  313. package/dist/esm/rubric/report.js.map +1 -1
  314. package/dist/esm/rubric/reportTemplate.d.ts +6 -0
  315. package/dist/esm/rubric/reportTemplate.d.ts.map +1 -1
  316. package/dist/esm/rubric/reportTemplate.js +22 -14
  317. package/dist/esm/rubric/reportTemplate.js.map +1 -1
  318. package/dist/esm/rubric/terms.d.ts +6 -1
  319. package/dist/esm/rubric/terms.d.ts.map +1 -1
  320. package/dist/esm/rubric/terms.js +4 -4
  321. package/dist/esm/rubric/terms.js.map +1 -1
  322. package/package.json +1 -1
@@ -1,38 +1,20 @@
1
- /*
2
- * Expert checkers: oracles that check answers by their OWN rules (each of their protocols' claim form `#vct` and
3
- * rubric `#rub`), as opposed to Openhands, which writes fresh rules for every ask. An oracle is an expert when its
4
- * `GET /v1/info` lists a non-empty `supportedProtocols` (eval-oracle's register gate 3 refuses every other protocol).
5
- *
6
- * Client-safe: the pure helpers (`fieldsFromClaimForm`, `validateFields`, `checkEnvelope`) import nothing; the chain
7
- * and network reads load `checkersRead.ts` lazily, server-side.
8
- *
9
- * Posting an ask on a checker's own rules (no per-ask protocol, no `#rub` of the ask's own):
10
- * - website: `createAskEntities(session, { ...input, protocol })` mints the deed alone and answers
11
- * `claimProtocolDid: protocol`; then `postAsk(..., { shape: { claimProtocolDid: protocol, ... } })` with NO
12
- * `claimDomainCard` (the poster does not control someone else's protocol) and `terms.checker` = the checker's
13
- * `address`, `checkRewardUixo` = the check's `priceBase` (0 when it bills per review) and `feeDenom` = its
14
- * `priceDenom` (a checker names its own coin; devnet's are IXO, not the network's PAY).
15
- * - MCP / worker agent: `createAsk(actor, { ...ask, protocol, feeDenom })`.
16
- * The collection then points at that protocol, so the engine resolves the checker's `#vct` and `#rub`; the checker
17
- * is hired like every ask's oracle, by its hire nudge (`/openhands/hire/:collectionId`).
18
- *
19
- * An answer to such an ask is `checkEnvelope(...)`: the form's answers at the root (what the checker's rubric reads,
20
- * `$.<name>`), beside the usual Openhands envelope fields.
21
- */
1
+ import { evidenceFileOf } from "./draftUploads.js";
22
2
  /** Ask the World's checker, by the address it signs as (devnet IXO-5583; testnet 2026-10-17). */
23
3
  export const ASK_THE_WORLD_CHECKERS = new Set(["ixo1qrk9dp4r2u8q5l9cs42yh4dne4pj3wynp4enwq", "ixo12mvzayzrzsvaud86jf9shy6q2nvkea3tygxhsh"]);
4
+ /** What an asker pays per AI check by IXO's own verifiers, on every network (owner, 2026-11-05): nothing. */
5
+ export const AI_CHECK_BASE = 0;
24
6
  /**
25
7
  * Asky Pro Checker: IXO's checker for Expert Review calls (call kind `review`), and their checker wherever it is deployed
26
8
  * (2026-10-26). By its oracle's URL and the account it signs verdicts as (its `/v1/info` `address`, the ask's
27
9
  * `terms.checker`), per network. Empty where it is not deployed yet.
28
10
  */
29
- export const ASKY_CHECKER_URLS = { devnet: "", testnet: "https://asky-checker.testnet.ixo.earth", mainnet: "https://asky-checker.ixo.earth" };
30
- export const ASKY_CHECKER_ADDRESSES = { devnet: "", testnet: "ixo149t76xlqg5u5dmpz7sjhlz7y0qktafv4z6qg9u", mainnet: "ixo1gmt3rxksd0ukzd228u67p3a34ew7sfl2shff9f" };
11
+ export const ASKY_CHECKER_URLS = { devnet: "https://asky-checker.devnet.ixo.earth", testnet: "https://asky-checker.testnet.ixo.earth", mainnet: "https://asky-checker.ixo.earth" };
12
+ export const ASKY_CHECKER_ADDRESSES = { devnet: "ixo1gqa2r5txa8xmrv7jr5z2chsn6x0d7ulmg238hg", testnet: "ixo149t76xlqg5u5dmpz7sjhlz7y0qktafv4z6qg9u", mainnet: "ixo1gmt3rxksd0ukzd228u67p3a34ew7sfl2shff9f" };
31
13
  /**
32
- * Its fee per check, escrowed on the ask in this coin, which is also the review's reward coin (owner and S3, 2026-10-26:
33
- * Expert Reviews pay in PAY, 1 PAY a check, on both networks as each /v1/info publishes it).
14
+ * Its fee per check, escrowed on the ask in this coin, which is also the review's reward coin (S3, 2026-10-26: Expert
15
+ * Reviews pay in PAY). Free to askers on every network (`AI_CHECK_BASE`, owner 2026-11-05; it was 1 PAY a check).
34
16
  */
35
- export const ASKY_CHECKER_FEES = { testnet: { base: 1_000_000, denom: "upay" }, mainnet: { base: 1_000_000, denom: "upay" } };
17
+ export const ASKY_CHECKER_FEES = { devnet: { base: AI_CHECK_BASE, denom: "upay" }, testnet: { base: AI_CHECK_BASE, denom: "upay" }, mainnet: { base: AI_CHECK_BASE, denom: "upay" } };
36
18
  export const ASKY_CHECKER_NAME = "Asky Pro Checker";
37
19
  export const askyCheckerUrl = (network) => ASKY_CHECKER_URLS[network] || null;
38
20
  /** Asky Pro Checker on `network`, to post a review call to, nudge and pay per check; null where it is not deployed. */
@@ -149,7 +131,8 @@ function surveyField(q, name, conditional) {
149
131
  const accept = type === "file" ? str(q.acceptedTypes) : undefined;
150
132
  return {
151
133
  name,
152
- label: words(q.title) ?? name,
134
+ /* Asky's report form (anchored on chain, so read as it is) says "(a file's id is its name without the extension)": said plainly here. */
135
+ label: (type === "file" && name === "evidence" ? words(q.title)?.replace(/\s*\([^)]*\bid\b[^)]*\)\s*$/i, "") : words(q.title)) ?? name,
153
136
  type,
154
137
  /* A question shown only on a condition may be left out, whatever its `isRequired` says (eval-oracle's work order). */
155
138
  required: q.isRequired === true && !conditional,
@@ -159,10 +142,12 @@ function surveyField(q, name, conditional) {
159
142
  ...(accept ? { accept } : {}),
160
143
  ...(type === "file" && q.allowMultiple === true ? { multiple: true } : {}),
161
144
  ...(type === "panel"
162
- ? { fields: surveyFields(list(q.templateElements), false, new Set()), ...(count(q.minPanelCount) !== undefined ? { min: count(q.minPanelCount) } : {}), ...(count(q.maxPanelCount) !== undefined ? { max: count(q.maxPanelCount) } : {}) }
145
+ ? { fields: plainRows(surveyFields(list(q.templateElements), false, new Set())), ...(count(q.minPanelCount) !== undefined ? { min: count(q.minPanelCount) } : {}), ...(count(q.maxPanelCount) !== undefined ? { max: count(q.maxPanelCount) } : {}) }
163
146
  : {})
164
147
  };
165
148
  }
149
+ /** A row's `evidence` list in plain words (the form titles it "Evidence (file ids)"): the screenshots for this step, or this problem. */
150
+ const plainRows = (rows) => rows.map((one) => (one.name === "evidence" && one.type === "list" ? { ...one, label: `Screenshots for this ${rows.some((other) => other.name === "result") ? "step" : "problem"}` } : one));
166
151
  function surveyFields(elements, conditional, seen) {
167
152
  const out = [];
168
153
  for (const element of elements) {
@@ -245,8 +230,19 @@ export function answersOf(fields, values) {
245
230
  out[name] = value;
246
231
  return out;
247
232
  }
248
- /** A file's id: its name without the extension (a step's or a finding's evidence may name either). */
249
- const stemOf = (name) => name.replace(/\.[^.]*$/, "");
233
+ /** Step results that were never carried out: only these may leave out what was expected and observed. */
234
+ export const STEP_NOT_DONE = ["not_tested", "excluded"];
235
+ /**
236
+ * A report's steps rule (Asky Pro Checker's ASKY-102, report.ts's `reportProblems`): in a panel of steps (rows with a
237
+ * `result` and `expected`/`observed`), a step that was done must say what was expected and what was observed, though
238
+ * the form itself marks both optional (its conditional rule lives in the rubric, not the form). The names a row needs.
239
+ */
240
+ export function stepNeeds(panel, row) {
241
+ const names = new Set((panel.fields ?? []).map((one) => one.name));
242
+ if (!names.has("result") || !names.has("expected") || !names.has("observed"))
243
+ return [];
244
+ return STEP_NOT_DONE.includes(String(row?.result ?? "")) ? [] : ["expected", "observed"];
245
+ }
250
246
  /** Plain-word problems with `values` against `fields`; empty = ok. */
251
247
  export function validateFields(fields, given, where = "") {
252
248
  const values = where ? given : answersOf(fields, given);
@@ -256,7 +252,7 @@ export function validateFields(fields, given, where = "") {
256
252
  const value = values[field.name];
257
253
  if (isEmpty(value)) {
258
254
  if (field.required)
259
- problems.push(`${label} is needed.`);
255
+ problems.push(`${label} ${field.type === "list" ? "are" : "is"} needed.`);
260
256
  continue;
261
257
  }
262
258
  switch (field.type) {
@@ -293,14 +289,20 @@ export function validateFields(fields, given, where = "") {
293
289
  break;
294
290
  case "panel": {
295
291
  if (!Array.isArray(value) || !value.every((row) => row && typeof row === "object" && !Array.isArray(row))) {
296
- problems.push(`${label} must be a list of rows, each with its own answers.`);
292
+ problems.push(`${label} must be a list of rows, each with its own fields.`);
297
293
  break;
298
294
  }
299
295
  if (field.min !== undefined && value.length < field.min)
300
296
  problems.push(`${label} needs at least ${field.min} ${field.min === 1 ? "row" : "rows"}.`);
301
297
  if (field.max !== undefined && value.length > field.max)
302
298
  problems.push(`${label} takes at most ${field.max} rows.`);
303
- value.forEach((row, index) => problems.push(...validateFields(field.fields ?? [], row, `${label}, row ${index + 1}: `)));
299
+ value.forEach((row, index) => {
300
+ const where = `${label}, row ${index + 1}: `;
301
+ problems.push(...validateFields(field.fields ?? [], row, where));
302
+ for (const sub of field.fields ?? [])
303
+ if (stepNeeds(field, row).includes(sub.name) && isEmpty(row[sub.name]))
304
+ problems.push(`${where}${sub.label} is needed: a step you did says what you expected and what you observed (only a step not tested or left out may skip them).`);
305
+ });
304
306
  break;
305
307
  }
306
308
  default:
@@ -322,22 +324,22 @@ export function validateFields(fields, given, where = "") {
322
324
  }
323
325
  /**
324
326
  * A form with a root file question `evidence` and rows whose `evidence` names files (Asky Pro Checker's report form):
325
- * every id a row names must be one of those files, by its name without the extension or in full. The checker refuses
326
- * the answer otherwise, after it is paid for.
327
+ * every id a row names must be one of those files, by its name (`evidenceFileOf`, the one forgiving rule the send page
328
+ * and the report viewer use; the send page stores the file's own id). The checker refuses the answer otherwise, after
329
+ * it is paid for.
327
330
  */
328
331
  function unlinkedEvidence(fields, values) {
329
332
  const root = fields.find((field) => field.name === "evidence" && field.type === "file");
330
333
  if (!root)
331
334
  return [];
332
- const names = filesOf(values.evidence).filter(isFile).map((file) => file.name);
333
- const ids = new Set([...names, ...names.map(stemOf)]);
335
+ const files = filesOf(values.evidence).filter(isFile).map((file) => ({ id: file.name, name: file.name }));
334
336
  const problems = [];
335
337
  for (const panel of fields.filter((field) => field.type === "panel" && field.fields?.some((one) => one.name === "evidence" && one.type === "list"))) {
336
338
  const rows = Array.isArray(values[panel.name]) ? values[panel.name] : [];
337
339
  rows.forEach((row, index) => {
338
- const missing = (Array.isArray(row?.evidence) ? row.evidence : []).filter((id) => typeof id === "string" && !ids.has(id.trim()));
340
+ const missing = (Array.isArray(row?.evidence) ? row.evidence : []).filter((id) => typeof id === "string" && !evidenceFileOf(id.trim(), files));
339
341
  if (missing.length)
340
- problems.push(`${panel.label}, row ${index + 1}: evidence ${missing.map((id) => `"${String(id)}"`).join(", ")} is not a file attached under ${root.label.split(":")[0]} (a file's id is its name without the extension${names.length ? `: ${[...new Set(names.map(stemOf))].join(", ")}` : ""}).`);
342
+ problems.push(`${panel.label}, row ${index + 1}: ${missing.map((id) => `"${String(id)}"`).join(", ")} ${missing.length === 1 ? "is" : "are"} not the name of a screenshot added here${files.length ? ` (added: ${files.map((one) => one.name).join(", ")})` : ""}. Add ${missing.length === 1 ? "that screenshot" : "those screenshots"}, or pick one that is added.`);
341
343
  });
342
344
  }
343
345
  return problems;
@@ -1 +1 @@
1
- {"version":3,"file":"checkers.js","sourceRoot":"","sources":["../../../src/data/checkers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkers.js","sourceRoot":"","sources":["../../../src/data/checkers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /** The network identifiers a decision must name before its details are attributed to a completion. */
2
+ export interface DecisionIdentity {
3
+ claimId: string;
4
+ collectionId: string;
5
+ }
6
+ /** Exact identity only; missing or legacy fields are not evidence of a match. */
7
+ export declare function matchesDecisionIdentity(value: unknown, expected: DecisionIdentity): boolean;
8
+ /** `/api/check` supplies both identifiers under `engine` for engine records. */
9
+ export declare function matchesCheckIdentity(value: unknown, expected: DecisionIdentity): boolean;
10
+ //# sourceMappingURL=decisionIdentity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decisionIdentity.d.ts","sourceRoot":"","sources":["../../../src/data/decisionIdentity.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAI3F;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAIxF"}
@@ -0,0 +1,15 @@
1
+ /** Exact identity only; missing or legacy fields are not evidence of a match. */
2
+ export function matchesDecisionIdentity(value, expected) {
3
+ if (!expected.claimId || !expected.collectionId || !value || typeof value !== "object" || Array.isArray(value))
4
+ return false;
5
+ const record = value;
6
+ return record.claimId === expected.claimId && record.collectionId === expected.collectionId;
7
+ }
8
+ /** `/api/check` supplies both identifiers under `engine` for engine records. */
9
+ export function matchesCheckIdentity(value, expected) {
10
+ if (!value || typeof value !== "object" || Array.isArray(value))
11
+ return false;
12
+ const check = value;
13
+ return check.found === true && matchesDecisionIdentity(check.engine, expected);
14
+ }
15
+ //# sourceMappingURL=decisionIdentity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decisionIdentity.js","sourceRoot":"","sources":["../../../src/data/decisionIdentity.ts"],"names":[],"mappings":"AAMA,iFAAiF;AACjF,MAAM,UAAU,uBAAuB,CAAC,KAAc,EAAE,QAA0B;IAChF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7H,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,CAAC;AAC9F,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAAC,KAAc,EAAE,QAA0B;IAC7E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,KAAK,GAAG,KAAgC,CAAC;IAC/C,OAAO,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,uBAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjF,CAAC"}
@@ -11,6 +11,11 @@ import { type Network, network } from "../network.ts";
11
11
  export * from "./docPath.ts";
12
12
  export { network };
13
13
  export declare const vfsUrlFor: (net: Network) => string;
14
+ /**
15
+ * The origin clients are handed for the worker: empty when none is configured (the feature is off), the configured one
16
+ * when it is a local `wrangler dev`, else the network's public API origin whatever host the deployment calls the worker by.
17
+ */
18
+ export declare const clientApiOrigin: (net: Network, configured: string | undefined) => string;
14
19
  export declare const subscriptionsUrlFor: (net: Network) => string;
15
20
  export declare const DEFAULT_IPFS_GATEWAY_URL = "https://ipfs.gateway.ixo.world";
16
21
  /** The filesystem worker for this network. Override with `NEXT_PUBLIC_VFS_URL` (local `wrangler dev`) or `configure({ vfsUrl })`. */
@@ -1 +1 @@
1
- {"version":3,"file":"docUrls.d.ts","sourceRoot":"","sources":["../../../src/data/docUrls.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,KAAK,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGtD,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAE,CAAC;AASnB,eAAO,MAAM,SAAS,GAAI,KAAK,OAAO,KAAG,MAA6B,CAAC;AASvE,eAAO,MAAM,mBAAmB,GAAI,KAAK,OAAO,KAAG,MAAuC,CAAC;AAE3F,eAAO,MAAM,wBAAwB,mCAAmC,CAAC;AAEzE,qIAAqI;AACrI,eAAO,MAAM,MAAM,QAAO,MACqH,CAAC;AAEhJ,iLAAiL;AACjL,eAAO,MAAM,UAAU,QAAO,MAAmH,CAAC;AAElJ,uGAAuG;AACvG,eAAO,MAAM,cAAc,QAAO,MAC6H,CAAC;AAEhK,mFAAmF;AACnF,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAAyC,CAAC;AAElF,0CAA0C;AAC1C,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAA2C,CAAC;AAErF,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,aAAa,MAAM,KAAG,MAAqF,CAAC;AAEtJ,uEAAuE;AACvE,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAGrE,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,QAAQ,QAAO,MAAM,EAA8D,CAAC"}
1
+ {"version":3,"file":"docUrls.d.ts","sourceRoot":"","sources":["../../../src/data/docUrls.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,KAAK,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGtD,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAE,CAAC;AASnB,eAAO,MAAM,SAAS,GAAI,KAAK,OAAO,KAAG,MAA6B,CAAC;AAgBvE;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,EAAE,YAAY,MAAM,GAAG,SAAS,KAAG,MAI9E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,KAAK,OAAO,KAAG,MAAuC,CAAC;AAE3F,eAAO,MAAM,wBAAwB,mCAAmC,CAAC;AAEzE,qIAAqI;AACrI,eAAO,MAAM,MAAM,QAAO,MACqH,CAAC;AAEhJ,iLAAiL;AACjL,eAAO,MAAM,UAAU,QAAO,MAAmH,CAAC;AAElJ,uGAAuG;AACvG,eAAO,MAAM,cAAc,QAAO,MAC6H,CAAC;AAEhK,mFAAmF;AACnF,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAAyC,CAAC;AAElF,0CAA0C;AAC1C,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAA2C,CAAC;AAErF,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,aAAa,MAAM,KAAG,MAAqF,CAAC;AAEtJ,uEAAuE;AACvE,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAGrE,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,QAAQ,QAAO,MAAM,EAA8D,CAAC"}
@@ -26,6 +26,22 @@ const SUBSCRIPTIONS_BY_NETWORK = {
26
26
  testnet: "https://subscriptions-api-testnet.ixo-api.workers.dev",
27
27
  mainnet: "https://subscriptions-api-mainnet.ixo-api.workers.dev"
28
28
  };
29
+ /** The public API origin each network's worker answers on: what clients (and sandbox allow-lists) see, never the workers.dev host. */
30
+ const API_ORIGIN_BY_NETWORK = {
31
+ devnet: "https://dev.api.asks.world",
32
+ testnet: "https://test.api.asks.world",
33
+ mainnet: "https://api.asks.world"
34
+ };
35
+ /**
36
+ * The origin clients are handed for the worker: empty when none is configured (the feature is off), the configured one
37
+ * when it is a local `wrangler dev`, else the network's public API origin whatever host the deployment calls the worker by.
38
+ */
39
+ export const clientApiOrigin = (net, configured) => {
40
+ const set = (configured || "").trim().replace(/\/+$/, "");
41
+ if (!set)
42
+ return "";
43
+ return /^https?:\/\/(localhost|127\.0\.0\.1)(:|\/|$)/.test(set) ? set : API_ORIGIN_BY_NETWORK[net];
44
+ };
29
45
  export const subscriptionsUrlFor = (net) => SUBSCRIPTIONS_BY_NETWORK[net];
30
46
  export const DEFAULT_IPFS_GATEWAY_URL = "https://ipfs.gateway.ixo.world";
31
47
  /** The filesystem worker for this network. Override with `NEXT_PUBLIC_VFS_URL` (local `wrangler dev`) or `configure({ vfsUrl })`. */
@@ -1 +1 @@
1
- {"version":3,"file":"docUrls.js","sourceRoot":"","sources":["../../../src/data/docUrls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docUrls.js","sourceRoot":"","sources":["../../../src/data/docUrls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Files attached to a submit_work draft before the person opens it (docs/MCP.md "Files from the chat"; migration
3
+ * 0059). The add-on to the one-tap answer: submit_work saves a draft as always, and beside its link hands an agent
4
+ * that can make HTTP requests (Companion, Claude Code, Codex, claude.ai with code execution) one upload address for
5
+ * that draft. At the address the agent states each file's name, type and size and gets a signed R2 URL to PUT it
6
+ * to; the worker then checks what landed. The ask's own answer page (`/submit/<n>?draft=…`) opens with the files in
7
+ * place, and sends them on its own rails when the person taps Send, signed as themselves. Without an upload, nothing
8
+ * changes: the person adds the files on the page, as before.
9
+ *
10
+ * The rules every side shares (the worker's store, the connector, the page), so no two can disagree on a type, a
11
+ * size or a name. Pure; nothing a phone's first load pays for.
12
+ */
13
+ /** An upload address's secret: `du_` and 256 random bits, base64url. Kept on the worker only as its sha256. */
14
+ export declare const UPLOAD_TOKEN: RegExp;
15
+ /** An upload address works for an hour from when submit_work made it, and never past its draft. */
16
+ export declare const UPLOAD_TTL_MS: number;
17
+ /** Files go a day after their draft was sent or expired (the scheduled prune, workers/src/draftUploads.ts). */
18
+ export declare const UPLOAD_PURGE_AFTER_MS: number;
19
+ /** A signed PUT URL works for 10 minutes (and binds the file's stated type and size). */
20
+ export declare const UPLOAD_URL_TTL_S = 600;
21
+ /** Per file. Under the answer page's own ceiling (`MAX_PROOF_BYTES`), so a file from the chat always fits the page. */
22
+ export declare const MAX_UPLOAD_BYTES = 5000000;
23
+ /** Per draft (under the report form's own `MAX_FILES`, app/submit/[id]/ReviewForm.tsx). */
24
+ export declare const MAX_UPLOAD_FILES = 10;
25
+ /** Per draft, all files together. */
26
+ export declare const MAX_DRAFT_UPLOAD_BYTES = 25000000;
27
+ /** Per person, across every draft whose files are still kept. */
28
+ export declare const MAX_OWNER_UPLOAD_BYTES = 50000000;
29
+ /** A words answer takes one file on its page (the photo beside the words, or the ask's file): no more are kept for it. */
30
+ export declare const MAX_WORDS_UPLOADS = 1;
31
+ export declare const UPLOAD_TYPES: readonly ["png", "jpg", "webp", "pdf"];
32
+ export type UploadType = (typeof UPLOAD_TYPES)[number];
33
+ export declare const UPLOAD_MEDIA: Readonly<Record<UploadType, string>>;
34
+ /** In words, for a refusal or the tool's answer. */
35
+ export declare const UPLOAD_TYPE_WORDS: Readonly<Record<UploadType, string>>;
36
+ /**
37
+ * What the bytes are, by their own first bytes, never by a name or a header: PNG's signature, JPEG's start of image,
38
+ * RIFF…WEBP, `%PDF-`. Anything else is null, whatever it is called.
39
+ */
40
+ export declare function sniffUpload(bytes: Uint8Array): UploadType | null;
41
+ /** The longest file id: the same on every side (an evidence id, `uploadIdOf`, rubric/report.ts `FILE_ID`). */
42
+ export declare const MAX_FILE_ID = 64;
43
+ /** The type a name says it is, or null for a name an upload refuses. */
44
+ export declare function uploadTypeOfName(name: string): UploadType | null;
45
+ /**
46
+ * A file's id, the one rule every side uses (submit_work's `files`, this upload address, the answer page's forms):
47
+ * its name without the folder or the extension, in an evidence id's letters (rubric/report.ts `FILE_ID`), spaces and
48
+ * punctuation as dashes. At most `MAX_FILE_ID` letters, the same as every evidence id (`FILE_ID`), so a long id still
49
+ * names its own file.
50
+ */
51
+ export declare function uploadIdOf(path: string): string;
52
+ /** A file's name or an evidence id as matching reads it: no folder, extension or copy mark (" (1)", " copy"), lower case, one dash between words. */
53
+ export declare const evidenceKey: (name: string) => string;
54
+ /**
55
+ * The one file a step's or a finding's evidence means, the one forgiving rule every side uses (the send page, the
56
+ * upload address, the report's check and its viewer): the file with that exact id first; else the one whose id or
57
+ * name reads the same by `evidenceKey` ("Login Error.png", "login_error.PNG", "login-error (1).png" for
58
+ * "login-error"); else the one that holds it as whole words ("screenshot-login-error.png"). None, or two that fit
59
+ * as well, is no match. What is stored keeps the file's own id.
60
+ */
61
+ export declare function evidenceFileOf<F extends {
62
+ id: string;
63
+ name?: string;
64
+ }>(cited: string, files: readonly F[]): F | undefined;
65
+ /** `evidenceFileOf` over bare ids: the held id a cited one means, or undefined. */
66
+ export declare const evidenceIdIn: (cited: string, ids: Iterable<string>) => string | undefined;
67
+ /**
68
+ * Every `evidence` list at any depth, each id as the file `held` it means (`evidenceIdIn`), so what is stored names the
69
+ * file's own id; an id with no file (a removed one, or one restored with none) is dropped.
70
+ */
71
+ export declare function keepHeldEvidence<T>(value: T, held: Iterable<string>): T;
72
+ /** Hex sha256 of bytes or text (the upload secret's stored hash; the report form's evidence hashes). */
73
+ export declare function sha256Hex(data: Uint8Array | string): Promise<string>;
74
+ /** The type a stated Content-Type names, or null ("image/jpg" is a JPG too). */
75
+ export declare function uploadTypeOfMedia(contentType: string): UploadType | null;
76
+ /** Which of the four a form question's `accept` takes (`image/*`, `image/png`, `.pdf`…); none said is all four. */
77
+ export declare function uploadTypesOfAccept(accept?: string): UploadType[];
78
+ /** A form question, as far as the chat's files care. */
79
+ export interface FileQuestion {
80
+ name: string;
81
+ type: string;
82
+ accept?: string;
83
+ multiple?: boolean;
84
+ }
85
+ /**
86
+ * The one question of a verifier's form the chat's files go on: its `evidence` file question, else its first file
87
+ * question; null for a form with none. The connector sizes the upload address by it and the page places files on it.
88
+ */
89
+ export declare const chatFileQuestion: <Q extends FileQuestion>(fields: readonly Q[]) => Q | null;
90
+ /**
91
+ * What one draft's address takes, decided by submit_work from the answer it drafted and kept with the address:
92
+ *
93
+ * - `expect`: the file ids the answer names (a report's or a form's evidence, and submit_work's `files`). A file
94
+ * whose id is one of them is taken.
95
+ * - `extra`: how many files with other names it takes besides (a words answer's one file; 0 for a report or a form,
96
+ * which take only the names they expect).
97
+ * - `types`: what the page can take for this answer (a words-only ask's photo is a JPG or PNG; otherwise all four).
98
+ */
99
+ export interface UploadSpec {
100
+ expect: string[];
101
+ extra: number;
102
+ types: UploadType[];
103
+ }
104
+ /** set_my_page's photo (the `set_page_photo` draft): one image, any name, never a PDF. The worker keeps this spec whatever the connector sent. */
105
+ export declare const PHOTO_UPLOAD_SPEC: UploadSpec;
106
+ /** The drafts an upload address can be opened on. */
107
+ export declare const UPLOAD_ACTIONS: readonly string[];
108
+ /** Why a spec is not one the store keeps, or null. */
109
+ export declare function uploadSpecProblem(raw: unknown): string | null;
110
+ /**
111
+ * Whether a file with this id may be kept, given the ids already kept: one the answer expects, a re-upload of one
112
+ * already kept (it replaces it), or a new one while the extras last. The code names what is wrong.
113
+ */
114
+ /** The id an uploaded file is kept under: the one id the answer names that means it (`evidenceIdIn`: "Login Error.png" for "login-error"), else its own. */
115
+ export declare function uploadIdFor(spec: UploadSpec, name: string): string;
116
+ export declare function uploadNameAllowed(spec: UploadSpec, id: string, kept: readonly string[]): "ok" | "unexpected-name" | "too-many-files";
117
+ /** What an upload refusal says, in plain words for the agent that tried. */
118
+ export declare function uploadRefusalWords(code: string, spec?: UploadSpec | null): string;
119
+ /** Why a file that came was not kept, in a few words: for link_status, the agent's list and the answer page. */
120
+ export declare const UPLOAD_REFUSAL_SHORT: Readonly<Record<string, string>>;
121
+ export declare const uploadRefusalShort: (code: string) => string;
122
+ /** What is attached to a draft, as its owner's status and its page read it. */
123
+ export interface DraftFiles {
124
+ /** How many files are kept for it now (checked: the right size and type). */
125
+ attached: number;
126
+ names: string[];
127
+ /** Files that came and were deleted, and why (a code of `UPLOAD_REFUSAL_SHORT`). */
128
+ refused?: {
129
+ name: string;
130
+ code: string;
131
+ }[];
132
+ /** The ids the answer names that have no file yet: only once the agent has used the address (else nothing is said). */
133
+ missing: string[];
134
+ /** Files with an upload URL issued but not yet checked; they may not have arrived. */
135
+ waiting?: string[];
136
+ /** Whether the address still takes uploads. */
137
+ open: boolean;
138
+ /** When the address stops taking uploads. */
139
+ expiresAt: number;
140
+ }
141
+ /** "2 files attached (login.png, crash.pdf); not received: settings." for link_status and the report page. */
142
+ export declare function draftFilesWords(files: DraftFiles): string;
143
+ /** The evidence ids an answer names: every string in an `evidence` list, at any depth (a report's steps and findings, a form's rows). */
144
+ export declare function evidenceIdsOf(value: unknown, found?: Set<string>, depth?: number): string[];
145
+ //# sourceMappingURL=draftUploads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draftUploads.d.ts","sourceRoot":"","sources":["../../../src/data/draftUploads.ts"],"names":[],"mappings":"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"}