@adhdev/daemon-core 0.9.82-rc.35 → 0.9.82-rc.350
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.
- package/dist/boot/daemon-lifecycle.d.ts +8 -0
- package/dist/boot/process-hardening.d.ts +50 -0
- package/dist/build-info.d.ts +37 -0
- package/dist/chat/source-machine.d.ts +166 -0
- package/dist/chat/source-resolver.d.ts +104 -0
- package/dist/chat/subscription-updates.d.ts +1 -0
- package/dist/cli-adapter-types.d.ts +46 -2
- package/dist/cli-adapters/cli-script-runner.d.ts +117 -0
- package/dist/cli-adapters/cli-state-engine.d.ts +198 -0
- package/dist/cli-adapters/provider-cli-adapter.d.ts +116 -64
- package/dist/cli-adapters/provider-cli-parse.d.ts +4 -0
- package/dist/cli-adapters/provider-cli-runtime.d.ts +34 -0
- package/dist/cli-adapters/provider-cli-shared.d.ts +53 -0
- package/dist/cli-adapters/raw-terminal-io.d.ts +37 -0
- package/dist/cli-adapters/resolve-executable.d.ts +14 -0
- package/dist/cli-adapters/terminal-backends/ghostty-vt-backend.d.ts +6 -3
- package/dist/cli-adapters/terminal-backends/types.d.ts +10 -2
- package/dist/cli-adapters/terminal-screen.d.ts +4 -11
- package/dist/commands/cli-manager.d.ts +2 -1
- package/dist/commands/handler.d.ts +110 -0
- package/dist/commands/mesh-coordinator.d.ts +85 -1
- package/dist/commands/router.d.ts +324 -1
- package/dist/commands/upgrade-helper.d.ts +12 -0
- package/dist/config/chat-history.d.ts +9 -0
- package/dist/config/config.d.ts +5 -0
- package/dist/config/mesh-config.d.ts +77 -1
- package/dist/detection/ide-detector.d.ts +13 -0
- package/dist/detection/win32-ide-version.d.ts +37 -0
- package/dist/git/change-impact-config.d.ts +159 -0
- package/dist/git/git-commands.d.ts +11 -1
- package/dist/git/git-diff.d.ts +6 -0
- package/dist/git/git-executor.d.ts +11 -0
- package/dist/git/git-status.d.ts +23 -0
- package/dist/git/git-types.d.ts +2 -50
- package/dist/git/index.d.ts +2 -0
- package/dist/index.d.ts +52 -13
- package/dist/index.js +39739 -14302
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +41369 -16055
- package/dist/index.mjs.map +1 -1
- package/dist/installer.d.ts +1 -4
- package/dist/ipc/local-ipc-server.d.ts +91 -0
- package/dist/launch.d.ts +1 -1
- package/dist/logging/async-batch-writer.d.ts +10 -0
- package/dist/logging/log-redactor.d.ts +24 -0
- package/dist/logging/log-tail-reader.d.ts +46 -0
- package/dist/mesh/contracts.d.ts +164 -0
- package/dist/mesh/coordinator-prompt.d.ts +36 -0
- package/dist/mesh/coordinator-registry.d.ts +59 -0
- package/dist/mesh/mesh-active-work.d.ts +174 -0
- package/dist/mesh/mesh-delivery-policy.d.ts +131 -0
- package/dist/mesh/mesh-events-coordinator.d.ts +169 -0
- package/dist/mesh/mesh-events-pending.d.ts +55 -0
- package/dist/mesh/mesh-events-stale.d.ts +40 -0
- package/dist/mesh/mesh-events-utils.d.ts +62 -0
- package/dist/mesh/mesh-events.d.ts +6 -49
- package/dist/mesh/mesh-fast-forward.d.ts +81 -0
- package/dist/mesh/mesh-host-ownership.d.ts +9 -0
- package/dist/mesh/mesh-init.d.ts +86 -0
- package/dist/mesh/mesh-ledger-reconciliation.d.ts +23 -3
- package/dist/mesh/mesh-ledger.d.ts +77 -1
- package/dist/mesh/mesh-missions.d.ts +164 -0
- package/dist/mesh/mesh-reconcile-loop.d.ts +7 -0
- package/dist/mesh/mesh-refine-batch.d.ts +68 -0
- package/dist/mesh/mesh-refine-status.d.ts +62 -0
- package/dist/mesh/mesh-review-inbox.d.ts +90 -0
- package/dist/mesh/mesh-routing.d.ts +70 -0
- package/dist/mesh/mesh-runtime-store.d.ts +419 -0
- package/dist/mesh/mesh-task-stats.d.ts +49 -0
- package/dist/mesh/mesh-unresolved-forward-outbox.d.ts +30 -0
- package/dist/mesh/mesh-work-queue.d.ts +218 -5
- package/dist/mesh/preview-freshness.d.ts +18 -0
- package/dist/mesh/refine-config.d.ts +216 -0
- package/dist/mesh/worktree-bootstrap-config.d.ts +135 -0
- package/dist/providers/acp-provider-instance.d.ts +2 -0
- package/dist/providers/approval-utils.d.ts +13 -0
- package/dist/providers/chat-message-normalization.d.ts +12 -0
- package/dist/providers/cli-provider-instance.d.ts +77 -3
- package/dist/providers/contracts.d.ts +139 -6
- package/dist/providers/external-sources.d.ts +71 -0
- package/dist/providers/native-history/antigravity-cli-transcript.d.ts +100 -0
- package/dist/providers/native-history/claude-cli-transcript.d.ts +70 -0
- package/dist/providers/native-history/codex-cli-transcript.d.ts +73 -0
- package/dist/providers/native-history/dispatcher.d.ts +27 -0
- package/dist/providers/native-history/hermes-cli-transcript.d.ts +30 -0
- package/dist/providers/native-history/index.d.ts +13 -0
- package/dist/providers/provider-instance-manager.d.ts +14 -0
- package/dist/providers/provider-instance.d.ts +15 -1
- package/dist/providers/provider-loader.d.ts +26 -4
- package/dist/providers/provider-trust.d.ts +31 -0
- package/dist/providers/read-chat-contract.d.ts +29 -0
- package/dist/providers/sdk/v1/builders/acp/detect-status.d.ts +68 -0
- package/dist/providers/sdk/v1/builders/cli/detect-status.d.ts +85 -0
- package/dist/providers/sdk/v1/builders/cli/parse-approval-squash.d.ts +59 -0
- package/dist/providers/sdk/v1/builders/cli/parse-approval.d.ts +65 -0
- package/dist/providers/sdk/v1/builders/cli/parse-session.d.ts +91 -0
- package/dist/providers/sdk/v1/builders/cli/visible-region.d.ts +42 -0
- package/dist/providers/sdk/v1/fixture-tooling/format.d.ts +126 -0
- package/dist/providers/sdk/v1/fixture-tooling/index.d.ts +8 -0
- package/dist/providers/sdk/v1/fixture-tooling/replay.d.ts +38 -0
- package/dist/providers/sdk/v1/index.d.ts +30 -0
- package/dist/providers/sdk/v1/sandbox/README-design.d.ts +193 -0
- package/dist/providers/sdk/v1/sandbox/require-whitelist.d.ts +74 -0
- package/dist/providers/sdk/v1/sandbox/script-runner.d.ts +98 -0
- package/dist/providers/sdk/v1/types/cli/index.d.ts +277 -0
- package/dist/providers/sdk/v1/types/common/index.d.ts +203 -0
- package/dist/providers/sdk/v1/validators/index.d.ts +5 -0
- package/dist/providers/sdk/v1/validators/manifest.d.ts +40 -0
- package/dist/providers/sdk/v1/validators/taint.d.ts +52 -0
- package/dist/providers/spec/adapter.d.ts +69 -0
- package/dist/providers/spec/cli-adapter.d.ts +217 -0
- package/dist/providers/spec/evaluator.d.ts +23 -0
- package/dist/providers/spec/fsm-driver.d.ts +322 -0
- package/dist/providers/spec/fsm-evaluator.d.ts +72 -0
- package/dist/providers/spec/fsm-loader.d.ts +14 -0
- package/dist/providers/spec/fsm-types.d.ts +144 -0
- package/dist/providers/spec/native-history-executor.d.ts +41 -0
- package/dist/providers/spec/pre-launch-trust.d.ts +16 -0
- package/dist/providers/spec/route.d.ts +4 -0
- package/dist/providers/spec/types.d.ts +180 -0
- package/dist/providers/status-monitor.d.ts +7 -7
- package/dist/providers/transcript-v2.d.ts +176 -0
- package/dist/providers/types/interactive-prompt.d.ts +84 -0
- package/dist/providers/working-dir.d.ts +17 -0
- package/dist/repo-mesh-types.d.ts +295 -13
- package/dist/sessions/registry.d.ts +6 -0
- package/dist/shared-types-extra.d.ts +2 -4
- package/dist/shared-types.d.ts +59 -2
- package/dist/status/normalize.d.ts +1 -1
- package/dist/status/normalize.js +1 -0
- package/dist/status/normalize.js.map +1 -1
- package/dist/status/normalize.mjs +1 -0
- package/dist/status/normalize.mjs.map +1 -1
- package/dist/status/reporter.d.ts +2 -0
- package/dist/status/snapshot.d.ts +26 -0
- package/dist/system/load-better-sqlite3.d.ts +21 -0
- package/dist/types.d.ts +5 -0
- package/package.json +7 -3
- package/src/agent-stream/poller.ts +2 -3
- package/src/agent-stream/provider-adapter.ts +1 -1
- package/src/boot/daemon-lifecycle.ts +55 -12
- package/src/boot/process-hardening.ts +89 -0
- package/src/build-info.ts +73 -0
- package/src/chat/source-machine.ts +534 -0
- package/src/chat/source-resolver.ts +0 -0
- package/src/chat/subscription-updates.ts +20 -1
- package/src/cli-adapter-types.d.ts +1 -0
- package/src/cli-adapter-types.ts +47 -2
- package/src/cli-adapters/cli-script-runner.ts +421 -0
- package/src/cli-adapters/cli-state-engine.ts +1215 -0
- package/src/cli-adapters/provider-cli-adapter.d.ts +1 -1
- package/src/cli-adapters/provider-cli-adapter.ts +774 -1141
- package/src/cli-adapters/provider-cli-parse.d.ts +1 -0
- package/src/cli-adapters/provider-cli-parse.ts +13 -0
- package/src/cli-adapters/provider-cli-runtime.ts +56 -7
- package/src/cli-adapters/provider-cli-shared.d.ts +4 -0
- package/src/cli-adapters/provider-cli-shared.ts +100 -11
- package/src/cli-adapters/pty-transport.ts +2 -1
- package/src/cli-adapters/raw-terminal-io.ts +252 -0
- package/src/cli-adapters/resolve-executable.ts +90 -0
- package/src/cli-adapters/session-host-transport.ts +2 -1
- package/src/cli-adapters/terminal-backends/ghostty-vt-backend.ts +53 -29
- package/src/cli-adapters/terminal-backends/types.ts +10 -3
- package/src/cli-adapters/terminal-screen.ts +16 -81
- package/src/commands/chat-commands.ts +1823 -62
- package/src/commands/cli-manager.ts +304 -14
- package/src/commands/handler.ts +809 -2
- package/src/commands/mesh-coordinator.ts +332 -122
- package/src/commands/router.ts +7505 -1311
- package/src/commands/stream-commands.ts +8 -0
- package/src/commands/upgrade-helper.ts +81 -30
- package/src/config/chat-history.ts +483 -24
- package/src/config/config.ts +12 -0
- package/src/config/mesh-config.ts +388 -6
- package/src/config/recent-activity.ts +8 -2
- package/src/daemon/dev-auto-implement.ts +3 -2
- package/src/daemon/dev-cli-debug.ts +10 -1
- package/src/detection/cli-detector.ts +28 -9
- package/src/detection/ide-detector.ts +55 -16
- package/src/detection/win32-ide-version.ts +106 -0
- package/src/git/change-impact-config.ts +354 -0
- package/src/git/git-commands.ts +55 -14
- package/src/git/git-diff.ts +53 -0
- package/src/git/git-executor.ts +12 -0
- package/src/git/git-status.ts +574 -43
- package/src/git/git-types.ts +14 -62
- package/src/git/git-worktree.ts +8 -1
- package/src/git/index.ts +16 -0
- package/src/index.ts +146 -12
- package/src/installer.d.ts +1 -1
- package/src/installer.ts +8 -6
- package/src/ipc/local-ipc-server.ts +278 -0
- package/src/launch.d.ts +1 -1
- package/src/launch.ts +37 -28
- package/src/logging/async-batch-writer.ts +55 -0
- package/src/logging/log-redactor.ts +100 -0
- package/src/logging/log-tail-reader.ts +220 -0
- package/src/logging/logger.ts +2 -1
- package/src/mesh/contracts.ts +329 -0
- package/src/mesh/coordinator-prompt.ts +234 -31
- package/src/mesh/coordinator-registry.ts +121 -0
- package/src/mesh/mesh-active-work.ts +623 -0
- package/src/mesh/mesh-delivery-policy.ts +315 -0
- package/src/mesh/mesh-events-coordinator.ts +2224 -0
- package/src/mesh/mesh-events-pending.ts +558 -0
- package/src/mesh/mesh-events-stale.ts +290 -0
- package/src/mesh/mesh-events-utils.ts +381 -0
- package/src/mesh/mesh-events.ts +30 -1035
- package/src/mesh/mesh-fast-forward.ts +839 -0
- package/src/mesh/mesh-host-ownership.ts +73 -0
- package/src/mesh/mesh-init.ts +260 -0
- package/src/mesh/mesh-ledger-reconciliation.ts +12 -5
- package/src/mesh/mesh-ledger.ts +590 -102
- package/src/mesh/mesh-missions.ts +322 -0
- package/src/mesh/mesh-reconcile-loop.ts +989 -0
- package/src/mesh/mesh-refine-batch.ts +197 -0
- package/src/mesh/mesh-refine-status.ts +231 -0
- package/src/mesh/mesh-review-inbox.ts +307 -0
- package/src/mesh/mesh-routing.ts +291 -0
- package/src/mesh/mesh-runtime-store.ts +1660 -0
- package/src/mesh/mesh-task-stats.ts +154 -0
- package/src/mesh/mesh-unresolved-forward-outbox.ts +185 -0
- package/src/mesh/mesh-work-queue.ts +901 -141
- package/src/mesh/preview-freshness.ts +118 -0
- package/src/mesh/refine-config.ts +423 -0
- package/src/mesh/worktree-bootstrap-config.ts +331 -0
- package/src/providers/acp-provider-instance.ts +25 -9
- package/src/providers/approval-utils.d.ts +4 -0
- package/src/providers/approval-utils.ts +47 -5
- package/src/providers/chat-message-normalization.ts +45 -5
- package/src/providers/cli-provider-instance.ts +1041 -99
- package/src/providers/contracts.d.ts +55 -0
- package/src/providers/contracts.ts +150 -6
- package/src/providers/extension-provider-instance.ts +12 -7
- package/src/providers/external-sources.ts +218 -0
- package/src/providers/ide-provider-instance.ts +35 -12
- package/src/providers/native-history/antigravity-cli-transcript.ts +643 -0
- package/src/providers/native-history/claude-cli-transcript.ts +396 -0
- package/src/providers/native-history/codex-cli-transcript.ts +479 -0
- package/src/providers/native-history/dispatcher.ts +340 -0
- package/src/providers/native-history/hermes-cli-transcript.ts +230 -0
- package/src/providers/native-history/index.ts +30 -0
- package/src/providers/provider-instance-manager.ts +30 -0
- package/src/providers/provider-instance.ts +10 -1
- package/src/providers/provider-loader.ts +670 -50
- package/src/providers/provider-schema.ts +87 -14
- package/src/providers/provider-trust.ts +114 -0
- package/src/providers/read-chat-contract.ts +76 -16
- package/src/providers/sdk/README.md +49 -0
- package/src/providers/sdk/v1/builders/acp/detect-status.ts +144 -0
- package/src/providers/sdk/v1/builders/cli/detect-status.ts +262 -0
- package/src/providers/sdk/v1/builders/cli/parse-approval-squash.ts +158 -0
- package/src/providers/sdk/v1/builders/cli/parse-approval.ts +250 -0
- package/src/providers/sdk/v1/builders/cli/parse-session.ts +276 -0
- package/src/providers/sdk/v1/builders/cli/visible-region.ts +143 -0
- package/src/providers/sdk/v1/fixture-tooling/format.ts +130 -0
- package/src/providers/sdk/v1/fixture-tooling/index.ts +22 -0
- package/src/providers/sdk/v1/fixture-tooling/replay.ts +352 -0
- package/src/providers/sdk/v1/index.ts +152 -0
- package/src/providers/sdk/v1/sandbox/README-design.ts +195 -0
- package/src/providers/sdk/v1/sandbox/require-whitelist.ts +472 -0
- package/src/providers/sdk/v1/sandbox/script-runner.ts +150 -0
- package/src/providers/sdk/v1/schemas/cli/provider.schema.json +504 -0
- package/src/providers/sdk/v1/schemas/primitives/acp-session-protocol-v1.json +131 -0
- package/src/providers/sdk/v1/schemas/primitives/native-history-codex-rollout-v1.json +66 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-approval-squash-v1.json +91 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-assistant-block-v1.json +91 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-cue-ordering-v1.json +47 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-dispatch-order-v1.json +32 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-footer-chrome-v1.json +42 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-index-finder-v1.json +27 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-modal-v1.json +125 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-prompt-marker-v1.json +45 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-session-id-extraction-v1.json +46 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-settled-prompt-v1.json +71 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-spinner-v1.json +83 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-transcript-pty-v1.json +83 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-visible-region-v1.json +57 -0
- package/src/providers/sdk/v1/schemas/primitives/tui-welcome-screen-v1.json +35 -0
- package/src/providers/sdk/v1/types/cli/index.ts +365 -0
- package/src/providers/sdk/v1/types/common/index.ts +229 -0
- package/src/providers/sdk/v1/validators/index.ts +19 -0
- package/src/providers/sdk/v1/validators/manifest.ts +110 -0
- package/src/providers/sdk/v1/validators/taint.ts +309 -0
- package/src/providers/spec/adapter.ts +168 -0
- package/src/providers/spec/cli-adapter.ts +986 -0
- package/src/providers/spec/evaluator.ts +345 -0
- package/src/providers/spec/fsm-driver.ts +1065 -0
- package/src/providers/spec/fsm-evaluator.ts +255 -0
- package/src/providers/spec/fsm-loader.ts +120 -0
- package/src/providers/spec/fsm-types.ts +238 -0
- package/src/providers/spec/native-history-executor.ts +1136 -0
- package/src/providers/spec/pre-launch-trust.ts +104 -0
- package/src/providers/spec/route.ts +51 -0
- package/src/providers/spec/types.ts +226 -0
- package/src/providers/status-monitor.d.ts +7 -7
- package/src/providers/status-monitor.ts +37 -22
- package/src/providers/transcript-v2.ts +567 -0
- package/src/providers/types/interactive-prompt.ts +536 -0
- package/src/providers/version-archive.ts +64 -24
- package/src/providers/working-dir.ts +23 -0
- package/src/repo-mesh-types.ts +378 -14
- package/src/sessions/registry.ts +6 -0
- package/src/shared-types-extra.ts +2 -4
- package/src/shared-types.d.ts +8 -0
- package/src/shared-types.ts +64 -1
- package/src/status/builders.ts +26 -6
- package/src/status/normalize.ts +2 -0
- package/src/status/reporter.ts +19 -1
- package/src/status/snapshot.ts +95 -26
- package/src/system/host-memory.ts +29 -12
- package/src/system/load-better-sqlite3.ts +68 -0
- package/src/types.ts +5 -0
- package/dist/cli-adapters/terminal-backends/xterm-backend.d.ts +0 -17
- package/dist/mesh/mesh-sync.d.ts +0 -53
- package/src/cli-adapters/terminal-backends/ghostty-vt-backend.d.ts +0 -16
- package/src/cli-adapters/terminal-backends/xterm-backend.ts +0 -97
- package/src/mesh/mesh-sync.ts +0 -111
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a launch command to an absolute executable path on Windows.
|
|
3
|
+
*
|
|
4
|
+
* node-pty's ConPTY backend resolves a bare/relative command against the
|
|
5
|
+
* *calling process's* `Path` env var and — critically — does NOT apply PATHEXT.
|
|
6
|
+
* So a provider command like `claude` never matches `claude.exe` and the native
|
|
7
|
+
* layer throws `File not found:` (empty), which crashes the daemon. We resolve
|
|
8
|
+
* it to an absolute `.exe` here (in the daemon process, which has the full PATH)
|
|
9
|
+
* before the command ever reaches node-pty.
|
|
10
|
+
*
|
|
11
|
+
* No-op on non-Windows and when the command is already an existing absolute path
|
|
12
|
+
* or cannot be resolved (caller keeps the original behaviour).
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveWin32Executable(command: string): string;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import type { TerminalViewportBackend, TerminalViewportBackendOptions
|
|
2
|
-
export declare function resolveTerminalBackendPreference(): TerminalViewportBackendPreference;
|
|
3
|
-
export declare function isGhosttyVtBackendAvailable(): boolean;
|
|
1
|
+
import type { TerminalViewportBackend, TerminalViewportBackendOptions } from './types.js';
|
|
4
2
|
export declare class GhosttyVtTerminalBackend implements TerminalViewportBackend {
|
|
5
3
|
readonly kind: "ghostty-vt";
|
|
6
4
|
private terminal;
|
|
5
|
+
private rows;
|
|
6
|
+
private disposed;
|
|
7
7
|
constructor(options: TerminalViewportBackendOptions);
|
|
8
8
|
resize(rows: number, cols: number): void;
|
|
9
9
|
write(data: string): void;
|
|
10
|
+
private formatLines;
|
|
11
|
+
private static trimBlankEnds;
|
|
10
12
|
getText(): string;
|
|
13
|
+
getTextWithScrollback(): string;
|
|
11
14
|
getCursorPosition(): {
|
|
12
15
|
col: number;
|
|
13
16
|
row: number;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export type TerminalViewportBackendKind = '
|
|
2
|
-
export type TerminalViewportBackendPreference = TerminalViewportBackendKind | 'auto';
|
|
1
|
+
export type TerminalViewportBackendKind = 'ghostty-vt';
|
|
3
2
|
export type TerminalViewportBackendOptions = {
|
|
4
3
|
rows: number;
|
|
5
4
|
cols: number;
|
|
@@ -10,6 +9,15 @@ export interface TerminalViewportBackend {
|
|
|
10
9
|
resize(rows: number, cols: number): void;
|
|
11
10
|
write(data: string): void;
|
|
12
11
|
getText(): string;
|
|
12
|
+
/**
|
|
13
|
+
* Like getText() but includes scrollback history (the lines that have
|
|
14
|
+
* scrolled above the visible viewport). Used by content-pattern matching
|
|
15
|
+
* (e.g. approval/modal button extraction) that must stay correct when a
|
|
16
|
+
* tall prompt — a big diff or long explanation — pushes part of the
|
|
17
|
+
* prompt box above the viewport. NOT for cursor-relative / stable_ms
|
|
18
|
+
* conditions, whose row indices are viewport-relative.
|
|
19
|
+
*/
|
|
20
|
+
getTextWithScrollback(): string;
|
|
13
21
|
getCursorPosition(): {
|
|
14
22
|
col: number;
|
|
15
23
|
row: number;
|
|
@@ -1,29 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* PTY screen snapshot abstraction.
|
|
3
|
-
*
|
|
4
|
-
* Terminal viewport backend selection.
|
|
5
|
-
*
|
|
6
|
-
* Runtime preference is backend-agnostic:
|
|
7
|
-
* - prefer ghostty-vt when available (or when explicitly requested)
|
|
8
|
-
* - fall back to xterm when ghostty-vt is unavailable
|
|
2
|
+
* PTY screen snapshot abstraction — ghostty-vt backend.
|
|
9
3
|
*/
|
|
10
|
-
import type { TerminalViewportBackendKind
|
|
4
|
+
import type { TerminalViewportBackendKind } from './terminal-backends/types.js';
|
|
11
5
|
export declare function getTerminalBackendRuntimeStatus(): {
|
|
12
6
|
backend: TerminalViewportBackendKind;
|
|
13
|
-
preference: TerminalViewportBackendPreference;
|
|
14
|
-
ghosttyAvailable: boolean;
|
|
15
7
|
};
|
|
16
8
|
export declare class TerminalScreen {
|
|
17
9
|
readonly backendKind: TerminalViewportBackendKind;
|
|
18
10
|
private rows;
|
|
19
11
|
private cols;
|
|
20
|
-
private readonly preference;
|
|
21
12
|
private terminal;
|
|
22
13
|
constructor(rows?: number, cols?: number);
|
|
23
14
|
reset(rows?: number, cols?: number): void;
|
|
24
15
|
resize(rows: number, cols: number): void;
|
|
25
16
|
write(data: string): void;
|
|
26
17
|
getText(): string;
|
|
18
|
+
/** Full buffer including scrollback history (see backend doc). */
|
|
19
|
+
getTextWithScrollback(): string;
|
|
27
20
|
getCursorPosition(): {
|
|
28
21
|
col: number;
|
|
29
22
|
row: number;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ProviderInstanceManager } from '../providers/provider-instance-manager.js';
|
|
8
8
|
import { ProviderLoader } from '../providers/provider-loader.js';
|
|
9
|
-
import { type ProviderModule, type ProviderResumeCapability } from '../providers/contracts.js';
|
|
9
|
+
import { type MeshCoordinatorDelegatedWorkerIsolation, type ProviderModule, type ProviderResumeCapability } from '../providers/contracts.js';
|
|
10
10
|
import type { CliAdapter } from '../cli-adapter-types.js';
|
|
11
11
|
import type { PtyTransportFactory } from '../cli-adapters/pty-transport.js';
|
|
12
12
|
import type { SessionRegistry } from '../sessions/registry.js';
|
|
@@ -68,6 +68,7 @@ export interface CoordinatorDelegatedCliLaunchOptionsInput {
|
|
|
68
68
|
workspace: string;
|
|
69
69
|
cliArgs?: string[];
|
|
70
70
|
env?: Record<string, string>;
|
|
71
|
+
isolation?: MeshCoordinatorDelegatedWorkerIsolation;
|
|
71
72
|
}
|
|
72
73
|
export interface CoordinatorDelegatedCliLaunchOptions {
|
|
73
74
|
cliArgs: string[];
|
|
@@ -104,7 +104,117 @@ export declare class DaemonCommandHandler implements CommandHelpers {
|
|
|
104
104
|
setAgentStreamManager(manager: DaemonAgentStreamManager): void;
|
|
105
105
|
handle(cmd: string, args: any): Promise<CommandResult>;
|
|
106
106
|
private dispatch;
|
|
107
|
+
/**
|
|
108
|
+
* Reload providers from disk. Does NOT pull from the registry — the user
|
|
109
|
+
* controls installs explicitly via install_provider_manifest. To upgrade
|
|
110
|
+
* an installed provider, call install_provider_manifest again with the
|
|
111
|
+
* desired version (or with no version to pick up the latest from
|
|
112
|
+
* registry), or use check_provider_updates to see what is out of date.
|
|
113
|
+
*/
|
|
107
114
|
private handleRefreshScripts;
|
|
115
|
+
/**
|
|
116
|
+
* Return per-provider availability so the dashboard's provider catalog
|
|
117
|
+
* can show "Installed" badges. Reuses the existing detection state from
|
|
118
|
+
* ProviderLoader.getMachineProviderStatus() — no probing is triggered.
|
|
119
|
+
*/
|
|
120
|
+
private handleListProviderAvailability;
|
|
121
|
+
/**
|
|
122
|
+
* Compute the *upstream cache root*. install_provider_manifest writes
|
|
123
|
+
* official-registry manifests here so the daemon's standard upstream
|
|
124
|
+
* layer picks them up — no special handling needed at load time, and
|
|
125
|
+
* the manifests inherit the official-trust badge instead of the
|
|
126
|
+
* untrusted-external one.
|
|
127
|
+
*
|
|
128
|
+
* Path matches ProviderLoader.upstreamDir but we recompute it from
|
|
129
|
+
* homedir() so this method stays usable in dev where userDir can
|
|
130
|
+
* point at a sibling git checkout.
|
|
131
|
+
*/
|
|
132
|
+
private getUpstreamInstallRoot;
|
|
133
|
+
/**
|
|
134
|
+
* Download a single provider manifest from the registry and write it to
|
|
135
|
+
* ~/.adhdev/providers/.upstream/{category}/{type}/provider.json.
|
|
136
|
+
*
|
|
137
|
+
* Used by standalone onboarding to seed the upstream cache with the
|
|
138
|
+
* default provider set on first launch. Verifies SHA-256 checksum
|
|
139
|
+
* against the registry meta before persisting. Refuses to write
|
|
140
|
+
* outside the upstream root.
|
|
141
|
+
*
|
|
142
|
+
* Args: { type: string, category?: string, version?: string }
|
|
143
|
+
* If category/version are omitted, looks up the latest from the registry.
|
|
144
|
+
*/
|
|
145
|
+
private handleInstallProviderManifest;
|
|
146
|
+
/**
|
|
147
|
+
* If `manifest.source = { type:'github', repo, ref, subdir? }` is set,
|
|
148
|
+
* walk each script directory the manifest references and download every
|
|
149
|
+
* file from the public GitHub raw endpoint. Returns a small summary so
|
|
150
|
+
* the caller can report what was fetched.
|
|
151
|
+
*
|
|
152
|
+
* Best-effort: failures don't reject the install — the manifest itself is
|
|
153
|
+
* usable for declarative-only providers, and the user still gets a clear
|
|
154
|
+
* error string back if a needed script is missing.
|
|
155
|
+
*/
|
|
156
|
+
private fetchProviderSources;
|
|
157
|
+
/**
|
|
158
|
+
* Remove a provider manifest from the upstream cache root
|
|
159
|
+
* (~/.adhdev/providers/.upstream/{category}/{type}/). Refuses to touch
|
|
160
|
+
* anything outside that root. Used by onboarding to opt out of a
|
|
161
|
+
* provider the user doesn't want; the dashboard no longer exposes a
|
|
162
|
+
* per-provider uninstall button (external sources are removed as a
|
|
163
|
+
* whole via remove_provider_source).
|
|
164
|
+
*/
|
|
165
|
+
private handleUninstallProviderManifest;
|
|
166
|
+
/**
|
|
167
|
+
* Return everything currently installed in the upstream cache with its
|
|
168
|
+
* version. This is the "what does this daemon have" answer used both by
|
|
169
|
+
* the UI and by the update checker.
|
|
170
|
+
*/
|
|
171
|
+
private handleListInstalledProviders;
|
|
172
|
+
/**
|
|
173
|
+
* For each installed provider, ask the registry for its current latest
|
|
174
|
+
* version and report whether an update is available. The user can then
|
|
175
|
+
* call install_provider_manifest to upgrade (it overwrites the file).
|
|
176
|
+
*
|
|
177
|
+
* Returns { providers: [{ type, category, installedVersion, latestVersion,
|
|
178
|
+
* updateAvailable, error? }] }
|
|
179
|
+
*/
|
|
180
|
+
private handleCheckProviderUpdates;
|
|
181
|
+
/**
|
|
182
|
+
* Register a new external provider source. The daemon clones the repo
|
|
183
|
+
* to ~/.adhdev/external/<name>/, walks it once to detect provided
|
|
184
|
+
* types, and surfaces any conflicts with already-installed types so
|
|
185
|
+
* the dashboard can ask the user how to resolve them.
|
|
186
|
+
*
|
|
187
|
+
* Args: { url: string, ref?: string, name?: string }
|
|
188
|
+
* - url: https://, git@, or any git-cloneable URL
|
|
189
|
+
* - ref: branch/tag/commit (default "main")
|
|
190
|
+
* - name: short identifier (default derived from URL)
|
|
191
|
+
*
|
|
192
|
+
* Returns: { source, providers, conflicts }
|
|
193
|
+
* - conflicts: list of types this new source provides that another
|
|
194
|
+
* source already exposes. UI uses this to prompt for active-source
|
|
195
|
+
* selection before the load takes effect.
|
|
196
|
+
*/
|
|
197
|
+
private handleAddProviderSource;
|
|
198
|
+
/**
|
|
199
|
+
* Remove a registered external source. Deletes the clone directory and
|
|
200
|
+
* any active-source entry pointing to it.
|
|
201
|
+
*
|
|
202
|
+
* Args: { name: string }
|
|
203
|
+
*/
|
|
204
|
+
private handleRemoveProviderSource;
|
|
205
|
+
/**
|
|
206
|
+
* List registered external sources + each source's currently installed
|
|
207
|
+
* providers + the active selection for any conflicting types. Used by
|
|
208
|
+
* the dashboard's "Sources" tab.
|
|
209
|
+
*/
|
|
210
|
+
private handleListProviderSources;
|
|
211
|
+
/**
|
|
212
|
+
* Pick which source's copy of a conflicting provider type is active.
|
|
213
|
+
* Other sources' copies stay on disk but the loader ignores them.
|
|
214
|
+
*
|
|
215
|
+
* Args: { type: string, sourceName: string }
|
|
216
|
+
*/
|
|
217
|
+
private handleSetActiveProviderSource;
|
|
108
218
|
private proxyDevServerPost;
|
|
109
219
|
private proxyDevServerGet;
|
|
110
220
|
private proxyDevServerScaffold;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MeshCoordinatorMcpConfigFormat, MeshCoordinatorSystemPromptInjection, ProviderModule } from '../providers/contracts.js';
|
|
2
2
|
export interface MeshCoordinatorMcpServerLaunch {
|
|
3
3
|
command: string;
|
|
4
4
|
args: string[];
|
|
@@ -25,6 +25,7 @@ export type MeshCoordinatorSetup = {
|
|
|
25
25
|
command: string;
|
|
26
26
|
requiresRestart: boolean;
|
|
27
27
|
instructions: string;
|
|
28
|
+
mcpServer: MeshCoordinatorMcpServerLaunch;
|
|
28
29
|
} | {
|
|
29
30
|
kind: 'unsupported';
|
|
30
31
|
reason: string;
|
|
@@ -42,3 +43,86 @@ export interface ResolveMeshCoordinatorSetupOptions {
|
|
|
42
43
|
}
|
|
43
44
|
export declare function createHermesManualMeshCoordinatorSetup(meshId: string, workspace: string): MeshCoordinatorSetup;
|
|
44
45
|
export declare function resolveMeshCoordinatorSetup(options: ResolveMeshCoordinatorSetupOptions): MeshCoordinatorSetup;
|
|
46
|
+
/**
|
|
47
|
+
* Apply a provider's declared system-prompt injection rule, mutating `cliArgs`
|
|
48
|
+
* and `launchEnv` in place and writing any required workspace context file.
|
|
49
|
+
*
|
|
50
|
+
* Replaces the previous hard-coded `if (cliType === 'claude-cli') ... else if
|
|
51
|
+
* (cliType === 'hermes-cli') ...` branches in router.ts. Adding a new CLI is
|
|
52
|
+
* now provider.v1.json data, not a router edit.
|
|
53
|
+
*
|
|
54
|
+
* Failures are non-fatal: log and continue with whatever was applied so the
|
|
55
|
+
* coordinator session still launches, just without the prompt for that
|
|
56
|
+
* provider. A missing/unknown rule means "skip injection" — safe by default
|
|
57
|
+
* (the previous fallback unconditionally pushed --append-system-prompt onto
|
|
58
|
+
* every non-Claude CLI, which crashed agy on launch).
|
|
59
|
+
*/
|
|
60
|
+
export interface CoordinatorInjectionEffect {
|
|
61
|
+
/** Absolute path the daemon wrote a wrapper-blocked file to. Only set for
|
|
62
|
+
* context_file injection. R48 schedules a strip after launch so workers
|
|
63
|
+
* don't see the wrapper on disk; R47's unregister cleanup uses it as a
|
|
64
|
+
* fallback if the timer never fires (process crash, etc). */
|
|
65
|
+
contextFilePath?: string;
|
|
66
|
+
}
|
|
67
|
+
export declare function applyMeshCoordinatorSystemPromptInjection(systemPrompt: string, injection: MeshCoordinatorSystemPromptInjection | undefined, ctx: {
|
|
68
|
+
cliArgs: string[];
|
|
69
|
+
launchEnv: Record<string, string>;
|
|
70
|
+
workspace: string;
|
|
71
|
+
cliType: string;
|
|
72
|
+
}): CoordinatorInjectionEffect;
|
|
73
|
+
/**
|
|
74
|
+
* Strip the daemon's wrapper block from a context_file we previously wrote.
|
|
75
|
+
*
|
|
76
|
+
* Used in two places:
|
|
77
|
+
* 1. R48 inject-then-remove: ~5s after spawn, after agy/gemini have read
|
|
78
|
+
* the file into their in-memory system-prompt cache. Removing it from
|
|
79
|
+
* disk at that point doesn't affect the running coordinator but keeps
|
|
80
|
+
* worker sessions (or fresh non-coordinator launches) in the same
|
|
81
|
+
* workspace from picking up our wrapper.
|
|
82
|
+
* 2. R47 unregister fallback: if the timer never fires (process crash,
|
|
83
|
+
* kill -9), coordinator-registry.unregisterMeshCoordinator runs the
|
|
84
|
+
* same logic when its entry is dropped.
|
|
85
|
+
*
|
|
86
|
+
* Idempotent: missing file is fine, missing sentinels are fine, returns
|
|
87
|
+
* silently. Leaves user-authored content outside the sentinels intact.
|
|
88
|
+
* Deletes the file outright if our wrapper was the only content.
|
|
89
|
+
*/
|
|
90
|
+
export declare function stripCoordinatorWrapperFile(filePath: string): void;
|
|
91
|
+
export interface PtyExecResult {
|
|
92
|
+
exitCode: number | null;
|
|
93
|
+
signal: number | null;
|
|
94
|
+
output: string;
|
|
95
|
+
timedOut: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface MeshCoordinatorRegistrationStep {
|
|
98
|
+
command: string;
|
|
99
|
+
args: string[];
|
|
100
|
+
required: boolean;
|
|
101
|
+
label: 'remove_existing' | 'register';
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Codex rejects `mcp add` when a server with the same name already exists.
|
|
105
|
+
* Replace that entry before registering so transport/mesh changes do not leave
|
|
106
|
+
* a fresh coordinator attached to stale MCP launch arguments.
|
|
107
|
+
*/
|
|
108
|
+
export declare function buildMeshCoordinatorRegistrationPlan(cliType: string, serverName: string, registrationCommand: string): MeshCoordinatorRegistrationStep[];
|
|
109
|
+
/**
|
|
110
|
+
* Run a one-shot CLI command under a real PTY and collect its output.
|
|
111
|
+
*
|
|
112
|
+
* Some provider mcp-registration commands (`agy mcp add`, future bubbletea
|
|
113
|
+
* TUIs) refuse to run without `/dev/tty`. Daemon-side `execFileSync` runs
|
|
114
|
+
* pipe-only, so those commands fail with errors like
|
|
115
|
+
* `bubbletea: error opening TTY: open /dev/tty: device not configured`
|
|
116
|
+
* and silently skip the registration, leaving the launched session
|
|
117
|
+
* without the adhdev-mesh MCP tools — which is exactly what we saw with
|
|
118
|
+
* agy coordinators.
|
|
119
|
+
*
|
|
120
|
+
* Wrapping the registration through node-pty gives the child a real PTY,
|
|
121
|
+
* so the bubbletea check passes. We close stdin immediately and just
|
|
122
|
+
* collect stdout until the process exits or the timeout fires.
|
|
123
|
+
*/
|
|
124
|
+
export declare function execUnderPty(command: string, args: string[], options?: {
|
|
125
|
+
cwd?: string;
|
|
126
|
+
env?: Record<string, string>;
|
|
127
|
+
timeoutMs?: number;
|
|
128
|
+
}): Promise<PtyExecResult>;
|