@adhdev/daemon-core 0.9.82-rc.18 → 0.9.82-rc.181

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 (225) hide show
  1. package/dist/boot/process-hardening.d.ts +50 -0
  2. package/dist/chat/source-machine.d.ts +166 -0
  3. package/dist/chat/source-resolver.d.ts +104 -0
  4. package/dist/chat/subscription-updates.d.ts +1 -0
  5. package/dist/cli-adapter-types.d.ts +22 -2
  6. package/dist/cli-adapters/cli-script-runner.d.ts +117 -0
  7. package/dist/cli-adapters/cli-state-engine.d.ts +178 -0
  8. package/dist/cli-adapters/provider-cli-adapter.d.ts +106 -63
  9. package/dist/cli-adapters/provider-cli-parse.d.ts +4 -0
  10. package/dist/cli-adapters/provider-cli-shared.d.ts +29 -0
  11. package/dist/cli-adapters/raw-terminal-io.d.ts +37 -0
  12. package/dist/commands/handler.d.ts +110 -0
  13. package/dist/commands/mesh-coordinator.d.ts +72 -1
  14. package/dist/commands/router.d.ts +22 -0
  15. package/dist/config/chat-history.d.ts +8 -0
  16. package/dist/config/config.d.ts +5 -0
  17. package/dist/config/mesh-config.d.ts +72 -1
  18. package/dist/git/git-commands.d.ts +5 -1
  19. package/dist/index.d.ts +35 -8
  20. package/dist/index.js +20754 -5387
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.mjs +20567 -5270
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/installer.d.ts +1 -4
  25. package/dist/ipc/local-ipc-server.d.ts +91 -0
  26. package/dist/launch.d.ts +1 -1
  27. package/dist/logging/async-batch-writer.d.ts +10 -0
  28. package/dist/mesh/beads-db.d.ts +72 -0
  29. package/dist/mesh/contracts.d.ts +164 -0
  30. package/dist/mesh/coordinator-prompt.d.ts +30 -0
  31. package/dist/mesh/coordinator-registry.d.ts +59 -0
  32. package/dist/mesh/mesh-active-work.d.ts +90 -0
  33. package/dist/mesh/mesh-events.d.ts +97 -5
  34. package/dist/mesh/mesh-fast-forward.d.ts +41 -0
  35. package/dist/mesh/mesh-host-ownership.d.ts +9 -0
  36. package/dist/mesh/mesh-ledger.d.ts +58 -1
  37. package/dist/mesh/mesh-refine-status.d.ts +26 -0
  38. package/dist/mesh/mesh-work-queue.d.ts +54 -6
  39. package/dist/mesh/preview-freshness.d.ts +18 -0
  40. package/dist/mesh/refine-config.d.ts +193 -0
  41. package/dist/mesh/worktree-bootstrap-config.d.ts +113 -0
  42. package/dist/providers/approval-utils.d.ts +13 -0
  43. package/dist/providers/cli-provider-instance.d.ts +35 -3
  44. package/dist/providers/contracts.d.ts +98 -5
  45. package/dist/providers/external-sources.d.ts +71 -0
  46. package/dist/providers/native-history/antigravity-cli-transcript.d.ts +100 -0
  47. package/dist/providers/native-history/claude-cli-transcript.d.ts +70 -0
  48. package/dist/providers/native-history/codex-cli-transcript.d.ts +73 -0
  49. package/dist/providers/native-history/dispatcher.d.ts +25 -0
  50. package/dist/providers/native-history/hermes-cli-transcript.d.ts +30 -0
  51. package/dist/providers/native-history/index.d.ts +13 -0
  52. package/dist/providers/provider-instance-manager.d.ts +12 -0
  53. package/dist/providers/provider-instance.d.ts +12 -0
  54. package/dist/providers/provider-loader.d.ts +26 -4
  55. package/dist/providers/provider-trust.d.ts +31 -0
  56. package/dist/providers/read-chat-contract.d.ts +29 -0
  57. package/dist/providers/sdk/v1/builders/acp/detect-status.d.ts +68 -0
  58. package/dist/providers/sdk/v1/builders/cli/detect-status.d.ts +85 -0
  59. package/dist/providers/sdk/v1/builders/cli/parse-approval-squash.d.ts +59 -0
  60. package/dist/providers/sdk/v1/builders/cli/parse-approval.d.ts +65 -0
  61. package/dist/providers/sdk/v1/builders/cli/parse-session.d.ts +91 -0
  62. package/dist/providers/sdk/v1/builders/cli/visible-region.d.ts +42 -0
  63. package/dist/providers/sdk/v1/fixture-tooling/format.d.ts +126 -0
  64. package/dist/providers/sdk/v1/fixture-tooling/index.d.ts +8 -0
  65. package/dist/providers/sdk/v1/fixture-tooling/replay.d.ts +38 -0
  66. package/dist/providers/sdk/v1/index.d.ts +30 -0
  67. package/dist/providers/sdk/v1/sandbox/README-design.d.ts +193 -0
  68. package/dist/providers/sdk/v1/sandbox/require-whitelist.d.ts +74 -0
  69. package/dist/providers/sdk/v1/sandbox/script-runner.d.ts +98 -0
  70. package/dist/providers/sdk/v1/types/cli/index.d.ts +277 -0
  71. package/dist/providers/sdk/v1/types/common/index.d.ts +169 -0
  72. package/dist/providers/sdk/v1/validators/index.d.ts +5 -0
  73. package/dist/providers/sdk/v1/validators/manifest.d.ts +40 -0
  74. package/dist/providers/sdk/v1/validators/taint.d.ts +52 -0
  75. package/dist/providers/spec/adapter.d.ts +56 -0
  76. package/dist/providers/spec/cli-adapter.d.ts +97 -0
  77. package/dist/providers/spec/driver.d.ts +159 -0
  78. package/dist/providers/spec/evaluator.d.ts +47 -0
  79. package/dist/providers/spec/loader.d.ts +14 -0
  80. package/dist/providers/spec/native-history-executor.d.ts +39 -0
  81. package/dist/providers/spec/route.d.ts +4 -0
  82. package/dist/providers/spec/schema.gen.d.ts +511 -0
  83. package/dist/providers/spec/types.d.ts +212 -0
  84. package/dist/providers/transcript-v2.d.ts +176 -0
  85. package/dist/providers/types/interactive-prompt.d.ts +48 -0
  86. package/dist/repo-mesh-types.d.ts +102 -1
  87. package/dist/sessions/registry.d.ts +3 -0
  88. package/dist/shared-types.d.ts +42 -1
  89. package/dist/status/reporter.d.ts +2 -0
  90. package/dist/status/snapshot.d.ts +1 -0
  91. package/dist/types.d.ts +5 -0
  92. package/package.json +7 -2
  93. package/src/agent-stream/poller.ts +2 -3
  94. package/src/boot/daemon-lifecycle.ts +17 -10
  95. package/src/boot/process-hardening.ts +89 -0
  96. package/src/chat/source-machine.ts +534 -0
  97. package/src/chat/source-resolver.ts +0 -0
  98. package/src/chat/subscription-updates.ts +14 -1
  99. package/src/cli-adapter-types.d.ts +1 -0
  100. package/src/cli-adapter-types.ts +21 -2
  101. package/src/cli-adapters/cli-script-runner.ts +421 -0
  102. package/src/cli-adapters/cli-state-engine.ts +1086 -0
  103. package/src/cli-adapters/provider-cli-adapter.d.ts +1 -1
  104. package/src/cli-adapters/provider-cli-adapter.ts +670 -1137
  105. package/src/cli-adapters/provider-cli-parse.d.ts +1 -0
  106. package/src/cli-adapters/provider-cli-parse.ts +13 -0
  107. package/src/cli-adapters/provider-cli-runtime.ts +3 -1
  108. package/src/cli-adapters/provider-cli-shared.d.ts +2 -0
  109. package/src/cli-adapters/provider-cli-shared.ts +59 -11
  110. package/src/cli-adapters/raw-terminal-io.ts +252 -0
  111. package/src/cli-adapters/terminal-backends/ghostty-vt-backend.ts +17 -1
  112. package/src/cli-adapters/terminal-backends/xterm-backend.ts +8 -1
  113. package/src/commands/chat-commands.ts +1597 -60
  114. package/src/commands/cli-manager.ts +230 -3
  115. package/src/commands/handler.ts +809 -2
  116. package/src/commands/mesh-coordinator.ts +231 -127
  117. package/src/commands/router.ts +3495 -502
  118. package/src/config/chat-history.ts +91 -24
  119. package/src/config/config.ts +12 -0
  120. package/src/config/mesh-config.ts +280 -2
  121. package/src/config/recent-activity.ts +8 -2
  122. package/src/daemon/dev-cli-debug.ts +10 -1
  123. package/src/detection/ide-detector.ts +26 -16
  124. package/src/git/git-commands.ts +17 -5
  125. package/src/git/git-worktree.ts +8 -1
  126. package/src/index.ts +113 -7
  127. package/src/installer.d.ts +1 -1
  128. package/src/installer.ts +8 -6
  129. package/src/ipc/local-ipc-server.ts +278 -0
  130. package/src/launch.d.ts +1 -1
  131. package/src/launch.ts +37 -28
  132. package/src/logging/async-batch-writer.ts +55 -0
  133. package/src/logging/logger.ts +2 -1
  134. package/src/mesh/beads-db.ts +486 -0
  135. package/src/mesh/contracts.ts +329 -0
  136. package/src/mesh/coordinator-prompt.ts +204 -30
  137. package/src/mesh/coordinator-registry.ts +121 -0
  138. package/src/mesh/mesh-active-work.ts +437 -0
  139. package/src/mesh/mesh-events.ts +963 -67
  140. package/src/mesh/mesh-fast-forward.ts +438 -0
  141. package/src/mesh/mesh-host-ownership.ts +73 -0
  142. package/src/mesh/mesh-ledger.ts +457 -104
  143. package/src/mesh/mesh-refine-status.ts +144 -0
  144. package/src/mesh/mesh-work-queue.ts +263 -159
  145. package/src/mesh/preview-freshness.ts +118 -0
  146. package/src/mesh/refine-config.ts +366 -0
  147. package/src/mesh/worktree-bootstrap-config.ts +247 -0
  148. package/src/providers/approval-utils.d.ts +4 -0
  149. package/src/providers/approval-utils.ts +47 -5
  150. package/src/providers/chat-message-normalization.ts +4 -11
  151. package/src/providers/cli-provider-instance.ts +651 -57
  152. package/src/providers/contracts.ts +105 -5
  153. package/src/providers/external-sources.ts +218 -0
  154. package/src/providers/ide-provider-instance.ts +19 -5
  155. package/src/providers/native-history/antigravity-cli-transcript.ts +643 -0
  156. package/src/providers/native-history/claude-cli-transcript.ts +396 -0
  157. package/src/providers/native-history/codex-cli-transcript.ts +419 -0
  158. package/src/providers/native-history/dispatcher.ts +231 -0
  159. package/src/providers/native-history/hermes-cli-transcript.ts +230 -0
  160. package/src/providers/native-history/index.ts +30 -0
  161. package/src/providers/provider-instance-manager.ts +30 -0
  162. package/src/providers/provider-instance.ts +9 -0
  163. package/src/providers/provider-loader.ts +585 -50
  164. package/src/providers/provider-schema.ts +31 -13
  165. package/src/providers/provider-trust.ts +114 -0
  166. package/src/providers/read-chat-contract.ts +76 -16
  167. package/src/providers/sdk/README.md +49 -0
  168. package/src/providers/sdk/v1/builders/acp/detect-status.ts +144 -0
  169. package/src/providers/sdk/v1/builders/cli/detect-status.ts +262 -0
  170. package/src/providers/sdk/v1/builders/cli/parse-approval-squash.ts +158 -0
  171. package/src/providers/sdk/v1/builders/cli/parse-approval.ts +250 -0
  172. package/src/providers/sdk/v1/builders/cli/parse-session.ts +276 -0
  173. package/src/providers/sdk/v1/builders/cli/visible-region.ts +143 -0
  174. package/src/providers/sdk/v1/fixture-tooling/format.ts +130 -0
  175. package/src/providers/sdk/v1/fixture-tooling/index.ts +22 -0
  176. package/src/providers/sdk/v1/fixture-tooling/replay.ts +352 -0
  177. package/src/providers/sdk/v1/index.ts +152 -0
  178. package/src/providers/sdk/v1/sandbox/README-design.ts +195 -0
  179. package/src/providers/sdk/v1/sandbox/require-whitelist.ts +472 -0
  180. package/src/providers/sdk/v1/sandbox/script-runner.ts +150 -0
  181. package/src/providers/sdk/v1/schemas/cli/provider.schema.json +458 -0
  182. package/src/providers/sdk/v1/schemas/primitives/acp-session-protocol-v1.json +131 -0
  183. package/src/providers/sdk/v1/schemas/primitives/native-history-codex-rollout-v1.json +66 -0
  184. package/src/providers/sdk/v1/schemas/primitives/tui-approval-squash-v1.json +91 -0
  185. package/src/providers/sdk/v1/schemas/primitives/tui-assistant-block-v1.json +91 -0
  186. package/src/providers/sdk/v1/schemas/primitives/tui-cue-ordering-v1.json +47 -0
  187. package/src/providers/sdk/v1/schemas/primitives/tui-dispatch-order-v1.json +32 -0
  188. package/src/providers/sdk/v1/schemas/primitives/tui-footer-chrome-v1.json +42 -0
  189. package/src/providers/sdk/v1/schemas/primitives/tui-index-finder-v1.json +27 -0
  190. package/src/providers/sdk/v1/schemas/primitives/tui-modal-v1.json +125 -0
  191. package/src/providers/sdk/v1/schemas/primitives/tui-prompt-marker-v1.json +45 -0
  192. package/src/providers/sdk/v1/schemas/primitives/tui-session-id-extraction-v1.json +46 -0
  193. package/src/providers/sdk/v1/schemas/primitives/tui-settled-prompt-v1.json +71 -0
  194. package/src/providers/sdk/v1/schemas/primitives/tui-spinner-v1.json +83 -0
  195. package/src/providers/sdk/v1/schemas/primitives/tui-transcript-pty-v1.json +83 -0
  196. package/src/providers/sdk/v1/schemas/primitives/tui-visible-region-v1.json +57 -0
  197. package/src/providers/sdk/v1/schemas/primitives/tui-welcome-screen-v1.json +35 -0
  198. package/src/providers/sdk/v1/types/cli/index.ts +365 -0
  199. package/src/providers/sdk/v1/types/common/index.ts +210 -0
  200. package/src/providers/sdk/v1/validators/index.ts +19 -0
  201. package/src/providers/sdk/v1/validators/manifest.ts +110 -0
  202. package/src/providers/sdk/v1/validators/taint.ts +309 -0
  203. package/src/providers/spec/adapter.ts +168 -0
  204. package/src/providers/spec/cli-adapter.ts +507 -0
  205. package/src/providers/spec/driver.ts +540 -0
  206. package/src/providers/spec/evaluator.ts +298 -0
  207. package/src/providers/spec/loader.ts +130 -0
  208. package/src/providers/spec/native-history-executor.ts +706 -0
  209. package/src/providers/spec/route.ts +51 -0
  210. package/src/providers/spec/schema.gen.ts +511 -0
  211. package/src/providers/spec/schema.json +211 -0
  212. package/src/providers/spec/types.ts +231 -0
  213. package/src/providers/transcript-v2.ts +567 -0
  214. package/src/providers/types/interactive-prompt.ts +396 -0
  215. package/src/providers/version-archive.ts +38 -20
  216. package/src/repo-mesh-types.ts +112 -1
  217. package/src/sessions/registry.ts +3 -0
  218. package/src/shared-types.ts +45 -1
  219. package/src/status/builders.ts +24 -6
  220. package/src/status/reporter.ts +15 -0
  221. package/src/status/snapshot.ts +84 -25
  222. package/src/system/host-memory.ts +29 -12
  223. package/src/types.ts +5 -0
  224. package/dist/mesh/mesh-sync.d.ts +0 -53
  225. package/src/mesh/mesh-sync.ts +0 -111
