@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,67 @@
1
+ /**
2
+ * The `notes` domain's CLI handler: one process per call, no
3
+ * persisted state -- every verb is fully determined by
4
+ * `notesRoot` plus its own params, so unlike `bin/quest.ts`
5
+ * there is no `.agentic-harness/notes-state.json` to load or
6
+ * save.
7
+ *
8
+ * notesRoot resolves the same way quest's questsRoot does: a
9
+ * single default location every tool on the machine sees
10
+ * unless told otherwise, not something that shifts under you
11
+ * as cwd changes. There's no sibling pi extension to alias
12
+ * onto (quest's default points at the exact path
13
+ * agentic-harness.pi's quest-workflow extension already
14
+ * writes to), so notes gets its own XDG-rooted default
15
+ * instead. Override with `--notes-root` or
16
+ * `AGENTIC_HARNESS_NOTES_ROOT` when the archive lives
17
+ * somewhere else -- e.g. a specific repo's notes tree.
18
+ */
19
+ import { homedir } from "node:os";
20
+ import { join } from "node:path";
21
+ import { create } from "../notes/verbs/create.js";
22
+ import { reparent, retitle, retype, tag } from "../notes/verbs/mutate.js";
23
+ import { find, show, tree, types } from "../notes/verbs/queries.js";
24
+ import { reindex } from "../notes/verbs/reindex.js";
25
+ /**
26
+ * Default notesRoot: an XDG data-dir location, mirroring how
27
+ * `bin/quest.ts`'s `defaultQuestsRoot` resolves.
28
+ */
29
+ export function defaultNotesRoot(env = process.env, home = homedir()) {
30
+ const override = env.XDG_DATA_HOME;
31
+ const root = override && override.length > 0 ? override : join(home, ".local", "share");
32
+ return join(root, "agentic-harness", "notes");
33
+ }
34
+ function resolveNotesRoot(flagValue) {
35
+ return (flagValue ?? process.env.AGENTIC_HARNESS_NOTES_ROOT ?? defaultNotesRoot());
36
+ }
37
+ /** Run one notes action against `notesRoot`, resolved from the flag/env/cwd chain. */
38
+ export async function runNotesAction(options, params) {
39
+ const notesRoot = resolveNotesRoot(options.notesRoot);
40
+ switch (options.action) {
41
+ case "create":
42
+ return create(notesRoot, params);
43
+ case "find":
44
+ return find(notesRoot, params);
45
+ case "show":
46
+ return show(notesRoot, params);
47
+ case "retype":
48
+ return retype(notesRoot, params);
49
+ case "retitle":
50
+ return retitle(notesRoot, params);
51
+ case "tag":
52
+ return tag(notesRoot, params);
53
+ case "reparent":
54
+ return reparent(notesRoot, params);
55
+ case "tree":
56
+ return tree(notesRoot, params);
57
+ case "types":
58
+ return types(notesRoot);
59
+ case "reindex":
60
+ return reindex(notesRoot);
61
+ default:
62
+ return {
63
+ ok: false,
64
+ guidance: `Unknown action "${options.action}". See the notes skill for the full list.`,
65
+ };
66
+ }
67
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A real `Exec`, spawning a child process.
3
+ *
4
+ * The one CLI-adapter concern this needs it for today is
5
+ * runRedirectGate's own `subject.exec`, which asks git about the
6
+ * checkout the way review's own git provider does — but through a
7
+ * plain process spawn rather than through any richer runtime a host
8
+ * might otherwise offer, since a stateless CLI invocation is not
9
+ * running inside one.
10
+ */
11
+ import type { Exec } from "../exec/index.js";
12
+ /** Run a command as a real child process. Never throws: a spawn failure
13
+ * (missing binary, ENOENT) reports as a non-zero code instead. */
14
+ export declare const processExec: Exec;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * A real `Exec`, spawning a child process.
3
+ *
4
+ * The one CLI-adapter concern this needs it for today is
5
+ * runRedirectGate's own `subject.exec`, which asks git about the
6
+ * checkout the way review's own git provider does — but through a
7
+ * plain process spawn rather than through any richer runtime a host
8
+ * might otherwise offer, since a stateless CLI invocation is not
9
+ * running inside one.
10
+ */
11
+ import { execFile } from "node:child_process";
12
+ /** Run a command as a real child process. Never throws: a spawn failure
13
+ * (missing binary, ENOENT) reports as a non-zero code instead. */
14
+ export const processExec = (command, args) => new Promise((resolve) => {
15
+ execFile(command, args, (error, stdout, stderr) => {
16
+ if (!error) {
17
+ resolve({ code: 0, stdout, stderr });
18
+ return;
19
+ }
20
+ // A real exit code is a number; a spawn failure (ENOENT, no
21
+ // permission) carries a string error code instead, and there
22
+ // is no process exit code to report, so it counts as failed.
23
+ const exitCode = error
24
+ .code;
25
+ resolve({
26
+ code: typeof exitCode === "number" ? exitCode : 1,
27
+ stdout,
28
+ stderr,
29
+ });
30
+ });
31
+ });
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The `quest` domain's CLI handler: one process per call, state
3
+ * read from and written back to a small JSON file the caller owns
4
+ * -- the same shape `bin/cli.ts`'s tdd handlers use.
5
+ *
6
+ * Unlike tdd's loop state, a quest's on-disk questsRoot is shared,
7
+ * deliberate infrastructure: by default it resolves to the exact
8
+ * XDG path agentic-harness.pi's own quest-workflow extension
9
+ * writes to (`~/.local/share/pi/agentic-harness.pi/quest-workflow/
10
+ * quests`, honouring XDG_DATA_HOME). That's not incidental -- an
11
+ * adapter with no override should see the same quest tree pi does,
12
+ * on the same machine, out of the box, since a quest tree is meant
13
+ * to be one shared campaign log across every tool that touches it.
14
+ * Override with `--quests-root` or `AGENTIC_HARNESS_QUESTS_ROOT`
15
+ * when that's not what's wanted.
16
+ *
17
+ * This CLI covers the subset of pi's quest-workflow verb surface
18
+ * that has no pi-specific session concept baked in: no per-session
19
+ * liveness in `show`/`list`, no automatic session-attach on `load`,
20
+ * no `session-*`/`spawn-*`/`workspace`/`recent`/`restore` (all keyed
21
+ * to pi's own session JSONL log and terminal-reopen mechanism, which
22
+ * this CLI has no equivalent for). An adapter with its own session
23
+ * story layers that on top of these verbs the way pi's own
24
+ * `extensions/quest-workflow` does.
25
+ */
26
+ import type { QuestResult, QuestToolParams } from "../quest/verbs/shared.js";
27
+ export interface QuestCliOptions {
28
+ action: string;
29
+ stateFile: string;
30
+ questsRoot: string | undefined;
31
+ }
32
+ /**
33
+ * Run one quest action: load state, dispatch, persist state, return
34
+ * the result. `params` is the caller's full params bag (parsed from
35
+ * stdin JSON by the caller); `action` is set on it from the CLI
36
+ * argv so callers don't have to repeat it in the JSON body.
37
+ */
38
+ export declare function runQuestAction(options: QuestCliOptions, params: QuestToolParams): Promise<QuestResult>;
@@ -0,0 +1,187 @@
1
+ /**
2
+ * The `quest` domain's CLI handler: one process per call, state
3
+ * read from and written back to a small JSON file the caller owns
4
+ * -- the same shape `bin/cli.ts`'s tdd handlers use.
5
+ *
6
+ * Unlike tdd's loop state, a quest's on-disk questsRoot is shared,
7
+ * deliberate infrastructure: by default it resolves to the exact
8
+ * XDG path agentic-harness.pi's own quest-workflow extension
9
+ * writes to (`~/.local/share/pi/agentic-harness.pi/quest-workflow/
10
+ * quests`, honouring XDG_DATA_HOME). That's not incidental -- an
11
+ * adapter with no override should see the same quest tree pi does,
12
+ * on the same machine, out of the box, since a quest tree is meant
13
+ * to be one shared campaign log across every tool that touches it.
14
+ * Override with `--quests-root` or `AGENTIC_HARNESS_QUESTS_ROOT`
15
+ * when that's not what's wanted.
16
+ *
17
+ * This CLI covers the subset of pi's quest-workflow verb surface
18
+ * that has no pi-specific session concept baked in: no per-session
19
+ * liveness in `show`/`list`, no automatic session-attach on `load`,
20
+ * no `session-*`/`spawn-*`/`workspace`/`recent`/`restore` (all keyed
21
+ * to pi's own session JSONL log and terminal-reopen mechanism, which
22
+ * this CLI has no equivalent for). An adapter with its own session
23
+ * story layers that on top of these verbs the way pi's own
24
+ * `extensions/quest-workflow` does.
25
+ */
26
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
27
+ import { homedir } from "node:os";
28
+ import { dirname, join } from "node:path";
29
+ import { registerBuiltinUrlFetchers } from "../quest/index.js";
30
+ import { createQuestState } from "../quest/state.js";
31
+ import { aliasAdd, aliasRemove } from "../quest/verbs/alias.js";
32
+ import { create, focus, list, load, reclassify, show, unfocus, unload, } from "../quest/verbs/lifecycle.js";
33
+ import { ancestors, expand, find, linksAction, locate, tree, who, } from "../quest/verbs/queries.js";
34
+ import { priorityJump, priorityShift, reorder, } from "../quest/verbs/reorder.js";
35
+ import { concludeOrRetire, reopenQuest, stageTransition, } from "../quest/verbs/stage.js";
36
+ import { reparent, undo } from "../quest/verbs/structural.js";
37
+ import { treeAdd, treeAdopt, treeExpand, treeList, treePrune, } from "../quest/verbs/tree-ops.js";
38
+ import { registerBuiltinRefTypes } from "../refs/index.js";
39
+ import { registerBuiltinTerminalDrivers } from "../terminal/index.js";
40
+ import { registerBuiltinTreeProviders } from "../tree/index.js";
41
+ /**
42
+ * Default questsRoot: the same location agentic-harness.pi's own
43
+ * quest-workflow extension resolves to, so both hosts see the same
44
+ * quest tree by default.
45
+ */
46
+ function defaultQuestsRoot(env = process.env, home = homedir()) {
47
+ const override = env.XDG_DATA_HOME;
48
+ const root = override && override.length > 0 ? override : join(home, ".local", "share");
49
+ return join(root, "pi", "agentic-harness.pi", "quest-workflow", "quests");
50
+ }
51
+ function resolveQuestsRoot(flagValue) {
52
+ return (flagValue ?? process.env.AGENTIC_HARNESS_QUESTS_ROOT ?? defaultQuestsRoot());
53
+ }
54
+ let registered = false;
55
+ function ensureRegistries() {
56
+ if (registered)
57
+ return;
58
+ registerBuiltinRefTypes();
59
+ registerBuiltinUrlFetchers();
60
+ registerBuiltinTerminalDrivers();
61
+ registerBuiltinTreeProviders();
62
+ registered = true;
63
+ }
64
+ async function loadState(stateFile, questsRoot) {
65
+ let state;
66
+ try {
67
+ const raw = await readFile(stateFile, "utf8");
68
+ state = JSON.parse(raw);
69
+ }
70
+ catch (error) {
71
+ if (error.code !== "ENOENT")
72
+ throw error;
73
+ state = createQuestState({ questsRoot });
74
+ }
75
+ state.questsRoot = questsRoot;
76
+ return state;
77
+ }
78
+ async function saveState(stateFile, state) {
79
+ await mkdir(dirname(stateFile), { recursive: true });
80
+ await writeFile(stateFile, `${JSON.stringify(state, null, 2)}\n`);
81
+ }
82
+ /**
83
+ * Run one quest action: load state, dispatch, persist state, return
84
+ * the result. `params` is the caller's full params bag (parsed from
85
+ * stdin JSON by the caller); `action` is set on it from the CLI
86
+ * argv so callers don't have to repeat it in the JSON body.
87
+ */
88
+ export async function runQuestAction(options, params) {
89
+ ensureRegistries();
90
+ const questsRoot = resolveQuestsRoot(options.questsRoot);
91
+ const state = await loadState(options.stateFile, questsRoot);
92
+ params.action = options.action;
93
+ const result = await dispatch(state, options.action, params);
94
+ await saveState(options.stateFile, state);
95
+ return result;
96
+ }
97
+ async function dispatch(state, action, params) {
98
+ switch (action) {
99
+ case "create":
100
+ return create(state, params);
101
+ case "load":
102
+ return load(state, params);
103
+ case "unload":
104
+ return unload(state);
105
+ case "show":
106
+ case "status":
107
+ return show(state, params);
108
+ case "list":
109
+ return list(state, params);
110
+ case "focus":
111
+ return focus(state, params);
112
+ case "unfocus":
113
+ return unfocus(state);
114
+ case "think":
115
+ case "draft":
116
+ case "build":
117
+ return stageTransition(state, action, params);
118
+ case "conclude":
119
+ case "retire":
120
+ return concludeOrRetire(state, action, params);
121
+ case "reopen":
122
+ return reopenQuest(state);
123
+ case "top":
124
+ case "bottom":
125
+ case "bump":
126
+ case "sink":
127
+ case "renumber":
128
+ case "before":
129
+ case "after":
130
+ return reorder(state, params);
131
+ case "reparent":
132
+ return reparent(state, params);
133
+ case "undo":
134
+ return undo(state);
135
+ case "alias-add":
136
+ return aliasAdd(state, params);
137
+ case "alias-remove":
138
+ return aliasRemove(state, params);
139
+ case "promote":
140
+ return priorityShift(state, "up", params);
141
+ case "demote":
142
+ return priorityShift(state, "down", params);
143
+ case "drive":
144
+ return priorityJump(state, "driving");
145
+ case "park":
146
+ return priorityJump(state, "bench");
147
+ case "defer":
148
+ return priorityJump(state, "someday");
149
+ case "reclassify":
150
+ return reclassify(state, params);
151
+ case "tree":
152
+ return tree(state, params);
153
+ case "tree-add":
154
+ return treeAdd(state, params);
155
+ case "tree-adopt":
156
+ return treeAdopt(state, params);
157
+ case "tree-list":
158
+ return treeList(state);
159
+ case "tree-prune":
160
+ return treePrune(state, params);
161
+ case "tree-expand":
162
+ return treeExpand(state, params);
163
+ case "expand":
164
+ return expand(state, params);
165
+ case "find":
166
+ return find(state, params);
167
+ case "who":
168
+ return who(state, params);
169
+ case "links":
170
+ return linksAction(state, params);
171
+ case "locate":
172
+ return locate(state, params);
173
+ case "ancestors":
174
+ return ancestors(state, params);
175
+ case "config":
176
+ return {
177
+ ok: true,
178
+ message: `Quests root: ${state.questsRoot}`,
179
+ details: { questsRoot: state.questsRoot },
180
+ };
181
+ default:
182
+ return {
183
+ ok: false,
184
+ guidance: `Unknown action "${action}". See the CLI's quest skill for the full list.`,
185
+ };
186
+ }
187
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Claude Code's Slack setup: the CLI-adapter half of the OAuth
3
+ * setup wizard port.
4
+ *
5
+ * pi's own setup wizard is interactive UI (promptSingle, a modal
6
+ * offering three paths) - genuinely adapter-local, since it drives
7
+ * a host's own confirmation surface the way a guardian's review()
8
+ * does. What is NOT adapter-local is everything the wizard actually
9
+ * runs once a path is chosen: extracting a browser session,
10
+ * running an OAuth exchange, storing the result. All of that
11
+ * already lives in the slack package (ported alongside the API
12
+ * client), untouched here.
13
+ *
14
+ * The adapter decision this needed: unlike a guardian, a setup
15
+ * wizard is not something a tool call needs to pause for - nothing
16
+ * intercepts anything. It is a workflow the user asks for, which is
17
+ * exactly the shape a Claude Code *skill* already covers (see
18
+ * skills/tdd, skills/quest): a markdown file teaching Claude to run
19
+ * a sequence of Bash-invoked CLI calls and carry the human-facing
20
+ * conversation itself (ask for a client ID, tell the user to check
21
+ * their browser, report success). No hook, no new capability -
22
+ * just a CLI surface for the skill to call, the same shape every
23
+ * other skill here already uses.
24
+ *
25
+ * Only the browser-extraction path is wired up so far: it needs no
26
+ * OAuth app (Slack's own "recommended" path in pi's wizard too),
27
+ * so it is the one genuinely zero-setup way in. The OAuth-app path
28
+ * (buildAuthUrl/waitForOAuthCallback/exchangeCodeForToken, all
29
+ * already portable in slack/auth/oauth.ts and server.ts) is the
30
+ * natural next CLI verb when someone wants it; not built here
31
+ * because nothing in this repo yet needs it, and it is a
32
+ * mechanical follow-on once it does; see google-auth.ts for a
33
+ * companion note on the device flow, which is the same shape again.
34
+ */
35
+ /** Report whether a usable Slack session is currently stored. */
36
+ export declare function runSlackAuthStatus(): Promise<unknown>;
37
+ /**
38
+ * Extract a Slack session by opening a real browser window and
39
+ * waiting for the user to be (or become) logged in, then verify
40
+ * and store it. Blocks for up to five minutes; the skill calling
41
+ * this should say so before it runs.
42
+ *
43
+ * Writes step-by-step sign-in guidance to stderr the moment the
44
+ * browser opens (see extractFromBrowser's onStep), not just the
45
+ * final JSON result: a live run with no guidance at all left a
46
+ * person guessing their way through a multi-tab sign-in flow with
47
+ * no idea what came next or what a stuck-looking screen wanted.
48
+ */
49
+ export declare function runSlackAuthLogin(): Promise<unknown>;
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Claude Code's Slack setup: the CLI-adapter half of the OAuth
3
+ * setup wizard port.
4
+ *
5
+ * pi's own setup wizard is interactive UI (promptSingle, a modal
6
+ * offering three paths) - genuinely adapter-local, since it drives
7
+ * a host's own confirmation surface the way a guardian's review()
8
+ * does. What is NOT adapter-local is everything the wizard actually
9
+ * runs once a path is chosen: extracting a browser session,
10
+ * running an OAuth exchange, storing the result. All of that
11
+ * already lives in the slack package (ported alongside the API
12
+ * client), untouched here.
13
+ *
14
+ * The adapter decision this needed: unlike a guardian, a setup
15
+ * wizard is not something a tool call needs to pause for - nothing
16
+ * intercepts anything. It is a workflow the user asks for, which is
17
+ * exactly the shape a Claude Code *skill* already covers (see
18
+ * skills/tdd, skills/quest): a markdown file teaching Claude to run
19
+ * a sequence of Bash-invoked CLI calls and carry the human-facing
20
+ * conversation itself (ask for a client ID, tell the user to check
21
+ * their browser, report success). No hook, no new capability -
22
+ * just a CLI surface for the skill to call, the same shape every
23
+ * other skill here already uses.
24
+ *
25
+ * Only the browser-extraction path is wired up so far: it needs no
26
+ * OAuth app (Slack's own "recommended" path in pi's wizard too),
27
+ * so it is the one genuinely zero-setup way in. The OAuth-app path
28
+ * (buildAuthUrl/waitForOAuthCallback/exchangeCodeForToken, all
29
+ * already portable in slack/auth/oauth.ts and server.ts) is the
30
+ * natural next CLI verb when someone wants it; not built here
31
+ * because nothing in this repo yet needs it, and it is a
32
+ * mechanical follow-on once it does; see google-auth.ts for a
33
+ * companion note on the device flow, which is the same shape again.
34
+ */
35
+ import { extractFromBrowser } from "../slack/auth/browser-extract.js";
36
+ import { getToken, hasToken, SlackClient, storeToken } from "../slack/index.js";
37
+ /** Report whether a usable Slack session is currently stored. */
38
+ export async function runSlackAuthStatus() {
39
+ if (!hasToken())
40
+ return { authenticated: false };
41
+ const token = getToken();
42
+ if (!token)
43
+ return { authenticated: false };
44
+ const client = new SlackClient(token.accessToken, token.cookie);
45
+ try {
46
+ const auth = await client.call("auth.test");
47
+ return {
48
+ authenticated: true,
49
+ team: auth.team ?? token.teamName,
50
+ user: auth.user,
51
+ };
52
+ }
53
+ catch {
54
+ return {
55
+ authenticated: false,
56
+ reason: "the stored session no longer works; run login again",
57
+ };
58
+ }
59
+ }
60
+ /**
61
+ * Extract a Slack session by opening a real browser window and
62
+ * waiting for the user to be (or become) logged in, then verify
63
+ * and store it. Blocks for up to five minutes; the skill calling
64
+ * this should say so before it runs.
65
+ *
66
+ * Writes step-by-step sign-in guidance to stderr the moment the
67
+ * browser opens (see extractFromBrowser's onStep), not just the
68
+ * final JSON result: a live run with no guidance at all left a
69
+ * person guessing their way through a multi-tab sign-in flow with
70
+ * no idea what came next or what a stuck-looking screen wanted.
71
+ */
72
+ export async function runSlackAuthLogin() {
73
+ let credentials;
74
+ try {
75
+ credentials = await extractFromBrowser(undefined, undefined, (message) => {
76
+ process.stderr.write(`${message}\n`);
77
+ });
78
+ }
79
+ catch (err) {
80
+ return {
81
+ ok: false,
82
+ error: err instanceof Error ? err.message : String(err),
83
+ };
84
+ }
85
+ const client = new SlackClient(credentials.token, credentials.cookie);
86
+ try {
87
+ const auth = await client.call("auth.test");
88
+ storeToken({
89
+ accessToken: credentials.token,
90
+ cookie: credentials.cookie,
91
+ userId: typeof auth.user_id === "string" ? auth.user_id : "",
92
+ teamId: typeof auth.team_id === "string" ? auth.team_id : "",
93
+ teamName: typeof auth.team === "string" ? auth.team : undefined,
94
+ // Not an OAuth grant, so there is no scope list; named so a
95
+ // reader of the stored file can tell this token apart from
96
+ // one that came through the OAuth app path.
97
+ scopes: "browser-session",
98
+ });
99
+ return { ok: true, team: auth.team, user: auth.user };
100
+ }
101
+ catch (err) {
102
+ return {
103
+ ok: false,
104
+ error: `extracted a session but it did not verify: ${err instanceof Error ? err.message : String(err)}`,
105
+ };
106
+ }
107
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * What a duration bounding a child process may be.
3
+ *
4
+ * These rules belong to the runner: it is the thing that refuses a
5
+ * timeout below a floor, above a ceiling, or paired with an idle clock
6
+ * that outlives it. But the runner is the last place they can be
7
+ * applied, and by then somebody's roster has been read, a change has
8
+ * been fetched, a tree has been cut, and the refusal arrives as a
9
+ * thrown error in the middle of a round instead of as an answer about
10
+ * a config file.
11
+ *
12
+ * So the rules live in neither surface, the same way the thinking
13
+ * levels do. One definition, two readers: the runner throws with it
14
+ * and the roster refuses with it, and they cannot come to disagree
15
+ * about what a usable clock is.
16
+ */
17
+ /** The shortest duration worth calling a timeout. */
18
+ export declare const CLOCK_FLOOR_MS = 1000;
19
+ /** The longest one, past which a runaway is indistinguishable. */
20
+ export declare const CLOCK_CEILING_MS: number;
21
+ /**
22
+ * Why this duration cannot be used, if it cannot.
23
+ *
24
+ * Names the value and the bound it missed, because the reader of this
25
+ * has a number in a file and needs to know which way to move it. The
26
+ * common mistake is writing seconds where milliseconds are meant,
27
+ * which is why the floor exists at all: 45 is a perfectly plausible
28
+ * thing to write and stops the child before it has started.
29
+ */
30
+ export declare function whyUnusableClock(field: string, value: number | undefined): string | undefined;
31
+ /**
32
+ * Why this set of clocks cannot be used together, if it cannot.
33
+ *
34
+ * The pair rule is the one nobody trips over by writing a bad number:
35
+ * an idle guard that outlives the wall means the wall fires first
36
+ * however patient the guard is, which is a footgun for somebody who
37
+ * moved one column of the sizing table.
38
+ *
39
+ * A zero reserve is the documented way to switch the soft deadline
40
+ * off, so it is the one value under the floor that means something.
41
+ */
42
+ export declare function whyUnusableClocks(clocks: {
43
+ timeoutMs?: number;
44
+ idleTimeoutMs?: number;
45
+ wrapUpReserveMs?: number;
46
+ }): string | undefined;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * What a duration bounding a child process may be.
3
+ *
4
+ * These rules belong to the runner: it is the thing that refuses a
5
+ * timeout below a floor, above a ceiling, or paired with an idle clock
6
+ * that outlives it. But the runner is the last place they can be
7
+ * applied, and by then somebody's roster has been read, a change has
8
+ * been fetched, a tree has been cut, and the refusal arrives as a
9
+ * thrown error in the middle of a round instead of as an answer about
10
+ * a config file.
11
+ *
12
+ * So the rules live in neither surface, the same way the thinking
13
+ * levels do. One definition, two readers: the runner throws with it
14
+ * and the roster refuses with it, and they cannot come to disagree
15
+ * about what a usable clock is.
16
+ */
17
+ /** The shortest duration worth calling a timeout. */
18
+ export const CLOCK_FLOOR_MS = 1000;
19
+ /** The longest one, past which a runaway is indistinguishable. */
20
+ export const CLOCK_CEILING_MS = 8 * 60 * 60 * 1000;
21
+ /**
22
+ * Why this duration cannot be used, if it cannot.
23
+ *
24
+ * Names the value and the bound it missed, because the reader of this
25
+ * has a number in a file and needs to know which way to move it. The
26
+ * common mistake is writing seconds where milliseconds are meant,
27
+ * which is why the floor exists at all: 45 is a perfectly plausible
28
+ * thing to write and stops the child before it has started.
29
+ */
30
+ export function whyUnusableClock(field, value) {
31
+ if (value === undefined)
32
+ return undefined;
33
+ if (typeof value !== "number" ||
34
+ !Number.isFinite(value) ||
35
+ !Number.isInteger(value)) {
36
+ return `${field} must be a whole number of milliseconds, and is ${String(value)}.`;
37
+ }
38
+ if (value < CLOCK_FLOOR_MS) {
39
+ return `${field} is ${value}ms, which is below the ${CLOCK_FLOOR_MS}ms floor and would stop the run almost at once. Milliseconds, not seconds.`;
40
+ }
41
+ if (value > CLOCK_CEILING_MS) {
42
+ return `${field} is ${value}ms, which is past the ${CLOCK_CEILING_MS}ms ceiling.`;
43
+ }
44
+ return undefined;
45
+ }
46
+ /**
47
+ * Why this set of clocks cannot be used together, if it cannot.
48
+ *
49
+ * The pair rule is the one nobody trips over by writing a bad number:
50
+ * an idle guard that outlives the wall means the wall fires first
51
+ * however patient the guard is, which is a footgun for somebody who
52
+ * moved one column of the sizing table.
53
+ *
54
+ * A zero reserve is the documented way to switch the soft deadline
55
+ * off, so it is the one value under the floor that means something.
56
+ */
57
+ export function whyUnusableClocks(clocks) {
58
+ const each = whyUnusableClock("timeoutMs", clocks.timeoutMs) ??
59
+ whyUnusableClock("idleTimeoutMs", clocks.idleTimeoutMs) ??
60
+ (clocks.wrapUpReserveMs === 0
61
+ ? undefined
62
+ : whyUnusableClock("wrapUpReserveMs", clocks.wrapUpReserveMs));
63
+ if (each !== undefined)
64
+ return each;
65
+ const { timeoutMs, idleTimeoutMs } = clocks;
66
+ if (timeoutMs !== undefined &&
67
+ idleTimeoutMs !== undefined &&
68
+ idleTimeoutMs > timeoutMs) {
69
+ return `idleTimeoutMs (${idleTimeoutMs}ms) outlives timeoutMs (${timeoutMs}ms), so the wall clock fires first however patient the idle guard is.`;
70
+ }
71
+ return undefined;
72
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Effective working directory of a command line: the base cwd
3
+ * composed with the leading `cd` segments. Consumers that resolve a
4
+ * relative path (the `git commit -F <file>` reader, say) ask here
5
+ * instead of scraping the first `cd` with a regex.
6
+ */
7
+ import type { CommandLine } from "./types.js";
8
+ /** The resolved directory, or a signal that it cannot be resolved. */
9
+ export type EffectiveCwd = {
10
+ dir: string;
11
+ } | {
12
+ unresolvable: true;
13
+ reason: string;
14
+ };
15
+ /**
16
+ * Compose the base cwd with the cd segments of the command line. A
17
+ * `before` source position bounds it to the cd segments that begin
18
+ * before that position, so a cd after the consuming command does
19
+ * not move the directory it runs in.
20
+ */
21
+ export declare function effectiveCwd(line: CommandLine, baseCwd: string, before?: number): EffectiveCwd;