@adhdev/daemon-core 0.9.82-rc.49 → 0.9.82-rc.490

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 (473) 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 +220 -0
  10. package/dist/cli-adapters/provider-cli-adapter.d.ts +137 -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 +23 -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 +71 -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 +48 -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-aggregate-status.d.ts +24 -0
  56. package/dist/commands/router-mesh-session-owner.d.ts +59 -0
  57. package/dist/commands/router-refine.d.ts +151 -0
  58. package/dist/commands/router-worktree-cleanup.d.ts +133 -0
  59. package/dist/commands/router.d.ts +203 -15
  60. package/dist/commands/upgrade-helper.d.ts +41 -1
  61. package/dist/config/chat-history.d.ts +11 -0
  62. package/dist/config/config.d.ts +19 -0
  63. package/dist/config/mesh-config.d.ts +65 -0
  64. package/dist/config/mesh-json-config.d.ts +199 -0
  65. package/dist/config/registry-resolver.d.ts +54 -0
  66. package/dist/config/repo-settings.d.ts +77 -0
  67. package/dist/config/state-store.d.ts +30 -0
  68. package/dist/daemon/dev-server.d.ts +0 -2
  69. package/dist/detection/cli-detector.d.ts +17 -0
  70. package/dist/detection/ide-detector.d.ts +13 -0
  71. package/dist/detection/win32-ide-version.d.ts +37 -0
  72. package/dist/git/change-impact-config.d.ts +159 -0
  73. package/dist/git/git-commands.d.ts +26 -2
  74. package/dist/git/git-diff.d.ts +6 -0
  75. package/dist/git/git-executor.d.ts +11 -0
  76. package/dist/git/git-status.d.ts +80 -0
  77. package/dist/git/git-types.d.ts +2 -50
  78. package/dist/git/git-worktree.d.ts +71 -1
  79. package/dist/git/index.d.ts +3 -1
  80. package/dist/index.d.ts +70 -17
  81. package/dist/index.js +53532 -19073
  82. package/dist/index.js.map +1 -1
  83. package/dist/index.mjs +53283 -18989
  84. package/dist/index.mjs.map +1 -1
  85. package/dist/installer.d.ts +1 -4
  86. package/dist/ipc/local-ipc-server.d.ts +91 -0
  87. package/dist/launch.d.ts +1 -1
  88. package/dist/logging/async-batch-writer.d.ts +10 -0
  89. package/dist/logging/debug-config.d.ts +16 -0
  90. package/dist/logging/log-redactor.d.ts +24 -0
  91. package/dist/logging/log-tail-reader.d.ts +81 -0
  92. package/dist/logging/logger.d.ts +1 -1
  93. package/dist/mesh/contracts.d.ts +256 -0
  94. package/dist/mesh/coordinator-prompt.d.ts +76 -0
  95. package/dist/mesh/coordinator-registry.d.ts +59 -0
  96. package/dist/mesh/mesh-active-work.d.ts +203 -0
  97. package/dist/mesh/mesh-clone-grace.d.ts +8 -0
  98. package/dist/mesh/mesh-completion-synthesis.d.ts +4 -0
  99. package/dist/mesh/mesh-coordinator-config.d.ts +21 -0
  100. package/dist/mesh/mesh-delivery-policy.d.ts +104 -0
  101. package/dist/mesh/mesh-event-classify.d.ts +7 -0
  102. package/dist/mesh/mesh-event-forwarding.d.ts +58 -0
  103. package/dist/mesh/mesh-event-trace.d.ts +21 -0
  104. package/dist/mesh/mesh-events-coordinator.d.ts +4 -0
  105. package/dist/mesh/mesh-events-pending.d.ts +258 -0
  106. package/dist/mesh/mesh-events-stale.d.ts +61 -0
  107. package/dist/mesh/mesh-events-utils.d.ts +75 -0
  108. package/dist/mesh/mesh-events.d.ts +6 -49
  109. package/dist/mesh/mesh-fast-forward.d.ts +81 -0
  110. package/dist/mesh/mesh-host-ownership.d.ts +21 -1
  111. package/dist/mesh/mesh-init.d.ts +128 -0
  112. package/dist/mesh/mesh-ledger-reconciliation.d.ts +23 -4
  113. package/dist/mesh/mesh-ledger.d.ts +139 -1
  114. package/dist/mesh/mesh-magi-status.d.ts +63 -0
  115. package/dist/mesh/mesh-missions.d.ts +281 -0
  116. package/dist/mesh/mesh-node-identity.d.ts +310 -0
  117. package/dist/mesh/mesh-queue-assignment.d.ts +162 -0
  118. package/dist/mesh/mesh-reconcile-acked-hold.d.ts +17 -0
  119. package/dist/mesh/mesh-reconcile-config.d.ts +6 -0
  120. package/dist/mesh/mesh-reconcile-identity.d.ts +6 -0
  121. package/dist/mesh/mesh-reconcile-loop.d.ts +84 -0
  122. package/dist/mesh/mesh-reconcile-v2-backstop.d.ts +16 -0
  123. package/dist/mesh/mesh-refine-batch.d.ts +68 -0
  124. package/dist/mesh/mesh-refine-gates.d.ts +457 -0
  125. package/dist/mesh/mesh-refine-status.d.ts +62 -0
  126. package/dist/mesh/mesh-remote-event-pull.d.ts +15 -0
  127. package/dist/mesh/mesh-review-inbox.d.ts +90 -0
  128. package/dist/mesh/mesh-routing.d.ts +70 -0
  129. package/dist/mesh/mesh-runtime-store.d.ts +567 -0
  130. package/dist/mesh/mesh-scheduling-runtime.d.ts +78 -0
  131. package/dist/mesh/mesh-task-inflight.d.ts +46 -0
  132. package/dist/mesh/mesh-task-stats.d.ts +49 -0
  133. package/dist/mesh/mesh-unresolved-forward-outbox.d.ts +34 -0
  134. package/dist/mesh/mesh-warmup-deadline.d.ts +68 -0
  135. package/dist/mesh/mesh-work-queue.d.ts +392 -1
  136. package/dist/mesh/preview-freshness.d.ts +28 -0
  137. package/dist/mesh/refine-config.d.ts +97 -0
  138. package/dist/mesh/worktree-bootstrap-config.d.ts +219 -0
  139. package/dist/providers/acp-provider-instance.d.ts +5 -0
  140. package/dist/providers/approval-utils.d.ts +46 -0
  141. package/dist/providers/chat-message-normalization.d.ts +58 -1
  142. package/dist/providers/cli-provider-effect-format.d.ts +30 -0
  143. package/dist/providers/cli-provider-history-dedup.d.ts +17 -0
  144. package/dist/providers/cli-provider-input-prompt.d.ts +12 -0
  145. package/dist/providers/cli-provider-instance-types.d.ts +45 -0
  146. package/dist/providers/cli-provider-instance.d.ts +426 -30
  147. package/dist/providers/cli-provider-status-helpers.d.ts +46 -0
  148. package/dist/providers/cli-provider-transcript-merge.d.ts +7 -0
  149. package/dist/providers/contracts.d.ts +196 -6
  150. package/dist/providers/external-sources.d.ts +71 -0
  151. package/dist/providers/manual-attendance.d.ts +79 -0
  152. package/dist/providers/native-history/antigravity-claim-registry.d.ts +39 -0
  153. package/dist/providers/native-history/antigravity-cli-transcript.d.ts +137 -0
  154. package/dist/providers/native-history/claude-cli-transcript.d.ts +70 -0
  155. package/dist/providers/native-history/codex-cli-transcript.d.ts +73 -0
  156. package/dist/providers/native-history/constants.d.ts +12 -0
  157. package/dist/providers/native-history/dispatcher.d.ts +44 -0
  158. package/dist/providers/native-history/hermes-cli-transcript.d.ts +30 -0
  159. package/dist/providers/native-history/index.d.ts +13 -0
  160. package/dist/providers/provider-instance-manager.d.ts +30 -0
  161. package/dist/providers/provider-instance.d.ts +31 -1
  162. package/dist/providers/provider-loader.d.ts +42 -5
  163. package/dist/providers/provider-trust.d.ts +31 -0
  164. package/dist/providers/read-chat-contract.d.ts +29 -0
  165. package/dist/providers/sdk/v1/builders/acp/detect-status.d.ts +68 -0
  166. package/dist/providers/sdk/v1/builders/cli/detect-status.d.ts +86 -0
  167. package/dist/providers/sdk/v1/builders/cli/parse-approval-squash.d.ts +59 -0
  168. package/dist/providers/sdk/v1/builders/cli/parse-approval.d.ts +65 -0
  169. package/dist/providers/sdk/v1/builders/cli/parse-session.d.ts +91 -0
  170. package/dist/providers/sdk/v1/builders/cli/visible-region.d.ts +42 -0
  171. package/dist/providers/sdk/v1/fixture-tooling/format.d.ts +126 -0
  172. package/dist/providers/sdk/v1/fixture-tooling/index.d.ts +8 -0
  173. package/dist/providers/sdk/v1/fixture-tooling/replay.d.ts +38 -0
  174. package/dist/providers/sdk/v1/index.d.ts +30 -0
  175. package/dist/providers/sdk/v1/sandbox/README-design.d.ts +193 -0
  176. package/dist/providers/sdk/v1/sandbox/require-whitelist.d.ts +74 -0
  177. package/dist/providers/sdk/v1/sandbox/script-runner.d.ts +98 -0
  178. package/dist/providers/sdk/v1/types/cli/index.d.ts +277 -0
  179. package/dist/providers/sdk/v1/types/common/index.d.ts +203 -0
  180. package/dist/providers/sdk/v1/validators/index.d.ts +5 -0
  181. package/dist/providers/sdk/v1/validators/manifest.d.ts +40 -0
  182. package/dist/providers/sdk/v1/validators/taint.d.ts +52 -0
  183. package/dist/providers/spec/adapter.d.ts +98 -0
  184. package/dist/providers/spec/cli-adapter.d.ts +223 -0
  185. package/dist/providers/spec/evaluator.d.ts +45 -0
  186. package/dist/providers/spec/fsm-driver.d.ts +449 -0
  187. package/dist/providers/spec/fsm-evaluator.d.ts +93 -0
  188. package/dist/providers/spec/fsm-loader.d.ts +14 -0
  189. package/dist/providers/spec/fsm-types.d.ts +202 -0
  190. package/dist/providers/spec/native-history-executor.d.ts +41 -0
  191. package/dist/providers/spec/pre-launch-trust.d.ts +16 -0
  192. package/dist/providers/spec/route.d.ts +4 -0
  193. package/dist/providers/spec/types.d.ts +244 -0
  194. package/dist/providers/status-monitor.d.ts +7 -7
  195. package/dist/providers/transcript-v2.d.ts +176 -0
  196. package/dist/providers/types/interactive-prompt.d.ts +84 -0
  197. package/dist/providers/working-dir.d.ts +17 -0
  198. package/dist/repo-mesh-types.d.ts +616 -12
  199. package/dist/runtime-defaults.d.ts +2 -0
  200. package/dist/session-host/managed-host.d.ts +64 -0
  201. package/dist/session-host/runtime-surface.d.ts +10 -16
  202. package/dist/sessions/registry.d.ts +26 -0
  203. package/dist/shared-types-extra.d.ts +2 -4
  204. package/dist/shared-types.d.ts +110 -55
  205. package/dist/status/chat-tail-hot-sessions.d.ts +40 -0
  206. package/dist/status/normalize.d.ts +1 -1
  207. package/dist/status/normalize.js +1 -0
  208. package/dist/status/normalize.js.map +1 -1
  209. package/dist/status/normalize.mjs +1 -0
  210. package/dist/status/normalize.mjs.map +1 -1
  211. package/dist/status/reporter.d.ts +2 -0
  212. package/dist/status/snapshot.d.ts +27 -0
  213. package/dist/system/hash.d.ts +8 -0
  214. package/dist/system/load-better-sqlite3.d.ts +21 -0
  215. package/dist/types.d.ts +20 -6
  216. package/package.json +11 -4
  217. package/src/agent-stream/poller.ts +2 -3
  218. package/src/agent-stream/provider-adapter.ts +1 -1
  219. package/src/boot/daemon-lifecycle.ts +80 -14
  220. package/src/boot/process-hardening.ts +89 -0
  221. package/src/build-info.ts +73 -0
  222. package/src/chat/source-machine.ts +534 -0
  223. package/src/chat/source-resolver.ts +0 -0
  224. package/src/chat/subscription-updates.ts +20 -1
  225. package/src/cli-adapter-types.d.ts +3 -1
  226. package/src/cli-adapter-types.ts +68 -2
  227. package/src/cli-adapters/cli-script-runner.ts +421 -0
  228. package/src/cli-adapters/cli-state-engine.ts +1282 -0
  229. package/src/cli-adapters/provider-cli-adapter.d.ts +1 -1
  230. package/src/cli-adapters/provider-cli-adapter.ts +1048 -1143
  231. package/src/cli-adapters/provider-cli-parse.d.ts +2 -0
  232. package/src/cli-adapters/provider-cli-parse.ts +19 -0
  233. package/src/cli-adapters/provider-cli-runtime.ts +56 -7
  234. package/src/cli-adapters/provider-cli-shared.d.ts +4 -0
  235. package/src/cli-adapters/provider-cli-shared.ts +121 -11
  236. package/src/cli-adapters/pty-transport.ts +2 -1
  237. package/src/cli-adapters/pty-write-chunking.ts +106 -0
  238. package/src/cli-adapters/raw-terminal-io.ts +252 -0
  239. package/src/cli-adapters/resolve-executable.ts +204 -0
  240. package/src/cli-adapters/session-host-transport.ts +2 -1
  241. package/src/cli-adapters/terminal-backends/ghostty-vt-backend.ts +63 -29
  242. package/src/cli-adapters/terminal-backends/types.ts +10 -3
  243. package/src/cli-adapters/terminal-screen.ts +16 -81
  244. package/src/commands/chat-commands-debug-bundle.ts +398 -0
  245. package/src/commands/chat-commands-read.ts +2788 -0
  246. package/src/commands/chat-commands-scope.ts +54 -0
  247. package/src/commands/chat-commands-shared.ts +114 -0
  248. package/src/commands/chat-commands-write.ts +891 -0
  249. package/src/commands/chat-commands.ts +19 -1841
  250. package/src/commands/cli-manager.d.ts +2 -0
  251. package/src/commands/cli-manager.ts +724 -27
  252. package/src/commands/handler.ts +865 -2
  253. package/src/commands/high-family/index.ts +28 -0
  254. package/src/commands/high-family/mesh-coordinator-launch.ts +696 -0
  255. package/src/commands/high-family/mesh-events.ts +102 -0
  256. package/src/commands/high-family/mesh-status.ts +857 -0
  257. package/src/commands/high-family/types.ts +80 -0
  258. package/src/commands/low-family/coordinator-prompt.ts +125 -0
  259. package/src/commands/low-family/daemon-lifecycle.ts +120 -0
  260. package/src/commands/low-family/diagnostics.ts +57 -0
  261. package/src/commands/low-family/index.ts +37 -0
  262. package/src/commands/low-family/mesh-ledger.ts +62 -0
  263. package/src/commands/low-family/mesh-node-logs.ts +87 -0
  264. package/src/commands/low-family/notification.ts +116 -0
  265. package/src/commands/low-family/refine-config.ts +106 -0
  266. package/src/commands/low-family/session-host.ts +282 -0
  267. package/src/commands/low-family/spec-providerdev.ts +217 -0
  268. package/src/commands/low-family/status-meta.ts +112 -0
  269. package/src/commands/low-family/types.ts +39 -0
  270. package/src/commands/med-family/cli-agent.ts +270 -0
  271. package/src/commands/med-family/fast-forward.ts +230 -0
  272. package/src/commands/med-family/ide.ts +163 -0
  273. package/src/commands/med-family/index.ts +37 -0
  274. package/src/commands/med-family/mesh-crud.ts +1268 -0
  275. package/src/commands/med-family/mesh-host-pairing.ts +234 -0
  276. package/src/commands/med-family/mesh-queue.ts +167 -0
  277. package/src/commands/med-family/mesh-restart.ts +92 -0
  278. package/src/commands/med-family/types.ts +153 -0
  279. package/src/commands/mesh-coordinator.ts +334 -124
  280. package/src/commands/router-aggregate-status.ts +209 -0
  281. package/src/commands/router-mesh-session-owner.ts +114 -0
  282. package/src/commands/router-refine.ts +1794 -0
  283. package/src/commands/router-worktree-cleanup.ts +870 -0
  284. package/src/commands/router.ts +567 -4149
  285. package/src/commands/stream-commands.ts +8 -0
  286. package/src/commands/upgrade-helper.ts +310 -45
  287. package/src/config/chat-history.ts +517 -24
  288. package/src/config/config.ts +30 -0
  289. package/src/config/mesh-config.ts +300 -24
  290. package/src/config/mesh-json-config.ts +376 -0
  291. package/src/config/recent-activity.ts +8 -2
  292. package/src/config/registry-resolver.ts +100 -0
  293. package/src/config/repo-settings.ts +111 -0
  294. package/src/config/state-store.ts +55 -0
  295. package/src/daemon/dev-auto-implement.ts +3 -2
  296. package/src/daemon/dev-cli-debug.ts +10 -1
  297. package/src/daemon/dev-server.ts +0 -541
  298. package/src/detection/cli-detector.ts +94 -9
  299. package/src/detection/ide-detector.ts +55 -16
  300. package/src/detection/win32-ide-version.ts +106 -0
  301. package/src/git/change-impact-config.ts +354 -0
  302. package/src/git/git-commands.ts +112 -16
  303. package/src/git/git-diff.ts +81 -11
  304. package/src/git/git-executor.ts +12 -0
  305. package/src/git/git-status.ts +822 -48
  306. package/src/git/git-types.ts +14 -62
  307. package/src/git/git-worktree.ts +261 -4
  308. package/src/git/index.ts +17 -0
  309. package/src/index.ts +190 -13
  310. package/src/installer.d.ts +1 -1
  311. package/src/installer.ts +8 -6
  312. package/src/ipc/local-ipc-server.ts +278 -0
  313. package/src/launch.d.ts +1 -1
  314. package/src/launch.ts +37 -28
  315. package/src/logging/async-batch-writer.ts +55 -0
  316. package/src/logging/command-log.ts +7 -5
  317. package/src/logging/debug-config.ts +25 -0
  318. package/src/logging/debug-trace.ts +7 -2
  319. package/src/logging/log-redactor.ts +100 -0
  320. package/src/logging/log-tail-reader.ts +341 -0
  321. package/src/logging/logger.ts +14 -7
  322. package/src/mesh/contracts.ts +510 -0
  323. package/src/mesh/coordinator-prompt.ts +627 -34
  324. package/src/mesh/coordinator-registry.ts +121 -0
  325. package/src/mesh/mesh-active-work.ts +706 -0
  326. package/src/mesh/mesh-clone-grace.ts +68 -0
  327. package/src/mesh/mesh-completion-synthesis.ts +416 -0
  328. package/src/mesh/mesh-coordinator-config.ts +97 -0
  329. package/src/mesh/mesh-delivery-policy.ts +284 -0
  330. package/src/mesh/mesh-event-classify.ts +78 -0
  331. package/src/mesh/mesh-event-forwarding.ts +2030 -0
  332. package/src/mesh/mesh-event-trace.ts +67 -0
  333. package/src/mesh/mesh-events-coordinator.ts +32 -0
  334. package/src/mesh/mesh-events-pending.ts +1548 -0
  335. package/src/mesh/mesh-events-stale.ts +452 -0
  336. package/src/mesh/mesh-events-utils.ts +443 -0
  337. package/src/mesh/mesh-events.ts +43 -1035
  338. package/src/mesh/mesh-fast-forward.ts +856 -0
  339. package/src/mesh/mesh-host-ownership.ts +41 -3
  340. package/src/mesh/mesh-init.ts +350 -0
  341. package/src/mesh/mesh-ledger-reconciliation.ts +12 -7
  342. package/src/mesh/mesh-ledger.ts +897 -102
  343. package/src/mesh/mesh-magi-status.ts +223 -0
  344. package/src/mesh/mesh-missions.ts +695 -0
  345. package/src/mesh/mesh-node-identity.ts +2065 -0
  346. package/src/mesh/mesh-queue-assignment.ts +2498 -0
  347. package/src/mesh/mesh-reconcile-acked-hold.ts +230 -0
  348. package/src/mesh/mesh-reconcile-config.ts +66 -0
  349. package/src/mesh/mesh-reconcile-identity.ts +103 -0
  350. package/src/mesh/mesh-reconcile-loop.ts +1696 -0
  351. package/src/mesh/mesh-reconcile-v2-backstop.ts +62 -0
  352. package/src/mesh/mesh-refine-batch.ts +205 -0
  353. package/src/mesh/mesh-refine-gates.ts +1792 -0
  354. package/src/mesh/mesh-refine-status.ts +231 -0
  355. package/src/mesh/mesh-remote-event-pull.ts +279 -0
  356. package/src/mesh/mesh-review-inbox.ts +308 -0
  357. package/src/mesh/mesh-routing.ts +291 -0
  358. package/src/mesh/mesh-runtime-store.ts +2292 -0
  359. package/src/mesh/mesh-scheduling-runtime.ts +198 -0
  360. package/src/mesh/mesh-task-inflight.ts +70 -0
  361. package/src/mesh/mesh-task-stats.ts +161 -0
  362. package/src/mesh/mesh-unresolved-forward-outbox.ts +215 -0
  363. package/src/mesh/mesh-warmup-deadline.ts +152 -0
  364. package/src/mesh/mesh-work-queue.ts +1489 -145
  365. package/src/mesh/preview-freshness.ts +163 -0
  366. package/src/mesh/refine-config.ts +129 -12
  367. package/src/mesh/worktree-bootstrap-config.ts +599 -0
  368. package/src/providers/acp-provider-instance.ts +43 -10
  369. package/src/providers/approval-utils.d.ts +5 -0
  370. package/src/providers/approval-utils.ts +100 -6
  371. package/src/providers/chat-message-normalization.ts +126 -4
  372. package/src/providers/cli-provider-effect-format.ts +53 -0
  373. package/src/providers/cli-provider-history-dedup.ts +75 -0
  374. package/src/providers/cli-provider-input-prompt.ts +133 -0
  375. package/src/providers/cli-provider-instance-types.ts +131 -0
  376. package/src/providers/cli-provider-instance.ts +2771 -499
  377. package/src/providers/cli-provider-status-helpers.ts +123 -0
  378. package/src/providers/cli-provider-transcript-merge.ts +114 -0
  379. package/src/providers/contracts.d.ts +55 -0
  380. package/src/providers/contracts.ts +207 -6
  381. package/src/providers/extension-provider-instance.ts +12 -7
  382. package/src/providers/external-sources.ts +218 -0
  383. package/src/providers/ide-provider-instance.ts +35 -12
  384. package/src/providers/manual-attendance.ts +105 -0
  385. package/src/providers/native-history/antigravity-claim-registry.ts +138 -0
  386. package/src/providers/native-history/antigravity-cli-transcript.ts +1275 -0
  387. package/src/providers/native-history/claude-cli-transcript.ts +396 -0
  388. package/src/providers/native-history/codex-cli-transcript.ts +479 -0
  389. package/src/providers/native-history/constants.ts +19 -0
  390. package/src/providers/native-history/dispatcher.ts +617 -0
  391. package/src/providers/native-history/hermes-cli-transcript.ts +312 -0
  392. package/src/providers/native-history/index.ts +30 -0
  393. package/src/providers/provider-instance-manager.ts +71 -0
  394. package/src/providers/provider-instance.ts +24 -1
  395. package/src/providers/provider-loader.ts +700 -55
  396. package/src/providers/provider-schema.ts +93 -14
  397. package/src/providers/provider-trust.ts +114 -0
  398. package/src/providers/read-chat-contract.ts +76 -16
  399. package/src/providers/sdk/README.md +49 -0
  400. package/src/providers/sdk/v1/builders/acp/detect-status.ts +144 -0
  401. package/src/providers/sdk/v1/builders/cli/detect-status.ts +313 -0
  402. package/src/providers/sdk/v1/builders/cli/parse-approval-squash.ts +158 -0
  403. package/src/providers/sdk/v1/builders/cli/parse-approval.ts +261 -0
  404. package/src/providers/sdk/v1/builders/cli/parse-session.ts +276 -0
  405. package/src/providers/sdk/v1/builders/cli/visible-region.ts +143 -0
  406. package/src/providers/sdk/v1/fixture-tooling/format.ts +130 -0
  407. package/src/providers/sdk/v1/fixture-tooling/index.ts +22 -0
  408. package/src/providers/sdk/v1/fixture-tooling/replay.ts +352 -0
  409. package/src/providers/sdk/v1/index.ts +152 -0
  410. package/src/providers/sdk/v1/sandbox/README-design.ts +195 -0
  411. package/src/providers/sdk/v1/sandbox/require-whitelist.ts +472 -0
  412. package/src/providers/sdk/v1/sandbox/script-runner.ts +150 -0
  413. package/src/providers/sdk/v1/schemas/cli/provider.schema.json +538 -0
  414. package/src/providers/sdk/v1/schemas/primitives/acp-session-protocol-v1.json +131 -0
  415. package/src/providers/sdk/v1/schemas/primitives/native-history-codex-rollout-v1.json +66 -0
  416. package/src/providers/sdk/v1/schemas/primitives/tui-approval-squash-v1.json +91 -0
  417. package/src/providers/sdk/v1/schemas/primitives/tui-assistant-block-v1.json +91 -0
  418. package/src/providers/sdk/v1/schemas/primitives/tui-cue-ordering-v1.json +47 -0
  419. package/src/providers/sdk/v1/schemas/primitives/tui-dispatch-order-v1.json +32 -0
  420. package/src/providers/sdk/v1/schemas/primitives/tui-footer-chrome-v1.json +42 -0
  421. package/src/providers/sdk/v1/schemas/primitives/tui-index-finder-v1.json +27 -0
  422. package/src/providers/sdk/v1/schemas/primitives/tui-modal-v1.json +125 -0
  423. package/src/providers/sdk/v1/schemas/primitives/tui-prompt-marker-v1.json +45 -0
  424. package/src/providers/sdk/v1/schemas/primitives/tui-session-id-extraction-v1.json +46 -0
  425. package/src/providers/sdk/v1/schemas/primitives/tui-settled-prompt-v1.json +71 -0
  426. package/src/providers/sdk/v1/schemas/primitives/tui-spinner-v1.json +83 -0
  427. package/src/providers/sdk/v1/schemas/primitives/tui-transcript-pty-v1.json +83 -0
  428. package/src/providers/sdk/v1/schemas/primitives/tui-visible-region-v1.json +57 -0
  429. package/src/providers/sdk/v1/schemas/primitives/tui-welcome-screen-v1.json +35 -0
  430. package/src/providers/sdk/v1/types/cli/index.ts +365 -0
  431. package/src/providers/sdk/v1/types/common/index.ts +229 -0
  432. package/src/providers/sdk/v1/validators/index.ts +19 -0
  433. package/src/providers/sdk/v1/validators/manifest.ts +110 -0
  434. package/src/providers/sdk/v1/validators/taint.ts +309 -0
  435. package/src/providers/spec/adapter.ts +246 -0
  436. package/src/providers/spec/cli-adapter.ts +1064 -0
  437. package/src/providers/spec/evaluator.ts +407 -0
  438. package/src/providers/spec/fsm-driver.ts +1528 -0
  439. package/src/providers/spec/fsm-evaluator.ts +290 -0
  440. package/src/providers/spec/fsm-loader.ts +128 -0
  441. package/src/providers/spec/fsm-types.ts +301 -0
  442. package/src/providers/spec/native-history-executor.ts +1241 -0
  443. package/src/providers/spec/pre-launch-trust.ts +104 -0
  444. package/src/providers/spec/route.ts +51 -0
  445. package/src/providers/spec/types.ts +284 -0
  446. package/src/providers/status-monitor.d.ts +7 -7
  447. package/src/providers/status-monitor.ts +37 -22
  448. package/src/providers/transcript-v2.ts +567 -0
  449. package/src/providers/types/interactive-prompt.ts +536 -0
  450. package/src/providers/version-archive.ts +64 -24
  451. package/src/providers/working-dir.ts +23 -0
  452. package/src/repo-mesh-types.ts +861 -14
  453. package/src/runtime-defaults.ts +39 -0
  454. package/src/session-host/managed-host.ts +218 -0
  455. package/src/session-host/runtime-surface.ts +20 -80
  456. package/src/sessions/registry.ts +44 -0
  457. package/src/shared-types-extra.ts +2 -4
  458. package/src/shared-types.d.ts +8 -0
  459. package/src/shared-types.ts +148 -55
  460. package/src/status/builders.ts +69 -6
  461. package/src/status/chat-tail-hot-sessions.ts +117 -2
  462. package/src/status/normalize.ts +2 -0
  463. package/src/status/reporter.ts +19 -1
  464. package/src/status/snapshot.ts +100 -27
  465. package/src/system/hash.ts +23 -0
  466. package/src/system/host-memory.ts +29 -12
  467. package/src/system/load-better-sqlite3.ts +68 -0
  468. package/src/types.ts +26 -6
  469. package/dist/cli-adapters/terminal-backends/xterm-backend.d.ts +0 -17
  470. package/dist/mesh/mesh-sync.d.ts +0 -53
  471. package/src/cli-adapters/terminal-backends/ghostty-vt-backend.d.ts +0 -16
  472. package/src/cli-adapters/terminal-backends/xterm-backend.ts +0 -97
  473. package/src/mesh/mesh-sync.ts +0 -111
