@adhdev/daemon-core 0.9.82-rc.45 → 0.9.82-rc.450

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 (427) 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 +25 -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 +64 -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 +152 -0
  54. package/dist/commands/mesh-coordinator.d.ts +85 -1
  55. package/dist/commands/router.d.ts +279 -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 +129 -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 +12 -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 +66 -14
  74. package/dist/index.js +48475 -17084
  75. package/dist/index.js.map +1 -1
  76. package/dist/index.mjs +49521 -18300
  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 +115 -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 +306 -0
  108. package/dist/mesh/mesh-queue-assignment.d.ts +113 -0
  109. package/dist/mesh/mesh-reconcile-loop.d.ts +79 -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 +32 -1
  128. package/dist/providers/cli-provider-instance.d.ts +254 -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 +126 -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 +98 -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 +444 -0
  166. package/dist/providers/spec/fsm-evaluator.d.ts +93 -0
  167. package/dist/providers/spec/fsm-loader.d.ts +14 -0
  168. package/dist/providers/spec/fsm-types.d.ts +202 -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 +519 -13
  178. package/dist/runtime-defaults.d.ts +2 -0
  179. package/dist/session-host/managed-host.d.ts +64 -0
  180. package/dist/sessions/registry.d.ts +6 -0
  181. package/dist/shared-types-extra.d.ts +2 -4
  182. package/dist/shared-types.d.ts +59 -2
  183. package/dist/status/normalize.d.ts +1 -1
  184. package/dist/status/normalize.js +1 -0
  185. package/dist/status/normalize.js.map +1 -1
  186. package/dist/status/normalize.mjs +1 -0
  187. package/dist/status/normalize.mjs.map +1 -1
  188. package/dist/status/reporter.d.ts +2 -0
  189. package/dist/status/snapshot.d.ts +26 -0
  190. package/dist/system/hash.d.ts +8 -0
  191. package/dist/system/load-better-sqlite3.d.ts +21 -0
  192. package/dist/types.d.ts +5 -0
  193. package/package.json +7 -3
  194. package/src/agent-stream/poller.ts +2 -3
  195. package/src/agent-stream/provider-adapter.ts +1 -1
  196. package/src/boot/daemon-lifecycle.ts +63 -12
  197. package/src/boot/process-hardening.ts +89 -0
  198. package/src/build-info.ts +73 -0
  199. package/src/chat/source-machine.ts +534 -0
  200. package/src/chat/source-resolver.ts +0 -0
  201. package/src/chat/subscription-updates.ts +20 -1
  202. package/src/cli-adapter-types.d.ts +3 -1
  203. package/src/cli-adapter-types.ts +68 -2
  204. package/src/cli-adapters/cli-script-runner.ts +421 -0
  205. package/src/cli-adapters/cli-state-engine.ts +1246 -0
  206. package/src/cli-adapters/provider-cli-adapter.d.ts +1 -1
  207. package/src/cli-adapters/provider-cli-adapter.ts +914 -1144
  208. package/src/cli-adapters/provider-cli-parse.d.ts +2 -0
  209. package/src/cli-adapters/provider-cli-parse.ts +19 -0
  210. package/src/cli-adapters/provider-cli-runtime.ts +56 -7
  211. package/src/cli-adapters/provider-cli-shared.d.ts +4 -0
  212. package/src/cli-adapters/provider-cli-shared.ts +121 -11
  213. package/src/cli-adapters/pty-transport.ts +2 -1
  214. package/src/cli-adapters/pty-write-chunking.ts +106 -0
  215. package/src/cli-adapters/raw-terminal-io.ts +252 -0
  216. package/src/cli-adapters/resolve-executable.ts +204 -0
  217. package/src/cli-adapters/session-host-transport.ts +2 -1
  218. package/src/cli-adapters/terminal-backends/ghostty-vt-backend.ts +63 -29
  219. package/src/cli-adapters/terminal-backends/types.ts +10 -3
  220. package/src/cli-adapters/terminal-screen.ts +16 -81
  221. package/src/commands/WINDOWS-UPGRADE-LOCK-FAILURE.md +198 -0
  222. package/src/commands/chat-commands-debug-bundle.ts +398 -0
  223. package/src/commands/chat-commands-read.ts +2488 -0
  224. package/src/commands/chat-commands-scope.ts +54 -0
  225. package/src/commands/chat-commands-shared.ts +114 -0
  226. package/src/commands/chat-commands-write.ts +891 -0
  227. package/src/commands/chat-commands.ts +19 -1841
  228. package/src/commands/cli-manager.ts +596 -27
  229. package/src/commands/handler.ts +841 -2
  230. package/src/commands/high-family/index.ts +28 -0
  231. package/src/commands/high-family/mesh-coordinator-launch.ts +680 -0
  232. package/src/commands/high-family/mesh-events.ts +89 -0
  233. package/src/commands/high-family/mesh-status.ts +822 -0
  234. package/src/commands/high-family/types.ts +80 -0
  235. package/src/commands/low-family/coordinator-prompt.ts +72 -0
  236. package/src/commands/low-family/daemon-lifecycle.ts +107 -0
  237. package/src/commands/low-family/diagnostics.ts +57 -0
  238. package/src/commands/low-family/index.ts +37 -0
  239. package/src/commands/low-family/mesh-ledger.ts +62 -0
  240. package/src/commands/low-family/mesh-node-logs.ts +87 -0
  241. package/src/commands/low-family/notification.ts +116 -0
  242. package/src/commands/low-family/refine-config.ts +106 -0
  243. package/src/commands/low-family/session-host.ts +274 -0
  244. package/src/commands/low-family/spec-providerdev.ts +217 -0
  245. package/src/commands/low-family/status-meta.ts +112 -0
  246. package/src/commands/low-family/types.ts +39 -0
  247. package/src/commands/med-family/cli-agent.ts +238 -0
  248. package/src/commands/med-family/fast-forward.ts +230 -0
  249. package/src/commands/med-family/ide.ts +163 -0
  250. package/src/commands/med-family/index.ts +37 -0
  251. package/src/commands/med-family/mesh-crud.ts +1253 -0
  252. package/src/commands/med-family/mesh-host-pairing.ts +234 -0
  253. package/src/commands/med-family/mesh-queue.ts +167 -0
  254. package/src/commands/med-family/mesh-restart.ts +92 -0
  255. package/src/commands/med-family/types.ts +153 -0
  256. package/src/commands/mesh-coordinator.ts +334 -124
  257. package/src/commands/router.ts +2893 -3536
  258. package/src/commands/stream-commands.ts +8 -0
  259. package/src/commands/upgrade-helper.ts +310 -45
  260. package/src/config/chat-history.ts +493 -24
  261. package/src/config/config.ts +12 -0
  262. package/src/config/mesh-config.ts +619 -23
  263. package/src/config/mesh-json-config.ts +376 -0
  264. package/src/config/recent-activity.ts +8 -2
  265. package/src/config/repo-settings.ts +111 -0
  266. package/src/daemon/dev-auto-implement.ts +3 -2
  267. package/src/daemon/dev-cli-debug.ts +10 -1
  268. package/src/daemon/dev-server.ts +0 -541
  269. package/src/detection/cli-detector.ts +28 -9
  270. package/src/detection/ide-detector.ts +55 -16
  271. package/src/detection/win32-ide-version.ts +106 -0
  272. package/src/git/change-impact-config.ts +354 -0
  273. package/src/git/git-commands.ts +78 -15
  274. package/src/git/git-diff.ts +81 -11
  275. package/src/git/git-executor.ts +12 -0
  276. package/src/git/git-status.ts +767 -48
  277. package/src/git/git-types.ts +14 -62
  278. package/src/git/git-worktree.ts +261 -4
  279. package/src/git/index.ts +17 -0
  280. package/src/index.ts +198 -12
  281. package/src/installer.d.ts +1 -1
  282. package/src/installer.ts +8 -6
  283. package/src/ipc/local-ipc-server.ts +278 -0
  284. package/src/launch.d.ts +1 -1
  285. package/src/launch.ts +37 -28
  286. package/src/logging/async-batch-writer.ts +55 -0
  287. package/src/logging/command-log.ts +7 -5
  288. package/src/logging/log-redactor.ts +100 -0
  289. package/src/logging/log-tail-reader.ts +341 -0
  290. package/src/logging/logger.ts +14 -7
  291. package/src/mesh/contracts.ts +338 -0
  292. package/src/mesh/coordinator-prompt.ts +416 -34
  293. package/src/mesh/coordinator-registry.ts +121 -0
  294. package/src/mesh/mesh-active-work.ts +645 -0
  295. package/src/mesh/mesh-clone-grace.ts +68 -0
  296. package/src/mesh/mesh-coordinator-config.ts +97 -0
  297. package/src/mesh/mesh-delivery-policy.ts +315 -0
  298. package/src/mesh/mesh-event-classify.ts +51 -0
  299. package/src/mesh/mesh-event-forwarding.ts +1897 -0
  300. package/src/mesh/mesh-event-trace.ts +67 -0
  301. package/src/mesh/mesh-events-coordinator.ts +32 -0
  302. package/src/mesh/mesh-events-pending.ts +656 -0
  303. package/src/mesh/mesh-events-stale.ts +389 -0
  304. package/src/mesh/mesh-events-utils.ts +443 -0
  305. package/src/mesh/mesh-events.ts +33 -1035
  306. package/src/mesh/mesh-fast-forward.ts +843 -0
  307. package/src/mesh/mesh-host-ownership.ts +111 -0
  308. package/src/mesh/mesh-init.ts +350 -0
  309. package/src/mesh/mesh-ledger-reconciliation.ts +12 -7
  310. package/src/mesh/mesh-ledger.ts +841 -102
  311. package/src/mesh/mesh-magi-status.ts +223 -0
  312. package/src/mesh/mesh-missions.ts +449 -0
  313. package/src/mesh/mesh-node-identity.ts +1985 -0
  314. package/src/mesh/mesh-queue-assignment.ts +1924 -0
  315. package/src/mesh/mesh-reconcile-loop.ts +2018 -0
  316. package/src/mesh/mesh-refine-batch.ts +205 -0
  317. package/src/mesh/mesh-refine-gates.ts +1673 -0
  318. package/src/mesh/mesh-refine-status.ts +231 -0
  319. package/src/mesh/mesh-review-inbox.ts +307 -0
  320. package/src/mesh/mesh-routing.ts +291 -0
  321. package/src/mesh/mesh-runtime-store.ts +1853 -0
  322. package/src/mesh/mesh-scheduling-runtime.ts +198 -0
  323. package/src/mesh/mesh-task-inflight.ts +70 -0
  324. package/src/mesh/mesh-task-stats.ts +161 -0
  325. package/src/mesh/mesh-unresolved-forward-outbox.ts +185 -0
  326. package/src/mesh/mesh-warmup-deadline.ts +152 -0
  327. package/src/mesh/mesh-work-queue.ts +1254 -141
  328. package/src/mesh/preview-freshness.ts +118 -0
  329. package/src/mesh/refine-config.ts +423 -0
  330. package/src/mesh/worktree-bootstrap-config.ts +450 -0
  331. package/src/providers/acp-provider-instance.ts +43 -10
  332. package/src/providers/approval-utils.d.ts +5 -0
  333. package/src/providers/approval-utils.ts +57 -5
  334. package/src/providers/chat-message-normalization.ts +92 -4
  335. package/src/providers/cli-provider-instance.ts +2177 -107
  336. package/src/providers/contracts.d.ts +55 -0
  337. package/src/providers/contracts.ts +160 -6
  338. package/src/providers/extension-provider-instance.ts +12 -7
  339. package/src/providers/external-sources.ts +218 -0
  340. package/src/providers/ide-provider-instance.ts +35 -12
  341. package/src/providers/manual-attendance.ts +85 -0
  342. package/src/providers/native-history/antigravity-cli-transcript.ts +1043 -0
  343. package/src/providers/native-history/claude-cli-transcript.ts +396 -0
  344. package/src/providers/native-history/codex-cli-transcript.ts +479 -0
  345. package/src/providers/native-history/constants.ts +19 -0
  346. package/src/providers/native-history/dispatcher.ts +373 -0
  347. package/src/providers/native-history/hermes-cli-transcript.ts +260 -0
  348. package/src/providers/native-history/index.ts +30 -0
  349. package/src/providers/provider-instance-manager.ts +71 -0
  350. package/src/providers/provider-instance.ts +19 -1
  351. package/src/providers/provider-loader.ts +668 -50
  352. package/src/providers/provider-schema.ts +87 -14
  353. package/src/providers/provider-trust.ts +114 -0
  354. package/src/providers/read-chat-contract.ts +76 -16
  355. package/src/providers/sdk/README.md +49 -0
  356. package/src/providers/sdk/v1/builders/acp/detect-status.ts +144 -0
  357. package/src/providers/sdk/v1/builders/cli/detect-status.ts +313 -0
  358. package/src/providers/sdk/v1/builders/cli/parse-approval-squash.ts +158 -0
  359. package/src/providers/sdk/v1/builders/cli/parse-approval.ts +250 -0
  360. package/src/providers/sdk/v1/builders/cli/parse-session.ts +276 -0
  361. package/src/providers/sdk/v1/builders/cli/visible-region.ts +143 -0
  362. package/src/providers/sdk/v1/fixture-tooling/format.ts +130 -0
  363. package/src/providers/sdk/v1/fixture-tooling/index.ts +22 -0
  364. package/src/providers/sdk/v1/fixture-tooling/replay.ts +352 -0
  365. package/src/providers/sdk/v1/index.ts +152 -0
  366. package/src/providers/sdk/v1/sandbox/README-design.ts +195 -0
  367. package/src/providers/sdk/v1/sandbox/require-whitelist.ts +472 -0
  368. package/src/providers/sdk/v1/sandbox/script-runner.ts +150 -0
  369. package/src/providers/sdk/v1/schemas/cli/provider.schema.json +509 -0
  370. package/src/providers/sdk/v1/schemas/primitives/acp-session-protocol-v1.json +131 -0
  371. package/src/providers/sdk/v1/schemas/primitives/native-history-codex-rollout-v1.json +66 -0
  372. package/src/providers/sdk/v1/schemas/primitives/tui-approval-squash-v1.json +91 -0
  373. package/src/providers/sdk/v1/schemas/primitives/tui-assistant-block-v1.json +91 -0
  374. package/src/providers/sdk/v1/schemas/primitives/tui-cue-ordering-v1.json +47 -0
  375. package/src/providers/sdk/v1/schemas/primitives/tui-dispatch-order-v1.json +32 -0
  376. package/src/providers/sdk/v1/schemas/primitives/tui-footer-chrome-v1.json +42 -0
  377. package/src/providers/sdk/v1/schemas/primitives/tui-index-finder-v1.json +27 -0
  378. package/src/providers/sdk/v1/schemas/primitives/tui-modal-v1.json +125 -0
  379. package/src/providers/sdk/v1/schemas/primitives/tui-prompt-marker-v1.json +45 -0
  380. package/src/providers/sdk/v1/schemas/primitives/tui-session-id-extraction-v1.json +46 -0
  381. package/src/providers/sdk/v1/schemas/primitives/tui-settled-prompt-v1.json +71 -0
  382. package/src/providers/sdk/v1/schemas/primitives/tui-spinner-v1.json +83 -0
  383. package/src/providers/sdk/v1/schemas/primitives/tui-transcript-pty-v1.json +83 -0
  384. package/src/providers/sdk/v1/schemas/primitives/tui-visible-region-v1.json +57 -0
  385. package/src/providers/sdk/v1/schemas/primitives/tui-welcome-screen-v1.json +35 -0
  386. package/src/providers/sdk/v1/types/cli/index.ts +365 -0
  387. package/src/providers/sdk/v1/types/common/index.ts +229 -0
  388. package/src/providers/sdk/v1/validators/index.ts +19 -0
  389. package/src/providers/sdk/v1/validators/manifest.ts +110 -0
  390. package/src/providers/sdk/v1/validators/taint.ts +309 -0
  391. package/src/providers/spec/adapter.ts +246 -0
  392. package/src/providers/spec/cli-adapter.ts +1064 -0
  393. package/src/providers/spec/evaluator.ts +407 -0
  394. package/src/providers/spec/fsm-driver.ts +1481 -0
  395. package/src/providers/spec/fsm-evaluator.ts +290 -0
  396. package/src/providers/spec/fsm-loader.ts +128 -0
  397. package/src/providers/spec/fsm-types.ts +301 -0
  398. package/src/providers/spec/native-history-executor.ts +1174 -0
  399. package/src/providers/spec/pre-launch-trust.ts +104 -0
  400. package/src/providers/spec/route.ts +51 -0
  401. package/src/providers/spec/types.ts +262 -0
  402. package/src/providers/status-monitor.d.ts +7 -7
  403. package/src/providers/status-monitor.ts +37 -22
  404. package/src/providers/transcript-v2.ts +567 -0
  405. package/src/providers/types/interactive-prompt.ts +536 -0
  406. package/src/providers/version-archive.ts +64 -24
  407. package/src/providers/working-dir.ts +23 -0
  408. package/src/repo-mesh-types.ts +758 -14
  409. package/src/runtime-defaults.ts +39 -0
  410. package/src/session-host/managed-host.ts +218 -0
  411. package/src/sessions/registry.ts +6 -0
  412. package/src/shared-types-extra.ts +2 -4
  413. package/src/shared-types.d.ts +8 -0
  414. package/src/shared-types.ts +64 -1
  415. package/src/status/builders.ts +26 -6
  416. package/src/status/normalize.ts +2 -0
  417. package/src/status/reporter.ts +19 -1
  418. package/src/status/snapshot.ts +95 -26
  419. package/src/system/hash.ts +23 -0
  420. package/src/system/host-memory.ts +29 -12
  421. package/src/system/load-better-sqlite3.ts +68 -0
  422. package/src/types.ts +5 -0
  423. package/dist/cli-adapters/terminal-backends/xterm-backend.d.ts +0 -17
  424. package/dist/mesh/mesh-sync.d.ts +0 -53
  425. package/src/cli-adapters/terminal-backends/ghostty-vt-backend.d.ts +0 -16
  426. package/src/cli-adapters/terminal-backends/xterm-backend.ts +0 -97
  427. package/src/mesh/mesh-sync.ts +0 -111