@@ -24,6 +24,13 @@ function normalizeApprovalLabel(value: string): string {
24
24
  .trim();
25
25
  }
26
26
 
27
+ function isNegativeApprovalLabel(value: string): boolean {
28
+ const label = normalizeApprovalLabel(value);
29
+ return /^(no|deny|reject|cancel|skip|exit|stop)\b/.test(label)
30
+ || /\bwithout\b/.test(label)
31
+ || /\bdo not\b/.test(label);
32
+ }
33
+
27
34
  export function getApprovalPositiveHints(provider?: Pick<ProviderModule, 'approvalPositiveHints'> | null): string[] {
28
35
  const customHints = Array.isArray(provider?.approvalPositiveHints)
29
36
  ? provider.approvalPositiveHints
@@ -39,24 +46,32 @@ export function pickApprovalButton(
39
46
  ): { index: number; label: string } {
40
47
  const labels = (buttons || []).map((button) => String(button || '').trim()).filter(Boolean);
41
48
  if (labels.length === 0) {
42
- return { index: 0, label: 'Approve' };
49
+ return { index: -1, label: '' };
43
50
  }
44
51
 
45
52
  const normalizedButtons = labels.map((label) => normalizeApprovalLabel(label));
46
53
  const hints = getApprovalPositiveHints(provider);
47
54
 
48
55
  for (const hint of hints) {
49
- const exactIndex = normalizedButtons.findIndex((label) => label === hint);
56
+ const exactIndex = normalizedButtons.findIndex((label, index) => label === hint && !isNegativeApprovalLabel(labels[index]));
50
57
  if (exactIndex >= 0) return { index: exactIndex, label: labels[exactIndex] };
51
58
 
52
- const prefixIndex = normalizedButtons.findIndex((label) => label.startsWith(hint));
59
+ const prefixIndex = normalizedButtons.findIndex((label, index) => label.startsWith(hint) && !isNegativeApprovalLabel(labels[index]));
53
60
  if (prefixIndex >= 0) return { index: prefixIndex, label: labels[prefixIndex] };
54
61
 
55
- const includeIndex = normalizedButtons.findIndex((label) => label.includes(hint));
62
+ const includeIndex = normalizedButtons.findIndex((label, index) => label.includes(hint) && !isNegativeApprovalLabel(labels[index]));
56
63
  if (includeIndex >= 0) return { index: includeIndex, label: labels[includeIndex] };
57
64
  }
58
65
 
59
- return { index: 0, label: labels[0] };
66
+ return { index: -1, label: '' };
67
+ }
68
+
69
+ export function pickAutoApprovalButton(
70
+ buttons: string[] | null | undefined,
71
+ ): { index: number; label: string } {
72
+ const labels = (buttons || []).map((button) => String(button || '').trim());
73
+ const index = labels.findIndex(Boolean);
74
+ return index >= 0 ? { index, label: labels[index] } : { index: -1, label: '' };
60
75
  }
61
76
 
62
77
  export function formatAutoApprovalMessage(modalMessage?: string, buttonLabel?: string): string {
@@ -65,3 +80,30 @@ export function formatAutoApprovalMessage(modalMessage?: string, buttonLabel?: s
65
80
  if (cleanMessage) lines.push(cleanMessage);
66
81
  return lines.join('\n');
67
82
  }
83
+
84
+ /**
85
+ * Returns true when the given text (e.g. last assistant message content, or
86
+ * the tail of the PTY screen) looks like an active approval/input prompt
87
+ * rather than a completed assistant response. Used to prevent false
88
+ * idle/completion events when Claude Code surfaces a "Do you want to proceed?"
89
+ * style prompt that the PTY parser captures as an assistant turn while the
90
+ * session is still awaiting user input.
91
+ */
92
+ export function looksLikeActiveApprovalPromptText(content: string): boolean {
93
+ const text = content.trim();
94
+ if (!text || text.length > 2000) return false;
95
+ const hasApprovalQuestion = /do you want to (?:proceed|allow|run|make this edit|create)/i.test(text)
96
+ || /this command requires approval/i.test(text)
97
+ || /quick safety check/i.test(text)
98
+ || /is this a project you trust/i.test(text);
99
+ const hasNumberedChoices = /^\s*[❯›>]?\s*1[.)]\s+(?:yes|allow|proceed|run)/im.test(text)
100
+ || /^\s*1[.)]\s+yes\b/im.test(text);
101
+ if (hasApprovalQuestion && hasNumberedChoices) return true;
102
+ const lastLines = text.split(/\r?\n/).slice(-12).join('\n');
103
+ const hasDontAskAgain = /yes.*don'?t ask again/i.test(lastLines)
104
+ || /yes.*always allow/i.test(lastLines);
105
+ const hasNoOption = /^\s*[❯›>]?\s*\d+[.)]\s+no\b/im.test(lastLines);
106
+ if (hasDontAskAgain && hasNoOption) return true;
107
+ if (/what do you want to do\?/i.test(text) && /^\s*\d+[.)]\s+\S/m.test(text)) return true;
108
+ return false;
109
+ }
@@ -20,17 +20,10 @@ export function extractFinalSummaryFromMessages(
20
20
  }
21
21
  }
22
22
 
23
- // Fallback: last user-facing message of any role
24
- for (let i = messages.length - 1; i >= 0; i--) {
25
- const msg = messages[i];
26
- if (!msg) continue;
27
- const classification = classifyChatMessageVisibility(msg);
28
- if (classification.isUserFacing) {
29
- const text = flattenContent(msg.content).trim();
30
- if (text) return text.slice(0, maxChars);
31
- }
32
- }
33
-
23
+ // Completion summaries must describe the assistant/model result. If no
24
+ // user-facing assistant/model message exists yet (for example, only the
25
+ // dispatched user prompt is visible), return empty instead of echoing the
26
+ // prompt as a misleading finalSummary.
34
27
  return '';
35
28
  }
36
29