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

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 +50679 -20122
  75. package/dist/index.js.map +1 -1
  76. package/dist/index.mjs +47546 -17153
  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 +2327 -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
@@ -1,49 +1,6 @@
1
- import type { DaemonComponents } from '../boot/daemon-lifecycle.js';
2
- export interface PendingMeshCoordinatorEvent {
3
- event: string;
4
- meshId: string;
5
- nodeLabel: string;
6
- nodeId?: string;
7
- workspace?: string;
8
- metadataEvent: Record<string, unknown>;
9
- queuedAt: number;
10
- }
11
- export declare function queuePendingMeshCoordinatorEvent(event: PendingMeshCoordinatorEvent): boolean;
12
- /** Drain and return all pending coordinator events for meshId, removing them from disk. */
13
- export declare function drainPendingMeshCoordinatorEvents(meshId?: string): PendingMeshCoordinatorEvent[];
14
- /** Peek at pending coordinator events without draining (non-destructive). */
15
- export declare function getPendingMeshCoordinatorEvents(meshId?: string): readonly PendingMeshCoordinatorEvent[];
16
- /** Explicitly clear all pending coordinator events for a mesh. */
17
- export declare function clearPendingMeshCoordinatorEvents(meshId?: string): void;
18
- export declare function tryAssignQueueTask(components: DaemonComponents, meshId: string, nodeId: string, sessionId: string, providerType: string): boolean;
19
- /**
20
- * Triggers a queue check for all nodes in the mesh.
21
- * Called when a new task is enqueued, in case nodes are already idle.
22
- */
23
- export declare function triggerMeshQueue(components: DaemonComponents, meshId: string): Promise<void>;
24
- export declare function handleMeshForwardEvent(components: DaemonComponents, payload: Record<string, unknown>): {
25
- success: boolean;
26
- forwarded: number;
27
- suppressed: boolean;
28
- intentionalCleanupStop: boolean;
29
- duplicateCompletion?: undefined;
30
- error?: undefined;
31
- } | {
32
- success: boolean;
33
- forwarded: number;
34
- suppressed: boolean;
35
- duplicateCompletion: boolean;
36
- intentionalCleanupStop?: undefined;
37
- error?: undefined;
38
- } | {
39
- success: boolean;
40
- forwarded: number;
41
- suppressed?: undefined;
42
- intentionalCleanupStop?: undefined;
43
- duplicateCompletion?: undefined;
44
- error?: undefined;
45
- } | {
46
- success: boolean;
47
- error: string;
48
- };
49
- export declare function setupMeshEventForwarding(components: DaemonComponents): void;
1
+ export type { PendingMeshCoordinatorEvent } from './mesh-events-pending.js';
2
+ export { queuePendingMeshCoordinatorEvent, drainPendingMeshCoordinatorEvents, getPendingMeshCoordinatorEvents, clearPendingMeshCoordinatorEvents, } from './mesh-events-pending.js';
3
+ export { reconcileDirectDispatchCompletionFromTranscript, } from './mesh-events-stale.js';
4
+ export { setupMeshReconcileLoop, runMeshReconcileTick, resolveCoordinatorDrainDeliverability, shouldHoldPendingDrainForBusyLocalCoordinator, } from './mesh-reconcile-loop.js';
5
+ export type { MeshQueueTriggerResult } from './mesh-events-coordinator.js';
6
+ export { tryAssignQueueTask, isSessionActivelyGenerating, triggerMeshQueue, handleMeshForwardEvent, setupMeshEventForwarding, isMeshCoordinatorEvent, __resetIdleAutoFastForwardForTests, __resetMeshWorkspaceCacheForTests, } from './mesh-events-coordinator.js';
@@ -0,0 +1,81 @@
1
+ import type { GitRepoStatus } from '../git/git-types.js';
2
+ export interface MeshFastForwardNodeArgs {
3
+ nodeId?: string;
4
+ meshId?: string;
5
+ workspace: string;
6
+ branch?: string;
7
+ execute?: boolean;
8
+ dryRun?: boolean;
9
+ updateSubmodules?: boolean;
10
+ submoduleIgnorePaths?: string[];
11
+ timeoutMs?: number;
12
+ trigger?: 'manual' | 'idle_auto' | string;
13
+ /**
14
+ * Operation mode. 'merge' (default) absorbs upstream commits into the local
15
+ * branch via git merge --ff-only (requires ahead=0, behind>0). 'push' publishes
16
+ * local commits to origin via a strict ff-only push (requires HEAD to be a
17
+ * descendant of origin/<branch>); it never force-pushes, resets, or rebases.
18
+ */
19
+ mode?: 'merge' | 'push';
20
+ /**
21
+ * When mode='push', also fast-forward push submodule (e.g. oss) HEADs to their
22
+ * origin main branch. Gated by allowAutoPublishSubmoduleMainCommits — skipped
23
+ * unless that policy is true. Each submodule must still pass the descendant gate.
24
+ * Defaults false (root push only).
25
+ */
26
+ pushSubmodules?: boolean;
27
+ /**
28
+ * Mesh policy flag mirrored from RepoMeshPolicy.allowAutoPublishSubmoduleMainCommits.
29
+ * Submodule pushes are refused unless this is true.
30
+ */
31
+ allowAutoPublishSubmoduleMainCommits?: boolean;
32
+ }
33
+ export interface MeshFastForwardPlannedStep {
34
+ operation: 'refresh_upstream' | 'verify_clean_worktree' | 'verify_fast_forward' | 'merge_ff_only' | 'submodule_update' | 'verify_post_status' | 'verify_push_descendant' | 'push_ff_only' | 'push_submodules_ff_only';
35
+ description: string;
36
+ safe: true;
37
+ willMutateWorktree: boolean;
38
+ }
39
+ export interface MeshFastForwardSubmodulePushResult {
40
+ path: string;
41
+ commit?: string;
42
+ remote: string;
43
+ remoteBranch: string;
44
+ pushed: boolean;
45
+ skipped: boolean;
46
+ code: string;
47
+ refspec?: string;
48
+ error?: string;
49
+ }
50
+ export interface MeshFastForwardResult {
51
+ success: boolean;
52
+ code: string;
53
+ nodeId?: string;
54
+ meshId?: string;
55
+ workspace: string;
56
+ mode: 'merge' | 'push';
57
+ allowed: boolean;
58
+ dryRun: boolean;
59
+ willRun: boolean;
60
+ executed: boolean;
61
+ updateSubmodules: boolean;
62
+ blockingReasons: string[];
63
+ plannedSteps: MeshFastForwardPlannedStep[];
64
+ current?: GitRepoStatus;
65
+ preStatus?: GitRepoStatus;
66
+ postStatus?: GitRepoStatus;
67
+ /** Push target derived from the tracked upstream (mode='push'). */
68
+ pushTarget?: {
69
+ remote: string;
70
+ remoteBranch: string;
71
+ refspec: string;
72
+ };
73
+ /** Submodule ff-only push outcomes (mode='push' with pushSubmodules). */
74
+ submodulePushes?: MeshFastForwardSubmodulePushResult[];
75
+ finalBranchConvergenceState?: Record<string, unknown>;
76
+ operationError?: string;
77
+ ledgerError?: string;
78
+ nextStep?: string;
79
+ trigger?: string;
80
+ }
81
+ export declare function fastForwardMeshNode(args: MeshFastForwardNodeArgs): Promise<MeshFastForwardResult>;
@@ -0,0 +1,29 @@
1
+ import type { RepoMeshDaemonRole, RepoMeshHostMetadata, RepoMeshHostStatus } from '../repo-mesh-types.js';
2
+ export declare function normalizeMeshDaemonRole(value: unknown): RepoMeshDaemonRole | undefined;
3
+ /**
4
+ * Options for resolveMeshHostStatus's read-side host-pin default.
5
+ *
6
+ * `localDaemonId` is the id of the daemon evaluating the mesh (typically
7
+ * `deps.statusInstanceId`). When the persisted `meshHost` declares `role:'host'`
8
+ * but carries NO `hostDaemonId` (the first-setup miss — a host mesh whose pin was
9
+ * never written to config), the host daemon IS this local daemon by definition, so
10
+ * we synthesize `hostDaemonId = localDaemonId` (and, when the mesh has a node
11
+ * representing this daemon, `hostNodeId`). This is the read-side default — the SSOT
12
+ * is computed from the role + the evaluating daemon's identity rather than requiring
13
+ * a config migration to backfill every already-created mesh.
14
+ *
15
+ * HARD guard: the synthesis fires ONLY for `role:'host'`. A `role:'member'` daemon
16
+ * must NEVER fill itself in as host — that would make a member falsely claim
17
+ * coordinator/queue ownership.
18
+ */
19
+ export interface ResolveMeshHostOptions {
20
+ /** Id of the daemon evaluating this mesh (e.g. deps.statusInstanceId). */
21
+ localDaemonId?: string;
22
+ }
23
+ export declare function resolveMeshHostStatus(mesh: unknown, opts?: ResolveMeshHostOptions): RepoMeshHostStatus;
24
+ export declare function isMeshHostOwner(mesh: unknown): boolean;
25
+ export declare function buildMeshHostRequiredFailure(mesh: unknown, operation: string): Record<string, unknown>;
26
+ export declare function requireMeshHostQueueOwner(opts?: {
27
+ ownerRole?: RepoMeshDaemonRole;
28
+ }): void;
29
+ export declare function createDefaultMeshHostMetadata(): RepoMeshHostMetadata;
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Mesh init / onboarding helper.
3
+ *
4
+ * One-shot helper that onboards an existing git project into Repo Mesh:
5
+ * 1. suggest + write `.adhdev/refine.json` (Refinery validation config)
6
+ * 2. suggest + write `.adhdev/worktree_bootstrap.json` (worktree bootstrap config)
7
+ * 3. suggest + write `.adhdev/change-impact.json` (change-impact classification)
8
+ * 4. recommend a node providerPriority from the installed CLI providers
9
+ *
10
+ * mesh_init now covers all THREE repo-committed `.adhdev/*` config families that
11
+ * carry a suggest→validate→write engine (refine + worktree_bootstrap +
12
+ * change-impact). `.adhdev/mesh.json` (coordinator prompt + operating notes) has
13
+ * its own dedicated export/write path (export_mesh_json_config / write_mesh_json_config).
14
+ *
15
+ * Design contract (matches the rest of the mesh tooling):
16
+ * - Heuristics are suggestion/scaffold only. The written files are the
17
+ * execution source of truth; Refinery/bootstrap only ever read the saved
18
+ * config. The suggestion functions never become the execution path.
19
+ * - Writing is opt-in (`write: true`) and never clobbers an existing config
20
+ * unless `overwrite: true` is set, so re-running init on an already-onboarded
21
+ * repo is safe.
22
+ * - The providerPriority recommendation is returned, not auto-applied to the
23
+ * node policy — applying it mutates mesh policy, which is the coordinator's
24
+ * decision.
25
+ */
26
+ import { type RepoMeshRefineConfig, type RepoMeshRefineValidationCommandConfig } from './refine-config.js';
27
+ import { type RepoMeshWorktreeBootstrapConfig } from './worktree-bootstrap-config.js';
28
+ import { type ChangeImpactConfig } from '../git/change-impact-config.js';
29
+ import type { MagiKindPanelMap } from '@adhdev/mesh-shared';
30
+ import type { CLIInfo } from '../detection/cli-detector.js';
31
+ /** Canonical write targets — the first/preferred location for each config family. */
32
+ export declare const MESH_INIT_REFINE_CONFIG_PATH: string;
33
+ export declare const MESH_INIT_WORKTREE_BOOTSTRAP_CONFIG_PATH: string;
34
+ export declare const MESH_INIT_CHANGE_IMPACT_CONFIG_PATH: string;
35
+ export interface MeshInitConfigFileResult {
36
+ path: string;
37
+ relativePath: string;
38
+ written: boolean;
39
+ /** Why it was not written (already_exists / not_suggested / no change). */
40
+ skippedReason?: 'already_exists' | 'no_suggestion';
41
+ config?: RepoMeshRefineConfig | RepoMeshWorktreeBootstrapConfig | ChangeImpactConfig;
42
+ }
43
+ /**
44
+ * Build a worktree_bootstrap scaffold from package scripts. Mirrors
45
+ * suggestMeshRefineConfig's "scaffold only" posture: prefers an `install`/`ci`
46
+ * style script, else falls back to `npm install`, and records existing
47
+ * lockfiles as staleInputs so a base merge that changes them re-runs bootstrap.
48
+ *
49
+ * Returns undefined when there is nothing meaningful to scaffold.
50
+ */
51
+ export declare function suggestMeshWorktreeBootstrapConfig(workspace: string): {
52
+ commands: RepoMeshRefineValidationCommandConfig[];
53
+ staleInputs: string[];
54
+ suggestedConfig?: RepoMeshWorktreeBootstrapConfig;
55
+ };
56
+ export declare function suggestNodeProviderPriority(detected: CLIInfo[]): {
57
+ providerPriority: string[];
58
+ installedProviders: Array<{
59
+ id: string;
60
+ displayName: string;
61
+ version?: string;
62
+ }>;
63
+ };
64
+ export interface RunMeshInitOptions {
65
+ /** When true, persist suggested configs to disk. Defaults to dry-run (false). */
66
+ write?: boolean;
67
+ /** When true, overwrite an existing config file. Defaults to false (never clobber). */
68
+ overwrite?: boolean;
69
+ }
70
+ /**
71
+ * A snapshot of the currently-saved config for each domain, so the coordinator can
72
+ * render a current-vs-suggested diff to the user before an init/reinit overwrite.
73
+ * This is READ-ONLY echo — every field is what is on disk / machine-local right now,
74
+ * never a suggestion. Absent domains are reported as `undefined` config.
75
+ */
76
+ export interface MeshInitCurrentConfigEcho {
77
+ /** Currently-saved `.adhdev/refine.json` (repo-committed) — undefined when absent/invalid. */
78
+ refine?: RepoMeshRefineConfig;
79
+ /** Currently-saved `.adhdev/worktree_bootstrap.json` (repo-committed). */
80
+ worktreeBootstrap?: RepoMeshWorktreeBootstrapConfig;
81
+ /** Currently-saved `.adhdev/change-impact.json` (repo-committed). */
82
+ changeImpact?: ChangeImpactConfig;
83
+ /** Per-domain source type so the coordinator can tell "absent" from "invalid". */
84
+ sourceTypes: {
85
+ refine: string;
86
+ worktreeBootstrap: string;
87
+ changeImpact: string;
88
+ };
89
+ /**
90
+ * Currently-configured MAGI kind→panel slot bindings (machine-local
91
+ * ~/.adhdev/meshes.json). Empty object when none configured. This is a
92
+ * machine-local echo — the coordinator labels it as such vs. the repo files.
93
+ */
94
+ magiKindPanels: MagiKindPanelMap;
95
+ }
96
+ export interface RunMeshInitResult {
97
+ success: true;
98
+ workspace: string;
99
+ dryRun: boolean;
100
+ refine: MeshInitConfigFileResult;
101
+ worktreeBootstrap: MeshInitConfigFileResult;
102
+ changeImpact: MeshInitConfigFileResult;
103
+ providers: {
104
+ providerPriority: string[];
105
+ installedProviders: Array<{
106
+ id: string;
107
+ displayName: string;
108
+ version?: string;
109
+ }>;
110
+ };
111
+ /**
112
+ * Read-only snapshot of the currently-saved config per domain (repo files +
113
+ * machine-local kind panels). Lets the coordinator present a current-vs-suggested
114
+ * diff to the user before any overwrite. Always populated (dry-run and write).
115
+ */
116
+ currentConfig: MeshInitCurrentConfigEcho;
117
+ note: string;
118
+ }
119
+ /**
120
+ * Orchestrate the full onboarding flow for one workspace:
121
+ * detect installed CLIs → suggest refine + bootstrap configs → (optionally)
122
+ * write them → recommend a node providerPriority.
123
+ *
124
+ * `detected` is injected (the caller resolves it via detectCLIs with its
125
+ * ProviderLoader) so this module stays free of provider-loader wiring and is
126
+ * trivially unit-testable.
127
+ */
128
+ export declare function runMeshInit(mesh: any, workspace: string, detected: CLIInfo[], options?: RunMeshInitOptions): RunMeshInitResult;
@@ -1,4 +1,24 @@
1
- import type { AppendRemoteLedgerResult, MeshLedgerSlice, MeshLedgerSummary } from './mesh-ledger.js';
1
+ import type { AppendRemoteLedgerResult, MeshLedgerSummary } from './mesh-ledger.js';
2
+ /** Minimal ledger slice shape accepted by buildMeshLedgerReplicaEvidence. Covers both JSONL and SQLite slices. */
3
+ export interface AnyLedgerSlice {
4
+ entries: Array<{
5
+ id: string;
6
+ meshId: string;
7
+ timestamp: string;
8
+ kind: string;
9
+ nodeId?: string | null;
10
+ sessionId?: string | null;
11
+ providerType?: string | null;
12
+ payload: unknown;
13
+ }>;
14
+ cursor: {
15
+ afterId: string | null;
16
+ nextAfterId: string | null;
17
+ limit: number;
18
+ hasMore: boolean;
19
+ };
20
+ summary?: MeshLedgerSummary;
21
+ }
2
22
  export type MeshLedgerReplicaStatus = 'local' | 'queried' | 'imported' | 'failed';