@@ -37,6 +37,10 @@ import type { PtyTransportFactory } from '../cli-adapters/pty-transport.js';
37
37
  import type { IdeProviderInstance } from '../providers/ide-provider-instance.js';
38
38
  import { createDefaultGitCommandServices } from '../git/git-commands.js';
39
39
  import { setupMeshEventForwarding } from '../mesh/mesh-events.js';
40
+ import { setupMeshReconcileLoop } from '../mesh/mesh-reconcile-loop.js';
41
+ import { loadMeshCoordinatorRegistry } from '../mesh/coordinator-registry.js';
42
+ import { applyProcessHardening } from './process-hardening.js';
43
+ import { installProviderProcessShim } from '../providers/sdk/v1/sandbox/require-whitelist.js';
40
44
 
41
45
  // ─── Init Config ───
42
46
 
@@ -60,6 +64,7 @@ export interface DaemonInitConfig {
60
64
 
61
65
  /** Router transport-specific callbacks */
62
66
  onStatusChange?: () => void;
67
+ onMeshStateChange?: (meshId: string) => void;
63
68
  onPostChatCommand?: () => void;
64
69
  sessionHostControl?: SessionHostControlPlane | null;
65
70
  getCdpLogFn?: (ideType: string) => (msg: string) => void;
@@ -88,6 +93,8 @@ export interface DaemonInitConfig {
88
93
  dispatchMeshCommand?: (daemonId: string, command: string, args: Record<string, unknown>) => Promise<any>;
89
94
  /** Returns selected-coordinator mesh peer telemetry for a target daemon when available. */
90
95
  getMeshPeerConnectionStatus?: (daemonId: string) => Record<string, unknown> | null;
96
+ /** Cloud-only: P2P dashboard metadata sync after the core forwarder handles a mesh event. */
97
+ onMeshCoordinatorEventForwarded?: (payload: Record<string, unknown>) => void;
91
98
  }
92
99
 
93
100
  // ─── Result ───
@@ -106,6 +113,31 @@ export interface DaemonComponents {
106
113
  detectedIdes: { value: IDEInfo[] };
107
114
  refreshProviderAvailability: (providerType?: string) => Promise<void>;
108
115
  dispatchMeshCommand?: (daemonId: string, command: string, args: Record<string, unknown>) => Promise<any>;
116
+ // Cloud-only: live selected-coordinator mesh peer telemetry for a target daemon.
117
+ // Lets the remote task-dispatch path (mesh-events-coordinator deliverTaskToSession)
118
+ // tell a still-opening DataChannel ("cold") apart from an open one ("warm") so a
119
+ // cold-open handshake is charged to the connect budget, not the response budget.
120
+ // Injected by daemon-cloud; absent on standalone (no P2P mesh), where the remote
121
+ // dispatch path is unused.
122
+ getMeshPeerConnectionStatus?: (daemonId: string) => Record<string, unknown> | null;
123
+ // Cloud-only hook: after the single core forwarder handles a mesh coordinator event, cloud
124
+ // uses this to keep its P2P dashboard view in sync (mesh-owned session metadata + flush
125
+ // subscriptions). Injected by daemon-cloud; absent/no-op on standalone. Replaces cloud's
126
+ // former separate instanceManager.onEvent listener so the event path stays single-listener.
127
+ onMeshCoordinatorEventForwarded?: (payload: Record<string, unknown>) => void;
128
+ // Periodic queue → live-coordinator reconcile loop handle. Set during
129
+ // initDaemonComponents, stopped during shutdownDaemonComponents. Drives the
130
+ // single-model (queue + polling) delivery: drains the pending-events queue
131
+ // on a fixed interval and injects into live CLI coordinators when idle.
132
+ meshReconcileLoop?: { stop(): void };
133
+ // Canonical status/daemon identity (e.g. `standalone_<machineId>` /
134
+ // `daemon_<machineId>`). This is the SAME id the MCP layer stamps as a
135
+ // worker's meshCoordinatorDaemonId (ctx.localDaemonId, sourced from
136
+ // getStatus().status.instanceId), so the reconcile loop MUST drain with it —
137
+ // draining with bare loadConfig().machineId never matches a unicast event
138
+ // stamped with the prefixed status id. Absent → reconcile falls back to
139
+ // machineId only.
140
+ statusInstanceId?: string;
109
141
  }
110
142
 
111
143
  export interface DaemonDevSupportOptions {
@@ -129,8 +161,16 @@ export interface DaemonDevSupportOptions {
129
161
  * 8. Start instance ticking
130
162
  */
131
163
  export async function initDaemonComponents(config: DaemonInitConfig): Promise<DaemonComponents> {
164
+ // 0. Process-level hardening (must run before any provider script is loaded).
165
+ // Freezes built-in prototypes (Object/Array/Function/String/Number/Boolean/Promise)
166
+ // and shadows process.exit/kill/abort/binding/dlopen so provider-script callers
167
+ // throw instead of killing the daemon. See ./process-hardening.ts for details.
168
+ applyProcessHardening();
169
+ installProviderProcessShim();
170
+
132
171
  // 1. Global log interceptor
133
172
  installGlobalInterceptor();
173
+ loadMeshCoordinatorRegistry();
134
174
 
135
175
  // 2. ProviderLoader (provider source mode from config.json)
136
176
  const appConfig = loadConfig();
@@ -142,16 +182,11 @@ export async function initDaemonComponents(config: DaemonInitConfig): Promise<Da
142
182
  userDir: appConfig.providerDir,
143
183
  });
144
184
 
145
- // If no upstream providers exist, fetch them first (blocking — critical for new users)
146
- if (!disableUpstream && !providerLoader.hasUpstream()) {
147
- LOG.info('Provider', 'No upstream providers found downloading from GitHub...');
148
- try {
149
- await providerLoader.fetchLatest();
150
- } catch (e: any) {
151
- LOG.warn('Provider', `⚠ Failed to fetch providers: ${e?.message}`);
152
- }
153
- }
154
-
185
+ // Boot-time auto-sync is intentionally disabled. The user picks which
186
+ // providers to install via the dashboard onboarding / Providers tab; the
187
+ // daemon ships empty and only contains what the user explicitly installs.
188
+ // Manual sync is still available via the install / check_provider_updates
189
+ // commands (and the REST endpoint at /api/v1/providers/updates).
155
190
  providerLoader.loadAll();
156
191
  providerLoader.registerToDetector();
157
192
 
@@ -304,11 +339,13 @@ export async function initDaemonComponents(config: DaemonInitConfig): Promise<Da
304
339
  },
305
340
  onIdeConnected: () => poller?.start(),
306
341
  onStatusChange: config.onStatusChange,
342
+ onMeshStateChange: config.onMeshStateChange,
307
343
  onPostChatCommand: config.onPostChatCommand,
308
344
  sessionHostControl: config.sessionHostControl,
309
345
  statusInstanceId: config.statusInstanceId,
310
346
  statusVersion: config.statusVersion,
311
347
  getMeshPeerConnectionStatus: config.getMeshPeerConnectionStatus,
348
+ dispatchMeshCommand: config.dispatchMeshCommand,
312
349
  getCdpLogFn: config.getCdpLogFn || ((ideType: string) => LOG.forComponent(`CDP:${ideType}`).asLogFn()),
313
350
  });
