@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,139 @@
1
+ /**
2
+ * The TDD loop domain model and its pure reducer: a single,
3
+ * discrete red-green-refactor loop.
4
+ *
5
+ * The agent drives the loop by attesting each transition. A
6
+ * transition is allowed only when the attestation supplies the
7
+ * justification the gate requires; otherwise the reducer refuses
8
+ * and hands back guidance. The reducer never inspects code, test
9
+ * output or file paths. It tracks the agent's own attestation,
10
+ * which is the one contract that stays robust across every
11
+ * language and every host this loop ever runs under.
12
+ */
13
+ /** The resting state: no loop in play. */
14
+ export function idleLoop() {
15
+ return {
16
+ phase: "idle",
17
+ assertionFailure: false,
18
+ behaviour: null,
19
+ iteration: 0,
20
+ };
21
+ }
22
+ /** Close the active loop back to idle, keeping the iteration count. */
23
+ function rest(loop) {
24
+ return {
25
+ phase: "idle",
26
+ assertionFailure: false,
27
+ behaviour: null,
28
+ iteration: loop.iteration,
29
+ };
30
+ }
31
+ /** Refuse a transition, handing the agent guidance on what's missing. */
32
+ function refuse(guidance) {
33
+ return { ok: false, guidance };
34
+ }
35
+ /** Accept a transition into a new loop state. */
36
+ function advance(loop) {
37
+ return { ok: true, loop };
38
+ }
39
+ /** Attempt a transition, enforcing the justification each gate requires. */
40
+ export function transition(loop, attestation) {
41
+ switch (attestation.action) {
42
+ case "plan":
43
+ return plan(loop, attestation);
44
+ case "write":
45
+ return write(loop, attestation);
46
+ case "red":
47
+ return red(loop, attestation);
48
+ case "green":
49
+ return green(loop, attestation);
50
+ case "refactor":
51
+ return refactor(loop);
52
+ case "done":
53
+ return done(loop, attestation);
54
+ case "abandon":
55
+ return abandon(loop, attestation);
56
+ default:
57
+ return refuse(`Unknown transition. Drive the loop with plan, write, red, ` +
58
+ `green, refactor, done or abandon.`);
59
+ }
60
+ }
61
+ function plan(loop, attestation) {
62
+ if (loop.phase !== "idle") {
63
+ return refuse(`Finish or abandon the current loop before planning another. You're in ${loop.phase}.`);
64
+ }
65
+ if (!attestation.behaviour) {
66
+ return refuse("Name the single behaviour under test: the exported thing you " +
67
+ "want to exist. One increment per loop.");
68
+ }
69
+ return advance({
70
+ phase: "plan",
71
+ assertionFailure: false,
72
+ behaviour: attestation.behaviour,
73
+ iteration: loop.iteration + 1,
74
+ });
75
+ }
76
+ function write(loop, attestation) {
77
+ if (loop.phase !== "plan") {
78
+ return refuse(`Writing the test follows plan. You're in ${loop.phase}, not plan. ` +
79
+ `Go forward, or abandon to redo.`);
80
+ }
81
+ if (!attestation.interface) {
82
+ return refuse("State the exported surface this test binds to before writing it. " +
83
+ "Tests document the interface, never the internals.");
84
+ }
85
+ return advance({ ...loop, phase: "write" });
86
+ }
87
+ function red(loop, attestation) {
88
+ if (loop.phase !== "write" && loop.phase !== "red") {
89
+ return refuse(`A failing test comes out of the write phase. You're in ${loop.phase}.`);
90
+ }
91
+ if (!attestation.failure) {
92
+ return refuse("Run the test and report the failure before moving to red.");
93
+ }
94
+ if (!attestation.failureKind) {
95
+ return refuse("Say whether the failure was an assertion or other (a compile or " +
96
+ "missing-symbol error). Only a real assertion clears the way to green.");
97
+ }
98
+ return advance({
99
+ ...loop,
100
+ phase: "red",
101
+ assertionFailure: attestation.failureKind === "assertion",
102
+ });
103
+ }
104
+ function green(loop, attestation) {
105
+ if (loop.phase !== "red" || !loop.assertionFailure) {
106
+ return refuse("You haven't seen a real red yet. Stub a minimal skeleton, re-run, " +
107
+ "and call red again with failureKind 'assertion' before green.");
108
+ }
109
+ if (!attestation.pass) {
110
+ return refuse("Report the passing result before moving to green.");
111
+ }
112
+ return advance({ ...loop, phase: "green", assertionFailure: false });
113
+ }
114
+ function refactor(loop) {
115
+ if (loop.phase !== "green") {
116
+ return refuse(`Refactoring follows a green test. You're in ${loop.phase}.`);
117
+ }
118
+ return advance({ ...loop, phase: "refactor" });
119
+ }
120
+ function done(loop, attestation) {
121
+ if (loop.phase !== "refactor") {
122
+ return refuse(`Close the loop from the refactor phase, not ${loop.phase}. ` +
123
+ `Pass through refactor first, even as a no-op.`);
124
+ }
125
+ if (!attestation.reflection) {
126
+ return refuse("Before you close, say what you reconsidered about the internal and " +
127
+ "external design now that a real consumer exists.");
128
+ }
129
+ return advance(rest(loop));
130
+ }
131
+ function abandon(loop, attestation) {
132
+ if (loop.phase === "idle") {
133
+ return refuse("There's no loop to abandon. Plan one when you're ready.");
134
+ }
135
+ if (!attestation.reason) {
136
+ return refuse("Give a reason for leaving the loop before you abandon it.");
137
+ }
138
+ return advance(rest(loop));
139
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The visual vocabulary of a TDD scoreboard: one glyph per state
3
+ * of the loop. The circle fills monotonically across the five
4
+ * build-up states (empty, quarter, half, three-quarter, full), so
5
+ * every state is a distinct shape and the progression reads
6
+ * without colour. Green is the full circle: the test is complete.
7
+ * Refactor leaves the circle family for a diamond because it is a
8
+ * different kind of activity, not another notch of the same
9
+ * build-up. Fill encodes progress, colour reinforces meaning, and
10
+ * shape alone keeps the states apart.
11
+ *
12
+ * This is presentation, not domain: a host with no scoreboard
13
+ * (a Claude Code skill, a bare CLI) never needs to import it. It
14
+ * is a separate export specifically so it stays optional.
15
+ */
16
+ import type { Loop } from "./machine.js";
17
+ /** The seven distinct states the scoreboard can show. */
18
+ export type VisualState = "idle" | "plan" | "write" | "red-unverified" | "red-verified" | "green" | "refactor";
19
+ /** Collapse a loop's phase and assertion verification into one visual state. */
20
+ export declare function visualState(loop: Loop): VisualState;
21
+ /**
22
+ * The theme tokens a scoreboard paints with. A narrow, host-agnostic
23
+ * vocabulary an adapter maps onto its own palette: yellow for
24
+ * authoring, red for failing, green for passing, blue for
25
+ * refactoring and dim for idle.
26
+ */
27
+ export type GlyphToken = "dim" | "warning" | "error" | "success" | "accent";
28
+ /** A glyph and the colour it should be painted in. */
29
+ export interface Glyph {
30
+ char: string;
31
+ token: GlyphToken;
32
+ }
33
+ /** The glyph and colour for a visual state. */
34
+ export declare function glyph(state: VisualState): Glyph;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The visual vocabulary of a TDD scoreboard: one glyph per state
3
+ * of the loop. The circle fills monotonically across the five
4
+ * build-up states (empty, quarter, half, three-quarter, full), so
5
+ * every state is a distinct shape and the progression reads
6
+ * without colour. Green is the full circle: the test is complete.
7
+ * Refactor leaves the circle family for a diamond because it is a
8
+ * different kind of activity, not another notch of the same
9
+ * build-up. Fill encodes progress, colour reinforces meaning, and
10
+ * shape alone keeps the states apart.
11
+ *
12
+ * This is presentation, not domain: a host with no scoreboard
13
+ * (a Claude Code skill, a bare CLI) never needs to import it. It
14
+ * is a separate export specifically so it stays optional.
15
+ */
16
+ /** Collapse a loop's phase and assertion verification into one visual state. */
17
+ export function visualState(loop) {
18
+ if (loop.phase === "red") {
19
+ return loop.assertionFailure ? "red-verified" : "red-unverified";
20
+ }
21
+ return loop.phase;
22
+ }
23
+ const GLYPHS = {
24
+ idle: { char: "◌", token: "dim" },
25
+ plan: { char: "○", token: "warning" },
26
+ write: { char: "◔", token: "warning" },
27
+ "red-unverified": { char: "◑", token: "error" },
28
+ "red-verified": { char: "◕", token: "error" },
29
+ green: { char: "●", token: "success" },
30
+ // A circle with a centre: the same family as the phases before it,
31
+ // since refactoring is the last of them and not a different kind of
32
+ // thing.
33
+ refactor: { char: "◉", token: "accent" },
34
+ };
35
+ /** The glyph and colour for a visual state. */
36
+ export function glyph(state) {
37
+ return GLYPHS[state];
38
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Read-only queries over a loop, for an adapter to surface
3
+ * however its own host wants: pi via a context/message event,
4
+ * a CLI via a status subcommand, a Claude Code hook via whatever
5
+ * text it prepends. The information is host-agnostic; only the
6
+ * delivery mechanism differs.
7
+ */
8
+ import type { Loop } from "./machine.js";
9
+ /** The standing reminder of where the loop is, or nothing at idle. */
10
+ export declare function standingReminder(loop: Loop): string | undefined;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Read-only queries over a loop, for an adapter to surface
3
+ * however its own host wants: pi via a context/message event,
4
+ * a CLI via a status subcommand, a Claude Code hook via whatever
5
+ * text it prepends. The information is host-agnostic; only the
6
+ * delivery mechanism differs.
7
+ */
8
+ /** Whether a loop is live: past idle, with a transition in play. */
9
+ function isActiveLoop(loop) {
10
+ return loop.phase !== "idle";
11
+ }
12
+ /** The standing reminder of where the loop is, or nothing at idle. */
13
+ export function standingReminder(loop) {
14
+ if (!isActiveLoop(loop)) {
15
+ return undefined;
16
+ }
17
+ const lines = [`TDD loop ${loop.iteration}, ${loop.phase} phase.`];
18
+ if (loop.behaviour) {
19
+ lines.push(`Increment under test: ${loop.behaviour}.`);
20
+ }
21
+ return lines.join("\n");
22
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Public surface of the terminal library.
3
+ *
4
+ * Pluggable launchers for new tabs, panes and windows. The
5
+ * quest extension uses it for `spawn-tab`/`spawn-pane`/
6
+ * `spawn-window`; other extensions can pick the same
7
+ * driver or register their own.
8
+ */
9
+ export { clearTerminalDrivers, registerBuiltinTerminalDrivers, registerTerminalDriver, unregisterTerminalDriver, } from "./register.js";
10
+ export { getLivenessProvider, getTerminalDriver, getTypeProvider, identifyCurrentTerminal, listTerminalDrivers, resolveDriver, spawnTerminal, spawnTerminalSurface, } from "./resolve.js";
11
+ export type { TerminalDriver, TerminalLayout, TerminalLivenessCapability, TerminalProbe, TerminalRequest, TerminalSessionHandle, TerminalTypeCapability, } from "./types.js";
12
+ export { terminalHandleKey } from "./types.js";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Public surface of the terminal library.
3
+ *
4
+ * Pluggable launchers for new tabs, panes and windows. The
5
+ * quest extension uses it for `spawn-tab`/`spawn-pane`/
6
+ * `spawn-window`; other extensions can pick the same
7
+ * driver or register their own.
8
+ */
9
+ export { clearTerminalDrivers, registerBuiltinTerminalDrivers, registerTerminalDriver, unregisterTerminalDriver, } from "./register.js";
10
+ export { getLivenessProvider, getTerminalDriver, getTypeProvider, identifyCurrentTerminal, listTerminalDrivers, resolveDriver, spawnTerminal, spawnTerminalSurface, } from "./resolve.js";
11
+ export { terminalHandleKey } from "./types.js";
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Terminal driver registration. Mirrors the refs and people
3
+ * libraries: explicit registration for built-ins, free
4
+ * functions for ad-hoc driver registration, an opt-out
5
+ * clear for tests.
6
+ */
7
+ import type { TerminalDriver } from "./types.js";
8
+ /**
9
+ * Register a terminal driver. Overwrites any previously
10
+ * registered driver with the same id.
11
+ */
12
+ export declare function registerTerminalDriver(driver: TerminalDriver): void;
13
+ /** Remove a driver from the registry. Idempotent. */
14
+ export declare function unregisterTerminalDriver(id: string): void;
15
+ /**
16
+ * Seed the registry with the built-in drivers: `wezterm`,
17
+ * `tmux` and `fallback`. Idempotent.
18
+ */
19
+ export declare function registerBuiltinTerminalDrivers(): void;
20
+ /** Empty the registry. Intended for tests. */
21
+ export declare function clearTerminalDrivers(): void;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Terminal driver registration. Mirrors the refs and people
3
+ * libraries: explicit registration for built-ins, free
4
+ * functions for ad-hoc driver registration, an opt-out
5
+ * clear for tests.
6
+ */
7
+ import { BUILTIN_TERMINAL_DRIVERS } from "../internal/terminal/builtins.js";
8
+ import { clear, register, unregister } from "../internal/terminal/registry.js";
9
+ /**
10
+ * Register a terminal driver. Overwrites any previously
11
+ * registered driver with the same id.
12
+ */
13
+ export function registerTerminalDriver(driver) {
14
+ register(driver);
15
+ }
16
+ /** Remove a driver from the registry. Idempotent. */
17
+ export function unregisterTerminalDriver(id) {
18
+ unregister(id);
19
+ }
20
+ /**
21
+ * Seed the registry with the built-in drivers: `wezterm`,
22
+ * `tmux` and `fallback`. Idempotent.
23
+ */
24
+ export function registerBuiltinTerminalDrivers() {
25
+ for (const driver of BUILTIN_TERMINAL_DRIVERS)
26
+ register(driver);
27
+ }
28
+ /** Empty the registry. Intended for tests. */
29
+ export function clearTerminalDrivers() {
30
+ clear();
31
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Driver resolution: pick a usable terminal driver for the
3
+ * current environment.
4
+ *
5
+ * Resolution order:
6
+ *
7
+ * 1. The driver named in the `preferred` argument, when its
8
+ * `available()` returns true.
9
+ * 2. Each registered driver in registration order, the
10
+ * first whose `available()` returns true wins.
11
+ * 3. `undefined` when no driver is available (callers fall
12
+ * back to printing instructions, or refuse).
13
+ */
14
+ import type { TerminalDriver, TerminalLivenessCapability, TerminalRequest, TerminalSessionHandle, TerminalTypeCapability } from "./types.js";
15
+ /** Look up a driver by id, or `undefined`. */
16
+ export declare function getTerminalDriver(id: string): TerminalDriver | undefined;
17
+ /** Snapshot of every registered driver. */
18
+ export declare function listTerminalDrivers(): TerminalDriver[];
19
+ /**
20
+ * Resolve the driver that can type into an existing surface, for a
21
+ * recorded driver id. Undefined when that driver cannot, which a
22
+ * caller must treat as a refusal rather than a reason to fall back:
23
+ * the fallback is running the command without a login shell, and that
24
+ * is the failure the capability exists to avoid.
25
+ */
26
+ export declare function getTypeProvider(driverId: string): (TerminalDriver & TerminalTypeCapability) | undefined;
27
+ /**
28
+ * Resolve the liveness provider for a recorded driver id. Returns the
29
+ * registered driver only when it implements the liveness capability;
30
+ * undefined for an unknown id or a spawn-only driver. Keyed strictly
31
+ * by id so a recorded handle is probed through its own driver, never
32
+ * whichever terminal the reader happens to be in.
33
+ */
34
+ export declare function getLivenessProvider(driverId: string): (TerminalDriver & TerminalLivenessCapability) | undefined;
35
+ /**
36
+ * The terminal surface the current pi process runs in, as a
37
+ * probeable handle, from the first registered liveness-capable
38
+ * driver that recognises the environment. Undefined when no driver
39
+ * claims the current terminal (for example a bare shell with no
40
+ * supported multiplexer).
41
+ */
42
+ export declare function identifyCurrentTerminal(): TerminalSessionHandle | undefined;
43
+ /**
44
+ * Resolve the driver to use for a spawn. Preferred wins
45
+ * when available; otherwise the first registered driver
46
+ * whose `available()` says yes.
47
+ */
48
+ export declare function resolveDriver(preferred?: string): Promise<TerminalDriver | undefined>;
49
+ /**
50
+ * Convenience: resolve a driver and dispatch a request in
51
+ * one call. Throws when no driver is available.
52
+ */
53
+ export declare function spawnTerminal(request: TerminalRequest, preferred?: string): Promise<TerminalDriver>;
54
+ /**
55
+ * Spawn a surface and return both the driver and the handle it
56
+ * named, for a caller that means to type into what it just made.
57
+ * The handle is undefined when the driver cannot say what it
58
+ * created.
59
+ */
60
+ export declare function spawnTerminalSurface(request: TerminalRequest, preferred?: string): Promise<{
61
+ driver: TerminalDriver;
62
+ handle: TerminalSessionHandle | undefined;
63
+ }>;
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Driver resolution: pick a usable terminal driver for the
3
+ * current environment.
4
+ *
5
+ * Resolution order:
6
+ *
7
+ * 1. The driver named in the `preferred` argument, when its
8
+ * `available()` returns true.
9
+ * 2. Each registered driver in registration order, the
10
+ * first whose `available()` returns true wins.
11
+ * 3. `undefined` when no driver is available (callers fall
12
+ * back to printing instructions, or refuse).
13
+ */
14
+ import { get, list } from "../internal/terminal/registry.js";
15
+ /** Look up a driver by id, or `undefined`. */
16
+ export function getTerminalDriver(id) {
17
+ return get(id);
18
+ }
19
+ /** Snapshot of every registered driver. */
20
+ export function listTerminalDrivers() {
21
+ return list();
22
+ }
23
+ /** Whether a driver implements the optional liveness capability. */
24
+ function hasLivenessCapability(driver) {
25
+ return (typeof driver.probe ===
26
+ "function" &&
27
+ typeof driver.identifyCurrent ===
28
+ "function");
29
+ }
30
+ function hasTypeCapability(driver) {
31
+ return (typeof driver.typeInto === "function");
32
+ }
33
+ /**
34
+ * Resolve the driver that can type into an existing surface, for a
35
+ * recorded driver id. Undefined when that driver cannot, which a
36
+ * caller must treat as a refusal rather than a reason to fall back:
37
+ * the fallback is running the command without a login shell, and that
38
+ * is the failure the capability exists to avoid.
39
+ */
40
+ export function getTypeProvider(driverId) {
41
+ const driver = get(driverId);
42
+ if (!driver || !hasTypeCapability(driver))
43
+ return undefined;
44
+ return driver;
45
+ }
46
+ /**
47
+ * Resolve the liveness provider for a recorded driver id. Returns the
48
+ * registered driver only when it implements the liveness capability;
49
+ * undefined for an unknown id or a spawn-only driver. Keyed strictly
50
+ * by id so a recorded handle is probed through its own driver, never
51
+ * whichever terminal the reader happens to be in.
52
+ */
53
+ export function getLivenessProvider(driverId) {
54
+ const driver = get(driverId);
55
+ if (!driver || !hasLivenessCapability(driver))
56
+ return undefined;
57
+ return driver;
58
+ }
59
+ /**
60
+ * The terminal surface the current pi process runs in, as a
61
+ * probeable handle, from the first registered liveness-capable
62
+ * driver that recognises the environment. Undefined when no driver
63
+ * claims the current terminal (for example a bare shell with no
64
+ * supported multiplexer).
65
+ */
66
+ export function identifyCurrentTerminal() {
67
+ for (const driver of list()) {
68
+ if (!hasLivenessCapability(driver))
69
+ continue;
70
+ const handle = driver.identifyCurrent();
71
+ if (handle)
72
+ return handle;
73
+ }
74
+ return undefined;
75
+ }
76
+ /**
77
+ * Resolve the driver to use for a spawn. Preferred wins
78
+ * when available; otherwise the first registered driver
79
+ * whose `available()` says yes.
80
+ */
81
+ export async function resolveDriver(preferred) {
82
+ if (preferred) {
83
+ const driver = get(preferred);
84
+ if (driver && (await driver.available()))
85
+ return driver;
86
+ }
87
+ for (const driver of list()) {
88
+ if (await driver.available())
89
+ return driver;
90
+ }
91
+ return undefined;
92
+ }
93
+ /**
94
+ * Convenience: resolve a driver and dispatch a request in
95
+ * one call. Throws when no driver is available.
96
+ */
97
+ export async function spawnTerminal(request, preferred) {
98
+ const driver = await resolveDriver(preferred);
99
+ if (!driver) {
100
+ throw new Error("No terminal driver available. Register one or seed the built-ins with `registerBuiltinTerminalDrivers`.");
101
+ }
102
+ await driver.spawn(request);
103
+ return driver;
104
+ }
105
+ /**
106
+ * Spawn a surface and return both the driver and the handle it
107
+ * named, for a caller that means to type into what it just made.
108
+ * The handle is undefined when the driver cannot say what it
109
+ * created.
110
+ */
111
+ export async function spawnTerminalSurface(request, preferred) {
112
+ const driver = await resolveDriver(preferred);
113
+ if (!driver) {
114
+ throw new Error("No terminal driver available. Register one or seed the built-ins with `registerBuiltinTerminalDrivers`.");
115
+ }
116
+ return { driver, handle: await driver.spawn(request) };
117
+ }
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Public types for the terminal library.
3
+ *
4
+ * A `TerminalDriver` knows how to spawn a new shell in a
5
+ * tab, a pane or a window of the user's terminal emulator
6
+ * or multiplexer. The library is pluggable: built-ins
7
+ * (wezterm, tmux, fallback) live in `lib/internal/terminal/
8
+ * drivers/`; consumers register their own with the same
9
+ * shape.
10
+ */
11
+ /** Where the new shell should appear. */
12
+ export type TerminalLayout = "tab" | "pane" | "window";
13
+ /** A spawn request the driver fulfills. */
14
+ export interface TerminalRequest {
15
+ /** Whether to open in a tab, a pane or a new window. */
16
+ layout: TerminalLayout;
17
+ /**
18
+ * Shell command to run. Drivers pass this through to
19
+ * the underlying spawn primitive; quoting is the
20
+ * driver's responsibility.
21
+ *
22
+ * Optional, because a caller may want the surface itself
23
+ * rather than a command in it: spawning a plain login
24
+ * shell and then typing into it is the only way to reach
25
+ * a shell that has run the user's own startup files.
26
+ */
27
+ command?: string;
28
+ /** Working directory for the new shell. */
29
+ cwd?: string;
30
+ /** Tab or window title, when the driver supports it. */
31
+ title?: string;
32
+ /**
33
+ * Extra environment variables. Drivers add these on
34
+ * top of the parent shell's environment.
35
+ */
36
+ env?: Record<string, string>;
37
+ }
38
+ /**
39
+ * A stable, probeable reference to a terminal surface a pi session
40
+ * was observed in. Recorded on the session so a later reader can ask
41
+ * the same driver whether that surface still exists. `scope` is the
42
+ * mux socket and host fingerprint that makes `value` (a pane id)
43
+ * meaningful across terminal instances and hosts.
44
+ */
45
+ export interface TerminalSessionHandle {
46
+ /** Id of the driver that issued the handle. */
47
+ driverId: string;
48
+ /** Driver-specific kind, e.g. "wezterm-pane". */
49
+ kind: string;
50
+ /** Host the surface lives on; a foreign host is unprobeable. */
51
+ hostId: string;
52
+ /** Mux socket / server fingerprint that scopes `value`. */
53
+ scope?: string;
54
+ /** The surface id itself, e.g. a wezterm pane id. */
55
+ value: string;
56
+ }
57
+ /**
58
+ * A terminal probe outcome. Present and absent are only meaningful
59
+ * when the probe could actually observe the surface; anything else
60
+ * (unreachable mux, timeout, foreign scope, unsupported driver) is
61
+ * unknown, never a false absent.
62
+ */
63
+ export type TerminalProbe = "present" | "absent" | "unknown";
64
+ /**
65
+ * Optional liveness capability a terminal driver may implement in
66
+ * addition to spawning. Resolved by the recorded driver id, never by
67
+ * the reader's current terminal, and probed in one batch per scope
68
+ * rather than once per handle.
69
+ */
70
+ export interface TerminalLivenessCapability {
71
+ /**
72
+ * The handle for the surface the current pi process runs in, read
73
+ * from the environment, or undefined when this driver is not the
74
+ * active terminal.
75
+ */
76
+ identifyCurrent(): TerminalSessionHandle | undefined;
77
+ /**
78
+ * Probe a batch of handles, returning a map keyed by
79
+ * {@link terminalHandleKey}. One transport call per scope. The key
80
+ * is host, scope and value together, not the bare pane value, since
81
+ * a pane id is only unique within one terminal instance.
82
+ */
83
+ probe(handles: readonly TerminalSessionHandle[], signal?: AbortSignal): Promise<ReadonlyMap<string, TerminalProbe>>;
84
+ }
85
+ /**
86
+ * The stable key a probe result is keyed by. A pane value is only
87
+ * unique within one terminal instance, so two instances can both hold
88
+ * pane "0"; keying by host, scope and value keeps their probe results
89
+ * from colliding when a batch spans instances.
90
+ */
91
+ export declare function terminalHandleKey(handle: TerminalSessionHandle): string;
92
+ /**
93
+ * Optional capability for typing into a surface that already exists.
94
+ *
95
+ * Separate from spawning because it is the only way to reach a shell
96
+ * that has run the user's own startup files. Handing a command to the
97
+ * spawn primitive runs it under a non-interactive shell, which skips
98
+ * the hooks that set a project's environment up, so a command that
99
+ * works when typed fails when spawned. Recovering by hand after a
100
+ * crash meant spawning bare shells and typing the resume lines in,
101
+ * and a driver that can do that is a driver that can do the recovery
102
+ * itself.
103
+ */
104
+ export interface TerminalTypeCapability {
105
+ /**
106
+ * Type text into an existing surface, as though the user had. A
107
+ * trailing newline submits it; without one the text is left on the
108
+ * command line for the user to read and press enter on.
109
+ */
110
+ typeInto(handle: TerminalSessionHandle, text: string): Promise<void>;
111
+ }
112
+ /** A pluggable terminal driver. */
113
+ export interface TerminalDriver {
114
+ /** Identifier (e.g. "wezterm", "tmux"). */
115
+ id: string;
116
+ /**
117
+ * Quick probe: is this driver usable in the current
118
+ * environment? Implementations check for the binary on
119
+ * PATH and any required runtime context.
120
+ */
121
+ available(): Promise<boolean> | boolean;
122
+ /**
123
+ * Dispatch the spawn. Resolves when the spawn command
124
+ * has been sent; the actual lifetime of the spawned
125
+ * process is the driver's concern.
126
+ *
127
+ * Returns a handle to the new surface when the driver can name
128
+ * one, so a caller that spawned a bare shell can then type into
129
+ * it. A driver whose spawn primitive says nothing about what it
130
+ * created returns undefined, which is honest rather than a
131
+ * guess.
132
+ */
133
+ spawn(request: TerminalRequest): Promise<TerminalSessionHandle | undefined>;
134
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Public types for the terminal library.
3
+ *
4
+ * A `TerminalDriver` knows how to spawn a new shell in a
5
+ * tab, a pane or a window of the user's terminal emulator
6
+ * or multiplexer. The library is pluggable: built-ins
7
+ * (wezterm, tmux, fallback) live in `lib/internal/terminal/
8
+ * drivers/`; consumers register their own with the same
9
+ * shape.
10
+ */
11
+ /**
12
+ * The stable key a probe result is keyed by. A pane value is only
13
+ * unique within one terminal instance, so two instances can both hold
14
+ * pane "0"; keying by host, scope and value keeps their probe results
15
+ * from colliding when a batch spans instances.
16
+ */
17
+ export function terminalHandleKey(handle) {
18
+ return `${handle.driverId}\u0000${handle.hostId}\u0000${handle.scope ?? ""}\u0000${handle.value}`;
19
+ }