@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,53 @@
1
+ /**
2
+ * Refs lookup: read access into the registry plus parsing
3
+ * helpers and URL building.
4
+ *
5
+ * `parseRef` is for short strings (an alias value, a single
6
+ * link in a frontmatter scalar): it returns the first match
7
+ * across registered types. `parseAllRefs` is for long
8
+ * bodies of prose: it returns every match.
9
+ */
10
+ import type { Ref, RefType } from "./types.js";
11
+ /** Look up a registered type by its identifier. */
12
+ export declare function getRefType(type: string): RefType | undefined;
13
+ /** Snapshot of every registered type in registration order. */
14
+ export declare function listRefTypes(): RefType[];
15
+ /**
16
+ * Parse a short text fragment as a single ref. Returns the
17
+ * first match across registered types, walking the registry
18
+ * in registration order. Returns `undefined` when nothing
19
+ * matches.
20
+ *
21
+ * Use this for inputs the caller believes contains one ref
22
+ * (an alias scalar, a CLI argument, a single line of text).
23
+ * For longer prose use `parseAllRefs`.
24
+ */
25
+ export declare function parseRef(text: string): Ref | undefined;
26
+ /**
27
+ * Parse a longer body of text and return every ref found
28
+ * across registered types. Duplicate `{type, value}` pairs
29
+ * are dropped. Order follows registration order across
30
+ * types, then per-type match order within each.
31
+ */
32
+ export declare function parseAllRefs(text: string): Ref[];
33
+ /**
34
+ * Build a canonical URL from a structured ref. Returns
35
+ * `undefined` when the ref's type has no `url` function or
36
+ * when the value cannot be encoded.
37
+ */
38
+ export declare function urlForRef(ref: Ref): string | undefined;
39
+ /**
40
+ * Why this ref has no URL, or nothing when it has one.
41
+ *
42
+ * The counterpart to {@link urlForRef}, kept separate for the same
43
+ * reason the front-matter parser and its explainer are separate: most
44
+ * callers want a link or nothing, and only the one rendering a list a
45
+ * person reads has to account for the gap.
46
+ *
47
+ * Silence here is not the same as a missing link. A type with no URL
48
+ * form at all, like a person identity, is not failing to encode
49
+ * anything, so it says nothing and the caller shows no link and no
50
+ * complaint. A type that could encode and did not is where the reason
51
+ * comes from.
52
+ */
53
+ export declare function whyRefHasNoUrl(ref: Ref): string | undefined;
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Refs lookup: read access into the registry plus parsing
3
+ * helpers and URL building.
4
+ *
5
+ * `parseRef` is for short strings (an alias value, a single
6
+ * link in a frontmatter scalar): it returns the first match
7
+ * across registered types. `parseAllRefs` is for long
8
+ * bodies of prose: it returns every match.
9
+ */
10
+ import { get, list, parseAll } from "../internal/refs/registry.js";
11
+ /** Look up a registered type by its identifier. */
12
+ export function getRefType(type) {
13
+ return get(type);
14
+ }
15
+ /** Snapshot of every registered type in registration order. */
16
+ export function listRefTypes() {
17
+ return list();
18
+ }
19
+ /**
20
+ * Parse a short text fragment as a single ref. Returns the
21
+ * first match across registered types, walking the registry
22
+ * in registration order. Returns `undefined` when nothing
23
+ * matches.
24
+ *
25
+ * Use this for inputs the caller believes contains one ref
26
+ * (an alias scalar, a CLI argument, a single line of text).
27
+ * For longer prose use `parseAllRefs`.
28
+ */
29
+ export function parseRef(text) {
30
+ for (const rt of list()) {
31
+ const matches = rt.matchAll(text);
32
+ if (matches.length > 0)
33
+ return { type: rt.type, value: matches[0] };
34
+ }
35
+ return undefined;
36
+ }
37
+ /**
38
+ * Parse a longer body of text and return every ref found
39
+ * across registered types. Duplicate `{type, value}` pairs
40
+ * are dropped. Order follows registration order across
41
+ * types, then per-type match order within each.
42
+ */
43
+ export function parseAllRefs(text) {
44
+ return parseAll(text);
45
+ }
46
+ /**
47
+ * Build a canonical URL from a structured ref. Returns
48
+ * `undefined` when the ref's type has no `url` function or
49
+ * when the value cannot be encoded.
50
+ */
51
+ export function urlForRef(ref) {
52
+ const encoded = get(ref.type)?.url?.(ref.value);
53
+ if (encoded !== undefined)
54
+ return encoded;
55
+ // A value that is already a link is its own link. Sweeping the live
56
+ // store turned up refs under types nobody registered, several of
57
+ // them holding a whole `https://` URL and rendering as no link at
58
+ // all, which is absurd: `url: https://...` had a link in it the
59
+ // entire time. This is the identity function rather than an
60
+ // inference, so it invents nothing, and it runs second so a
61
+ // registered type's own encoding always wins.
62
+ return absoluteUrl(ref.value);
63
+ }
64
+ /** The value itself, when the value is already an http or https URL. */
65
+ function absoluteUrl(value) {
66
+ if (!/^https?:\/\//.test(value))
67
+ return undefined;
68
+ try {
69
+ return new URL(value).href === "" ? undefined : value;
70
+ }
71
+ catch {
72
+ // Starts like a URL and is not one. Nothing to hand back, and
73
+ // nothing worth complaining about either: an unregistered type
74
+ // never promised a link.
75
+ return undefined;
76
+ }
77
+ }
78
+ /**
79
+ * Why this ref has no URL, or nothing when it has one.
80
+ *
81
+ * The counterpart to {@link urlForRef}, kept separate for the same
82
+ * reason the front-matter parser and its explainer are separate: most
83
+ * callers want a link or nothing, and only the one rendering a list a
84
+ * person reads has to account for the gap.
85
+ *
86
+ * Silence here is not the same as a missing link. A type with no URL
87
+ * form at all, like a person identity, is not failing to encode
88
+ * anything, so it says nothing and the caller shows no link and no
89
+ * complaint. A type that could encode and did not is where the reason
90
+ * comes from.
91
+ */
92
+ export function whyRefHasNoUrl(ref) {
93
+ const type = get(ref.type);
94
+ if (type?.url === undefined)
95
+ return undefined;
96
+ if (type.url(ref.value) !== undefined)
97
+ return undefined;
98
+ return (type.whyNoUrl?.(ref.value) ??
99
+ // A type that can decline without explaining itself. Better than
100
+ // nothing, and it names the type so somebody knows where to look.
101
+ `"${ref.value}" is not a value the ${ref.type} type can turn into a link.`);
102
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Refs registration: add, remove and seed ref types in the
3
+ * package-wide registry.
4
+ *
5
+ * The registry is module-level; a single `RefType` per
6
+ * identifier wins. Re-registering the same identifier
7
+ * replaces the previous definition. The refs library does
8
+ * not auto-register the built-ins: callers (e.g. the quest
9
+ * extension) call `registerBuiltinRefTypes()` on activate
10
+ * to opt in.
11
+ */
12
+ import type { RefType } from "./types.js";
13
+ /**
14
+ * Register a ref type. Overwrites any previously registered
15
+ * type with the same `type` identifier.
16
+ */
17
+ export declare function registerRefType(refType: RefType): void;
18
+ /**
19
+ * Remove a ref type from the registry. Idempotent: removing
20
+ * an absent type is a no-op.
21
+ */
22
+ export declare function unregisterRefType(type: string): void;
23
+ /**
24
+ * Seed the registry with the built-in ref types:
25
+ * `github-issue`, `github-pr`, `github-repo`,
26
+ * `slack-message` and `slack-thread`. Idempotent;
27
+ * re-registers each definition on every call.
28
+ */
29
+ export declare function registerBuiltinRefTypes(): void;
30
+ /**
31
+ * Empty the registry. Intended for tests and `/reload`
32
+ * semantics; not for normal extension code.
33
+ */
34
+ export declare function clearRefTypes(): void;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Refs registration: add, remove and seed ref types in the
3
+ * package-wide registry.
4
+ *
5
+ * The registry is module-level; a single `RefType` per
6
+ * identifier wins. Re-registering the same identifier
7
+ * replaces the previous definition. The refs library does
8
+ * not auto-register the built-ins: callers (e.g. the quest
9
+ * extension) call `registerBuiltinRefTypes()` on activate
10
+ * to opt in.
11
+ */
12
+ import { BUILTIN_REF_TYPES } from "../internal/refs/builtins.js";
13
+ import { clear, register, unregister } from "../internal/refs/registry.js";
14
+ /**
15
+ * Register a ref type. Overwrites any previously registered
16
+ * type with the same `type` identifier.
17
+ */
18
+ export function registerRefType(refType) {
19
+ register(refType);
20
+ }
21
+ /**
22
+ * Remove a ref type from the registry. Idempotent: removing
23
+ * an absent type is a no-op.
24
+ */
25
+ export function unregisterRefType(type) {
26
+ unregister(type);
27
+ }
28
+ /**
29
+ * Seed the registry with the built-in ref types:
30
+ * `github-issue`, `github-pr`, `github-repo`,
31
+ * `slack-message` and `slack-thread`. Idempotent;
32
+ * re-registers each definition on every call.
33
+ */
34
+ export function registerBuiltinRefTypes() {
35
+ for (const rt of BUILTIN_REF_TYPES)
36
+ register(rt);
37
+ }
38
+ /**
39
+ * Empty the registry. Intended for tests and `/reload`
40
+ * semantics; not for normal extension code.
41
+ */
42
+ export function clearRefTypes() {
43
+ clear();
44
+ }
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Types for the refs library.
3
+ *
4
+ * A `Ref` is a structured reference to an external system
5
+ * entity (a GitHub issue, a Slack thread, a Graphite PR).
6
+ * A `RefType` knows how to recognise its own surface forms
7
+ * in text and how to build a canonical URL from a stored
8
+ * value.
9
+ *
10
+ * The refs library is pluggable: consumers register their
11
+ * own types alongside the built-ins. The quest extension
12
+ * uses it to extract inline references from prose and to
13
+ * resolve aliases in frontmatter; downstream packages can
14
+ * register custom types (e.g. company-specific URL
15
+ * schemes) without forking the library.
16
+ */
17
+ /** A structured reference to an external entity. */
18
+ export interface Ref {
19
+ /**
20
+ * The ref type identifier registered via
21
+ * `registerRefType`, e.g. `"github-issue"`,
22
+ * `"slack-thread"`.
23
+ */
24
+ type: string;
25
+ /**
26
+ * The canonical value for this ref. Format is
27
+ * type-specific (e.g. `"shop/world#47281"` for
28
+ * `github-issue`, a Slack archive URL fragment for
29
+ * `slack-thread`). The type's `matchAll` produces this
30
+ * value; its `url` reverses it.
31
+ */
32
+ value: string;
33
+ }
34
+ /** Definition of a ref type. */
35
+ export interface RefType {
36
+ /**
37
+ * Unique identifier for this type. Used as the
38
+ * discriminator in `Ref.type` and the key in the
39
+ * registry. Convention is kebab-case with the system
40
+ * prefix, e.g. `"github-issue"`, `"slack-thread"`.
41
+ */
42
+ type: string;
43
+ /**
44
+ * Find every canonical value of this type in the given
45
+ * text. Returns an empty array when the text contains
46
+ * no matches. Implementations should be tolerant of
47
+ * arbitrary input: HTML, markdown prose, frontmatter
48
+ * scalars, single short strings.
49
+ */
50
+ matchAll(text: string): string[];
51
+ /**
52
+ * Build a canonical URL from a stored value. Optional:
53
+ * types that have no clean URL form (e.g. a person
54
+ * identity) omit this. Returns `undefined` when the
55
+ * value cannot be encoded.
56
+ */
57
+ url?(value: string): string | undefined;
58
+ /**
59
+ * Why {@link url} could not encode this value, or nothing when it
60
+ * could.
61
+ *
62
+ * A separate method rather than a richer return from `url`, for the
63
+ * reason the same split exists over quest front matter: almost
64
+ * every caller wants a URL or nothing, and making all of them
65
+ * unwrap a result to get a string they already had would be a worse
66
+ * trade than one extra optional method here.
67
+ *
68
+ * It exists because a silent `undefined` is how 621 stored Slack
69
+ * refs came to produce no link with nothing anywhere saying so. The
70
+ * value was fine, the type was fine, and the two simply disagreed
71
+ * about the shape: written from API data as `CHANNEL/TIMESTAMP`,
72
+ * read back by a pattern wanting `workspace/CHANNEL/pTIMESTAMP`. A
73
+ * reason naming both shapes turns that from an invisible nothing
74
+ * into a thing somebody can fix.
75
+ *
76
+ * Implement it wherever `url` can decline. A type without it is
77
+ * saying its values never fail to encode, which is true of a type
78
+ * that has no URL form at all.
79
+ */
80
+ whyNoUrl?(value: string): string | undefined;
81
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Types for the refs library.
3
+ *
4
+ * A `Ref` is a structured reference to an external system
5
+ * entity (a GitHub issue, a Slack thread, a Graphite PR).
6
+ * A `RefType` knows how to recognise its own surface forms
7
+ * in text and how to build a canonical URL from a stored
8
+ * value.
9
+ *
10
+ * The refs library is pluggable: consumers register their
11
+ * own types alongside the built-ins. The quest extension
12
+ * uses it to extract inline references from prose and to
13
+ * resolve aliases in frontmatter; downstream packages can
14
+ * register custom types (e.g. company-specific URL
15
+ * schemes) without forking the library.
16
+ */
17
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Public surface of the remote library.
3
+ *
4
+ * Naming a git remote to a person. Its own module for the reason
5
+ * `lib/exec` is: both `lib/review` and `lib/work` show a remote in
6
+ * their refusals, and neither owns the question of what a remote may
7
+ * safely say.
8
+ */
9
+ export { withoutCredentials } from "./name.js";
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Public surface of the remote library.
3
+ *
4
+ * Naming a git remote to a person. Its own module for the reason
5
+ * `lib/exec` is: both `lib/review` and `lib/work` show a remote in
6
+ * their refusals, and neither owns the question of what a remote may
7
+ * safely say.
8
+ */
9
+ export { withoutCredentials } from "./name.js";
@@ -0,0 +1,22 @@
1
+ /**
2
+ * A git remote URL as it is safe to show a person.
3
+ */
4
+ /**
5
+ * A remote URL with its credential removed, if it carried one.
6
+ *
7
+ * The whole userinfo goes, not just the password. A token is accepted
8
+ * in either position, so `token@host` is as much a secret as
9
+ * `user:token@host`, and keeping the user would leak exactly the form
10
+ * that looks harmless. What is lost is `git@` on an ssh URL, which
11
+ * names no one and is worth less than the rule being simple.
12
+ *
13
+ * Only URLs with a scheme. An scp-style remote, `git@host:path`, has
14
+ * no userinfo field to speak of and no way to carry a password, so it
15
+ * is left as written rather than rewritten into something the person
16
+ * reading it never typed.
17
+ *
18
+ * For display only. The remote a fetch is run against keeps whatever
19
+ * it needs to authenticate, because taking the credential out of that
20
+ * one would not hide it, it would break it.
21
+ */
22
+ export declare function withoutCredentials(remoteUrl: string): string;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * A git remote URL as it is safe to show a person.
3
+ */
4
+ /**
5
+ * The userinfo of a URL: everything between the scheme and the `@`
6
+ * that introduces the host. It cannot cross a slash, so an at sign
7
+ * later in the path is part of the path.
8
+ */
9
+ const USERINFO = /^([a-z][a-z0-9+.-]*:\/\/)[^/@]*@/i;
10
+ /**
11
+ * A remote URL with its credential removed, if it carried one.
12
+ *
13
+ * The whole userinfo goes, not just the password. A token is accepted
14
+ * in either position, so `token@host` is as much a secret as
15
+ * `user:token@host`, and keeping the user would leak exactly the form
16
+ * that looks harmless. What is lost is `git@` on an ssh URL, which
17
+ * names no one and is worth less than the rule being simple.
18
+ *
19
+ * Only URLs with a scheme. An scp-style remote, `git@host:path`, has
20
+ * no userinfo field to speak of and no way to carry a password, so it
21
+ * is left as written rather than rewritten into something the person
22
+ * reading it never typed.
23
+ *
24
+ * For display only. The remote a fetch is run against keeps whatever
25
+ * it needs to authenticate, because taking the credential out of that
26
+ * one would not hide it, it would break it.
27
+ */
28
+ export function withoutCredentials(remoteUrl) {
29
+ return remoteUrl.replace(USERINFO, "$1");
30
+ }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Deciding whether an answer needs a handle, and saying so.
3
+ *
4
+ * The rule is one sentence: cite a handle exactly when the stored
5
+ * payload holds more than the inline view shows. Both halves of
6
+ * that matter. Citing always would put a line of machinery on
7
+ * answers that are already complete, and train a reader to skip
8
+ * it, which is the same as not printing it. Citing only when asked
9
+ * would require the caller to know in advance that the page was
10
+ * enormous, and that is precisely the thing they called to find
11
+ * out.
12
+ *
13
+ * This lives in one place because every family needs the same
14
+ * decision and none of them should be making it. A tool that
15
+ * decided for itself would drift: one would cite at a kilobyte,
16
+ * another at a megabyte, a third would forget, and the caller
17
+ * would have to learn each one's habits instead of the rule.
18
+ */
19
+ import type { ResultStore } from "./store.js";
20
+ /** What a family knows about the answer it is about to give. */
21
+ export interface Citable<T> {
22
+ /** The whole payload, as a structure a query can walk. */
23
+ readonly payload: T;
24
+ /** The bounded text the caller reads first. */
25
+ readonly view: string;
26
+ /**
27
+ * How much of the payload the view actually shows, and how much
28
+ * there is. When these agree the view is the whole truth and no
29
+ * handle is cited.
30
+ */
31
+ readonly shown: number;
32
+ readonly total: number;
33
+ /** What the units are, for a sentence a human can read. */
34
+ readonly unit: string;
35
+ /**
36
+ * What the payload holds, when that is a different unit from the
37
+ * one being counted.
38
+ *
39
+ * A listing counts lines, because lines are what the reader can
40
+ * see and count for themselves, but what gets stored is the
41
+ * records those lines were rendered from. Without this the
42
+ * citation says all 797 lines are stored, which is false, and the
43
+ * family has to append a sentence taking it back. Driving Slack
44
+ * for real is what surfaced it: the answer claimed lines were
45
+ * stored and then said the payload was not lines, one after the
46
+ * other.
47
+ */
48
+ readonly stored?: {
49
+ readonly count?: number;
50
+ readonly unit: string;
51
+ };
52
+ /**
53
+ * Whether the view omits part of the payload for reasons of its
54
+ * own, with the counts agreeing.
55
+ *
56
+ * The counts answer "did the budget cut this", which is not the
57
+ * same question as "is this all of it". An audit prints five
58
+ * elements per rule and a count of the rest: every line it
59
+ * intended to write got written, so shown equals total, and
60
+ * without this the handle nobody needs more is the only one
61
+ * offered while the answer hiding eight thousand elements offers
62
+ * none.
63
+ */
64
+ readonly elided?: boolean;
65
+ }
66
+ /** An answer, with a handle when there is more to be had. */
67
+ export interface Cited {
68
+ /** The text to return: the view, and the citation when there is one. */
69
+ readonly text: string;
70
+ /** The handle, when the payload was stored. */
71
+ readonly handle?: string;
72
+ /** Where the payload landed, when it was stored. */
73
+ readonly path?: string;
74
+ }
75
+ /**
76
+ * Store a payload and cite it when the view does not show all of
77
+ * it.
78
+ *
79
+ * A failure to store is reported rather than thrown, and never
80
+ * costs the caller their answer: the view is what they asked for,
81
+ * the handle is a convenience, and losing a convenience is not
82
+ * worth losing a page read over.
83
+ */
84
+ export declare function cite<T>(store: ResultStore, answer: Citable<T>): Cited;
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Deciding whether an answer needs a handle, and saying so.
3
+ *
4
+ * The rule is one sentence: cite a handle exactly when the stored
5
+ * payload holds more than the inline view shows. Both halves of
6
+ * that matter. Citing always would put a line of machinery on
7
+ * answers that are already complete, and train a reader to skip
8
+ * it, which is the same as not printing it. Citing only when asked
9
+ * would require the caller to know in advance that the page was
10
+ * enormous, and that is precisely the thing they called to find
11
+ * out.
12
+ *
13
+ * This lives in one place because every family needs the same
14
+ * decision and none of them should be making it. A tool that
15
+ * decided for itself would drift: one would cite at a kilobyte,
16
+ * another at a megabyte, a third would forget, and the caller
17
+ * would have to learn each one's habits instead of the rule.
18
+ */
19
+ import { count } from "./counts.js";
20
+ import { summarizeJson } from "./digest.js";
21
+ import { queryTool } from "./follow.js";
22
+ /**
23
+ * Store a payload and cite it when the view does not show all of
24
+ * it.
25
+ *
26
+ * A failure to store is reported rather than thrown, and never
27
+ * costs the caller their answer: the view is what they asked for,
28
+ * the handle is a convenience, and losing a convenience is not
29
+ * worth losing a page read over.
30
+ */
31
+ export function cite(store, answer) {
32
+ if (answer.shown >= answer.total && !answer.elided) {
33
+ return { text: answer.view };
34
+ }
35
+ let stored;
36
+ try {
37
+ stored = store.put(JSON.stringify(answer.payload));
38
+ }
39
+ catch (err) {
40
+ return {
41
+ text: `${answer.view}\n\n${unstorable(answer, err)}`,
42
+ };
43
+ }
44
+ const digest = summarizeJson(answer.payload);
45
+ return {
46
+ text: `${answer.view}\n\n${citation(answer, stored.handle, digest)}`,
47
+ handle: stored.handle,
48
+ path: stored.path,
49
+ };
50
+ }
51
+ /**
52
+ * Whether a query could pick something smaller out of this.
53
+ *
54
+ * Objects and arrays have parts to name; a string or a number is
55
+ * one thing, and every expression that matches it matches the
56
+ * whole of it.
57
+ */
58
+ function hasFields(payload) {
59
+ return typeof payload === "object" && payload !== null;
60
+ }
61
+ /** The sentence that turns a handle into something usable. */
62
+ function citation(answer, handle, digest) {
63
+ const held = count(answer.total);
64
+ const seen = count(answer.shown);
65
+ const tool = queryTool();
66
+ const rest = tool === undefined
67
+ ? // Naming a tool that is not loaded is worse than saying
68
+ // nothing: it promises the rest of the data is one call
69
+ // away. The shape still helps a reader decide whether it
70
+ // is worth following up on.
71
+ `No tool in this session can read a handle, so this one ` +
72
+ `cannot be followed. Shape: ${digest}`
73
+ : hasFields(answer.payload)
74
+ ? `Query it with ${tool}, projecting the fields you want ` +
75
+ `rather than whole records. Shape: ${digest}`
76
+ : // Advice that cannot be followed is worse than none.
77
+ // Reading the body of a stylesheet stored 211,762
78
+ // bytes of minified css and said to project the
79
+ // fields wanted rather than whole records. There are
80
+ // no fields on a string, and the one expression that
81
+ // matches it returns every byte, so the advice led
82
+ // back into the dump the bound had just avoided.
83
+ `It has no fields to project, so ${tool} can only ` +
84
+ `return the whole of it at once. Shape: ${digest}`;
85
+ if (answer.elided && answer.shown >= answer.total) {
86
+ // Nothing was cut, so there is no shortfall in lines to report.
87
+ // Saying "renders 12 of 12 lines" next to a handle would invite
88
+ // the reader to conclude they had already seen everything.
89
+ const what = answer.stored?.count === undefined
90
+ ? `The whole ${answer.stored?.unit ?? "payload"}`
91
+ : `All ${count(answer.stored.count)} ${answer.stored.unit}`;
92
+ return (`${what} are stored under handle ${handle}; this view lists ` +
93
+ `only some of them. ${rest}`);
94
+ }
95
+ if (answer.stored !== undefined) {
96
+ // Two different counts, said once each: what is on disk, and how
97
+ // much of the rendering the reader is looking at.
98
+ if (answer.stored.count === undefined) {
99
+ // Nothing countable was identified, so the payload is described
100
+ // rather than counted. Inventing a count of one would read as a
101
+ // single record and send a caller looking for it.
102
+ return (`The whole ${answer.stored.unit} is stored under handle ` +
103
+ `${handle}, of which this answer renders ${seen} of ` +
104
+ `${held} ${answer.unit}. ${rest}`);
105
+ }
106
+ const kept = count(answer.stored.count);
107
+ return (`All ${kept} ${answer.stored.unit} are stored under handle ` +
108
+ `${handle}, of which this answer renders ${seen} of ` +
109
+ `${held} ${answer.unit}. ${rest}`);
110
+ }
111
+ return (`All ${held} ${answer.unit} are stored under handle ${handle}; ` +
112
+ `this answer shows ${seen}. ${rest}`);
113
+ }
114
+ /**
115
+ * Say that the rest is unreachable, rather than implying it is
116
+ * merely absent.
117
+ *
118
+ * A caller told nothing would reasonably assume the view was
119
+ * everything and reason from a fraction of the data.
120
+ */
121
+ function unstorable(answer, err) {
122
+ const why = err instanceof Error ? err.message : String(err);
123
+ return (`This answer shows ${count(answer.shown)} of ` +
124
+ `${count(answer.total)} ${answer.unit}. The remainder ` +
125
+ `could not be stored (${why}), so it is not retrievable: narrow the ` +
126
+ `call to see the rest.`);
127
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Writing a number down the same way everywhere.
3
+ *
4
+ * Citations are read by a language model and pinned by tests, and
5
+ * both want one answer. `toLocaleString` gives the machine's
6
+ * answer: the same count reads as 18,004 here and 18.004 on a
7
+ * runner configured for German, where a model has every reason to
8
+ * take it for eighteen and a bit.
9
+ *
10
+ * Grouped by hand rather than with an explicit locale, because
11
+ * locale data is a dependency of the runtime and this is not worth
12
+ * one.
13
+ */
14
+ /** A whole number, grouped in threes with commas. */
15
+ export declare function count(value: number): string;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Writing a number down the same way everywhere.
3
+ *
4
+ * Citations are read by a language model and pinned by tests, and
5
+ * both want one answer. `toLocaleString` gives the machine's
6
+ * answer: the same count reads as 18,004 here and 18.004 on a
7
+ * runner configured for German, where a model has every reason to
8
+ * take it for eighteen and a bit.
9
+ *
10
+ * Grouped by hand rather than with an explicit locale, because
11
+ * locale data is a dependency of the runtime and this is not worth
12
+ * one.
13
+ */
14
+ /** A whole number, grouped in threes with commas. */
15
+ export function count(value) {
16
+ return String(value).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
17
+ }