314
351
 
@@ -325,7 +362,7 @@ export async function initDaemonComponents(config: DaemonInitConfig): Promise<Da
325
362
  // 10. Start instance ticking
326
363
  instanceManager.startTicking(config.tickIntervalMs ?? 5_000);
327
364
 
328
- const components = {
365
+ const components: DaemonComponents = {
329
366
  providerLoader,
330
367
  instanceManager,
331
368
  cliManager,
@@ -339,10 +376,22 @@ export async function initDaemonComponents(config: DaemonInitConfig): Promise<Da
339
376
  detectedIdes: detectedIdesRef,
340
377
  refreshProviderAvailability,
341
378
  dispatchMeshCommand: config.dispatchMeshCommand,
379
+ getMeshPeerConnectionStatus: config.getMeshPeerConnectionStatus,
380
+ onMeshCoordinatorEventForwarded: config.onMeshCoordinatorEventForwarded,
381
+ statusInstanceId: config.statusInstanceId,
342
382
  };
343
383
 
344
- // 11. Setup Mesh Event Forwarding
384
+ // 11. Setup Mesh Event Forwarding (queue persistence) + periodic reconcile loop.
385
+ // injectMeshSystemMessage now ONLY persists events to the pending-events queue;
386
+ // the reconcile loop drains that queue on a fixed interval and injects into live
387
+ // CLI coordinators when idle (and, in cloud mode, pulls remote worker daemons'
388
+ // queues over P2P). This is the single-model (queue + polling) replacement for the
389
+ // old spontaneous-forward push paths.
345
390
  setupMeshEventForwarding(components);
391
+ components.meshReconcileLoop = setupMeshReconcileLoop(components);
392
+
393
+ // 12. Resume any refine jobs that were interrupted by a previous daemon restart.
394
+ setImmediate(() => void router.resumePendingRefineJobsOnStartup());
346
395
 
347
396
  return components;
348
397
  }
