@adhdev/daemon-core 0.9.82-rc.44 → 0.9.82-rc.441

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 (425) hide show
  1. package/dist/boot/daemon-lifecycle.d.ts +9 -0
  2. package/dist/boot/process-hardening.d.ts +50 -0
  3. package/dist/build-info.d.ts +37 -0
  4. package/dist/chat/source-machine.d.ts +166 -0
  5. package/dist/chat/source-resolver.d.ts +104 -0
  6. package/dist/chat/subscription-updates.d.ts +1 -0
  7. package/dist/cli-adapter-types.d.ts +68 -2
  8. package/dist/cli-adapters/cli-script-runner.d.ts +117 -0
  9. package/dist/cli-adapters/cli-state-engine.d.ts +200 -0
  10. package/dist/cli-adapters/provider-cli-adapter.d.ts +126 -64
  11. package/dist/cli-adapters/provider-cli-parse.d.ts +5 -0
  12. package/dist/cli-adapters/provider-cli-runtime.d.ts +34 -0
  13. package/dist/cli-adapters/provider-cli-shared.d.ts +74 -0
  14. package/dist/cli-adapters/pty-write-chunking.d.ts +34 -0
  15. package/dist/cli-adapters/raw-terminal-io.d.ts +37 -0
  16. package/dist/cli-adapters/resolve-executable.d.ts +69 -0
  17. package/dist/cli-adapters/terminal-backends/ghostty-vt-backend.d.ts +6 -3
  18. package/dist/cli-adapters/terminal-backends/types.d.ts +10 -2
  19. package/dist/cli-adapters/terminal-screen.d.ts +4 -11
  20. package/dist/commands/chat-commands-debug-bundle.d.ts +14 -0
  21. package/dist/commands/chat-commands-read.d.ts +7 -0
  22. package/dist/commands/chat-commands-scope.d.ts +39 -0
  23. package/dist/commands/chat-commands-shared.d.ts +33 -0
  24. package/dist/commands/chat-commands-write.d.ts +14 -0
  25. package/dist/commands/chat-commands.d.ts +10 -23
  26. package/dist/commands/cli-manager.d.ts +15 -1
  27. package/dist/commands/handler.d.ts +125 -0
  28. package/dist/commands/high-family/index.d.ts +3 -0
  29. package/dist/commands/high-family/mesh-coordinator-launch.d.ts +2 -0
  30. package/dist/commands/high-family/mesh-events.d.ts +2 -0
  31. package/dist/commands/high-family/mesh-status.d.ts +2 -0
  32. package/dist/commands/high-family/types.d.ts +60 -0
  33. package/dist/commands/low-family/coordinator-prompt.d.ts +9 -0
  34. package/dist/commands/low-family/daemon-lifecycle.d.ts +2 -0
  35. package/dist/commands/low-family/diagnostics.d.ts +2 -0
  36. package/dist/commands/low-family/index.d.ts +3 -0
  37. package/dist/commands/low-family/mesh-ledger.d.ts +10 -0
  38. package/dist/commands/low-family/mesh-node-logs.d.ts +2 -0
  39. package/dist/commands/low-family/notification.d.ts +2 -0
  40. package/dist/commands/low-family/refine-config.d.ts +2 -0
  41. package/dist/commands/low-family/session-host.d.ts +2 -0
  42. package/dist/commands/low-family/spec-providerdev.d.ts +11 -0
  43. package/dist/commands/low-family/status-meta.d.ts +2 -0
  44. package/dist/commands/low-family/types.d.ts +33 -0
  45. package/dist/commands/med-family/cli-agent.d.ts +2 -0
  46. package/dist/commands/med-family/fast-forward.d.ts +2 -0
  47. package/dist/commands/med-family/ide.d.ts +10 -0
  48. package/dist/commands/med-family/index.d.ts +3 -0
  49. package/dist/commands/med-family/mesh-crud.d.ts +29 -0
  50. package/dist/commands/med-family/mesh-host-pairing.d.ts +2 -0
  51. package/dist/commands/med-family/mesh-queue.d.ts +2 -0
  52. package/dist/commands/med-family/mesh-restart.d.ts +2 -0
  53. package/dist/commands/med-family/types.d.ts +142 -0
  54. package/dist/commands/mesh-coordinator.d.ts +85 -1
  55. package/dist/commands/router.d.ts +276 -2
  56. package/dist/commands/upgrade-helper.d.ts +41 -1
  57. package/dist/config/chat-history.d.ts +9 -0
  58. package/dist/config/config.d.ts +5 -0
  59. package/dist/config/mesh-config.d.ts +120 -1
  60. package/dist/config/mesh-json-config.d.ts +199 -0
  61. package/dist/config/repo-settings.d.ts +77 -0
  62. package/dist/daemon/dev-server.d.ts +0 -2
  63. package/dist/detection/ide-detector.d.ts +13 -0
  64. package/dist/detection/win32-ide-version.d.ts +37 -0
  65. package/dist/git/change-impact-config.d.ts +159 -0
  66. package/dist/git/git-commands.d.ts +11 -1
  67. package/dist/git/git-diff.d.ts +6 -0
  68. package/dist/git/git-executor.d.ts +11 -0
  69. package/dist/git/git-status.d.ts +57 -0
  70. package/dist/git/git-types.d.ts +2 -50
  71. package/dist/git/git-worktree.d.ts +71 -1
  72. package/dist/git/index.d.ts +3 -1
  73. package/dist/index.d.ts +64 -14
  74. package/dist/index.js +50719 -20120
  75. package/dist/index.js.map +1 -1
  76. package/dist/index.mjs +50317 -19882
  77. package/dist/index.mjs.map +1 -1
  78. package/dist/installer.d.ts +1 -4
  79. package/dist/ipc/local-ipc-server.d.ts +91 -0
  80. package/dist/launch.d.ts +1 -1
  81. package/dist/logging/async-batch-writer.d.ts +10 -0
  82. package/dist/logging/log-redactor.d.ts +24 -0
  83. package/dist/logging/log-tail-reader.d.ts +81 -0
  84. package/dist/logging/logger.d.ts +1 -1
  85. package/dist/mesh/contracts.d.ts +164 -0
  86. package/dist/mesh/coordinator-prompt.d.ts +89 -0
  87. package/dist/mesh/coordinator-registry.d.ts +59 -0
  88. package/dist/mesh/mesh-active-work.d.ts +174 -0
  89. package/dist/mesh/mesh-clone-grace.d.ts +8 -0
  90. package/dist/mesh/mesh-coordinator-config.d.ts +21 -0
  91. package/dist/mesh/mesh-delivery-policy.d.ts +131 -0
  92. package/dist/mesh/mesh-event-classify.d.ts +5 -0
  93. package/dist/mesh/mesh-event-forwarding.d.ts +41 -0
  94. package/dist/mesh/mesh-event-trace.d.ts +21 -0
  95. package/dist/mesh/mesh-events-coordinator.d.ts +4 -0
  96. package/dist/mesh/mesh-events-pending.d.ts +69 -0
  97. package/dist/mesh/mesh-events-stale.d.ts +61 -0
  98. package/dist/mesh/mesh-events-utils.d.ts +75 -0
  99. package/dist/mesh/mesh-events.d.ts +6 -49
  100. package/dist/mesh/mesh-fast-forward.d.ts +81 -0
  101. package/dist/mesh/mesh-host-ownership.d.ts +29 -0
  102. package/dist/mesh/mesh-init.d.ts +128 -0
  103. package/dist/mesh/mesh-ledger-reconciliation.d.ts +23 -4
  104. package/dist/mesh/mesh-ledger.d.ts +77 -1
  105. package/dist/mesh/mesh-magi-status.d.ts +63 -0
  106. package/dist/mesh/mesh-missions.d.ts +189 -0
  107. package/dist/mesh/mesh-node-identity.d.ts +289 -0
  108. package/dist/mesh/mesh-queue-assignment.d.ts +113 -0
  109. package/dist/mesh/mesh-reconcile-loop.d.ts +65 -0
  110. package/dist/mesh/mesh-refine-batch.d.ts +68 -0
  111. package/dist/mesh/mesh-refine-gates.d.ts +428 -0
  112. package/dist/mesh/mesh-refine-status.d.ts +62 -0
  113. package/dist/mesh/mesh-review-inbox.d.ts +90 -0
  114. package/dist/mesh/mesh-routing.d.ts +70 -0
  115. package/dist/mesh/mesh-runtime-store.d.ts +450 -0
  116. package/dist/mesh/mesh-scheduling-runtime.d.ts +78 -0
  117. package/dist/mesh/mesh-task-inflight.d.ts +46 -0
  118. package/dist/mesh/mesh-task-stats.d.ts +49 -0
  119. package/dist/mesh/mesh-unresolved-forward-outbox.d.ts +30 -0
  120. package/dist/mesh/mesh-warmup-deadline.d.ts +68 -0
  121. package/dist/mesh/mesh-work-queue.d.ts +300 -5
  122. package/dist/mesh/preview-freshness.d.ts +18 -0
  123. package/dist/mesh/refine-config.d.ts +216 -0
  124. package/dist/mesh/worktree-bootstrap-config.d.ts +145 -0
  125. package/dist/providers/acp-provider-instance.d.ts +5 -0
  126. package/dist/providers/approval-utils.d.ts +20 -0
  127. package/dist/providers/chat-message-normalization.d.ts +31 -1
  128. package/dist/providers/cli-provider-instance.d.ts +252 -3
  129. package/dist/providers/contracts.d.ts +149 -6
  130. package/dist/providers/external-sources.d.ts +71 -0
  131. package/dist/providers/manual-attendance.d.ts +63 -0
  132. package/dist/providers/native-history/antigravity-cli-transcript.d.ts +100 -0
  133. package/dist/providers/native-history/claude-cli-transcript.d.ts +70 -0
  134. package/dist/providers/native-history/codex-cli-transcript.d.ts +73 -0
  135. package/dist/providers/native-history/constants.d.ts +12 -0
  136. package/dist/providers/native-history/dispatcher.d.ts +27 -0
  137. package/dist/providers/native-history/hermes-cli-transcript.d.ts +30 -0
  138. package/dist/providers/native-history/index.d.ts +13 -0
  139. package/dist/providers/provider-instance-manager.d.ts +29 -0
  140. package/dist/providers/provider-instance.d.ts +23 -1
  141. package/dist/providers/provider-loader.d.ts +26 -4
  142. package/dist/providers/provider-trust.d.ts +31 -0
  143. package/dist/providers/read-chat-contract.d.ts +29 -0
  144. package/dist/providers/sdk/v1/builders/acp/detect-status.d.ts +68 -0
  145. package/dist/providers/sdk/v1/builders/cli/detect-status.d.ts +86 -0
  146. package/dist/providers/sdk/v1/builders/cli/parse-approval-squash.d.ts +59 -0
  147. package/dist/providers/sdk/v1/builders/cli/parse-approval.d.ts +65 -0
  148. package/dist/providers/sdk/v1/builders/cli/parse-session.d.ts +91 -0
  149. package/dist/providers/sdk/v1/builders/cli/visible-region.d.ts +42 -0
  150. package/dist/providers/sdk/v1/fixture-tooling/format.d.ts +126 -0
  151. package/dist/providers/sdk/v1/fixture-tooling/index.d.ts +8 -0
  152. package/dist/providers/sdk/v1/fixture-tooling/replay.d.ts +38 -0
  153. package/dist/providers/sdk/v1/index.d.ts +30 -0
  154. package/dist/providers/sdk/v1/sandbox/README-design.d.ts +193 -0
  155. package/dist/providers/sdk/v1/sandbox/require-whitelist.d.ts +74 -0
  156. package/dist/providers/sdk/v1/sandbox/script-runner.d.ts +98 -0
  157. package/dist/providers/sdk/v1/types/cli/index.d.ts +277 -0
  158. package/dist/providers/sdk/v1/types/common/index.d.ts +203 -0
  159. package/dist/providers/sdk/v1/validators/index.d.ts +5 -0
  160. package/dist/providers/sdk/v1/validators/manifest.d.ts +40 -0
  161. package/dist/providers/sdk/v1/validators/taint.d.ts +52 -0
  162. package/dist/providers/spec/adapter.d.ts +91 -0
  163. package/dist/providers/spec/cli-adapter.d.ts +223 -0
  164. package/dist/providers/spec/evaluator.d.ts +45 -0
  165. package/dist/providers/spec/fsm-driver.d.ts +422 -0
  166. package/dist/providers/spec/fsm-evaluator.d.ts +76 -0
  167. package/dist/providers/spec/fsm-loader.d.ts +14 -0
  168. package/dist/providers/spec/fsm-types.d.ts +174 -0
  169. package/dist/providers/spec/native-history-executor.d.ts +41 -0
  170. package/dist/providers/spec/pre-launch-trust.d.ts +16 -0
  171. package/dist/providers/spec/route.d.ts +4 -0
  172. package/dist/providers/spec/types.d.ts +222 -0
  173. package/dist/providers/status-monitor.d.ts +7 -7
  174. package/dist/providers/transcript-v2.d.ts +176 -0
  175. package/dist/providers/types/interactive-prompt.d.ts +84 -0
  176. package/dist/providers/working-dir.d.ts +17 -0
  177. package/dist/repo-mesh-types.d.ts +509 -13
  178. package/dist/runtime-defaults.d.ts +2 -0
  179. package/dist/sessions/registry.d.ts +6 -0
  180. package/dist/shared-types-extra.d.ts +2 -4
  181. package/dist/shared-types.d.ts +59 -2
  182. package/dist/status/normalize.d.ts +1 -1
  183. package/dist/status/normalize.js +1 -0
  184. package/dist/status/normalize.js.map +1 -1
  185. package/dist/status/normalize.mjs +1 -0
  186. package/dist/status/normalize.mjs.map +1 -1
  187. package/dist/status/reporter.d.ts +2 -0
  188. package/dist/status/snapshot.d.ts +26 -0
  189. package/dist/system/hash.d.ts +8 -0
  190. package/dist/system/load-better-sqlite3.d.ts +21 -0
  191. package/dist/types.d.ts +5 -0
  192. package/package.json +7 -3
  193. package/src/agent-stream/poller.ts +2 -3
  194. package/src/agent-stream/provider-adapter.ts +1 -1
  195. package/src/boot/daemon-lifecycle.ts +63 -12
  196. package/src/boot/process-hardening.ts +89 -0
  197. package/src/build-info.ts +73 -0
  198. package/src/chat/source-machine.ts +534 -0
  199. package/src/chat/source-resolver.ts +0 -0
  200. package/src/chat/subscription-updates.ts +20 -1
  201. package/src/cli-adapter-types.d.ts +3 -1
  202. package/src/cli-adapter-types.ts +68 -2
  203. package/src/cli-adapters/cli-script-runner.ts +421 -0
  204. package/src/cli-adapters/cli-state-engine.ts +1246 -0
  205. package/src/cli-adapters/provider-cli-adapter.d.ts +1 -1
  206. package/src/cli-adapters/provider-cli-adapter.ts +914 -1144
  207. package/src/cli-adapters/provider-cli-parse.d.ts +2 -0
  208. package/src/cli-adapters/provider-cli-parse.ts +19 -0
  209. package/src/cli-adapters/provider-cli-runtime.ts +56 -7
  210. package/src/cli-adapters/provider-cli-shared.d.ts +4 -0
  211. package/src/cli-adapters/provider-cli-shared.ts +121 -11
  212. package/src/cli-adapters/pty-transport.ts +2 -1
  213. package/src/cli-adapters/pty-write-chunking.ts +106 -0
  214. package/src/cli-adapters/raw-terminal-io.ts +252 -0
  215. package/src/cli-adapters/resolve-executable.ts +204 -0
  216. package/src/cli-adapters/session-host-transport.ts +2 -1
  217. package/src/cli-adapters/terminal-backends/ghostty-vt-backend.ts +63 -29
  218. package/src/cli-adapters/terminal-backends/types.ts +10 -3
  219. package/src/cli-adapters/terminal-screen.ts +16 -81
  220. package/src/commands/WINDOWS-UPGRADE-LOCK-FAILURE.md +198 -0
  221. package/src/commands/chat-commands-debug-bundle.ts +398 -0
  222. package/src/commands/chat-commands-read.ts +2447 -0
  223. package/src/commands/chat-commands-scope.ts +54 -0
  224. package/src/commands/chat-commands-shared.ts +114 -0
  225. package/src/commands/chat-commands-write.ts +891 -0
  226. package/src/commands/chat-commands.ts +19 -1841
  227. package/src/commands/cli-manager.ts +572 -27
  228. package/src/commands/handler.ts +841 -2
  229. package/src/commands/high-family/index.ts +28 -0
  230. package/src/commands/high-family/mesh-coordinator-launch.ts +678 -0
  231. package/src/commands/high-family/mesh-events.ts +80 -0
  232. package/src/commands/high-family/mesh-status.ts +714 -0
  233. package/src/commands/high-family/types.ts +76 -0
  234. package/src/commands/low-family/coordinator-prompt.ts +72 -0
  235. package/src/commands/low-family/daemon-lifecycle.ts +107 -0
  236. package/src/commands/low-family/diagnostics.ts +57 -0
  237. package/src/commands/low-family/index.ts +37 -0
  238. package/src/commands/low-family/mesh-ledger.ts +62 -0
  239. package/src/commands/low-family/mesh-node-logs.ts +87 -0
  240. package/src/commands/low-family/notification.ts +116 -0
  241. package/src/commands/low-family/refine-config.ts +106 -0
  242. package/src/commands/low-family/session-host.ts +274 -0
  243. package/src/commands/low-family/spec-providerdev.ts +217 -0
  244. package/src/commands/low-family/status-meta.ts +112 -0
  245. package/src/commands/low-family/types.ts +39 -0
  246. package/src/commands/med-family/cli-agent.ts +238 -0
  247. package/src/commands/med-family/fast-forward.ts +230 -0
  248. package/src/commands/med-family/ide.ts +163 -0
  249. package/src/commands/med-family/index.ts +37 -0
  250. package/src/commands/med-family/mesh-crud.ts +1242 -0
  251. package/src/commands/med-family/mesh-host-pairing.ts +234 -0
  252. package/src/commands/med-family/mesh-queue.ts +167 -0
  253. package/src/commands/med-family/mesh-restart.ts +92 -0
  254. package/src/commands/med-family/types.ts +143 -0
  255. package/src/commands/mesh-coordinator.ts +334 -124
  256. package/src/commands/router.ts +2846 -3484
  257. package/src/commands/stream-commands.ts +8 -0
  258. package/src/commands/upgrade-helper.ts +310 -45
  259. package/src/config/chat-history.ts +493 -24
  260. package/src/config/config.ts +12 -0
  261. package/src/config/mesh-config.ts +593 -22
  262. package/src/config/mesh-json-config.ts +376 -0
  263. package/src/config/recent-activity.ts +8 -2
  264. package/src/config/repo-settings.ts +111 -0
  265. package/src/daemon/dev-auto-implement.ts +3 -2
  266. package/src/daemon/dev-cli-debug.ts +10 -1
  267. package/src/daemon/dev-server.ts +0 -541
  268. package/src/detection/cli-detector.ts +28 -9
  269. package/src/detection/ide-detector.ts +55 -16
  270. package/src/detection/win32-ide-version.ts +106 -0
  271. package/src/git/change-impact-config.ts +354 -0
  272. package/src/git/git-commands.ts +59 -15
  273. package/src/git/git-diff.ts +81 -11
  274. package/src/git/git-executor.ts +12 -0
  275. package/src/git/git-status.ts +767 -48
  276. package/src/git/git-types.ts +14 -62
  277. package/src/git/git-worktree.ts +261 -4
  278. package/src/git/index.ts +17 -0
  279. package/src/index.ts +196 -12
  280. package/src/installer.d.ts +1 -1
  281. package/src/installer.ts +8 -6
  282. package/src/ipc/local-ipc-server.ts +278 -0
  283. package/src/launch.d.ts +1 -1
  284. package/src/launch.ts +37 -28
  285. package/src/logging/async-batch-writer.ts +55 -0
  286. package/src/logging/command-log.ts +7 -5
  287. package/src/logging/log-redactor.ts +100 -0
  288. package/src/logging/log-tail-reader.ts +341 -0
  289. package/src/logging/logger.ts +14 -7
  290. package/src/mesh/contracts.ts +338 -0
  291. package/src/mesh/coordinator-prompt.ts +415 -34
  292. package/src/mesh/coordinator-registry.ts +121 -0
  293. package/src/mesh/mesh-active-work.ts +645 -0
  294. package/src/mesh/mesh-clone-grace.ts +68 -0
  295. package/src/mesh/mesh-coordinator-config.ts +97 -0
  296. package/src/mesh/mesh-delivery-policy.ts +315 -0
  297. package/src/mesh/mesh-event-classify.ts +51 -0
  298. package/src/mesh/mesh-event-forwarding.ts +1897 -0
  299. package/src/mesh/mesh-event-trace.ts +67 -0
  300. package/src/mesh/mesh-events-coordinator.ts +32 -0
  301. package/src/mesh/mesh-events-pending.ts +656 -0
  302. package/src/mesh/mesh-events-stale.ts +389 -0
  303. package/src/mesh/mesh-events-utils.ts +443 -0
  304. package/src/mesh/mesh-events.ts +33 -1035
  305. package/src/mesh/mesh-fast-forward.ts +843 -0
  306. package/src/mesh/mesh-host-ownership.ts +111 -0
  307. package/src/mesh/mesh-init.ts +350 -0
  308. package/src/mesh/mesh-ledger-reconciliation.ts +12 -7
  309. package/src/mesh/mesh-ledger.ts +656 -102
  310. package/src/mesh/mesh-magi-status.ts +223 -0
  311. package/src/mesh/mesh-missions.ts +449 -0
  312. package/src/mesh/mesh-node-identity.ts +1887 -0
  313. package/src/mesh/mesh-queue-assignment.ts +1924 -0
  314. package/src/mesh/mesh-reconcile-loop.ts +1997 -0
  315. package/src/mesh/mesh-refine-batch.ts +205 -0
  316. package/src/mesh/mesh-refine-gates.ts +1673 -0
  317. package/src/mesh/mesh-refine-status.ts +231 -0
  318. package/src/mesh/mesh-review-inbox.ts +307 -0
  319. package/src/mesh/mesh-routing.ts +291 -0
  320. package/src/mesh/mesh-runtime-store.ts +1853 -0
  321. package/src/mesh/mesh-scheduling-runtime.ts +198 -0
  322. package/src/mesh/mesh-task-inflight.ts +70 -0
  323. package/src/mesh/mesh-task-stats.ts +161 -0
  324. package/src/mesh/mesh-unresolved-forward-outbox.ts +185 -0
  325. package/src/mesh/mesh-warmup-deadline.ts +152 -0
  326. package/src/mesh/mesh-work-queue.ts +1254 -141
  327. package/src/mesh/preview-freshness.ts +118 -0
  328. package/src/mesh/refine-config.ts +423 -0
  329. package/src/mesh/worktree-bootstrap-config.ts +450 -0
  330. package/src/providers/acp-provider-instance.ts +43 -10
  331. package/src/providers/approval-utils.d.ts +5 -0
  332. package/src/providers/approval-utils.ts +57 -5
  333. package/src/providers/chat-message-normalization.ts +92 -4
  334. package/src/providers/cli-provider-instance.ts +2001 -106
  335. package/src/providers/contracts.d.ts +55 -0
  336. package/src/providers/contracts.ts +160 -6
  337. package/src/providers/extension-provider-instance.ts +12 -7
  338. package/src/providers/external-sources.ts +218 -0
  339. package/src/providers/ide-provider-instance.ts +35 -12
  340. package/src/providers/manual-attendance.ts +85 -0
  341. package/src/providers/native-history/antigravity-cli-transcript.ts +643 -0
  342. package/src/providers/native-history/claude-cli-transcript.ts +396 -0
  343. package/src/providers/native-history/codex-cli-transcript.ts +479 -0
  344. package/src/providers/native-history/constants.ts +19 -0
  345. package/src/providers/native-history/dispatcher.ts +345 -0
  346. package/src/providers/native-history/hermes-cli-transcript.ts +260 -0
  347. package/src/providers/native-history/index.ts +30 -0
  348. package/src/providers/provider-instance-manager.ts +71 -0
  349. package/src/providers/provider-instance.ts +19 -1
  350. package/src/providers/provider-loader.ts +668 -50
  351. package/src/providers/provider-schema.ts +87 -14
  352. package/src/providers/provider-trust.ts +114 -0
  353. package/src/providers/read-chat-contract.ts +76 -16
  354. package/src/providers/sdk/README.md +49 -0
  355. package/src/providers/sdk/v1/builders/acp/detect-status.ts +144 -0
  356. package/src/providers/sdk/v1/builders/cli/detect-status.ts +313 -0
  357. package/src/providers/sdk/v1/builders/cli/parse-approval-squash.ts +158 -0
  358. package/src/providers/sdk/v1/builders/cli/parse-approval.ts +250 -0
  359. package/src/providers/sdk/v1/builders/cli/parse-session.ts +276 -0
  360. package/src/providers/sdk/v1/builders/cli/visible-region.ts +143 -0
  361. package/src/providers/sdk/v1/fixture-tooling/format.ts +130 -0
  362. package/src/providers/sdk/v1/fixture-tooling/index.ts +22 -0
  363. package/src/providers/sdk/v1/fixture-tooling/replay.ts +352 -0
  364. package/src/providers/sdk/v1/index.ts +152 -0
  365. package/src/providers/sdk/v1/sandbox/README-design.ts +195 -0
  366. package/src/providers/sdk/v1/sandbox/require-whitelist.ts +472 -0
  367. package/src/providers/sdk/v1/sandbox/script-runner.ts +150 -0
  368. package/src/providers/sdk/v1/schemas/cli/provider.schema.json +509 -0
  369. package/src/providers/sdk/v1/schemas/primitives/acp-session-protocol-v1.json +131 -0
  370. package/src/providers/sdk/v1/schemas/primitives/native-history-codex-rollout-v1.json +66 -0
  371. package/src/providers/sdk/v1/schemas/primitives/tui-approval-squash-v1.json +91 -0
  372. package/src/providers/sdk/v1/schemas/primitives/tui-assistant-block-v1.json +91 -0
  373. package/src/providers/sdk/v1/schemas/primitives/tui-cue-ordering-v1.json +47 -0
  374. package/src/providers/sdk/v1/schemas/primitives/tui-dispatch-order-v1.json +32 -0
  375. package/src/providers/sdk/v1/schemas/primitives/tui-footer-chrome-v1.json +42 -0
  376. package/src/providers/sdk/v1/schemas/primitives/tui-index-finder-v1.json +27 -0
  377. package/src/providers/sdk/v1/schemas/primitives/tui-modal-v1.json +125 -0
  378. package/src/providers/sdk/v1/schemas/primitives/tui-prompt-marker-v1.json +45 -0
  379. package/src/providers/sdk/v1/schemas/primitives/tui-session-id-extraction-v1.json +46 -0
  380. package/src/providers/sdk/v1/schemas/primitives/tui-settled-prompt-v1.json +71 -0
  381. package/src/providers/sdk/v1/schemas/primitives/tui-spinner-v1.json +83 -0
  382. package/src/providers/sdk/v1/schemas/primitives/tui-transcript-pty-v1.json +83 -0
  383. package/src/providers/sdk/v1/schemas/primitives/tui-visible-region-v1.json +57 -0
  384. package/src/providers/sdk/v1/schemas/primitives/tui-welcome-screen-v1.json +35 -0
  385. package/src/providers/sdk/v1/types/cli/index.ts +365 -0
  386. package/src/providers/sdk/v1/types/common/index.ts +229 -0
  387. package/src/providers/sdk/v1/validators/index.ts +19 -0
  388. package/src/providers/sdk/v1/validators/manifest.ts +110 -0
  389. package/src/providers/sdk/v1/validators/taint.ts +309 -0
  390. package/src/providers/spec/adapter.ts +235 -0
  391. package/src/providers/spec/cli-adapter.ts +1056 -0
  392. package/src/providers/spec/evaluator.ts +407 -0
  393. package/src/providers/spec/fsm-driver.ts +1410 -0
  394. package/src/providers/spec/fsm-evaluator.ts +272 -0
  395. package/src/providers/spec/fsm-loader.ts +120 -0
  396. package/src/providers/spec/fsm-types.ts +273 -0
  397. package/src/providers/spec/native-history-executor.ts +1143 -0
  398. package/src/providers/spec/pre-launch-trust.ts +104 -0
  399. package/src/providers/spec/route.ts +51 -0
  400. package/src/providers/spec/types.ts +262 -0
  401. package/src/providers/status-monitor.d.ts +7 -7
  402. package/src/providers/status-monitor.ts +37 -22
  403. package/src/providers/transcript-v2.ts +567 -0
  404. package/src/providers/types/interactive-prompt.ts +536 -0
  405. package/src/providers/version-archive.ts +64 -24
  406. package/src/providers/working-dir.ts +23 -0
  407. package/src/repo-mesh-types.ts +748 -14
  408. package/src/runtime-defaults.ts +39 -0
  409. package/src/sessions/registry.ts +6 -0
  410. package/src/shared-types-extra.ts +2 -4
  411. package/src/shared-types.d.ts +8 -0
  412. package/src/shared-types.ts +64 -1
  413. package/src/status/builders.ts +26 -6
  414. package/src/status/normalize.ts +2 -0
  415. package/src/status/reporter.ts +19 -1
  416. package/src/status/snapshot.ts +95 -26
  417. package/src/system/hash.ts +23 -0
  418. package/src/system/host-memory.ts +29 -12
  419. package/src/system/load-better-sqlite3.ts +68 -0
  420. package/src/types.ts +5 -0
  421. package/dist/cli-adapters/terminal-backends/xterm-backend.d.ts +0 -17
  422. package/dist/mesh/mesh-sync.d.ts +0 -53
  423. package/src/cli-adapters/terminal-backends/ghostty-vt-backend.d.ts +0 -16
  424. package/src/cli-adapters/terminal-backends/xterm-backend.ts +0 -97
  425. package/src/mesh/mesh-sync.ts +0 -111
