@ixo/openhands-sdk 0.0.0-stage → 0.1.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 (1205) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +246 -2
  3. package/dist/cjs/board.d.ts +20 -0
  4. package/dist/cjs/board.d.ts.map +1 -0
  5. package/dist/cjs/board.js +60 -0
  6. package/dist/cjs/board.js.map +1 -0
  7. package/dist/cjs/campaign/badges.d.ts +30 -0
  8. package/dist/cjs/campaign/badges.d.ts.map +1 -0
  9. package/dist/cjs/campaign/badges.js +69 -0
  10. package/dist/cjs/campaign/badges.js.map +1 -0
  11. package/dist/cjs/campaign/bands.d.ts +161 -0
  12. package/dist/cjs/campaign/bands.d.ts.map +1 -0
  13. package/dist/cjs/campaign/bands.js +186 -0
  14. package/dist/cjs/campaign/bands.js.map +1 -0
  15. package/dist/cjs/campaign/campaign.d.ts +50 -0
  16. package/dist/cjs/campaign/campaign.d.ts.map +1 -0
  17. package/dist/cjs/campaign/campaign.js +183 -0
  18. package/dist/cjs/campaign/campaign.js.map +1 -0
  19. package/dist/cjs/campaign/campaigns.d.ts +2 -0
  20. package/dist/cjs/campaign/campaigns.d.ts.map +1 -0
  21. package/dist/cjs/campaign/campaigns.js +37 -0
  22. package/dist/cjs/campaign/campaigns.js.map +1 -0
  23. package/dist/cjs/campaign/cleanable.d.ts +13 -0
  24. package/dist/cjs/campaign/cleanable.d.ts.map +1 -0
  25. package/dist/cjs/campaign/cleanable.js +6 -0
  26. package/dist/cjs/campaign/cleanable.js.map +1 -0
  27. package/dist/cjs/campaign/cleanup.d.ts +78 -0
  28. package/dist/cjs/campaign/cleanup.d.ts.map +1 -0
  29. package/dist/cjs/campaign/cleanup.js +132 -0
  30. package/dist/cjs/campaign/cleanup.js.map +1 -0
  31. package/dist/cjs/campaign/commit.d.ts +39 -0
  32. package/dist/cjs/campaign/commit.d.ts.map +1 -0
  33. package/dist/cjs/campaign/commit.js +43 -0
  34. package/dist/cjs/campaign/commit.js.map +1 -0
  35. package/dist/cjs/campaign/field.d.ts +50 -0
  36. package/dist/cjs/campaign/field.d.ts.map +1 -0
  37. package/dist/cjs/campaign/field.js +94 -0
  38. package/dist/cjs/campaign/field.js.map +1 -0
  39. package/dist/cjs/campaign/fold.d.ts +227 -0
  40. package/dist/cjs/campaign/fold.d.ts.map +1 -0
  41. package/dist/cjs/campaign/fold.js +459 -0
  42. package/dist/cjs/campaign/fold.js.map +1 -0
  43. package/dist/cjs/campaign/funding.d.ts +153 -0
  44. package/dist/cjs/campaign/funding.d.ts.map +1 -0
  45. package/dist/cjs/campaign/funding.js +168 -0
  46. package/dist/cjs/campaign/funding.js.map +1 -0
  47. package/dist/cjs/campaign/landing.d.ts +20 -0
  48. package/dist/cjs/campaign/landing.d.ts.map +1 -0
  49. package/dist/cjs/campaign/landing.js +54 -0
  50. package/dist/cjs/campaign/landing.js.map +1 -0
  51. package/dist/cjs/campaign/pledges.d.ts +237 -0
  52. package/dist/cjs/campaign/pledges.d.ts.map +1 -0
  53. package/dist/cjs/campaign/pledges.js +235 -0
  54. package/dist/cjs/campaign/pledges.js.map +1 -0
  55. package/dist/cjs/campaign/pledgesChain.d.ts +58 -0
  56. package/dist/cjs/campaign/pledgesChain.d.ts.map +1 -0
  57. package/dist/cjs/campaign/pledgesChain.js +102 -0
  58. package/dist/cjs/campaign/pledgesChain.js.map +1 -0
  59. package/dist/cjs/campaign/pool.d.ts +137 -0
  60. package/dist/cjs/campaign/pool.d.ts.map +1 -0
  61. package/dist/cjs/campaign/pool.js +237 -0
  62. package/dist/cjs/campaign/pool.js.map +1 -0
  63. package/dist/cjs/campaign/record.d.ts +115 -0
  64. package/dist/cjs/campaign/record.d.ts.map +1 -0
  65. package/dist/cjs/campaign/record.js +291 -0
  66. package/dist/cjs/campaign/record.js.map +1 -0
  67. package/dist/cjs/campaign/rule.d.ts +311 -0
  68. package/dist/cjs/campaign/rule.d.ts.map +1 -0
  69. package/dist/cjs/campaign/rule.js +210 -0
  70. package/dist/cjs/campaign/rule.js.map +1 -0
  71. package/dist/cjs/campaign/spot.d.ts +37 -0
  72. package/dist/cjs/campaign/spot.d.ts.map +1 -0
  73. package/dist/cjs/campaign/spot.js +170 -0
  74. package/dist/cjs/campaign/spot.js.map +1 -0
  75. package/dist/cjs/campaign/spots.d.ts +437 -0
  76. package/dist/cjs/campaign/spots.d.ts.map +1 -0
  77. package/dist/cjs/campaign/spots.js +790 -0
  78. package/dist/cjs/campaign/spots.js.map +1 -0
  79. package/dist/cjs/campaign/standings.d.ts +236 -0
  80. package/dist/cjs/campaign/standings.d.ts.map +1 -0
  81. package/dist/cjs/campaign/standings.js +372 -0
  82. package/dist/cjs/campaign/standings.js.map +1 -0
  83. package/dist/cjs/campaign/treasurySends.d.ts +116 -0
  84. package/dist/cjs/campaign/treasurySends.d.ts.map +1 -0
  85. package/dist/cjs/campaign/treasurySends.js +198 -0
  86. package/dist/cjs/campaign/treasurySends.js.map +1 -0
  87. package/dist/cjs/campaign.d.ts +29 -0
  88. package/dist/cjs/campaign.d.ts.map +1 -0
  89. package/dist/cjs/campaign.js +44 -0
  90. package/dist/cjs/campaign.js.map +1 -0
  91. package/dist/cjs/chain/account.d.ts +47 -0
  92. package/dist/cjs/chain/account.d.ts.map +1 -0
  93. package/dist/cjs/chain/account.js +196 -0
  94. package/dist/cjs/chain/account.js.map +1 -0
  95. package/dist/cjs/chain/accountProof.d.ts +135 -0
  96. package/dist/cjs/chain/accountProof.d.ts.map +1 -0
  97. package/dist/cjs/chain/accountProof.js +199 -0
  98. package/dist/cjs/chain/accountProof.js.map +1 -0
  99. package/dist/cjs/chain/allowance.d.ts +17 -0
  100. package/dist/cjs/chain/allowance.d.ts.map +1 -0
  101. package/dist/cjs/chain/allowance.js +81 -0
  102. package/dist/cjs/chain/allowance.js.map +1 -0
  103. package/dist/cjs/chain/allowanceRead.d.ts +2 -0
  104. package/dist/cjs/chain/allowanceRead.d.ts.map +1 -0
  105. package/dist/cjs/chain/allowanceRead.js +59 -0
  106. package/dist/cjs/chain/allowanceRead.js.map +1 -0
  107. package/dist/cjs/chain/ask.d.ts +211 -0
  108. package/dist/cjs/chain/ask.d.ts.map +1 -0
  109. package/dist/cjs/chain/ask.js +559 -0
  110. package/dist/cjs/chain/ask.js.map +1 -0
  111. package/dist/cjs/chain/bridge.d.ts +50 -0
  112. package/dist/cjs/chain/bridge.d.ts.map +1 -0
  113. package/dist/cjs/chain/bridge.js +82 -0
  114. package/dist/cjs/chain/bridge.js.map +1 -0
  115. package/dist/cjs/chain/broadcast.d.ts +40 -0
  116. package/dist/cjs/chain/broadcast.d.ts.map +1 -0
  117. package/dist/cjs/chain/broadcast.js +189 -0
  118. package/dist/cjs/chain/broadcast.js.map +1 -0
  119. package/dist/cjs/chain/delegate.d.ts +154 -0
  120. package/dist/cjs/chain/delegate.d.ts.map +1 -0
  121. package/dist/cjs/chain/delegate.js +245 -0
  122. package/dist/cjs/chain/delegate.js.map +1 -0
  123. package/dist/cjs/chain/encoding.d.ts +7 -0
  124. package/dist/cjs/chain/encoding.d.ts.map +1 -0
  125. package/dist/cjs/chain/encoding.js +29 -0
  126. package/dist/cjs/chain/encoding.js.map +1 -0
  127. package/dist/cjs/chain/env.d.ts +50 -0
  128. package/dist/cjs/chain/env.d.ts.map +1 -0
  129. package/dist/cjs/chain/env.js +89 -0
  130. package/dist/cjs/chain/env.js.map +1 -0
  131. package/dist/cjs/chain/gate.d.ts +12 -0
  132. package/dist/cjs/chain/gate.d.ts.map +1 -0
  133. package/dist/cjs/chain/gate.js +55 -0
  134. package/dist/cjs/chain/gate.js.map +1 -0
  135. package/dist/cjs/chain/grantPending.d.ts +31 -0
  136. package/dist/cjs/chain/grantPending.d.ts.map +1 -0
  137. package/dist/cjs/chain/grantPending.js +56 -0
  138. package/dist/cjs/chain/grantPending.js.map +1 -0
  139. package/dist/cjs/chain/guest.d.ts +97 -0
  140. package/dist/cjs/chain/guest.d.ts.map +1 -0
  141. package/dist/cjs/chain/guest.js +211 -0
  142. package/dist/cjs/chain/guest.js.map +1 -0
  143. package/dist/cjs/chain/iid.d.ts +26 -0
  144. package/dist/cjs/chain/iid.d.ts.map +1 -0
  145. package/dist/cjs/chain/iid.js +71 -0
  146. package/dist/cjs/chain/iid.js.map +1 -0
  147. package/dist/cjs/chain/money.d.ts +48 -0
  148. package/dist/cjs/chain/money.d.ts.map +1 -0
  149. package/dist/cjs/chain/money.js +72 -0
  150. package/dist/cjs/chain/money.js.map +1 -0
  151. package/dist/cjs/chain/oracle.d.ts +24 -0
  152. package/dist/cjs/chain/oracle.d.ts.map +1 -0
  153. package/dist/cjs/chain/oracle.js +46 -0
  154. package/dist/cjs/chain/oracle.js.map +1 -0
  155. package/dist/cjs/chain/pendingTransact.d.ts +31 -0
  156. package/dist/cjs/chain/pendingTransact.d.ts.map +1 -0
  157. package/dist/cjs/chain/pendingTransact.js +64 -0
  158. package/dist/cjs/chain/pendingTransact.js.map +1 -0
  159. package/dist/cjs/chain/query.d.ts +75 -0
  160. package/dist/cjs/chain/query.d.ts.map +1 -0
  161. package/dist/cjs/chain/query.js +171 -0
  162. package/dist/cjs/chain/query.js.map +1 -0
  163. package/dist/cjs/chain/send.d.ts +42 -0
  164. package/dist/cjs/chain/send.d.ts.map +1 -0
  165. package/dist/cjs/chain/send.js +54 -0
  166. package/dist/cjs/chain/send.js.map +1 -0
  167. package/dist/cjs/chain/session.d.ts +109 -0
  168. package/dist/cjs/chain/session.d.ts.map +1 -0
  169. package/dist/cjs/chain/session.js +145 -0
  170. package/dist/cjs/chain/session.js.map +1 -0
  171. package/dist/cjs/chain/signWith.d.ts +69 -0
  172. package/dist/cjs/chain/signWith.d.ts.map +1 -0
  173. package/dist/cjs/chain/signWith.js +277 -0
  174. package/dist/cjs/chain/signWith.js.map +1 -0
  175. package/dist/cjs/chain/signer.d.ts +38 -0
  176. package/dist/cjs/chain/signer.d.ts.map +1 -0
  177. package/dist/cjs/chain/signer.js +78 -0
  178. package/dist/cjs/chain/signer.js.map +1 -0
  179. package/dist/cjs/chain/signx.d.ts +233 -0
  180. package/dist/cjs/chain/signx.d.ts.map +1 -0
  181. package/dist/cjs/chain/signx.js +490 -0
  182. package/dist/cjs/chain/signx.js.map +1 -0
  183. package/dist/cjs/chain/sponsor.d.ts +2 -0
  184. package/dist/cjs/chain/sponsor.d.ts.map +1 -0
  185. package/dist/cjs/chain/sponsor.js +76 -0
  186. package/dist/cjs/chain/sponsor.js.map +1 -0
  187. package/dist/cjs/chain/store.d.ts +115 -0
  188. package/dist/cjs/chain/store.d.ts.map +1 -0
  189. package/dist/cjs/chain/store.js +212 -0
  190. package/dist/cjs/chain/store.js.map +1 -0
  191. package/dist/cjs/chain/subscription.d.ts +73 -0
  192. package/dist/cjs/chain/subscription.d.ts.map +1 -0
  193. package/dist/cjs/chain/subscription.js +248 -0
  194. package/dist/cjs/chain/subscription.js.map +1 -0
  195. package/dist/cjs/chain/takeBack.d.ts +114 -0
  196. package/dist/cjs/chain/takeBack.d.ts.map +1 -0
  197. package/dist/cjs/chain/takeBack.js +190 -0
  198. package/dist/cjs/chain/takeBack.js.map +1 -0
  199. package/dist/cjs/chain/union.d.ts +125 -0
  200. package/dist/cjs/chain/union.d.ts.map +1 -0
  201. package/dist/cjs/chain/union.js +338 -0
  202. package/dist/cjs/chain/union.js.map +1 -0
  203. package/dist/cjs/chain/webauthn.d.ts +22 -0
  204. package/dist/cjs/chain/webauthn.d.ts.map +1 -0
  205. package/dist/cjs/chain/webauthn.js +70 -0
  206. package/dist/cjs/chain/webauthn.js.map +1 -0
  207. package/dist/cjs/chain.d.ts +35 -0
  208. package/dist/cjs/chain.d.ts.map +1 -0
  209. package/dist/cjs/chain.js +119 -0
  210. package/dist/cjs/chain.js.map +1 -0
  211. package/dist/cjs/config.d.ts +120 -0
  212. package/dist/cjs/config.d.ts.map +1 -0
  213. package/dist/cjs/config.js +128 -0
  214. package/dist/cjs/config.js.map +1 -0
  215. package/dist/cjs/data/accept.d.ts +69 -0
  216. package/dist/cjs/data/accept.d.ts.map +1 -0
  217. package/dist/cjs/data/accept.js +192 -0
  218. package/dist/cjs/data/accept.js.map +1 -0
  219. package/dist/cjs/data/agent.d.ts +87 -0
  220. package/dist/cjs/data/agent.d.ts.map +1 -0
  221. package/dist/cjs/data/agent.js +112 -0
  222. package/dist/cjs/data/agent.js.map +1 -0
  223. package/dist/cjs/data/askFilter.d.ts +45 -0
  224. package/dist/cjs/data/askFilter.d.ts.map +1 -0
  225. package/dist/cjs/data/askFilter.js +53 -0
  226. package/dist/cjs/data/askFilter.js.map +1 -0
  227. package/dist/cjs/data/authenticators.d.ts +35 -0
  228. package/dist/cjs/data/authenticators.d.ts.map +1 -0
  229. package/dist/cjs/data/authenticators.js +76 -0
  230. package/dist/cjs/data/authenticators.js.map +1 -0
  231. package/dist/cjs/data/balance.d.ts +39 -0
  232. package/dist/cjs/data/balance.d.ts.map +1 -0
  233. package/dist/cjs/data/balance.js +119 -0
  234. package/dist/cjs/data/balance.js.map +1 -0
  235. package/dist/cjs/data/board/assemble.d.ts +140 -0
  236. package/dist/cjs/data/board/assemble.d.ts.map +1 -0
  237. package/dist/cjs/data/board/assemble.js +556 -0
  238. package/dist/cjs/data/board/assemble.js.map +1 -0
  239. package/dist/cjs/data/board/coverage.d.ts +112 -0
  240. package/dist/cjs/data/board/coverage.d.ts.map +1 -0
  241. package/dist/cjs/data/board/coverage.js +192 -0
  242. package/dist/cjs/data/board/coverage.js.map +1 -0
  243. package/dist/cjs/data/board/facts.d.ts +63 -0
  244. package/dist/cjs/data/board/facts.d.ts.map +1 -0
  245. package/dist/cjs/data/board/facts.js +137 -0
  246. package/dist/cjs/data/board/facts.js.map +1 -0
  247. package/dist/cjs/data/board/fixtures.d.ts +21 -0
  248. package/dist/cjs/data/board/fixtures.d.ts.map +1 -0
  249. package/dist/cjs/data/board/fixtures.js +46 -0
  250. package/dist/cjs/data/board/fixtures.js.map +1 -0
  251. package/dist/cjs/data/board/query.d.ts +12 -0
  252. package/dist/cjs/data/board/query.d.ts.map +1 -0
  253. package/dist/cjs/data/board/query.js +82 -0
  254. package/dist/cjs/data/board/query.js.map +1 -0
  255. package/dist/cjs/data/board/rank.d.ts +22 -0
  256. package/dist/cjs/data/board/rank.d.ts.map +1 -0
  257. package/dist/cjs/data/board/rank.js +51 -0
  258. package/dist/cjs/data/board/rank.js.map +1 -0
  259. package/dist/cjs/data/board/read.d.ts +102 -0
  260. package/dist/cjs/data/board/read.d.ts.map +1 -0
  261. package/dist/cjs/data/board/read.js +211 -0
  262. package/dist/cjs/data/board/read.js.map +1 -0
  263. package/dist/cjs/data/board/series.d.ts +50 -0
  264. package/dist/cjs/data/board/series.d.ts.map +1 -0
  265. package/dist/cjs/data/board/series.js +161 -0
  266. package/dist/cjs/data/board/series.js.map +1 -0
  267. package/dist/cjs/data/board/trust.d.ts +31 -0
  268. package/dist/cjs/data/board/trust.d.ts.map +1 -0
  269. package/dist/cjs/data/board/trust.js +53 -0
  270. package/dist/cjs/data/board/trust.js.map +1 -0
  271. package/dist/cjs/data/board/types.d.ts +338 -0
  272. package/dist/cjs/data/board/types.d.ts.map +1 -0
  273. package/dist/cjs/data/board/types.js +88 -0
  274. package/dist/cjs/data/board/types.js.map +1 -0
  275. package/dist/cjs/data/board/url.d.ts +22 -0
  276. package/dist/cjs/data/board/url.d.ts.map +1 -0
  277. package/dist/cjs/data/board/url.js +70 -0
  278. package/dist/cjs/data/board/url.js.map +1 -0
  279. package/dist/cjs/data/board/words.d.ts +25 -0
  280. package/dist/cjs/data/board/words.d.ts.map +1 -0
  281. package/dist/cjs/data/board/words.js +60 -0
  282. package/dist/cjs/data/board/words.js.map +1 -0
  283. package/dist/cjs/data/cid.d.ts +49 -0
  284. package/dist/cjs/data/cid.d.ts.map +1 -0
  285. package/dist/cjs/data/cid.js +91 -0
  286. package/dist/cjs/data/cid.js.map +1 -0
  287. package/dist/cjs/data/concurrency.d.ts +14 -0
  288. package/dist/cjs/data/concurrency.d.ts.map +1 -0
  289. package/dist/cjs/data/concurrency.js +32 -0
  290. package/dist/cjs/data/concurrency.js.map +1 -0
  291. package/dist/cjs/data/credentials.d.ts +28 -0
  292. package/dist/cjs/data/credentials.d.ts.map +1 -0
  293. package/dist/cjs/data/credentials.js +81 -0
  294. package/dist/cjs/data/credentials.js.map +1 -0
  295. package/dist/cjs/data/denoms.d.ts +11 -0
  296. package/dist/cjs/data/denoms.d.ts.map +1 -0
  297. package/dist/cjs/data/denoms.js +106 -0
  298. package/dist/cjs/data/denoms.js.map +1 -0
  299. package/dist/cjs/data/displayNames.d.ts +58 -0
  300. package/dist/cjs/data/displayNames.d.ts.map +1 -0
  301. package/dist/cjs/data/displayNames.js +99 -0
  302. package/dist/cjs/data/displayNames.js.map +1 -0
  303. package/dist/cjs/data/docPath.d.ts +28 -0
  304. package/dist/cjs/data/docPath.d.ts.map +1 -0
  305. package/dist/cjs/data/docPath.js +44 -0
  306. package/dist/cjs/data/docPath.js.map +1 -0
  307. package/dist/cjs/data/docUrls.d.ts +38 -0
  308. package/dist/cjs/data/docUrls.d.ts.map +1 -0
  309. package/dist/cjs/data/docUrls.js +70 -0
  310. package/dist/cjs/data/docUrls.js.map +1 -0
  311. package/dist/cjs/data/docs.d.ts +61 -0
  312. package/dist/cjs/data/docs.d.ts.map +1 -0
  313. package/dist/cjs/data/docs.js +199 -0
  314. package/dist/cjs/data/docs.js.map +1 -0
  315. package/dist/cjs/data/engine.d.ts +193 -0
  316. package/dist/cjs/data/engine.d.ts.map +1 -0
  317. package/dist/cjs/data/engine.js +411 -0
  318. package/dist/cjs/data/engine.js.map +1 -0
  319. package/dist/cjs/data/engineUrl.d.ts +19 -0
  320. package/dist/cjs/data/engineUrl.d.ts.map +1 -0
  321. package/dist/cjs/data/engineUrl.js +30 -0
  322. package/dist/cjs/data/engineUrl.js.map +1 -0
  323. package/dist/cjs/data/envelope.d.ts +69 -0
  324. package/dist/cjs/data/envelope.d.ts.map +1 -0
  325. package/dist/cjs/data/envelope.js +77 -0
  326. package/dist/cjs/data/envelope.js.map +1 -0
  327. package/dist/cjs/data/format.d.ts +122 -0
  328. package/dist/cjs/data/format.d.ts.map +1 -0
  329. package/dist/cjs/data/format.js +272 -0
  330. package/dist/cjs/data/format.js.map +1 -0
  331. package/dist/cjs/data/gql.d.ts +56 -0
  332. package/dist/cjs/data/gql.d.ts.map +1 -0
  333. package/dist/cjs/data/gql.js +109 -0
  334. package/dist/cjs/data/gql.js.map +1 -0
  335. package/dist/cjs/data/granters.d.ts +15 -0
  336. package/dist/cjs/data/granters.d.ts.map +1 -0
  337. package/dist/cjs/data/granters.js +76 -0
  338. package/dist/cjs/data/granters.js.map +1 -0
  339. package/dist/cjs/data/index.d.ts +18 -0
  340. package/dist/cjs/data/index.d.ts.map +1 -0
  341. package/dist/cjs/data/index.js +88 -0
  342. package/dist/cjs/data/index.js.map +1 -0
  343. package/dist/cjs/data/install.d.ts +95 -0
  344. package/dist/cjs/data/install.d.ts.map +1 -0
  345. package/dist/cjs/data/install.js +123 -0
  346. package/dist/cjs/data/install.js.map +1 -0
  347. package/dist/cjs/data/issueMessage.d.ts +20 -0
  348. package/dist/cjs/data/issueMessage.d.ts.map +1 -0
  349. package/dist/cjs/data/issueMessage.js +20 -0
  350. package/dist/cjs/data/issueMessage.js.map +1 -0
  351. package/dist/cjs/data/linked.d.ts +54 -0
  352. package/dist/cjs/data/linked.d.ts.map +1 -0
  353. package/dist/cjs/data/linked.js +142 -0
  354. package/dist/cjs/data/linked.js.map +1 -0
  355. package/dist/cjs/data/network.d.ts +21 -0
  356. package/dist/cjs/data/network.d.ts.map +1 -0
  357. package/dist/cjs/data/network.js +28 -0
  358. package/dist/cjs/data/network.js.map +1 -0
  359. package/dist/cjs/data/openness.d.ts +93 -0
  360. package/dist/cjs/data/openness.d.ts.map +1 -0
  361. package/dist/cjs/data/openness.js +145 -0
  362. package/dist/cjs/data/openness.js.map +1 -0
  363. package/dist/cjs/data/oracleInfo.d.ts +20 -0
  364. package/dist/cjs/data/oracleInfo.d.ts.map +1 -0
  365. package/dist/cjs/data/oracleInfo.js +38 -0
  366. package/dist/cjs/data/oracleInfo.js.map +1 -0
  367. package/dist/cjs/data/oracles.d.ts +44 -0
  368. package/dist/cjs/data/oracles.d.ts.map +1 -0
  369. package/dist/cjs/data/oracles.js +115 -0
  370. package/dist/cjs/data/oracles.js.map +1 -0
  371. package/dist/cjs/data/outbound.d.ts +50 -0
  372. package/dist/cjs/data/outbound.d.ts.map +1 -0
  373. package/dist/cjs/data/outbound.js +102 -0
  374. package/dist/cjs/data/outbound.js.map +1 -0
  375. package/dist/cjs/data/paged.d.ts +48 -0
  376. package/dist/cjs/data/paged.d.ts.map +1 -0
  377. package/dist/cjs/data/paged.js +81 -0
  378. package/dist/cjs/data/paged.js.map +1 -0
  379. package/dist/cjs/data/profiles.d.ts +3 -0
  380. package/dist/cjs/data/profiles.d.ts.map +1 -0
  381. package/dist/cjs/data/profiles.js +71 -0
  382. package/dist/cjs/data/profiles.js.map +1 -0
  383. package/dist/cjs/data/proof.d.ts +93 -0
  384. package/dist/cjs/data/proof.d.ts.map +1 -0
  385. package/dist/cjs/data/proof.js +166 -0
  386. package/dist/cjs/data/proof.js.map +1 -0
  387. package/dist/cjs/data/queue.d.ts +49 -0
  388. package/dist/cjs/data/queue.d.ts.map +1 -0
  389. package/dist/cjs/data/queue.js +118 -0
  390. package/dist/cjs/data/queue.js.map +1 -0
  391. package/dist/cjs/data/rates.d.ts +143 -0
  392. package/dist/cjs/data/rates.d.ts.map +1 -0
  393. package/dist/cjs/data/rates.js +265 -0
  394. package/dist/cjs/data/rates.js.map +1 -0
  395. package/dist/cjs/data/receipt.d.ts +207 -0
  396. package/dist/cjs/data/receipt.d.ts.map +1 -0
  397. package/dist/cjs/data/receipt.js +320 -0
  398. package/dist/cjs/data/receipt.js.map +1 -0
  399. package/dist/cjs/data/resources.d.ts +30 -0
  400. package/dist/cjs/data/resources.d.ts.map +1 -0
  401. package/dist/cjs/data/resources.js +29 -0
  402. package/dist/cjs/data/resources.js.map +1 -0
  403. package/dist/cjs/data/sametask.d.ts +35 -0
  404. package/dist/cjs/data/sametask.d.ts.map +1 -0
  405. package/dist/cjs/data/sametask.js +45 -0
  406. package/dist/cjs/data/sametask.js.map +1 -0
  407. package/dist/cjs/data/shortName.d.ts +52 -0
  408. package/dist/cjs/data/shortName.d.ts.map +1 -0
  409. package/dist/cjs/data/shortName.js +122 -0
  410. package/dist/cjs/data/shortName.js.map +1 -0
  411. package/dist/cjs/data/threads.d.ts +97 -0
  412. package/dist/cjs/data/threads.d.ts.map +1 -0
  413. package/dist/cjs/data/threads.js +214 -0
  414. package/dist/cjs/data/threads.js.map +1 -0
  415. package/dist/cjs/data/trace.d.ts +133 -0
  416. package/dist/cjs/data/trace.d.ts.map +1 -0
  417. package/dist/cjs/data/trace.js +125 -0
  418. package/dist/cjs/data/trace.js.map +1 -0
  419. package/dist/cjs/data/traceWords.d.ts +54 -0
  420. package/dist/cjs/data/traceWords.d.ts.map +1 -0
  421. package/dist/cjs/data/traceWords.js +192 -0
  422. package/dist/cjs/data/traceWords.js.map +1 -0
  423. package/dist/cjs/data/types.d.ts +50 -0
  424. package/dist/cjs/data/types.d.ts.map +1 -0
  425. package/dist/cjs/data/types.js +9 -0
  426. package/dist/cjs/data/types.js.map +1 -0
  427. package/dist/cjs/data/verdict.d.ts +37 -0
  428. package/dist/cjs/data/verdict.d.ts.map +1 -0
  429. package/dist/cjs/data/verdict.js +57 -0
  430. package/dist/cjs/data/verdict.js.map +1 -0
  431. package/dist/cjs/data/work.d.ts +46 -0
  432. package/dist/cjs/data/work.d.ts.map +1 -0
  433. package/dist/cjs/data/work.js +105 -0
  434. package/dist/cjs/data/work.js.map +1 -0
  435. package/dist/cjs/envRead.d.ts +15 -0
  436. package/dist/cjs/envRead.d.ts.map +1 -0
  437. package/dist/cjs/envRead.js +26 -0
  438. package/dist/cjs/envRead.js.map +1 -0
  439. package/dist/cjs/geo/box.d.ts +64 -0
  440. package/dist/cjs/geo/box.d.ts.map +1 -0
  441. package/dist/cjs/geo/box.js +97 -0
  442. package/dist/cjs/geo/box.js.map +1 -0
  443. package/dist/cjs/geo/exif.d.ts +20 -0
  444. package/dist/cjs/geo/exif.d.ts.map +1 -0
  445. package/dist/cjs/geo/exif.js +220 -0
  446. package/dist/cjs/geo/exif.js.map +1 -0
  447. package/dist/cjs/geo/exifcarry.d.ts +31 -0
  448. package/dist/cjs/geo/exifcarry.d.ts.map +1 -0
  449. package/dist/cjs/geo/exifcarry.js +81 -0
  450. package/dist/cjs/geo/exifcarry.js.map +1 -0
  451. package/dist/cjs/geo/exifnote.d.ts +86 -0
  452. package/dist/cjs/geo/exifnote.d.ts.map +1 -0
  453. package/dist/cjs/geo/exifnote.js +253 -0
  454. package/dist/cjs/geo/exifnote.js.map +1 -0
  455. package/dist/cjs/geo/mentions.d.ts +44 -0
  456. package/dist/cjs/geo/mentions.d.ts.map +1 -0
  457. package/dist/cjs/geo/mentions.js +199 -0
  458. package/dist/cjs/geo/mentions.js.map +1 -0
  459. package/dist/cjs/geo/osm.d.ts +112 -0
  460. package/dist/cjs/geo/osm.d.ts.map +1 -0
  461. package/dist/cjs/geo/osm.js +178 -0
  462. package/dist/cjs/geo/osm.js.map +1 -0
  463. package/dist/cjs/geo/place.d.ts +51 -0
  464. package/dist/cjs/geo/place.d.ts.map +1 -0
  465. package/dist/cjs/geo/place.js +106 -0
  466. package/dist/cjs/geo/place.js.map +1 -0
  467. package/dist/cjs/geo/search.d.ts +41 -0
  468. package/dist/cjs/geo/search.d.ts.map +1 -0
  469. package/dist/cjs/geo/search.js +187 -0
  470. package/dist/cjs/geo/search.js.map +1 -0
  471. package/dist/cjs/geo/sun.d.ts +39 -0
  472. package/dist/cjs/geo/sun.d.ts.map +1 -0
  473. package/dist/cjs/geo/sun.js +55 -0
  474. package/dist/cjs/geo/sun.js.map +1 -0
  475. package/dist/cjs/geo/tiles.d.ts +89 -0
  476. package/dist/cjs/geo/tiles.d.ts.map +1 -0
  477. package/dist/cjs/geo/tiles.js +146 -0
  478. package/dist/cjs/geo/tiles.js.map +1 -0
  479. package/dist/cjs/geo.d.ts +20 -0
  480. package/dist/cjs/geo.d.ts.map +1 -0
  481. package/dist/cjs/geo.js +35 -0
  482. package/dist/cjs/geo.js.map +1 -0
  483. package/dist/cjs/given.d.ts +15 -0
  484. package/dist/cjs/given.d.ts.map +1 -0
  485. package/dist/cjs/given.js +25 -0
  486. package/dist/cjs/given.js.map +1 -0
  487. package/dist/cjs/network.d.ts +23 -0
  488. package/dist/cjs/network.d.ts.map +1 -0
  489. package/dist/cjs/network.js +56 -0
  490. package/dist/cjs/network.js.map +1 -0
  491. package/dist/cjs/package.json +3 -0
  492. package/dist/cjs/protocol.d.ts +40 -0
  493. package/dist/cjs/protocol.d.ts.map +1 -0
  494. package/dist/cjs/protocol.js +54 -0
  495. package/dist/cjs/protocol.js.map +1 -0
  496. package/dist/cjs/rubric/bridge.d.ts +428 -0
  497. package/dist/cjs/rubric/bridge.d.ts.map +1 -0
  498. package/dist/cjs/rubric/bridge.js +917 -0
  499. package/dist/cjs/rubric/bridge.js.map +1 -0
  500. package/dist/cjs/rubric/call.d.ts +73 -0
  501. package/dist/cjs/rubric/call.d.ts.map +1 -0
  502. package/dist/cjs/rubric/call.js +132 -0
  503. package/dist/cjs/rubric/call.js.map +1 -0
  504. package/dist/cjs/rubric/card.d.ts +74 -0
  505. package/dist/cjs/rubric/card.d.ts.map +1 -0
  506. package/dist/cjs/rubric/card.js +45 -0
  507. package/dist/cjs/rubric/card.js.map +1 -0
  508. package/dist/cjs/rubric/chain.d.ts +44 -0
  509. package/dist/cjs/rubric/chain.d.ts.map +1 -0
  510. package/dist/cjs/rubric/chain.js +52 -0
  511. package/dist/cjs/rubric/chain.js.map +1 -0
  512. package/dist/cjs/rubric/claimForm.d.ts +142 -0
  513. package/dist/cjs/rubric/claimForm.d.ts.map +1 -0
  514. package/dist/cjs/rubric/claimForm.js +112 -0
  515. package/dist/cjs/rubric/claimForm.js.map +1 -0
  516. package/dist/cjs/rubric/claimFormResource.d.ts +34 -0
  517. package/dist/cjs/rubric/claimFormResource.d.ts.map +1 -0
  518. package/dist/cjs/rubric/claimFormResource.js +38 -0
  519. package/dist/cjs/rubric/claimFormResource.js.map +1 -0
  520. package/dist/cjs/rubric/compose.d.ts +99 -0
  521. package/dist/cjs/rubric/compose.d.ts.map +1 -0
  522. package/dist/cjs/rubric/compose.js +229 -0
  523. package/dist/cjs/rubric/compose.js.map +1 -0
  524. package/dist/cjs/rubric/confidence.d.ts +81 -0
  525. package/dist/cjs/rubric/confidence.d.ts.map +1 -0
  526. package/dist/cjs/rubric/confidence.js +87 -0
  527. package/dist/cjs/rubric/confidence.js.map +1 -0
  528. package/dist/cjs/rubric/draft.d.ts +224 -0
  529. package/dist/cjs/rubric/draft.d.ts.map +1 -0
  530. package/dist/cjs/rubric/draft.js +214 -0
  531. package/dist/cjs/rubric/draft.js.map +1 -0
  532. package/dist/cjs/rubric/gateMet.d.ts +46 -0
  533. package/dist/cjs/rubric/gateMet.d.ts.map +1 -0
  534. package/dist/cjs/rubric/gateMet.js +110 -0
  535. package/dist/cjs/rubric/gateMet.js.map +1 -0
  536. package/dist/cjs/rubric/leg.d.ts +106 -0
  537. package/dist/cjs/rubric/leg.d.ts.map +1 -0
  538. package/dist/cjs/rubric/leg.js +147 -0
  539. package/dist/cjs/rubric/leg.js.map +1 -0
  540. package/dist/cjs/rubric/publish.d.ts +39 -0
  541. package/dist/cjs/rubric/publish.d.ts.map +1 -0
  542. package/dist/cjs/rubric/publish.js +34 -0
  543. package/dist/cjs/rubric/publish.js.map +1 -0
  544. package/dist/cjs/rubric/reanchor.d.ts +79 -0
  545. package/dist/cjs/rubric/reanchor.d.ts.map +1 -0
  546. package/dist/cjs/rubric/reanchor.js +154 -0
  547. package/dist/cjs/rubric/reanchor.js.map +1 -0
  548. package/dist/cjs/rubric/receipt.d.ts +96 -0
  549. package/dist/cjs/rubric/receipt.d.ts.map +1 -0
  550. package/dist/cjs/rubric/receipt.js +28 -0
  551. package/dist/cjs/rubric/receipt.js.map +1 -0
  552. package/dist/cjs/rubric/roundTrips.d.ts +17 -0
  553. package/dist/cjs/rubric/roundTrips.d.ts.map +1 -0
  554. package/dist/cjs/rubric/roundTrips.js +24 -0
  555. package/dist/cjs/rubric/roundTrips.js.map +1 -0
  556. package/dist/cjs/rubric/terms.d.ts +611 -0
  557. package/dist/cjs/rubric/terms.d.ts.map +1 -0
  558. package/dist/cjs/rubric/terms.js +777 -0
  559. package/dist/cjs/rubric/terms.js.map +1 -0
  560. package/dist/cjs/rubric/wants.d.ts +36 -0
  561. package/dist/cjs/rubric/wants.d.ts.map +1 -0
  562. package/dist/cjs/rubric/wants.js +57 -0
  563. package/dist/cjs/rubric/wants.js.map +1 -0
  564. package/dist/cjs/rubric.d.ts +30 -0
  565. package/dist/cjs/rubric.d.ts.map +1 -0
  566. package/dist/cjs/rubric.js +71 -0
  567. package/dist/cjs/rubric.js.map +1 -0
  568. package/dist/cjs/udid/base58.d.ts +8 -0
  569. package/dist/cjs/udid/base58.d.ts.map +1 -0
  570. package/dist/cjs/udid/base58.js +57 -0
  571. package/dist/cjs/udid/base58.js.map +1 -0
  572. package/dist/cjs/udid/canonical.d.ts +17 -0
  573. package/dist/cjs/udid/canonical.d.ts.map +1 -0
  574. package/dist/cjs/udid/canonical.js +34 -0
  575. package/dist/cjs/udid/canonical.js.map +1 -0
  576. package/dist/cjs/udid/cid.d.ts +22 -0
  577. package/dist/cjs/udid/cid.d.ts.map +1 -0
  578. package/dist/cjs/udid/cid.js +54 -0
  579. package/dist/cjs/udid/cid.js.map +1 -0
  580. package/dist/cjs/udid/key.d.ts +41 -0
  581. package/dist/cjs/udid/key.d.ts.map +1 -0
  582. package/dist/cjs/udid/key.js +64 -0
  583. package/dist/cjs/udid/key.js.map +1 -0
  584. package/dist/cjs/udid/resolve.d.ts +56 -0
  585. package/dist/cjs/udid/resolve.d.ts.map +1 -0
  586. package/dist/cjs/udid/resolve.js +168 -0
  587. package/dist/cjs/udid/resolve.js.map +1 -0
  588. package/dist/cjs/udid/schema.d.ts +150 -0
  589. package/dist/cjs/udid/schema.d.ts.map +1 -0
  590. package/dist/cjs/udid/schema.js +155 -0
  591. package/dist/cjs/udid/schema.js.map +1 -0
  592. package/dist/cjs/udid/verify.d.ts +35 -0
  593. package/dist/cjs/udid/verify.d.ts.map +1 -0
  594. package/dist/cjs/udid/verify.js +97 -0
  595. package/dist/cjs/udid/verify.js.map +1 -0
  596. package/dist/cjs/udid/wrapper.d.ts +90 -0
  597. package/dist/cjs/udid/wrapper.d.ts.map +1 -0
  598. package/dist/cjs/udid/wrapper.js +41 -0
  599. package/dist/cjs/udid/wrapper.js.map +1 -0
  600. package/dist/cjs/udid.d.ts +17 -0
  601. package/dist/cjs/udid.d.ts.map +1 -0
  602. package/dist/cjs/udid.js +33 -0
  603. package/dist/cjs/udid.js.map +1 -0
  604. package/dist/esm/board.d.ts +20 -0
  605. package/dist/esm/board.d.ts.map +1 -0
  606. package/dist/esm/board.js +23 -0
  607. package/dist/esm/board.js.map +1 -0
  608. package/dist/esm/campaign/badges.d.ts +30 -0
  609. package/dist/esm/campaign/badges.d.ts.map +1 -0
  610. package/dist/esm/campaign/badges.js +65 -0
  611. package/dist/esm/campaign/badges.js.map +1 -0
  612. package/dist/esm/campaign/bands.d.ts +161 -0
  613. package/dist/esm/campaign/bands.d.ts.map +1 -0
  614. package/dist/esm/campaign/bands.js +176 -0
  615. package/dist/esm/campaign/bands.js.map +1 -0
  616. package/dist/esm/campaign/campaign.d.ts +50 -0
  617. package/dist/esm/campaign/campaign.d.ts.map +1 -0
  618. package/dist/esm/campaign/campaign.js +147 -0
  619. package/dist/esm/campaign/campaign.js.map +1 -0
  620. package/dist/esm/campaign/campaigns.d.ts +2 -0
  621. package/dist/esm/campaign/campaigns.d.ts.map +1 -0
  622. package/dist/esm/campaign/campaigns.js +34 -0
  623. package/dist/esm/campaign/campaigns.js.map +1 -0
  624. package/dist/esm/campaign/cleanable.d.ts +13 -0
  625. package/dist/esm/campaign/cleanable.d.ts.map +1 -0
  626. package/dist/esm/campaign/cleanable.js +2 -0
  627. package/dist/esm/campaign/cleanable.js.map +1 -0
  628. package/dist/esm/campaign/cleanup.d.ts +78 -0
  629. package/dist/esm/campaign/cleanup.d.ts.map +1 -0
  630. package/dist/esm/campaign/cleanup.js +129 -0
  631. package/dist/esm/campaign/cleanup.js.map +1 -0
  632. package/dist/esm/campaign/commit.d.ts +39 -0
  633. package/dist/esm/campaign/commit.d.ts.map +1 -0
  634. package/dist/esm/campaign/commit.js +37 -0
  635. package/dist/esm/campaign/commit.js.map +1 -0
  636. package/dist/esm/campaign/field.d.ts +50 -0
  637. package/dist/esm/campaign/field.d.ts.map +1 -0
  638. package/dist/esm/campaign/field.js +88 -0
  639. package/dist/esm/campaign/field.js.map +1 -0
  640. package/dist/esm/campaign/fold.d.ts +227 -0
  641. package/dist/esm/campaign/fold.d.ts.map +1 -0
  642. package/dist/esm/campaign/fold.js +403 -0
  643. package/dist/esm/campaign/fold.js.map +1 -0
  644. package/dist/esm/campaign/funding.d.ts +153 -0
  645. package/dist/esm/campaign/funding.d.ts.map +1 -0
  646. package/dist/esm/campaign/funding.js +160 -0
  647. package/dist/esm/campaign/funding.js.map +1 -0
  648. package/dist/esm/campaign/landing.d.ts +20 -0
  649. package/dist/esm/campaign/landing.d.ts.map +1 -0
  650. package/dist/esm/campaign/landing.js +49 -0
  651. package/dist/esm/campaign/landing.js.map +1 -0
  652. package/dist/esm/campaign/pledges.d.ts +237 -0
  653. package/dist/esm/campaign/pledges.d.ts.map +1 -0
  654. package/dist/esm/campaign/pledges.js +210 -0
  655. package/dist/esm/campaign/pledges.js.map +1 -0
  656. package/dist/esm/campaign/pledgesChain.d.ts +58 -0
  657. package/dist/esm/campaign/pledgesChain.d.ts.map +1 -0
  658. package/dist/esm/campaign/pledgesChain.js +96 -0
  659. package/dist/esm/campaign/pledgesChain.js.map +1 -0
  660. package/dist/esm/campaign/pool.d.ts +137 -0
  661. package/dist/esm/campaign/pool.d.ts.map +1 -0
  662. package/dist/esm/campaign/pool.js +194 -0
  663. package/dist/esm/campaign/pool.js.map +1 -0
  664. package/dist/esm/campaign/record.d.ts +115 -0
  665. package/dist/esm/campaign/record.d.ts.map +1 -0
  666. package/dist/esm/campaign/record.js +252 -0
  667. package/dist/esm/campaign/record.js.map +1 -0
  668. package/dist/esm/campaign/rule.d.ts +311 -0
  669. package/dist/esm/campaign/rule.d.ts.map +1 -0
  670. package/dist/esm/campaign/rule.js +197 -0
  671. package/dist/esm/campaign/rule.js.map +1 -0
  672. package/dist/esm/campaign/spot.d.ts +37 -0
  673. package/dist/esm/campaign/spot.d.ts.map +1 -0
  674. package/dist/esm/campaign/spot.js +167 -0
  675. package/dist/esm/campaign/spot.js.map +1 -0
  676. package/dist/esm/campaign/spots.d.ts +437 -0
  677. package/dist/esm/campaign/spots.d.ts.map +1 -0
  678. package/dist/esm/campaign/spots.js +735 -0
  679. package/dist/esm/campaign/spots.js.map +1 -0
  680. package/dist/esm/campaign/standings.d.ts +236 -0
  681. package/dist/esm/campaign/standings.d.ts.map +1 -0
  682. package/dist/esm/campaign/standings.js +357 -0
  683. package/dist/esm/campaign/standings.js.map +1 -0
  684. package/dist/esm/campaign/treasurySends.d.ts +116 -0
  685. package/dist/esm/campaign/treasurySends.d.ts.map +1 -0
  686. package/dist/esm/campaign/treasurySends.js +190 -0
  687. package/dist/esm/campaign/treasurySends.js.map +1 -0
  688. package/dist/esm/campaign.d.ts +29 -0
  689. package/dist/esm/campaign.d.ts.map +1 -0
  690. package/dist/esm/campaign.js +28 -0
  691. package/dist/esm/campaign.js.map +1 -0
  692. package/dist/esm/chain/account.d.ts +47 -0
  693. package/dist/esm/chain/account.d.ts.map +1 -0
  694. package/dist/esm/chain/account.js +156 -0
  695. package/dist/esm/chain/account.js.map +1 -0
  696. package/dist/esm/chain/accountProof.d.ts +135 -0
  697. package/dist/esm/chain/accountProof.d.ts.map +1 -0
  698. package/dist/esm/chain/accountProof.js +153 -0
  699. package/dist/esm/chain/accountProof.js.map +1 -0
  700. package/dist/esm/chain/allowance.d.ts +17 -0
  701. package/dist/esm/chain/allowance.d.ts.map +1 -0
  702. package/dist/esm/chain/allowance.js +74 -0
  703. package/dist/esm/chain/allowance.js.map +1 -0
  704. package/dist/esm/chain/allowanceRead.d.ts +2 -0
  705. package/dist/esm/chain/allowanceRead.d.ts.map +1 -0
  706. package/dist/esm/chain/allowanceRead.js +56 -0
  707. package/dist/esm/chain/allowanceRead.js.map +1 -0
  708. package/dist/esm/chain/ask.d.ts +211 -0
  709. package/dist/esm/chain/ask.d.ts.map +1 -0
  710. package/dist/esm/chain/ask.js +509 -0
  711. package/dist/esm/chain/ask.js.map +1 -0
  712. package/dist/esm/chain/bridge.d.ts +50 -0
  713. package/dist/esm/chain/bridge.d.ts.map +1 -0
  714. package/dist/esm/chain/bridge.js +78 -0
  715. package/dist/esm/chain/bridge.js.map +1 -0
  716. package/dist/esm/chain/broadcast.d.ts +40 -0
  717. package/dist/esm/chain/broadcast.d.ts.map +1 -0
  718. package/dist/esm/chain/broadcast.js +147 -0
  719. package/dist/esm/chain/broadcast.js.map +1 -0
  720. package/dist/esm/chain/delegate.d.ts +154 -0
  721. package/dist/esm/chain/delegate.d.ts.map +1 -0
  722. package/dist/esm/chain/delegate.js +230 -0
  723. package/dist/esm/chain/delegate.js.map +1 -0
  724. package/dist/esm/chain/encoding.d.ts +7 -0
  725. package/dist/esm/chain/encoding.d.ts.map +1 -0
  726. package/dist/esm/chain/encoding.js +22 -0
  727. package/dist/esm/chain/encoding.js.map +1 -0
  728. package/dist/esm/chain/env.d.ts +50 -0
  729. package/dist/esm/chain/env.d.ts.map +1 -0
  730. package/dist/esm/chain/env.js +83 -0
  731. package/dist/esm/chain/env.js.map +1 -0
  732. package/dist/esm/chain/gate.d.ts +12 -0
  733. package/dist/esm/chain/gate.d.ts.map +1 -0
  734. package/dist/esm/chain/gate.js +52 -0
  735. package/dist/esm/chain/gate.js.map +1 -0
  736. package/dist/esm/chain/grantPending.d.ts +31 -0
  737. package/dist/esm/chain/grantPending.d.ts.map +1 -0
  738. package/dist/esm/chain/grantPending.js +50 -0
  739. package/dist/esm/chain/grantPending.js.map +1 -0
  740. package/dist/esm/chain/guest.d.ts +97 -0
  741. package/dist/esm/chain/guest.d.ts.map +1 -0
  742. package/dist/esm/chain/guest.js +168 -0
  743. package/dist/esm/chain/guest.js.map +1 -0
  744. package/dist/esm/chain/iid.d.ts +26 -0
  745. package/dist/esm/chain/iid.d.ts.map +1 -0
  746. package/dist/esm/chain/iid.js +62 -0
  747. package/dist/esm/chain/iid.js.map +1 -0
  748. package/dist/esm/chain/money.d.ts +48 -0
  749. package/dist/esm/chain/money.d.ts.map +1 -0
  750. package/dist/esm/chain/money.js +65 -0
  751. package/dist/esm/chain/money.js.map +1 -0
  752. package/dist/esm/chain/oracle.d.ts +24 -0
  753. package/dist/esm/chain/oracle.d.ts.map +1 -0
  754. package/dist/esm/chain/oracle.js +41 -0
  755. package/dist/esm/chain/oracle.js.map +1 -0
  756. package/dist/esm/chain/pendingTransact.d.ts +31 -0
  757. package/dist/esm/chain/pendingTransact.d.ts.map +1 -0
  758. package/dist/esm/chain/pendingTransact.js +59 -0
  759. package/dist/esm/chain/pendingTransact.js.map +1 -0
  760. package/dist/esm/chain/query.d.ts +75 -0
  761. package/dist/esm/chain/query.d.ts.map +1 -0
  762. package/dist/esm/chain/query.js +160 -0
  763. package/dist/esm/chain/query.js.map +1 -0
  764. package/dist/esm/chain/send.d.ts +42 -0
  765. package/dist/esm/chain/send.d.ts.map +1 -0
  766. package/dist/esm/chain/send.js +48 -0
  767. package/dist/esm/chain/send.js.map +1 -0
  768. package/dist/esm/chain/session.d.ts +109 -0
  769. package/dist/esm/chain/session.d.ts.map +1 -0
  770. package/dist/esm/chain/session.js +133 -0
  771. package/dist/esm/chain/session.js.map +1 -0
  772. package/dist/esm/chain/signWith.d.ts +69 -0
  773. package/dist/esm/chain/signWith.d.ts.map +1 -0
  774. package/dist/esm/chain/signWith.js +238 -0
  775. package/dist/esm/chain/signWith.js.map +1 -0
  776. package/dist/esm/chain/signer.d.ts +38 -0
  777. package/dist/esm/chain/signer.d.ts.map +1 -0
  778. package/dist/esm/chain/signer.js +73 -0
  779. package/dist/esm/chain/signer.js.map +1 -0
  780. package/dist/esm/chain/signx.d.ts +233 -0
  781. package/dist/esm/chain/signx.d.ts.map +1 -0
  782. package/dist/esm/chain/signx.js +475 -0
  783. package/dist/esm/chain/signx.js.map +1 -0
  784. package/dist/esm/chain/sponsor.d.ts +2 -0
  785. package/dist/esm/chain/sponsor.d.ts.map +1 -0
  786. package/dist/esm/chain/sponsor.js +73 -0
  787. package/dist/esm/chain/sponsor.js.map +1 -0
  788. package/dist/esm/chain/store.d.ts +115 -0
  789. package/dist/esm/chain/store.d.ts.map +1 -0
  790. package/dist/esm/chain/store.js +164 -0
  791. package/dist/esm/chain/store.js.map +1 -0
  792. package/dist/esm/chain/subscription.d.ts +73 -0
  793. package/dist/esm/chain/subscription.d.ts.map +1 -0
  794. package/dist/esm/chain/subscription.js +206 -0
  795. package/dist/esm/chain/subscription.js.map +1 -0
  796. package/dist/esm/chain/takeBack.d.ts +114 -0
  797. package/dist/esm/chain/takeBack.d.ts.map +1 -0
  798. package/dist/esm/chain/takeBack.js +177 -0
  799. package/dist/esm/chain/takeBack.js.map +1 -0
  800. package/dist/esm/chain/union.d.ts +125 -0
  801. package/dist/esm/chain/union.d.ts.map +1 -0
  802. package/dist/esm/chain/union.js +295 -0
  803. package/dist/esm/chain/union.js.map +1 -0
  804. package/dist/esm/chain/webauthn.d.ts +22 -0
  805. package/dist/esm/chain/webauthn.d.ts.map +1 -0
  806. package/dist/esm/chain/webauthn.js +65 -0
  807. package/dist/esm/chain/webauthn.js.map +1 -0
  808. package/dist/esm/chain.d.ts +35 -0
  809. package/dist/esm/chain.d.ts.map +1 -0
  810. package/dist/esm/chain.js +50 -0
  811. package/dist/esm/chain.js.map +1 -0
  812. package/dist/esm/config.d.ts +120 -0
  813. package/dist/esm/config.d.ts.map +1 -0
  814. package/dist/esm/config.js +115 -0
  815. package/dist/esm/config.js.map +1 -0
  816. package/dist/esm/data/accept.d.ts +69 -0
  817. package/dist/esm/data/accept.d.ts.map +1 -0
  818. package/dist/esm/data/accept.js +151 -0
  819. package/dist/esm/data/accept.js.map +1 -0
  820. package/dist/esm/data/agent.d.ts +87 -0
  821. package/dist/esm/data/agent.d.ts.map +1 -0
  822. package/dist/esm/data/agent.js +108 -0
  823. package/dist/esm/data/agent.js.map +1 -0
  824. package/dist/esm/data/askFilter.d.ts +45 -0
  825. package/dist/esm/data/askFilter.d.ts.map +1 -0
  826. package/dist/esm/data/askFilter.js +45 -0
  827. package/dist/esm/data/askFilter.js.map +1 -0
  828. package/dist/esm/data/authenticators.d.ts +35 -0
  829. package/dist/esm/data/authenticators.d.ts.map +1 -0
  830. package/dist/esm/data/authenticators.js +71 -0
  831. package/dist/esm/data/authenticators.js.map +1 -0
  832. package/dist/esm/data/balance.d.ts +39 -0
  833. package/dist/esm/data/balance.d.ts.map +1 -0
  834. package/dist/esm/data/balance.js +111 -0
  835. package/dist/esm/data/balance.js.map +1 -0
  836. package/dist/esm/data/board/assemble.d.ts +140 -0
  837. package/dist/esm/data/board/assemble.d.ts.map +1 -0
  838. package/dist/esm/data/board/assemble.js +539 -0
  839. package/dist/esm/data/board/assemble.js.map +1 -0
  840. package/dist/esm/data/board/coverage.d.ts +112 -0
  841. package/dist/esm/data/board/coverage.d.ts.map +1 -0
  842. package/dist/esm/data/board/coverage.js +180 -0
  843. package/dist/esm/data/board/coverage.js.map +1 -0
  844. package/dist/esm/data/board/facts.d.ts +63 -0
  845. package/dist/esm/data/board/facts.d.ts.map +1 -0
  846. package/dist/esm/data/board/facts.js +127 -0
  847. package/dist/esm/data/board/facts.js.map +1 -0
  848. package/dist/esm/data/board/fixtures.d.ts +21 -0
  849. package/dist/esm/data/board/fixtures.d.ts.map +1 -0
  850. package/dist/esm/data/board/fixtures.js +40 -0
  851. package/dist/esm/data/board/fixtures.js.map +1 -0
  852. package/dist/esm/data/board/query.d.ts +12 -0
  853. package/dist/esm/data/board/query.d.ts.map +1 -0
  854. package/dist/esm/data/board/query.js +67 -0
  855. package/dist/esm/data/board/query.js.map +1 -0
  856. package/dist/esm/data/board/rank.d.ts +22 -0
  857. package/dist/esm/data/board/rank.d.ts.map +1 -0
  858. package/dist/esm/data/board/rank.js +45 -0
  859. package/dist/esm/data/board/rank.js.map +1 -0
  860. package/dist/esm/data/board/read.d.ts +102 -0
  861. package/dist/esm/data/board/read.d.ts.map +1 -0
  862. package/dist/esm/data/board/read.js +163 -0
  863. package/dist/esm/data/board/read.js.map +1 -0
  864. package/dist/esm/data/board/series.d.ts +50 -0
  865. package/dist/esm/data/board/series.d.ts.map +1 -0
  866. package/dist/esm/data/board/series.js +153 -0
  867. package/dist/esm/data/board/series.js.map +1 -0
  868. package/dist/esm/data/board/trust.d.ts +31 -0
  869. package/dist/esm/data/board/trust.d.ts.map +1 -0
  870. package/dist/esm/data/board/trust.js +47 -0
  871. package/dist/esm/data/board/trust.js.map +1 -0
  872. package/dist/esm/data/board/types.d.ts +338 -0
  873. package/dist/esm/data/board/types.d.ts.map +1 -0
  874. package/dist/esm/data/board/types.js +79 -0
  875. package/dist/esm/data/board/types.js.map +1 -0
  876. package/dist/esm/data/board/url.d.ts +22 -0
  877. package/dist/esm/data/board/url.d.ts.map +1 -0
  878. package/dist/esm/data/board/url.js +65 -0
  879. package/dist/esm/data/board/url.js.map +1 -0
  880. package/dist/esm/data/board/words.d.ts +25 -0
  881. package/dist/esm/data/board/words.d.ts.map +1 -0
  882. package/dist/esm/data/board/words.js +53 -0
  883. package/dist/esm/data/board/words.js.map +1 -0
  884. package/dist/esm/data/cid.d.ts +49 -0
  885. package/dist/esm/data/cid.d.ts.map +1 -0
  886. package/dist/esm/data/cid.js +82 -0
  887. package/dist/esm/data/cid.js.map +1 -0
  888. package/dist/esm/data/concurrency.d.ts +14 -0
  889. package/dist/esm/data/concurrency.d.ts.map +1 -0
  890. package/dist/esm/data/concurrency.js +29 -0
  891. package/dist/esm/data/concurrency.js.map +1 -0
  892. package/dist/esm/data/credentials.d.ts +28 -0
  893. package/dist/esm/data/credentials.d.ts.map +1 -0
  894. package/dist/esm/data/credentials.js +78 -0
  895. package/dist/esm/data/credentials.js.map +1 -0
  896. package/dist/esm/data/denoms.d.ts +11 -0
  897. package/dist/esm/data/denoms.d.ts.map +1 -0
  898. package/dist/esm/data/denoms.js +102 -0
  899. package/dist/esm/data/denoms.js.map +1 -0
  900. package/dist/esm/data/displayNames.d.ts +58 -0
  901. package/dist/esm/data/displayNames.d.ts.map +1 -0
  902. package/dist/esm/data/displayNames.js +94 -0
  903. package/dist/esm/data/displayNames.js.map +1 -0
  904. package/dist/esm/data/docPath.d.ts +28 -0
  905. package/dist/esm/data/docPath.d.ts.map +1 -0
  906. package/dist/esm/data/docPath.js +37 -0
  907. package/dist/esm/data/docPath.js.map +1 -0
  908. package/dist/esm/data/docUrls.d.ts +38 -0
  909. package/dist/esm/data/docUrls.d.ts.map +1 -0
  910. package/dist/esm/data/docUrls.js +46 -0
  911. package/dist/esm/data/docUrls.js.map +1 -0
  912. package/dist/esm/data/docs.d.ts +61 -0
  913. package/dist/esm/data/docs.d.ts.map +1 -0
  914. package/dist/esm/data/docs.js +177 -0
  915. package/dist/esm/data/docs.js.map +1 -0
  916. package/dist/esm/data/engine.d.ts +193 -0
  917. package/dist/esm/data/engine.d.ts.map +1 -0
  918. package/dist/esm/data/engine.js +362 -0
  919. package/dist/esm/data/engine.js.map +1 -0
  920. package/dist/esm/data/engineUrl.d.ts +19 -0
  921. package/dist/esm/data/engineUrl.d.ts.map +1 -0
  922. package/dist/esm/data/engineUrl.js +23 -0
  923. package/dist/esm/data/engineUrl.js.map +1 -0
  924. package/dist/esm/data/envelope.d.ts +69 -0
  925. package/dist/esm/data/envelope.d.ts.map +1 -0
  926. package/dist/esm/data/envelope.js +72 -0
  927. package/dist/esm/data/envelope.js.map +1 -0
  928. package/dist/esm/data/format.d.ts +122 -0
  929. package/dist/esm/data/format.d.ts.map +1 -0
  930. package/dist/esm/data/format.js +250 -0
  931. package/dist/esm/data/format.js.map +1 -0
  932. package/dist/esm/data/gql.d.ts +56 -0
  933. package/dist/esm/data/gql.d.ts.map +1 -0
  934. package/dist/esm/data/gql.js +100 -0
  935. package/dist/esm/data/gql.js.map +1 -0
  936. package/dist/esm/data/granters.d.ts +15 -0
  937. package/dist/esm/data/granters.d.ts.map +1 -0
  938. package/dist/esm/data/granters.js +71 -0
  939. package/dist/esm/data/granters.js.map +1 -0
  940. package/dist/esm/data/index.d.ts +18 -0
  941. package/dist/esm/data/index.d.ts.map +1 -0
  942. package/dist/esm/data/index.js +39 -0
  943. package/dist/esm/data/index.js.map +1 -0
  944. package/dist/esm/data/install.d.ts +95 -0
  945. package/dist/esm/data/install.d.ts.map +1 -0
  946. package/dist/esm/data/install.js +116 -0
  947. package/dist/esm/data/install.js.map +1 -0
  948. package/dist/esm/data/issueMessage.d.ts +20 -0
  949. package/dist/esm/data/issueMessage.d.ts.map +1 -0
  950. package/dist/esm/data/issueMessage.js +15 -0
  951. package/dist/esm/data/issueMessage.js.map +1 -0
  952. package/dist/esm/data/linked.d.ts +54 -0
  953. package/dist/esm/data/linked.d.ts.map +1 -0
  954. package/dist/esm/data/linked.js +136 -0
  955. package/dist/esm/data/linked.js.map +1 -0
  956. package/dist/esm/data/network.d.ts +21 -0
  957. package/dist/esm/data/network.d.ts.map +1 -0
  958. package/dist/esm/data/network.js +23 -0
  959. package/dist/esm/data/network.js.map +1 -0
  960. package/dist/esm/data/openness.d.ts +93 -0
  961. package/dist/esm/data/openness.d.ts.map +1 -0
  962. package/dist/esm/data/openness.js +140 -0
  963. package/dist/esm/data/openness.js.map +1 -0
  964. package/dist/esm/data/oracleInfo.d.ts +20 -0
  965. package/dist/esm/data/oracleInfo.d.ts.map +1 -0
  966. package/dist/esm/data/oracleInfo.js +35 -0
  967. package/dist/esm/data/oracleInfo.js.map +1 -0
  968. package/dist/esm/data/oracles.d.ts +44 -0
  969. package/dist/esm/data/oracles.d.ts.map +1 -0
  970. package/dist/esm/data/oracles.js +110 -0
  971. package/dist/esm/data/oracles.js.map +1 -0
  972. package/dist/esm/data/outbound.d.ts +50 -0
  973. package/dist/esm/data/outbound.d.ts.map +1 -0
  974. package/dist/esm/data/outbound.js +96 -0
  975. package/dist/esm/data/outbound.js.map +1 -0
  976. package/dist/esm/data/paged.d.ts +48 -0
  977. package/dist/esm/data/paged.d.ts.map +1 -0
  978. package/dist/esm/data/paged.js +75 -0
  979. package/dist/esm/data/paged.js.map +1 -0
  980. package/dist/esm/data/profiles.d.ts +3 -0
  981. package/dist/esm/data/profiles.d.ts.map +1 -0
  982. package/dist/esm/data/profiles.js +66 -0
  983. package/dist/esm/data/profiles.js.map +1 -0
  984. package/dist/esm/data/proof.d.ts +93 -0
  985. package/dist/esm/data/proof.d.ts.map +1 -0
  986. package/dist/esm/data/proof.js +128 -0
  987. package/dist/esm/data/proof.js.map +1 -0
  988. package/dist/esm/data/queue.d.ts +49 -0
  989. package/dist/esm/data/queue.d.ts.map +1 -0
  990. package/dist/esm/data/queue.js +115 -0
  991. package/dist/esm/data/queue.js.map +1 -0
  992. package/dist/esm/data/rates.d.ts +143 -0
  993. package/dist/esm/data/rates.d.ts.map +1 -0
  994. package/dist/esm/data/rates.js +249 -0
  995. package/dist/esm/data/rates.js.map +1 -0
  996. package/dist/esm/data/receipt.d.ts +207 -0
  997. package/dist/esm/data/receipt.d.ts.map +1 -0
  998. package/dist/esm/data/receipt.js +305 -0
  999. package/dist/esm/data/receipt.js.map +1 -0
  1000. package/dist/esm/data/resources.d.ts +30 -0
  1001. package/dist/esm/data/resources.d.ts.map +1 -0
  1002. package/dist/esm/data/resources.js +24 -0
  1003. package/dist/esm/data/resources.js.map +1 -0
  1004. package/dist/esm/data/sametask.d.ts +35 -0
  1005. package/dist/esm/data/sametask.d.ts.map +1 -0
  1006. package/dist/esm/data/sametask.js +40 -0
  1007. package/dist/esm/data/sametask.js.map +1 -0
  1008. package/dist/esm/data/shortName.d.ts +52 -0
  1009. package/dist/esm/data/shortName.d.ts.map +1 -0
  1010. package/dist/esm/data/shortName.js +119 -0
  1011. package/dist/esm/data/shortName.js.map +1 -0
  1012. package/dist/esm/data/threads.d.ts +97 -0
  1013. package/dist/esm/data/threads.d.ts.map +1 -0
  1014. package/dist/esm/data/threads.js +177 -0
  1015. package/dist/esm/data/threads.js.map +1 -0
  1016. package/dist/esm/data/trace.d.ts +133 -0
  1017. package/dist/esm/data/trace.d.ts.map +1 -0
  1018. package/dist/esm/data/trace.js +122 -0
  1019. package/dist/esm/data/trace.js.map +1 -0
  1020. package/dist/esm/data/traceWords.d.ts +54 -0
  1021. package/dist/esm/data/traceWords.d.ts.map +1 -0
  1022. package/dist/esm/data/traceWords.js +178 -0
  1023. package/dist/esm/data/traceWords.js.map +1 -0
  1024. package/dist/esm/data/types.d.ts +50 -0
  1025. package/dist/esm/data/types.d.ts.map +1 -0
  1026. package/dist/esm/data/types.js +6 -0
  1027. package/dist/esm/data/types.js.map +1 -0
  1028. package/dist/esm/data/verdict.d.ts +37 -0
  1029. package/dist/esm/data/verdict.d.ts.map +1 -0
  1030. package/dist/esm/data/verdict.js +51 -0
  1031. package/dist/esm/data/verdict.js.map +1 -0
  1032. package/dist/esm/data/work.d.ts +46 -0
  1033. package/dist/esm/data/work.d.ts.map +1 -0
  1034. package/dist/esm/data/work.js +68 -0
  1035. package/dist/esm/data/work.js.map +1 -0
  1036. package/dist/esm/envRead.d.ts +15 -0
  1037. package/dist/esm/envRead.d.ts.map +1 -0
  1038. package/dist/esm/envRead.js +20 -0
  1039. package/dist/esm/envRead.js.map +1 -0
  1040. package/dist/esm/geo/box.d.ts +64 -0
  1041. package/dist/esm/geo/box.d.ts.map +1 -0
  1042. package/dist/esm/geo/box.js +85 -0
  1043. package/dist/esm/geo/box.js.map +1 -0
  1044. package/dist/esm/geo/exif.d.ts +20 -0
  1045. package/dist/esm/geo/exif.d.ts.map +1 -0
  1046. package/dist/esm/geo/exif.js +215 -0
  1047. package/dist/esm/geo/exif.js.map +1 -0
  1048. package/dist/esm/geo/exifcarry.d.ts +31 -0
  1049. package/dist/esm/geo/exifcarry.d.ts.map +1 -0
  1050. package/dist/esm/geo/exifcarry.js +77 -0
  1051. package/dist/esm/geo/exifcarry.js.map +1 -0
  1052. package/dist/esm/geo/exifnote.d.ts +86 -0
  1053. package/dist/esm/geo/exifnote.d.ts.map +1 -0
  1054. package/dist/esm/geo/exifnote.js +243 -0
  1055. package/dist/esm/geo/exifnote.js.map +1 -0
  1056. package/dist/esm/geo/mentions.d.ts +44 -0
  1057. package/dist/esm/geo/mentions.d.ts.map +1 -0
  1058. package/dist/esm/geo/mentions.js +190 -0
  1059. package/dist/esm/geo/mentions.js.map +1 -0
  1060. package/dist/esm/geo/osm.d.ts +112 -0
  1061. package/dist/esm/geo/osm.d.ts.map +1 -0
  1062. package/dist/esm/geo/osm.js +171 -0
  1063. package/dist/esm/geo/osm.js.map +1 -0
  1064. package/dist/esm/geo/place.d.ts +51 -0
  1065. package/dist/esm/geo/place.d.ts.map +1 -0
  1066. package/dist/esm/geo/place.js +99 -0
  1067. package/dist/esm/geo/place.js.map +1 -0
  1068. package/dist/esm/geo/search.d.ts +41 -0
  1069. package/dist/esm/geo/search.d.ts.map +1 -0
  1070. package/dist/esm/geo/search.js +182 -0
  1071. package/dist/esm/geo/search.js.map +1 -0
  1072. package/dist/esm/geo/sun.d.ts +39 -0
  1073. package/dist/esm/geo/sun.d.ts.map +1 -0
  1074. package/dist/esm/geo/sun.js +51 -0
  1075. package/dist/esm/geo/sun.js.map +1 -0
  1076. package/dist/esm/geo/tiles.d.ts +89 -0
  1077. package/dist/esm/geo/tiles.d.ts.map +1 -0
  1078. package/dist/esm/geo/tiles.js +136 -0
  1079. package/dist/esm/geo/tiles.js.map +1 -0
  1080. package/dist/esm/geo.d.ts +20 -0
  1081. package/dist/esm/geo.d.ts.map +1 -0
  1082. package/dist/esm/geo.js +19 -0
  1083. package/dist/esm/geo.js.map +1 -0
  1084. package/dist/esm/given.d.ts +15 -0
  1085. package/dist/esm/given.d.ts.map +1 -0
  1086. package/dist/esm/given.js +18 -0
  1087. package/dist/esm/given.js.map +1 -0
  1088. package/dist/esm/network.d.ts +23 -0
  1089. package/dist/esm/network.d.ts.map +1 -0
  1090. package/dist/esm/network.js +48 -0
  1091. package/dist/esm/network.js.map +1 -0
  1092. package/dist/esm/package.json +3 -0
  1093. package/dist/esm/protocol.d.ts +40 -0
  1094. package/dist/esm/protocol.d.ts.map +1 -0
  1095. package/dist/esm/protocol.js +38 -0
  1096. package/dist/esm/protocol.js.map +1 -0
  1097. package/dist/esm/rubric/bridge.d.ts +428 -0
  1098. package/dist/esm/rubric/bridge.d.ts.map +1 -0
  1099. package/dist/esm/rubric/bridge.js +911 -0
  1100. package/dist/esm/rubric/bridge.js.map +1 -0
  1101. package/dist/esm/rubric/call.d.ts +73 -0
  1102. package/dist/esm/rubric/call.d.ts.map +1 -0
  1103. package/dist/esm/rubric/call.js +120 -0
  1104. package/dist/esm/rubric/call.js.map +1 -0
  1105. package/dist/esm/rubric/card.d.ts +74 -0
  1106. package/dist/esm/rubric/card.d.ts.map +1 -0
  1107. package/dist/esm/rubric/card.js +38 -0
  1108. package/dist/esm/rubric/card.js.map +1 -0
  1109. package/dist/esm/rubric/chain.d.ts +44 -0
  1110. package/dist/esm/rubric/chain.d.ts.map +1 -0
  1111. package/dist/esm/rubric/chain.js +49 -0
  1112. package/dist/esm/rubric/chain.js.map +1 -0
  1113. package/dist/esm/rubric/claimForm.d.ts +142 -0
  1114. package/dist/esm/rubric/claimForm.d.ts.map +1 -0
  1115. package/dist/esm/rubric/claimForm.js +109 -0
  1116. package/dist/esm/rubric/claimForm.js.map +1 -0
  1117. package/dist/esm/rubric/claimFormResource.d.ts +34 -0
  1118. package/dist/esm/rubric/claimFormResource.d.ts.map +1 -0
  1119. package/dist/esm/rubric/claimFormResource.js +33 -0
  1120. package/dist/esm/rubric/claimFormResource.js.map +1 -0
  1121. package/dist/esm/rubric/compose.d.ts +99 -0
  1122. package/dist/esm/rubric/compose.d.ts.map +1 -0
  1123. package/dist/esm/rubric/compose.js +225 -0
  1124. package/dist/esm/rubric/compose.js.map +1 -0
  1125. package/dist/esm/rubric/confidence.d.ts +81 -0
  1126. package/dist/esm/rubric/confidence.d.ts.map +1 -0
  1127. package/dist/esm/rubric/confidence.js +82 -0
  1128. package/dist/esm/rubric/confidence.js.map +1 -0
  1129. package/dist/esm/rubric/draft.d.ts +224 -0
  1130. package/dist/esm/rubric/draft.d.ts.map +1 -0
  1131. package/dist/esm/rubric/draft.js +206 -0
  1132. package/dist/esm/rubric/draft.js.map +1 -0
  1133. package/dist/esm/rubric/gateMet.d.ts +46 -0
  1134. package/dist/esm/rubric/gateMet.d.ts.map +1 -0
  1135. package/dist/esm/rubric/gateMet.js +104 -0
  1136. package/dist/esm/rubric/gateMet.js.map +1 -0
  1137. package/dist/esm/rubric/leg.d.ts +106 -0
  1138. package/dist/esm/rubric/leg.d.ts.map +1 -0
  1139. package/dist/esm/rubric/leg.js +138 -0
  1140. package/dist/esm/rubric/leg.js.map +1 -0
  1141. package/dist/esm/rubric/publish.d.ts +39 -0
  1142. package/dist/esm/rubric/publish.d.ts.map +1 -0
  1143. package/dist/esm/rubric/publish.js +29 -0
  1144. package/dist/esm/rubric/publish.js.map +1 -0
  1145. package/dist/esm/rubric/reanchor.d.ts +79 -0
  1146. package/dist/esm/rubric/reanchor.d.ts.map +1 -0
  1147. package/dist/esm/rubric/reanchor.js +146 -0
  1148. package/dist/esm/rubric/reanchor.js.map +1 -0
  1149. package/dist/esm/rubric/receipt.d.ts +96 -0
  1150. package/dist/esm/rubric/receipt.d.ts.map +1 -0
  1151. package/dist/esm/rubric/receipt.js +25 -0
  1152. package/dist/esm/rubric/receipt.js.map +1 -0
  1153. package/dist/esm/rubric/roundTrips.d.ts +17 -0
  1154. package/dist/esm/rubric/roundTrips.d.ts.map +1 -0
  1155. package/dist/esm/rubric/roundTrips.js +20 -0
  1156. package/dist/esm/rubric/roundTrips.js.map +1 -0
  1157. package/dist/esm/rubric/terms.d.ts +611 -0
  1158. package/dist/esm/rubric/terms.d.ts.map +1 -0
  1159. package/dist/esm/rubric/terms.js +755 -0
  1160. package/dist/esm/rubric/terms.js.map +1 -0
  1161. package/dist/esm/rubric/wants.d.ts +36 -0
  1162. package/dist/esm/rubric/wants.d.ts.map +1 -0
  1163. package/dist/esm/rubric/wants.js +52 -0
  1164. package/dist/esm/rubric/wants.js.map +1 -0
  1165. package/dist/esm/rubric.d.ts +30 -0
  1166. package/dist/esm/rubric.d.ts.map +1 -0
  1167. package/dist/esm/rubric.js +30 -0
  1168. package/dist/esm/rubric.js.map +1 -0
  1169. package/dist/esm/udid/base58.d.ts +8 -0
  1170. package/dist/esm/udid/base58.d.ts.map +1 -0
  1171. package/dist/esm/udid/base58.js +53 -0
  1172. package/dist/esm/udid/base58.js.map +1 -0
  1173. package/dist/esm/udid/canonical.d.ts +17 -0
  1174. package/dist/esm/udid/canonical.d.ts.map +1 -0
  1175. package/dist/esm/udid/canonical.js +28 -0
  1176. package/dist/esm/udid/canonical.js.map +1 -0
  1177. package/dist/esm/udid/cid.d.ts +22 -0
  1178. package/dist/esm/udid/cid.d.ts.map +1 -0
  1179. package/dist/esm/udid/cid.js +46 -0
  1180. package/dist/esm/udid/cid.js.map +1 -0
  1181. package/dist/esm/udid/key.d.ts +41 -0
  1182. package/dist/esm/udid/key.d.ts.map +1 -0
  1183. package/dist/esm/udid/key.js +58 -0
  1184. package/dist/esm/udid/key.js.map +1 -0
  1185. package/dist/esm/udid/resolve.d.ts +56 -0
  1186. package/dist/esm/udid/resolve.d.ts.map +1 -0
  1187. package/dist/esm/udid/resolve.js +162 -0
  1188. package/dist/esm/udid/resolve.js.map +1 -0
  1189. package/dist/esm/udid/schema.d.ts +150 -0
  1190. package/dist/esm/udid/schema.d.ts.map +1 -0
  1191. package/dist/esm/udid/schema.js +151 -0
  1192. package/dist/esm/udid/schema.js.map +1 -0
  1193. package/dist/esm/udid/verify.d.ts +35 -0
  1194. package/dist/esm/udid/verify.d.ts.map +1 -0
  1195. package/dist/esm/udid/verify.js +93 -0
  1196. package/dist/esm/udid/verify.js.map +1 -0
  1197. package/dist/esm/udid/wrapper.d.ts +90 -0
  1198. package/dist/esm/udid/wrapper.d.ts.map +1 -0
  1199. package/dist/esm/udid/wrapper.js +37 -0
  1200. package/dist/esm/udid/wrapper.js.map +1 -0
  1201. package/dist/esm/udid.d.ts +17 -0
  1202. package/dist/esm/udid.d.ts.map +1 -0
  1203. package/dist/esm/udid.js +17 -0
  1204. package/dist/esm/udid.js.map +1 -0
  1205. package/package.json +210 -4