@@ -384,11 +433,13 @@ export async function shutdownDaemonComponents(components: DaemonComponents): Pr
384
433
  const {
385
434
  poller, cdpInitializer, agentStreamManager,
386
435
  cliManager, instanceManager, cdpManagers,
436
+ meshReconcileLoop,
387
437
  } = components;
388
438
 
389
439
  // 1. Stop timers
390
440
  poller.stop();
391
441
  cdpInitializer.stop();
442
+ try { meshReconcileLoop?.stop(); } catch { /* noop */ }
392
443
 
393
444
  // 2. Dispose agent stream
394
445
  try {
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Process-level hardening — boot-time mitigations against provider scripts.
3
+ *
4
+ * Provider scripts run in-process (see providers/sdk/v1/sandbox/README-design.ts).
5
+ * The require() whitelist (sandbox/require-whitelist.ts) blocks the obvious
6
+ * attack surfaces (no `child_process.exec`, no `fs.writeFile`, no `net`, etc.)
7
+ * but a malicious or buggy script can still:
8
+ *
9
+ * 1. Pollute Object.prototype to influence the daemon's downstream consumers
10
+ * (e.g. `Object.prototype.toString = () => '...'` makes every untagged
11
+ * object stringify to that value across the whole process).
12
+ * 2. Mutate Array/Function/String prototypes for similar effect.
13
+ * 3. Call `process.exit()` / `process.kill()` to kill the daemon.
14
+ *
15
+ * Sandbox isolation (isolated-vm) is the proper fix but has a real perf cost
16
+ * and a real marshalling-complexity cost. As a cheaper layer we just freeze
17
+ * the built-in prototypes at boot, which is irreversible and catches every
18
+ * prototype-pollution variant for the lifetime of the process.
19
+ *
20
+ * `applyProcessHardening()` is idempotent — calling it twice is a no-op the
21
+ * second time. The function intentionally swallows any "cannot redefine
22
+ * property" errors that would arise if some upstream code already froze
23
+ * the same prototype: the post-condition (prototype is frozen) is satisfied
24
+ * either way.
25
+ *
26
+ * Trade-offs:
27
+ * - Read-only access to prototype methods (`Object.prototype.hasOwnProperty.call`,
28
+ * `Array.prototype.slice.call`, etc.) is unaffected — only writes throw.
29
+ * - Some older npm libraries patch Array.prototype or Function.prototype at
30
+ * import time. If a daemon-core dep does this, the import will throw. The
31
+ * daemon-core vitest suite is the canonical regression check for this.
32
+ * - We deliberately do NOT freeze RegExp.prototype, Error.prototype, Map/Set
33
+ * prototypes, or Date.prototype because at least one of those tends to be
34
+ * mutated by mainstream test/runtime libs and the value of freezing them
35
+ * is low (no useful prototype-pollution attack surface).
36
+ */
37
+
38
+ let _hardened = false;
39
+
40
+ /** Prototypes that get frozen at boot. */
41
+ const HARDENED_PROTOS: Array<{ name: string; proto: object }> = [
42
+ { name: 'Object', proto: Object.prototype },
43
+ { name: 'Array', proto: Array.prototype },
44
+ { name: 'Function', proto: Function.prototype },
45
+ { name: 'String', proto: String.prototype },
46
+ { name: 'Number', proto: Number.prototype },
47
+ { name: 'Boolean', proto: Boolean.prototype },
48
+ { name: 'Promise', proto: Promise.prototype },
49
+ ];
50
+
51
+ /**
52
+ * Freeze the canonical built-in prototypes so provider scripts (and anything
53
+ * else running in this process) cannot mutate them. Idempotent.
54
+ *
55
+ * Returns the list of prototype names that were newly frozen — primarily for
56
+ * tests / observability. Already-frozen prototypes are not re-reported.
57
+ */
58
+ export function applyProcessHardening(): string[] {
59
+ if (_hardened) return [];
60
+ _hardened = true;
61
+
62
+ const newlyFrozen: string[] = [];
63
+ for (const entry of HARDENED_PROTOS) {
64
+ if (Object.isFrozen(entry.proto)) continue;
65
+ try {
66
+ Object.freeze(entry.proto);
67
+ newlyFrozen.push(entry.name);
68
+ } catch {
69
+ // Some host/runtime combinations refuse to freeze a built-in
70
+ // prototype (e.g. it has a non-configurable accessor). We treat
71
+ // this as best-effort — log nothing here (logger not guaranteed
72
+ // to be initialized this early) and move on. Subsequent reads
73
+ // of `Object.isFrozen(proto)` will reveal the gap.
74
+ }
75
+ }
76
+ return newlyFrozen;
77
+ }
78
+
79
+ /** For tests only — clears the internal "already hardened" flag. The
80
+ * prototypes themselves cannot be un-frozen, so this is mostly useful for
81
+ * testing the idempotency guard. */
82
+ export function _resetProcessHardeningForTest(): void {
83
+ _hardened = false;
84
+ }
85
+
86
+ /** For tests only — peek at the hardened state. */
87
+ export function _isProcessHardened(): boolean {
88
+ return _hardened;
89
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Daemon build stamp — single runtime source for "which commit is this running
3
+ * daemon built from?".
4
+ *
5
+ * The values are injected at BUILD time via tsup `define` (esbuild global
6
+ * replacement). Every build config that bundles daemon-core into a shippable
7
+ * daemon (daemon-core's own dist, daemon-standalone, daemon-cloud) replaces
8
+ * these `__DAEMON_BUILD_*` identifiers with the literal git commit/version that
9
+ * was current when the bundle was produced. See:
10
+ * - oss/packages/daemon-core/tsup.config.ts (standalone consumes this dist)
11
+ * - packages/daemon-cloud/tsup.config.ts (re-bundles daemon-core from source)
12
+ *
13
+ * If a bundle is produced WITHOUT the define (e.g. running src directly through
14
+ * tsx in dev, or a build env without git), the identifiers stay undefined and
15
+ * we fall back to `"unknown"` — never a ReferenceError, never a build failure.
16
+ *
17
+ * IMPORTANT (live-reflection caveat): a fresh local `daemon-core dist` rebuild +
18
+ * daemon restart is NOT enough to make a *cloud* daemon report a new commit —
19
+ * daemon-cloud ships its own re-bundle of daemon-core, so the build stamp only
20
+ * advances after the cloud daemon is rebuilt/redeployed and restarted. This is
21
+ * precisely the gap `mesh_status`'s `staleDaemonBuild` warning exists to surface.
22
+ */
23
+
24
+ // These are replaced at build time by tsup `define`. `typeof` guards keep this
25
+ // safe when the define is absent (the identifiers are simply not declared).
26
+ declare const __DAEMON_BUILD_COMMIT__: string | undefined;
27
+ declare const __DAEMON_BUILD_COMMIT_SHORT__: string | undefined;
28
+ declare const __DAEMON_BUILD_VERSION__: string | undefined;
29
+ declare const __DAEMON_BUILD_AT__: string | undefined;
30
+
31
+ export interface DaemonBuildInfo {
32
+ /** Full 40-char git commit the daemon bundle was built from, or 'unknown'. */
33
+ commit: string;
34
+ /** Short (7-char) form of the same commit, or 'unknown'. */
35
+ commitShort: string;
36
+ /** package.json version baked in at build time, or 'unknown'. */
37
+ version: string;
38
+ /** ISO build timestamp if the build config injected one. */
39
+ builtAt?: string;
40
+ }
41
+
42
+ function readInjected(value: string | undefined): string | undefined {
43
+ if (typeof value !== 'string') return undefined;
44
+ const trimmed = value.trim();
45
+ if (!trimmed || trimmed === 'unknown') return undefined;
46
+ return trimmed;
47
+ }
48
+
49
+ let cached: DaemonBuildInfo | undefined;
50
+
51
+ /**
52
+ * Resolve the build stamp baked into the running daemon bundle. Pure read of
53
+ * build-time constants — no I/O, safe to call from any runtime path. Cached.
54
+ */
55
+ export function getDaemonBuildInfo(): DaemonBuildInfo {
56
+ if (cached) return cached;
57
+
58
+ const commit =
59
+ readInjected(typeof __DAEMON_BUILD_COMMIT__ !== 'undefined' ? __DAEMON_BUILD_COMMIT__ : undefined)
60
+ ?? 'unknown';
61
+ const commitShort =
62
+ readInjected(typeof __DAEMON_BUILD_COMMIT_SHORT__ !== 'undefined' ? __DAEMON_BUILD_COMMIT_SHORT__ : undefined)
63
+ ?? (commit !== 'unknown' ? commit.slice(0, 7) : 'unknown');
64
+ const version =
65
+ readInjected(typeof __DAEMON_BUILD_VERSION__ !== 'undefined' ? __DAEMON_BUILD_VERSION__ : undefined)
66
+ // Fall back to the runtime-injected package version env used elsewhere.
67
+ ?? readInjected(typeof process !== 'undefined' ? process.env?.ADHDEV_PKG_VERSION : undefined)
68
+ ?? 'unknown';
69
+ const builtAt = readInjected(typeof __DAEMON_BUILD_AT__ !== 'undefined' ? __DAEMON_BUILD_AT__ : undefined);
70
+
71
+ cached = builtAt ? { commit, commitShort, version, builtAt } : { commit, commitShort, version };
72
+ return cached;
73
+ }