@ixo/openhands-sdk 0.3.0 → 0.4.1

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 (487) hide show
  1. package/dist/cjs/campaign/campaign.js +3 -2
  2. package/dist/cjs/campaign/campaign.js.map +1 -1
  3. package/dist/cjs/campaign/funding.d.ts.map +1 -1
  4. package/dist/cjs/campaign/funding.js +4 -1
  5. package/dist/cjs/campaign/funding.js.map +1 -1
  6. package/dist/cjs/campaign/pool.d.ts.map +1 -1
  7. package/dist/cjs/campaign/pool.js +4 -3
  8. package/dist/cjs/campaign/pool.js.map +1 -1
  9. package/dist/cjs/campaign/record.d.ts.map +1 -1
  10. package/dist/cjs/campaign/record.js +1 -1
  11. package/dist/cjs/campaign/record.js.map +1 -1
  12. package/dist/cjs/campaign/spots.d.ts.map +1 -1
  13. package/dist/cjs/campaign/spots.js +10 -8
  14. package/dist/cjs/campaign/spots.js.map +1 -1
  15. package/dist/cjs/campaign/treasurySends.d.ts.map +1 -1
  16. package/dist/cjs/campaign/treasurySends.js +3 -3
  17. package/dist/cjs/campaign/treasurySends.js.map +1 -1
  18. package/dist/cjs/chain/ask.d.ts +104 -14
  19. package/dist/cjs/chain/ask.d.ts.map +1 -1
  20. package/dist/cjs/chain/ask.js +151 -78
  21. package/dist/cjs/chain/ask.js.map +1 -1
  22. package/dist/cjs/chain/askImage.d.ts +19 -0
  23. package/dist/cjs/chain/askImage.d.ts.map +1 -0
  24. package/dist/cjs/chain/askImage.js +56 -0
  25. package/dist/cjs/chain/askImage.js.map +1 -0
  26. package/dist/cjs/chain/bridge.d.ts +7 -33
  27. package/dist/cjs/chain/bridge.d.ts.map +1 -1
  28. package/dist/cjs/chain/bridge.js +10 -25
  29. package/dist/cjs/chain/bridge.js.map +1 -1
  30. package/dist/cjs/chain/claimSubmit.d.ts +15 -0
  31. package/dist/cjs/chain/claimSubmit.d.ts.map +1 -0
  32. package/dist/cjs/chain/claimSubmit.js +14 -0
  33. package/dist/cjs/chain/claimSubmit.js.map +1 -0
  34. package/dist/cjs/chain/delegate.d.ts +52 -7
  35. package/dist/cjs/chain/delegate.d.ts.map +1 -1
  36. package/dist/cjs/chain/delegate.js +66 -14
  37. package/dist/cjs/chain/delegate.js.map +1 -1
  38. package/dist/cjs/chain/domainIndexer.d.ts +26 -0
  39. package/dist/cjs/chain/domainIndexer.d.ts.map +1 -0
  40. package/dist/cjs/chain/domainIndexer.js +51 -0
  41. package/dist/cjs/chain/domainIndexer.js.map +1 -0
  42. package/dist/cjs/chain/entityShape.d.ts +31 -2
  43. package/dist/cjs/chain/entityShape.d.ts.map +1 -1
  44. package/dist/cjs/chain/entityShape.js +71 -8
  45. package/dist/cjs/chain/entityShape.js.map +1 -1
  46. package/dist/cjs/chain/env.d.ts +33 -3
  47. package/dist/cjs/chain/env.d.ts.map +1 -1
  48. package/dist/cjs/chain/env.js +38 -6
  49. package/dist/cjs/chain/env.js.map +1 -1
  50. package/dist/cjs/chain/guest.d.ts +14 -0
  51. package/dist/cjs/chain/guest.d.ts.map +1 -1
  52. package/dist/cjs/chain/guest.js +9 -9
  53. package/dist/cjs/chain/guest.js.map +1 -1
  54. package/dist/cjs/chain/money.d.ts +53 -2
  55. package/dist/cjs/chain/money.d.ts.map +1 -1
  56. package/dist/cjs/chain/money.js +73 -6
  57. package/dist/cjs/chain/money.js.map +1 -1
  58. package/dist/cjs/chain/orgReviewBilling.d.ts +124 -0
  59. package/dist/cjs/chain/orgReviewBilling.d.ts.map +1 -0
  60. package/dist/cjs/chain/orgReviewBilling.js +290 -0
  61. package/dist/cjs/chain/orgReviewBilling.js.map +1 -0
  62. package/dist/cjs/chain/orgReviewBillingSign.d.ts +63 -0
  63. package/dist/cjs/chain/orgReviewBillingSign.d.ts.map +1 -0
  64. package/dist/cjs/chain/orgReviewBillingSign.js +166 -0
  65. package/dist/cjs/chain/orgReviewBillingSign.js.map +1 -0
  66. package/dist/cjs/chain/payoutSettings.d.ts +97 -0
  67. package/dist/cjs/chain/payoutSettings.d.ts.map +1 -0
  68. package/dist/cjs/chain/payoutSettings.js +123 -0
  69. package/dist/cjs/chain/payoutSettings.js.map +1 -0
  70. package/dist/cjs/chain/payoutTerms.d.ts +72 -0
  71. package/dist/cjs/chain/payoutTerms.d.ts.map +1 -0
  72. package/dist/cjs/chain/payoutTerms.js +141 -0
  73. package/dist/cjs/chain/payoutTerms.js.map +1 -0
  74. package/dist/cjs/chain/query.d.ts +14 -0
  75. package/dist/cjs/chain/query.d.ts.map +1 -1
  76. package/dist/cjs/chain/query.js +27 -0
  77. package/dist/cjs/chain/query.js.map +1 -1
  78. package/dist/cjs/chain/reviewBilling.d.ts +86 -0
  79. package/dist/cjs/chain/reviewBilling.d.ts.map +1 -0
  80. package/dist/cjs/chain/reviewBilling.js +265 -0
  81. package/dist/cjs/chain/reviewBilling.js.map +1 -0
  82. package/dist/cjs/chain/store.d.ts +7 -6
  83. package/dist/cjs/chain/store.d.ts.map +1 -1
  84. package/dist/cjs/chain/store.js +7 -6
  85. package/dist/cjs/chain/store.js.map +1 -1
  86. package/dist/cjs/chain/subscription.d.ts +0 -7
  87. package/dist/cjs/chain/subscription.d.ts.map +1 -1
  88. package/dist/cjs/chain/subscription.js +4 -47
  89. package/dist/cjs/chain/subscription.js.map +1 -1
  90. package/dist/cjs/chain/takeBack.d.ts +12 -0
  91. package/dist/cjs/chain/takeBack.d.ts.map +1 -1
  92. package/dist/cjs/chain/takeBack.js +24 -10
  93. package/dist/cjs/chain/takeBack.js.map +1 -1
  94. package/dist/cjs/chain/why.d.ts +44 -0
  95. package/dist/cjs/chain/why.d.ts.map +1 -0
  96. package/dist/cjs/chain/why.js +153 -0
  97. package/dist/cjs/chain/why.js.map +1 -0
  98. package/dist/cjs/chain/whyMint.d.ts +8 -0
  99. package/dist/cjs/chain/whyMint.d.ts.map +1 -0
  100. package/dist/cjs/chain/whyMint.js +53 -0
  101. package/dist/cjs/chain/whyMint.js.map +1 -0
  102. package/dist/cjs/chain.d.ts +8 -4
  103. package/dist/cjs/chain.d.ts.map +1 -1
  104. package/dist/cjs/chain.js +21 -9
  105. package/dist/cjs/chain.js.map +1 -1
  106. package/dist/cjs/config.d.ts +11 -5
  107. package/dist/cjs/config.d.ts.map +1 -1
  108. package/dist/cjs/config.js +2 -0
  109. package/dist/cjs/config.js.map +1 -1
  110. package/dist/cjs/data/askEntity.d.ts +40 -0
  111. package/dist/cjs/data/askEntity.d.ts.map +1 -0
  112. package/dist/cjs/data/askEntity.js +48 -0
  113. package/dist/cjs/data/askEntity.js.map +1 -0
  114. package/dist/cjs/data/askLinks.d.ts +6 -0
  115. package/dist/cjs/data/askLinks.d.ts.map +1 -0
  116. package/dist/cjs/data/askLinks.js +21 -0
  117. package/dist/cjs/data/askLinks.js.map +1 -0
  118. package/dist/cjs/data/board/assemble.d.ts.map +1 -1
  119. package/dist/cjs/data/board/assemble.js +15 -2
  120. package/dist/cjs/data/board/assemble.js.map +1 -1
  121. package/dist/cjs/data/board/facts.d.ts +11 -0
  122. package/dist/cjs/data/board/facts.d.ts.map +1 -1
  123. package/dist/cjs/data/board/facts.js +16 -0
  124. package/dist/cjs/data/board/facts.js.map +1 -1
  125. package/dist/cjs/data/board/read.d.ts.map +1 -1
  126. package/dist/cjs/data/board/read.js +2 -1
  127. package/dist/cjs/data/board/read.js.map +1 -1
  128. package/dist/cjs/data/board/types.d.ts +9 -0
  129. package/dist/cjs/data/board/types.d.ts.map +1 -1
  130. package/dist/cjs/data/board/types.js.map +1 -1
  131. package/dist/cjs/data/docs.d.ts +10 -2
  132. package/dist/cjs/data/docs.d.ts.map +1 -1
  133. package/dist/cjs/data/docs.js +43 -3
  134. package/dist/cjs/data/docs.js.map +1 -1
  135. package/dist/cjs/data/format.js +1 -1
  136. package/dist/cjs/data/format.js.map +1 -1
  137. package/dist/cjs/data/install.d.ts +43 -2
  138. package/dist/cjs/data/install.d.ts.map +1 -1
  139. package/dist/cjs/data/install.js +60 -10
  140. package/dist/cjs/data/install.js.map +1 -1
  141. package/dist/cjs/data/oracleInfo.d.ts +6 -1
  142. package/dist/cjs/data/oracleInfo.d.ts.map +1 -1
  143. package/dist/cjs/data/oracleInfo.js +22 -3
  144. package/dist/cjs/data/oracleInfo.js.map +1 -1
  145. package/dist/cjs/data/oracles.d.ts +62 -5
  146. package/dist/cjs/data/oracles.d.ts.map +1 -1
  147. package/dist/cjs/data/oracles.js +90 -11
  148. package/dist/cjs/data/oracles.js.map +1 -1
  149. package/dist/cjs/data/orgPayouts.d.ts +87 -0
  150. package/dist/cjs/data/orgPayouts.d.ts.map +1 -0
  151. package/dist/cjs/data/orgPayouts.js +183 -0
  152. package/dist/cjs/data/orgPayouts.js.map +1 -0
  153. package/dist/cjs/data/plans.d.ts +8 -0
  154. package/dist/cjs/data/plans.d.ts.map +1 -0
  155. package/dist/cjs/data/plans.js +12 -0
  156. package/dist/cjs/data/plans.js.map +1 -0
  157. package/dist/cjs/data/profiles.d.ts +20 -0
  158. package/dist/cjs/data/profiles.d.ts.map +1 -1
  159. package/dist/cjs/data/profiles.js +63 -4
  160. package/dist/cjs/data/profiles.js.map +1 -1
  161. package/dist/cjs/data/receipt.d.ts +7 -0
  162. package/dist/cjs/data/receipt.d.ts.map +1 -1
  163. package/dist/cjs/data/receipt.js +19 -4
  164. package/dist/cjs/data/receipt.js.map +1 -1
  165. package/dist/cjs/data/resources.d.ts +3 -0
  166. package/dist/cjs/data/resources.d.ts.map +1 -1
  167. package/dist/cjs/data/resources.js +4 -1
  168. package/dist/cjs/data/resources.js.map +1 -1
  169. package/dist/cjs/data/threads.d.ts +14 -0
  170. package/dist/cjs/data/threads.d.ts.map +1 -1
  171. package/dist/cjs/data/threads.js +32 -20
  172. package/dist/cjs/data/threads.js.map +1 -1
  173. package/dist/cjs/data/trace.d.ts +8 -0
  174. package/dist/cjs/data/trace.d.ts.map +1 -1
  175. package/dist/cjs/data/trace.js +1 -1
  176. package/dist/cjs/data/trace.js.map +1 -1
  177. package/dist/cjs/data/traceWords.d.ts +4 -1
  178. package/dist/cjs/data/traceWords.d.ts.map +1 -1
  179. package/dist/cjs/data/traceWords.js +8 -2
  180. package/dist/cjs/data/traceWords.js.map +1 -1
  181. package/dist/cjs/data/why.d.ts +38 -0
  182. package/dist/cjs/data/why.d.ts.map +1 -0
  183. package/dist/cjs/data/why.js +86 -0
  184. package/dist/cjs/data/why.js.map +1 -0
  185. package/dist/cjs/data/whyReceipt.d.ts +33 -0
  186. package/dist/cjs/data/whyReceipt.d.ts.map +1 -0
  187. package/dist/cjs/data/whyReceipt.js +291 -0
  188. package/dist/cjs/data/whyReceipt.js.map +1 -0
  189. package/dist/cjs/geo/exifcarry.d.ts +9 -0
  190. package/dist/cjs/geo/exifcarry.d.ts.map +1 -1
  191. package/dist/cjs/geo/exifcarry.js +35 -0
  192. package/dist/cjs/geo/exifcarry.js.map +1 -1
  193. package/dist/cjs/geo/geohash.d.ts +11 -0
  194. package/dist/cjs/geo/geohash.d.ts.map +1 -1
  195. package/dist/cjs/geo/geohash.js +53 -3
  196. package/dist/cjs/geo/geohash.js.map +1 -1
  197. package/dist/cjs/geo/provenance.d.ts +41 -0
  198. package/dist/cjs/geo/provenance.d.ts.map +1 -0
  199. package/dist/cjs/geo/provenance.js +134 -0
  200. package/dist/cjs/geo/provenance.js.map +1 -0
  201. package/dist/cjs/rubric/bridge.d.ts +98 -2
  202. package/dist/cjs/rubric/bridge.d.ts.map +1 -1
  203. package/dist/cjs/rubric/bridge.js +132 -15
  204. package/dist/cjs/rubric/bridge.js.map +1 -1
  205. package/dist/cjs/rubric/card.d.ts +28 -14
  206. package/dist/cjs/rubric/card.d.ts.map +1 -1
  207. package/dist/cjs/rubric/card.js +28 -7
  208. package/dist/cjs/rubric/card.js.map +1 -1
  209. package/dist/cjs/rubric/claimForm.d.ts +116 -0
  210. package/dist/cjs/rubric/claimForm.d.ts.map +1 -1
  211. package/dist/cjs/rubric/claimForm.js +12 -1
  212. package/dist/cjs/rubric/claimForm.js.map +1 -1
  213. package/dist/cjs/rubric/compose.d.ts +5 -0
  214. package/dist/cjs/rubric/compose.d.ts.map +1 -1
  215. package/dist/cjs/rubric/compose.js +9 -3
  216. package/dist/cjs/rubric/compose.js.map +1 -1
  217. package/dist/cjs/rubric/gateMet.d.ts.map +1 -1
  218. package/dist/cjs/rubric/gateMet.js +4 -2
  219. package/dist/cjs/rubric/gateMet.js.map +1 -1
  220. package/dist/cjs/rubric/leg.d.ts +2 -2
  221. package/dist/cjs/rubric/leg.d.ts.map +1 -1
  222. package/dist/cjs/rubric/leg.js +7 -5
  223. package/dist/cjs/rubric/leg.js.map +1 -1
  224. package/dist/cjs/rubric/marketPlan.d.ts +41 -3
  225. package/dist/cjs/rubric/marketPlan.d.ts.map +1 -1
  226. package/dist/cjs/rubric/marketPlan.js +110 -10
  227. package/dist/cjs/rubric/marketPlan.js.map +1 -1
  228. package/dist/cjs/rubric/observation.d.ts +56 -14
  229. package/dist/cjs/rubric/observation.d.ts.map +1 -1
  230. package/dist/cjs/rubric/observation.js +61 -11
  231. package/dist/cjs/rubric/observation.js.map +1 -1
  232. package/dist/cjs/rubric/survey.d.ts +65 -0
  233. package/dist/cjs/rubric/survey.d.ts.map +1 -0
  234. package/dist/cjs/rubric/survey.js +101 -0
  235. package/dist/cjs/rubric/survey.js.map +1 -0
  236. package/dist/cjs/rubric/terms.d.ts +7 -0
  237. package/dist/cjs/rubric/terms.d.ts.map +1 -1
  238. package/dist/cjs/rubric/terms.js +12 -1
  239. package/dist/cjs/rubric/terms.js.map +1 -1
  240. package/dist/cjs/rubric.d.ts +1 -1
  241. package/dist/cjs/rubric.d.ts.map +1 -1
  242. package/dist/cjs/rubric.js +4 -2
  243. package/dist/cjs/rubric.js.map +1 -1
  244. package/dist/esm/campaign/campaign.js +4 -3
  245. package/dist/esm/campaign/campaign.js.map +1 -1
  246. package/dist/esm/campaign/funding.d.ts.map +1 -1
  247. package/dist/esm/campaign/funding.js +5 -2
  248. package/dist/esm/campaign/funding.js.map +1 -1
  249. package/dist/esm/campaign/pool.d.ts.map +1 -1
  250. package/dist/esm/campaign/pool.js +4 -3
  251. package/dist/esm/campaign/pool.js.map +1 -1
  252. package/dist/esm/campaign/record.d.ts.map +1 -1
  253. package/dist/esm/campaign/record.js +2 -2
  254. package/dist/esm/campaign/record.js.map +1 -1
  255. package/dist/esm/campaign/spots.d.ts.map +1 -1
  256. package/dist/esm/campaign/spots.js +10 -8
  257. package/dist/esm/campaign/spots.js.map +1 -1
  258. package/dist/esm/campaign/treasurySends.d.ts.map +1 -1
  259. package/dist/esm/campaign/treasurySends.js +4 -4
  260. package/dist/esm/campaign/treasurySends.js.map +1 -1
  261. package/dist/esm/chain/ask.d.ts +104 -14
  262. package/dist/esm/chain/ask.d.ts.map +1 -1
  263. package/dist/esm/chain/ask.js +152 -80
  264. package/dist/esm/chain/ask.js.map +1 -1
  265. package/dist/esm/chain/askImage.d.ts +19 -0
  266. package/dist/esm/chain/askImage.d.ts.map +1 -0
  267. package/dist/esm/chain/askImage.js +50 -0
  268. package/dist/esm/chain/askImage.js.map +1 -0
  269. package/dist/esm/chain/bridge.d.ts +7 -33
  270. package/dist/esm/chain/bridge.d.ts.map +1 -1
  271. package/dist/esm/chain/bridge.js +10 -24
  272. package/dist/esm/chain/bridge.js.map +1 -1
  273. package/dist/esm/chain/claimSubmit.d.ts +15 -0
  274. package/dist/esm/chain/claimSubmit.d.ts.map +1 -0
  275. package/dist/esm/chain/claimSubmit.js +10 -0
  276. package/dist/esm/chain/claimSubmit.js.map +1 -0
  277. package/dist/esm/chain/delegate.d.ts +52 -7
  278. package/dist/esm/chain/delegate.d.ts.map +1 -1
  279. package/dist/esm/chain/delegate.js +64 -13
  280. package/dist/esm/chain/delegate.js.map +1 -1
  281. package/dist/esm/chain/domainIndexer.d.ts +26 -0
  282. package/dist/esm/chain/domainIndexer.d.ts.map +1 -0
  283. package/dist/esm/chain/domainIndexer.js +48 -0
  284. package/dist/esm/chain/domainIndexer.js.map +1 -0
  285. package/dist/esm/chain/entityShape.d.ts +31 -2
  286. package/dist/esm/chain/entityShape.d.ts.map +1 -1
  287. package/dist/esm/chain/entityShape.js +65 -7
  288. package/dist/esm/chain/entityShape.js.map +1 -1
  289. package/dist/esm/chain/env.d.ts +33 -3
  290. package/dist/esm/chain/env.d.ts.map +1 -1
  291. package/dist/esm/chain/env.js +33 -5
  292. package/dist/esm/chain/env.js.map +1 -1
  293. package/dist/esm/chain/guest.d.ts +14 -0
  294. package/dist/esm/chain/guest.d.ts.map +1 -1
  295. package/dist/esm/chain/guest.js +7 -8
  296. package/dist/esm/chain/guest.js.map +1 -1
  297. package/dist/esm/chain/money.d.ts +53 -2
  298. package/dist/esm/chain/money.d.ts.map +1 -1
  299. package/dist/esm/chain/money.js +63 -4
  300. package/dist/esm/chain/money.js.map +1 -1
  301. package/dist/esm/chain/orgReviewBilling.d.ts +124 -0
  302. package/dist/esm/chain/orgReviewBilling.d.ts.map +1 -0
  303. package/dist/esm/chain/orgReviewBilling.js +241 -0
  304. package/dist/esm/chain/orgReviewBilling.js.map +1 -0
  305. package/dist/esm/chain/orgReviewBillingSign.d.ts +63 -0
  306. package/dist/esm/chain/orgReviewBillingSign.d.ts.map +1 -0
  307. package/dist/esm/chain/orgReviewBillingSign.js +124 -0
  308. package/dist/esm/chain/orgReviewBillingSign.js.map +1 -0
  309. package/dist/esm/chain/payoutSettings.d.ts +97 -0
  310. package/dist/esm/chain/payoutSettings.d.ts.map +1 -0
  311. package/dist/esm/chain/payoutSettings.js +111 -0
  312. package/dist/esm/chain/payoutSettings.js.map +1 -0
  313. package/dist/esm/chain/payoutTerms.d.ts +72 -0
  314. package/dist/esm/chain/payoutTerms.d.ts.map +1 -0
  315. package/dist/esm/chain/payoutTerms.js +127 -0
  316. package/dist/esm/chain/payoutTerms.js.map +1 -0
  317. package/dist/esm/chain/query.d.ts +14 -0
  318. package/dist/esm/chain/query.d.ts.map +1 -1
  319. package/dist/esm/chain/query.js +25 -0
  320. package/dist/esm/chain/query.js.map +1 -1
  321. package/dist/esm/chain/reviewBilling.d.ts +86 -0
  322. package/dist/esm/chain/reviewBilling.d.ts.map +1 -0
  323. package/dist/esm/chain/reviewBilling.js +215 -0
  324. package/dist/esm/chain/reviewBilling.js.map +1 -0
  325. package/dist/esm/chain/store.d.ts +7 -6
  326. package/dist/esm/chain/store.d.ts.map +1 -1
  327. package/dist/esm/chain/store.js +7 -6
  328. package/dist/esm/chain/store.js.map +1 -1
  329. package/dist/esm/chain/subscription.d.ts +0 -7
  330. package/dist/esm/chain/subscription.d.ts.map +1 -1
  331. package/dist/esm/chain/subscription.js +4 -13
  332. package/dist/esm/chain/subscription.js.map +1 -1
  333. package/dist/esm/chain/takeBack.d.ts +12 -0
  334. package/dist/esm/chain/takeBack.d.ts.map +1 -1
  335. package/dist/esm/chain/takeBack.js +22 -9
  336. package/dist/esm/chain/takeBack.js.map +1 -1
  337. package/dist/esm/chain/why.d.ts +44 -0
  338. package/dist/esm/chain/why.d.ts.map +1 -0
  339. package/dist/esm/chain/why.js +111 -0
  340. package/dist/esm/chain/why.js.map +1 -0
  341. package/dist/esm/chain/whyMint.d.ts +8 -0
  342. package/dist/esm/chain/whyMint.d.ts.map +1 -0
  343. package/dist/esm/chain/whyMint.js +17 -0
  344. package/dist/esm/chain/whyMint.js.map +1 -0
  345. package/dist/esm/chain.d.ts +8 -4
  346. package/dist/esm/chain.d.ts.map +1 -1
  347. package/dist/esm/chain.js +9 -4
  348. package/dist/esm/chain.js.map +1 -1
  349. package/dist/esm/config.d.ts +11 -5
  350. package/dist/esm/config.d.ts.map +1 -1
  351. package/dist/esm/config.js +3 -1
  352. package/dist/esm/config.js.map +1 -1
  353. package/dist/esm/data/askEntity.d.ts +40 -0
  354. package/dist/esm/data/askEntity.d.ts.map +1 -0
  355. package/dist/esm/data/askEntity.js +41 -0
  356. package/dist/esm/data/askEntity.js.map +1 -0
  357. package/dist/esm/data/askLinks.d.ts +6 -0
  358. package/dist/esm/data/askLinks.d.ts.map +1 -0
  359. package/dist/esm/data/askLinks.js +16 -0
  360. package/dist/esm/data/askLinks.js.map +1 -0
  361. package/dist/esm/data/board/assemble.d.ts.map +1 -1
  362. package/dist/esm/data/board/assemble.js +15 -2
  363. package/dist/esm/data/board/assemble.js.map +1 -1
  364. package/dist/esm/data/board/facts.d.ts +11 -0
  365. package/dist/esm/data/board/facts.d.ts.map +1 -1
  366. package/dist/esm/data/board/facts.js +15 -0
  367. package/dist/esm/data/board/facts.js.map +1 -1
  368. package/dist/esm/data/board/read.d.ts.map +1 -1
  369. package/dist/esm/data/board/read.js +2 -1
  370. package/dist/esm/data/board/read.js.map +1 -1
  371. package/dist/esm/data/board/types.d.ts +9 -0
  372. package/dist/esm/data/board/types.d.ts.map +1 -1
  373. package/dist/esm/data/board/types.js.map +1 -1
  374. package/dist/esm/data/docs.d.ts +10 -2
  375. package/dist/esm/data/docs.d.ts.map +1 -1
  376. package/dist/esm/data/docs.js +43 -4
  377. package/dist/esm/data/docs.js.map +1 -1
  378. package/dist/esm/data/format.js +1 -1
  379. package/dist/esm/data/format.js.map +1 -1
  380. package/dist/esm/data/install.d.ts +43 -2
  381. package/dist/esm/data/install.d.ts.map +1 -1
  382. package/dist/esm/data/install.js +56 -9
  383. package/dist/esm/data/install.js.map +1 -1
  384. package/dist/esm/data/oracleInfo.d.ts +6 -1
  385. package/dist/esm/data/oracleInfo.d.ts.map +1 -1
  386. package/dist/esm/data/oracleInfo.js +22 -3
  387. package/dist/esm/data/oracleInfo.js.map +1 -1
  388. package/dist/esm/data/oracles.d.ts +62 -5
  389. package/dist/esm/data/oracles.d.ts.map +1 -1
  390. package/dist/esm/data/oracles.js +87 -12
  391. package/dist/esm/data/oracles.js.map +1 -1
  392. package/dist/esm/data/orgPayouts.d.ts +87 -0
  393. package/dist/esm/data/orgPayouts.d.ts.map +1 -0
  394. package/dist/esm/data/orgPayouts.js +170 -0
  395. package/dist/esm/data/orgPayouts.js.map +1 -0
  396. package/dist/esm/data/plans.d.ts +8 -0
  397. package/dist/esm/data/plans.d.ts.map +1 -0
  398. package/dist/esm/data/plans.js +8 -0
  399. package/dist/esm/data/plans.js.map +1 -0
  400. package/dist/esm/data/profiles.d.ts +20 -0
  401. package/dist/esm/data/profiles.d.ts.map +1 -1
  402. package/dist/esm/data/profiles.js +60 -4
  403. package/dist/esm/data/profiles.js.map +1 -1
  404. package/dist/esm/data/receipt.d.ts +7 -0
  405. package/dist/esm/data/receipt.d.ts.map +1 -1
  406. package/dist/esm/data/receipt.js +20 -5
  407. package/dist/esm/data/receipt.js.map +1 -1
  408. package/dist/esm/data/resources.d.ts +3 -0
  409. package/dist/esm/data/resources.d.ts.map +1 -1
  410. package/dist/esm/data/resources.js +2 -0
  411. package/dist/esm/data/resources.js.map +1 -1
  412. package/dist/esm/data/threads.d.ts +14 -0
  413. package/dist/esm/data/threads.d.ts.map +1 -1
  414. package/dist/esm/data/threads.js +32 -21
  415. package/dist/esm/data/threads.js.map +1 -1
  416. package/dist/esm/data/trace.d.ts +8 -0
  417. package/dist/esm/data/trace.d.ts.map +1 -1
  418. package/dist/esm/data/trace.js +1 -1
  419. package/dist/esm/data/trace.js.map +1 -1
  420. package/dist/esm/data/traceWords.d.ts +4 -1
  421. package/dist/esm/data/traceWords.d.ts.map +1 -1
  422. package/dist/esm/data/traceWords.js +8 -2
  423. package/dist/esm/data/traceWords.js.map +1 -1
  424. package/dist/esm/data/why.d.ts +38 -0
  425. package/dist/esm/data/why.d.ts.map +1 -0
  426. package/dist/esm/data/why.js +78 -0
  427. package/dist/esm/data/why.js.map +1 -0
  428. package/dist/esm/data/whyReceipt.d.ts +33 -0
  429. package/dist/esm/data/whyReceipt.d.ts.map +1 -0
  430. package/dist/esm/data/whyReceipt.js +284 -0
  431. package/dist/esm/data/whyReceipt.js.map +1 -0
  432. package/dist/esm/geo/exifcarry.d.ts +9 -0
  433. package/dist/esm/geo/exifcarry.d.ts.map +1 -1
  434. package/dist/esm/geo/exifcarry.js +34 -0
  435. package/dist/esm/geo/exifcarry.js.map +1 -1
  436. package/dist/esm/geo/geohash.d.ts +11 -0
  437. package/dist/esm/geo/geohash.d.ts.map +1 -1
  438. package/dist/esm/geo/geohash.js +52 -3
  439. package/dist/esm/geo/geohash.js.map +1 -1
  440. package/dist/esm/geo/provenance.d.ts +41 -0
  441. package/dist/esm/geo/provenance.d.ts.map +1 -0
  442. package/dist/esm/geo/provenance.js +129 -0
  443. package/dist/esm/geo/provenance.js.map +1 -0
  444. package/dist/esm/rubric/bridge.d.ts +98 -2
  445. package/dist/esm/rubric/bridge.d.ts.map +1 -1
  446. package/dist/esm/rubric/bridge.js +130 -14
  447. package/dist/esm/rubric/bridge.js.map +1 -1
  448. package/dist/esm/rubric/card.d.ts +28 -14
  449. package/dist/esm/rubric/card.d.ts.map +1 -1
  450. package/dist/esm/rubric/card.js +24 -5
  451. package/dist/esm/rubric/card.js.map +1 -1
  452. package/dist/esm/rubric/claimForm.d.ts +116 -0
  453. package/dist/esm/rubric/claimForm.d.ts.map +1 -1
  454. package/dist/esm/rubric/claimForm.js +11 -0
  455. package/dist/esm/rubric/claimForm.js.map +1 -1
  456. package/dist/esm/rubric/compose.d.ts +5 -0
  457. package/dist/esm/rubric/compose.d.ts.map +1 -1
  458. package/dist/esm/rubric/compose.js +7 -2
  459. package/dist/esm/rubric/compose.js.map +1 -1
  460. package/dist/esm/rubric/gateMet.d.ts.map +1 -1
  461. package/dist/esm/rubric/gateMet.js +4 -2
  462. package/dist/esm/rubric/gateMet.js.map +1 -1
  463. package/dist/esm/rubric/leg.d.ts +2 -2
  464. package/dist/esm/rubric/leg.d.ts.map +1 -1
  465. package/dist/esm/rubric/leg.js +7 -5
  466. package/dist/esm/rubric/leg.js.map +1 -1
  467. package/dist/esm/rubric/marketPlan.d.ts +41 -3
  468. package/dist/esm/rubric/marketPlan.d.ts.map +1 -1
  469. package/dist/esm/rubric/marketPlan.js +107 -9
  470. package/dist/esm/rubric/marketPlan.js.map +1 -1
  471. package/dist/esm/rubric/observation.d.ts +56 -14
  472. package/dist/esm/rubric/observation.d.ts.map +1 -1
  473. package/dist/esm/rubric/observation.js +61 -12
  474. package/dist/esm/rubric/observation.js.map +1 -1
  475. package/dist/esm/rubric/survey.d.ts +65 -0
  476. package/dist/esm/rubric/survey.d.ts.map +1 -0
  477. package/dist/esm/rubric/survey.js +94 -0
  478. package/dist/esm/rubric/survey.js.map +1 -0
  479. package/dist/esm/rubric/terms.d.ts +7 -0
  480. package/dist/esm/rubric/terms.d.ts.map +1 -1
  481. package/dist/esm/rubric/terms.js +12 -2
  482. package/dist/esm/rubric/terms.js.map +1 -1
  483. package/dist/esm/rubric.d.ts +1 -1
  484. package/dist/esm/rubric.d.ts.map +1 -1
  485. package/dist/esm/rubric.js +1 -1
  486. package/dist/esm/rubric.js.map +1 -1
  487. package/package.json +8 -2
