@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
@@ -1 +1 @@
1
- {"version":3,"file":"leg.js","sourceRoot":"","sources":["../../../src/rubric/leg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leg.js","sourceRoot":"","sources":["../../../src/rubric/leg.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,28 @@
17
17
  */
18
18
  /** The tag every ask of a plan is filed under. No colon: a tag is `[a-z0-9-]`. */
19
19
  export declare const planTag: (slug: string) => string;
20
+ /**
21
+ * The memo a plan's funding carries: the slug for anyone reading the chain,
22
+ * and the document's address so the money can be spent on that document
23
+ * only. A slug is a free string inside whichever document a registrant
24
+ * names, so a memo that carried the slug alone would let a second document
25
+ * with the same slug claim the funding; the address is the hash of the bytes
26
+ * and names exactly one plan.
27
+ */
28
+ export declare const planFundingMemo: (slug: string, cid: string) => string;
20
29
  /** The slug back out of a tag, or null when the tag is not a plan's. */
21
30
  export declare const slugOfPlanTag: (tag: string | null | undefined) => string | null;
22
31
  /** A slug from free text: lowercase words joined by dashes, 3–40 characters, starting with a letter. */
23
32
  export declare const planSlug: (text: string, suffix?: string) => string;
24
33
  /** What a person hands over for a check: the same three kinds `ask_the_world` posts. */
25
- export type PlanAct = "photo" | "observation";
34
+ export type PlanAct = "photo" | "observation" | "survey";
35
+ /**
36
+ * photo: a picture taken at the place. observation: what the person saw, in
37
+ * words, located by their phone. survey: what people at the place think, one
38
+ * option of a few, a reason, and what they expect most people to say
39
+ * (rubric/survey.ts) — for markets where the signal is a crowd's opinion, not
40
+ * something to look at.
41
+ */
26
42
  export declare const PLAN_ACTS: readonly PlanAct[];
27
43
  /** Where a check happens. One place becomes one ask. */
28
44
  export interface PlanPlace {
@@ -49,6 +65,12 @@ export interface PlanCheck {
49
65
  hours: number;
50
66
  /** The existing feed this check improves on, in one line. Mandatory: no line, no check. */
51
67
  beats: string;
68
+ /** A survey's options, 2–6 (rubric/survey.ts). Present only on a survey. */
69
+ options?: string[];
70
+ /** Why this check informs the market, in one line: the agent's reasoning, shown before anything is funded. */
71
+ why?: string;
72
+ /** How its answers will be read, written before any arrive: "if most say X, that leans Yes, because…". */
73
+ readAs?: string;
52
74
  }
53
75
  /** The market a plan informs, as read when the plan was drafted. */
54
76
  export interface PlanMarket {
@@ -69,6 +91,8 @@ export interface MarketPlan {
69
91
  checks: PlanCheck[];
70
92
  /** What the plan cannot tell the trader. Mandatory. */
71
93
  cannotTell: string;
94
+ /** What the whole plan should tell the trader, and by when, before the market does. The agent's thesis. */
95
+ thesis?: string;
72
96
  /** ISO time the plan was drafted. */
73
97
  createdAt: string;
74
98
  }
@@ -79,6 +103,10 @@ export declare const PLAN_LIMITS: {
79
103
  readonly placesPerCheck: 20;
80
104
  readonly asksPerPlan: 120;
81
105
  readonly perPlace: 10;
106
+ /** A survey asks more people at each place: one opinion is no signal. */
107
+ readonly surveyPerPlace: 50;
108
+ /** The plan's thesis: a few sentences at most. */
109
+ readonly thesisMax: 600;
82
110
  readonly textMin: 12;
83
111
  readonly textMax: 300;
84
112
  readonly withinMin: 20;
@@ -126,11 +154,17 @@ export interface PlanRefusal {
126
154
  check: string | null;
127
155
  why: string;
128
156
  }
129
- export type PlanRule = "shape" | "in-play-sport" | "conflict-zone" | "polling-place" | "resolution-source" | "acts-on-outcome" | "non-public" | "faces" | "no-beats" | "no-cannot-tell";
157
+ export type PlanRule = "shape" | "in-play-sport" | "conflict-zone" | "polling-place" | "resolution-source" | "acts-on-outcome" | "non-public" | "faces" | "no-beats" | "no-cannot-tell" | "sensitive-survey";
130
158
  /** Refusals for the market as a whole: a sports market or a conflict market is never scoped. */
131
159
  export declare const screenMarket: (market: PlanMarket) => PlanRefusal[];
132
160
  /** Refusals for one check, read against the market it informs. */
133
161
  export declare const screenCheck: (check: PlanCheck) => PlanRefusal[];
162
+ /**
163
+ * How many characters a check's words run past what an ask can carry once a
164
+ * place is added after them, or 0 when they fit. Drafting refuses any overrun,
165
+ * so a stored plan is posted word for word.
166
+ */
167
+ export declare const askOverrun: (check: PlanCheck, place: PlanPlace) => number;
134
168
  /**
135
169
  * Everything wrong with a plan, in the order a person would fix it: the
136
170
  * market first, then the plan's own shape, then each check. An empty list is
@@ -139,6 +173,10 @@ export declare const screenCheck: (check: PlanCheck) => PlanRefusal[];
139
173
  export declare const validatePlan: (plan: MarketPlan) => PlanRefusal[];
140
174
  /** A plan read back from the store, or null when the document is not a version 1 plan. */
141
175
  export declare const readMarketPlan: (doc: unknown) => MarketPlan | null;
142
- /** The words the asks of one check carry: the check, then its place, then the honest limit of a single look. */
176
+ /**
177
+ * The words the asks of one check carry: the check, then its place. Drafting
178
+ * refuses words that overrun beside any place (askOverrun), so the cut below
179
+ * only ever reaches a plan stored before that rule, and marks itself with "…".
180
+ */
143
181
  export declare const askQuestionFor: (check: PlanCheck, place: PlanPlace) => string;
144
182
  //# sourceMappingURL=marketPlan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"marketPlan.d.ts","sourceRoot":"","sources":["../../../src/rubric/marketPlan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marketPlan.d.ts","sourceRoot":"","sources":["../../../src/rubric/marketPlan.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,18 @@
15
15
  * (`validatePlan`), and price it (`planCost`). All pure, so the MCP, the
16
16
  * worker and the app agree on one answer.
17
17
  */
18
+ import { surveyOptionsProblem } from "./survey.js";
18
19
  /** The tag every ask of a plan is filed under. No colon: a tag is `[a-z0-9-]`. */
19
20
  export const planTag = (slug) => `plan-${slug}`;
21
+ /**
22
+ * The memo a plan's funding carries: the slug for anyone reading the chain,
23
+ * and the document's address so the money can be spent on that document
24
+ * only. A slug is a free string inside whichever document a registrant
25
+ * names, so a memo that carried the slug alone would let a second document
26
+ * with the same slug claim the funding; the address is the hash of the bytes
27
+ * and names exactly one plan.
28
+ */
29
+ export const planFundingMemo = (slug, cid) => `plan:${slug} ${cid}`;
20
30
  /** The slug back out of a tag, or null when the tag is not a plan's. */
21
31
  export const slugOfPlanTag = (tag) => {
22
32
  const match = /^plan-([a-z][a-z0-9-]{2,39})$/.exec(tag ?? "");
@@ -36,7 +46,14 @@ export const planSlug = (text, suffix = "") => {
36
46
  const body = start.slice(0, room).replace(/-+$/, "");
37
47
  return `${body.length >= 3 ? body : `plan-${body}`.slice(0, room)}${tail}`;
38
48
  };
39
- export const PLAN_ACTS = ["photo", "observation"];
49
+ /**
50
+ * photo: a picture taken at the place. observation: what the person saw, in
51
+ * words, located by their phone. survey: what people at the place think, one
52
+ * option of a few, a reason, and what they expect most people to say
53
+ * (rubric/survey.ts) — for markets where the signal is a crowd's opinion, not
54
+ * something to look at.
55
+ */
56
+ export const PLAN_ACTS = ["photo", "observation", "survey"];
40
57
  export const MARKET_PLAN_KIND = "openhands.market-plan";
41
58
  /** The limits a plan is held to. The per-ask cap and the per-plan cap are the MCP's; these are shape. */
42
59
  export const PLAN_LIMITS = {
@@ -44,6 +61,10 @@ export const PLAN_LIMITS = {
44
61
  placesPerCheck: 20,
45
62
  asksPerPlan: 120,
46
63
  perPlace: 10,
64
+ /** A survey asks more people at each place: one opinion is no signal. */
65
+ surveyPerPlace: 50,
66
+ /** The plan's thesis: a few sentences at most. */
67
+ thesisMax: 600,
47
68
  textMin: 12,
48
69
  textMax: 300,
49
70
  withinMin: 20,
@@ -119,9 +140,9 @@ const CONFLICT = [
119
140
  ];
120
141
  /** Polling places: the law differs by state and by distance, and the network does not litigate it per ask. */
121
142
  const POLLING = [/\bpolling (place|station|site|location)s?\b/i, /\bvoting (booth|centre|center|location)s?\b/i, /\bballot\b/i, /\bvoters?\b/i];
122
- /** The thing that settles a market: never visit, touch or photograph it. */
143
+ /** The thing that settles a market: never visit, touch or photograph it. A bare "sensor" is read by `instrumentSensor` below. */
123
144
  const SOURCE = [
124
- /\bsensor\b/i,
145
+ /\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,
125
146
  /\bweather station\b/i,
126
147
  /\bthermometer\b/i,
127
148
  /\b(rain|river|stream|tide|snow) gauge\b/i,
@@ -131,6 +152,25 @@ const SOURCE = [
131
152
  /\btally\b/i,
132
153
  /\bscoreboard\b/i,
133
154
  ];
155
+ /**
156
+ * A sensor is an instrument that may settle a market, unless the check
157
+ * plainly says it is a vehicle's own: the spinning sensor on a robotaxi's
158
+ * roof is how a person tells a Waymo from a taxi, and it settles nothing.
159
+ * The measuring kinds (weather, rain, river, traffic…) are in SOURCE and
160
+ * refuse whatever they are bolted to.
161
+ */
162
+ const VEHICLE = /\b(?:cars?|vehicles?|robotaxis?|taxis?|cabs?|vans?|trucks?|bus|buses|waymos?|zoox|teslas?)\b/i;
163
+ const VEHICLE_SENSOR = new RegExp([
164
+ /* the car's sensor, a Waymo's spinning sensor */
165
+ /\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/,
166
+ /* a spinning sensor, the lidar sensor */
167
+ /\b(?:lidar|roof|rooftop|roof-mounted|spinning|rotating)\s+sensors?\b/,
168
+ /* a sensor on the roof, sensors on each car */
169
+ /\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/
170
+ ]
171
+ .map((pattern) => pattern.source)
172
+ .join("|"), "gi");
173
+ const instrumentSensor = (text) => /\bsensors?\b/i.test(VEHICLE.test(text) ? text.replace(VEHICLE_SENSOR, "") : text);
134
174
  /** Acts that change the world the market is about. A check looks; it never moves the outcome. */
135
175
  const ACTS = [
136
176
  /\bvote\b/i,
@@ -168,6 +208,20 @@ const FACES = [/(?<!\bno )\bfaces?\b/i, /\bselfie\b/i, /\bportrait\b/i, /\bident
168
208
  /** Photos of these need to say they take no faces. */
169
209
  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];
170
210
  const NO_FACES = /\bno faces\b/i;
211
+ /**
212
+ * What a survey must never ask a person about themselves: the special
213
+ * categories of personal data (political opinion and how they vote,
214
+ * religion, health, sex life, ethnicity, union membership), which no plan
215
+ * buys from a stranger tied to their address and their location.
216
+ */
217
+ const SENSITIVE = [
218
+ /\b(vote|votes|voting|voted|ballot|elect(ion|ed|ions)?|candidate|referendum)\b/i,
219
+ /\b(polit\w*|part(y|ies)|republican|democrat|conservative|liberal|left[- ]wing|right[- ]wing)\b/i,
220
+ /\b(relig\w*|church|mosque|synagogue|temple|faith|pray\w*)\b/i,
221
+ /\b(health|illness|disease|diagnos\w*|medical|medication|pregnan\w*|disabilit\w*|mental)\b/i,
222
+ /\b(sexual\w*|sex life|gay|lesbian|transgender|orientation)\b/i,
223
+ /\b(race|racial|ethnic\w*|immigra\w*|citizenship|union member\w*)\b/i
224
+ ];
171
225
  const hit = (patterns, text) => patterns.some((pattern) => pattern.test(text));
172
226
  /** The market as one string the screen reads. */
173
227
  const marketText = (market) => [market.question, market.rules ?? ""].join("\n");
@@ -196,7 +250,7 @@ export const screenCheck = (check) => {
196
250
  if (hit(POLLING, `${text}\n${where}`)) {
197
251
  refusals.push({ rule: "polling-place", check: id, why: "Polling places are refused: what may be recorded near one differs by state and distance." });
198
252
  }
199
- if (hit(SOURCE, text)) {
253
+ if (hit(SOURCE, text) || instrumentSensor(text)) {
200
254
  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." });
201
255
  }
202
256
  if (hit(ACTS, text)) {
@@ -211,11 +265,28 @@ export const screenCheck = (check) => {
211
265
  else if (check.act === "photo" && hit(CROWD, text) && !NO_FACES.test(text)) {
212
266
  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." });
213
267
  }
268
+ if (check.act === "survey" && hit(SENSITIVE, [text, ...(check.options ?? [])].join("\n"))) {
269
+ refusals.push({
270
+ rule: "sensitive-survey",
271
+ check: id,
272
+ 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."
273
+ });
274
+ }
214
275
  if (check.beats.trim().length < PLAN_LIMITS.lineMin) {
215
276
  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." });
216
277
  }
217
278
  return refusals;
218
279
  };
280
+ /** A check's words as every one of its asks carries them, spaces folded. */
281
+ const askWords = (check) => check.text.trim().replace(/\s+/g, " ");
282
+ /** What one place's ask adds after the words. */
283
+ const askAt = (place) => ` At ${place.name}.`;
284
+ /**
285
+ * How many characters a check's words run past what an ask can carry once a
286
+ * place is added after them, or 0 when they fit. Drafting refuses any overrun,
287
+ * so a stored plan is posted word for word.
288
+ */
289
+ export const askOverrun = (check, place) => Math.max(0, askWords(check).length + askAt(place).length - PLAN_LIMITS.textMax);
219
290
  /** Refusals for the shape of one check: the numbers and lengths a plan must keep. */
220
291
  const shapeOfCheck = (check) => {
221
292
  const L = PLAN_LIMITS;
@@ -226,6 +297,15 @@ const shapeOfCheck = (check) => {
226
297
  const text = check.text.trim();
227
298
  if (text.length < L.textMin || text.length > L.textMax)
228
299
  bad(`The check's words must be ${L.textMin}–${L.textMax} characters.`);
300
+ else {
301
+ /* Words that fit alone can still overrun once a long place name follows them, and an overrun would be cut when posted. */
302
+ const named = check.places.filter((place) => place.name?.trim());
303
+ const worst = named.reduce((most, place) => (!most || askOverrun(check, place) > askOverrun(check, most) ? place : most), null);
304
+ const over = worst ? askOverrun(check, worst) : 0;
305
+ if (worst && over > 0) {
306
+ 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.`);
307
+ }
308
+ }
229
309
  if (!check.places.length)
230
310
  bad("A check needs at least one place.");
231
311
  if (check.places.length > L.placesPerCheck)
@@ -238,8 +318,20 @@ const shapeOfCheck = (check) => {
238
318
  if (!(place.withinM >= L.withinMin && place.withinM <= L.withinMax))
239
319
  bad(`"${place.name}": the distance must be ${L.withinMin}–${L.withinMax} m.`);
240
320
  }
241
- if (!Number.isInteger(check.perPlace) || check.perPlace < 1 || check.perPlace > L.perPlace)
242
- bad(`Answers per place must be a whole number from 1 to ${L.perPlace}.`);
321
+ const most = check.act === "survey" ? L.surveyPerPlace : L.perPlace;
322
+ if (!Number.isInteger(check.perPlace) || check.perPlace < 1 || check.perPlace > most)
323
+ bad(`Answers per place must be a whole number from 1 to ${most}.`);
324
+ if (check.act === "survey") {
325
+ const problem = surveyOptionsProblem(check.options);
326
+ if (problem)
327
+ bad(problem);
328
+ }
329
+ else if (check.options !== undefined)
330
+ bad("Only a survey has options.");
331
+ for (const [name, line] of [["why", check.why], ["how it is read", check.readAs]]) {
332
+ if (line !== undefined && (line.trim().length < L.lineMin || line.trim().length > L.lineMax))
333
+ bad(`The check's ${name} line is ${L.lineMin}–${L.lineMax} characters.`);
334
+ }
243
335
  if (!(check.payUsd >= L.payFloorUsd))
244
336
  bad(`The pay must be at least $${L.payFloorUsd.toFixed(2)} an answer.`);
245
337
  if (!(check.hours >= L.hoursMin && check.hours <= L.hoursMax))
@@ -277,6 +369,8 @@ export const validatePlan = (plan) => {
277
369
  shape(`Two checks share the id ${check.id}.`);
278
370
  ids.add(check.id);
279
371
  }
372
+ if (plan.thesis !== undefined && (plan.thesis.trim().length < L.lineMin || plan.thesis.trim().length > L.thesisMax))
373
+ shape(`The thesis is ${L.lineMin}–${L.thesisMax} characters.`);
280
374
  if (plan.cannotTell.trim().length < L.lineMin) {
281
375
  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." });
282
376
  }
@@ -295,10 +389,14 @@ export const readMarketPlan = (doc) => {
295
389
  return null;
296
390
  return plan;
297
391
  };
298
- /** The words the asks of one check carry: the check, then its place, then the honest limit of a single look. */
392
+ /**
393
+ * The words the asks of one check carry: the check, then its place. Drafting
394
+ * refuses words that overrun beside any place (askOverrun), so the cut below
395
+ * only ever reaches a plan stored before that rule, and marks itself with "…".
396
+ */
299
397
  export const askQuestionFor = (check, place) => {
300
- const text = check.text.trim().replace(/\s+/g, " ");
301
- const at = ` At ${place.name}.`;
398
+ const text = askWords(check);
399
+ const at = askAt(place);
302
400
  const room = PLAN_LIMITS.textMax - at.length;
303
401
  return (text.length > room ? `${text.slice(0, room - 1).trimEnd()}…` : text) + at;
304
402
  };
@@ -1 +1 @@
1
- {"version":3,"file":"marketPlan.js","sourceRoot":"","sources":["../../../src/rubric/marketPlan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;AAEhE,wEAAwE;AACxE,MAAM,CAAC,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;AAEF,wGAAwG;AACxG,MAAM,CAAC,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;AAKF,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAsDtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAgC,CAAC;AAEjE,yGAAyG;AACzG,MAAM,CAAC,MAAM,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;AAC3D,MAAM,CAAC,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;AAE/D,4CAA4C;AAC5C,MAAM,CAAC,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;AAchF,uDAAuD;AACvD,MAAM,KAAK,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAEnE;;;GAGG;AACH,MAAM,CAAC,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;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;AAChG,MAAM,CAAC,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;AAEF,kEAAkE;AAClE,MAAM,CAAC,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,WAAW,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;AAEF,qFAAqF;AACrF,MAAM,YAAY,GAAG,CAAC,KAAgB,EAAiB,EAAE;IACvD,MAAM,CAAC,GAAG,WAAW,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,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,0BAA0B,SAAS,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;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAiB,EAAE;IAC9D,MAAM,CAAC,GAAG,WAAW,CAAC;IACtB,MAAM,QAAQ,GAAkB,CAAC,GAAG,YAAY,CAAC,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,gBAAgB,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC3F,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,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,YAAY,CAAC,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,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9F,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,0FAA0F;AAC1F,MAAM,CAAC,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,gBAAgB,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;AAEF,gHAAgH;AAChH,MAAM,CAAC,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,WAAW,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"}
1
+ {"version":3,"file":"marketPlan.js","sourceRoot":"","sources":["../../../src/rubric/marketPlan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,kFAAkF;AAClF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,GAAW,EAAU,EAAE,CAAC,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC;AAE5F,wEAAwE;AACxE,MAAM,CAAC,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;AAEF,wGAAwG;AACxG,MAAM,CAAC,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;AAKF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AA8DhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAgC,CAAC;AAEjE,yGAAyG;AACzG,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,EAAE;IACV,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,GAAG;IAChB,QAAQ,EAAE,EAAE;IACZ,yEAAyE;IACzE,cAAc,EAAE,EAAE;IAClB,kDAAkD;IAClD,SAAS,EAAE,GAAG;IACd,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;AAC3D,MAAM,CAAC,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;AAE/D,4CAA4C;AAC5C,MAAM,CAAC,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;AAchF,uDAAuD;AACvD,MAAM,KAAK,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAEnE;;;GAGG;AACH,MAAM,CAAC,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;AAuBF;;;;;;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,iIAAiI;AACjI,MAAM,MAAM,GAAG;IACb,uKAAuK;IACvK,sBAAsB;IACtB,kBAAkB;IAClB,0CAA0C;IAC1C,YAAY;IACZ,wDAAwD;IACxD,oCAAoC;IACpC,YAAY;IACZ,iBAAiB;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,OAAO,GAAG,+FAA+F,CAAC;AAChH,MAAM,cAAc,GAAG,IAAI,MAAM,CAC/B;IACE,iDAAiD;IACjD,kLAAkL;IAClL,yCAAyC;IACzC,sEAAsE;IACtE,+CAA+C;IAC/C,gLAAgL;CACjL;KACE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KAChC,IAAI,CAAC,GAAG,CAAC,EACZ,IAAI,CACL,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEvI,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;;;;;GAKG;AACH,MAAM,SAAS,GAAG;IAChB,gFAAgF;IAChF,iGAAiG;IACjG,8DAA8D;IAC9D,4FAA4F;IAC5F,+DAA+D;IAC/D,qEAAqE;CACtE,CAAC;AAEF,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;AAChG,MAAM,CAAC,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;AAEF,kEAAkE;AAClE,MAAM,CAAC,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,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,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,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC1F,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,8MAA8M;SACpN,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,WAAW,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;AAEF,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,CAAC,KAAgB,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtF,iDAAiD;AACjD,MAAM,KAAK,GAAG,CAAC,KAAgB,EAAU,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC;AAEjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAgB,EAAE,KAAgB,EAAU,EAAE,CACvE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAElF,qFAAqF;AACrF,MAAM,YAAY,GAAG,CAAC,KAAgB,EAAiB,EAAE;IACvD,MAAM,CAAC,GAAG,WAAW,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,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,0BAA0B,SAAS,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;SAC1H,CAAC;QACJ,0HAA0H;QAC1H,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAClJ,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,kBAAkB,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,uCAAuC,IAAI,wBAAwB,CAAC,CAAC,OAAO,wBAAwB,IAAI,2DAA2D,CAAC,CAAC;QAChN,CAAC;IACH,CAAC;IACD,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,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,IAAI;QAAE,GAAG,CAAC,sDAAsD,IAAI,GAAG,CAAC,CAAC;IACzJ,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO;YAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1E,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAU,EAAE,CAAC;QAC3F,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;YAAE,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC;IACzK,CAAC;IACD,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;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAiB,EAAE;IAC9D,MAAM,CAAC,GAAG,WAAW,CAAC;IACtB,MAAM,QAAQ,GAAkB,CAAC,GAAG,YAAY,CAAC,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,gBAAgB,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC3F,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,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,YAAY,CAAC,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,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC;QAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC;IACpL,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,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9F,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,0FAA0F;AAC1F,MAAM,CAAC,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,gBAAgB,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;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAE,KAAgB,EAAU,EAAE;IAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,WAAW,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"}
@@ -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"}
@@ -1,33 +1,82 @@
1
- import { DEFAULT_CONFIDENCE, deriveTerms } from "./terms.js";
2
- /** The relevance line every observation is judged on. */
3
- export 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}"`;
1
+ import { SURVEY_JUDGE_LINE } from "./survey.js";
2
+ import { DEFAULT_CONFIDENCE, deliverableGates, matchSkill } from "./terms.js";
3
+ /**
4
+ * The relevance line every observation is judged on.
5
+ *
6
+ * **A typed answer is also told what passes.** "It's dry and the streetlights
7
+ * are working" answers "is it raining or dry, and are the street lights on?",
8
+ * and ask #44041 failed it anyway (2026-10-15; `TEXT_JUDGE_GUIDANCE` in
9
+ * `bridge.ts` has the rest). A line that only names its failures leaves "on"
10
+ * versus "working" to the model, so the typed modes say that any plain answer
11
+ * counts, in any words. It says nothing about every part being answered: that
12
+ * would be a new way to fail, and nobody has decided one. A photograph's line
13
+ * is the line it always was — its answer is the picture, not the words.
14
+ */
15
+ export const relevanceLine = (question, mode) => mode === "photo"
16
+ ? `The answer addresses the question this ask asked. Fail this only if it answers something else, or is empty or evasive. The question: "${question}"`
17
+ : `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}"`;
4
18
  /**
5
19
  * Terms in the parser's own key order, so they read back byte for byte:
6
20
  * v, task, deliverable, campaign, plan, criteria, judge, via.
7
21
  */
8
22
  export function observationTerms(input) {
9
- const base = deriveTerms(input.question, input.oracle);
10
- const criteria = [...base.criteria];
23
+ const criteria = modeGates(input.question, input.mode).map((gate, index) => ({ id: `c${index + 1}`, kind: "measure", gate }));
11
24
  if (input.centre) {
12
25
  criteria.push({
13
26
  id: `c${criteria.length + 1}`,
14
27
  kind: "measure",
15
28
  gate: { id: "within-radius", lat: input.centre.lat, lon: input.centre.lon, meters: input.metres, ...(input.place ? { place: input.place } : {}) }
16
29
  });
17
- if (input.mode === "photo")
18
- criteria.push({ id: `c${criteria.length + 1}`, kind: "measure", gate: { id: "weather-consistent" } });
19
- criteria.push({ id: `c${criteria.length + 1}`, kind: "measure", gate: { id: "daylight-consistent" } });
30
+ /* An opinion is the same by day or night: a survey keeps the place, not the light. */
31
+ if (input.mode !== "survey")
32
+ criteria.push({ id: `c${criteria.length + 1}`, kind: "measure", gate: { id: "daylight-consistent" } });
20
33
  }
21
- criteria.push({ id: `c${criteria.length + 1}`, kind: "judge", text: relevanceLine(input.question), confidence: DEFAULT_CONFIDENCE });
34
+ const survey = input.mode === "survey" && input.options?.length ? input.options : null;
35
+ criteria.push({ id: `c${criteria.length + 1}`, kind: "judge", text: survey ? SURVEY_JUDGE_LINE : relevanceLine(input.question, input.mode), confidence: DEFAULT_CONFIDENCE });
22
36
  return {
23
- v: base.v,
37
+ v: 2,
24
38
  task: input.question,
25
- deliverable: { type: input.mode === "photo" ? "photo" : "text", prompt: input.question },
39
+ deliverable: { type: input.mode === "photo" ? "photo" : "text", prompt: input.question, ...(survey ? { choices: survey.map((one) => one.trim()) } : {}) },
26
40
  ...(input.tag ? { campaign: input.tag } : {}),
27
41
  ...(input.plan ? { plan: input.plan } : {}),
28
42
  criteria,
29
- judge: base.judge,
43
+ judge: input.oracle,
30
44
  via: "mcp"
31
45
  };
32
46
  }
47
+ /**
48
+ * The gates an observation opens with: what its MODE hands over, never what
49
+ * its question says.
50
+ *
51
+ * These used to be `deriveTerms(question).criteria`, and `deriveTerms` reads a
52
+ * poster's title as the errand itself — "Write a haiku" wants twenty
53
+ * characters, "a photo of" wants an image. A question put to a stranger is not
54
+ * an errand's title, and reading it as one put gates on answers that could
55
+ * never pass them: "Is the photo booth at the station working today?" asked
56
+ * for a typed answer and demanded an image file a typed claim never carries
57
+ * (`file-type`, `max-bytes` on `$photo`, so every answer refused); "Is it
58
+ * raining in Ljubljana right now?" began like a question and so demanded forty
59
+ * characters of "No, it's dry."; a phrase in quotes became words the answer
60
+ * had to repeat; and a photo observation got the image gates only when its
61
+ * question happened to say "photo".
62
+ *
63
+ * So: every observation must hand something over. A photo carries the photo
64
+ * deliverable's own gates, whatever the question says. A url-check keeps the
65
+ * one thing `deriveTerms` was borrowed for (the ground-truth plan: "base url
66
+ * gates") — when its question names a site to check, the answer has to name
67
+ * it and report what it answered, and a fresh reading of it has to agree. A
68
+ * typed observation carries nothing more: the relevance judge reads the
69
+ * question, and it is the rule that can tell an answer from an evasion.
70
+ */
71
+ export function modeGates(question, mode) {
72
+ const gates = [{ id: "non-empty" }];
73
+ if (mode === "photo")
74
+ gates.push(...deliverableGates({ type: "photo", prompt: question }));
75
+ if (mode === "url-check") {
76
+ const match = matchSkill(question);
77
+ if (match?.skill === "url-check" && match.url)
78
+ gates.push({ id: "mentions-url", url: match.url }, { id: "reports-status" }, { id: "re-measure", url: match.url });
79
+ }
80
+ return gates;
81
+ }
33
82
  //# sourceMappingURL=observation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observation.js","sourceRoot":"","sources":["../../../src/rubric/observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAiC,MAAM,YAAY,CAAC;AA0C5F,yDAAyD;AACzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAU,EAAE,CACxD,yIAAyI,QAAQ,GAAG,CAAC;AAEvJ;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAuB;IACtD,MAAM,IAAI,GAAG,WAAW,CAAC,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,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,kBAAkB,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":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,UAAU,EAA4C,MAAM,YAAY,CAAC;AAgDxH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,IAAqB,EAAU,EAAE,CAC/E,IAAI,KAAK,OAAO;IACd,CAAC,CAAC,yIAAyI,QAAQ,GAAG;IACtJ,CAAC,CAAC,6LAA6L,QAAQ,GAAG,CAAC;AAE/M;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAuB;IACtD,MAAM,QAAQ,GAAgB,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3I,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,sFAAsF;QACtF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;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,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACtI,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC9K,OAAO;QACL,CAAC,EAAE,CAAC;QACJ,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,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QACzJ,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,KAAK,CAAC,MAAM;QACnB,GAAG,EAAE,KAAK;KACX,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAqB;IAC/D,MAAM,KAAK,GAAW,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5C,IAAI,IAAI,KAAK,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,KAAK,EAAE,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACpK,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}