@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,98 @@
1
+ /**
2
+ * The bus contract between the working layer and its providers.
3
+ *
4
+ * A provider registers over the event bus rather than by importing
5
+ * the registry, so it can live in a different package from the host
6
+ * without either depending on the other's module graph. The names
7
+ * are versioned because the payload is a public contract; a breaking
8
+ * change ships as `:v2` beside the old one rather than quietly
9
+ * changing what `:v1` means.
10
+ *
11
+ * The names are owned by the domain, `work:`, not by whichever
12
+ * extension happens to host it. An event named after an extension
13
+ * makes every other extension depend on that one's continued
14
+ * existence, which is the coupling the bus is here to avoid.
15
+ *
16
+ * Both directions of the handshake matter. The host emits
17
+ * {@link WORK_READY} when its registry is live, and a provider
18
+ * listens for it so it can re-register after the host reloads. A
19
+ * provider also emits {@link WORK_REGISTER_TREE_PROVIDER} on its own
20
+ * activation, in case the host was already up. Either order works,
21
+ * and both are idempotent because registration replaces by id.
22
+ *
23
+ * A consumer needs the same courtesy for the opposite reason. The
24
+ * bus does not replay, so a consumer that activated after the host
25
+ * missed the announcement and has no way to know it happened.
26
+ * {@link WORK_REQUEST} is how it asks; the host answers by
27
+ * announcing itself again. Load order therefore decides nothing,
28
+ * which is the point: an extension cannot choose when it is loaded
29
+ * relative to another.
30
+ */
31
+ import type { TreeBroker, TreeProvider } from "./broker.js";
32
+ /** Emitted by the host once its registry accepts providers. */
33
+ export declare const WORK_READY = "work:ready:v1";
34
+ /** Emitted by a provider to register itself with the host. */
35
+ export declare const WORK_REGISTER_TREE_PROVIDER = "work:tree-provider:register:v1";
36
+ /**
37
+ * Emitted by a consumer asking the host to announce itself, for when
38
+ * the consumer loaded second and missed {@link WORK_READY}.
39
+ */
40
+ export declare const WORK_REQUEST = "work:request:v1";
41
+ /**
42
+ * Emitted before reclaiming trees, asking who else holds one.
43
+ *
44
+ * The working layer is not the only thing that cuts a worktree. A
45
+ * quest holds trees against a piece of work and knows nothing about
46
+ * this broker's memory, and any other package may do the same. From
47
+ * git's side those are indistinguishable from a tree somebody leaked:
48
+ * the directory is there, the broker has no record, and every check
49
+ * short of asking says abandoned.
50
+ *
51
+ * So reclamation asks first, and anything holding trees answers by
52
+ * pushing its paths onto {@link TreeClaims.paths}. Silence is the
53
+ * dangerous default here rather than the safe one, which is why this
54
+ * is a broadcast question and not a lookup against a registry: an
55
+ * owner that never registered still gets to speak, and an owner that
56
+ * is not loaded cannot be spoken for.
57
+ */
58
+ export declare const WORK_TREE_CLAIMS = "work:tree-claims:v1";
59
+ /** What holders write their trees into, in answer to the question. */
60
+ export interface TreeClaims {
61
+ /**
62
+ * Every tree some other substrate is holding.
63
+ *
64
+ * Appended to rather than returned, because there is no telling how
65
+ * many holders exist and a handler that replaced this would silently
66
+ * drop the answers of everything that ran before it.
67
+ */
68
+ paths: string[];
69
+ }
70
+ /**
71
+ * What the host hands out over {@link WORK_READY}.
72
+ *
73
+ * Adding a member to this, or to a type it hands back, is not the
74
+ * breaking change the version tag is for. A consumer that does not
75
+ * know about a member cannot call it, so every existing consumer
76
+ * keeps working unchanged; what breaks is a consumer calling a member
77
+ * an older host does not have, and that consumer is the one that has
78
+ * to be careful, since a version bump would only turn a missing
79
+ * method into a host it never hears from at all.
80
+ *
81
+ * Removing a member, renaming one, or changing what one returns is
82
+ * the breaking kind, and that is what ships as `:v2`.
83
+ */
84
+ export interface WorkApi {
85
+ /** Register a tree provider. Replaces one with the same id. */
86
+ registerTreeProvider(provider: TreeProvider): void;
87
+ /** Ids of every registered provider, most specific first. */
88
+ listTreeProviders(): readonly string[];
89
+ /**
90
+ * The host's own broker.
91
+ *
92
+ * Shared rather than rebuilt, so a consumer works against the
93
+ * same held trees the host does. A consumer with its own broker
94
+ * would hold a second set of trees for the same commits, cut
95
+ * them twice, and release each other's out from under them.
96
+ */
97
+ broker(): TreeBroker;
98
+ }
@@ -0,0 +1,57 @@
1
+ /**
2
+ * The bus contract between the working layer and its providers.
3
+ *
4
+ * A provider registers over the event bus rather than by importing
5
+ * the registry, so it can live in a different package from the host
6
+ * without either depending on the other's module graph. The names
7
+ * are versioned because the payload is a public contract; a breaking
8
+ * change ships as `:v2` beside the old one rather than quietly
9
+ * changing what `:v1` means.
10
+ *
11
+ * The names are owned by the domain, `work:`, not by whichever
12
+ * extension happens to host it. An event named after an extension
13
+ * makes every other extension depend on that one's continued
14
+ * existence, which is the coupling the bus is here to avoid.
15
+ *
16
+ * Both directions of the handshake matter. The host emits
17
+ * {@link WORK_READY} when its registry is live, and a provider
18
+ * listens for it so it can re-register after the host reloads. A
19
+ * provider also emits {@link WORK_REGISTER_TREE_PROVIDER} on its own
20
+ * activation, in case the host was already up. Either order works,
21
+ * and both are idempotent because registration replaces by id.
22
+ *
23
+ * A consumer needs the same courtesy for the opposite reason. The
24
+ * bus does not replay, so a consumer that activated after the host
25
+ * missed the announcement and has no way to know it happened.
26
+ * {@link WORK_REQUEST} is how it asks; the host answers by
27
+ * announcing itself again. Load order therefore decides nothing,
28
+ * which is the point: an extension cannot choose when it is loaded
29
+ * relative to another.
30
+ */
31
+ /** Emitted by the host once its registry accepts providers. */
32
+ export const WORK_READY = "work:ready:v1";
33
+ /** Emitted by a provider to register itself with the host. */
34
+ export const WORK_REGISTER_TREE_PROVIDER = "work:tree-provider:register:v1";
35
+ /**
36
+ * Emitted by a consumer asking the host to announce itself, for when
37
+ * the consumer loaded second and missed {@link WORK_READY}.
38
+ */
39
+ export const WORK_REQUEST = "work:request:v1";
40
+ /**
41
+ * Emitted before reclaiming trees, asking who else holds one.
42
+ *
43
+ * The working layer is not the only thing that cuts a worktree. A
44
+ * quest holds trees against a piece of work and knows nothing about
45
+ * this broker's memory, and any other package may do the same. From
46
+ * git's side those are indistinguishable from a tree somebody leaked:
47
+ * the directory is there, the broker has no record, and every check
48
+ * short of asking says abandoned.
49
+ *
50
+ * So reclamation asks first, and anything holding trees answers by
51
+ * pushing its paths onto {@link TreeClaims.paths}. Silence is the
52
+ * dangerous default here rather than the safe one, which is why this
53
+ * is a broadcast question and not a lookup against a registry: an
54
+ * owner that never registered still gets to speak, and an owner that
55
+ * is not loaded cannot be spoken for.
56
+ */
57
+ export const WORK_TREE_CLAIMS = "work:tree-claims:v1";
@@ -0,0 +1,69 @@
1
+ /**
2
+ * What a tree currently holds, and whether anything may move it.
3
+ *
4
+ * The working layer needs this before it re-points a tree, because
5
+ * stepping through a stack means checking a different commit out of
6
+ * a directory somebody may be working in. Overwriting a modified
7
+ * file is bad; overwriting an untracked one is unrecoverable, so an
8
+ * untracked file counts as work here rather than as noise.
9
+ */
10
+ import { type Exec } from "../exec/index.js";
11
+ import type { LocalBranch, WorktreeOnDisk } from "./tidy.js";
12
+ /** One path git reports as changed, and how. */
13
+ export interface ChangedPath {
14
+ path: string;
15
+ /** Staged for commit, as opposed to modified in the tree. */
16
+ staged: boolean;
17
+ kind: "modified" | "added" | "deleted" | "renamed" | "untracked";
18
+ }
19
+ /** What a tree holds beyond its last commit. */
20
+ export interface WorkingState {
21
+ clean: boolean;
22
+ changed: readonly ChangedPath[];
23
+ }
24
+ /**
25
+ * Where a tree points.
26
+ *
27
+ * `branch` is absent rather than empty when the tree is detached. A
28
+ * snapshot is detached by design, so inventing a name would make
29
+ * every snapshot look like a branch tree.
30
+ */
31
+ export interface TreeHead {
32
+ commit: string;
33
+ branch?: string;
34
+ }
35
+ /** Reading a tree's current state. */
36
+ export interface WorkHistory {
37
+ status(treePath: string): Promise<WorkingState>;
38
+ head(treePath: string): Promise<TreeHead>;
39
+ /**
40
+ * Every local branch, with what trunk and the remote say about it.
41
+ *
42
+ * Reported rather than acted on: deciding what is spent is
43
+ * {@link tidyPlan}'s job, and it needs all three facts together to
44
+ * tell a squash merge from lost work.
45
+ */
46
+ branches(treePath: string, trunk: string): Promise<LocalBranch[]>;
47
+ /**
48
+ * Every worktree git tracks for this repo, with what is in each.
49
+ *
50
+ * Reported rather than acted on, for the same reason as
51
+ * {@link branches}: whether a tree has been left behind is
52
+ * {@link orphanedTrees}'s decision, and it needs the merge state and
53
+ * the dirty state together to tell an abandoned tree from the only
54
+ * copy of somebody's work.
55
+ */
56
+ worktrees(treePath: string, trunk: string): Promise<WorktreeOnDisk[]>;
57
+ }
58
+ /** Read a tree's state with plain git. */
59
+ export declare function createGitHistory(deps: {
60
+ exec: Exec;
61
+ }): WorkHistory;
62
+ /**
63
+ * Why a tree may not be re-pointed, or nothing if it may.
64
+ *
65
+ * Returns the sentence rather than a boolean, because a refusal that
66
+ * does not say what is in the way leaves the person to go and look,
67
+ * which is the entire cost of refusing.
68
+ */
69
+ export declare function blocksRepoint(state: WorkingState): string | undefined;
@@ -0,0 +1,174 @@
1
+ /**
2
+ * What a tree currently holds, and whether anything may move it.
3
+ *
4
+ * The working layer needs this before it re-points a tree, because
5
+ * stepping through a stack means checking a different commit out of
6
+ * a directory somebody may be working in. Overwriting a modified
7
+ * file is bad; overwriting an untracked one is unrecoverable, so an
8
+ * untracked file counts as work here rather than as noise.
9
+ */
10
+ import { run } from "../exec/index.js";
11
+ import { displayPath } from "../ui/path.js";
12
+ /** Porcelain v1 status codes, mapped to what they mean. */
13
+ const KIND = {
14
+ M: "modified",
15
+ A: "added",
16
+ D: "deleted",
17
+ R: "renamed",
18
+ C: "added",
19
+ U: "modified",
20
+ };
21
+ /**
22
+ * Read one porcelain v1 line.
23
+ *
24
+ * The format is two status columns then a space then the path, and a
25
+ * rename carries both names as `old -> new`. The new name is the one
26
+ * that matters: it is what is on disk, and what a re-point would
27
+ * overwrite.
28
+ */
29
+ function parseLine(line) {
30
+ if (line.length < 4)
31
+ return undefined;
32
+ const [x, y] = [line[0], line[1]];
33
+ const raw = line.slice(3);
34
+ const path = raw.includes(" -> ") ? raw.split(" -> ")[1] : raw;
35
+ if (path === undefined || path === "")
36
+ return undefined;
37
+ if (x === "?" && y === "?") {
38
+ return { path, staged: false, kind: "untracked" };
39
+ }
40
+ const staged = x !== " " && x !== "?";
41
+ const code = staged ? x : y;
42
+ const kind = code === undefined ? undefined : KIND[code];
43
+ if (kind === undefined)
44
+ return undefined;
45
+ return { path, staged, kind };
46
+ }
47
+ /** Read a tree's state with plain git. */
48
+ export function createGitHistory(deps) {
49
+ return {
50
+ async status(treePath) {
51
+ const out = await run(deps.exec, "git", ["-C", treePath, "status", "--porcelain=v1", "--untracked-files=all"], `Reading what ${displayPath(treePath)} holds`);
52
+ const changed = out
53
+ .split("\n")
54
+ .map((line) => parseLine(line))
55
+ .filter((entry) => entry !== undefined);
56
+ return { clean: changed.length === 0, changed };
57
+ },
58
+ async head(treePath) {
59
+ const commit = (await run(deps.exec, "git", ["-C", treePath, "rev-parse", "HEAD"], `Reading where ${displayPath(treePath)} points`)).trim();
60
+ // A detached tree makes this fail rather than answer, which
61
+ // is the answer: there is no branch to name.
62
+ const branch = await deps.exec("git", [
63
+ "-C",
64
+ treePath,
65
+ "symbolic-ref",
66
+ "--short",
67
+ "HEAD",
68
+ ]);
69
+ if (branch.code !== 0)
70
+ return { commit };
71
+ const name = branch.stdout.trim();
72
+ return name === "" ? { commit } : { commit, branch: name };
73
+ },
74
+ async branches(treePath, trunk) {
75
+ // One pass for the whole picture. Asking `--merged` separately
76
+ // and joining the answers means two listings taken at different
77
+ // moments, and the join is on a name that can move between them.
78
+ const listed = await run(deps.exec, "git", [
79
+ "-C",
80
+ treePath,
81
+ "for-each-ref",
82
+ "--format=%(refname:short)\t%(upstream:short)\t%(upstream:track,nobracket)",
83
+ "refs/heads",
84
+ ], `Listing the branches in ${displayPath(treePath)}`);
85
+ const merged = new Set((await run(deps.exec, "git", [
86
+ "-C",
87
+ treePath,
88
+ "branch",
89
+ "--format=%(refname:short)",
90
+ "--merged",
91
+ trunk,
92
+ ], `Asking which branches ${trunk} already contains`))
93
+ .split("\n")
94
+ .map((line) => line.trim())
95
+ .filter((line) => line !== ""));
96
+ return listed
97
+ .split("\n")
98
+ .map((line) => line.split("\t"))
99
+ .filter(([name]) => name !== undefined && name !== "")
100
+ .map(([name, upstream, track]) => ({
101
+ name: name,
102
+ mergedIntoTrunk: merged.has(name),
103
+ ...(upstream ? { tracking: upstream } : {}),
104
+ // Git spells a vanished upstream "gone" in the track field,
105
+ // which is the only place it says so without a fetch.
106
+ ...(track === "gone" ? { remoteGone: true } : {}),
107
+ }));
108
+ },
109
+ async worktrees(treePath, trunk) {
110
+ // Porcelain, because the human-readable listing puts the branch
111
+ // in square brackets and a detached tree in the same column, so
112
+ // parsing it means telling those apart by punctuation.
113
+ const listed = await run(deps.exec, "git", ["-C", treePath, "worktree", "list", "--porcelain"], `Listing the worktrees beside ${displayPath(treePath)}`);
114
+ const merged = new Set((await run(deps.exec, "git", [
115
+ "-C",
116
+ treePath,
117
+ "branch",
118
+ "--format=%(refname:short)",
119
+ "--merged",
120
+ trunk,
121
+ ], `Asking which branches ${trunk} already contains`))
122
+ .split("\n")
123
+ .map((line) => line.trim())
124
+ .filter((line) => line !== ""));
125
+ // A porcelain record is a run of lines per tree, separated by a
126
+ // blank one: `worktree <path>`, then optionally `branch <ref>`
127
+ // or `detached`.
128
+ const trees = [];
129
+ for (const record of listed.split("\n\n")) {
130
+ let path;
131
+ let branch;
132
+ for (const line of record.split("\n")) {
133
+ if (line.startsWith("worktree "))
134
+ path = line.slice(9).trim();
135
+ if (line.startsWith("branch ")) {
136
+ branch = line
137
+ .slice(7)
138
+ .trim()
139
+ .replace(/^refs\/heads\//, "");
140
+ }
141
+ }
142
+ if (!path)
143
+ continue;
144
+ // Asked per tree, because a dirty tree is the one refusal here
145
+ // that cannot be recovered from and no listing reports it.
146
+ const state = await this.status(path);
147
+ trees.push({
148
+ path,
149
+ ...(branch ? { branch } : {}),
150
+ ...(state.clean ? {} : { dirty: true }),
151
+ ...(branch && merged.has(branch) ? { mergedIntoTrunk: true } : {}),
152
+ });
153
+ }
154
+ return trees;
155
+ },
156
+ };
157
+ }
158
+ /** How many paths a refusal names before it summarises. */
159
+ const NAMED_IN_REFUSAL = 5;
160
+ /**
161
+ * Why a tree may not be re-pointed, or nothing if it may.
162
+ *
163
+ * Returns the sentence rather than a boolean, because a refusal that
164
+ * does not say what is in the way leaves the person to go and look,
165
+ * which is the entire cost of refusing.
166
+ */
167
+ export function blocksRepoint(state) {
168
+ if (state.clean)
169
+ return undefined;
170
+ const named = state.changed.slice(0, NAMED_IN_REFUSAL).map((c) => c.path);
171
+ const rest = state.changed.length - named.length;
172
+ const tail = rest > 0 ? `, and ${rest} more` : "";
173
+ return `This tree is holding uncommitted work (${named.join(", ")}${tail}), so re-pointing it would throw that away. Commit it, stash it, or ask for a different tree.`;
174
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * The working layer: branches, commits, trees and stacks.
3
+ *
4
+ * Reviewing a change and working on one are different jobs, and
5
+ * this is the second. It is deliberately not called `git`: git is
6
+ * one implementation of it, and on a stacked workflow the backend
7
+ * that tracks the stack knows things plain git cannot be asked.
8
+ *
9
+ * Only the trees question is answered so far: where a tree gets
10
+ * cut from, and whether one already on disk answers a fresh
11
+ * request. Both are here before the council moves across, because
12
+ * the council cannot become provider-agnostic while it is asking a
13
+ * forge-shaped question.
14
+ */
15
+ export type { AskedRepo, TreeAsk, TreeRequestOutcome, } from "./ask.js";
16
+ export { treeRequestFrom } from "./ask.js";
17
+ export type { BranchOptions, CommitMessage, WorkAuthor, } from "./author.js";
18
+ export { createGitAuthor, namingComplaints, safeBranchName, } from "./author.js";
19
+ export type { HeldTree, TreeBroker, TreeProvider } from "./broker.js";
20
+ export { createTreeBroker } from "./broker.js";
21
+ export type { TreeClaims, WorkApi } from "./events.js";
22
+ export { WORK_READY, WORK_REGISTER_TREE_PROVIDER, WORK_REQUEST, WORK_TREE_CLAIMS, } from "./events.js";
23
+ export type { ChangedPath, TreeHead, WorkHistory, WorkingState, } from "./history.js";
24
+ export { blocksRepoint, createGitHistory } from "./history.js";
25
+ export type { TreeAmbiguous, TreeInPlay } from "./inplay.js";
26
+ export { chooseTree, treeInPlay } from "./inplay.js";
27
+ export { createTreeMemory, type TreeMemory } from "./memory.js";
28
+ export type { Objection, PublishIntent, PublishReview, } from "./objection.js";
29
+ export { cautionsFrom, refusalFrom, WORK_PUBLISH_CHECK, } from "./objection.js";
30
+ export type { TreeProviderChoice, TreeProviderInfo } from "./provider.js";
31
+ export { chooseTreeProvider } from "./provider.js";
32
+ export { createGitTreeProvider } from "./providers/git.js";
33
+ export type { PushOptions, PushOutcome, WorkPublisher } from "./publish.js";
34
+ export { createGitPublisher } from "./publish.js";
35
+ export type { RebaseOutcome, ResumeOutcome, WorkRebaser, } from "./rebase.js";
36
+ export { createGitRebaser } from "./rebase.js";
37
+ export type { ReclaimDeps, ReclaimedTree, ReclaimOutcome, } from "./reclaim.js";
38
+ export { reclaimTrees } from "./reclaim.js";
39
+ export { clearTreeProviders, listTreeProviders, registerTreeProvider, unregisterTreeProvider, } from "./register.js";
40
+ export type { Faulted, ReorderPlan, ReparentStep, ReplayStep, RestackPlan, StackedBranch, StackFault, StackOrder, } from "./stack.js";
41
+ export { descendantsOf, orderStack, planReorder, planRestack, reparentFault, } from "./stack.js";
42
+ export type { ReplayResult, RestackOutcome, ShapeOutcome, SyncOutcome, WorkStacks, } from "./stacks.js";
43
+ export { createGitStacks } from "./stacks.js";
44
+ export type { SurveyRequest, SurveyTarget } from "./survey.js";
45
+ export { surveyTarget } from "./survey.js";
46
+ export type { Kept, LocalBranch, OrphanAsk, OrphanPlan, Reclaimable, Removable, Retained, TidyAsk, TidyPlan, WorktreeOnDisk, } from "./tidy.js";
47
+ export { orphanedTrees, tidyPlan } from "./tidy.js";
48
+ export type { TreeIdentity, TreeRequest, TreeSource } from "./tree.js";
49
+ export { satisfies, treeIdentity, treeSource } from "./tree.js";
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The working layer: branches, commits, trees and stacks.
3
+ *
4
+ * Reviewing a change and working on one are different jobs, and
5
+ * this is the second. It is deliberately not called `git`: git is
6
+ * one implementation of it, and on a stacked workflow the backend
7
+ * that tracks the stack knows things plain git cannot be asked.
8
+ *
9
+ * Only the trees question is answered so far: where a tree gets
10
+ * cut from, and whether one already on disk answers a fresh
11
+ * request. Both are here before the council moves across, because
12
+ * the council cannot become provider-agnostic while it is asking a
13
+ * forge-shaped question.
14
+ */
15
+ export { treeRequestFrom } from "./ask.js";
16
+ export { createGitAuthor, namingComplaints, safeBranchName, } from "./author.js";
17
+ export { createTreeBroker } from "./broker.js";
18
+ export { WORK_READY, WORK_REGISTER_TREE_PROVIDER, WORK_REQUEST, WORK_TREE_CLAIMS, } from "./events.js";
19
+ export { blocksRepoint, createGitHistory } from "./history.js";
20
+ export { chooseTree, treeInPlay } from "./inplay.js";
21
+ export { createTreeMemory } from "./memory.js";
22
+ export { cautionsFrom, refusalFrom, WORK_PUBLISH_CHECK, } from "./objection.js";
23
+ export { chooseTreeProvider } from "./provider.js";
24
+ export { createGitTreeProvider } from "./providers/git.js";
25
+ export { createGitPublisher } from "./publish.js";
26
+ export { createGitRebaser } from "./rebase.js";
27
+ export { reclaimTrees } from "./reclaim.js";
28
+ export { clearTreeProviders, listTreeProviders, registerTreeProvider, unregisterTreeProvider, } from "./register.js";
29
+ export { descendantsOf, orderStack, planReorder, planRestack, reparentFault, } from "./stack.js";
30
+ export { createGitStacks } from "./stacks.js";
31
+ export { surveyTarget } from "./survey.js";
32
+ export { orphanedTrees, tidyPlan } from "./tidy.js";
33
+ export { satisfies, treeIdentity, treeSource } from "./tree.js";
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Which held tree a call should act on when nobody said.
3
+ *
4
+ * Fifteen of the tool's actions take a tree, and until this existed every one of them
5
+ * had to be told which, every time, even for a session holding exactly one. The review
6
+ * side solved the same problem for changes and the browser solved it before that for
7
+ * sessions; this is the third turn of one idea, so it is written the same way.
8
+ *
9
+ * It is deliberately less willing to guess than the change version, and the difference
10
+ * is worth stating. There, several attached changes resolve to the most recent, because
11
+ * attaching one is how somebody says what they are working on, so recency is a
12
+ * statement of intent. Nothing here makes that statement: trees accumulate as you cut
13
+ * them, and the tool's actions include committing, pushing and replaying, where acting
14
+ * on the wrong one rewrites work in a directory nobody was looking at. So one tree is
15
+ * used and several is a question.
16
+ */
17
+ /**
18
+ * The tree a call will act on.
19
+ *
20
+ * No note field, deliberately, and this is where it differs from the change version
21
+ * again. There, a note says which change was chosen, because a change is a thing you
22
+ * read and the answer need not mention it. Here every action already announces itself
23
+ * against the tree it acted on, as in `Recorded 3 paths in worktree-fix-410`, so a note
24
+ * would repeat what the next line says. A field nothing reads is worse than a missing
25
+ * one, because it does not present as missing.
26
+ */
27
+ export interface TreeInPlay {
28
+ readonly key: string;
29
+ }
30
+ /** No single answer, so the caller has to choose. */
31
+ export interface TreeAmbiguous {
32
+ readonly candidates: readonly string[];
33
+ }
34
+ /**
35
+ * Resolve the tree in play from what the caller said and what is held.
36
+ *
37
+ * An explicit name is never second-guessed, even when it matches nothing: somebody who
38
+ * names a tree means that tree, and a typo is better reported than quietly redirected
39
+ * to whatever else happens to be open.
40
+ */
41
+ export declare function treeInPlay(asked: string | undefined, held: readonly string[]): TreeInPlay | TreeAmbiguous;
42
+ /** Say what to choose between, when the choice cannot be made here. */
43
+ export declare function chooseTree(candidates: readonly string[]): string;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Which held tree a call should act on when nobody said.
3
+ *
4
+ * Fifteen of the tool's actions take a tree, and until this existed every one of them
5
+ * had to be told which, every time, even for a session holding exactly one. The review
6
+ * side solved the same problem for changes and the browser solved it before that for
7
+ * sessions; this is the third turn of one idea, so it is written the same way.
8
+ *
9
+ * It is deliberately less willing to guess than the change version, and the difference
10
+ * is worth stating. There, several attached changes resolve to the most recent, because
11
+ * attaching one is how somebody says what they are working on, so recency is a
12
+ * statement of intent. Nothing here makes that statement: trees accumulate as you cut
13
+ * them, and the tool's actions include committing, pushing and replaying, where acting
14
+ * on the wrong one rewrites work in a directory nobody was looking at. So one tree is
15
+ * used and several is a question.
16
+ */
17
+ /**
18
+ * Resolve the tree in play from what the caller said and what is held.
19
+ *
20
+ * An explicit name is never second-guessed, even when it matches nothing: somebody who
21
+ * names a tree means that tree, and a typo is better reported than quietly redirected
22
+ * to whatever else happens to be open.
23
+ */
24
+ export function treeInPlay(asked, held) {
25
+ if (asked !== undefined)
26
+ return { key: asked };
27
+ const [only, ...rest] = held;
28
+ if (only === undefined)
29
+ return { candidates: held };
30
+ if (rest.length > 0)
31
+ return { candidates: held };
32
+ return { key: only };
33
+ }
34
+ /** Say what to choose between, when the choice cannot be made here. */
35
+ export function chooseTree(candidates) {
36
+ if (candidates.length === 0) {
37
+ return ("No tree is held. Ask for one with work tree, naming the repo, the " +
38
+ "branch and what it is for.");
39
+ }
40
+ return (`Say which tree, by its key or its path. ${candidates.length} are held: ` +
41
+ `${candidates.join(", ")}.`);
42
+ }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Remembering the trees a session cut, so the next session can find them.
3
+ *
4
+ * The broker held its trees in an array, which is correct for exactly as long as
5
+ * the process lives. A worktree outlives the process by design, so the next
6
+ * session opened with the trees still on disk, git still tracking them, and
7
+ * every verb answering "no held tree": not merely a listing that forgot, but
8
+ * commits stranded in a directory the tool could no longer reach, releasable
9
+ * only through the `git worktree` call the guide tells you never to make.
10
+ *
11
+ * No test could see it. A test builds a broker and uses it, which is one
12
+ * process; the fault needs two.
13
+ *
14
+ * The directory stays the source of truth for whether a tree exists, and this
15
+ * only supplies the identity a directory name cannot faithfully carry. When the
16
+ * two disagree the directory wins, because somebody who deletes a tree by hand
17
+ * has said something and a stale record has not.
18
+ *
19
+ * A record also says who cut it, which is a later addition and the reason
20
+ * anything is ever reclaimed. Without it "remembered" and "held" were one set,
21
+ * so every tree ever cut answered "something still holds it" forever: measured
22
+ * at 59 records and 649MB on one machine, growing by a snapshot per review
23
+ * round.
24
+ */
25
+ import { type Owner, type ProcessFacts } from "../process/index.js";
26
+ import type { HeldTree } from "./broker.js";
27
+ /** Somewhere to write down what was cut. */
28
+ export interface TreeMemory {
29
+ /** Write a tree down, so a later session can find it. */
30
+ remember(held: HeldTree): void;
31
+ /**
32
+ * Write a tree down as held by this session.
33
+ *
34
+ * Separate from `remember`, which stays exactly as literal as it was: a
35
+ * caller replaying a record, or a test constructing one, must be able to
36
+ * write what it means rather than have this process's identity stamped
37
+ * over it.
38
+ */
39
+ rememberHeldByUs(held: HeldTree, facts?: ProcessFacts): Promise<void>;
40
+ /** Forget one, once it has genuinely gone. */
41
+ forget(path: string): void;
42
+ /** Every tree written down that is still on disk. */
43
+ recall(): readonly HeldTree[];
44
+ /**
45
+ * Those a running session still holds.
46
+ *
47
+ * Distinct from `recall`, which must keep returning a dead session's
48
+ * trees: reusing the snapshot a finished round left behind is the point
49
+ * of a shareable tree, and it is what lets six reviewers of one commit
50
+ * share one directory. This is the narrower question tidy asks, and only
51
+ * tidy: whether taking the directory away would pull it out from under
52
+ * somebody.
53
+ */
54
+ heldNow(facts?: ProcessFacts): Promise<readonly HeldTree[]>;
55
+ /**
56
+ * Those whose record does not say who cut them.
57
+ *
58
+ * A subset of what `heldNow` returns, since an unattributable tree is
59
+ * counted as held: this names them so a caller can report them as the
60
+ * decision they are rather than as a claim somebody made.
61
+ */
62
+ unattributed(): readonly HeldTree[];
63
+ /**
64
+ * Who else is standing in this tree, this session excluded.
65
+ *
66
+ * Only holders still running count, since a dead one is not
67
+ * somebody a release has to be careful of. Empty for a tree nobody
68
+ * else holds and for one whose record names nobody, which is right
69
+ * for a release: the caller asked to take its own tree down, and
70
+ * only another live session is a reason not to.
71
+ */
72
+ otherHolders(path: string, facts?: ProcessFacts): Promise<readonly Owner[]>;
73
+ /** Take this session off a tree's record, leaving the record. */
74
+ forgetUsAsHolder(path: string, facts?: ProcessFacts): Promise<void>;
75
+ }
76
+ /**
77
+ * Remember trees in a directory of small files, one per tree.
78
+ *
79
+ * A file per tree rather than one index, for the same reason the attachment
80
+ * store is shaped this way: two sessions cutting trees at once both write, and
81
+ * the loser of a read-modify-write race on a single index is a tree nobody can
82
+ * find. Separate files cannot collide, since the name is the tree's own key.
83
+ */
84
+ export declare function createTreeMemory(dir: string): TreeMemory;