@@ -17,10 +17,21 @@
17
17
  * worker and the app agree on one answer.
18
18
  */
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.askQuestionFor = exports.readMarketPlan = exports.validatePlan = exports.screenCheck = exports.screenMarket = exports.planCost = exports.planAnswerCount = exports.planAskCount = exports.PLAN_LIMITS = exports.MARKET_PLAN_KIND = exports.PLAN_ACTS = exports.planSlug = exports.slugOfPlanTag = exports.planTag = void 0;
20
+ exports.askQuestionFor = exports.readMarketPlan = exports.validatePlan = exports.askOverrun = exports.screenCheck = exports.screenMarket = exports.planCost = exports.planAnswerCount = exports.planAskCount = exports.PLAN_LIMITS = exports.MARKET_PLAN_KIND = exports.PLAN_ACTS = exports.planSlug = exports.slugOfPlanTag = exports.planFundingMemo = exports.planTag = void 0;
21
+ const survey_ts_1 = require("./survey.js");
21
22
  /** The tag every ask of a plan is filed under. No colon: a tag is `[a-z0-9-]`. */
22
23
  const planTag = (slug) => `plan-${slug}`;
23
24
  exports.planTag = planTag;
25
+ /**
26
+ * The memo a plan's funding carries: the slug for anyone reading the chain,
27
+ * and the document's address so the money can be spent on that document
28
+ * only. A slug is a free string inside whichever document a registrant
29
+ * names, so a memo that carried the slug alone would let a second document
30
+ * with the same slug claim the funding; the address is the hash of the bytes
31
+ * and names exactly one plan.
32
+ */
33
+ const planFundingMemo = (slug, cid) => `plan:${slug} ${cid}`;
34
+ exports.planFundingMemo = planFundingMemo;
24
35
  /** The slug back out of a tag, or null when the tag is not a plan's. */