@@ -0,0 +1,66 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "adhdev:native-history/codex-rollout@1",
4
+ "title": "native-history/codex-rollout — v1",
5
+ "description": "Declares that the provider's chat history is canonically owned by Codex's rollout JSONL files at `~/.codex/sessions/YYYY/MM/DD/rollout-<ts>-<uuid>.jsonl`. The daemon's chat-history layer routes readChat through the configured `scripts.readSession` adapter, which is expected to honour the format contract documented at:\n\n - One JSONL line per record. First line is `session_meta`; subsequent lines are `response_item` payloads.\n - Workspace scoping by matching `session_meta.payload.cwd` to the live session's working directory (with symlink expansion via `fs.realpathSync.native`).\n - spawnAt grace window (default 3000ms): reject workspace-only candidates older than `spawnAt - graceMs`.\n - excludeInProgressTurn: strip trailing in-flight assistant/tool records when set.\n - Silent-skip malformed JSONL lines (mirrors codex's concurrent-write tolerance).\n\nThis primitive is currently script-delegated. A daemon-side built-in adapter may replace `_shared/native_history.js` in a later phase; the schema is forward-compatible.",
6
+ "type": "object",
7
+ "required": ["$schema", "format", "watchPath", "mode"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "$schema": { "const": "adhdev:native-history/codex-rollout@1" },
11
+ "format": {
12
+ "const": "codex-rollout",
13
+ "description": "Identifies the rollout-jsonl contract version. Sync with `payload.cli_version` interpretation in adapter code."
14
+ },
15
+ "watchPath": {
16
+ "type": "string",
17
+ "default": "~/.codex/sessions",
18
+ "description": "Filesystem root the daemon watches for new rollout files. Defaults to the canonical Codex path; override only when the user has a custom CODEX_HOME."
19
+ },
20
+ "mode": {
21
+ "const": "native-source",
22
+ "description": "Codex JSONL is authoritative for sealed turns; PTY parsing fills the in-flight tail."
23
+ },
24
+ "contractVersion": {
25
+ "type": "string",
26
+ "default": "1.0",
27
+ "description": "Adapter contract version; bump in lockstep with breaking changes to Codex's rollout-record schema."
28
+ },
29
+ "spawnGraceMs": {
30
+ "type": "integer",
31
+ "minimum": 0,
32
+ "maximum": 60000,
33
+ "default": 3000,
34
+ "description": "Workspace-only candidates with mtime older than `spawnAt - spawnGraceMs` are rejected as stale. Codex's default is 3000ms; only override if you observe a different race window."
35
+ },
36
+ "excludeInProgressTurn": {
37
+ "type": "boolean",
38
+ "default": true,
39
+ "description": "When true, trailing assistant/tool records produced mid-turn are stripped so paused approvals don't show as completed."
40
+ },
41
+ "scripts": {
42
+ "type": "object",
43
+ "additionalProperties": false,
44
+ "description": "Pointers to the JS adapter functions (until a daemon-side built-in replaces them).",
45
+ "properties": {
46
+ "readSession": { "type": "string", "default": "readCodexNativeHistory" },
47
+ "listSessions": { "type": "string", "default": "listCodexNativeHistory" }
48
+ }
49
+ }
50
+ },
51
+ "examples": [
52
+ {
53
+ "$schema": "adhdev:native-history/codex-rollout@1",
54
+ "format": "codex-rollout",
55
+ "watchPath": "~/.codex/sessions",
56
+ "mode": "native-source",
57
+ "contractVersion": "1.0",
58
+ "spawnGraceMs": 3000,
59
+ "excludeInProgressTurn": true,
60
+ "scripts": {
61
+ "readSession": "readCodexNativeHistory",
62
+ "listSessions": "listCodexNativeHistory"
63
+ }
64
+ }
65
+ ]
66
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "adhdev:tui/approval-squash@1",
4
+ "title": "tui/approval-squash — v1",
5
+ "description": "Recognises approval modals whose buttons + cues have been collapsed by the terminal renderer into a single squashed lowercase-alnum string (e.g. `1yescontinue2noquit`, `doyoutrustthecontentsofthisdirectory`). Codex is the canonical example: when the terminal re-flows the modal across narrow widths, the rendered text loses whitespace/punctuation but the byte order is preserved. The builder applies the manifest's `cues` to detect the modal, then the `buttonRules` to reconstruct labels.\n\nThe normalisation function is fixed: `String(value).toLowerCase().replace(/[^a-z0-9]+/g, '')`. Authors only declare which compact substrings count as cues and how to map known compact button runs back into labels.",
6
+ "type": "object",
7
+ "required": ["$schema", "cues", "buttonRules"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "$schema": { "const": "adhdev:tui/approval-squash@1" },
11
+ "cues": {
12
+ "type": "array",
13
+ "minItems": 1,
14
+ "description": "Compact substrings or regexes that, if found in the compacted text, identify this as an approval modal. Mix freely — daemon tries every cue.",
15
+ "items": {
16
+ "type": "object",
17
+ "additionalProperties": false,
18
+ "required": ["compact"],
19
+ "properties": {
20
+ "compact": { "type": "string", "description": "Compacted (lowercase-alnum) substring." },
21
+ "kind": { "enum": ["substring", "regex"], "default": "substring" },
22
+ "label": { "type": "string", "description": "Optional category label, e.g. 'trust-folder'." },
23
+ "messageWhenMatched": { "type": "string", "description": "Human-readable message the modal builder returns when this cue matches. Use this to recover the original prose from the compacted form." }
24
+ }
25
+ }
26
+ },
27
+ "footers": {
28
+ "type": "array",
29
+ "description": "Optional compact substrings that must also be present in the compacted text to count as a real modal (e.g. 'pressentertocontinue'). Default: at least one cue is sufficient.",
30
+ "items": {
31
+ "type": "object",
32
+ "additionalProperties": false,
33
+ "required": ["compact"],
34
+ "properties": {
35
+ "compact": { "type": "string" },
36
+ "kind": { "enum": ["substring", "regex"], "default": "substring" }
37
+ }
38
+ },
39
+ "default": []
40
+ },
41
+ "buttonRules": {
42
+ "type": "array",
43
+ "minItems": 1,
44
+ "description": "Rules that map a recognised compact substring to the original labels. Tried in order; first match wins. Use this for the cases where the terminal collapsed both buttons into one rendering blob.",
45
+ "items": {
46
+ "type": "object",
47
+ "additionalProperties": false,
48
+ "required": ["compact", "labels"],
49
+ "properties": {
50
+ "compact": { "type": "string", "description": "Compact substring (e.g. '1yescontinue2noquit') OR regex source when kind=regex." },
51
+ "kind": { "enum": ["substring", "regex"], "default": "substring" },
52
+ "labels": {
53
+ "type": "array",
54
+ "minItems": 1,
55
+ "items": { "type": "string" },
56
+ "description": "Original human-readable labels in display order."
57
+ }
58
+ }
59
+ }
60
+ },
61
+ "scope": {
62
+ "default": "tail-window",
63
+ "enum": ["tail-window", "whole-screen"]
64
+ },
65
+ "tailWindowLines": {
66
+ "type": "integer",
67
+ "minimum": 1,
68
+ "maximum": 64,
69
+ "default": 24
70
+ }
71
+ },
72
+ "examples": [
73
+ {
74
+ "$schema": "adhdev:tui/approval-squash@1",
75
+ "cues": [
76
+ { "compact": "doyoutrustthecontentsofthisdirectory", "label": "trust-folder", "messageWhenMatched": "Do you trust the contents of this directory?" },
77
+ { "compact": "workingwithuntrustedcontents", "label": "untrusted-content", "messageWhenMatched": "Working with untrusted contents" },
78
+ { "compact": "switchtogpt", "kind": "regex", "label": "rate-limit" }
79
+ ],
80
+ "footers": [
81
+ { "compact": "pressentertocontinue" },
82
+ { "compact": "esctocancel" }
83
+ ],
84
+ "buttonRules": [
85
+ { "compact": "1yescontinue2noquit", "labels": ["Yes, continue", "No, quit"] },
86
+ { "compact": "1approveandrun2deny", "labels": ["Approve and run", "Deny"] },
87
+ { "compact": "1alwaysapprove2approve3deny", "labels": ["Always approve", "Approve", "Deny"] }
88
+ ]
89
+ }
90
+ ]
91
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "adhdev:tui/assistant-block@1",
4
+ "title": "tui/assistant-block — v1",
5
+ "description": "Declares how to extract assistant turns from the rendered transcript. The block starts at a marker (e.g. Claude `⏺`, Codex `Codex` heading) and ends at either the next user prompt or the next block marker. Each captured block becomes one assistant chat message.",
6
+ "type": "object",
7
+ "required": ["$schema", "startMarker"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "$schema": { "const": "adhdev:tui/assistant-block@1" },
11
+ "startMarker": {
12
+ "description": "Where an assistant block begins. Can be a plain substring or a regex.",
13
+ "oneOf": [
14
+ { "type": "string", "description": "Plain substring." },
15
+ {
16
+ "type": "object",
17
+ "required": ["regex"],
18
+ "additionalProperties": false,
19
+ "properties": {
20
+ "regex": { "type": "string" },
21
+ "flags": { "type": "string", "pattern": "^[gimsuy]*$", "default": "m" }
22
+ }
23
+ }
24
+ ]
25
+ },
26
+ "endMarker": {
27
+ "description": "Where the block ends. Common: next prompt marker or another startMarker. Defaults to \"next-user-prompt\".",
28
+ "default": "next-user-prompt",
29
+ "oneOf": [
30
+ { "const": "next-user-prompt", "title": "Stop at the next prompt marker line" },
31
+ { "const": "next-start-marker", "title": "Stop at the next startMarker" },
32
+ { "type": "string", "title": "Plain substring marker" },
33
+ {
34
+ "type": "object",
35
+ "required": ["regex"],
36
+ "additionalProperties": false,
37
+ "properties": {
38
+ "regex": { "type": "string" },
39
+ "flags": { "type": "string", "pattern": "^[gimsuy]*$", "default": "m" }
40
+ }
41
+ }
42
+ ]
43
+ },
44
+ "skipKinds": {
45
+ "type": "array",
46
+ "description": "Which sub-blocks to skip when classifying assistant turns. Tool calls and thinking blocks are usually classified separately via tui/tool-block and tui/thinking-block.",
47
+ "items": { "enum": ["tool", "thinking", "system"] },
48
+ "default": ["tool"]
49
+ },
50
+ "headerLines": {
51
+ "type": "integer",
52
+ "minimum": 0,
53
+ "default": 0,
54
+ "description": "Number of header lines after the startMarker to skip when extracting content (e.g. Codex's `Codex\\n<timestamp>` header)."
55
+ },
56
+ "trimEmptyLeading": {
57
+ "type": "boolean",
58
+ "default": true,
59
+ "description": "Whether to strip leading whitespace-only lines from the captured content."
60
+ },
61
+ "trimEmptyTrailing": {
62
+ "type": "boolean",
63
+ "default": true
64
+ },
65
+ "kind": {
66
+ "type": "string",
67
+ "default": "standard",
68
+ "description": "The CliChatMessage.kind value to stamp on captured blocks."
69
+ },
70
+ "minLength": {
71
+ "type": "integer",
72
+ "minimum": 1,
73
+ "default": 1,
74
+ "description": "Discard blocks whose captured content is shorter than this. Set higher if you have noisy short blocks (e.g. single-character paints)."
75
+ }
76
+ },
77
+ "examples": [
78
+ {
79
+ "$schema": "adhdev:tui/assistant-block@1",
80
+ "startMarker": "⏺",
81
+ "endMarker": "next-user-prompt",
82
+ "skipKinds": ["tool", "thinking"]
83
+ },
84
+ {
85
+ "$schema": "adhdev:tui/assistant-block@1",
86
+ "startMarker": { "regex": "^Codex\\s*$" },
87
+ "endMarker": "next-start-marker",
88
+ "headerLines": 1
89
+ }
90
+ ]
91
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "adhdev:tui/cue-ordering@1",
4
+ "title": "TUI cue ordering",
5
+ "description": "Declares the relative spatial order cues must occur in to be considered evidence of a state. Addresses the canonical 'idle-while-Working-still-visible' regression: spinner cue near bottom + settled prompt cue ABOVE spinner → still generating; spinner ABOVE settled prompt → stale.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["rules"],
9
+ "properties": {
10
+ "$schema": { "const": "adhdev:tui/cue-ordering@1" },
11
+ "rules": {
12
+ "type": "array",
13
+ "minItems": 1,
14
+ "items": {
15
+ "type": "object",
16
+ "additionalProperties": false,
17
+ "required": ["name", "cues", "verdict"],
18
+ "properties": {
19
+ "name": { "type": "string" },
20
+ "cues": {
21
+ "type": "array",
22
+ "minItems": 2,
23
+ "items": {
24
+ "type": "object",
25
+ "additionalProperties": false,
26
+ "required": ["primitive", "position"],
27
+ "properties": {
28
+ "primitive": {
29
+ "type": "string",
30
+ "description": "Reference to another primitive $id (e.g. adhdev:tui/spinner@1)."
31
+ },
32
+ "position": {
33
+ "enum": ["above", "below", "same-line", "any"],
34
+ "description": "Spatial relation to the NEXT cue in this array."
35
+ }
36
+ }
37
+ }
38
+ },
39
+ "verdict": {
40
+ "enum": ["generating", "idle", "approval", "ignore"],
41
+ "description": "What to return when this ordering matches."
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "adhdev:tui/dispatch-order@1",
4
+ "title": "TUI dispatch order",
5
+ "description": "Declares the order in which detectStatus consults its primitive groups. Default order — spinner → modal → settled-prompt — is what fixed the sprint-2026-06 'idle while Working visible' regression and must be expressible in declarative manifests.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["order"],
9
+ "properties": {
10
+ "$schema": { "const": "adhdev:tui/dispatch-order@1" },
11
+ "order": {
12
+ "type": "array",
13
+ "minItems": 1,
14
+ "uniqueItems": true,
15
+ "description": "Ordered list of primitive group identifiers. Daemon evaluates them in this order; first matching group decides the verdict.",
16
+ "items": {
17
+ "enum": [
18
+ "spinner",
19
+ "modal",
20
+ "settled-prompt",
21
+ "cue-ordering",
22
+ "error-detection",
23
+ "approval-stitching"
24
+ ]
25
+ }
26
+ },
27
+ "onNoMatch": {
28
+ "enum": ["idle", "unknown", "preserve-last"],
29
+ "default": "idle"
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "adhdev:tui/footer-chrome@1",
4
+ "title": "TUI footer chrome",
5
+ "description": "Declares the lines/regions that constitute the persistent CLI footer (input hint, model badge, token counter, etc.). Used to mask the footer out before running prompt-marker / spinner / settled-prompt matchers, so chrome text never gets misclassified as agent state.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["regions"],
9
+ "properties": {
10
+ "$schema": { "const": "adhdev:tui/footer-chrome@1" },
11
+ "regions": {
12
+ "type": "array",
13
+ "minItems": 1,
14
+ "description": "Ordered list of regions; the first match wins. Each region is identified by a sentinel + bounded line span.",
15
+ "items": {
16
+ "type": "object",
17
+ "additionalProperties": false,
18
+ "required": ["sentinel"],
19
+ "properties": {
20
+ "name": { "type": "string" },
21
+ "sentinel": {
22
+ "type": "object",
23
+ "additionalProperties": false,
24
+ "required": ["pattern"],
25
+ "properties": {
26
+ "pattern": { "type": "string", "description": "Regex source." },
27
+ "flags": { "type": "string" }
28
+ }
29
+ },
30
+ "spanLinesBefore": { "type": "integer", "minimum": 0, "default": 0 },
31
+ "spanLinesAfter": { "type": "integer", "minimum": 0, "default": 0 },
32
+ "anchor": {
33
+ "enum": ["bottom", "any"],
34
+ "default": "bottom",
35
+ "description": "When 'bottom', region must be within the last N lines of the screen."
36
+ },
37
+ "bottomLookbackLines": { "type": "integer", "minimum": 1, "default": 12 }
38
+ }
39
+ }
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "adhdev:tui/index-finder@1",
4
+ "title": "TUI index finder",
5
+ "description": "Locates the most-recent occurrence of a cue inside a rendered screen by line index — exposed as a helper primitive used by cue-ordering, settled-prompt, and visible-region. Authors don't reference this primitive directly in manifests; the runtime uses it internally when evaluating spatial relations.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["strategy"],
9
+ "properties": {
10
+ "$schema": { "const": "adhdev:tui/index-finder@1" },
11
+ "strategy": {
12
+ "enum": ["last-match", "first-match", "tail-window-only"],
13
+ "default": "last-match"
14
+ },
15
+ "tailWindowLines": {
16
+ "type": "integer",
17
+ "minimum": 1,
18
+ "default": 12,
19
+ "description": "Used when strategy=tail-window-only."
20
+ },
21
+ "ignoreInsideRegions": {
22
+ "type": "array",
23
+ "items": { "type": "string" },
24
+ "description": "Primitive $ids whose matched regions should be ignored (e.g. mask out footer-chrome lines before finding the cue)."
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,125 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "adhdev:tui/modal@1",
4
+ "title": "tui/modal — v1",
5
+ "description": "Declares how to extract an approval modal from the screen. Codex `Do you want to proceed?` + numbered list, Claude approval frame with explicit separators, Antigravity `agy wants to run:` are all expressible. The builder returns null when no modal is visible; daemon then keeps status non-waiting.",
6
+ "type": "object",
7
+ "required": ["$schema", "questionPattern", "buttonPattern"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "$schema": { "const": "adhdev:tui/modal@1" },
11
+ "questionPattern": {
12
+ "type": "string",
13
+ "description": "Regex source matching the question line that introduces the modal. Examples: `Do you want to proceed\\?`, `Do you trust the contents of this directory\\?`, `agy wants to run:`."
14
+ },
15
+ "questionFlags": {
16
+ "type": "string",
17
+ "pattern": "^[gimsuy]*$",
18
+ "default": "i"
19
+ },
20
+ "questionVariants": {
21
+ "type": "array",
22
+ "description": "Additional regex sources that count as the same approval kind. Each is tried in order; the first match wins.",
23
+ "items": {
24
+ "type": "object",
25
+ "required": ["regex"],
26
+ "additionalProperties": false,
27
+ "properties": {
28
+ "regex": { "type": "string" },
29
+ "flags": { "type": "string", "pattern": "^[gimsuy]*$", "default": "i" },
30
+ "label": { "type": "string", "description": "Optional category label, e.g. \"trust-folder\", \"tool-approval\"." }
31
+ }
32
+ },
33
+ "default": []
34
+ },
35
+ "buttonPattern": {
36
+ "type": "string",
37
+ "description": "Regex source matching a single button line. Capture group 1 is the button label. Example: `^[\\s❯>]*\\d+\\.\\s+(.+)$`."
38
+ },
39
+ "buttonLabelGroup": {
40
+ "type": "integer",
41
+ "minimum": 1,
42
+ "default": 1,
43
+ "description": "Capture group number to use as the button label when `buttonPattern` contains non-label groups such as selected-row markers."
44
+ },
45
+ "buttonFlags": {
46
+ "type": "string",
47
+ "pattern": "^[gimsuy]*$",
48
+ "default": "m"
49
+ },
50
+ "inlineButtonPattern": {
51
+ "type": "string",
52
+ "description": "Fallback regex for terminals that render all options on a single line (e.g. Antigravity's `[0] skip [1] yes [2] no [3] still using` survey). Used only when per-line extraction collects fewer than `minButtons`. The `g` flag is forced on by the builder; capture group 1 is the label."
53
+ },
54
+ "inlineButtonFlags": {
55
+ "type": "string",
56
+ "pattern": "^[gimsuy]*$",
57
+ "default": "gi"
58
+ },
59
+ "scope": {
60
+ "default": "between-last-two-separators",
61
+ "description": "Where on the screen the question + buttons must appear together.",
62
+ "oneOf": [
63
+ {
64
+ "const": "between-last-two-separators",
65
+ "title": "Between last two separators",
66
+ "description": "Most robust for Claude/Antigravity-style framed modals."
67
+ },
68
+ {
69
+ "const": "window-around-question",
70
+ "title": "Window around the question line",
71
+ "description": "Matches when the modal is announced by an explicit question line; collects buttons in the N lines below."
72
+ },
73
+ {
74
+ "const": "whole-screen",
75
+ "title": "Whole screen",
76
+ "description": "Use sparingly; tends to false-positive on numbered lists in assistant prose."
77
+ }
78
+ ]
79
+ },
80
+ "scopeWindowLines": {
81
+ "type": "integer",
82
+ "minimum": 2,
83
+ "maximum": 64,
84
+ "default": 16,
85
+ "description": "Lines of context around the question when scope is `window-around-question`."
86
+ },
87
+ "contextHeader": {
88
+ "type": "object",
89
+ "description": "Optional header line that should be included in the modal message text. Captures the tool name / command being approved.",
90
+ "additionalProperties": false,
91
+ "properties": {
92
+ "regex": { "type": "string" },
93
+ "flags": { "type": "string", "pattern": "^[gimsuy]*$", "default": "i" }
94
+ }
95
+ },
96
+ "continuationLines": {
97
+ "type": "boolean",
98
+ "default": false,
99
+ "description": "When true, indented lines immediately following a button line are concatenated to the previous label (handles wrapped long options like Antigravity's \"Yes, and always allow ...\")."
100
+ },
101
+ "minButtons": {
102
+ "type": "integer",
103
+ "minimum": 1,
104
+ "default": 2,
105
+ "description": "Minimum buttons required for the modal to be considered valid. Daemon's auto-approve gate also enforces buttons.length > 0."
106
+ }
107
+ },
108
+ "examples": [
109
+ {
110
+ "$schema": "adhdev:tui/modal@1",
111
+ "questionPattern": "Do you want to (?:proceed|allow|run)",
112
+ "buttonPattern": "^[\\s❯>]*\\d+\\.\\s+(.+)$",
113
+ "scope": "between-last-two-separators",
114
+ "minButtons": 2
115
+ },
116
+ {
117
+ "$schema": "adhdev:tui/modal@1",
118
+ "questionPattern": "agy wants to run:",
119
+ "buttonPattern": "^\\s*\\d+\\.\\s+(.+)$",
120
+ "scope": "window-around-question",
121
+ "continuationLines": true,
122
+ "contextHeader": { "regex": "agy wants to run:\\s*\\n?(.+)" }
123
+ }
124
+ ]
125
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "adhdev:tui/prompt-marker@1",
4
+ "title": "tui/prompt-marker — v1",
5
+ "description": "Declares how to recognize the line where the user types prompts. Used by builders to find the last user prompt, slice transcript after it, and detect when the agent is ready for input. Claude `❯`, Codex `>` and `>`, Antigravity `>`, Hermes `>` are all expressible with this primitive.",
6
+ "type": "object",
7
+ "required": ["$schema", "regex"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "$schema": {
11
+ "const": "adhdev:tui/prompt-marker@1"
12
+ },
13
+ "regex": {
14
+ "type": "string",
15
+ "description": "ECMAScript regex source matching the prompt marker. Common patterns: `^❯\\s`, `^>\\s`, `^[›❯>]\\s*$`."
16
+ },
17
+ "flags": {
18
+ "type": "string",
19
+ "pattern": "^[gimsuy]*$",
20
+ "default": "m"
21
+ },
22
+ "anchor": {
23
+ "description": "Where the regex must anchor. `line-start` (default) is the most common; the marker is at column 0. `line-end` is rare. `any` matches anywhere in a line.",
24
+ "default": "line-start",
25
+ "enum": ["line-start", "line-end", "any"]
26
+ },
27
+ "description": {
28
+ "type": "string"
29
+ }
30
+ },
31
+ "examples": [
32
+ {
33
+ "$schema": "adhdev:tui/prompt-marker@1",
34
+ "regex": "^❯\\s",
35
+ "anchor": "line-start",
36
+ "description": "Claude TUI prompt arrow"
37
+ },
38
+ {
39
+ "$schema": "adhdev:tui/prompt-marker@1",
40
+ "regex": "^>\\s*$",
41
+ "anchor": "line-start",
42
+ "description": "Codex empty prompt"
43
+ }
44
+ ]
45
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "adhdev:tui/session-id-extraction@1",
4
+ "title": "tui/session-id-extraction — v1",
5
+ "description": "Declares a regex that captures the provider-issued session UUID off the PTY chrome (e.g. codex footer `gpt-5.5 high · ~/Work/adhdev · 019e8e58-4bd2-7c80-8f5b-b49b6c0e25fa`). The builder runs the regex over the chosen scope's text and exposes the captured group (1) as `providerSessionId` on the parseSession result, so downstream native-history lookup can locate the matching transcript file (`~/.codex/sessions/*-019e8e58-...jsonl`, `~/.claude/projects/*/<uuid>.jsonl`, etc.). Without this primitive a manifest had to ship a scripts/v1 override or fall back to v0 scripts/1.0 just to surface a session id — that's the gap this closes.",
6
+ "type": "object",
7
+ "required": ["$schema", "regex"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "$schema": {
11
+ "const": "adhdev:tui/session-id-extraction@1"
12
+ },
13
+ "regex": {
14
+ "type": "string",
15
+ "description": "ECMAScript regex source. Capture group 1 must hold the session identifier."
16
+ },
17
+ "flags": {
18
+ "type": "string",
19
+ "pattern": "^[gimsuy]*$",
20
+ "default": "i"
21
+ },
22
+ "scope": {
23
+ "default": "tail",
24
+ "enum": ["screen", "tail", "buffer"],
25
+ "description": "Which input view to search. `tail` (default) covers the recent buffer where chrome footers usually live; `screen` is just the visible frame; `buffer` is the full scrollback."
26
+ },
27
+ "label": {
28
+ "type": "string",
29
+ "description": "Optional tag included in debug traces — handy when a manifest declares more than one extraction candidate during authoring."
30
+ }
31
+ },
32
+ "examples": [
33
+ {
34
+ "$schema": "adhdev:tui/session-id-extraction@1",
35
+ "regex": "(?:gpt-|o\\d|codex-)[^·]+·[^·]+·\\s*([0-9a-f-]{36})",
36
+ "scope": "tail",
37
+ "label": "codex-footer"
38
+ },
39
+ {
40
+ "$schema": "adhdev:tui/session-id-extraction@1",
41
+ "regex": "session id:\\s*([0-9a-f-]{36})",
42
+ "flags": "i",
43
+ "scope": "buffer"
44
+ }
45
+ ]
46
+ }