@@ -0,0 +1,34 @@
1
+ export declare const WIN32_PTY_WRITE_CHUNK_CHARS = 1024;
2
+ export declare const WIN32_PTY_WRITE_CHUNK_GAP_MS = 8;
3
+ /** Split `text` into chunks of at most `size` UTF-16 units without ever cutting
4
+ * between a high and low surrogate (which would corrupt an astral char — emoji,
5
+ * etc. — on the UTF-8 PTY write). */
6
+ export declare function chunkPreservingSurrogates(text: string, size: number): string[];
7
+ /** True when a body of `length` UTF-16 units should be paced into multiple
8
+ * chunks on win32 rather than written in a single PTY write. */
9
+ export declare function shouldChunkWin32Write(length: number): boolean;
10
+ /**
11
+ * Drive a paced, surrogate-safe chunked write of `text` over a `write(chunk)`
12
+ * sink, calling `onChunkWritten` after each chunk (e.g. to advance an input-
13
+ * activity timestamp) and `onDone` once the final chunk is out. The optional
14
+ * `setTimer` lets the caller own the timer handle (so it can be cleared on
15
+ * shutdown) and supply a custom scheduler in tests; it defaults to setTimeout.
16
+ *
17
+ * Bodies at or below the chunk threshold are written in a SINGLE write — the
18
+ * common case — so this is a no-op pacing wrapper for normal-sized prompts.
19
+ *
20
+ * Returns the chunks that will be written (useful for assertions/logging).
21
+ */
22
+ export interface PacedWin32WriteOptions {
23
+ write: (chunk: string) => void;
24
+ onChunkWritten?: () => void;
25
+ onDone?: () => void;
26
+ /** Schedule the next chunk; must return a handle the caller can clear.
27
+ * Defaults to setTimeout. */
28
+ setTimer?: (fn: () => void, delayMs: number) => ReturnType<typeof setTimeout>;
29
+ /** Store the pending timer handle so the caller can clear it on shutdown. */
30
+ onTimer?: (handle: ReturnType<typeof setTimeout> | null) => void;
31
+ chunkChars?: number;
32
+ gapMs?: number;
33
+ }
34
+ export declare function writeWin32Paced(text: string, opts: PacedWin32WriteOptions): string[];
@@ -0,0 +1,37 @@
1
+ import { type SessionHostEndpoint, type SessionHostRequest, type SessionHostResponse, type SessionTerminalSnapshot, type SessionTerminalState } from '@adhdev/session-host-core';
2
+ type LowercaseLetter = 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z';
3
+ type FunctionKey = 'f1' | 'f2' | 'f3' | 'f4' | 'f5' | 'f6' | 'f7' | 'f8' | 'f9' | 'f10' | 'f11' | 'f12';
4
+ type BaseNamedKey = 'enter' | 'escape' | 'tab' | 'backspace' | 'up' | 'down' | 'left' | 'right' | 'home' | 'end' | 'pageup' | 'pagedown' | 'space' | FunctionKey;
5
+ type ShiftNamedKey = BaseNamedKey | LowercaseLetter | `ctrl+${LowercaseLetter}` | `alt+${LowercaseLetter}`;
6
+ export type NamedKey = BaseNamedKey | `ctrl+${LowercaseLetter}` | `alt+${LowercaseLetter}` | `shift+${ShiftNamedKey}`;
7
+ export declare function namedKeyToAnsi(key: NamedKey | string): string;
8
+ export declare function namedKeysToAnsi(keys: readonly (NamedKey | string)[]): string;
9
+ export interface RawTerminalSessionHostClient {
10
+ connect(): Promise<void>;
11
+ request<T = unknown>(request: SessionHostRequest): Promise<SessionHostResponse<T>>;
12
+ close(): Promise<void>;
13
+ }
14
+ export interface RawTerminalAttachmentOptions {
15
+ endpoint?: SessionHostEndpoint;
16
+ sessionId: string;
17
+ mode?: 'read' | 'write';
18
+ clientId?: string;
19
+ client?: RawTerminalSessionHostClient;
20
+ }
21
+ export declare class RawTerminalAttachment {
22
+ readonly sessionId: string;
23
+ private readonly clientId;
24
+ private readonly mode;
25
+ private readonly client;
26
+ private closed;
27
+ private constructor();
28
+ static attach(options: RawTerminalAttachmentOptions): Promise<RawTerminalAttachment>;
29
+ readSnapshot(): Promise<SessionTerminalSnapshot>;
30
+ readScreenText(): Promise<string>;
31
+ readState(): Promise<SessionTerminalState>;
32
+ writeInput(text: string): Promise<void>;
33
+ writeKeys(keys: readonly (NamedKey | string)[]): Promise<void>;
34
+ close(): Promise<void>;
35
+ }
36
+ export declare function withRawTerminalAttachment<T>(options: RawTerminalAttachmentOptions, operation: (attachment: RawTerminalAttachment) => Promise<T>): Promise<T>;
37
+ export {};
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Pick the best launch target from `where`'s match list on win32.
3
+ *
4
+ * `where npm` on a typical install returns BOTH the extensionless Unix wrapper
5
+ * (e.g. `C:\Program Files\nodejs\npm`, a bash shell script) AND the `npm.cmd`
6
+ * shim. The extensionless wrapper is NOT a win32 executable — handing it to a
7
+ * spawn boundary ENOENTs (errno -4058). So:
8
+ * 1. Prefer a directly-launchable `.exe`/`.com`.
9
+ * 2. Otherwise take a `.cmd`/`.bat` shim (absolute → works for ConPTY, and for
10
+ * execFile once wrapped via buildWin32ExecFileSpawn).
11
+ * 3. NEVER fall back to an extensionless match — return null so the caller can
12
+ * try other resolution strategies (global-bin scan) rather than emit a
13
+ * path that cannot be exec'd.
14
+ */
15
+ export declare function selectWin32ExecutableMatch(matches: string[]): string | null;
16
+ /**
17
+ * Resolve a launch command to an absolute executable path on Windows.
18
+ *
19
+ * node-pty's ConPTY backend resolves a bare/relative command against the
20
+ * *calling process's* `Path` env var and — critically — does NOT apply PATHEXT.
21
+ * So a provider command like `claude` never matches `claude.exe` and the native
22
+ * layer throws `File not found:` (empty), which crashes the daemon. We resolve
23
+ * it to an absolute `.exe` here (in the daemon process, which has the full PATH)
24
+ * before the command ever reaches node-pty.
25
+ *
26
+ * No-op on non-Windows and when the command is already an existing absolute path
27
+ * or cannot be resolved (caller keeps the original behaviour).
28
+ */
29
+ export declare function resolveWin32Executable(command: string): string;
30
+ /**
31
+ * Quote one argument for a cmd.exe command line using the standard
32
+ * CommandLineToArgvW rules (the same algorithm Node uses internally): wrap in
33
+ * double quotes only when needed, double up the backslashes that precede a
34
+ * quote, and escape embedded quotes. We do per-argument quoting ourselves
35
+ * (rather than `{ shell: true }`) because Node's shell mode joins argv with bare
36
+ * spaces and applies NO quoting — any argument containing a space (a path, a
37
+ * test name) would split. Inputs here are repo-mesh validation/bootstrap command
38
+ * tokens (trusted config, not network data), so argv-quoting for spaces/quotes
39
+ * is sufficient; we deliberately do not attempt full cmd.exe metacharacter
40
+ * (& | < > ^ %) escaping.
41
+ */
42
+ export declare function quoteWin32CmdArg(arg: string): string;
43
+ export interface Win32ExecFileSpawn {
44
+ file: string;
45
+ args: string[];
46
+ /** Set when the args are pre-quoted for cmd.exe and must not be re-quoted. */
47
+ windowsVerbatimArguments?: boolean;
48
+ }
49
+ /**
50
+ * Build child_process.execFile/spawn parameters for an already-resolved command.
51
+ *
52
+ * On win32 a `.cmd`/`.bat` shim (what `npm`/`npx`/`tsc`/`vitest` resolve to)
53
+ * cannot be launched by execFile directly — modern Node refuses it (CVE-2024-27980
54
+ * mitigation) and CreateProcess cannot exec a batch file. So wrap it in
55
+ * `cmd.exe /d /s /c "<quoted command line>"` with `windowsVerbatimArguments` so
56
+ * our own per-argument quoting is preserved. `.exe`/`.com` (and every non-win32
57
+ * platform, and any already-cmd.exe target) pass through unchanged — this is a
58
+ * strict no-op off win32, guarding against regressions on linux/macOS.
59
+ */
60
+ export declare function buildWin32ExecFileSpawn(resolvedCommand: string, args: string[]): Win32ExecFileSpawn;
61
+ /**
62
+ * Convenience: resolve a bare command to an absolute win32 path AND build the
63
+ * execFile spawn parameters (cmd.exe-wrapping a .cmd/.bat shim). Returns the
64
+ * resolved command alongside the spawn spec so callers can still surface the
65
+ * resolved path in diagnostics.
66
+ */
67
+ export declare function resolveWin32ExecFileSpawn(command: string, args: string[]): Win32ExecFileSpawn & {
68
+ resolvedCommand: string;
69
+ };
@@ -1,13 +1,16 @@
1
- import type { TerminalViewportBackend, TerminalViewportBackendOptions, TerminalViewportBackendPreference } from './types.js';
2
- export declare function resolveTerminalBackendPreference(): TerminalViewportBackendPreference;
3
- export declare function isGhosttyVtBackendAvailable(): boolean;
1
+ import type { TerminalViewportBackend, TerminalViewportBackendOptions } from './types.js';
4
2
  export declare class GhosttyVtTerminalBackend implements TerminalViewportBackend {
5
3
  readonly kind: "ghostty-vt";
6
4
  private terminal;
5
+ private rows;
6
+ private disposed;
7
7
  constructor(options: TerminalViewportBackendOptions);
8
8
  resize(rows: number, cols: number): void;
9
9
  write(data: string): void;
10
+ private formatLines;
11
+ private static trimBlankEnds;
10
12
  getText(): string;
13
+ getTextWithScrollback(): string;
11
14
  getCursorPosition(): {
12
15
  col: number;
13
16
  row: number;
@@ -1,5 +1,4 @@
1
- export type TerminalViewportBackendKind = 'xterm' | 'ghostty-vt';
2
- export type TerminalViewportBackendPreference = TerminalViewportBackendKind | 'auto';
1
+ export type TerminalViewportBackendKind = 'ghostty-vt';
3
2
  export type TerminalViewportBackendOptions = {
4
3
  rows: number;
5
4
  cols: number;
@@ -10,6 +9,15 @@ export interface TerminalViewportBackend {
10
9
  resize(rows: number, cols: number): void;
11
10
  write(data: string): void;
12
11
  getText(): string;
12
+ /**
13
+ * Like getText() but includes scrollback history (the lines that have
14
+ * scrolled above the visible viewport). Used by content-pattern matching
15
+ * (e.g. approval/modal button extraction) that must stay correct when a
16
+ * tall prompt — a big diff or long explanation — pushes part of the
17
+ * prompt box above the viewport. NOT for cursor-relative / stable_ms
18
+ * conditions, whose row indices are viewport-relative.
19
+ */
20
+ getTextWithScrollback(): string;
13
21
  getCursorPosition(): {
14
22
  col: number;
15
23
  row: number;
@@ -1,29 +1,22 @@
1
1
  /**
2
- * PTY screen snapshot abstraction.
3
- *
4
- * Terminal viewport backend selection.
5
- *
6
- * Runtime preference is backend-agnostic:
7
- * - prefer ghostty-vt when available (or when explicitly requested)
8
- * - fall back to xterm when ghostty-vt is unavailable
2
+ * PTY screen snapshot abstraction — ghostty-vt backend.
9
3
  */
10
- import type { TerminalViewportBackendKind, TerminalViewportBackendPreference } from './terminal-backends/types.js';
4
+ import type { TerminalViewportBackendKind } from './terminal-backends/types.js';
11
5
  export declare function getTerminalBackendRuntimeStatus(): {
12
6
  backend: TerminalViewportBackendKind;
13
- preference: TerminalViewportBackendPreference;
14
- ghosttyAvailable: boolean;
15
7
  };
16
8
  export declare class TerminalScreen {
17
9
  readonly backendKind: TerminalViewportBackendKind;
18
10
  private rows;
19
11
  private cols;
20
- private readonly preference;
21
12
  private terminal;
22
13
  constructor(rows?: number, cols?: number);
23
14
  reset(rows?: number, cols?: number): void;
24
15
  resize(rows: number, cols: number): void;
25
16
  write(data: string): void;
26
17
  getText(): string;
18
+ /** Full buffer including scrollback history (see backend doc). */
19
+ getTextWithScrollback(): string;
27
20
  getCursorPosition(): {
28
21
  col: number;
29
22
  row: number;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Chat Commands — get_chat_debug_bundle: sanitize, summarize and store a
3
+ * diagnostic snapshot of the current read_chat / provider / session state.
4
+ */
5
+ import type { CommandResult, CommandHelpers } from './handler.js';
6
+ interface DebugSanitizeOptions {
7
+ maxDepth?: number;
8
+ maxArrayLength?: number;
9
+ maxObjectKeys?: number;
10
+ maxStringLength?: number;
11
+ }
12
+ export declare function sanitizeDebugBundleValue(value: unknown, options?: DebugSanitizeOptions, depth?: number, keyHint?: string): unknown;
13
+ export declare function handleGetChatDebugBundle(h: CommandHelpers, args: any): Promise<CommandResult>;
14
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Chat Commands — read side: handleReadChat, handleChatHistory and the
3
+ * native-history / source-resolution / normalization helpers they use.
4
+ */
5
+ import type { CommandResult, CommandHelpers } from './handler.js';
6
+ export declare function handleChatHistory(h: CommandHelpers, args: any): Promise<CommandResult>;
7
+ export declare function handleReadChat(h: CommandHelpers, args: any): Promise<CommandResult>;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Chat Commands — read_chat node workspace scope guard.
3
+ */
4
+ import type { CommandHelpers } from './handler.js';
5
+ /**
6
+ * read_chat node scope verdict. One physical daemon hosts a base node plus several
7
+ * worktree nodes; mesh_read_chat always dispatches read_chat with the requested
8
+ * node's workspace (`args.workspace`). When the resolved target session actually
9
+ * lives in a DIFFERENT worktree, returning its transcript — or worse, letting the
10
+ * native-history-by-workspace fallback splice sibling worktree turns into the
11
+ * reply — makes the coordinator believe one session received every worktree's
12
+ * work. This guard refuses a CONFIRMED cross-workspace read instead of mixing.
13
+ *
14
+ * Conservative by design (mirrors the WTCLAIM fix-B "unknown → allow" rule): only
15
+ * a session id that resolves to a known workspace which is unequal to a known
16
+ * intended workspace blocks. When either side is unknown — no targetSessionId, no
17
+ * args.workspace, an unregistered session, the coordinator self-session, or a
18
+ * plain dashboard read that never passes a node workspace — the read proceeds
19
+ * untouched, so base-node and same-daemon coordinator reads never regress.
20
+ */
21
+ export declare function evaluateReadChatNodeWorkspaceScope(args: {
22
+ targetSessionId?: string;
23
+ intendedWorkspace?: string;
24
+ sessionWorkspace?: string;
25
+ }): {
26
+ scoped: false;
27
+ } | {
28
+ scoped: true;
29
+ intended: string;
30
+ actual: string;
31
+ };
32
+ /**
33
+ * Resolve the target session's ACTUAL workspace from the most authoritative source
34
+ * available on this daemon: the session registry record (stamped at register
35
+ * time), then the live CLI adapter's working directory, then the bound instance
36
+ * state. Returns '' when nothing knows the session's workspace — the caller treats
37
+ * that as "unknown" and does not block.
38
+ */
39
+ export declare function resolveTargetSessionActualWorkspace(h: CommandHelpers, targetSessionId: string): string;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Chat Commands — shared private helpers used by more than one handler group.
3
+ *
4
+ * These were module-local helpers/consts/interfaces in chat-commands.ts. They
5
+ * are exported here only so the split read/write/debug/scope sub-modules can
6
+ * import them; they are NOT part of the public chat-commands surface (except
7
+ * READ_CHAT_PROVIDER_EVAL_TIMEOUT_MS and buildSendInputSignature, which the
8
+ * chat-commands barrel re-exports).
9
+ */
10
+ import type { CommandHelpers } from './handler.js';
11
+ import type { CliAdapter } from '../cli-adapter-types.js';
12
+ import { type InputEnvelope, type ProviderModule } from '../providers/contracts.js';
13
+ import type { ProviderInstance } from '../providers/provider-instance.js';
14
+ import type { ChatMessage } from '../types.js';
15
+ import type { SessionTransport } from '../shared-types.js';
16
+ export declare const READ_CHAT_PROVIDER_EVAL_TIMEOUT_MS = 25000;
17
+ export interface ApprovalSelectableInstance extends ProviderInstance {
18
+ recordApprovalSelection?(buttonText: string): void;
19
+ }
20
+ export interface RuntimeChatMessageMerger extends ProviderInstance {
21
+ mergeRuntimeChatMessages?(messages: ChatMessage[]): ChatMessage[];
22
+ recordAcknowledgedUserInput?(input: InputEnvelope | string): void;
23
+ }
24
+ export declare function getCurrentProviderType(h: CommandHelpers, fallback?: string): string;
25
+ export declare function getCurrentManagerKey(h: CommandHelpers): string;
26
+ export declare function getTargetedCliAdapter(h: CommandHelpers, args: any, providerType?: string): CliAdapter | null;
27
+ export declare function getTargetInstance(h: CommandHelpers, args: any): ApprovalSelectableInstance | null;
28
+ export declare function getTargetTransport(h: CommandHelpers, provider?: ProviderModule): SessionTransport | null;
29
+ export declare function isCliLikeTransport(transport: SessionTransport | null): boolean;
30
+ export declare function isExtensionTransport(transport: SessionTransport | null): boolean;
31
+ export declare function buildSendInputSignature(input: InputEnvelope): string;
32
+ export declare function parseMaybeJson(value: any): any;
33
+ export declare function getChatMessageSignature(message: ChatMessage | null | undefined): string;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Chat Commands — write side: handleSendChat, handleListChats, handleNewChat,
3
+ * handleSwitchChat, handleSetMode, handleChangeModel, handleSetThoughtLevel,
4
+ * handleResolveAction and the send/mode/model helpers they use.
5
+ */
6
+ import type { CommandResult, CommandHelpers } from './handler.js';
7
+ export declare function handleSendChat(h: CommandHelpers, args: any): Promise<CommandResult>;
8
+ export declare function handleListChats(h: CommandHelpers, args: any): Promise<CommandResult>;
9
+ export declare function handleNewChat(h: CommandHelpers, args: any): Promise<CommandResult>;
10
+ export declare function handleSwitchChat(h: CommandHelpers, args: any): Promise<CommandResult>;
11
+ export declare function handleSetMode(h: CommandHelpers, args: any): Promise<CommandResult>;
12
+ export declare function handleChangeModel(h: CommandHelpers, args: any): Promise<CommandResult>;
13
+ export declare function handleSetThoughtLevel(h: CommandHelpers, args: any): Promise<CommandResult>;
14
+ export declare function handleResolveAction(h: CommandHelpers, args: any): Promise<CommandResult>;
@@ -1,27 +1,14 @@
1
1
  /**
2
2
  * Chat Commands — readChat, sendChat, listChats, newChat, switchChat,
3
3
  * setMode, changeModel, setThoughtLevel, resolveAction, chatHistory
4
+ *
5
+ * This module is a re-export barrel. The implementation was split into focused
6
+ * sub-modules (chat-commands-shared / -scope / -debug-bundle / -read / -write)
7
+ * as a pure move; the public export surface here is unchanged. handler.ts does
8
+ * `import * as Chat from './chat-commands.js'` and keeps working unchanged.
4
9
  */
5
- import type { CommandResult, CommandHelpers } from './handler.js';
6
- import { type InputEnvelope } from '../providers/contracts.js';
7
- export declare const READ_CHAT_PROVIDER_EVAL_TIMEOUT_MS = 25000;
8
- export declare function buildSendInputSignature(input: InputEnvelope): string;
9
- interface DebugSanitizeOptions {
10
- maxDepth?: number;
11
- maxArrayLength?: number;
12
- maxObjectKeys?: number;
13
- maxStringLength?: number;
14
- }
15
- export declare function sanitizeDebugBundleValue(value: unknown, options?: DebugSanitizeOptions, depth?: number, keyHint?: string): unknown;
16
- export declare function handleGetChatDebugBundle(h: CommandHelpers, args: any): Promise<CommandResult>;
17
- export declare function handleChatHistory(h: CommandHelpers, args: any): Promise<CommandResult>;
18
- export declare function handleReadChat(h: CommandHelpers, args: any): Promise<CommandResult>;
19
- export declare function handleSendChat(h: CommandHelpers, args: any): Promise<CommandResult>;
20
- export declare function handleListChats(h: CommandHelpers, args: any): Promise<CommandResult>;
21
- export declare function handleNewChat(h: CommandHelpers, args: any): Promise<CommandResult>;
22
- export declare function handleSwitchChat(h: CommandHelpers, args: any): Promise<CommandResult>;
23
- export declare function handleSetMode(h: CommandHelpers, args: any): Promise<CommandResult>;
24
- export declare function handleChangeModel(h: CommandHelpers, args: any): Promise<CommandResult>;
25
- export declare function handleSetThoughtLevel(h: CommandHelpers, args: any): Promise<CommandResult>;
26
- export declare function handleResolveAction(h: CommandHelpers, args: any): Promise<CommandResult>;
27
- export {};
10
+ export { READ_CHAT_PROVIDER_EVAL_TIMEOUT_MS, buildSendInputSignature } from './chat-commands-shared.js';
11
+ export { evaluateReadChatNodeWorkspaceScope } from './chat-commands-scope.js';
12
+ export { sanitizeDebugBundleValue, handleGetChatDebugBundle } from './chat-commands-debug-bundle.js';
13
+ export { handleChatHistory, handleReadChat } from './chat-commands-read.js';
14
+ export { handleSendChat, handleListChats, handleNewChat, handleSwitchChat, handleSetMode, handleChangeModel, handleSetThoughtLevel, handleResolveAction, } from './chat-commands-write.js';
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import type { ProviderInstanceManager } from '../providers/provider-instance-manager.js';
8
8
  import { ProviderLoader } from '../providers/provider-loader.js';
9
- import { type ProviderModule, type ProviderResumeCapability } from '../providers/contracts.js';
9
+ import { type MeshCoordinatorDelegatedWorkerIsolation, type ProviderModule, type ProviderResumeCapability } from '../providers/contracts.js';
10
10
  import type { CliAdapter } from '../cli-adapter-types.js';
11
11
  import type { PtyTransportFactory } from '../cli-adapters/pty-transport.js';
12
12
  import type { SessionRegistry } from '../sessions/registry.js';
@@ -68,6 +68,7 @@ export interface CoordinatorDelegatedCliLaunchOptionsInput {
68
68
  workspace: string;
69
69
  cliArgs?: string[];
70
70
  env?: Record<string, string>;
71
+ isolation?: MeshCoordinatorDelegatedWorkerIsolation;
71
72
  }
72
73
  export interface CoordinatorDelegatedCliLaunchOptions {
73
74
  cliArgs: string[];
@@ -112,6 +113,19 @@ export declare class DaemonCliManager {
112
113
  key: string;
113
114
  } | null;
114
115
  private findAdapterBySessionId;
116
+ /**
117
+ * WTCLAIM (B): resolve the adapter for a mesh dispatch that named a node
118
+ * (meshContext.nodeId) but carried no explicit session. Matches by the
119
+ * instance's bound mesh node id (settings.meshNodeId, falling back to the
120
+ * sticky meshLastNodeId) first, then by the node workspace (workingDir).
121
+ *
122
+ * Unlike findAdapter's step-2 fuzzy fallback, this NEVER degrades to a
123
+ * provider-only first-match: on a daemon hosting BOTH a base node and a
124
+ * cloned worktree node (same daemonId), that fuzzy match could land a
125
+ * worktree-targeted task on the base session. Returns null when no session
126
+ * is bound to this node so the caller fails closed.
127
+ */
128
+ private findMeshNodeAdapter;
115
129
  handleCliCommand(cmd: string, args: any): Promise<CommandResult | null>;
116
130
  }
117
131
  export {};
@@ -102,9 +102,134 @@ export declare class DaemonCommandHandler implements CommandHelpers {
102
102
  private logCommandStart;
103
103
  private logCommandEnd;
104
104
  setAgentStreamManager(manager: DaemonAgentStreamManager): void;
105
+ /**
106
+ * When a command in the manual-attendance set arrives for a session this
107
+ * daemon hosts, stamp the live instance so auto-approve holds while the user
108
+ * drives the session by hand. Provider-common: the signal is the command
109
+ * (foreground select_session / open_panel, controlbar invoke_provider_script
110
+ * / set_mode / change_model / set_thought_level, manual resolve_action,
111
+ * pty_input), never any CLI-specific modal text — so it works identically for
112
+ * every CLI/ACP provider. send_chat is deliberately excluded because a
113
+ * coordinator delegating a task to a worker also uses send_chat; counting it
114
+ * would wrongly suppress the worker's delegated auto-approve. For a remote
115
+ * mesh worker session the controlbar commands are forwarded to the owning
116
+ * worker daemon, which runs this same hook there, so attendance is recorded
117
+ * on the daemon that actually hosts the instance.
118
+ */
119
+ private noteManualAttendanceIfApplicable;
105
120
  handle(cmd: string, args: any): Promise<CommandResult>;
106
121
  private dispatch;
122
+ /**
123
+ * Reload providers from disk. Does NOT pull from the registry — the user
124
+ * controls installs explicitly via install_provider_manifest. To upgrade
125
+ * an installed provider, call install_provider_manifest again with the
126
+ * desired version (or with no version to pick up the latest from
127
+ * registry), or use check_provider_updates to see what is out of date.
128
+ */
107
129
  private handleRefreshScripts;
130
+ /**
131
+ * Return per-provider availability so the dashboard's provider catalog
132
+ * can show "Installed" badges. Reuses the existing detection state from
133
+ * ProviderLoader.getMachineProviderStatus() — no probing is triggered.
134
+ */
135
+ private handleListProviderAvailability;
136
+ /**
137
+ * Compute the *upstream cache root*. install_provider_manifest writes
138
+ * official-registry manifests here so the daemon's standard upstream
139
+ * layer picks them up — no special handling needed at load time, and
140
+ * the manifests inherit the official-trust badge instead of the
141
+ * untrusted-external one.
142
+ *
143
+ * Path matches ProviderLoader.upstreamDir but we recompute it from
144
+ * homedir() so this method stays usable in dev where userDir can
145
+ * point at a sibling git checkout.
146
+ */
147
+ private getUpstreamInstallRoot;
148
+ /**
149
+ * Download a single provider manifest from the registry and write it to
150
+ * ~/.adhdev/providers/.upstream/{category}/{type}/provider.json.
151
+ *
152
+ * Used by standalone onboarding to seed the upstream cache with the
153
+ * default provider set on first launch. Verifies SHA-256 checksum
154
+ * against the registry meta before persisting. Refuses to write
155
+ * outside the upstream root.
156
+ *
157
+ * Args: { type: string, category?: string, version?: string }
158
+ * If category/version are omitted, looks up the latest from the registry.
159
+ */
160
+ private handleInstallProviderManifest;
161
+ /**
162
+ * If `manifest.source = { type:'github', repo, ref, subdir? }` is set,
163
+ * walk each script directory the manifest references and download every
164
+ * file from the public GitHub raw endpoint. Returns a small summary so
165
+ * the caller can report what was fetched.
166
+ *
167
+ * Best-effort: failures don't reject the install — the manifest itself is
168
+ * usable for declarative-only providers, and the user still gets a clear
169
+ * error string back if a needed script is missing.
170
+ */
171
+ private fetchProviderSources;
172
+ /**
173
+ * Remove a provider manifest from the upstream cache root
174
+ * (~/.adhdev/providers/.upstream/{category}/{type}/). Refuses to touch
175
+ * anything outside that root. Used by onboarding to opt out of a
176
+ * provider the user doesn't want; the dashboard no longer exposes a
177
+ * per-provider uninstall button (external sources are removed as a
178
+ * whole via remove_provider_source).
179
+ */
180
+ private handleUninstallProviderManifest;
181
+ /**
182
+ * Return everything currently installed in the upstream cache with its
183
+ * version. This is the "what does this daemon have" answer used both by
184
+ * the UI and by the update checker.
185
+ */
186
+ private handleListInstalledProviders;
187
+ /**
188
+ * For each installed provider, ask the registry for its current latest
189
+ * version and report whether an update is available. The user can then
190
+ * call install_provider_manifest to upgrade (it overwrites the file).
191
+ *
192
+ * Returns { providers: [{ type, category, installedVersion, latestVersion,
193
+ * updateAvailable, error? }] }
194
+ */
195
+ private handleCheckProviderUpdates;
196
+ /**
197
+ * Register a new external provider source. The daemon clones the repo
198
+ * to ~/.adhdev/external/<name>/, walks it once to detect provided
199
+ * types, and surfaces any conflicts with already-installed types so
200
+ * the dashboard can ask the user how to resolve them.
201
+ *
202
+ * Args: { url: string, ref?: string, name?: string }
203
+ * - url: https://, git@, or any git-cloneable URL
204
+ * - ref: branch/tag/commit (default "main")
205
+ * - name: short identifier (default derived from URL)
206
+ *
207
+ * Returns: { source, providers, conflicts }
208
+ * - conflicts: list of types this new source provides that another
209
+ * source already exposes. UI uses this to prompt for active-source
210
+ * selection before the load takes effect.
211
+ */
212
+ private handleAddProviderSource;
213
+ /**
214
+ * Remove a registered external source. Deletes the clone directory and
215
+ * any active-source entry pointing to it.
216
+ *
217
+ * Args: { name: string }
218
+ */
219
+ private handleRemoveProviderSource;
220
+ /**
221
+ * List registered external sources + each source's currently installed
222
+ * providers + the active selection for any conflicting types. Used by
223
+ * the dashboard's "Sources" tab.
224
+ */
225
+ private handleListProviderSources;
226
+ /**
227
+ * Pick which source's copy of a conflicting provider type is active.
228
+ * Other sources' copies stay on disk but the loader ignores them.
229
+ *
230
+ * Args: { type: string, sourceName: string }
231
+ */
232
+ private handleSetActiveProviderSource;
108
233
  private proxyDevServerPost;
109
234
  private proxyDevServerGet;
110
235
  private proxyDevServerScaffold;
@@ -0,0 +1,3 @@
1
+ import type { HighFamilyRegistry } from './types.js';
2
+ export type { HighFamilyContext, HighFamilyHandler, HighFamilyRegistry } from './types.js';
3
+ export declare const highFamilyRegistry: HighFamilyRegistry;
@@ -0,0 +1,2 @@
1
+ import type { HighFamilyHandler } from './types.js';
2
+ export declare const meshCoordinatorLaunchHandlers: Record<string, HighFamilyHandler>;
@@ -0,0 +1,2 @@
1
+ import type { HighFamilyHandler } from './types.js';
2
+ export declare const meshEventsHandlers: Record<string, HighFamilyHandler>;
@@ -0,0 +1,2 @@
1
+ import type { HighFamilyHandler } from './types.js';
2
+ export declare const meshStatusHandlers: Record<string, HighFamilyHandler>;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * RF-ROUTER HIGH family — shared types for the extracted high-coupling command
3
+ * handlers. Like the LOW and MED families, each handler is a function of
4
+ * (context, args) that returns the exact CommandRouterResult the original
5
+ * `executeDaemonCommand` switch case returned, so the router facade is unchanged.
6
+ *
7
+ * HIGH handlers are the most router-coupled of the three families: in addition to
8
+ * the MED collaborators (mesh resolution, owner gating, inline-cache), they reach
9
+ * the router's aggregate-status memory cache and running-refine-job table — state
10
+ * the router owns and the `mesh_status` aggregate render and `get_mesh_review_inbox`
11
+ * re-entry both depend on. The router binds those onto HighFamilyContext at
12
+ * dispatch; they are NOT reachable from `deps`.
13
+ *
14
+ * Registry dispatch: DaemonCommandRouter.executeDaemonCommand looks up the cmd in
15
+ * highFamilyRegistry AFTER the LOW and MED registries and BEFORE its remaining
16
+ * switch; a hit returns the handler result, a miss falls through to the switch
17
+ * (and ultimately CommandHandler delegation).
18
+ */
19
+ import type { CommandRouterDeps, CommandRouterResult, MeshGitProbeCache, MeshRefineJobHandle } from '../router.js';
20
+ import type { ResolvedMeshForCommand } from '../med-family/types.js';
21
+ /**
22
+ * Router-private collaborators injected at dispatch. Each is a bound method or
23
+ * field of DaemonCommandRouter; handlers that don't need a given collaborator
24
+ * simply ignore it. The router owns this instance state (inline-mesh cache,
25
+ * aggregate-status memory cache, running-refine-job table, git-probe cache), so
26
+ * it cannot be read from `deps` — the registry receives bound references instead.
27
+ */
28
+ export interface HighFamilyContext {
29
+ deps: CommandRouterDeps;
30
+ /** Bound `DaemonCommandRouter.getMeshForCommand`. */
31
+ getMeshForCommand: (meshId: string, inlineMesh?: unknown, options?: {
32
+ preferInline?: boolean;
33
+ }) => Promise<ResolvedMeshForCommand>;
34
+ /** Bound `DaemonCommandRouter.getCachedAggregateMeshStatus`. */
35
+ getCachedAggregateMeshStatus: (meshId: string, mesh?: any, options?: {
36
+ requireDirectPeerTruth?: boolean;
37
+ }) => any | null;
38
+ /** Bound `DaemonCommandRouter.rememberAggregateMeshStatus`. */
39
+ rememberAggregateMeshStatus: (meshId: string, snapshot: any, refreshReason: string) => any;
40
+ /**
41
+ * Bound `DaemonCommandRouter.execute`. `get_mesh_review_inbox` re-enters the
42
+ * router with a `mesh_status` refresh to obtain computed node fields; this is
43
+ * the same self-call the inlined case made.
44
+ */
45
+ execute: (cmd: string, args: any, source?: string) => Promise<CommandRouterResult>;
46
+ /** Router's aggregate-status memory cache (`.has()` probe in mesh_status). */
47
+ aggregateMeshStatusCache: Map<string, {
48
+ builtAt: number;
49
+ snapshot: any;
50
+ queueRevision: string;
51
+ }>;
52
+ /** Router's running-refine-job table (surfaced as activeRefineJobs in mesh_status). */
53
+ runningRefineJobs: Map<string, MeshRefineJobHandle>;
54
+ /** Router's inline-mesh cache (launch_mesh_coordinator caches cloud inline mesh). */
55
+ inlineMeshCache: Map<string, any>;
56
+ /** Router's mesh git-probe cache (shared probe dedup for mesh_status). */
57
+ meshGitProbeCache: MeshGitProbeCache;
58
+ }
59
+ export type HighFamilyHandler = (ctx: HighFamilyContext, args: any) => Promise<CommandRouterResult | null>;
60
+ export type HighFamilyRegistry = Map<string, HighFamilyHandler>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * RF-ROUTER LOW family — coordinator-prompt override/append file commands.
3
+ *
4
+ * Extracted verbatim from DaemonCommandRouter.executeDaemonCommand. Both handlers
5
+ * read/write only the on-disk ~/.adhdev/coordinator-prompts directory (no router
6
+ * instance state) and return the same CommandRouterResult the inlined cases did.
7
+ */
8
+ import type { LowFamilyHandler } from './types.js';
9
+ export declare const coordinatorPromptHandlers: Record<string, LowFamilyHandler>;
@@ -0,0 +1,2 @@
1
+ import type { LowFamilyHandler } from './types.js';
2
+ export declare const daemonLifecycleHandlers: Record<string, LowFamilyHandler>;
@@ -0,0 +1,2 @@
1
+ import type { LowFamilyHandler } from './types.js';
2
+ export declare const diagnosticsHandlers: Record<string, LowFamilyHandler>;