@jitsusama/agentic-harness.core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (974) hide show
  1. package/README.md +52 -0
  2. package/dist/advisor/charter.d.ts +14 -0
  3. package/dist/advisor/charter.js +48 -0
  4. package/dist/advisor/findings.d.ts +43 -0
  5. package/dist/advisor/findings.js +82 -0
  6. package/dist/advisor/index.d.ts +24 -0
  7. package/dist/advisor/index.js +23 -0
  8. package/dist/advisor/settings.d.ts +16 -0
  9. package/dist/advisor/settings.js +30 -0
  10. package/dist/advisor/substantive.d.ts +14 -0
  11. package/dist/advisor/substantive.js +33 -0
  12. package/dist/advisor/tools.d.ts +38 -0
  13. package/dist/advisor/tools.js +202 -0
  14. package/dist/attribution/commit-hook.d.ts +53 -0
  15. package/dist/attribution/commit-hook.js +133 -0
  16. package/dist/attribution/gh-footer.d.ts +27 -0
  17. package/dist/attribution/gh-footer.js +80 -0
  18. package/dist/attribution/index.d.ts +11 -0
  19. package/dist/attribution/index.js +11 -0
  20. package/dist/attribution/model-name.d.ts +11 -0
  21. package/dist/attribution/model-name.js +26 -0
  22. package/dist/bin/attribution.d.ts +36 -0
  23. package/dist/bin/attribution.js +82 -0
  24. package/dist/bin/cli.d.ts +14 -0
  25. package/dist/bin/cli.js +236 -0
  26. package/dist/bin/gate-deps.d.ts +23 -0
  27. package/dist/bin/gate-deps.js +61 -0
  28. package/dist/bin/guardians.d.ts +51 -0
  29. package/dist/bin/guardians.js +174 -0
  30. package/dist/bin/memory.d.ts +16 -0
  31. package/dist/bin/memory.js +81 -0
  32. package/dist/bin/notes.d.ts +30 -0
  33. package/dist/bin/notes.js +67 -0
  34. package/dist/bin/process-exec.d.ts +14 -0
  35. package/dist/bin/process-exec.js +31 -0
  36. package/dist/bin/quest.d.ts +38 -0
  37. package/dist/bin/quest.js +187 -0
  38. package/dist/bin/slack-auth.d.ts +49 -0
  39. package/dist/bin/slack-auth.js +107 -0
  40. package/dist/clock/index.d.ts +46 -0
  41. package/dist/clock/index.js +72 -0
  42. package/dist/command/cwd.d.ts +21 -0
  43. package/dist/command/cwd.js +60 -0
  44. package/dist/command/edit.d.ts +14 -0
  45. package/dist/command/edit.js +22 -0
  46. package/dist/command/flags.d.ts +29 -0
  47. package/dist/command/flags.js +111 -0
  48. package/dist/command/index.d.ts +16 -0
  49. package/dist/command/index.js +12 -0
  50. package/dist/command/tokenize.d.ts +7 -0
  51. package/dist/command/tokenize.js +315 -0
  52. package/dist/command/types.d.ts +66 -0
  53. package/dist/command/types.js +9 -0
  54. package/dist/completion/index.d.ts +17 -0
  55. package/dist/completion/index.js +16 -0
  56. package/dist/completion/investigate.d.ts +63 -0
  57. package/dist/completion/investigate.js +198 -0
  58. package/dist/completion/resolve.d.ts +29 -0
  59. package/dist/completion/resolve.js +42 -0
  60. package/dist/completion/side.d.ts +51 -0
  61. package/dist/completion/side.js +93 -0
  62. package/dist/completion/types.d.ts +84 -0
  63. package/dist/completion/types.js +14 -0
  64. package/dist/exec/exec.d.ts +38 -0
  65. package/dist/exec/exec.js +51 -0
  66. package/dist/exec/index.d.ts +8 -0
  67. package/dist/exec/index.js +8 -0
  68. package/dist/gate/decision.d.ts +52 -0
  69. package/dist/gate/decision.js +68 -0
  70. package/dist/gate/deps.d.ts +14 -0
  71. package/dist/gate/deps.js +1 -0
  72. package/dist/gate/index.d.ts +2 -0
  73. package/dist/gate/index.js +1 -0
  74. package/dist/git-cli/index.d.ts +47 -0
  75. package/dist/git-cli/index.js +127 -0
  76. package/dist/github-cli/command-spec.d.ts +14 -0
  77. package/dist/github-cli/command-spec.js +18 -0
  78. package/dist/github-cli/index.d.ts +71 -0
  79. package/dist/github-cli/index.js +188 -0
  80. package/dist/google/apis/calendar.d.ts +64 -0
  81. package/dist/google/apis/calendar.js +297 -0
  82. package/dist/google/apis/docs.d.ts +29 -0
  83. package/dist/google/apis/docs.js +154 -0
  84. package/dist/google/apis/drive.d.ts +46 -0
  85. package/dist/google/apis/drive.js +189 -0
  86. package/dist/google/apis/gmail.d.ts +67 -0
  87. package/dist/google/apis/gmail.js +374 -0
  88. package/dist/google/apis/index.d.ts +10 -0
  89. package/dist/google/apis/index.js +10 -0
  90. package/dist/google/apis/sheets.d.ts +16 -0
  91. package/dist/google/apis/sheets.js +54 -0
  92. package/dist/google/apis/slides.d.ts +16 -0
  93. package/dist/google/apis/slides.js +40 -0
  94. package/dist/google/auth/browser.d.ts +5 -0
  95. package/dist/google/auth/browser.js +27 -0
  96. package/dist/google/auth/credentials.d.ts +26 -0
  97. package/dist/google/auth/credentials.js +69 -0
  98. package/dist/google/auth/errors.d.ts +15 -0
  99. package/dist/google/auth/errors.js +26 -0
  100. package/dist/google/auth/index.d.ts +12 -0
  101. package/dist/google/auth/index.js +12 -0
  102. package/dist/google/auth/oauth-app.d.ts +15 -0
  103. package/dist/google/auth/oauth-app.js +20 -0
  104. package/dist/google/auth/oauth.d.ts +46 -0
  105. package/dist/google/auth/oauth.js +146 -0
  106. package/dist/google/auth/server.d.ts +13 -0
  107. package/dist/google/auth/server.js +70 -0
  108. package/dist/google/auth/setup-instructions.d.ts +16 -0
  109. package/dist/google/auth/setup-instructions.js +24 -0
  110. package/dist/google/auth/store.d.ts +19 -0
  111. package/dist/google/auth/store.js +27 -0
  112. package/dist/google/index.d.ts +13 -0
  113. package/dist/google/index.js +12 -0
  114. package/dist/google/paths.d.ts +17 -0
  115. package/dist/google/paths.js +28 -0
  116. package/dist/google/renderers/calendar.d.ts +23 -0
  117. package/dist/google/renderers/calendar.js +312 -0
  118. package/dist/google/renderers/drive.d.ts +31 -0
  119. package/dist/google/renderers/drive.js +214 -0
  120. package/dist/google/renderers/email.d.ts +16 -0
  121. package/dist/google/renderers/email.js +130 -0
  122. package/dist/google/renderers/index.d.ts +8 -0
  123. package/dist/google/renderers/index.js +8 -0
  124. package/dist/google/types.d.ts +143 -0
  125. package/dist/google/types.js +27 -0
  126. package/dist/governance/distill.d.ts +31 -0
  127. package/dist/governance/distill.js +78 -0
  128. package/dist/governance/index.d.ts +11 -0
  129. package/dist/governance/index.js +10 -0
  130. package/dist/governance/render.d.ts +13 -0
  131. package/dist/governance/render.js +23 -0
  132. package/dist/governance/store.d.ts +32 -0
  133. package/dist/governance/store.js +102 -0
  134. package/dist/governance/types.d.ts +19 -0
  135. package/dist/governance/types.js +9 -0
  136. package/dist/guardian/index.d.ts +7 -0
  137. package/dist/guardian/index.js +7 -0
  138. package/dist/guardian/types.d.ts +37 -0
  139. package/dist/guardian/types.js +12 -0
  140. package/dist/internal/github/cli.d.ts +40 -0
  141. package/dist/internal/github/cli.js +102 -0
  142. package/dist/internal/guardian/commit-file.d.ts +7 -0
  143. package/dist/internal/guardian/commit-file.js +36 -0
  144. package/dist/internal/guardian/commit-format.d.ts +35 -0
  145. package/dist/internal/guardian/commit-format.js +63 -0
  146. package/dist/internal/guardian/commit-shell.d.ts +38 -0
  147. package/dist/internal/guardian/commit-shell.js +134 -0
  148. package/dist/internal/guardian/history-gate.d.ts +41 -0
  149. package/dist/internal/guardian/history-gate.js +76 -0
  150. package/dist/internal/guardian/prose-gate.d.ts +31 -0
  151. package/dist/internal/guardian/prose-gate.js +50 -0
  152. package/dist/internal/guardian/redirect-gate.d.ts +41 -0
  153. package/dist/internal/guardian/redirect-gate.js +114 -0
  154. package/dist/internal/guardian/section-gate.d.ts +20 -0
  155. package/dist/internal/guardian/section-gate.js +36 -0
  156. package/dist/internal/guardian/title-gate.d.ts +20 -0
  157. package/dist/internal/guardian/title-gate.js +36 -0
  158. package/dist/internal/json-array.d.ts +11 -0
  159. package/dist/internal/json-array.js +40 -0
  160. package/dist/internal/lsp/registry.d.ts +12 -0
  161. package/dist/internal/lsp/registry.js +16 -0
  162. package/dist/internal/notes/discovery.d.ts +59 -0
  163. package/dist/internal/notes/discovery.js +91 -0
  164. package/dist/internal/notes/frontmatter.d.ts +52 -0
  165. package/dist/internal/notes/frontmatter.js +163 -0
  166. package/dist/internal/notes/id.d.ts +42 -0
  167. package/dist/internal/notes/id.js +80 -0
  168. package/dist/internal/notes/io.d.ts +25 -0
  169. package/dist/internal/notes/io.js +51 -0
  170. package/dist/internal/notes/sanitize.d.ts +19 -0
  171. package/dist/internal/notes/sanitize.js +35 -0
  172. package/dist/internal/process-global.d.ts +20 -0
  173. package/dist/internal/process-global.js +28 -0
  174. package/dist/internal/quest/alias-index.d.ts +61 -0
  175. package/dist/internal/quest/alias-index.js +69 -0
  176. package/dist/internal/quest/append-journey.d.ts +22 -0
  177. package/dist/internal/quest/append-journey.js +63 -0
  178. package/dist/internal/quest/bash-write.d.ts +49 -0
  179. package/dist/internal/quest/bash-write.js +208 -0
  180. package/dist/internal/quest/dates.d.ts +14 -0
  181. package/dist/internal/quest/dates.js +20 -0
  182. package/dist/internal/quest/discovery.d.ts +96 -0
  183. package/dist/internal/quest/discovery.js +354 -0
  184. package/dist/internal/quest/fields.d.ts +37 -0
  185. package/dist/internal/quest/fields.js +94 -0
  186. package/dist/internal/quest/frontmatter.d.ts +88 -0
  187. package/dist/internal/quest/frontmatter.js +630 -0
  188. package/dist/internal/quest/git-signals.d.ts +53 -0
  189. package/dist/internal/quest/git-signals.js +192 -0
  190. package/dist/internal/quest/id.d.ts +50 -0
  191. package/dist/internal/quest/id.js +116 -0
  192. package/dist/internal/quest/io.d.ts +54 -0
  193. package/dist/internal/quest/io.js +233 -0
  194. package/dist/internal/quest/mentions.d.ts +45 -0
  195. package/dist/internal/quest/mentions.js +70 -0
  196. package/dist/internal/quest/mutate.d.ts +38 -0
  197. package/dist/internal/quest/mutate.js +83 -0
  198. package/dist/internal/quest/process-liveness.d.ts +98 -0
  199. package/dist/internal/quest/process-liveness.js +216 -0
  200. package/dist/internal/quest/quest-doc.d.ts +116 -0
  201. package/dist/internal/quest/quest-doc.js +239 -0
  202. package/dist/internal/quest/ranking.d.ts +48 -0
  203. package/dist/internal/quest/ranking.js +114 -0
  204. package/dist/internal/quest/reopen.d.ts +65 -0
  205. package/dist/internal/quest/reopen.js +113 -0
  206. package/dist/internal/quest/resolve-cwd.d.ts +32 -0
  207. package/dist/internal/quest/resolve-cwd.js +89 -0
  208. package/dist/internal/quest/sanitize.d.ts +42 -0
  209. package/dist/internal/quest/sanitize.js +69 -0
  210. package/dist/internal/quest/scaffold.d.ts +59 -0
  211. package/dist/internal/quest/scaffold.js +169 -0
  212. package/dist/internal/quest/scratch.d.ts +27 -0
  213. package/dist/internal/quest/scratch.js +106 -0
  214. package/dist/internal/quest/session-liveness.d.ts +125 -0
  215. package/dist/internal/quest/session-liveness.js +386 -0
  216. package/dist/internal/quest/session-ownership.d.ts +22 -0
  217. package/dist/internal/quest/session-ownership.js +100 -0
  218. package/dist/internal/quest/session-registry.d.ts +221 -0
  219. package/dist/internal/quest/session-registry.js +266 -0
  220. package/dist/internal/quest/status.d.ts +10 -0
  221. package/dist/internal/quest/status.js +15 -0
  222. package/dist/internal/quest/structural-journal.d.ts +41 -0
  223. package/dist/internal/quest/structural-journal.js +67 -0
  224. package/dist/internal/quest/structural.d.ts +43 -0
  225. package/dist/internal/quest/structural.js +77 -0
  226. package/dist/internal/quest/toc.d.ts +28 -0
  227. package/dist/internal/quest/toc.js +90 -0
  228. package/dist/internal/quest/trees.d.ts +53 -0
  229. package/dist/internal/quest/trees.js +145 -0
  230. package/dist/internal/quest/url-fetchers.d.ts +50 -0
  231. package/dist/internal/quest/url-fetchers.js +97 -0
  232. package/dist/internal/quest/write-classifier.d.ts +46 -0
  233. package/dist/internal/quest/write-classifier.js +59 -0
  234. package/dist/internal/refs/builtins.d.ts +32 -0
  235. package/dist/internal/refs/builtins.js +179 -0
  236. package/dist/internal/refs/registry.d.ts +25 -0
  237. package/dist/internal/refs/registry.js +42 -0
  238. package/dist/internal/registry/global-symbol-registry.d.ts +37 -0
  239. package/dist/internal/registry/global-symbol-registry.js +55 -0
  240. package/dist/internal/review/registry.d.ts +12 -0
  241. package/dist/internal/review/registry.js +16 -0
  242. package/dist/internal/sqlite/db.d.ts +16 -0
  243. package/dist/internal/sqlite/db.js +26 -0
  244. package/dist/internal/terminal/builtins.d.ts +8 -0
  245. package/dist/internal/terminal/builtins.js +14 -0
  246. package/dist/internal/terminal/drivers/fallback.d.ts +8 -0
  247. package/dist/internal/terminal/drivers/fallback.js +31 -0
  248. package/dist/internal/terminal/drivers/shared.d.ts +39 -0
  249. package/dist/internal/terminal/drivers/shared.js +51 -0
  250. package/dist/internal/terminal/drivers/tmux.d.ts +14 -0
  251. package/dist/internal/terminal/drivers/tmux.js +88 -0
  252. package/dist/internal/terminal/drivers/wezterm.d.ts +35 -0
  253. package/dist/internal/terminal/drivers/wezterm.js +175 -0
  254. package/dist/internal/terminal/registry.d.ts +12 -0
  255. package/dist/internal/terminal/registry.js +16 -0
  256. package/dist/internal/tree/builtins.d.ts +8 -0
  257. package/dist/internal/tree/builtins.js +10 -0
  258. package/dist/internal/tree/providers/git-worktree.d.ts +20 -0
  259. package/dist/internal/tree/providers/git-worktree.js +279 -0
  260. package/dist/internal/tree/registry.d.ts +12 -0
  261. package/dist/internal/tree/registry.js +16 -0
  262. package/dist/lsp/config.d.ts +77 -0
  263. package/dist/lsp/config.js +154 -0
  264. package/dist/lsp/external.d.ts +13 -0
  265. package/dist/lsp/external.js +52 -0
  266. package/dist/lsp/format.d.ts +11 -0
  267. package/dist/lsp/format.js +54 -0
  268. package/dist/lsp/index.d.ts +17 -0
  269. package/dist/lsp/index.js +16 -0
  270. package/dist/lsp/offsets.d.ts +22 -0
  271. package/dist/lsp/offsets.js +51 -0
  272. package/dist/lsp/registry.d.ts +28 -0
  273. package/dist/lsp/registry.js +45 -0
  274. package/dist/lsp/standalone/backend.d.ts +42 -0
  275. package/dist/lsp/standalone/backend.js +150 -0
  276. package/dist/lsp/standalone/document.d.ts +45 -0
  277. package/dist/lsp/standalone/document.js +81 -0
  278. package/dist/lsp/standalone/server.d.ts +84 -0
  279. package/dist/lsp/standalone/server.js +521 -0
  280. package/dist/lsp/types.d.ts +119 -0
  281. package/dist/lsp/types.js +13 -0
  282. package/dist/memory/db.d.ts +15 -0
  283. package/dist/memory/db.js +25 -0
  284. package/dist/memory/index.d.ts +12 -0
  285. package/dist/memory/index.js +11 -0
  286. package/dist/memory/paths.d.ts +19 -0
  287. package/dist/memory/paths.js +33 -0
  288. package/dist/memory/scope.d.ts +14 -0
  289. package/dist/memory/scope.js +22 -0
  290. package/dist/memory/store.d.ts +12 -0
  291. package/dist/memory/store.js +146 -0
  292. package/dist/memory/types.d.ts +80 -0
  293. package/dist/memory/types.js +6 -0
  294. package/dist/notes/types.d.ts +50 -0
  295. package/dist/notes/types.js +23 -0
  296. package/dist/notes/verbs/create.d.ts +5 -0
  297. package/dist/notes/verbs/create.js +55 -0
  298. package/dist/notes/verbs/mutate.d.ts +8 -0
  299. package/dist/notes/verbs/mutate.js +152 -0
  300. package/dist/notes/verbs/queries.d.ts +15 -0
  301. package/dist/notes/verbs/queries.js +116 -0
  302. package/dist/notes/verbs/reindex.d.ts +12 -0
  303. package/dist/notes/verbs/reindex.js +35 -0
  304. package/dist/notes/verbs/shared.d.ts +37 -0
  305. package/dist/notes/verbs/shared.js +29 -0
  306. package/dist/observability/index.d.ts +13 -0
  307. package/dist/observability/index.js +12 -0
  308. package/dist/observability/recorder.d.ts +50 -0
  309. package/dist/observability/recorder.js +77 -0
  310. package/dist/observability/store.d.ts +22 -0
  311. package/dist/observability/store.js +213 -0
  312. package/dist/observability/types.d.ts +82 -0
  313. package/dist/observability/types.js +1 -0
  314. package/dist/process/index.d.ts +9 -0
  315. package/dist/process/index.js +9 -0
  316. package/dist/process/process.d.ts +95 -0
  317. package/dist/process/process.js +153 -0
  318. package/dist/prose/block.d.ts +9 -0
  319. package/dist/prose/block.js +43 -0
  320. package/dist/prose/detect.d.ts +50 -0
  321. package/dist/prose/detect.js +217 -0
  322. package/dist/prose/gate.d.ts +14 -0
  323. package/dist/prose/gate.js +21 -0
  324. package/dist/prose/index.d.ts +4 -0
  325. package/dist/prose/index.js +4 -0
  326. package/dist/prose/wrap.d.ts +9 -0
  327. package/dist/prose/wrap.js +47 -0
  328. package/dist/quest/actions.d.ts +20 -0
  329. package/dist/quest/actions.js +107 -0
  330. package/dist/quest/config.d.ts +79 -0
  331. package/dist/quest/config.js +83 -0
  332. package/dist/quest/index.d.ts +29 -0
  333. package/dist/quest/index.js +28 -0
  334. package/dist/quest/lifecycle.d.ts +365 -0
  335. package/dist/quest/lifecycle.js +900 -0
  336. package/dist/quest/lookup.d.ts +243 -0
  337. package/dist/quest/lookup.js +496 -0
  338. package/dist/quest/machine.d.ts +48 -0
  339. package/dist/quest/machine.js +96 -0
  340. package/dist/quest/render-rows.d.ts +166 -0
  341. package/dist/quest/render-rows.js +214 -0
  342. package/dist/quest/state.d.ts +111 -0
  343. package/dist/quest/state.js +46 -0
  344. package/dist/quest/types.d.ts +224 -0
  345. package/dist/quest/types.js +10 -0
  346. package/dist/quest/verbs/alias.d.ts +9 -0
  347. package/dist/quest/verbs/alias.js +129 -0
  348. package/dist/quest/verbs/lifecycle.d.ts +36 -0
  349. package/dist/quest/verbs/lifecycle.js +407 -0
  350. package/dist/quest/verbs/queries.d.ts +24 -0
  351. package/dist/quest/verbs/queries.js +241 -0
  352. package/dist/quest/verbs/reorder.d.ts +15 -0
  353. package/dist/quest/verbs/reorder.js +85 -0
  354. package/dist/quest/verbs/shared.d.ts +63 -0
  355. package/dist/quest/verbs/shared.js +35 -0
  356. package/dist/quest/verbs/stage.d.ts +39 -0
  357. package/dist/quest/verbs/stage.js +506 -0
  358. package/dist/quest/verbs/structural.d.ts +23 -0
  359. package/dist/quest/verbs/structural.js +310 -0
  360. package/dist/quest/verbs/tree-ops.d.ts +20 -0
  361. package/dist/quest/verbs/tree-ops.js +289 -0
  362. package/dist/refs/index.d.ts +13 -0
  363. package/dist/refs/index.js +12 -0
  364. package/dist/refs/lookup.d.ts +53 -0
  365. package/dist/refs/lookup.js +102 -0
  366. package/dist/refs/register.d.ts +34 -0
  367. package/dist/refs/register.js +44 -0
  368. package/dist/refs/types.d.ts +81 -0
  369. package/dist/refs/types.js +17 -0
  370. package/dist/remote/index.d.ts +9 -0
  371. package/dist/remote/index.js +9 -0
  372. package/dist/remote/name.d.ts +22 -0
  373. package/dist/remote/name.js +30 -0
  374. package/dist/result/cite.d.ts +84 -0
  375. package/dist/result/cite.js +127 -0
  376. package/dist/result/counts.d.ts +15 -0
  377. package/dist/result/counts.js +17 -0
  378. package/dist/result/details.d.ts +61 -0
  379. package/dist/result/details.js +121 -0
  380. package/dist/result/digest.d.ts +37 -0
  381. package/dist/result/digest.js +227 -0
  382. package/dist/result/follow.d.ts +29 -0
  383. package/dist/result/follow.js +37 -0
  384. package/dist/result/index.d.ts +26 -0
  385. package/dist/result/index.js +26 -0
  386. package/dist/result/listing.d.ts +62 -0
  387. package/dist/result/listing.js +72 -0
  388. package/dist/result/location.d.ts +67 -0
  389. package/dist/result/location.js +125 -0
  390. package/dist/result/query.d.ts +67 -0
  391. package/dist/result/query.js +144 -0
  392. package/dist/result/spill.d.ts +41 -0
  393. package/dist/result/spill.js +121 -0
  394. package/dist/result/store.d.ts +83 -0
  395. package/dist/result/store.js +214 -0
  396. package/dist/result/view.d.ts +31 -0
  397. package/dist/result/view.js +38 -0
  398. package/dist/review/anchor.d.ts +84 -0
  399. package/dist/review/anchor.js +89 -0
  400. package/dist/review/ask/agents.d.ts +80 -0
  401. package/dist/review/ask/agents.js +296 -0
  402. package/dist/review/ask/anchorable.d.ts +35 -0
  403. package/dist/review/ask/anchorable.js +76 -0
  404. package/dist/review/ask/answer.d.ts +54 -0
  405. package/dist/review/ask/answer.js +209 -0
  406. package/dist/review/ask/audit.d.ts +71 -0
  407. package/dist/review/ask/audit.js +158 -0
  408. package/dist/review/ask/collect.d.ts +41 -0
  409. package/dist/review/ask/collect.js +82 -0
  410. package/dist/review/ask/council.d.ts +290 -0
  411. package/dist/review/ask/council.js +386 -0
  412. package/dist/review/ask/critique.d.ts +69 -0
  413. package/dist/review/ask/critique.js +157 -0
  414. package/dist/review/ask/harvest.d.ts +119 -0
  415. package/dist/review/ask/harvest.js +409 -0
  416. package/dist/review/ask/identity.d.ts +93 -0
  417. package/dist/review/ask/identity.js +134 -0
  418. package/dist/review/ask/judge.d.ts +37 -0
  419. package/dist/review/ask/judge.js +140 -0
  420. package/dist/review/ask/persona.d.ts +84 -0
  421. package/dist/review/ask/persona.js +127 -0
  422. package/dist/review/ask/progress.d.ts +117 -0
  423. package/dist/review/ask/progress.js +137 -0
  424. package/dist/review/ask/prompt.d.ts +131 -0
  425. package/dist/review/ask/prompt.js +242 -0
  426. package/dist/review/ask/roster.d.ts +94 -0
  427. package/dist/review/ask/roster.js +338 -0
  428. package/dist/review/ask/run.d.ts +435 -0
  429. package/dist/review/ask/run.js +340 -0
  430. package/dist/review/ask/span.d.ts +70 -0
  431. package/dist/review/ask/span.js +166 -0
  432. package/dist/review/ask/stack-round.d.ts +66 -0
  433. package/dist/review/ask/stack-round.js +125 -0
  434. package/dist/review/ask/start.d.ts +48 -0
  435. package/dist/review/ask/start.js +118 -0
  436. package/dist/review/ask/store.d.ts +83 -0
  437. package/dist/review/ask/store.js +226 -0
  438. package/dist/review/ask/wire.d.ts +89 -0
  439. package/dist/review/ask/wire.js +204 -0
  440. package/dist/review/attach.d.ts +161 -0
  441. package/dist/review/attach.js +357 -0
  442. package/dist/review/authoring.d.ts +84 -0
  443. package/dist/review/authoring.js +203 -0
  444. package/dist/review/backed.d.ts +90 -0
  445. package/dist/review/backed.js +168 -0
  446. package/dist/review/bind.d.ts +75 -0
  447. package/dist/review/bind.js +223 -0
  448. package/dist/review/budget.d.ts +133 -0
  449. package/dist/review/budget.js +278 -0
  450. package/dist/review/capabilities.d.ts +217 -0
  451. package/dist/review/capabilities.js +46 -0
  452. package/dist/review/change.d.ts +155 -0
  453. package/dist/review/change.js +15 -0
  454. package/dist/review/checks.d.ts +56 -0
  455. package/dist/review/checks.js +11 -0
  456. package/dist/review/config.d.ts +71 -0
  457. package/dist/review/config.js +125 -0
  458. package/dist/review/conventions.d.ts +35 -0
  459. package/dist/review/conventions.js +58 -0
  460. package/dist/review/conversation.d.ts +98 -0
  461. package/dist/review/conversation.js +16 -0
  462. package/dist/review/decided.d.ts +58 -0
  463. package/dist/review/decided.js +67 -0
  464. package/dist/review/diff.d.ts +116 -0
  465. package/dist/review/diff.js +237 -0
  466. package/dist/review/draft/continuation.d.ts +23 -0
  467. package/dist/review/draft/continuation.js +32 -0
  468. package/dist/review/draft/fanout.d.ts +57 -0
  469. package/dist/review/draft/fanout.js +46 -0
  470. package/dist/review/draft/handle.d.ts +55 -0
  471. package/dist/review/draft/handle.js +110 -0
  472. package/dist/review/draft/plan.d.ts +112 -0
  473. package/dist/review/draft/plan.js +343 -0
  474. package/dist/review/draft/publish.d.ts +38 -0
  475. package/dist/review/draft/publish.js +118 -0
  476. package/dist/review/draft/render.d.ts +32 -0
  477. package/dist/review/draft/render.js +100 -0
  478. package/dist/review/draft/state.d.ts +98 -0
  479. package/dist/review/draft/state.js +83 -0
  480. package/dist/review/draft/store.d.ts +33 -0
  481. package/dist/review/draft/store.js +100 -0
  482. package/dist/review/elsewhere.d.ts +27 -0
  483. package/dist/review/elsewhere.js +39 -0
  484. package/dist/review/engine.d.ts +106 -0
  485. package/dist/review/engine.js +243 -0
  486. package/dist/review/events.d.ts +59 -0
  487. package/dist/review/events.js +35 -0
  488. package/dist/review/failed.d.ts +46 -0
  489. package/dist/review/failed.js +56 -0
  490. package/dist/review/finding.d.ts +81 -0
  491. package/dist/review/finding.js +85 -0
  492. package/dist/review/fix.d.ts +147 -0
  493. package/dist/review/fix.js +175 -0
  494. package/dist/review/followup.d.ts +84 -0
  495. package/dist/review/followup.js +123 -0
  496. package/dist/review/index.d.ts +134 -0
  497. package/dist/review/index.js +80 -0
  498. package/dist/review/keys.d.ts +23 -0
  499. package/dist/review/keys.js +40 -0
  500. package/dist/review/landing.d.ts +37 -0
  501. package/dist/review/landing.js +68 -0
  502. package/dist/review/lenses.d.ts +132 -0
  503. package/dist/review/lenses.js +430 -0
  504. package/dist/review/propose-from.d.ts +76 -0
  505. package/dist/review/propose-from.js +86 -0
  506. package/dist/review/provider.d.ts +306 -0
  507. package/dist/review/provider.js +16 -0
  508. package/dist/review/providers/git/index.d.ts +23 -0
  509. package/dist/review/providers/git/index.js +214 -0
  510. package/dist/review/providers/github/authoring.d.ts +22 -0
  511. package/dist/review/providers/github/authoring.js +350 -0
  512. package/dist/review/providers/github/claims.d.ts +49 -0
  513. package/dist/review/providers/github/claims.js +136 -0
  514. package/dist/review/providers/github/conversation.d.ts +18 -0
  515. package/dist/review/providers/github/conversation.js +455 -0
  516. package/dist/review/providers/github/fields.d.ts +30 -0
  517. package/dist/review/providers/github/fields.js +47 -0
  518. package/dist/review/providers/github/index.d.ts +15 -0
  519. package/dist/review/providers/github/index.js +110 -0
  520. package/dist/review/providers/github/proposals.d.ts +14 -0
  521. package/dist/review/providers/github/proposals.js +298 -0
  522. package/dist/review/providers/github/queue.d.ts +46 -0
  523. package/dist/review/providers/github/queue.js +122 -0
  524. package/dist/review/providers/github/stacking.d.ts +20 -0
  525. package/dist/review/providers/github/stacking.js +107 -0
  526. package/dist/review/queue.d.ts +43 -0
  527. package/dist/review/queue.js +56 -0
  528. package/dist/review/reactable.d.ts +93 -0
  529. package/dist/review/reactable.js +140 -0
  530. package/dist/review/register.d.ts +52 -0
  531. package/dist/review/register.js +53 -0
  532. package/dist/review/resolve.d.ts +58 -0
  533. package/dist/review/resolve.js +150 -0
  534. package/dist/review/retarget.d.ts +73 -0
  535. package/dist/review/retarget.js +82 -0
  536. package/dist/review/revisited.d.ts +77 -0
  537. package/dist/review/revisited.js +121 -0
  538. package/dist/review/stack.d.ts +110 -0
  539. package/dist/review/stack.js +52 -0
  540. package/dist/sections/block.d.ts +9 -0
  541. package/dist/sections/block.js +42 -0
  542. package/dist/sections/detect.d.ts +31 -0
  543. package/dist/sections/detect.js +67 -0
  544. package/dist/sections/gate.d.ts +21 -0
  545. package/dist/sections/gate.js +22 -0
  546. package/dist/sections/index.d.ts +5 -0
  547. package/dist/sections/index.js +5 -0
  548. package/dist/sections/sanctioned.d.ts +13 -0
  549. package/dist/sections/sanctioned.js +21 -0
  550. package/dist/shell/index.d.ts +8 -0
  551. package/dist/shell/index.js +8 -0
  552. package/dist/shell/parse.d.ts +125 -0
  553. package/dist/shell/parse.js +298 -0
  554. package/dist/slack/api/channels.d.ts +12 -0
  555. package/dist/slack/api/channels.js +28 -0
  556. package/dist/slack/api/client.d.ts +94 -0
  557. package/dist/slack/api/client.js +272 -0
  558. package/dist/slack/api/files.d.ts +95 -0
  559. package/dist/slack/api/files.js +223 -0
  560. package/dist/slack/api/index.d.ts +11 -0
  561. package/dist/slack/api/index.js +11 -0
  562. package/dist/slack/api/messages.d.ts +98 -0
  563. package/dist/slack/api/messages.js +292 -0
  564. package/dist/slack/api/reactions.d.ts +47 -0
  565. package/dist/slack/api/reactions.js +50 -0
  566. package/dist/slack/api/resolve-conversations.d.ts +43 -0
  567. package/dist/slack/api/resolve-conversations.js +130 -0
  568. package/dist/slack/api/resolve-messages.d.ts +29 -0
  569. package/dist/slack/api/resolve-messages.js +93 -0
  570. package/dist/slack/api/resolve-users.d.ts +27 -0
  571. package/dist/slack/api/resolve-users.js +73 -0
  572. package/dist/slack/api/search.d.ts +86 -0
  573. package/dist/slack/api/search.js +186 -0
  574. package/dist/slack/api/users.d.ts +12 -0
  575. package/dist/slack/api/users.js +33 -0
  576. package/dist/slack/auth/browser-extract.d.ts +33 -0
  577. package/dist/slack/auth/browser-extract.js +201 -0
  578. package/dist/slack/auth/browser.d.ts +5 -0
  579. package/dist/slack/auth/browser.js +25 -0
  580. package/dist/slack/auth/credentials.d.ts +14 -0
  581. package/dist/slack/auth/credentials.js +24 -0
  582. package/dist/slack/auth/errors.d.ts +9 -0
  583. package/dist/slack/auth/errors.js +19 -0
  584. package/dist/slack/auth/extract.d.ts +23 -0
  585. package/dist/slack/auth/extract.js +44 -0
  586. package/dist/slack/auth/index.d.ts +12 -0
  587. package/dist/slack/auth/index.js +11 -0
  588. package/dist/slack/auth/oauth-app.d.ts +11 -0
  589. package/dist/slack/auth/oauth-app.js +20 -0
  590. package/dist/slack/auth/oauth.d.ts +31 -0
  591. package/dist/slack/auth/oauth.js +82 -0
  592. package/dist/slack/auth/server.d.ts +14 -0
  593. package/dist/slack/auth/server.js +75 -0
  594. package/dist/slack/auth/store.d.ts +17 -0
  595. package/dist/slack/auth/store.js +27 -0
  596. package/dist/slack/block-message.d.ts +9 -0
  597. package/dist/slack/block-message.js +30 -0
  598. package/dist/slack/blocks.d.ts +94 -0
  599. package/dist/slack/blocks.js +765 -0
  600. package/dist/slack/content-gate.d.ts +12 -0
  601. package/dist/slack/content-gate.js +22 -0
  602. package/dist/slack/detect.d.ts +31 -0
  603. package/dist/slack/detect.js +125 -0
  604. package/dist/slack/index.d.ts +18 -0
  605. package/dist/slack/index.js +17 -0
  606. package/dist/slack/paths.d.ts +28 -0
  607. package/dist/slack/paths.js +46 -0
  608. package/dist/slack/renderers/channel.d.ts +6 -0
  609. package/dist/slack/renderers/channel.js +27 -0
  610. package/dist/slack/renderers/index.d.ts +9 -0
  611. package/dist/slack/renderers/index.js +9 -0
  612. package/dist/slack/renderers/message.d.ts +21 -0
  613. package/dist/slack/renderers/message.js +214 -0
  614. package/dist/slack/renderers/reactions.d.ts +8 -0
  615. package/dist/slack/renderers/reactions.js +43 -0
  616. package/dist/slack/renderers/search.d.ts +6 -0
  617. package/dist/slack/renderers/search.js +39 -0
  618. package/dist/slack/renderers/user.d.ts +6 -0
  619. package/dist/slack/renderers/user.js +32 -0
  620. package/dist/slack/resolvers/cache.d.ts +29 -0
  621. package/dist/slack/resolvers/cache.js +70 -0
  622. package/dist/slack/resolvers/conversation-cache.d.ts +42 -0
  623. package/dist/slack/resolvers/conversation-cache.js +128 -0
  624. package/dist/slack/resolvers/conversation.d.ts +44 -0
  625. package/dist/slack/resolvers/conversation.js +229 -0
  626. package/dist/slack/resolvers/index.d.ts +8 -0
  627. package/dist/slack/resolvers/index.js +8 -0
  628. package/dist/slack/resolvers/target.d.ts +19 -0
  629. package/dist/slack/resolvers/target.js +45 -0
  630. package/dist/slack/resolvers/url.d.ts +20 -0
  631. package/dist/slack/resolvers/url.js +22 -0
  632. package/dist/slack/resolvers/user.d.ts +54 -0
  633. package/dist/slack/resolvers/user.js +134 -0
  634. package/dist/slack/types.d.ts +180 -0
  635. package/dist/slack/types.js +13 -0
  636. package/dist/tdd/attest.d.ts +21 -0
  637. package/dist/tdd/attest.js +21 -0
  638. package/dist/tdd/discipline.d.ts +11 -0
  639. package/dist/tdd/discipline.js +28 -0
  640. package/dist/tdd/index.d.ts +14 -0
  641. package/dist/tdd/index.js +13 -0
  642. package/dist/tdd/machine.d.ts +48 -0
  643. package/dist/tdd/machine.js +139 -0
  644. package/dist/tdd/presentation.d.ts +34 -0
  645. package/dist/tdd/presentation.js +38 -0
  646. package/dist/tdd/queries.d.ts +10 -0
  647. package/dist/tdd/queries.js +22 -0
  648. package/dist/terminal/index.d.ts +12 -0
  649. package/dist/terminal/index.js +11 -0
  650. package/dist/terminal/register.d.ts +21 -0
  651. package/dist/terminal/register.js +31 -0
  652. package/dist/terminal/resolve.d.ts +63 -0
  653. package/dist/terminal/resolve.js +117 -0
  654. package/dist/terminal/types.d.ts +134 -0
  655. package/dist/terminal/types.js +19 -0
  656. package/dist/thinking/index.d.ts +20 -0
  657. package/dist/thinking/index.js +27 -0
  658. package/dist/title/block.d.ts +9 -0
  659. package/dist/title/block.js +32 -0
  660. package/dist/title/detect.d.ts +25 -0
  661. package/dist/title/detect.js +154 -0
  662. package/dist/title/gate.d.ts +19 -0
  663. package/dist/title/gate.js +21 -0
  664. package/dist/title/index.d.ts +3 -0
  665. package/dist/title/index.js +3 -0
  666. package/dist/tree/index.d.ts +18 -0
  667. package/dist/tree/index.js +17 -0
  668. package/dist/tree/register.d.ts +21 -0
  669. package/dist/tree/register.js +31 -0
  670. package/dist/tree/resolve.d.ts +20 -0
  671. package/dist/tree/resolve.js +31 -0
  672. package/dist/tree/types.d.ts +83 -0
  673. package/dist/tree/types.js +12 -0
  674. package/dist/ui/count.d.ts +29 -0
  675. package/dist/ui/count.js +35 -0
  676. package/dist/ui/path.d.ts +25 -0
  677. package/dist/ui/path.js +40 -0
  678. package/dist/verify/index.d.ts +17 -0
  679. package/dist/verify/index.js +14 -0
  680. package/dist/verify/project.d.ts +21 -0
  681. package/dist/verify/project.js +49 -0
  682. package/dist/verify/resolve.d.ts +26 -0
  683. package/dist/verify/resolve.js +27 -0
  684. package/dist/verify/run.d.ts +31 -0
  685. package/dist/verify/run.js +145 -0
  686. package/dist/web/a11y/announcements.d.ts +67 -0
  687. package/dist/web/a11y/announcements.js +116 -0
  688. package/dist/web/a11y/budget.d.ts +75 -0
  689. package/dist/web/a11y/budget.js +97 -0
  690. package/dist/web/a11y/focus.d.ts +37 -0
  691. package/dist/web/a11y/focus.js +106 -0
  692. package/dist/web/a11y/index.d.ts +19 -0
  693. package/dist/web/a11y/index.js +25 -0
  694. package/dist/web/a11y/naming.d.ts +23 -0
  695. package/dist/web/a11y/naming.js +55 -0
  696. package/dist/web/a11y/outline.d.ts +23 -0
  697. package/dist/web/a11y/outline.js +42 -0
  698. package/dist/web/a11y/reading.d.ts +12 -0
  699. package/dist/web/a11y/reading.js +101 -0
  700. package/dist/web/a11y/scope.d.ts +23 -0
  701. package/dist/web/a11y/scope.js +99 -0
  702. package/dist/web/a11y/states.d.ts +22 -0
  703. package/dist/web/a11y/states.js +53 -0
  704. package/dist/web/a11y/tree.d.ts +124 -0
  705. package/dist/web/a11y/tree.js +269 -0
  706. package/dist/web/a11y/walk.d.ts +225 -0
  707. package/dist/web/a11y/walk.js +568 -0
  708. package/dist/web/a11y/walkprobe.d.ts +44 -0
  709. package/dist/web/a11y/walkprobe.js +365 -0
  710. package/dist/web/audit/axe.d.ts +219 -0
  711. package/dist/web/audit/axe.js +322 -0
  712. package/dist/web/audit/behind.d.ts +63 -0
  713. package/dist/web/audit/behind.js +142 -0
  714. package/dist/web/audit/capture.d.ts +43 -0
  715. package/dist/web/audit/capture.js +185 -0
  716. package/dist/web/audit/colour.d.ts +85 -0
  717. package/dist/web/audit/colour.js +189 -0
  718. package/dist/web/audit/contrast.d.ts +74 -0
  719. package/dist/web/audit/contrast.js +104 -0
  720. package/dist/web/audit/health.d.ts +27 -0
  721. package/dist/web/audit/health.js +57 -0
  722. package/dist/web/audit/index.d.ts +22 -0
  723. package/dist/web/audit/index.js +22 -0
  724. package/dist/web/audit/pair.d.ts +55 -0
  725. package/dist/web/audit/pair.js +157 -0
  726. package/dist/web/audit/probe.d.ts +31 -0
  727. package/dist/web/audit/probe.js +189 -0
  728. package/dist/web/audit/report.d.ts +22 -0
  729. package/dist/web/audit/report.js +250 -0
  730. package/dist/web/audit/structure.d.ts +126 -0
  731. package/dist/web/audit/structure.js +595 -0
  732. package/dist/web/audit/sweep.d.ts +66 -0
  733. package/dist/web/audit/sweep.js +117 -0
  734. package/dist/web/audit/target.d.ts +89 -0
  735. package/dist/web/audit/target.js +168 -0
  736. package/dist/web/audit/verdict.d.ts +48 -0
  737. package/dist/web/audit/verdict.js +52 -0
  738. package/dist/web/audit/visual.d.ts +161 -0
  739. package/dist/web/audit/visual.js +297 -0
  740. package/dist/web/browser.d.ts +213 -0
  741. package/dist/web/browser.js +927 -0
  742. package/dist/web/compare/images.d.ts +45 -0
  743. package/dist/web/compare/images.js +101 -0
  744. package/dist/web/compare/index.d.ts +15 -0
  745. package/dist/web/compare/index.js +15 -0
  746. package/dist/web/compare/provenance.d.ts +48 -0
  747. package/dist/web/compare/provenance.js +86 -0
  748. package/dist/web/compare/regions.d.ts +78 -0
  749. package/dist/web/compare/regions.js +211 -0
  750. package/dist/web/cookies/extract.d.ts +26 -0
  751. package/dist/web/cookies/extract.js +167 -0
  752. package/dist/web/cookies/index.d.ts +8 -0
  753. package/dist/web/cookies/index.js +7 -0
  754. package/dist/web/cookies/inject.d.ts +13 -0
  755. package/dist/web/cookies/inject.js +27 -0
  756. package/dist/web/cookies/setup.d.ts +31 -0
  757. package/dist/web/cookies/setup.js +94 -0
  758. package/dist/web/design/index.d.ts +9 -0
  759. package/dist/web/design/index.js +9 -0
  760. package/dist/web/design/inventory.d.ts +126 -0
  761. package/dist/web/design/inventory.js +324 -0
  762. package/dist/web/design/probe.d.ts +24 -0
  763. package/dist/web/design/probe.js +88 -0
  764. package/dist/web/element/actionable.d.ts +34 -0
  765. package/dist/web/element/actionable.js +48 -0
  766. package/dist/web/element/animations.d.ts +48 -0
  767. package/dist/web/element/animations.js +74 -0
  768. package/dist/web/element/box.d.ts +53 -0
  769. package/dist/web/element/box.js +58 -0
  770. package/dist/web/element/hover.d.ts +75 -0
  771. package/dist/web/element/hover.js +172 -0
  772. package/dist/web/element/index.d.ts +17 -0
  773. package/dist/web/element/index.js +17 -0
  774. package/dist/web/element/listeners.d.ts +72 -0
  775. package/dist/web/element/listeners.js +98 -0
  776. package/dist/web/element/measure.d.ts +40 -0
  777. package/dist/web/element/measure.js +118 -0
  778. package/dist/web/element/probes.d.ts +108 -0
  779. package/dist/web/element/probes.js +195 -0
  780. package/dist/web/element/pseudo.d.ts +51 -0
  781. package/dist/web/element/pseudo.js +96 -0
  782. package/dist/web/element/view.d.ts +30 -0
  783. package/dist/web/element/view.js +117 -0
  784. package/dist/web/element/visibility.d.ts +42 -0
  785. package/dist/web/element/visibility.js +67 -0
  786. package/dist/web/envelope/artifacts.d.ts +23 -0
  787. package/dist/web/envelope/artifacts.js +45 -0
  788. package/dist/web/envelope/index.d.ts +9 -0
  789. package/dist/web/envelope/index.js +9 -0
  790. package/dist/web/envelope/naming.d.ts +23 -0
  791. package/dist/web/envelope/naming.js +43 -0
  792. package/dist/web/envelope/paged.d.ts +42 -0
  793. package/dist/web/envelope/paged.js +99 -0
  794. package/dist/web/envelope/sink.d.ts +43 -0
  795. package/dist/web/envelope/sink.js +67 -0
  796. package/dist/web/environment/devices.d.ts +65 -0
  797. package/dist/web/environment/devices.js +82 -0
  798. package/dist/web/environment/emulation.d.ts +124 -0
  799. package/dist/web/environment/emulation.js +258 -0
  800. package/dist/web/environment/index.d.ts +15 -0
  801. package/dist/web/environment/index.js +15 -0
  802. package/dist/web/environment/probes.d.ts +18 -0
  803. package/dist/web/environment/probes.js +40 -0
  804. package/dist/web/environment/shaping.d.ts +90 -0
  805. package/dist/web/environment/shaping.js +141 -0
  806. package/dist/web/environment/status.d.ts +51 -0
  807. package/dist/web/environment/status.js +109 -0
  808. package/dist/web/environment/storage.d.ts +55 -0
  809. package/dist/web/environment/storage.js +142 -0
  810. package/dist/web/environment/tabs.d.ts +32 -0
  811. package/dist/web/environment/tabs.js +47 -0
  812. package/dist/web/environment/view.d.ts +10 -0
  813. package/dist/web/environment/view.js +42 -0
  814. package/dist/web/evaluate/index.d.ts +6 -0
  815. package/dist/web/evaluate/index.js +6 -0
  816. package/dist/web/evaluate/outcome.d.ts +74 -0
  817. package/dist/web/evaluate/outcome.js +91 -0
  818. package/dist/web/evaluate/probe.d.ts +31 -0
  819. package/dist/web/evaluate/probe.js +303 -0
  820. package/dist/web/index.d.ts +47 -0
  821. package/dist/web/index.js +47 -0
  822. package/dist/web/input/index.d.ts +11 -0
  823. package/dist/web/input/index.js +11 -0
  824. package/dist/web/input/keys.d.ts +48 -0
  825. package/dist/web/input/keys.js +189 -0
  826. package/dist/web/input/pointer.d.ts +56 -0
  827. package/dist/web/input/pointer.js +77 -0
  828. package/dist/web/input/touch.d.ts +61 -0
  829. package/dist/web/input/touch.js +83 -0
  830. package/dist/web/mermaid.d.ts +69 -0
  831. package/dist/web/mermaid.js +223 -0
  832. package/dist/web/paths.d.ts +16 -0
  833. package/dist/web/paths.js +27 -0
  834. package/dist/web/perf/heap.d.ts +42 -0
  835. package/dist/web/perf/heap.js +73 -0
  836. package/dist/web/perf/index.d.ts +14 -0
  837. package/dist/web/perf/index.js +14 -0
  838. package/dist/web/perf/layers.d.ts +98 -0
  839. package/dist/web/perf/layers.js +165 -0
  840. package/dist/web/perf/probe.d.ts +26 -0
  841. package/dist/web/perf/probe.js +123 -0
  842. package/dist/web/perf/profile.d.ts +53 -0
  843. package/dist/web/perf/profile.js +97 -0
  844. package/dist/web/perf/trace.d.ts +152 -0
  845. package/dist/web/perf/trace.js +429 -0
  846. package/dist/web/perf/view.d.ts +6 -0
  847. package/dist/web/perf/view.js +86 -0
  848. package/dist/web/perf/vitals.d.ts +141 -0
  849. package/dist/web/perf/vitals.js +175 -0
  850. package/dist/web/reader.d.ts +131 -0
  851. package/dist/web/reader.js +340 -0
  852. package/dist/web/screenshot.d.ts +50 -0
  853. package/dist/web/screenshot.js +108 -0
  854. package/dist/web/search.d.ts +49 -0
  855. package/dist/web/search.js +137 -0
  856. package/dist/web/session/artifacts.d.ts +32 -0
  857. package/dist/web/session/artifacts.js +47 -0
  858. package/dist/web/session/emulation.d.ts +118 -0
  859. package/dist/web/session/emulation.js +307 -0
  860. package/dist/web/session/recording.d.ts +51 -0
  861. package/dist/web/session/recording.js +64 -0
  862. package/dist/web/session/settling.d.ts +42 -0
  863. package/dist/web/session/settling.js +104 -0
  864. package/dist/web/session/shaping.d.ts +48 -0
  865. package/dist/web/session/shaping.js +113 -0
  866. package/dist/web/session/sourcemaps.d.ts +64 -0
  867. package/dist/web/session/sourcemaps.js +135 -0
  868. package/dist/web/session/telemetry.d.ts +219 -0
  869. package/dist/web/session/telemetry.js +486 -0
  870. package/dist/web/session/wires.d.ts +22 -0
  871. package/dist/web/session/wires.js +11 -0
  872. package/dist/web/session.d.ts +1153 -0
  873. package/dist/web/session.js +3400 -0
  874. package/dist/web/snapshot/deep.d.ts +36 -0
  875. package/dist/web/snapshot/deep.js +91 -0
  876. package/dist/web/snapshot/flatten.d.ts +101 -0
  877. package/dist/web/snapshot/flatten.js +131 -0
  878. package/dist/web/snapshot/index.d.ts +8 -0
  879. package/dist/web/snapshot/index.js +10 -0
  880. package/dist/web/snapshot/presented.d.ts +32 -0
  881. package/dist/web/snapshot/presented.js +74 -0
  882. package/dist/web/snapshot/query.d.ts +67 -0
  883. package/dist/web/snapshot/query.js +136 -0
  884. package/dist/web/sourcemap/index.d.ts +9 -0
  885. package/dist/web/sourcemap/index.js +9 -0
  886. package/dist/web/sourcemap/mappings.d.ts +111 -0
  887. package/dist/web/sourcemap/mappings.js +218 -0
  888. package/dist/web/styles/capture.d.ts +49 -0
  889. package/dist/web/styles/capture.js +85 -0
  890. package/dist/web/styles/cascade.d.ts +107 -0
  891. package/dist/web/styles/cascade.js +275 -0
  892. package/dist/web/styles/curation.d.ts +45 -0
  893. package/dist/web/styles/curation.js +282 -0
  894. package/dist/web/styles/index.d.ts +10 -0
  895. package/dist/web/styles/index.js +10 -0
  896. package/dist/web/target/index.d.ts +7 -0
  897. package/dist/web/target/index.js +7 -0
  898. package/dist/web/target/refusals.d.ts +59 -0
  899. package/dist/web/target/refusals.js +305 -0
  900. package/dist/web/target/target.d.ts +59 -0
  901. package/dist/web/target/target.js +94 -0
  902. package/dist/web/telemetry/buffer.d.ts +35 -0
  903. package/dist/web/telemetry/buffer.js +72 -0
  904. package/dist/web/telemetry/console.d.ts +127 -0
  905. package/dist/web/telemetry/console.js +217 -0
  906. package/dist/web/telemetry/dialogs.d.ts +41 -0
  907. package/dist/web/telemetry/dialogs.js +38 -0
  908. package/dist/web/telemetry/downloads.d.ts +42 -0
  909. package/dist/web/telemetry/downloads.js +65 -0
  910. package/dist/web/telemetry/failure.d.ts +31 -0
  911. package/dist/web/telemetry/failure.js +72 -0
  912. package/dist/web/telemetry/har.d.ts +97 -0
  913. package/dist/web/telemetry/har.js +227 -0
  914. package/dist/web/telemetry/index.d.ts +18 -0
  915. package/dist/web/telemetry/index.js +18 -0
  916. package/dist/web/telemetry/lifecycle.d.ts +69 -0
  917. package/dist/web/telemetry/lifecycle.js +120 -0
  918. package/dist/web/telemetry/network.d.ts +152 -0
  919. package/dist/web/telemetry/network.js +130 -0
  920. package/dist/web/telemetry/requests.d.ts +31 -0
  921. package/dist/web/telemetry/requests.js +119 -0
  922. package/dist/web/telemetry/sockets.d.ts +56 -0
  923. package/dist/web/telemetry/sockets.js +101 -0
  924. package/dist/web/telemetry/view.d.ts +16 -0
  925. package/dist/web/telemetry/view.js +125 -0
  926. package/dist/web/wait/conditions.d.ts +87 -0
  927. package/dist/web/wait/conditions.js +100 -0
  928. package/dist/web/wait/index.d.ts +6 -0
  929. package/dist/web/wait/index.js +6 -0
  930. package/dist/web/wait/settle.d.ts +54 -0
  931. package/dist/web/wait/settle.js +84 -0
  932. package/dist/work/ask.d.ts +45 -0
  933. package/dist/work/ask.js +85 -0
  934. package/dist/work/author.d.ts +61 -0
  935. package/dist/work/author.js +144 -0
  936. package/dist/work/broker.d.ts +151 -0
  937. package/dist/work/broker.js +165 -0
  938. package/dist/work/events.d.ts +98 -0
  939. package/dist/work/events.js +57 -0
  940. package/dist/work/history.d.ts +69 -0
  941. package/dist/work/history.js +174 -0
  942. package/dist/work/index.d.ts +49 -0
  943. package/dist/work/index.js +33 -0
  944. package/dist/work/inplay.d.ts +43 -0
  945. package/dist/work/inplay.js +42 -0
  946. package/dist/work/memory.d.ts +84 -0
  947. package/dist/work/memory.js +203 -0
  948. package/dist/work/objection.d.ts +92 -0
  949. package/dist/work/objection.js +72 -0
  950. package/dist/work/provider.d.ts +79 -0
  951. package/dist/work/provider.js +45 -0
  952. package/dist/work/providers/git.d.ts +29 -0
  953. package/dist/work/providers/git.js +87 -0
  954. package/dist/work/publish.d.ts +53 -0
  955. package/dist/work/publish.js +139 -0
  956. package/dist/work/rebase.d.ts +78 -0
  957. package/dist/work/rebase.js +261 -0
  958. package/dist/work/reclaim.d.ts +56 -0
  959. package/dist/work/reclaim.js +52 -0
  960. package/dist/work/register.d.ts +29 -0
  961. package/dist/work/register.js +41 -0
  962. package/dist/work/stack.d.ts +126 -0
  963. package/dist/work/stack.js +243 -0
  964. package/dist/work/stacks.d.ts +156 -0
  965. package/dist/work/stacks.js +524 -0
  966. package/dist/work/survey.d.ts +52 -0
  967. package/dist/work/survey.js +58 -0
  968. package/dist/work/tidy.d.ts +147 -0
  969. package/dist/work/tidy.js +136 -0
  970. package/dist/work/tree.d.ts +120 -0
  971. package/dist/work/tree.js +69 -0
  972. package/dist/work/unattended.d.ts +40 -0
  973. package/dist/work/unattended.js +57 -0
  974. package/package.json +145 -0
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Weighing what other people asked for against what the change does.
3
+ *
4
+ * A change under review usually arrives with threads already on it,
5
+ * some of them answered by later commits and never marked resolved.
6
+ * Working out which is slow, and getting it wrong is worse than slow:
7
+ * replying "fixed" to a thread nothing addressed reads as a brush-off,
8
+ * and re-fixing something already fixed wastes a round trip.
9
+ *
10
+ * So an audit judges each thread and says why, and that is all it
11
+ * does. It never posts, and it raises no findings: these are other
12
+ * people's words, and turning them into findings would put them into
13
+ * the review as ours. The reply stays a human decision, better
14
+ * informed.
15
+ */
16
+ import type { CritiqueDeps } from "./critique.js";
17
+ import { type Participant } from "./identity.js";
18
+ import { type AskRun, type RoundGiven } from "./run.js";
19
+ /**
20
+ * Where an inbound thread stands against the change.
21
+ *
22
+ * `elsewhere` is the one worth naming separately: in a stack, a thread
23
+ * on one change is often answered by a sibling, and reporting that as
24
+ * addressed would send somebody looking in the wrong diff.
25
+ */
26
+ export type Standing = "addressed" | "outstanding" | "elsewhere" | "unclear";
27
+ /** One judgement about one inbound thread. */
28
+ export interface ThreadAudit {
29
+ threadIndex: number;
30
+ participantId: string;
31
+ standing: Standing;
32
+ rationale: string;
33
+ /** Where in the change the auditor saw it, when it says. */
34
+ evidence?: string;
35
+ }
36
+ /** What came out of one auditor's answer. */
37
+ export interface AuditHarvest {
38
+ audits: ThreadAudit[];
39
+ warnings: string[];
40
+ }
41
+ /** What to audit, and who weighs it. */
42
+ export interface AuditRequest {
43
+ auditor: Participant;
44
+ prompt: string;
45
+ seq: number;
46
+ /** The threads put up, by the index a reader cites them as. */
47
+ threadIndices: number[];
48
+ /**
49
+ * The commit this round was formed against.
50
+ *
51
+ * Recorded for the same reason a council records one: a round that
52
+ * cannot say what it read cannot be judged against the change
53
+ * afterwards, and a standing on a thread is exactly the kind of
54
+ * answer that ages when the branch moves.
55
+ */
56
+ witness?: string;
57
+ /** Said when the tree the reviewers read was not that commit. */
58
+ unpinned?: string;
59
+ /** What the auditor was handed, besides the change. */
60
+ given?: RoundGiven;
61
+ }
62
+ /** The round, the judgements, and anything worth saying. */
63
+ export interface AuditResult {
64
+ run: AskRun;
65
+ audits: ThreadAudit[];
66
+ warnings: string[];
67
+ }
68
+ /** Read one auditor's answer, warning about what it dropped. */
69
+ export declare function harvestAudits(text: string, participantId: string, threadIndices: readonly number[]): AuditHarvest;
70
+ /** Put the inbound threads to an auditor and gather its judgements. */
71
+ export declare function runAudit(request: AuditRequest, deps: CritiqueDeps): Promise<AuditResult>;
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Weighing what other people asked for against what the change does.
3
+ *
4
+ * A change under review usually arrives with threads already on it,
5
+ * some of them answered by later commits and never marked resolved.
6
+ * Working out which is slow, and getting it wrong is worse than slow:
7
+ * replying "fixed" to a thread nothing addressed reads as a brush-off,
8
+ * and re-fixing something already fixed wastes a round trip.
9
+ *
10
+ * So an audit judges each thread and says why, and that is all it
11
+ * does. It never posts, and it raises no findings: these are other
12
+ * people's words, and turning them into findings would put them into
13
+ * the review as ours. The reply stays a human decision, better
14
+ * informed.
15
+ */
16
+ import { askOne } from "./council.js";
17
+ import { participantIdentity } from "./identity.js";
18
+ import { newRunId, whatItGave, whatItRead, } from "./run.js";
19
+ import { ANSWER_WAS_CUT_OFF, isRecord, readAnswer, wireText, wireWhole, } from "./wire.js";
20
+ /** The standings an auditor may report. */
21
+ const STANDINGS = [
22
+ "addressed",
23
+ "outstanding",
24
+ "elsewhere",
25
+ "unclear",
26
+ ];
27
+ /** Read one auditor's answer, warning about what it dropped. */
28
+ export function harvestAudits(text, participantId, threadIndices) {
29
+ const { parsed, truncated } = readAnswer(text, "audits");
30
+ const held = parsed?.audits;
31
+ if (!Array.isArray(held)) {
32
+ return {
33
+ audits: [],
34
+ warnings: [
35
+ "Nothing in this answer parsed as an audits array, so no judgements could be read from it.",
36
+ ],
37
+ };
38
+ }
39
+ const put = new Set(threadIndices);
40
+ const audits = [];
41
+ const warnings = [];
42
+ if (truncated)
43
+ warnings.push(ANSWER_WAS_CUT_OFF);
44
+ for (const [index, entry] of held.entries()) {
45
+ const one = readAudit(entry, index, participantId, put, warnings);
46
+ if (one !== undefined)
47
+ audits.push(one);
48
+ }
49
+ return { audits, warnings };
50
+ }
51
+ /** Put the inbound threads to an auditor and gather its judgements. */
52
+ export async function runAudit(request, deps) {
53
+ const startedAt = deps.now();
54
+ const id = newRunId("audit", startedAt, request.seq);
55
+ // Nothing to audit means nobody to ask, and holding no
56
+ // participants is how the run says it asked nobody rather than
57
+ // that somebody answered with nothing.
58
+ if (request.threadIndices.length === 0) {
59
+ return {
60
+ run: {
61
+ id,
62
+ round: "audit",
63
+ startedAt: startedAt.toISOString(),
64
+ participants: [],
65
+ outcomes: [],
66
+ ...whatItRead(request),
67
+ ...whatItGave(request),
68
+ },
69
+ audits: [],
70
+ warnings: [],
71
+ };
72
+ }
73
+ // One auditor rather than a roster, so askRoster would be a fan-out
74
+ // of one. It still reports: a lone audit reading a long thread looks
75
+ // just as hung as six reviewers do. That is `askOne`'s job now, said
76
+ // once for every round with a single participant rather than spelled
77
+ // out here in beats the judge then forgot to copy.
78
+ const answer = await askOne(request.auditor, request.prompt, id, deps);
79
+ deps.progress?.finish();
80
+ const warnings = [];
81
+ const audits = [];
82
+ const outcome = (() => {
83
+ if ("failure" in answer) {
84
+ return {
85
+ participantId: request.auditor.id,
86
+ findingIds: [],
87
+ failure: answer.failure,
88
+ };
89
+ }
90
+ const harvest = harvestAudits(answer.text, request.auditor.id, request.threadIndices);
91
+ audits.push(...harvest.audits);
92
+ for (const warning of harvest.warnings) {
93
+ warnings.push(`${request.auditor.id}: ${warning}`);
94
+ }
95
+ return {
96
+ participantId: request.auditor.id,
97
+ // An audit raises no findings, on purpose.
98
+ findingIds: [],
99
+ ...(answer.stopped === undefined ? {} : { stopped: answer.stopped }),
100
+ ...(answer.answerPath === undefined
101
+ ? {}
102
+ : { answerPath: answer.answerPath }),
103
+ ...(answer.usage === undefined ? {} : { usage: answer.usage }),
104
+ };
105
+ })();
106
+ return {
107
+ run: {
108
+ id,
109
+ round: "audit",
110
+ startedAt: startedAt.toISOString(),
111
+ // Held as a judge: an auditor weighs what exists rather than
112
+ // finding anything, which is the judging role.
113
+ participants: [participantIdentity("judge", request.auditor)],
114
+ outcomes: [outcome],
115
+ ...whatItRead(request),
116
+ ...whatItGave(request),
117
+ },
118
+ audits,
119
+ warnings,
120
+ };
121
+ }
122
+ /** One judgement, or nothing plus a warning saying why. */
123
+ function readAudit(entry, index, participantId, put, warnings) {
124
+ const at = `audits[${index}]`;
125
+ if (!isRecord(entry)) {
126
+ warnings.push(`${at} is not an object, so it was dropped.`);
127
+ return undefined;
128
+ }
129
+ const threadIndex = wireWhole(entry.threadIndex);
130
+ if (threadIndex === undefined) {
131
+ warnings.push(`${at} names no thread, so it was dropped.`);
132
+ return undefined;
133
+ }
134
+ if (!put.has(threadIndex)) {
135
+ warnings.push(`${at} judges thread ${threadIndex}, which was not among the threads put up, so it was dropped.`);
136
+ return undefined;
137
+ }
138
+ const standing = wireText(entry.standing);
139
+ if (standing === undefined || !STANDINGS.includes(standing)) {
140
+ warnings.push(`${at} reports the standing "${standing ?? "nothing"}", which is not one of ${STANDINGS.join(", ")}, so it was dropped.`);
141
+ return undefined;
142
+ }
143
+ const rationale = wireText(entry.rationale);
144
+ if (rationale === undefined) {
145
+ // An audit exists to inform a reply, and a standing with no
146
+ // argument gives the person replying nothing to say.
147
+ warnings.push(`${at} gives no rationale, so it was dropped: a standing with no argument gives whoever replies nothing to say.`);
148
+ return undefined;
149
+ }
150
+ const evidence = wireText(entry.evidence);
151
+ return {
152
+ threadIndex,
153
+ participantId,
154
+ standing: standing,
155
+ rationale,
156
+ ...(evidence === undefined ? {} : { evidence }),
157
+ };
158
+ }
@@ -0,0 +1,41 @@
1
+ import type { AskAnswer, CouncilDeps, CouncilResult } from "./council.js";
2
+ import type { AskRun } from "./run.js";
3
+ /**
4
+ * What collecting a round needs, which is less than running one.
5
+ *
6
+ * No `ask`, because nobody is being asked: the answers already exist.
7
+ * No `opened`, because the round was written down when it opened and
8
+ * that is how it was found. No clock, because a collected round keeps
9
+ * the time it started rather than the time somebody noticed it.
10
+ */
11
+ export type CollectDeps = Pick<CouncilDeps, "record"> & Partial<Pick<CouncilDeps, "progress">> & {
12
+ /**
13
+ * Persist the round as each participant is filed.
14
+ *
15
+ * Collecting writes findings against the change and nothing
16
+ * undoes that. Filing every one of them and recording the round
17
+ * once at the end leaves a window where the findings exist and
18
+ * the round still says nobody collected it, and the only thing
19
+ * anybody can do with such a round is collect it again, which
20
+ * files all of them a second time.
21
+ *
22
+ * Written after each participant instead, so an interrupted
23
+ * collect leaves durable progress and the next one skips what is
24
+ * already there. Optional, and a caller that omits it has the
25
+ * window back.
26
+ */
27
+ progressed?(run: AskRun): Promise<void>;
28
+ };
29
+ /**
30
+ * Finish a round from what its reviewers left behind.
31
+ *
32
+ * The round that opened is the round that settles: its id, its start
33
+ * time, its participants and their order all come off the record
34
+ * rather than being minted again, because a collected round is the
35
+ * same round arriving late and a new id would make it a second one.
36
+ *
37
+ * Every answer goes through the same recording path a live reply
38
+ * takes, so a finding collected an hour afterwards is numbered,
39
+ * anchored and warned about exactly as it would have been at the time.
40
+ */
41
+ export declare function collectRound(run: AskRun, answers: ReadonlyMap<string, AskAnswer>, deps: CollectDeps): Promise<CouncilResult>;
@@ -0,0 +1,82 @@
1
+ import { recordReply } from "./council.js";
2
+ import { settleReplies } from "./progress.js";
3
+ import { whatItRead } from "./run.js";
4
+ /** Said for a participant whose answer is not on disk. */
5
+ const NOTHING_LEFT = "nothing was left on disk to collect, so whatever this reviewer found is gone";
6
+ /**
7
+ * Finish a round from what its reviewers left behind.
8
+ *
9
+ * The round that opened is the round that settles: its id, its start
10
+ * time, its participants and their order all come off the record
11
+ * rather than being minted again, because a collected round is the
12
+ * same round arriving late and a new id would make it a second one.
13
+ *
14
+ * Every answer goes through the same recording path a live reply
15
+ * takes, so a finding collected an hour afterwards is numbered,
16
+ * anchored and warned about exactly as it would have been at the time.
17
+ */
18
+ export async function collectRound(run, answers, deps) {
19
+ const warnings = [];
20
+ const held = new Map(run.outcomes.map((one) => [one.participantId, one]));
21
+ const outcomes = await settleReplies(run.participants, async (participant) => {
22
+ // An outcome the round already has is left alone. A retry
23
+ // can substitute one into an unsettled round before anybody
24
+ // collects it, and those findings are in the store already:
25
+ // recording them again would file one observation twice and
26
+ // number it twice.
27
+ const already = held.get(participant.id);
28
+ if (already !== undefined)
29
+ return already;
30
+ const answer = answers.get(participant.id);
31
+ if (answer === undefined) {
32
+ return {
33
+ participantId: participant.id,
34
+ findingIds: [],
35
+ failure: NOTHING_LEFT,
36
+ };
37
+ }
38
+ const outcome = await recordReply({ participant: { id: participant.id }, answer },
39
+ // The whole fact, not the commit alone. Spreading half of
40
+ // it here was how the collect path went on stamping the
41
+ // change's head on findings harvested off a round that had
42
+ // read something else, which is the path most likely to be
43
+ // unpinned in the first place.
44
+ { runId: run.id, ...whatItRead(run) }, deps, warnings);
45
+ // Held straight away, so the next turn of this loop cannot
46
+ // lose what this one paid for.
47
+ held.set(outcome.participantId, outcome);
48
+ try {
49
+ await deps.progressed?.({ ...run, outcomes: [...held.values()] });
50
+ }
51
+ catch {
52
+ // The findings are recorded either way. A ledger that will
53
+ // not take an interim write is reported once at the end
54
+ // rather than seven times from in here.
55
+ }
56
+ return outcome;
57
+ }, (outcome) => ({
58
+ participantId: outcome.participantId,
59
+ findings: outcome.findingIds.length,
60
+ }), deps.progress);
61
+ // Collecting a round is what finishing it means, so the mark comes
62
+ // off. Leaving it would keep the alarm up for work that has now
63
+ // been recovered, and an alarm nobody can answer stops being read.
64
+ //
65
+ // Unless nothing was recovered. Settling then closes the file on a
66
+ // round whose work may be sitting somewhere else entirely, and the
67
+ // mark is one-way: nothing sets it again. The likeliest cause of
68
+ // finding nothing is looking in the wrong place, a different state
69
+ // directory or another machine, which is exactly when the record
70
+ // has to survive.
71
+ if (answers.size === 0) {
72
+ return {
73
+ run: { ...run, outcomes },
74
+ warnings: [
75
+ ...warnings,
76
+ `Nothing was found on disk for any of the ${run.participants.length} participants, so ${run.id} is left open rather than settled. Its transcripts may have been swept, or may be under a different state directory or on another machine.`,
77
+ ],
78
+ };
79
+ }
80
+ const { open: _settled, ...rest } = run;
81
+ return { run: { ...rest, outcomes }, warnings };
82
+ }
@@ -0,0 +1,290 @@
1
+ /**
2
+ * Asking a whole roster at once.
3
+ *
4
+ * Participants are asked concurrently, because the wait is the whole
5
+ * cost and there is no reason for six models to queue. Their
6
+ * findings are recorded **in roster order** regardless of who
7
+ * answered first, because people say finding numbers out loud and a
8
+ * number that depends on which model happened to be quickest would
9
+ * make the same run describe itself differently every time.
10
+ *
11
+ * Nothing one participant does can take the round down. A failure
12
+ * reported by the runner and an exception thrown by it are the same
13
+ * event seen from two sides, and both are recorded against that
14
+ * participant so the rest of the round survives. Losing five good
15
+ * reviews to one unavailable model would be the worst possible
16
+ * trade, given what a round costs to run.
17
+ */
18
+ import type { Finding } from "../finding.js";
19
+ import { type Participant } from "./identity.js";
20
+ import { type AskProgress } from "./progress.js";
21
+ import type { Roster } from "./roster.js";
22
+ import { type AskRound, type AskRun, type AskUsage, type ParticipantOutcome, type RoundGiven } from "./run.js";
23
+ /**
24
+ * Which limit ended a reviewer before it had finished.
25
+ *
26
+ * A limit is not a failure. The reviewer was working, and something
27
+ * on our side decided it had worked long enough, so the two are
28
+ * reported apart: a failure is the run never happening, and a stop
29
+ * is the run being taken away mid-sentence.
30
+ */
31
+ export type AskLimit = "wall-clock" | "idle"
32
+ /**
33
+ * Stopped inside its own budget, deliberately, so what it had
34
+ * could be asked for while there was still time to answer.
35
+ *
36
+ * The only limit here that is not something running out. The
37
+ * others describe a reviewer that was taken away; this one
38
+ * describes one that was asked.
39
+ */
40
+ | "soft-deadline" | "cancelled" | "parent-exit"
41
+ /**
42
+ * The process watching this reviewer went away mid-review.
43
+ *
44
+ * Distinct from parent-exit, which is the session above the
45
+ * supervisor going away while the supervisor lived to say so.
46
+ * Here the supervisor itself is what vanished, so nothing was
47
+ * written down about the ending and this is reconstructed from
48
+ * the reviewer's own journal being there with no result beside
49
+ * it. Nothing about a budget ran out, so no clock is quoted and
50
+ * the retry it permits is worth taking.
51
+ */
52
+ | "supervisor-lost";
53
+ /** A reviewer stopped before it finished, and what stopped it. */
54
+ export interface AskStop {
55
+ limit: AskLimit;
56
+ /** What happened, in the runner's own words. */
57
+ detail: string;
58
+ /**
59
+ * The budget it ran out of, where the limit is a clock.
60
+ *
61
+ * Recorded so a later retry can tell whether anything has moved.
62
+ * Without the number, the only way to find out whether asking
63
+ * again would hit the same wall is to ask again and watch.
64
+ */
65
+ budgetMs?: number;
66
+ }
67
+ /** What came back from asking one participant. */
68
+ export type AskAnswer = {
69
+ text: string;
70
+ usage?: AskUsage;
71
+ stopped?: AskStop;
72
+ /**
73
+ * What this participant had said before it was stopped, when
74
+ * the answer above is one it gave afterwards.
75
+ *
76
+ * Two answers rather than one joined, because only a reader
77
+ * that can count findings knows which is worth keeping, and
78
+ * joining them makes both unreadable.
79
+ */
80
+ earlierText?: string;
81
+ /**
82
+ * Findings this participant wrote down as it found them,
83
+ * rather than saving them for its answer.
84
+ *
85
+ * On the wire, unread, because reading one is this module's
86
+ * job and the thing that collected them cannot make a finding
87
+ * without knowing whose round it is.
88
+ */
89
+ recorded?: unknown[];
90
+ /**
91
+ * What went wrong that this answer cannot show for itself.
92
+ *
93
+ * A run can produce findings and still have gone badly: the
94
+ * process died after recording them, or its journal came
95
+ * back capped or unreadable. Neither is a failure, since
96
+ * there is an answer to read, and neither is visible in the
97
+ * answer. Without somewhere to put them the diagnosis is
98
+ * lost at this seam and a dead reviewer reads as a clean
99
+ * pass.
100
+ */
101
+ notes?: string[];
102
+ /** Where the answer was kept, when the runner kept it. */
103
+ answerPath?: string;
104
+ } | {
105
+ failure: string;
106
+ /**
107
+ * Something true of the session rather than of this
108
+ * participant, which the runner knew and this cannot.
109
+ *
110
+ * A stale pi install is the case it exists for: every
111
+ * reviewer fails with the same sentence, retrying is the one
112
+ * thing that cannot work, and only the side that spawned the
113
+ * process can tell that from an ordinary crash. Carried as a
114
+ * fact the runner states rather than left for a reader to
115
+ * infer from the shape of a message: matching on words means
116
+ * one library string-matching another's prose, and both are
117
+ * free to reword.
118
+ */
119
+ advisory?: string;
120
+ /**
121
+ * What it burned before it failed.
122
+ *
123
+ * A failure is not a free participant, and is usually the
124
+ * dearest one in the round: a reviewer that died at its
125
+ * deadline spent the whole budget to produce nothing. Dropped
126
+ * here, a round's cost is a total with its largest terms
127
+ * missing, which is worse than no total at all.
128
+ */
129
+ usage?: AskUsage;
130
+ };
131
+ /**
132
+ * What a round can tell a runner about itself.
133
+ *
134
+ * The runner is the thing that leaves artifacts behind, and it cannot
135
+ * work out which round it belongs to on its own. A transcript that
136
+ * cannot be traced back to the round that paid for it answers none of
137
+ * the questions a transcript is kept for.
138
+ */
139
+ export interface AskContext {
140
+ /** The round this ask belongs to, as the ledger names it. */
141
+ runId: string;
142
+ /**
143
+ * How a long-running ask says what it is doing. Optional to call
144
+ * and optional to receive: the library cannot see a subprocess, so
145
+ * activity only exists if the implementation volunteers it.
146
+ */
147
+ report?(activity: string): void;
148
+ }
149
+ /**
150
+ * Run one participant against the prompt, for a named round.
151
+ *
152
+ * Named once and shared by every round's deps. Each used to restate
153
+ * the signature, which is how two of them still had a bare report
154
+ * callback after the context arrived.
155
+ */
156
+ export type Ask = (participant: Participant, prompt: string, context: AskContext) => Promise<AskAnswer>;
157
+ /** The impure things asking needs. */
158
+ export interface CouncilDeps {
159
+ ask: Ask;
160
+ /** Put findings on the change, numbering them as they land. */
161
+ record(findings: Omit<Finding, "id">[]): Promise<Finding[]>;
162
+ now(): Date;
163
+ /**
164
+ * The round exists and nobody has been asked yet.
165
+ *
166
+ * Called once, before the first reviewer is dispatched, so a
167
+ * caller that keeps a ledger can write the round down before it
168
+ * becomes expensive rather than after it has already paid.
169
+ * Optional, because a round is worth more than the bookkeeping
170
+ * around it and most callers keep no ledger at all.
171
+ */
172
+ opened?(run: AskRun): Promise<void>;
173
+ /** Told what is happening while it happens. Optional. */
174
+ progress?: AskProgress;
175
+ }
176
+ /** What to ask, of whom. */
177
+ export interface CouncilRequest {
178
+ roster: Roster;
179
+ prompt: string;
180
+ /** Distinguishes two rounds started in the same millisecond. */
181
+ seq: number;
182
+ /** Commit under review, which anchors claim when the tree is it. */
183
+ witness?: string;
184
+ /** Said when the tree the reviewers read was not that commit. */
185
+ unpinned?: string;
186
+ /** What the reviewers were handed, besides the change. */
187
+ given?: RoundGiven;
188
+ /** Defaults to a council round. */
189
+ round?: AskRound;
190
+ }
191
+ /** The run, and anything worth telling the caller. */
192
+ export interface CouncilResult {
193
+ run: AskRun;
194
+ warnings: string[];
195
+ }
196
+ /** What one participant came back with, before it was recorded. */
197
+ export interface Reply {
198
+ participant: Participant;
199
+ answer: AskAnswer;
200
+ }
201
+ /**
202
+ * Ask every reviewer at once and hand the answers back in roster
203
+ * order.
204
+ *
205
+ * Shared with the stack round rather than written twice, because this
206
+ * is the part with the rules in it: concurrent asking, a thrown error
207
+ * and a reported one becoming the same thing, and the ordering that
208
+ * makes finding numbers stable. A stack round differs in what a reply
209
+ * *means*, not in how a roster is asked, and if the ordering rule ever
210
+ * changes both rounds have to change with it.
211
+ */
212
+ export declare function askRoster(roster: Roster, prompt: string, runId: string, deps: Pick<CouncilDeps, "ask" | "progress">): Promise<Reply[]>;
213
+ /**
214
+ * Ask one participant, reported the same way a roster is.
215
+ *
216
+ * A round with a single participant is still a round somebody is waiting
217
+ * on, and the wait is no shorter for being one subagent: a judge
218
+ * consolidating sixty findings takes as long as the council that raised
219
+ * them. Reporting was left to each round to remember, and the judge did
220
+ * not, so it ran to completion showing nothing at all.
221
+ *
222
+ * Beside `askRoster` rather than inside it, because a fan-out of one is
223
+ * not what this is: there is no ordering rule to share and no concurrency
224
+ * to arrange. What the two have in common is the beats they report, and
225
+ * this is the place that says what those are for one participant.
226
+ */
227
+ export declare function askOne(participant: Participant, prompt: string, runId: string, deps: Pick<CouncilDeps, "ask" | "progress">): Promise<AskAnswer>;
228
+ /** Ask a roster about a change and record what it says. */
229
+ export declare function runCouncil(request: CouncilRequest, deps: CouncilDeps): Promise<CouncilResult>;
230
+ /**
231
+ * A round at the moment it exists and nobody has been asked.
232
+ *
233
+ * Shared by the runner that waits for a round and the one that walks
234
+ * away from it, because a round's identity is one concept and two
235
+ * copies of it would drift. A detached round is collected back into
236
+ * the same listing as a live one, so an id minted differently, or a
237
+ * participant identified differently, would show up as two kinds of
238
+ * round rather than one round run two ways.
239
+ */
240
+ export declare function openingRun(request: CouncilRequest, startedAt: Date): AskRun;
241
+ /**
242
+ * What was thrown, said well enough to act on.
243
+ *
244
+ * A failure a runner reports is a sentence somebody wrote for a
245
+ * person, and it is left exactly as it is. A failure that was thrown
246
+ * is usually nobody's sentence: it is a message the runtime wrote,
247
+ * and on its own it does not say what kind of fault it was or where
248
+ * it happened.
249
+ *
250
+ * Measured, on a council that lost all seven reviewers to one
251
+ * TypeError. The ledger held "Cannot read properties of undefined
252
+ * (reading 'split')" and nothing else, which is true of every call to
253
+ * split in the dispatch path, so the diagnosis was an afternoon of
254
+ * reading them. The round is the expensive thing here and the ledger
255
+ * is what survives it, so the ledger has to carry enough to name the
256
+ * line.
257
+ *
258
+ * One frame, not the whole stack. The rest is this file's own
259
+ * machinery on every occasion, and a ledger entry is read in a table.
260
+ *
261
+ * A cause is carried when there is one. An error wrapped in another
262
+ * says the same little as the message this exists to improve on: the
263
+ * outer sentence names the layer that gave up and the inner one names
264
+ * what actually happened.
265
+ */
266
+ export declare function thrownAt(error: unknown): string;
267
+ /**
268
+ * What to say about a participant that did not get to finish.
269
+ *
270
+ * Shared with the stack round, which is the round most likely to be
271
+ * stopped and was saying nothing about it at all: it pushed the
272
+ * harvest's own warnings through, so a reviewer we interrupted was
273
+ * reported as having written a malformed answer.
274
+ */
275
+ export declare function stopWarning(stop: AskStop, kept: number, cutOff: boolean): string;
276
+ /**
277
+ * Harvest one reply, record what it held, and say how it went.
278
+ *
279
+ * Shared with collecting a round afterwards rather than written
280
+ * twice, because this is the part with the rules in it: reading a
281
+ * fragment against a wrap-up, folding in what was recorded, and
282
+ * deciding which warnings belong to the reviewer rather than to our
283
+ * deadline. A collected answer is the same answer arriving late, and
284
+ * a second copy of these rules would drift from this one.
285
+ */
286
+ export declare function recordReply(reply: Reply, run: {
287
+ runId: string;
288
+ witness?: string;
289
+ unpinned?: string;
290
+ }, deps: Pick<CouncilDeps, "record">, warnings: string[]): Promise<ParticipantOutcome>;