@@ -0,0 +1,911 @@
1
+ import { CLAIM_KINDS, hostOf, normalizeTerms } from "./terms.js";
2
+ /**
3
+ * What every source and AI check says when it could not answer at all.
4
+ *
5
+ * Not `review`. The engine turns an errored fact with `onError: "review"`
6
+ * into verdict `review` — chain status 5, nothing signed until somebody
7
+ * looks — and nobody ever looks: there is no review screen, and the
8
+ * campaign's poster is a key with nobody behind it. A mainnet claim in
9
+ * collection 8253 sat exactly there, held for ever, because one oracle fact
10
+ * errored. `reject` is still never an approval (the engine lets an errored
11
+ * `reject` beat any other verdict), and a refused claimant reads that the
12
+ * check was unreachable and can submit again; a held one reads nothing.
13
+ */
14
+ export const ON_ERROR = "reject";
15
+ /** The checker's own defaults (`services/worker-agent/src/config.ts`), carried over unchanged. */
16
+ export const DEFAULT_COOLDOWN = { meters: 150, days: 7 };
17
+ /**
18
+ * The name every source is declared under.
19
+ *
20
+ * The rubric format requires an `endpoint` and a `did:web` `audience` on
21
+ * every source, and hashes both into the rubric's id. Nothing ever calls
22
+ * them: the oracle answers by *name*, in-process. So they are one constant,
23
+ * agreed with the oracle, on a reserved domain that can never resolve.
24
+ */
25
+ export const ORACLE_HOST = "oracle.openhands.invalid";
26
+ /**
27
+ * The document as bytes, and the name those bytes answer to.
28
+ *
29
+ * Their resolver fetches whatever the chain points at and requires
30
+ * `hex(sha256(the exact bytes served)) === the on-chain proof`, so the text
31
+ * returned here is the text that must be uploaded — hashing one serialization
32
+ * and uploading another is the one mistake that cannot be caught by reading
33
+ * the code.
34
+ *
35
+ * **Not a CID.** Our claim ids and terms are CIDv1, and the `#vct` proof is
36
+ * one too, but a rubric's proof is a bare hex sha256. Two conventions live on
37
+ * one entity because each side's reader demands its own.
38
+ */
39
+ export async function rubricDocument(terms, binding, options = {}) {
40
+ const { envelope } = toEngineRubric(terms, binding, options);
41
+ const text = JSON.stringify(envelope);
42
+ const digest = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(text));
43
+ const proof = [...new Uint8Array(digest)].map((byte) => byte.toString(16).padStart(2, "0")).join("");
44
+ return { text, proof };
45
+ }
46
+ // ------------------------------------------------------------ the vocabulary
47
+ /**
48
+ * The names the oracle answers to, per gate. Exact: the oracle registers a
49
+ * handler per name (and per suffix, 2..5, for a rule that repeats within one
50
+ * rubric) and an unknown name falls through to the package's stock lanes,
51
+ * which know none of these.
52
+ */
53
+ export const SOURCE_NAMES = {
54
+ "within-radius": "withinRadius",
55
+ located: "located",
56
+ "before-after": "beforeAfter",
57
+ "daylight-consistent": "daylight",
58
+ "weather-consistent": "weather",
59
+ "not-already-mapped": "notAlreadyMapped",
60
+ "re-measure": "reMeasure",
61
+ "at-registered-point": "atPoint",
62
+ "mapped-grid": "mappedGrid"
63
+ };
64
+ /** The cool-off source, emitted from the options rather than from a gate. */
65
+ export const COOLDOWN_SOURCE = "cooldown";
66
+ /** The marker source on a site ask, so the claim's `kind` is frozen on the receipt for the oracle's act policy. */
67
+ export const SITE_SOURCE = "openhandsSite";
68
+ /** The AI check, per judge criterion: `judge`, then `judge2..`. */
69
+ export const JUDGE_NAME = "judge";
70
+ /**
71
+ * Whether the photograph is evidence at all — asked of every photograph ask,
72
+ * by the bridge, whatever the terms say.
73
+ *
74
+ * **What bought it (mainnet, collections 8253 and 8231, September 2026).** An
75
+ * AI-generated square of an Italian piazza, reported as Giza, with a garbled
76
+ * burned-in timestamp and "Made with Google AI" in its own IPTC — approved,
77
+ * the judges at 98 and 99. One wallet photographing a computer monitor that
78
+ * was showing litter — moiré, a share icon, a mouse cursor in frame — approved
79
+ * five times, a cleanup's before and after shot fourteen seconds apart off the
80
+ * same screen among them. Paper balls on a tiled floor and a wrapper on
81
+ * somebody's carpet, approved as mapped messes. Every judge was right about
82
+ * the sentence it was given: the picture did show waste, the size was about a
83
+ * bagful, nobody's face was in it. No rule asked whether the picture was a
84
+ * photograph, and `JUDGE_GUIDANCE` told each judge that anything else wrong
85
+ * with the claim was not its to judge.
86
+ *
87
+ * Two facts the oracle reads off the file's own bytes, and one sentence a
88
+ * model rules on. They are rules "every ask of the shape carries" — like the
89
+ * cool-off and the duplicate rule — rather than criteria in the terms, for
90
+ * the reason those are: an ask already posted has its terms frozen, and a
91
+ * fake photograph is not something a poster should have to remember to
92
+ * forbid. `#rub` therefore says more than `#done` does, as it already did.
93
+ *
94
+ * Three refusals, all `invalid_evidence`:
95
+ *
96
+ * - `notMarkedGenerated` — the file itself (IPTC, XMP, trusted Content
97
+ * Credentials) says a generator made it. That is the file's own confession.
98
+ * - the authenticity judge (`realPhotoRule`) — the picture is of a screen, a
99
+ * print or a generator's work, or, where the ask is about waste on the
100
+ * ground, of somebody's floor.
101
+ * - `notElsewhere` — the photograph's EXIF GPS is farther than `meters` from
102
+ * the point the claim reported. A camera's last fix can be stale and a
103
+ * browser's point can come from a cell tower, which is what the width of
104
+ * `NOT_ELSEWHERE_FLOOR_METERS` is for: it forgives the instruments, so what
105
+ * is left to refuse is another town.
106
+ *
107
+ * **None of them holds a claim for a person, because there is no person.**
108
+ * `onFail: "review"` would give a claim verdict `review` — chain status 5,
109
+ * nothing signed until somebody looks — and nobody ever looks: there is no review screen, and the campaign's poster
110
+ * is a key with nobody behind it. A claimant who is refused reads why and can
111
+ * go and take the photograph again; one who is held reads nothing and waits
112
+ * for ever. So a screen that cannot be made wide enough to refuse on is not
113
+ * written at all, and each refusal's `reason` says what to do about it.
114
+ */
115
+ export const PHOTO_CHECKS = {
116
+ notMarkedGenerated: "notMarkedGenerated",
117
+ notElsewhere: "notElsewhere"
118
+ };
119
+ /**
120
+ * How far a photograph's own GPS may sit from the point the claim reported.
121
+ *
122
+ * Not the place rule — `within-radius` is that, and it stays as tight as the
123
+ * poster made it. This compares two readings of the SAME moment that come
124
+ * from different instruments: the camera's EXIF fix, which can be minutes
125
+ * stale, and the browser's geolocation (`nowAndHere`), which falls back to
126
+ * wifi and cell towers when no satellite fix arrives inside its eight
127
+ * seconds. The two honestly differ by hundreds of metres. This is meant to
128
+ * catch another city, not another street, so an ask's own radius is used only
129
+ * when it is WIDER than this — a 150 m cleanup radius would refuse honest
130
+ * phones all day.
131
+ */
132
+ export const NOT_ELSEWHERE_FLOOR_METERS = 1000;
133
+ /**
134
+ * The contract's ceiling on one name within one rubric: bare, then `2..5`.
135
+ *
136
+ * For an `ext` name it is a wall: the oracle registers exactly those handlers,
137
+ * and a sixth falls through to the stock lane and is POSTed to a host that can
138
+ * never resolve. The photograph screens are asked once per photograph and no
139
+ * claim carries more than two, so they sit under it by construction. For
140
+ * `judge` it is the contract's word rather than a wall — the stock judge
141
+ * answers whatever name a rubric declares — and the one judge the bridge adds
142
+ * of its own accord keeps to it: see where it is emitted.
143
+ */
144
+ export const NAME_CEILING = 5;
145
+ /** The one duplicate rule every photo ask carries. */
146
+ export const UNIQUE_RULE_ID = "OH-DUP-1";
147
+ /**
148
+ * The `send` keys per name, in the order they are written — the contract's
149
+ * table, verbatim. `bridge.test.ts` asserts the emitted keys against this,
150
+ * and the oracle's tests assert its handlers against the same document.
151
+ *
152
+ * `judge` is the *plain photo* row. An AI check sends what the ask's shape
153
+ * actually carries, which is more than one photograph on a pair —
154
+ * `JUDGE_SEND_KEYS` below is that table, and the one `bridge.test.ts` checks
155
+ * a pair and a site against.
156
+ */
157
+ export const SEND_KEYS = {
158
+ withinRadius: ["lat", "lon", "photo", "centerLat", "centerLon", "meters"],
159
+ located: ["lat", "lon", "photo"],
160
+ beforeAfter: ["before", "after", "meters"],
161
+ daylight: ["text", "at", "fallbackAt", "lat", "lon"],
162
+ weather: ["text", "at", "fallbackAt", "lat", "lon"],
163
+ notAlreadyMapped: ["lat", "lon", "meters"],
164
+ cooldown: ["lat", "lon", "meters", "days"],
165
+ reMeasure: ["url", "text"],
166
+ atPoint: ["lat", "lon", "points", "meters"],
167
+ mappedGrid: ["box", "tag", "minEdits", "minFeatures", "days"],
168
+ openhandsSite: ["kind", "lat", "lon"],
169
+ notElsewhere: ["lat", "lon", "photo", "meters"],
170
+ notMarkedGenerated: ["photo"],
171
+ judge: ["task", "text", "photo"]
172
+ };
173
+ /**
174
+ * What a judge is sent, per ask shape — the fix for the 1149 patch rejections.
175
+ *
176
+ * A patch claim on a site carries four files: the before, the after (which is
177
+ * also `$photo`), and the bags in `$extraFile`. Sending only `$photo` handed
178
+ * the model ONE image and asked it whether two photographs showed the same
179
+ * place — it answered, correctly, that it could not compare one photograph,
180
+ * and every honest patch was refused. So a pair ask sends the pair, an ask
181
+ * that expects a second file sends it as `bags`, and a site also says which
182
+ * `kind` of claim arrived, because the two kinds carry different evidence.
183
+ *
184
+ * The keys are the contract's (`facts-contract.md`, amended 2026-09-16), and
185
+ * the engine's own AI lane forwards every attachment a `send` names as its own
186
+ * labelled input — a file it cannot read arrives as a descriptor rather than
187
+ * vanishing (evaluator spec §6.1).
188
+ */
189
+ export const JUDGE_SEND_KEYS = {
190
+ text: ["task", "text"],
191
+ photo: ["task", "text", "photo"],
192
+ pair: ["task", "text", "photo", "before", "after"],
193
+ "pair-with-bags": ["task", "text", "photo", "before", "after", "bags"],
194
+ site: ["task", "text", "photo", "before", "after", "bags", "kind"]
195
+ };
196
+ /**
197
+ * The sentence every judge on a site ask is told first.
198
+ *
199
+ * One rubric serves both kinds of claim (the chain allows exactly one), so a
200
+ * criterion written for a patch is also read against the site photograph and
201
+ * the other way round. Without this the site judge read "before, after and the
202
+ * bags" as a rule the wide shot had broken. It says what each kind carries and
203
+ * that only the kind in front of the model is being ruled on; `$kind` in the
204
+ * send map is where the model learns which one that is.
205
+ */
206
+ export const SITE_KIND_PREAMBLE = 'A claim of kind "patch" carries a before photograph, an after photograph and a photograph of the bags; a claim of kind "site" carries one wide photograph of the whole area. Rule only on what this claim\'s kind carries.';
207
+ /**
208
+ * What every judge is told before the sentence it is ruling on.
209
+ *
210
+ * **The wrapper this sits inside is strict on purpose, and that is the
211
+ * problem.** The oracle's own prompt ends "Do not give benefit of the doubt.
212
+ * If a rule requires something and you cannot find it, that rule FAILS." That
213
+ * is the right posture for a rule about a fact and the wrong one for a
214
+ * judgement of degree: "the photograph supports the amount claimed" gets read
215
+ * as "prove the amount", and an honest phone photograph of a real pile proves
216
+ * nothing to that standard. Ask 43910 refused six of six real claims on
217
+ * testnet, one of them with nothing whatever wrong with it. This paragraph
218
+ * says what the evidence actually is — a phone, outdoors, one go — and which
219
+ * way doubt falls, so a rule of degree is read as one.
220
+ *
221
+ * **It cannot live in `criterion.text`, twice over.** That field is cut to 300
222
+ * characters by `parseTerms`, so a paragraph in it would arrive on the model's
223
+ * wire with its end chopped off; and `toEngineRubric` copies it verbatim into
224
+ * the reject gate's `reason`, which is the sentence a refused worker reads. A
225
+ * lecture on how to judge is not an explanation of why somebody was not paid.
226
+ * `instructions` is neither of those things: it is not part of the frozen
227
+ * terms, so it is not hashed on chain, and no worker ever sees it.
228
+ *
229
+ * **Its second half is about the refusal, not the verdict.** The model's own
230
+ * `reason` is the only per-claim explanation that ever reaches the person who
231
+ * did the work, and left to itself the model writes it to an auditor: "it
232
+ * therefore does not support the reported trailer-sized amount". Somebody who
233
+ * walked to a ditch and photographed it is owed a sentence they can act on —
234
+ * what was seen, what fell short, what would have been enough.
235
+ *
236
+ * The order of the last two matters. "Never list it as a failed rule" stays
237
+ * the final sentence, because that is the one protecting the verdict, and the
238
+ * instruction nearest the end is the one a model is least likely to drop.
239
+ *
240
+ * Validated by replaying 18 real claims — the real photographs, the real
241
+ * prompt: it was never once reported as a failed rule, and the verdicts moved
242
+ * from 13 of 18 to 16 of 18 agreeing with what a person would have decided.
243
+ *
244
+ * **Amended 2026-09-21, two clauses, after the fakes on 8253 and 8231**
245
+ * (`PHOTO_CHECKS` has the incident). Both were added, nothing was taken out,
246
+ * and neither has been replayed yet — the 18-claim replay above is of the
247
+ * paragraph before them, so replay before this is anchored on a live ask.
248
+ *
249
+ * - After "still evidence, so rule on what you can see in it": *"That is
250
+ * about how well an honest photograph came out, never about what was
251
+ * photographed: a picture of a screen, a print or another photograph does
252
+ * not become evidence by being dim or low-resolution."* The sentence before
253
+ * it forgives exactly what a photographed monitor looks like — soft, skewed,
254
+ * low in contrast — and was forgiving it. It says what the forgiveness is
255
+ * FOR, so it still covers the honest phone it was written for.
256
+ * - After "is not yours to judge here": *"— every rule is asked on its own,
257
+ * and whether a photograph is genuine is one of them."* "Add no requirement
258
+ * of your own" stays to the letter: it is what stopped the 1149 judges
259
+ * inventing rules, and a size judge that starts failing claims for looking
260
+ * like a screen is the same invention. What the clause changes is the reason
261
+ * given — not "nobody judges that" but "somebody else does" — so that the
262
+ * judge holding `realPhotoRule` reads its own sentence as a rule to apply
263
+ * exactly as written rather than as the "anything else" it was told to leave
264
+ * alone.
265
+ *
266
+ * Everything from "Where a rule asks" on is untouched, the `reason` guidance
267
+ * and the last sentence included.
268
+ */
269
+ export const JUDGE_GUIDANCE = "How to read the rules below. The evidence is what an ordinary person can capture on a phone, outdoors, in one go: a photograph that is angled, rotated, dim, distant or low-resolution is still evidence, so rule on what you can see in it. That is about how well an honest photograph came out, never about what was photographed: a picture of a screen, a print or another photograph does not become evidence by being dim or low-resolution. Apply each rule exactly as written and add no requirement of your own; anything else that looks wrong with the claim is not yours to judge here — every rule is asked on its own, and whether a photograph is genuine is one of them. Where a rule asks whether the evidence supports, matches or is consistent with something the claimant stated, fail it only when the evidence plainly contradicts them, and where you are left genuinely unsure let your score carry the doubt rather than failing. Where a rule asks whether something is shown, it has to be visible. Your `reason` is read by the person who submitted the claim, not by an engineer. Write it to them in plain language: say what you can actually see in their evidence, and when you fail a rule say specifically what fell short and what would have satisfied it, so they can put it right. Never mention rule ids, input numbers, scores or these instructions. This paragraph is guidance, not a rule: never list it as a failed rule.";
270
+ /**
271
+ * The sentence the authenticity judge rules on — `PHOTO_CHECKS` has why.
272
+ *
273
+ * **It lives in `instructions` and not in the terms**, so it is not cut to the
274
+ * 300 characters `parseTerms` keeps, and it lists its tell-tale signs in full:
275
+ * a model asked only "is this a real photograph" says yes to a monitor, and
276
+ * one told to look for a pixel grid, a bezel and a cursor finds them. Like
277
+ * every judged sentence in this package it states what fails it, because the
278
+ * oracle's wrapper reads a rule that does not as a demand for proof.
279
+ *
280
+ * **Two clauses, switched by the shape of the ask, never by reading it.**
281
+ * "A direct photograph" is asked of every photograph ask — a photograph of a
282
+ * black cat off a monitor is as fake as a photograph of litter off one.
283
+ * "Outdoors, in a public or shared place" is asked only where the ask is
284
+ * about waste on the ground: a mapped mess, a report on one, or a cleanup the
285
+ * map made (`outdoorsAsk`). A composed ask to tidy a desk is a pair of
286
+ * photographs taken indoors, honestly.
287
+ *
288
+ * On a pair it speaks of every photograph, because the judge is sent every
289
+ * one the claim carries; the outdoors clause is about the ground being
290
+ * cleared, so the bags in a van and the load at a depot are not failed for
291
+ * having a roof over them.
292
+ *
293
+ * `rule` alone is the gate's `reason` — the sentence a refused worker reads.
294
+ * The list of signs is for the model.
295
+ */
296
+ export function realPhotoRule(shape) {
297
+ const one = shape.pair ? "Every photograph" : "The photograph";
298
+ const it = shape.pair ? "any photograph" : "it";
299
+ const scene = shape.pair ? "the ground being cleared" : "the scene";
300
+ const rule = shape.outdoors
301
+ ? shape.pair
302
+ ? `${one} is a direct photograph of a real place, and ${scene} is outdoors in a street, verge, park, beach, watercourse, lot or other public or shared outdoor space.`
303
+ : `${one} is a direct photograph of a real place, taken outdoors in a street, verge, park, beach, watercourse, lot or other public or shared outdoor space.`
304
+ : `${one} is a direct photograph of a real scene.`;
305
+ const screen = `${it} is a picture of a screen, monitor, print or another photograph (look for a pixel grid or moiré bands, a bezel, glare on glass, a cursor, a browser or app interface, the perspective skew of a flat glowing rectangle)`;
306
+ const generated = `${shape.pair ? "any" : "it"} shows signs of being computer-generated (garbled or nonsensical lettering, signs, dates or timestamps; an artificial vignette or frame; impossible geometry)`;
307
+ const indoors = `${scene} is indoors or part of somebody's home — a household floor, table, balcony or room`;
308
+ const fails = shape.outdoors ? `Fail this if ${screen}, if ${generated}, or if ${indoors}.` : `Fail this if ${screen}, or if ${generated}.`;
309
+ return { rule, text: `${rule} ${fails}` };
310
+ }
311
+ /** Per attempt. Their ceiling is 30 s; the oracle answers in-process, so this is generous. */
312
+ const SOURCE_TIMEOUT_MS = 15_000;
313
+ /**
314
+ * How far apart a pair's two photographs may be taken. The gate carries no
315
+ * radius by design — the place is the ask's `within-radius` gate — so that
316
+ * gate's radius is used when the ask has one, and this when it does not.
317
+ */
318
+ const DEFAULT_PAIR_METERS = 150;
319
+ // -------------------------------------------------------------- the fields
320
+ /**
321
+ * The claim form's file questions (claim form v3, plan D3). Each is a SurveyJS
322
+ * file answer — `[{name, type, content: "https://…"}]` — which is what lets
323
+ * `mediaTypeIn`, `maxSizeMB` and the duplicate lanes see the bytes. On a
324
+ * pair, `photo` is the after photograph, the same as `file`.
325
+ */
326
+ const PHOTO = "$photo";
327
+ const BEFORE_PHOTO = "$beforePhoto";
328
+ const AFTER_PHOTO = "$afterPhoto";
329
+ const EXTRA_FILE = "$extraFile";
330
+ /** Which kind of claim arrived — `patch` or `site` on a shared site. */
331
+ const KIND = "$kind";
332
+ const TEXT = "$deliverable";
333
+ const LAT = "$location.lat";
334
+ const LON = "$location.lon";
335
+ const AT = "$location.at";
336
+ /** The engine's own token for when the claim was submitted — the fallback when no reading carries a time. */
337
+ const SUBMITTED_AT = "ctx.claim.submissionDate";
338
+ /** Which deliverables carry a photograph in `$photo`. */
339
+ const WITH_PHOTO = new Set(["photo", "photo-pair", "mess-report", "field-report", "file"]);
340
+ /**
341
+ * Which deliverables ARE a photograph. `file` rides in `$photo` too, and is a
342
+ * scan, a video or a PDF as often as a picture: asking whether a document is
343
+ * "a direct photograph of a real scene" would refuse every honest one. So the
344
+ * photograph screens are not asked of it.
345
+ */
346
+ const PHOTOGRAPH = new Set(["photo", "photo-pair", "mess-report", "field-report"]);
347
+ /** The rules that make a claim report where it was — what `notElsewhere` compares the photograph against. */
348
+ const PLACE_GATES = new Set(["located", "within-radius", "not-already-mapped", "at-registered-point"]);
349
+ /** Long enough that no honest deliverable hits it; `lengthBetween` is inclusive. */
350
+ const LENGTH_CEILING = 1_000_000;
351
+ const MEGABYTE = 1_048_576;
352
+ /** Bytes as the MB their `maxSizeMB` reads, rounded up to a hundredth so a limit never tightens. */
353
+ const megabytes = (bytes) => Math.ceil((bytes / MEGABYTE) * 100) / 100;
354
+ const escapeRegex = (raw) => raw.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
355
+ /**
356
+ * A literal as a case-insensitive pattern, spelled out.
357
+ *
358
+ * Their `matches` compiles the pattern with no flags, and JavaScript has no
359
+ * inline `(?i)`, so case-insensitivity has to be written into the character
360
+ * classes. Our own gates all compare lowercased, so anything else would be a
361
+ * stricter rule than the poster agreed to.
362
+ */
363
+ const insensitive = (literal) => [...literal].map((character) => (/[a-z]/i.test(character) ? `[${character.toLowerCase()}${character.toUpperCase()}]` : escapeRegex(character))).join("");
364
+ /**
365
+ * A string that must reach the oracle as itself.
366
+ *
367
+ * A `send` value that begins like a reference (`$`, `~`, `.`, `ctx.`, `ext.`,
368
+ * `ai.`) IS a reference to their binder, and an ask titled "$5 for a photo"
369
+ * would bind to a question that does not exist and take the rubric down. A
370
+ * literal that could be mistaken for one is prefixed with a word.
371
+ */
372
+ const literal = (text) => (/^[$~.]|^(?:ctx|ext|ai)\./.test(text) ? `Text: ${text}` : text);
373
+ /** `OH-101-MENTIONS-URL` — their code grammar is `^[A-Z0-9]+-[0-9]+-[A-Z0-9-]+$`. */
374
+ const codeFor = (index, label) => `OH-${100 + index}-${label.toUpperCase().replace(/[^A-Z0-9]+/g, "-").replace(/^-|-$/g, "")}`;
375
+ const field = (name, op, value) => ({
376
+ "@type": "Condition",
377
+ field: name,
378
+ op,
379
+ ...(value === undefined ? {} : { value })
380
+ });
381
+ /**
382
+ * The words our own `reports-status` accepts, as one pattern.
383
+ *
384
+ * `verdict.ts` accepts a three-digit code introduced by a status word, or any
385
+ * of the phrases that say the site never answered. The context words matter:
386
+ * a bare three-digit number would let "I checked 200 pages" pass as a status,
387
+ * and a rule looser than ours would approve work our own checker rejects.
388
+ */
389
+ const STATUS_WORDS = ["status", "code", "http", "returned", "returns", "responded", "responds", "answered", "answers", "gave"];
390
+ const DOWN_WORDS = [
391
+ "did not answer",
392
+ "didn't answer",
393
+ "does not answer",
394
+ "no response",
395
+ "unreachable",
396
+ "timed out",
397
+ "timeout",
398
+ "could not connect",
399
+ "couldn't connect",
400
+ "connection refused",
401
+ "is down",
402
+ "not responding",
403
+ "never answered"
404
+ ];
405
+ /* Bounded on both sides: the gap is capped so the pattern cannot backtrack,
406
+ which is also what keeps it inside their safe-regex subset. */
407
+ const statusPattern = () => [...STATUS_WORDS.map((word) => `${insensitive(word)}[^0-9]{0,16}[0-9]{3}`), ...DOWN_WORDS.map(insensitive)].join("|");
408
+ /** A native gate: the engine performs it itself. */
409
+ function nativeGate(gate, index) {
410
+ switch (gate.id) {
411
+ /* `present` is false for null, "" and [] — exactly our "there is a
412
+ deliverable", which trims first and asks for length. */
413
+ case "non-empty":
414
+ return { "@type": "Gate", code: codeFor(index, "present"), reason: "Nothing was handed over", when: field(TEXT, "present"), onFail: "reject", class: "insufficient_evidence" };
415
+ case "min-length":
416
+ return {
417
+ "@type": "Gate",
418
+ code: codeFor(index, "length"),
419
+ reason: `Shorter than the ${gate.chars} characters this ask asked for`,
420
+ when: field(TEXT, "lengthBetween", [gate.chars, LENGTH_CEILING]),
421
+ onFail: "reject",
422
+ class: "insufficient_evidence"
423
+ };
424
+ /* We match the host, not the whole URL — a worker who writes
425
+ `docs.ixo.world responded 200` has named it. */
426
+ case "mentions-url":
427
+ return {
428
+ "@type": "Gate",
429
+ code: codeFor(index, "names-site"),
430
+ reason: `Never names ${hostOf(gate.url)}`,
431
+ when: field(TEXT, "matches", insensitive(hostOf(gate.url))),
432
+ onFail: "reject",
433
+ class: "invalid_evidence"
434
+ };
435
+ case "reports-status":
436
+ return {
437
+ "@type": "Gate",
438
+ code: codeFor(index, "reports-status"),
439
+ reason: "States no status and no failure",
440
+ when: field(TEXT, "matches", statusPattern()),
441
+ onFail: "reject",
442
+ class: "insufficient_evidence"
443
+ };
444
+ case "mentions-terms":
445
+ return {
446
+ "@type": "Gate",
447
+ code: codeFor(index, "terms"),
448
+ reason: `Missing ${gate.terms.map((term) => `"${term}"`).join(", ")}`,
449
+ when: { "@type": "Condition", all: gate.terms.map((term) => field(TEXT, "matches", insensitive(term))) },
450
+ onFail: "reject",
451
+ class: "invalid_evidence"
452
+ };
453
+ /*
454
+ * Facts about the attached file, which the engine reads off the claim's
455
+ * SurveyJS file answer. `mediaTypeIn` takes MIME globs, so `image/*` is
456
+ * passed as it is; a missing attachment fails both, which is right — on a
457
+ * photo ask the photograph IS the work.
458
+ */
459
+ case "file-type":
460
+ return {
461
+ "@type": "Gate",
462
+ code: codeFor(index, "file-type"),
463
+ reason: `The file handed over is not ${gate.accept}`,
464
+ when: field(PHOTO, "mediaTypeIn", [gate.accept]),
465
+ onFail: "reject",
466
+ class: "invalid_evidence"
467
+ };
468
+ case "max-bytes":
469
+ return {
470
+ "@type": "Gate",
471
+ code: codeFor(index, "file-size"),
472
+ reason: `The file handed over is larger than ${gate.bytes} bytes`,
473
+ when: field(PHOTO, "maxSizeMB", megabytes(gate.bytes)),
474
+ onFail: "reject",
475
+ class: "invalid_evidence"
476
+ };
477
+ /* The second file: it has to be there, and it has to fit. */
478
+ case "with-file":
479
+ return {
480
+ "@type": "Gate",
481
+ code: codeFor(index, "extra-file"),
482
+ reason: `No second file under ${gate.bytes} bytes came with it`,
483
+ when: { "@type": "Condition", all: [field(EXTRA_FILE, "present"), field(EXTRA_FILE, "maxSizeMB", megabytes(gate.bytes))] },
484
+ onFail: "reject",
485
+ class: "invalid_evidence"
486
+ };
487
+ default:
488
+ return null;
489
+ }
490
+ }
491
+ /**
492
+ * A sourced gate: the oracle answers it by name, with the rule's parameters
493
+ * sent as literals and the claim's fields sent as refs — the keys exactly as
494
+ * `SEND_KEYS` lists them. The `name` here is the bare vocabulary word; a
495
+ * suffix, when one is needed, is added once the whole rubric is known.
496
+ */
497
+ function sourcedGate(gate, index, context) {
498
+ const name = SOURCE_NAMES[gate.id];
499
+ if (!name)
500
+ return null;
501
+ const reject = (label, reason, kind = "refuted") => ({ "@type": "Gate", code: codeFor(index, label), reason, onFail: "reject", class: kind });
502
+ switch (gate.id) {
503
+ case "within-radius":
504
+ return {
505
+ name,
506
+ send: { lat: LAT, lon: LON, photo: PHOTO, centerLat: gate.lat, centerLon: gate.lon, meters: gate.meters },
507
+ gate: reject("within-radius", `Not within ${gate.meters} m of ${gate.place || `${gate.lat}, ${gate.lon}`}`)
508
+ };
509
+ case "located":
510
+ return {
511
+ name,
512
+ send: { lat: LAT, lon: LON, photo: PHOTO },
513
+ gate: reject("located", "No location was reported", "insufficient_evidence")
514
+ };
515
+ case "before-after":
516
+ return {
517
+ name,
518
+ send: { before: BEFORE_PHOTO, after: AFTER_PHOTO, meters: context.radiusMeters ?? DEFAULT_PAIR_METERS },
519
+ gate: reject("before-after", "The two photographs are not of the same place, in that order")
520
+ };
521
+ case "daylight-consistent":
522
+ return {
523
+ name,
524
+ send: { text: TEXT, at: AT, fallbackAt: SUBMITTED_AT, lat: LAT, lon: LON },
525
+ gate: reject("daylight", "Describes light the sun could not have given at that place and time")
526
+ };
527
+ case "weather-consistent":
528
+ return {
529
+ name,
530
+ send: { text: TEXT, at: AT, fallbackAt: SUBMITTED_AT, lat: LAT, lon: LON },
531
+ gate: reject("weather", "Describes weather the archive did not record at that place and time")
532
+ };
533
+ case "not-already-mapped":
534
+ return {
535
+ name,
536
+ send: { lat: LAT, lon: LON, meters: gate.metres },
537
+ gate: reject("not-already-mapped", `Something approved on this ask is already within ${gate.metres} m`)
538
+ };
539
+ /* The URL is the ask's, not the claim's: the form carries none. */
540
+ case "re-measure":
541
+ return {
542
+ name,
543
+ send: { url: literal(gate.url), text: TEXT },
544
+ gate: reject("re-measure", `A fresh reading of ${hostOf(gate.url)} disagrees with the answer`)
545
+ };
546
+ /* Points as one JSON string: a `send` value is a string, a number or a
547
+ boolean, never a list, and the oracle parses it back. */
548
+ case "at-registered-point":
549
+ return {
550
+ name,
551
+ send: { lat: LAT, lon: LON, points: JSON.stringify(gate.points), meters: gate.metres },
552
+ gate: reject("at-point", `Not within ${gate.metres} m of any registered point`)
553
+ };
554
+ /* The box likewise: one JSON string, `{west, south, east, north}`. */
555
+ case "mapped-grid":
556
+ return {
557
+ name,
558
+ send: { box: JSON.stringify(gate.box), tag: gate.tag, minEdits: gate.minEdits, minFeatures: gate.minFeatures, days: gate.days },
559
+ gate: reject("mapped-grid", `Fewer than ${gate.minFeatures} ${gate.tag} features were mapped in ${gate.place || "the target area"}`)
560
+ };
561
+ default:
562
+ return null;
563
+ }
564
+ }
565
+ /**
566
+ * Is this ask about waste on the ground somewhere people share?
567
+ *
568
+ * Decided from what the terms ARE, never from their sentences: a mapped mess
569
+ * and a report on one by their deliverable, and a cleanup by what only the
570
+ * mess map writes into one — the pin it clears, a site, a disposal point.
571
+ * Anything else with a pair of photographs is somebody's own ask, and may
572
+ * honestly be indoors.
573
+ */
574
+ const outdoorsAsk = (terms) => terms.deliverable.type === "mess-report" || terms.deliverable.type === "field-report" || terms.site === true || Boolean(terms.clears) || Boolean(terms.disposal);
575
+ const extRef = (name) => field(`ext.${name}.valid`, "isTrue");
576
+ /** `withinRadius`, `withinRadius2`, … — bare first, then a 2-based suffix, which is how the oracle registers handlers. */
577
+ const suffixed = (name, ordinal) => (ordinal === 1 ? name : `${name}${ordinal}`);
578
+ /**
579
+ * Terms → the engine's rubric.
580
+ *
581
+ * Never returns null and never leaves a rule out: every criterion is either a
582
+ * gate the engine runs or a source the oracle answers, and a gate that reads
583
+ * it. The judge criteria become AI checks; an `attest` criterion is refused
584
+ * (a term whose judge is the poster cannot be served by an oracle at all —
585
+ * `servableByOracle` says so before an ask is posted).
586
+ */
587
+ export function toEngineRubric(terms, binding, options = {}) {
588
+ const normalized = normalizeTerms(terms);
589
+ const cooldown = options.cooldown === undefined ? DEFAULT_COOLDOWN : options.cooldown;
590
+ const withPhoto = WITH_PHOTO.has(normalized.deliverable.type);
591
+ const measure = (id) => {
592
+ for (const criterion of normalized.criteria)
593
+ if (criterion.kind === "measure" && criterion.gate.id === id)
594
+ return criterion.gate;
595
+ return null;
596
+ };
597
+ const radius = measure("within-radius");
598
+ const context = { radiusMeters: radius && radius.id === "within-radius" ? radius.meters : null };
599
+ /*
600
+ * What the judges are shown, decided once from the shape of the whole ask.
601
+ *
602
+ * A pair is an ask whose deliverable IS a pair, or one whose terms carry the
603
+ * `before-after` gate — the two travel together, and either alone still means
604
+ * two photographs exist. The bags ride along only where a second file is
605
+ * actually expected: a site (every patch hands one over) or a `with-file`
606
+ * gate that demands one. `kind` goes with the site preamble, and only there.
607
+ */
608
+ const pair = normalized.deliverable.type === "photo-pair" || measure("before-after") !== null;
609
+ /* A site, a second file, or a disposal photograph: the bags ride beside the pair. */
610
+ const expectsExtra = normalized.site === true || measure("with-file") !== null || measure("at-registered-point") !== null;
611
+ const judgeSend = {
612
+ task: literal(normalized.task),
613
+ text: TEXT,
614
+ ...(withPhoto ? { photo: PHOTO } : {}),
615
+ ...(pair ? { before: BEFORE_PHOTO, after: AFTER_PHOTO } : {}),
616
+ ...(pair && expectsExtra ? { bags: EXTRA_FILE } : {}),
617
+ ...(normalized.site ? { kind: KIND } : {})
618
+ };
619
+ const gates = [];
620
+ const aiChecks = [];
621
+ /* Sources by bare name first; the suffix is decided once the count is known. */
622
+ const pending = [];
623
+ let judges = 0;
624
+ /* Always first, and always emitted: their gates run in document order and
625
+ every other rule reads the deliverable. It is also the one rule every ask
626
+ has. */
627
+ gates.push(nativeGate({ id: "non-empty" }, 0));
628
+ /*
629
+ * Which kind of claim this is — asked before anything that depends on it,
630
+ * and never itself conditional.
631
+ *
632
+ * The scopes below are `$kind == "patch"`, and their null rule (§A.5) makes
633
+ * a condition on a missing answer FALSE rather than an error: a claim that
634
+ * simply says nothing would skip the pair rules instead of failing them,
635
+ * and be approved on what was left without ever showing a before and an
636
+ * after. The oracle's act policy reads the same answer and an unknown kind
637
+ * is neither held nor released, so it would be signed as well. So the kind
638
+ * is a gate of its own, pinned to the vocabulary rather than to mere
639
+ * presence — a claim calling itself something we do not serve is no better
640
+ * than one that says nothing.
641
+ */
642
+ if (normalized.site) {
643
+ gates.push({
644
+ "@type": "Gate",
645
+ code: codeFor(0, "kind"),
646
+ reason: "The claim does not say whether it is a patch or the whole site",
647
+ when: field(KIND, "in", [...CLAIM_KINDS]),
648
+ onFail: "reject",
649
+ class: "insufficient_evidence"
650
+ });
651
+ }
652
+ /* Where the refusals about the photograph itself go: after the two rules
653
+ every other rule leans on, before any rule about what the photograph
654
+ shows. "Is this evidence" is asked before "what is it evidence of". */
655
+ const authenticityAt = gates.length;
656
+ /*
657
+ * A rule that is only about one kind of claim, said as their condition.
658
+ *
659
+ * The criterion declares its own kind (`appliesTo`, written where the
660
+ * criterion is), so nothing here reads sentences or counts positions — a
661
+ * line a poster wrote carries no scope and is asked of every claim. And
662
+ * only on a site: anywhere else exactly one kind of claim can arrive, so a
663
+ * scope could only ever turn a rule off.
664
+ */
665
+ const scopeOf = (criterion) => normalized.site && "appliesTo" in criterion && criterion.appliesTo ? { appliesWhen: field(KIND, "==", criterion.appliesTo) } : null;
666
+ normalized.criteria.forEach((criterion, position) => {
667
+ const index = position + 1;
668
+ const scope = scopeOf(criterion);
669
+ if (criterion.kind === "measure") {
670
+ if (criterion.gate.id === "non-empty")
671
+ return; // already emitted, and their codes must be unique
672
+ const native = nativeGate(criterion.gate, index);
673
+ if (native) {
674
+ gates.push({ ...native, ...scope });
675
+ return;
676
+ }
677
+ const sourced = sourcedGate(criterion.gate, index, context);
678
+ if (!sourced)
679
+ throw new Error(`the bridge does not know the "${String(criterion.gate.id)}" gate`);
680
+ pending.push(sourced);
681
+ /* In document order; the `when` is written once the source's final
682
+ name is known. */
683
+ gates.push({ ...sourced.gate, ...scope, when: extRef(sourced.name) });
684
+ return;
685
+ }
686
+ if (criterion.kind === "judge") {
687
+ /*
688
+ * Their AI check is the same shape as our judge criterion: a sentence
689
+ * ruled on, yes or no, with the answer frozen before any decision uses
690
+ * it. What we send is named fields, never the whole claim — the same
691
+ * rule our own judge followed, for the same injection reason. The task
692
+ * is a literal: a browser submission carries no `task` of its own.
693
+ */
694
+ judges += 1;
695
+ const name = suffixed(JUDGE_NAME, judges);
696
+ aiChecks.push({
697
+ "@type": "AiCheck",
698
+ name,
699
+ send: { ...judgeSend },
700
+ /* The guidance first, always — see `JUDGE_GUIDANCE` for the six
701
+ rejections that bought it. Then, on a site only, what each kind of
702
+ claim carries (`SITE_KIND_PREAMBLE`). The criterion itself is last
703
+ and is the only one of the three that is a rule. */
704
+ instructions: normalized.site ? [JUDGE_GUIDANCE, SITE_KIND_PREAMBLE, criterion.text] : [JUDGE_GUIDANCE, criterion.text],
705
+ expect: "boolean",
706
+ onError: ON_ERROR
707
+ });
708
+ /*
709
+ * The scope rides on the GATE, never on the check: their `AiCheck` is a
710
+ * closed object with no `appliesWhen` (schema.ts), so a check carrying
711
+ * one would make the whole rubric unparseable. The consequence is that a
712
+ * skipped gate's answer is still asked for — their fact coverage refuses
713
+ * a decision when a declared check has no fact on the wire — so the
714
+ * model is still paid a fraction of a penny to rule on a sentence that
715
+ * cannot decide anything. Cheap, and honest: nothing here pretends the
716
+ * question was not asked.
717
+ */
718
+ gates.push({
719
+ "@type": "Gate",
720
+ code: codeFor(index, "judged"),
721
+ reason: criterion.text,
722
+ ...scope,
723
+ when: field(`ai.${name}.valid`, "isTrue"),
724
+ onFail: "reject",
725
+ class: "refuted"
726
+ });
727
+ return;
728
+ }
729
+ /* `attest` is the poster's own eye by construction, and there is no
730
+ poster in this loop. An ask carrying one is not served by the oracle,
731
+ so it gets no rubric — `servableByOracle` is where that is decided. */
732
+ throw new Error(`criterion ${criterion.id} is attested by the poster; an oracle cannot serve it`);
733
+ });
734
+ /*
735
+ * Rules the terms do not spell out but every ask of the shape carries.
736
+ * Their gate codes continue the criterion numbering so they stay unique.
737
+ */
738
+ let extra = normalized.criteria.length;
739
+ const marker = (sourced) => {
740
+ pending.push(sourced);
741
+ gates.push({ ...sourced.gate, when: extRef(sourced.name) });
742
+ };
743
+ /* The cool-off, on an ordinary cleanup: not a site (patches are meant to
744
+ sit within metres of each other) and not a multi-spot ask (which already
745
+ says how far apart its spots must be). */
746
+ if (cooldown && measure("before-after") && !normalized.site && !measure("not-already-mapped")) {
747
+ extra += 1;
748
+ marker({
749
+ name: COOLDOWN_SOURCE,
750
+ send: { lat: LAT, lon: LON, meters: cooldown.meters, days: cooldown.days },
751
+ gate: { "@type": "Gate", code: codeFor(extra, "cooldown"), reason: `Somewhere within ${cooldown.meters} m was paid for in the last ${cooldown.days} days`, onFail: "reject", class: "refuted" }
752
+ });
753
+ }
754
+ /* The site marker: always answered yes; it exists so the claim's `kind`
755
+ is frozen on the receipt, where the oracle's act policy reads it to hold
756
+ a patch and release on the site claim. A gate reads it so the engine
757
+ resolves it. */
758
+ if (normalized.site) {
759
+ extra += 1;
760
+ marker({
761
+ name: SITE_SOURCE,
762
+ send: { kind: KIND, lat: LAT, lon: LON },
763
+ gate: { "@type": "Gate", code: codeFor(extra, "site"), reason: "The site marker could not be recorded", onFail: "reject", class: "insufficient_evidence" }
764
+ });
765
+ }
766
+ /*
767
+ * The photograph screens (`PHOTO_CHECKS`): on every ask whose deliverable is
768
+ * a photograph, whatever its terms say.
769
+ *
770
+ * **Which photographs.** `$photo` always — it is the one file every kind of
771
+ * claim carries. On a pair also `$beforePhoto`, numbered the way a repeated
772
+ * rule is (`notMarkedGenerated2`); `$afterPhoto` is `$photo` again and is
773
+ * not asked twice. NOT the before photograph on a site: the wide shot of a
774
+ * cleared site carries none, a fact about a missing file is an error rather
775
+ * than a no, and their `decide` refuses a claim for ANY errored source a
776
+ * rule names even when that rule's gate is skipped (S9 reads the rubric, not
777
+ * the outcome; `ON_ERROR` is `reject`) — so scoping the gate to a patch
778
+ * would not save the site claim, and every honest site shot would be
779
+ * refused. A patch's before photograph
780
+ * is still in front of the authenticity judge, which is sent everything.
781
+ * And not the second file, which is a document as often as a picture.
782
+ *
783
+ * **Where they sit.** All of them go in at `authenticityAt`, ahead of the
784
+ * terms' own rules: the first failed gate is terminal, so a claim that is
785
+ * not evidence at all is told that rather than which rule of the terms its
786
+ * picture happened to fail. Their codes continue the numbering after the
787
+ * cool-off and the marker, so no code an anchored rubric already carries
788
+ * changes its number.
789
+ */
790
+ const screens = [];
791
+ if (PHOTOGRAPH.has(normalized.deliverable.type)) {
792
+ const photos = pair && !normalized.site ? [PHOTO, BEFORE_PHOTO] : [PHOTO];
793
+ const said = (photo) => (photos.length === 1 ? "The photograph" : photo === BEFORE_PHOTO ? "The before photograph" : "The after photograph");
794
+ const screened = (sourced) => {
795
+ pending.push(sourced);
796
+ screens.push({ ...sourced.gate, when: extRef(sourced.name) });
797
+ };
798
+ for (const photo of photos) {
799
+ extra += 1;
800
+ screened({
801
+ name: PHOTO_CHECKS.notMarkedGenerated,
802
+ send: { photo },
803
+ gate: { "@type": "Gate", code: codeFor(extra, "not-generated"), reason: `${said(photo)} says of itself that an AI generator made it`, onFail: "reject", class: "invalid_evidence" }
804
+ });
805
+ }
806
+ /*
807
+ * The model's half. Named AFTER the terms' own judges — `judge4` on the
808
+ * mapping ask — although it is written and ruled on first: the screens
809
+ * that explain a refusal (`wcd/lib/ruleKeys.ts`) read `judgeN` as the
810
+ * N-th judged criterion of the terms, and taking `judge` for a rule the
811
+ * terms do not carry would blame the size rule for a face. Every check
812
+ * runs before any gate is decided, so the order here buys no saving; it
813
+ * decides which refusal a claim that fails several is told about.
814
+ *
815
+ * At the contract's ceiling it is left out rather than named `judge6`: the
816
+ * poster's five sentences are the contract, and this is ours.
817
+ */
818
+ const judged = normalized.criteria.filter((criterion) => criterion.kind === "judge").length;
819
+ if (judged < NAME_CEILING) {
820
+ const sentence = realPhotoRule({ pair, outdoors: outdoorsAsk(normalized) });
821
+ const name = suffixed(JUDGE_NAME, judged + 1);
822
+ extra += 1;
823
+ aiChecks.unshift({
824
+ "@type": "AiCheck",
825
+ name,
826
+ send: { ...judgeSend },
827
+ instructions: normalized.site ? [JUDGE_GUIDANCE, SITE_KIND_PREAMBLE, sentence.text] : [JUDGE_GUIDANCE, sentence.text],
828
+ expect: "boolean",
829
+ onError: ON_ERROR
830
+ });
831
+ screens.push({ "@type": "Gate", code: codeFor(extra, "real-photo"), reason: sentence.rule, when: field(`ai.${name}.valid`, "isTrue"), onFail: "reject", class: "invalid_evidence" });
832
+ }
833
+ /* Only where a rule makes the claim say where it was: an ask that never
834
+ asks has no reported point, the contract answers that with an error,
835
+ and an error is the outage path — every honest photograph of a black
836
+ cat, refused. The reason is the one a refused claimant reads,
837
+ so it ends with what to do. */
838
+ const placed = normalized.criteria.some((criterion) => criterion.kind === "measure" && PLACE_GATES.has(criterion.gate.id));
839
+ for (const photo of placed ? photos : []) {
840
+ extra += 1;
841
+ screened({
842
+ name: PHOTO_CHECKS.notElsewhere,
843
+ send: { lat: LAT, lon: LON, photo, meters: Math.max(context.radiusMeters ?? 0, NOT_ELSEWHERE_FLOOR_METERS) },
844
+ gate: {
845
+ "@type": "Gate",
846
+ code: codeFor(extra, "not-elsewhere"),
847
+ reason: `${said(photo)}'s own GPS puts it far from the place reported — take the photograph at the place you are reporting`,
848
+ onFail: "reject",
849
+ class: "invalid_evidence"
850
+ }
851
+ });
852
+ }
853
+ gates.splice(authenticityAt, 0, ...screens);
854
+ }
855
+ /*
856
+ * Names, finally. A vocabulary word is used bare the first time and with a
857
+ * suffix from 2 when the same rule repeats within one rubric —
858
+ * `withinRadius`, `withinRadius2` — which is how the oracle registers its
859
+ * handlers too. The gates that read them are patched by code.
860
+ */
861
+ const seen = new Map();
862
+ const sources = pending.map((one) => {
863
+ const ordinal = (seen.get(one.name) ?? 0) + 1;
864
+ seen.set(one.name, ordinal);
865
+ const name = suffixed(one.name, ordinal);
866
+ const gate = gates.find((candidate) => candidate.code === one.gate.code);
867
+ if (gate)
868
+ gate.when = extRef(name);
869
+ return {
870
+ "@type": "ExternalSource",
871
+ name,
872
+ endpoint: `https://${ORACLE_HOST}/${name}`,
873
+ audience: `did:web:${ORACLE_HOST}`,
874
+ send: one.send,
875
+ expect: "boolean",
876
+ onError: ON_ERROR,
877
+ timeoutMs: SOURCE_TIMEOUT_MS
878
+ };
879
+ });
880
+ /* The same photograph, handed in twice, is paid once. Keyed by the
881
+ photograph; the attachment lanes (exact CID and near-duplicate) cover
882
+ every file on the claim regardless. One band: a near-certain duplicate
883
+ is refused, nothing is queued for a person. */
884
+ const unique = withPhoto
885
+ ? {
886
+ "@type": "Unique",
887
+ id: UNIQUE_RULE_ID,
888
+ by: [PHOTO],
889
+ countPrior: ["approved"],
890
+ attachments: true,
891
+ ai: { enabled: false },
892
+ thresholds: { rejectAtBps: 9000, reviewAtBps: 9000 }
893
+ }
894
+ : null;
895
+ return {
896
+ envelope: {
897
+ "@context": { ixo: "https://w3id.org/ixo/ns/protocol/", "@id": "@type", type: "@type", "@protected": true },
898
+ type: "ixo:entity#rubric",
899
+ rubric: {
900
+ "@type": "Rubric",
901
+ title: normalized.task.slice(0, 120),
902
+ claimSchema: { "@type": "ClaimSchemaBinding", protocol: binding.protocol, resource: "#vct", proof: binding.proof },
903
+ ...(sources.length > 0 ? { sources } : {}),
904
+ ...(aiChecks.length > 0 ? { aiChecks } : {}),
905
+ ...(unique ? { unique } : {}),
906
+ gates
907
+ }
908
+ }
909
+ };
910
+ }
911
+ //# sourceMappingURL=bridge.js.map