3
23
  export interface MeshLedgerReplicaEvidence {
4
24
  nodeId: string;
@@ -22,9 +42,8 @@ export interface MeshLedgerReconciliationEvidence {
22
42
  meshId: string;
23
43
  generatedAt: string;
24
44
  sourceOfTruth: {
25
- kind: 'coordinator_local_jsonl';
45
+ kind: 'coordinator_local_sqlite';
26
46
  p2pOnly: true;
27
- cloudD1LedgerSync: false;
28
47
  notes: string;
29
48
  };
30
49
  replicas: MeshLedgerReplicaEvidence[];
@@ -47,7 +66,7 @@ export declare function buildMeshLedgerReplicaEvidence(args: {
47
66
  nodeId: string;
48
67
  daemonId?: string;
49
68
  transport: 'local' | 'p2p_datachannel';
50
- slice?: MeshLedgerSlice;
69
+ slice?: AnyLedgerSlice;
51
70
  importResult?: AppendRemoteLedgerResult;
52
71
  status?: MeshLedgerReplicaStatus;
53
72
  error?: string;
@@ -13,7 +13,8 @@
13
13
  * Safety: mode 0o600, atomic append via appendFileSync
14
14
  */
15
15
  import { EventEmitter } from 'events';
16
- export type MeshLedgerKind = 'task_dispatched' | 'task_completed' | 'task_failed' | 'task_stalled' | 'task_approval_needed' | 'session_launched' | 'session_auto_launch' | 'session_stopped' | 'checkpoint_created' | 'node_cloned' | 'node_removed' | 'coordinator_started' | 'recovery_attempted' | 'ledger_replicated' | 'ledger_reconciled';
16
+ import { MeshRuntimeStore } from './mesh-runtime-store.js';
17
+ export type MeshLedgerKind = 'task_dispatched' | 'task_completed' | 'task_failed' | 'task_stalled' | 'task_approval_needed' | 'p2p_dispatch_failed' | 'session_launched' | 'session_auto_launch' | 'session_stopped' | 'checkpoint_created' | 'node_cloned' | 'node_joined' | 'node_removed' | 'coordinator_started' | 'recovery_attempted' | 'ledger_replicated' | 'ledger_reconciled' | 'direct_fast_forward' | 'delivery_unroutable' | 'direct_dispatch_pruned' | 'event_held' | 'task_reclaimed' | 'coordinator_operating_note' | 'mission_created' | 'mission_status_changed' | 'mission_goal_updated' | 'magi_dispatched' | 'magi_synthesis';
17
18
  export interface MeshLedgerEntry {
18
19
  id: string;
19
20
  meshId: string;
@@ -25,6 +26,40 @@ export interface MeshLedgerEntry {
25
26
  payload: Record<string, unknown>;
26
27
  }
27
28
  export declare function isIntentionalCleanupStopEntry(entry: Pick<MeshLedgerEntry, 'kind' | 'payload'>): boolean;
29
+ export type MeshWorkerResultStatus = 'completed' | 'failed' | 'blocked' | 'partial' | 'unknown';
30
+ export type MeshProcessArtifactKind = 'process' | 'log' | 'port' | 'window' | 'session' | 'file' | 'url' | 'other';
31
+ export interface MeshValidationResultArtifact {
32
+ command?: string;
33
+ status: 'passed' | 'failed' | 'skipped' | 'unknown';
34
+ durationMs?: number;
35
+ outputPath?: string;
36
+ summary?: string;
37
+ }
38
+ export interface MeshProcessArtifact {
39
+ kind: MeshProcessArtifactKind;
40
+ id?: string;
41
+ label?: string;
42
+ locator?: string;
43
+ pid?: number;
44
+ port?: number;
45
+ url?: string;
46
+ path?: string;
47
+ sessionId?: string;
48
+ keepRunning?: boolean;
49
+ metadata?: Record<string, unknown>;
50
+ }
51
+ export interface MeshWorkerResultArtifact {
52
+ status: MeshWorkerResultStatus;
53
+ classification?: string;
54
+ changedFiles: string[];
55
+ validationResults: MeshValidationResultArtifact[];
56
+ gitStatus?: Record<string, unknown>;
57
+ processArtifacts: MeshProcessArtifact[];
58
+ errors: string[];
59
+ nextAction?: string;
60
+ requiresUserAction: boolean;
61
+ source: 'explicit_metadata' | 'final_summary_json' | 'parseable_answer' | 'default';
62
+ }
28
63
  export interface MeshTaskCompletionEvidence {
29
64
  source: 'agent_status_event';
30
65
  event: 'agent:generating_completed' | 'agent:ready';
@@ -38,6 +73,7 @@ export interface MeshTaskCompletionEvidence {
38
73
  providerSessionId?: string;
39
74
  finalSummaryAvailable: boolean;
40
75
  };
76
+ workerResult: MeshWorkerResultArtifact;
41
77
  git: {
42
78
  status: 'deferred';
43
79
  reason: string;
@@ -59,6 +95,7 @@ export interface BuildTaskCompletionEvidenceOptions {
59
95
  providerType?: string;
60
96
  providerSessionId?: string;
61
97
  finalSummary?: string;
98
+ workerResult?: Record<string, unknown>;
62
99
  completedAt?: string;
63
100
  }
64
101
  export interface MeshLedgerSummary {
@@ -115,6 +152,27 @@ export interface AppendRemoteLedgerResult {
115
152
  }
116
153
  export declare const MAX_LEDGER_SLICE_LIMIT = 500;
117
154
  export declare function getLedgerDir(): string;
155
+ /**
156
+ * Footer to append to worker task messages so workers output structured results
157
+ * that the daemon parses via extractJsonObjectFromSummary / normalizeMeshWorkerResult.
158
+ *
159
+ * Usage: append buildWorkerTaskFooter() to the task message in mesh_send_task /
160
+ * mesh_enqueue_task. The coordinator prompt rules instruct coordinators to do this.
161
+ */
162
+ export declare function buildWorkerTaskFooter(): string;
163
+ /**
164
+ * Compact the active ledger file for a mesh by moving old terminal entries
165
+ * (task_completed, task_failed, task_stalled, recovery_attempted older than 7 days)
166
+ * to <meshId>.archive.jsonl, keeping the active file lean.
167
+ *
168
+ * Non-terminal entries (dispatch, sessions, node lifecycle) are always retained.
169
+ * Called automatically from appendLedgerEntry when the file exceeds COMPACT_THRESHOLD_BYTES.
170
+ */
171
+ export declare function compactLedger(meshId: string): {
172
+ archivedCount: number;
173
+ retainedCount: number;
174
+ };
175
+ export declare function normalizeMeshWorkerResult(input?: Record<string, unknown>, source?: MeshWorkerResultArtifact['source']): MeshWorkerResultArtifact;
118
176
  export declare function buildTaskCompletionEvidence(opts: BuildTaskCompletionEvidenceOptions): MeshTaskCompletionEvidence;
119
177
  /**
120
178
  * Append a new entry to the mesh ledger.
@@ -127,8 +185,16 @@ export declare function appendLedgerEntry(meshId: string, partial: Omit<MeshLedg
127
185
  * This skips deduplicated entries and rejects malformed/cross-mesh entries.
128
186
  */
129
187
  export declare function appendRemoteLedgerEntries(meshId: string, entries: MeshLedgerEntry[]): AppendRemoteLedgerResult;
188
+ /**
189
+ * Test helper: clear all runtime ledger state for a mesh — SQLite rows, read
190
+ * cache, and the one-time import flag. JSONL files are the caller's concern.
191
+ */
192
+ export declare function __clearMeshLedgerForTests(meshId: string): void;
130
193
  /**
131
194
  * Read ledger entries with optional filtering.
195
+ * G2: SQLite (mesh_event_ledger) is the primary read path; legacy JSONL is
196
+ * imported once per store instance and otherwise retained as an
197
+ * export/import/debug artifact only.
132
198
  */
133
199
  export declare function readLedgerEntries(meshId: string, opts?: ReadLedgerOptions): MeshLedgerEntry[];
134
200
  /**
@@ -137,6 +203,16 @@ export declare function readLedgerEntries(meshId: string, opts?: ReadLedgerOptio
137
203
  * remote daemons on demand without Cloud/D1 becoming a ledger data-plane.
138
204
  */
139
205
  export declare function readLedgerSlice(meshId: string, opts?: ReadLedgerSliceOptions): MeshLedgerSlice;
206
+ /**
207
+ * G4: Read a bounded ledger slice from the SQLite mesh_event_ledger table.
208
+ * This is the preferred P2P reconcile read path; JSONL files are retained as
209
+ * export/import/debug/legacy artifacts only.
210
+ *
211
+ * Returns a shape structurally compatible with MeshLedgerSlice (minus the
212
+ * JSONL-specific `summary` and `sourceOfTruth.path` fields) so callers can
213
+ * pass it to buildMeshLedgerReplicaEvidence without modification.
214
+ */
215
+ export declare function readLedgerSliceFromStore(meshId: string, opts?: ReadLedgerSliceOptions): ReturnType<typeof MeshRuntimeStore.prototype.readLedgerSlice>;
140
216
  /**
141
217
  * Get a summary of mesh activity from the ledger.
142
218
  */
@@ -0,0 +1,63 @@
1
+ import type { MeshLedgerEntry } from './mesh-ledger.js';
2
+ import type { MagiGitSkew } from '@adhdev/mesh-shared';
3
+ export type MeshMagiActivityStatus = 'running' | 'synthesized';
4
+ /** A bounded needs_verification preview item (claim text + category only). */
5
+ export interface MeshMagiNeedsVerificationItem {
6
+ claim: string;
7
+ category: string;
8
+ }
9
+ export interface MeshMagiActivitySummary {
10
+ consensusGroupId: string;
11
+ status: MeshMagiActivityStatus;
12
+ missionId?: string;
13
+ panel?: string;
14
+ question?: string;
15
+ replicaCount?: number;
16
+ answered?: number;
17
+ missing?: number;
18
+ staleReplicas?: number;
19
+ needsVerificationCount?: number;
20
+ agreedCount?: number;
21
+ independenceBanner?: string | null;
22
+ gitSkew?: MagiGitSkew;
23
+ /** Bounded sample of the needs_verification clusters (claim + category). */
24
+ needsVerification?: MeshMagiNeedsVerificationItem[];
25
+ openQuestions?: string[];
26
+ lastLedgerKind?: string;
27
+ lastUpdatedAt?: string;
28
+ }
29
+ /** Cap on inlined needs_verification preview items per group (keeps the payload bounded). */
30
+ export declare const MAGI_NEEDS_VERIFICATION_PREVIEW_CAP = 8;
31
+ /**
32
+ * Reconstruct per-consensusGroup MAGI activity from a ledger window. The newest
33
+ * `magi_synthesis` for a group supplies the synthesis fields; a `magi_dispatched`
34
+ * with no later synthesis stays `running`. Deduped by consensusGroupId, newest first.
35
+ */
36
+ export declare function buildMeshMagiActivity(args: {
37
+ meshId?: string;
38
+ ledgerEntries?: MeshLedgerEntry[];
39
+ }): MeshMagiActivitySummary[];
40
+ /** Synthesized groups older than this (relative to the newest activity in the set) are
41
+ * folded out of the active list — already-resolved historical runs that should not keep
42
+ * inflating mesh_status. 6h covers a long working session. */
43
+ export declare const STALE_MAGI_WINDOW_MS: number;
44
+ /** Cap on recent synthesized groups kept in the active list even if all are fresh. */
45
+ export declare const RECENT_MAGI_CAP = 6;
46
+ export interface MeshMagiActivitySummaryFold {
47
+ total: number;
48
+ byStatus: Record<string, number>;
49
+ /** Synthesized groups dropped from the active list as stale historical residue. */
50
+ staleSynthesized: number;
51
+ /** Bounded set of recent/active groups (running first, then recent synthesized). */
52
+ groups: MeshMagiActivitySummary[];
53
+ }
54
+ /**
55
+ * Bound the MAGI activity list for mesh_status: running groups are always kept; synthesized
56
+ * groups are kept only when recent (within STALE_MAGI_WINDOW_MS of the newest activity AND
57
+ * among the RECENT_MAGI_CAP most-recent). Freshness is measured relative to the newest group
58
+ * (not wall-clock) so the result is deterministic for a given input. Mirrors
59
+ * summarizeMeshAsyncRefineJobs.
60
+ */
61
+ export declare function summarizeMeshMagiActivity(activity: MeshMagiActivitySummary[]): MeshMagiActivitySummaryFold;
62
+ /** Latest persisted synthesis activity for one consensusGroupId, or undefined. */
63
+ export declare function getMeshMagiActivityByGroup(ledgerEntries: MeshLedgerEntry[], consensusGroupId: string): MeshMagiActivitySummary | undefined;