25
36
  const slugOfPlanTag = (tag) => {
26
37
  const match = /^plan-([a-z][a-z0-9-]{2,39})$/.exec(tag ?? "");
@@ -42,7 +53,14 @@ const planSlug = (text, suffix = "") => {
42
53
  return `${body.length >= 3 ? body : `plan-${body}`.slice(0, room)}${tail}`;
43
54
  };
44
55
  exports.planSlug = planSlug;
45
- exports.PLAN_ACTS = ["photo", "observation"];
56
+ /**
57
+ * photo: a picture taken at the place. observation: what the person saw, in
58
+ * words, located by their phone. survey: what people at the place think, one
59
+ * option of a few, a reason, and what they expect most people to say
60
+ * (rubric/survey.ts) — for markets where the signal is a crowd's opinion, not
61
+ * something to look at.
62
+ */
63
+ exports.PLAN_ACTS = ["photo", "observation", "survey"];
46
64
  exports.MARKET_PLAN_KIND = "openhands.market-plan";
47
65
  /** The limits a plan is held to. The per-ask cap and the per-plan cap are the MCP's; these are shape. */
48
66
  exports.PLAN_LIMITS = {
@@ -50,6 +68,10 @@ exports.PLAN_LIMITS = {
50
68
  placesPerCheck: 20,
51
69
  asksPerPlan: 120,
52
70
  perPlace: 10,
71
+ /** A survey asks more people at each place: one opinion is no signal. */
72
+ surveyPerPlace: 50,
73
+ /** The plan's thesis: a few sentences at most. */
74
+ thesisMax: 600,
53
75
  textMin: 12,
54
76
  textMax: 300,
55
77
  withinMin: 20,
@@ -128,9 +150,9 @@ const CONFLICT = [
128
150
  ];
129
151
  /** Polling places: the law differs by state and by distance, and the network does not litigate it per ask. */
130
152
  const POLLING = [/\bpolling (place|station|site|location)s?\b/i, /\bvoting (booth|centre|center|location)s?\b/i, /\bballot\b/i, /\bvoters?\b/i];
131
- /** The thing that settles a market: never visit, touch or photograph it. */
153
+ /** The thing that settles a market: never visit, touch or photograph it. A bare "sensor" is read by `instrumentSensor` below. */
132
154
  const SOURCE = [
133
- /\bsensor\b/i,
155
+ /\b(?:weather|temperature|rain(?:fall)?|air[- ]quality|pollution|flood|water[- ]level|river|tide|wind|snow|seismic|traffic|noise|humidity)\s+(?:[\w-]+\s+)?sensors?\b/i,
134
156
  /\bweather station\b/i,
135
157
  /\bthermometer\b/i,
136
158
  /\b(rain|river|stream|tide|snow) gauge\b/i,
@@ -140,6 +162,25 @@ const SOURCE = [
140
162
  /\btally\b/i,
141
163
  /\bscoreboard\b/i,
142
164
  ];
165
+ /**
166
+ * A sensor is an instrument that may settle a market, unless the check
167
+ * plainly says it is a vehicle's own: the spinning sensor on a robotaxi's
168
+ * roof is how a person tells a Waymo from a taxi, and it settles nothing.
169
+ * The measuring kinds (weather, rain, river, traffic…) are in SOURCE and
170
+ * refuse whatever they are bolted to.
171
+ */
172
+ const VEHICLE = /\b(?:cars?|vehicles?|robotaxis?|taxis?|cabs?|vans?|trucks?|bus|buses|waymos?|zoox|teslas?)\b/i;
173
+ const VEHICLE_SENSOR = new RegExp([
174
+ /* the car's sensor, a Waymo's spinning sensor */
175
+ /\b(?:car|vehicle|robotaxi|taxi|cab|van|truck|bus|waymo|zoox|tesla)(?:['\u2019]s|s['\u2019]|s)?\s+(?:(?:lidar|roof|rooftop|roof-mounted|spinning|rotating|parking)\s+)?sensors?\b/,
176
+ /* a spinning sensor, the lidar sensor */
177
+ /\b(?:lidar|roof|rooftop|roof-mounted|spinning|rotating)\s+sensors?\b/,
178
+ /* a sensor on the roof, sensors on each car */
179
+ /\bsensors?\s+(?:on|atop|on top of|mounted on)\s+(?:the|its|their|a|an|each|every)\s+(?:[\w-]+\s+)?(?:roofs?|cars?|vehicles?|robotaxis?|taxis?|cabs?|vans?|trucks?|bus|buses)\b/
180
+ ]
181
+ .map((pattern) => pattern.source)
182
+ .join("|"), "gi");
183
+ const instrumentSensor = (text) => /\bsensors?\b/i.test(VEHICLE.test(text) ? text.replace(VEHICLE_SENSOR, "") : text);
143
184
  /** Acts that change the world the market is about. A check looks; it never moves the outcome. */
144
185
  const ACTS = [
145
186
  /\bvote\b/i,
@@ -177,6 +218,20 @@ const FACES = [/(?<!\bno )\bfaces?\b/i, /\bselfie\b/i, /\bportrait\b/i, /\bident
177
218
  /** Photos of these need to say they take no faces. */
178
219
  const CROWD = [/\bqueue\b/i, /\bline (of|outside|at)\b/i, /\bcrowd\b/i, /\bpeople\b/i, /\bshoppers\b/i, /\bcustomers\b/i, /\briders?\b/i, /\bpassengers?\b/i];
179
220
  const NO_FACES = /\bno faces\b/i;
221
+ /**
222
+ * What a survey must never ask a person about themselves: the special
223
+ * categories of personal data (political opinion and how they vote,
224
+ * religion, health, sex life, ethnicity, union membership), which no plan
225
+ * buys from a stranger tied to their address and their location.
226
+ */
227
+ const SENSITIVE = [
228
+ /\b(vote|votes|voting|voted|ballot|elect(ion|ed|ions)?|candidate|referendum)\b/i,
229
+ /\b(polit\w*|part(y|ies)|republican|democrat|conservative|liberal|left[- ]wing|right[- ]wing)\b/i,
230
+ /\b(relig\w*|church|mosque|synagogue|temple|faith|pray\w*)\b/i,
231
+ /\b(health|illness|disease|diagnos\w*|medical|medication|pregnan\w*|disabilit\w*|mental)\b/i,
232
+ /\b(sexual\w*|sex life|gay|lesbian|transgender|orientation)\b/i,
233
+ /\b(race|racial|ethnic\w*|immigra\w*|citizenship|union member\w*)\b/i
234
+ ];
180
235
  const hit = (patterns, text) => patterns.some((pattern) => pattern.test(text));
181
236
  /** The market as one string the screen reads. */
182
237
  const marketText = (market) => [market.question, market.rules ?? ""].join("\n");
@@ -206,7 +261,7 @@ const screenCheck = (check) => {
206
261
  if (hit(POLLING, `${text}\n${where}`)) {
207
262
  refusals.push({ rule: "polling-place", check: id, why: "Polling places are refused: what may be recorded near one differs by state and distance." });
208
263
  }
209
- if (hit(SOURCE, text)) {
264
+ if (hit(SOURCE, text) || instrumentSensor(text)) {
210
265
  refusals.push({ rule: "resolution-source", check: id, why: "This check goes to an instrument or an official count. Never visit or photograph what settles a market." });
211
266
  }
212
267
  if (hit(ACTS, text)) {
@@ -221,12 +276,30 @@ const screenCheck = (check) => {
221
276
  else if (check.act === "photo" && hit(CROWD, text) && !NO_FACES.test(text)) {
222
277
  refusals.push({ rule: "faces", check: id, why: "A photo with people in it must say \"no faces\" in the check, so the person taking it frames it that way." });
223
278
  }
279
+ if (check.act === "survey" && hit(SENSITIVE, [text, ...(check.options ?? [])].join("\n"))) {
280
+ refusals.push({
281
+ rule: "sensitive-survey",
282
+ check: id,
283
+ why: "A survey must not ask about politics or votes, religion, health, sexuality, ethnicity or union membership: sensitive personal data no plan buys from a stranger. Ask what people see, use or expect instead."
284
+ });
285
+ }
224
286
  if (check.beats.trim().length < exports.PLAN_LIMITS.lineMin) {
225
287
  refusals.push({ rule: "no-beats", check: id, why: "Say what existing feed this check improves on. A check that beats nothing is not worth buying." });
226
288
  }
227
289
  return refusals;
228
290
  };
229
291
  exports.screenCheck = screenCheck;
292
+ /** A check's words as every one of its asks carries them, spaces folded. */
293
+ const askWords = (check) => check.text.trim().replace(/\s+/g, " ");
294
+ /** What one place's ask adds after the words. */
295
+ const askAt = (place) => ` At ${place.name}.`;
296
+ /**
297
+ * How many characters a check's words run past what an ask can carry once a
298
+ * place is added after them, or 0 when they fit. Drafting refuses any overrun,
299
+ * so a stored plan is posted word for word.
300
+ */
301
+ const askOverrun = (check, place) => Math.max(0, askWords(check).length + askAt(place).length - exports.PLAN_LIMITS.textMax);
302
+ exports.askOverrun = askOverrun;
230
303
  /** Refusals for the shape of one check: the numbers and lengths a plan must keep. */
231
304
  const shapeOfCheck = (check) => {
232
305
  const L = exports.PLAN_LIMITS;
@@ -237,6 +310,15 @@ const shapeOfCheck = (check) => {
237
310
  const text = check.text.trim();
238
311
  if (text.length < L.textMin || text.length > L.textMax)
239
312
  bad(`The check's words must be ${L.textMin}–${L.textMax} characters.`);
313
+ else {
314
+ /* Words that fit alone can still overrun once a long place name follows them, and an overrun would be cut when posted. */
315
+ const named = check.places.filter((place) => place.name?.trim());
316
+ const worst = named.reduce((most, place) => (!most || (0, exports.askOverrun)(check, place) > (0, exports.askOverrun)(check, most) ? place : most), null);
317
+ const over = worst ? (0, exports.askOverrun)(check, worst) : 0;
318
+ if (worst && over > 0) {
319
+ bad(`Each ask adds "${askAt(worst).trim()}" after the words, which takes them ${over} characters past the ${L.textMax} an ask carries. Cut ${over} characters from the words, or shorten that place's name.`);
320
+ }
321
+ }
240
322
  if (!check.places.length)
241
323
  bad("A check needs at least one place.");
242
324
  if (check.places.length > L.placesPerCheck)
@@ -249,8 +331,20 @@ const shapeOfCheck = (check) => {
249
331
  if (!(place.withinM >= L.withinMin && place.withinM <= L.withinMax))
250
332
  bad(`"${place.name}": the distance must be ${L.withinMin}–${L.withinMax} m.`);
251
333
  }
252
- if (!Number.isInteger(check.perPlace) || check.perPlace < 1 || check.perPlace > L.perPlace)
253
- bad(`Answers per place must be a whole number from 1 to ${L.perPlace}.`);
334
+ const most = check.act === "survey" ? L.surveyPerPlace : L.perPlace;
335
+ if (!Number.isInteger(check.perPlace) || check.perPlace < 1 || check.perPlace > most)
336
+ bad(`Answers per place must be a whole number from 1 to ${most}.`);
337
+ if (check.act === "survey") {
338
+ const problem = (0, survey_ts_1.surveyOptionsProblem)(check.options);
339
+ if (problem)
340
+ bad(problem);
341
+ }
342
+ else if (check.options !== undefined)
343
+ bad("Only a survey has options.");
344
+ for (const [name, line] of [["why", check.why], ["how it is read", check.readAs]]) {
345
+ if (line !== undefined && (line.trim().length < L.lineMin || line.trim().length > L.lineMax))
346
+ bad(`The check's ${name} line is ${L.lineMin}–${L.lineMax} characters.`);
347
+ }
254
348
  if (!(check.payUsd >= L.payFloorUsd))
255
349
  bad(`The pay must be at least $${L.payFloorUsd.toFixed(2)} an answer.`);
256
350
  if (!(check.hours >= L.hoursMin && check.hours <= L.hoursMax))
@@ -288,6 +382,8 @@ const validatePlan = (plan) => {
288
382
  shape(`Two checks share the id ${check.id}.`);
289
383
  ids.add(check.id);
290
384
  }
385
+ if (plan.thesis !== undefined && (plan.thesis.trim().length < L.lineMin || plan.thesis.trim().length > L.thesisMax))
386
+ shape(`The thesis is ${L.lineMin}–${L.thesisMax} characters.`);
291
387
  if (plan.cannotTell.trim().length < L.lineMin) {
292
388
  refusals.push({ rule: "no-cannot-tell", check: null, why: "Say what this plan cannot tell the trader. A plan without its limit reads as a promise." });
293
389
  }
@@ -308,10 +404,14 @@ const readMarketPlan = (doc) => {
308
404
  return plan;
309
405
  };
310
406
  exports.readMarketPlan = readMarketPlan;
311
- /** The words the asks of one check carry: the check, then its place, then the honest limit of a single look. */
407
+ /**
408
+ * The words the asks of one check carry: the check, then its place. Drafting
409
+ * refuses words that overrun beside any place (askOverrun), so the cut below
410
+ * only ever reaches a plan stored before that rule, and marks itself with "…".
411
+ */
312
412
  const askQuestionFor = (check, place) => {
313
- const text = check.text.trim().replace(/\s+/g, " ");
314
- const at = ` At ${place.name}.`;
413
+ const text = askWords(check);
414
+ const at = askAt(place);
315
415
  const room = exports.PLAN_LIMITS.textMax - at.length;
316
416
  return (text.length > room ? `${text.slice(0, room - 1).trimEnd()}…` : text) + at;
317
417
  };
@@ -1 +1 @@
1
- {"version":3,"file":"marketPlan.js","sourceRoot":"","sources":["../../../src/rubric/marketPlan.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,kFAAkF;AAC3E,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;AAAnD,QAAA,OAAO,WAA4C;AAEhE,wEAAwE;AACjE,MAAM,aAAa,GAAG,CAAC,GAA8B,EAAiB,EAAE;IAC7E,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC,CAAC;AAHW,QAAA,aAAa,iBAGxB;AAEF,wGAAwG;AACjG,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE,EAAU,EAAE;IAC5D,MAAM,KAAK,GAAG,IAAI;SACf,WAAW,EAAE;SACb,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;AAC7E,CAAC,CAAC;AAZW,QAAA,QAAQ,YAYnB;AAKW,QAAA,SAAS,GAAuB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAsDzD,QAAA,gBAAgB,GAAG,uBAAgC,CAAC;AAEjE,yGAAyG;AAC5F,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,EAAE;IACV,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,GAAG;IAChB,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,GAAG;IACb,0DAA0D;IAC1D,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,GAAG;CACJ,CAAC;AAEX,2DAA2D;AACpD,MAAM,YAAY,GAAG,CAAC,IAAgC,EAAU,EAAE,CACvE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AADlD,QAAA,YAAY,gBACsC;AAE/D,4CAA4C;AACrC,MAAM,eAAe,GAAG,CAAC,IAAgC,EAAU,EAAE,CAC1E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AADnE,QAAA,eAAe,mBACoD;AAchF,uDAAuD;AACvD,MAAM,KAAK,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAEnE;;;GAGG;AACI,MAAM,QAAQ,GAAG,CAAC,IAAgC,EAAE,IAA6E,EAAY,EAAE;IACpJ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrD,0GAA0G;QAC1G,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAChG,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC;IAC3H,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;AACvE,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAsBF;;;;;;GAMG;AAEH,8GAA8G;AAC9G,MAAM,KAAK,GAAG;IACZ,YAAY;IACZ,+BAA+B;IAC/B,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,eAAe;IACf,mBAAmB;IACnB,cAAc;IACd,gBAAgB;IAChB,gKAAgK;IAChK,qEAAqE;CACtE,CAAC;AAEF,sEAAsE;AACtE,MAAM,QAAQ,GAAG;IACf,WAAW;IACX,aAAa;IACb,WAAW;IACX,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,aAAa;IACb,aAAa;IACb,YAAY;IACZ,cAAc;IACd,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,sBAAsB;CACvB,CAAC;AAEF,8GAA8G;AAC9G,MAAM,OAAO,GAAG,CAAC,8CAA8C,EAAE,8CAA8C,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;AAEhJ,4EAA4E;AAC5E,MAAM,MAAM,GAAG;IACb,aAAa;IACb,sBAAsB;IACtB,kBAAkB;IAClB,0CAA0C;IAC1C,YAAY;IACZ,wDAAwD;IACxD,oCAAoC;IACpC,YAAY;IACZ,iBAAiB;CAClB,CAAC;AAEF,iGAAiG;AACjG,MAAM,IAAI,GAAG;IACX,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,kBAAkB;IAClB,eAAe;IACf,aAAa;IACb,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,eAAe;IACf,YAAY;IACZ,gBAAgB;IAChB,mBAAmB;CACpB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,OAAO,GAAG;IACd,yBAAyB;IACzB,gBAAgB;IAChB,oBAAoB;IACpB,6BAA6B;IAC7B,0CAA0C;IAC1C,kDAAkD;IAClD,yEAAyE;IACzE,2CAA2C;IAC3C,mBAAmB;IACnB,aAAa;CACd,CAAC;AAEF,mDAAmD;AACnD,MAAM,KAAK,GAAG,CAAC,uBAAuB,EAAC,aAAa,EAAE,eAAe,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,2CAA2C,CAAC,CAAC;AAErL,sDAAsD;AACtD,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,2BAA2B,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAE9J,MAAM,QAAQ,GAAG,eAAe,CAAC;AAEjC,MAAM,GAAG,GAAG,CAAC,QAAkB,EAAE,IAAY,EAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1G,iDAAiD;AACjD,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAU,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEpG,iDAAiD;AACjD,MAAM,SAAS,GAAG,CAAC,KAAgB,EAAU,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEnG,gGAAgG;AACzF,MAAM,YAAY,GAAG,CAAC,MAAkB,EAAiB,EAAE;IAChE,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,sIAAsI,EAAE,CAAC,CAAC;IACrM,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,oGAAoG,EAAE,CAAC,CAAC;IACnK,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB;AAEF,kEAAkE;AAC3D,MAAM,WAAW,GAAG,CAAC,KAAgB,EAAiB,EAAE;IAC7D,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,oFAAoF,EAAE,CAAC,CAAC;IACjJ,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,0FAA0F,EAAE,CAAC,CAAC;IACvJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,yGAAyG,EAAE,CAAC,CAAC;IAC1K,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,+FAA+F,EAAE,CAAC,CAAC;IAC9J,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,4HAA4H,EAAE,CAAC,CAAC;IACtL,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,kFAAkF,EAAE,CAAC,CAAC;IACvI,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,2GAA2G,EAAE,CAAC,CAAC;IAChK,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,mBAAW,CAAC,OAAO,EAAE,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,gGAAgG,EAAE,CAAC,CAAC;IACxJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA7BW,QAAA,WAAW,eA6BtB;AAEF,qFAAqF;AACrF,MAAM,YAAY,GAAG,CAAC,KAAgB,EAAiB,EAAE;IACvD,MAAM,CAAC,GAAG,mBAAW,CAAC;IACtB,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,iBAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,0BAA0B,iBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3F,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO;QAAE,GAAG,CAAC,6BAA6B,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC;IAC/H,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;QAAE,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc;QAAE,GAAG,CAAC,yBAAyB,CAAC,CAAC,cAAc,UAAU,CAAC,CAAC;IACrG,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE;YAAE,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC9E,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,8BAA8B,CAAC,CAAC;QAC7J,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC;YAAE,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,2BAA2B,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC;IACrJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ;QAAE,GAAG,CAAC,sDAAsD,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,CAAC;QAAE,GAAG,CAAC,6BAA6B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC9G,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC;QAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC;IAC5H,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO;QAAE,GAAG,CAAC,gCAAgC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC;IACxG,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;;;GAIG;AACI,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAiB,EAAE;IAC9D,MAAM,CAAC,GAAG,mBAAW,CAAC;IACtB,MAAM,QAAQ,GAAkB,CAAC,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAgB,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC3F,IAAI,CAAC,IAAA,qBAAa,EAAC,IAAA,eAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,KAAK,CAAC,kFAAkF,CAAC,CAAC;IAClI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAAE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACnE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;QAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC;IACrF,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW;QAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC,WAAW,kCAAkC,CAAC,CAAC;IACvH,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,KAAK,CAAC,2BAA2B,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,yFAAyF,EAAE,CAAC,CAAC;IACzJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,CAAC;IAC9F,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AArBW,QAAA,YAAY,gBAqBvB;AAEF,0FAA0F;AACnF,MAAM,cAAc,GAAG,CAAC,GAAY,EAAqB,EAAE;IAChE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,IAAI,GAAG,GAA0B,CAAC;IACxC,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAgB,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrI,OAAO,IAAkB,CAAC;AAC5B,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEF,gHAAgH;AACzG,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAE,KAAgB,EAAU,EAAE;IAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC;IAChC,MAAM,IAAI,GAAG,mBAAW,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACpF,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB"}
1
+ {"version":3,"file":"marketPlan.js","sourceRoot":"","sources":["../../../src/rubric/marketPlan.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,28 @@
1
- import { type AskTerms } from "./terms.ts";
1
+ import { type AskTerms, type Gate } from "./terms.ts";
2
2
  /**
3
3
  * The terms of an observation bought from a stranger: what `ask_the_world`
4
4
  * posts, and what every check of an Ask the World plan posts, so that the two
5
5
  * can never drift apart (docs/verified-work-ask-the-world-plan.md, D2).
6
6
  *
7
- * A located ask carries the place gate, then the falsifiers (daylight always;
8
- * weather on a photo only), then the relevance judge.
7
+ * An observation carries what its mode hands over (`modeGates`), then, when it
8
+ * is located, the place gate and the daylight falsifier (not on a survey),
9
+ * then the relevance judge.
9
10
  *
10
- * **Weather only where the reviewer can weigh it.** On testnet, 2026-10-15, a
11
- * typed observation ("It's dry and the streetlights are working", ask #44040)
12
- * came back with location, daylight and the judge passed and the weather gate
13
- * `unevaluated`, and the engine declines any decision with a gate it could
14
- * not evaluate (reason code `weather`). The falsifier was meant to fail only
15
- * an answer the world contradicts; on a typed answer it failed every one. A
16
- * photo keeps it. The judge says its refusal
11
+ * **No weather gate, on any mode.** It read only what the answer said about
12
+ * the weather, never the photograph, so it almost always passed on silence and
13
+ * a faker had only to leave the weather out. The oracle half was never built:
14
+ * its handler errors, an errored fact rejects (`ON_ERROR`), and every located
15
+ * photo claim was refused or held `unevaluated` (testnet #44040, 2026-10-15).
16
+ * The photograph screens (place, EXIF GPS, generated or real, duplicates,
17
+ * daylight, the judge) carry the weight. Asks already posted keep the gate in
18
+ * their frozen terms, so `terms.ts` and the bridge still read and translate
19
+ * it; the oracle passes it for them. The judge says its refusal
17
20
  * first and the question last: the oracle fails any rule it cannot find proof
18
21
  * for, so a sentence that never names its own failure reads as "prove it", and
19
- * the question is a caller's 300 characters that the parser may cut.
22
+ * the question is a caller's 300 characters that the parser may cut. On a
23
+ * typed answer it also says what passes (`relevanceLine`).
20
24
  */
21
- export type ObservationMode = "observation" | "photo" | "url-check";
25
+ export type ObservationMode = "observation" | "photo" | "url-check" | "survey";
22
26
  export interface ObservationInput {
23
27
  /** The real-world question, 12–300 characters. */
24
28
  question: string;
@@ -42,12 +46,50 @@ export interface ObservationInput {
42
46
  tag?: string;
43
47
  /** The content address of the plan this ask is one check of. */
44
48
  plan?: string;
49
+ /** A survey's options (rubric/survey.ts). Required for a survey, ignored otherwise. */
50
+ options?: string[];
45
51
  }
46
- /** The relevance line every observation is judged on. */
47
- export declare const relevanceLine: (question: string) => string;
52
+ /**
53
+ * The relevance line every observation is judged on.
54
+ *
55
+ * **A typed answer is also told what passes.** "It's dry and the streetlights
56
+ * are working" answers "is it raining or dry, and are the street lights on?",
57
+ * and ask #44041 failed it anyway (2026-10-15; `TEXT_JUDGE_GUIDANCE` in
58
+ * `bridge.ts` has the rest). A line that only names its failures leaves "on"
59
+ * versus "working" to the model, so the typed modes say that any plain answer
60
+ * counts, in any words. It says nothing about every part being answered: that
61
+ * would be a new way to fail, and nobody has decided one. A photograph's line
62
+ * is the line it always was — its answer is the picture, not the words.
63
+ */
64
+ export declare const relevanceLine: (question: string, mode: ObservationMode) => string;
48
65
  /**
49
66
  * Terms in the parser's own key order, so they read back byte for byte:
50
67
  * v, task, deliverable, campaign, plan, criteria, judge, via.
51
68
  */
52
69
  export declare function observationTerms(input: ObservationInput): AskTerms;
70
+ /**
71
+ * The gates an observation opens with: what its MODE hands over, never what
72
+ * its question says.
73
+ *
74
+ * These used to be `deriveTerms(question).criteria`, and `deriveTerms` reads a
75
+ * poster's title as the errand itself — "Write a haiku" wants twenty
76
+ * characters, "a photo of" wants an image. A question put to a stranger is not
77
+ * an errand's title, and reading it as one put gates on answers that could
78
+ * never pass them: "Is the photo booth at the station working today?" asked
79
+ * for a typed answer and demanded an image file a typed claim never carries
80
+ * (`file-type`, `max-bytes` on `$photo`, so every answer refused); "Is it
81
+ * raining in Ljubljana right now?" began like a question and so demanded forty
82
+ * characters of "No, it's dry."; a phrase in quotes became words the answer
83
+ * had to repeat; and a photo observation got the image gates only when its
84
+ * question happened to say "photo".
85
+ *
86
+ * So: every observation must hand something over. A photo carries the photo
87
+ * deliverable's own gates, whatever the question says. A url-check keeps the
88
+ * one thing `deriveTerms` was borrowed for (the ground-truth plan: "base url
89
+ * gates") — when its question names a site to check, the answer has to name
90
+ * it and report what it answered, and a fresh reading of it has to agree. A
91
+ * typed observation carries nothing more: the relevance judge reads the
92
+ * question, and it is the rule that can tell an answer from an evasion.
93
+ */
94
+ export declare function modeGates(question: string, mode: ObservationMode): Gate[];
53
95
  //# sourceMappingURL=observation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../../../src/rubric/observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAE5F;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,iEAAiE;IACjE,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,gHAAgH;IAChH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gFAAgF;IAChF,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,yDAAyD;AACzD,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,MACqG,CAAC;AAEvJ;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,QAAQ,CAuBlE"}
1
+ {"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../../../src/rubric/observation.ts"],"names":[],"mappings":"AACA,OAAO,EAAoD,KAAK,QAAQ,EAAkB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAExH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,iEAAiE;IACjE,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,gHAAgH;IAChH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gFAAgF;IAChF,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,EAAE,MAAM,eAAe,KAAG,MAGsI,CAAC;AAE/M;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,QAAQ,CAuBlE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,CAQzE"}
@@ -2,37 +2,87 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.relevanceLine = void 0;
4
4
  exports.observationTerms = observationTerms;
5
+ exports.modeGates = modeGates;
6
+ const survey_ts_1 = require("./survey.js");
5
7
  const terms_ts_1 = require("./terms.js");
6
- /** The relevance line every observation is judged on. */
7
- const relevanceLine = (question) => `The answer addresses the question this ask asked. Fail this only if it answers something else, or is empty or evasive. The question: "${question}"`;
8
+ /**
9
+ * The relevance line every observation is judged on.
10
+ *
11
+ * **A typed answer is also told what passes.** "It's dry and the streetlights
12
+ * are working" answers "is it raining or dry, and are the street lights on?",
13
+ * and ask #44041 failed it anyway (2026-10-15; `TEXT_JUDGE_GUIDANCE` in
14
+ * `bridge.ts` has the rest). A line that only names its failures leaves "on"
15
+ * versus "working" to the model, so the typed modes say that any plain answer
16
+ * counts, in any words. It says nothing about every part being answered: that
17
+ * would be a new way to fail, and nobody has decided one. A photograph's line
18
+ * is the line it always was — its answer is the picture, not the words.
19
+ */
20
+ const relevanceLine = (question, mode) => mode === "photo"
21
+ ? `The answer addresses the question this ask asked. Fail this only if it answers something else, or is empty or evasive. The question: "${question}"`
22
+ : `The answer addresses the question this ask asked. A plain answer counts, in any words, however short. Fail this only if it answers something else, or is empty or evasive. The question: "${question}"`;
8
23
  exports.relevanceLine = relevanceLine;
9
24
  /**
10
25
  * Terms in the parser's own key order, so they read back byte for byte:
11
26
  * v, task, deliverable, campaign, plan, criteria, judge, via.
12
27
  */
13
28
  function observationTerms(input) {
14
- const base = (0, terms_ts_1.deriveTerms)(input.question, input.oracle);
15
- const criteria = [...base.criteria];
29
+ const criteria = modeGates(input.question, input.mode).map((gate, index) => ({ id: `c${index + 1}`, kind: "measure", gate }));
16
30
  if (input.centre) {
17
31
  criteria.push({
18
32
  id: `c${criteria.length + 1}`,
19
33
  kind: "measure",
20
34
  gate: { id: "within-radius", lat: input.centre.lat, lon: input.centre.lon, meters: input.metres, ...(input.place ? { place: input.place } : {}) }
21
35
  });
22
- if (input.mode === "photo")
23
- criteria.push({ id: `c${criteria.length + 1}`, kind: "measure", gate: { id: "weather-consistent" } });
24
- criteria.push({ id: `c${criteria.length + 1}`, kind: "measure", gate: { id: "daylight-consistent" } });
36
+ /* An opinion is the same by day or night: a survey keeps the place, not the light. */
37
+ if (input.mode !== "survey")
38
+ criteria.push({ id: `c${criteria.length + 1}`, kind: "measure", gate: { id: "daylight-consistent" } });
25
39
  }
26
- criteria.push({ id: `c${criteria.length + 1}`, kind: "judge", text: (0, exports.relevanceLine)(input.question), confidence: terms_ts_1.DEFAULT_CONFIDENCE });
40
+ const survey = input.mode === "survey" && input.options?.length ? input.options : null;
41
+ criteria.push({ id: `c${criteria.length + 1}`, kind: "judge", text: survey ? survey_ts_1.SURVEY_JUDGE_LINE : (0, exports.relevanceLine)(input.question, input.mode), confidence: terms_ts_1.DEFAULT_CONFIDENCE });
27
42
  return {
28
- v: base.v,
43
+ v: 2,
29
44
  task: input.question,
30
- deliverable: { type: input.mode === "photo" ? "photo" : "text", prompt: input.question },
45
+ deliverable: { type: input.mode === "photo" ? "photo" : "text", prompt: input.question, ...(survey ? { choices: survey.map((one) => one.trim()) } : {}) },
31
46
  ...(input.tag ? { campaign: input.tag } : {}),
32
47
  ...(input.plan ? { plan: input.plan } : {}),
33
48
  criteria,
34
- judge: base.judge,
49
+ judge: input.oracle,
35
50
  via: "mcp"
36
51
  };
37
52
  }
53
+ /**
54
+ * The gates an observation opens with: what its MODE hands over, never what
55
+ * its question says.
56
+ *
57
+ * These used to be `deriveTerms(question).criteria`, and `deriveTerms` reads a
58
+ * poster's title as the errand itself — "Write a haiku" wants twenty
59
+ * characters, "a photo of" wants an image. A question put to a stranger is not
60
+ * an errand's title, and reading it as one put gates on answers that could
61
+ * never pass them: "Is the photo booth at the station working today?" asked
62
+ * for a typed answer and demanded an image file a typed claim never carries
63
+ * (`file-type`, `max-bytes` on `$photo`, so every answer refused); "Is it
64
+ * raining in Ljubljana right now?" began like a question and so demanded forty
65
+ * characters of "No, it's dry."; a phrase in quotes became words the answer
66
+ * had to repeat; and a photo observation got the image gates only when its
67
+ * question happened to say "photo".
68
+ *
69
+ * So: every observation must hand something over. A photo carries the photo
70
+ * deliverable's own gates, whatever the question says. A url-check keeps the
71
+ * one thing `deriveTerms` was borrowed for (the ground-truth plan: "base url
72
+ * gates") — when its question names a site to check, the answer has to name
73
+ * it and report what it answered, and a fresh reading of it has to agree. A
74
+ * typed observation carries nothing more: the relevance judge reads the
75
+ * question, and it is the rule that can tell an answer from an evasion.
76
+ */
77
+ function modeGates(question, mode) {
78
+ const gates = [{ id: "non-empty" }];
79
+ if (mode === "photo")
80
+ gates.push(...(0, terms_ts_1.deliverableGates)({ type: "photo", prompt: question }));
81
+ if (mode === "url-check") {
82
+ const match = (0, terms_ts_1.matchSkill)(question);
83
+ if (match?.skill === "url-check" && match.url)
84
+ gates.push({ id: "mentions-url", url: match.url }, { id: "reports-status" }, { id: "re-measure", url: match.url });
85
+ }
86
+ return gates;
87
+ }
38
88
  //# sourceMappingURL=observation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observation.js","sourceRoot":"","sources":["../../../src/rubric/observation.ts"],"names":[],"mappings":";;;AAkDA,4CAuBC;AAzED,yCAA4F;AA0C5F,yDAAyD;AAClD,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAU,EAAE,CACxD,yIAAyI,QAAQ,GAAG,CAAC;AAD1I,QAAA,aAAa,iBAC6H;AAEvJ;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,KAAuB;IACtD,MAAM,IAAI,GAAG,IAAA,sBAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SAClJ,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAClI,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,6BAAkB,EAAE,CAAC,CAAC;IACrI,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,EAAE,KAAK,CAAC,QAAQ;QACpB,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE;QACxF,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,QAAQ;QACR,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,KAAK;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"observation.js","sourceRoot":"","sources":["../../../src/rubric/observation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * A survey check's answer: one of a few options, the reason in the person's
3
+ * own words, and what they expect most people around them to say
4
+ * (docs/verified-work-ask-the-world-plan.md, "Surveys").
5
+ *
6
+ * Some markets have nothing to photograph — a jury's vote, a crowd's mood —
7
+ * and the honest signal there is what people think, asked of real people in
8
+ * the right place. Asking what they expect *others* to say beside their own
9
+ * answer is the "surprisingly popular" read: an option chosen more often than
10
+ * people predicted is the one the crowd knows something about.
11
+ *
12
+ * The answer travels as plain text in one fixed shape, written by the answer
13
+ * page and read back here, so the judge reads what the person said and the
14
+ * tally needs no second format.
15
+ */
16
+ export declare const SURVEY_LIMITS: {
17
+ readonly optionsMin: 2;
18
+ readonly optionsMax: 6;
19
+ readonly optionMax: 60;
20
+ readonly whyMax: 400;
21
+ };
22
+ /** The options a survey check may carry, or the reason they may not. */
23
+ export declare function surveyOptionsProblem(options: unknown): string | null;
24
+ /** The answer as the page files it. */
25
+ export declare function surveyAnswerText(answer: {
26
+ choice: string;
27
+ why: string;
28
+ others: string;
29
+ }): string;
30
+ /** An answer read back: which option, what they expect others to say, and why. Options outside the list read as none. */
31
+ export declare function readSurveyAnswer(text: string, options: readonly string[]): {
32
+ choice: string | null;
33
+ others: string | null;
34
+ why: string;
35
+ };
36
+ /**
37
+ * The judge's one rule for a survey answer: a real pick with a real reason.
38
+ * It names its refusal first, as every judged line here does. It lists
39
+ * neither the question (the judge is sent the ask's task) nor the options:
40
+ * the answer page offers only the listed ones and the tally counts nothing
41
+ * else, and six options would not fit the 300 characters a criterion keeps.
42
+ */
43
+ export declare const SURVEY_JUDGE_LINE = "The answer gives one choice and a reason in the person's own words. Fail this only if it gives no choice, or the reason is empty, copied from the question or unrelated to it.";
44
+ /** One option's line in a tally. */
45
+ export interface SurveyLine {
46
+ option: string;
47
+ /** Approved answers that picked it. */
48
+ answers: number;
49
+ /** Approved answers that expected most people to pick it. */
50
+ predicted: number;
51
+ }
52
+ /**
53
+ * The tally of a survey's approved answers, and the option chosen more often
54
+ * than people predicted (by share), when there is one and enough answers to
55
+ * mean anything (5 or more).
56
+ */
57
+ export declare function tallySurvey(options: readonly string[], answers: readonly {
58
+ choice: string | null;
59
+ others: string | null;
60
+ }[]): {
61
+ lines: SurveyLine[];
62
+ total: number;
63
+ surprisinglyPopular: string | null;
64
+ };
65
+ //# sourceMappingURL=survey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"survey.d.ts","sourceRoot":"","sources":["../../../src/rubric/survey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,aAAa;;;;;CAAwE,CAAC;AAMnG,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAapE;AAED,uCAAuC;AACvC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEhG;AAOD,yHAAyH;AACzH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAIxI;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,mLACoJ,CAAC;AAEnL,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,GAAG;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAwBxM"}