@adhdev/daemon-core 0.9.82-rc.43 → 0.9.82-rc.431
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 +9 -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 +68 -2
- package/dist/cli-adapters/cli-script-runner.d.ts +117 -0
- package/dist/cli-adapters/cli-state-engine.d.ts +200 -0
- package/dist/cli-adapters/provider-cli-adapter.d.ts +126 -64
- package/dist/cli-adapters/provider-cli-parse.d.ts +5 -0
- package/dist/cli-adapters/provider-cli-runtime.d.ts +34 -0
- package/dist/cli-adapters/provider-cli-shared.d.ts +74 -0
- package/dist/cli-adapters/pty-write-chunking.d.ts +34 -0
- package/dist/cli-adapters/raw-terminal-io.d.ts +37 -0
- package/dist/cli-adapters/resolve-executable.d.ts +69 -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/chat-commands-debug-bundle.d.ts +14 -0
- package/dist/commands/chat-commands-read.d.ts +7 -0
- package/dist/commands/chat-commands-scope.d.ts +39 -0
- package/dist/commands/chat-commands-shared.d.ts +33 -0
- package/dist/commands/chat-commands-write.d.ts +14 -0
- package/dist/commands/chat-commands.d.ts +10 -23
- package/dist/commands/cli-manager.d.ts +15 -1
- package/dist/commands/handler.d.ts +125 -0
- package/dist/commands/high-family/index.d.ts +3 -0
- package/dist/commands/high-family/mesh-coordinator-launch.d.ts +2 -0
- package/dist/commands/high-family/mesh-events.d.ts +2 -0
- package/dist/commands/high-family/mesh-status.d.ts +2 -0
- package/dist/commands/high-family/types.d.ts +60 -0
- package/dist/commands/low-family/coordinator-prompt.d.ts +9 -0
- package/dist/commands/low-family/daemon-lifecycle.d.ts +2 -0
- package/dist/commands/low-family/diagnostics.d.ts +2 -0
- package/dist/commands/low-family/index.d.ts +3 -0
- package/dist/commands/low-family/mesh-ledger.d.ts +10 -0
- package/dist/commands/low-family/mesh-node-logs.d.ts +2 -0
- package/dist/commands/low-family/notification.d.ts +2 -0
- package/dist/commands/low-family/refine-config.d.ts +2 -0
- package/dist/commands/low-family/session-host.d.ts +2 -0
- package/dist/commands/low-family/spec-providerdev.d.ts +11 -0
- package/dist/commands/low-family/status-meta.d.ts +2 -0
- package/dist/commands/low-family/types.d.ts +33 -0
- package/dist/commands/med-family/cli-agent.d.ts +2 -0
- package/dist/commands/med-family/fast-forward.d.ts +2 -0
- package/dist/commands/med-family/ide.d.ts +10 -0
- package/dist/commands/med-family/index.d.ts +3 -0
- package/dist/commands/med-family/mesh-crud.d.ts +29 -0
- package/dist/commands/med-family/mesh-host-pairing.d.ts +2 -0
- package/dist/commands/med-family/mesh-queue.d.ts +2 -0
- package/dist/commands/med-family/mesh-restart.d.ts +2 -0
- package/dist/commands/med-family/types.d.ts +142 -0
- package/dist/commands/mesh-coordinator.d.ts +85 -1
- package/dist/commands/router.d.ts +276 -2
- package/dist/commands/upgrade-helper.d.ts +41 -1
- package/dist/config/chat-history.d.ts +9 -0
- package/dist/config/config.d.ts +5 -0
- package/dist/config/mesh-config.d.ts +100 -1
- package/dist/config/mesh-json-config.d.ts +199 -0
- package/dist/config/repo-settings.d.ts +77 -0
- package/dist/daemon/dev-server.d.ts +0 -2
- 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 +57 -0
- package/dist/git/git-types.d.ts +2 -50
- package/dist/git/git-worktree.d.ts +71 -1
- package/dist/git/index.d.ts +3 -1
- package/dist/index.d.ts +64 -14
- package/dist/index.js +49391 -19228
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +48574 -18570
- 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 +81 -0
- package/dist/logging/logger.d.ts +1 -1
- package/dist/mesh/contracts.d.ts +164 -0
- package/dist/mesh/coordinator-prompt.d.ts +89 -0
- package/dist/mesh/coordinator-registry.d.ts +59 -0
- package/dist/mesh/mesh-active-work.d.ts +174 -0
- package/dist/mesh/mesh-clone-grace.d.ts +8 -0
- package/dist/mesh/mesh-coordinator-config.d.ts +21 -0
- package/dist/mesh/mesh-delivery-policy.d.ts +131 -0
- package/dist/mesh/mesh-event-classify.d.ts +5 -0
- package/dist/mesh/mesh-event-forwarding.d.ts +41 -0
- package/dist/mesh/mesh-event-trace.d.ts +21 -0
- package/dist/mesh/mesh-events-coordinator.d.ts +4 -0
- package/dist/mesh/mesh-events-pending.d.ts +69 -0
- package/dist/mesh/mesh-events-stale.d.ts +61 -0
- package/dist/mesh/mesh-events-utils.d.ts +75 -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 -4
- package/dist/mesh/mesh-ledger.d.ts +77 -1
- package/dist/mesh/mesh-magi-status.d.ts +63 -0
- package/dist/mesh/mesh-missions.d.ts +189 -0
- package/dist/mesh/mesh-node-identity.d.ts +289 -0
- package/dist/mesh/mesh-queue-assignment.d.ts +113 -0
- package/dist/mesh/mesh-reconcile-loop.d.ts +65 -0
- package/dist/mesh/mesh-refine-batch.d.ts +68 -0
- package/dist/mesh/mesh-refine-gates.d.ts +428 -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 +450 -0
- package/dist/mesh/mesh-scheduling-runtime.d.ts +78 -0
- package/dist/mesh/mesh-task-inflight.d.ts +46 -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-warmup-deadline.d.ts +68 -0
- package/dist/mesh/mesh-work-queue.d.ts +290 -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 +145 -0
- package/dist/providers/acp-provider-instance.d.ts +5 -0
- package/dist/providers/approval-utils.d.ts +20 -0
- package/dist/providers/chat-message-normalization.d.ts +31 -1
- package/dist/providers/cli-provider-instance.d.ts +221 -3
- package/dist/providers/contracts.d.ts +139 -6
- package/dist/providers/external-sources.d.ts +71 -0
- package/dist/providers/manual-attendance.d.ts +63 -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/constants.d.ts +12 -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 +29 -0
- package/dist/providers/provider-instance.d.ts +23 -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 +86 -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 +91 -0
- package/dist/providers/spec/cli-adapter.d.ts +223 -0
- package/dist/providers/spec/evaluator.d.ts +45 -0
- package/dist/providers/spec/fsm-driver.d.ts +422 -0
- package/dist/providers/spec/fsm-evaluator.d.ts +76 -0
- package/dist/providers/spec/fsm-loader.d.ts +14 -0
- package/dist/providers/spec/fsm-types.d.ts +174 -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 +222 -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 +501 -13
- package/dist/runtime-defaults.d.ts +2 -0
- 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/hash.d.ts +8 -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 +63 -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 +3 -1
- package/src/cli-adapter-types.ts +68 -2
- package/src/cli-adapters/cli-script-runner.ts +421 -0
- package/src/cli-adapters/cli-state-engine.ts +1246 -0
- package/src/cli-adapters/provider-cli-adapter.d.ts +1 -1
- package/src/cli-adapters/provider-cli-adapter.ts +914 -1144
- package/src/cli-adapters/provider-cli-parse.d.ts +2 -0
- package/src/cli-adapters/provider-cli-parse.ts +19 -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 +121 -11
- package/src/cli-adapters/pty-transport.ts +2 -1
- package/src/cli-adapters/pty-write-chunking.ts +106 -0
- package/src/cli-adapters/raw-terminal-io.ts +252 -0
- package/src/cli-adapters/resolve-executable.ts +204 -0
- package/src/cli-adapters/session-host-transport.ts +2 -1
- package/src/cli-adapters/terminal-backends/ghostty-vt-backend.ts +63 -29
- package/src/cli-adapters/terminal-backends/types.ts +10 -3
- package/src/cli-adapters/terminal-screen.ts +16 -81
- package/src/commands/WINDOWS-UPGRADE-LOCK-FAILURE.md +198 -0
- package/src/commands/chat-commands-debug-bundle.ts +398 -0
- package/src/commands/chat-commands-read.ts +2327 -0
- package/src/commands/chat-commands-scope.ts +54 -0
- package/src/commands/chat-commands-shared.ts +114 -0
- package/src/commands/chat-commands-write.ts +891 -0
- package/src/commands/chat-commands.ts +19 -1841
- package/src/commands/cli-manager.ts +544 -26
- package/src/commands/handler.ts +841 -2
- package/src/commands/high-family/index.ts +28 -0
- package/src/commands/high-family/mesh-coordinator-launch.ts +678 -0
- package/src/commands/high-family/mesh-events.ts +80 -0
- package/src/commands/high-family/mesh-status.ts +710 -0
- package/src/commands/high-family/types.ts +76 -0
- package/src/commands/low-family/coordinator-prompt.ts +72 -0
- package/src/commands/low-family/daemon-lifecycle.ts +107 -0
- package/src/commands/low-family/diagnostics.ts +57 -0
- package/src/commands/low-family/index.ts +37 -0
- package/src/commands/low-family/mesh-ledger.ts +62 -0
- package/src/commands/low-family/mesh-node-logs.ts +87 -0
- package/src/commands/low-family/notification.ts +116 -0
- package/src/commands/low-family/refine-config.ts +106 -0
- package/src/commands/low-family/session-host.ts +274 -0
- package/src/commands/low-family/spec-providerdev.ts +217 -0
- package/src/commands/low-family/status-meta.ts +112 -0
- package/src/commands/low-family/types.ts +39 -0
- package/src/commands/med-family/cli-agent.ts +238 -0
- package/src/commands/med-family/fast-forward.ts +230 -0
- package/src/commands/med-family/ide.ts +163 -0
- package/src/commands/med-family/index.ts +37 -0
- package/src/commands/med-family/mesh-crud.ts +1066 -0
- package/src/commands/med-family/mesh-host-pairing.ts +234 -0
- package/src/commands/med-family/mesh-queue.ts +167 -0
- package/src/commands/med-family/mesh-restart.ts +92 -0
- package/src/commands/med-family/types.ts +143 -0
- package/src/commands/mesh-coordinator.ts +334 -124
- package/src/commands/router.ts +2711 -3254
- package/src/commands/stream-commands.ts +8 -0
- package/src/commands/upgrade-helper.ts +310 -45
- package/src/config/chat-history.ts +483 -24
- package/src/config/config.ts +12 -0
- package/src/config/mesh-config.ts +495 -22
- package/src/config/mesh-json-config.ts +376 -0
- package/src/config/recent-activity.ts +8 -2
- package/src/config/repo-settings.ts +111 -0
- package/src/daemon/dev-auto-implement.ts +3 -2
- package/src/daemon/dev-cli-debug.ts +10 -1
- package/src/daemon/dev-server.ts +0 -541
- 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 +59 -15
- package/src/git/git-diff.ts +81 -11
- package/src/git/git-executor.ts +12 -0
- package/src/git/git-status.ts +767 -48
- package/src/git/git-types.ts +14 -62
- package/src/git/git-worktree.ts +261 -4
- package/src/git/index.ts +17 -0
- package/src/index.ts +194 -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/command-log.ts +7 -5
- package/src/logging/log-redactor.ts +100 -0
- package/src/logging/log-tail-reader.ts +341 -0
- package/src/logging/logger.ts +14 -7
- package/src/mesh/contracts.ts +338 -0
- package/src/mesh/coordinator-prompt.ts +381 -33
- package/src/mesh/coordinator-registry.ts +121 -0
- package/src/mesh/mesh-active-work.ts +645 -0
- package/src/mesh/mesh-clone-grace.ts +68 -0
- package/src/mesh/mesh-coordinator-config.ts +97 -0
- package/src/mesh/mesh-delivery-policy.ts +315 -0
- package/src/mesh/mesh-event-classify.ts +51 -0
- package/src/mesh/mesh-event-forwarding.ts +1888 -0
- package/src/mesh/mesh-event-trace.ts +67 -0
- package/src/mesh/mesh-events-coordinator.ts +32 -0
- package/src/mesh/mesh-events-pending.ts +656 -0
- package/src/mesh/mesh-events-stale.ts +389 -0
- package/src/mesh/mesh-events-utils.ts +443 -0
- package/src/mesh/mesh-events.ts +33 -1035
- package/src/mesh/mesh-fast-forward.ts +843 -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 -7
- package/src/mesh/mesh-ledger.ts +656 -102
- package/src/mesh/mesh-magi-status.ts +223 -0
- package/src/mesh/mesh-missions.ts +449 -0
- package/src/mesh/mesh-node-identity.ts +1887 -0
- package/src/mesh/mesh-queue-assignment.ts +1918 -0
- package/src/mesh/mesh-reconcile-loop.ts +1780 -0
- package/src/mesh/mesh-refine-batch.ts +205 -0
- package/src/mesh/mesh-refine-gates.ts +1673 -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 +1853 -0
- package/src/mesh/mesh-scheduling-runtime.ts +198 -0
- package/src/mesh/mesh-task-inflight.ts +70 -0
- package/src/mesh/mesh-task-stats.ts +161 -0
- package/src/mesh/mesh-unresolved-forward-outbox.ts +185 -0
- package/src/mesh/mesh-warmup-deadline.ts +152 -0
- package/src/mesh/mesh-work-queue.ts +1243 -141
- package/src/mesh/preview-freshness.ts +118 -0
- package/src/mesh/refine-config.ts +423 -0
- package/src/mesh/worktree-bootstrap-config.ts +450 -0
- package/src/providers/acp-provider-instance.ts +43 -10
- package/src/providers/approval-utils.d.ts +5 -0
- package/src/providers/approval-utils.ts +57 -5
- package/src/providers/chat-message-normalization.ts +92 -4
- package/src/providers/cli-provider-instance.ts +1933 -104
- 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/manual-attendance.ts +85 -0
- 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/constants.ts +19 -0
- package/src/providers/native-history/dispatcher.ts +339 -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 +71 -0
- package/src/providers/provider-instance.ts +19 -1
- package/src/providers/provider-loader.ts +668 -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 +313 -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 +235 -0
- package/src/providers/spec/cli-adapter.ts +1056 -0
- package/src/providers/spec/evaluator.ts +407 -0
- package/src/providers/spec/fsm-driver.ts +1410 -0
- package/src/providers/spec/fsm-evaluator.ts +272 -0
- package/src/providers/spec/fsm-loader.ts +120 -0
- package/src/providers/spec/fsm-types.ts +273 -0
- package/src/providers/spec/native-history-executor.ts +1128 -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 +262 -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 +740 -14
- package/src/runtime-defaults.ts +39 -0
- 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/hash.ts +23 -0
- 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,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* script-runner.ts — SandboxedScriptRunner interface + DirectEvalRunner stub
|
|
3
|
+
*
|
|
4
|
+
* Phase 5 scaffold: defines the interface that the isolated-vm implementation
|
|
5
|
+
* will satisfy, and provides a DirectEvalRunner that keeps providers working
|
|
6
|
+
* without the native isolated-vm package.
|
|
7
|
+
*
|
|
8
|
+
* See README-design.ts for the full design rationale.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { LOG } from '../../../../logging/logger.js';
|
|
12
|
+
|
|
13
|
+
/** Options controlling the resource limits applied to a sandboxed script call. */
|
|
14
|
+
export interface SandboxOptions {
|
|
15
|
+
/** Maximum CPU time (wall-clock) in milliseconds before the script is killed. Default: 50. */
|
|
16
|
+
cpuTimeLimitMs: number;
|
|
17
|
+
/** Maximum V8 heap size in megabytes for the Isolate. Default: 32. */
|
|
18
|
+
memoryLimitMb: number;
|
|
19
|
+
/**
|
|
20
|
+
* Whitelist of global names the script may access.
|
|
21
|
+
* The full allowed surface is documented in README-design.ts.
|
|
22
|
+
* Default: ['console', 'JSON', 'Math', 'Date', 'String', 'Number', 'Boolean',
|
|
23
|
+
* 'Array', 'Object', 'RegExp']
|
|
24
|
+
*/
|
|
25
|
+
allowedGlobals: string[];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Default resource limits applied when no options are supplied. */
|
|
29
|
+
export const DEFAULT_SANDBOX_OPTIONS: SandboxOptions = {
|
|
30
|
+
cpuTimeLimitMs: 50,
|
|
31
|
+
memoryLimitMb: 32,
|
|
32
|
+
allowedGlobals: ['console', 'JSON', 'Math', 'Date', 'String', 'Number', 'Boolean', 'Array', 'Object', 'RegExp'],
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Contract for sandboxed script execution.
|
|
37
|
+
*
|
|
38
|
+
* Implementations:
|
|
39
|
+
* - DirectEvalRunner — no-op stub; uses eval() with a try/catch (unsafe, no limits).
|
|
40
|
+
* - IsolatedVmRunner — Phase 5 full implementation using the `isolated-vm` package.
|
|
41
|
+
*
|
|
42
|
+
* Usage:
|
|
43
|
+
* const runner = createScriptRunner({ cpuTimeLimitMs: 50, memoryLimitMb: 32 });
|
|
44
|
+
* const result = await runner.run(scriptSource, { input, sdk });
|
|
45
|
+
* runner.dispose();
|
|
46
|
+
*/
|
|
47
|
+
export interface SandboxedScriptRunner {
|
|
48
|
+
/**
|
|
49
|
+
* Execute `script` synchronously inside a sandboxed context.
|
|
50
|
+
*
|
|
51
|
+
* @param script JavaScript source string. The script body should
|
|
52
|
+
* evaluate to the desired return value (the last expression
|
|
53
|
+
* is returned, module.exports is NOT consulted).
|
|
54
|
+
* Example: `"input.tail.includes('✓') ? 'idle' : 'generating'"`
|
|
55
|
+
*
|
|
56
|
+
* @param context Plain key/value pairs injected as globals inside the
|
|
57
|
+
* sandbox. All values must be JSON-serializable.
|
|
58
|
+
* Typically: `{ input: <CliStatusInput>, sdk: <sdk facade> }`
|
|
59
|
+
*
|
|
60
|
+
* @param options Optional per-call overrides for resource limits.
|
|
61
|
+
* Merged with the options supplied to createScriptRunner().
|
|
62
|
+
*
|
|
63
|
+
* @returns The value produced by the script (JSON-deserialized from
|
|
64
|
+
* the sandbox). May be `unknown` — callers must validate.
|
|
65
|
+
*
|
|
66
|
+
* @throws Re-throws if the script contains a syntax error.
|
|
67
|
+
* Returns `undefined` (via rejection) on timeout or OOM.
|
|
68
|
+
*/
|
|
69
|
+
run(script: string, context: Record<string, unknown>, options?: Partial<SandboxOptions>): Promise<unknown>;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Release all resources held by this runner (Isolate, Contexts, etc.).
|
|
73
|
+
* After dispose(), calling run() has undefined behavior.
|
|
74
|
+
*/
|
|
75
|
+
dispose(): void;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* No-op stub used when isolated-vm is not available (graceful degradation).
|
|
80
|
+
*
|
|
81
|
+
* Falls back to direct `eval()` inside a try/catch — there are no CPU or
|
|
82
|
+
* memory limits. A warning is logged on the first run() call to make the
|
|
83
|
+
* fallback visible in daemon logs.
|
|
84
|
+
*
|
|
85
|
+
* This implementation is suitable for:
|
|
86
|
+
* - Development environments where isolated-vm is not installed.
|
|
87
|
+
* - Unit tests (no native dependency required).
|
|
88
|
+
* - Graceful fallback for existing extended-legacy providers while Phase 5
|
|
89
|
+
* is being rolled out.
|
|
90
|
+
*
|
|
91
|
+
* NOT suitable for production use with untrusted script sources.
|
|
92
|
+
*/
|
|
93
|
+
export class DirectEvalRunner implements SandboxedScriptRunner {
|
|
94
|
+
private warned = false;
|
|
95
|
+
private readonly defaultOptions: SandboxOptions;
|
|
96
|
+
|
|
97
|
+
constructor(options?: Partial<SandboxOptions>) {
|
|
98
|
+
this.defaultOptions = { ...DEFAULT_SANDBOX_OPTIONS, ...options };
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
async run(
|
|
102
|
+
script: string,
|
|
103
|
+
context: Record<string, unknown>,
|
|
104
|
+
_options?: Partial<SandboxOptions>,
|
|
105
|
+
): Promise<unknown> {
|
|
106
|
+
if (!this.warned) {
|
|
107
|
+
LOG.warn('Sandbox', '[DirectEvalRunner] isolated-vm not available — running script without sandboxing. Install isolated-vm for production use.');
|
|
108
|
+
this.warned = true;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Build a function body that exposes context keys as locals, then
|
|
112
|
+
// evaluates the script and returns its result.
|
|
113
|
+
const contextKeys = Object.keys(context);
|
|
114
|
+
const contextValues = contextKeys.map((k) => context[k]);
|
|
115
|
+
|
|
116
|
+
// eslint-disable-next-line no-new-func
|
|
117
|
+
const fn = new Function(...contextKeys, `"use strict";\nreturn (${script});`);
|
|
118
|
+
return fn(...contextValues);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
dispose(): void {
|
|
122
|
+
// Nothing to release — DirectEvalRunner holds no native resources.
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Factory: returns IsolatedVmRunner if isolated-vm is installed, else DirectEvalRunner.
|
|
128
|
+
*
|
|
129
|
+
* Logs a warning when falling back to DirectEvalRunner so the operator is aware
|
|
130
|
+
* that sandboxing is inactive.
|
|
131
|
+
*
|
|
132
|
+
* @param options Resource limit defaults applied to every run() call unless
|
|
133
|
+
* overridden at the call site. Merged with DEFAULT_SANDBOX_OPTIONS.
|
|
134
|
+
*/
|
|
135
|
+
export function createScriptRunner(options?: Partial<SandboxOptions>): SandboxedScriptRunner {
|
|
136
|
+
try {
|
|
137
|
+
// Dynamic require so that the import does not break the module when
|
|
138
|
+
// isolated-vm is absent from node_modules.
|
|
139
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
140
|
+
const isolatedVm = require('isolated-vm');
|
|
141
|
+
if (isolatedVm && typeof isolatedVm.Isolate === 'function') {
|
|
142
|
+
// Phase 5: IsolatedVmRunner — not yet implemented.
|
|
143
|
+
// TODO(phase5): return new IsolatedVmRunner(options);
|
|
144
|
+
LOG.warn('Sandbox', '[createScriptRunner] isolated-vm detected but IsolatedVmRunner is not yet implemented — falling back to DirectEvalRunner.');
|
|
145
|
+
}
|
|
146
|
+
} catch {
|
|
147
|
+
// isolated-vm is not installed — this is the expected state for now.
|
|
148
|
+
}
|
|
149
|
+
return new DirectEvalRunner(options);
|
|
150
|
+
}
|
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "adhdev:cli/provider@1",
|
|
4
|
+
"title": "CLI provider.json — v1",
|
|
5
|
+
"description": "Schema for CLI provider manifests. Validates the contract documented in docs/provider-contract/cli/v1.md. All 4 production CLI providers (codex, claude, hermes, antigravity) pass this schema without modification.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["type", "name", "category", "binary", "spawn"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"$schema": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Schema URL. Hint for editor tooling; not consumed by the daemon."
|
|
13
|
+
},
|
|
14
|
+
"links": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"additionalProperties": { "type": "string" },
|
|
17
|
+
"description": "Documentation URLs. Surfaced in marketplace UI."
|
|
18
|
+
},
|
|
19
|
+
"install": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"additionalProperties": { "type": "string" },
|
|
22
|
+
"description": "Install instructions by channel (npm/pip/manual/brew). UI-only."
|
|
23
|
+
},
|
|
24
|
+
"source": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"description": "GitHub source descriptor. Daemon uses this to fetch script files on install.",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"properties": {
|
|
29
|
+
"type": { "const": "github" },
|
|
30
|
+
"repo": { "type": "string", "pattern": "^[\\w.-]+/[\\w.-]+$" },
|
|
31
|
+
"ref": { "type": "string" },
|
|
32
|
+
"subdir": { "type": "string" }
|
|
33
|
+
},
|
|
34
|
+
"required": ["type", "repo", "ref"]
|
|
35
|
+
},
|
|
36
|
+
"type": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"pattern": "^[a-z][a-z0-9-]*$",
|
|
39
|
+
"description": "Stable identifier. Lowercase kebab-case."
|
|
40
|
+
},
|
|
41
|
+
"name": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"minLength": 1,
|
|
44
|
+
"description": "Short canonical name."
|
|
45
|
+
},
|
|
46
|
+
"displayName": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "Optional UI label. Defaults to name."
|
|
49
|
+
},
|
|
50
|
+
"category": {
|
|
51
|
+
"const": "cli",
|
|
52
|
+
"description": "Must be \"cli\" for this schema."
|
|
53
|
+
},
|
|
54
|
+
"icon": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"maxLength": 4,
|
|
57
|
+
"description": "Single emoji or short glyph."
|
|
58
|
+
},
|
|
59
|
+
"aliases": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"items": { "type": "string" },
|
|
62
|
+
"description": "Alternative identifiers accepted at launch."
|
|
63
|
+
},
|
|
64
|
+
"engines": {
|
|
65
|
+
"type": "object",
|
|
66
|
+
"additionalProperties": false,
|
|
67
|
+
"properties": {
|
|
68
|
+
"adhdev": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "SemVer range against the ADHDev contract version. Required for marketplace-published providers."
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"description": "Optional today; required by marketplace publish flow once registry is live."
|
|
74
|
+
},
|
|
75
|
+
"providerVersion": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"description": "Provider package SemVer."
|
|
78
|
+
},
|
|
79
|
+
"contractVersion": {
|
|
80
|
+
"type": ["number", "string"],
|
|
81
|
+
"description": "Legacy contract version. Reserved."
|
|
82
|
+
},
|
|
83
|
+
"status": {
|
|
84
|
+
"enum": ["Stable", "Beta", "Experimental", "Deprecated"]
|
|
85
|
+
},
|
|
86
|
+
"details": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"description": "Short blurb shown in marketplace."
|
|
89
|
+
},
|
|
90
|
+
"disableUpstream": {
|
|
91
|
+
"type": "boolean",
|
|
92
|
+
"description": "When true, daemon does not auto-sync this provider from registry. claude-cli uses this for explicit-version pinning."
|
|
93
|
+
},
|
|
94
|
+
"binary": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"minLength": 1,
|
|
97
|
+
"description": "Binary basename used for which-style detection."
|
|
98
|
+
},
|
|
99
|
+
"versionCommand": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"description": "Command the daemon runs to probe installed version. Example: \"my-cli --version\"."
|
|
102
|
+
},
|
|
103
|
+
"spawn": {
|
|
104
|
+
"type": "object",
|
|
105
|
+
"required": ["command"],
|
|
106
|
+
"additionalProperties": false,
|
|
107
|
+
"properties": {
|
|
108
|
+
"command": { "type": "string", "minLength": 1 },
|
|
109
|
+
"args": {
|
|
110
|
+
"type": "array",
|
|
111
|
+
"items": { "type": "string" },
|
|
112
|
+
"default": []
|
|
113
|
+
},
|
|
114
|
+
"shell": { "type": "boolean", "default": false },
|
|
115
|
+
"env": {
|
|
116
|
+
"type": "object",
|
|
117
|
+
"additionalProperties": { "type": "string" },
|
|
118
|
+
"default": {}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"sendDelayMs": {
|
|
123
|
+
"type": "number",
|
|
124
|
+
"minimum": 0,
|
|
125
|
+
"description": "Delay between pasting prompt text and pressing Enter."
|
|
126
|
+
},
|
|
127
|
+
"scriptCallBudgetMs": {
|
|
128
|
+
"type": "integer",
|
|
129
|
+
"minimum": 1,
|
|
130
|
+
"maximum": 5000,
|
|
131
|
+
"default": 50,
|
|
132
|
+
"description": "Per-invocation wall-clock budget (ms) for provider scripts (detectStatus, parseSession, parseApproval). Default 50. Scripts that exceed the budget are flagged in the runner's invocation trace and surfaced via the debug bundle so operators can identify a hanging settle loop. The budget is NOT a hard kill — Node CJS cannot interrupt synchronous code without a worker thread."
|
|
133
|
+
},
|
|
134
|
+
"sendKey": {
|
|
135
|
+
"type": "string",
|
|
136
|
+
"default": "\r",
|
|
137
|
+
"description": "Character sent to submit a prompt. Default carriage return."
|
|
138
|
+
},
|
|
139
|
+
"submitStrategy": {
|
|
140
|
+
"enum": ["wait_for_echo", "immediate"],
|
|
141
|
+
"default": "immediate"
|
|
142
|
+
},
|
|
143
|
+
"requirePromptEchoBeforeSubmit": {
|
|
144
|
+
"type": "boolean",
|
|
145
|
+
"default": false,
|
|
146
|
+
"description": "When true, daemon waits for the typed prompt to be visible in the PTY screen before sending sendKey."
|
|
147
|
+
},
|
|
148
|
+
"allowInputDuringGeneration": {
|
|
149
|
+
"type": "boolean",
|
|
150
|
+
"default": false,
|
|
151
|
+
"description": "When true, daemon permits sending a new prompt mid-generation."
|
|
152
|
+
},
|
|
153
|
+
"requiresFinalAssistantBeforeIdle": {
|
|
154
|
+
"type": "boolean",
|
|
155
|
+
"default": false,
|
|
156
|
+
"description": "When true, daemon defers generating→idle until parseSession includes a final standard assistant message."
|
|
157
|
+
},
|
|
158
|
+
"augmentStaleSnapshot": {
|
|
159
|
+
"type": "boolean",
|
|
160
|
+
"description": "Reserved for future use."
|
|
161
|
+
},
|
|
162
|
+
"transcriptAuthority": {
|
|
163
|
+
"enum": ["provider", "daemon"],
|
|
164
|
+
"description": "When 'provider', daemon treats parsed output as canonical and suppresses fallback parsing."
|
|
165
|
+
},
|
|
166
|
+
"transcriptContext": {
|
|
167
|
+
"enum": ["full", "tail"],
|
|
168
|
+
"description": "When 'full', provider-owned parser receives the entire accumulated transcript context."
|
|
169
|
+
},
|
|
170
|
+
"patterns": {
|
|
171
|
+
"type": "object",
|
|
172
|
+
"additionalProperties": false,
|
|
173
|
+
"description": "Optional regex hints for the legacy fallback detector. Modern providers express these via primitives.",
|
|
174
|
+
"properties": {
|
|
175
|
+
"prompt": { "$ref": "#/$defs/patternList" },
|
|
176
|
+
"generating": { "$ref": "#/$defs/patternList" },
|
|
177
|
+
"approval": { "$ref": "#/$defs/patternList" },
|
|
178
|
+
"ready": { "$ref": "#/$defs/patternList" },
|
|
179
|
+
"dialog": { "$ref": "#/$defs/patternList" }
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"approvalKeys": {
|
|
183
|
+
"type": "object",
|
|
184
|
+
"patternProperties": {
|
|
185
|
+
"^[0-9]+$": { "type": "string" }
|
|
186
|
+
},
|
|
187
|
+
"additionalProperties": false,
|
|
188
|
+
"description": "Map of button index → key sequence to send."
|
|
189
|
+
},
|
|
190
|
+
"approvalPositiveHints": {
|
|
191
|
+
"type": "array",
|
|
192
|
+
"items": { "type": "string" },
|
|
193
|
+
"description": "Lowercase substrings considered \"positive\" (accept). Auto-approve picks the matching button."
|
|
194
|
+
},
|
|
195
|
+
"timeouts": {
|
|
196
|
+
"type": "object",
|
|
197
|
+
"additionalProperties": false,
|
|
198
|
+
"properties": {
|
|
199
|
+
"ptyFlush": { "type": "number", "minimum": 0 },
|
|
200
|
+
"dialogAccept": { "type": "number", "minimum": 0 },
|
|
201
|
+
"approvalCooldown": { "type": "number", "minimum": 0 },
|
|
202
|
+
"generatingIdle": { "type": "number", "minimum": 0 },
|
|
203
|
+
"idleFinish": { "type": "number", "minimum": 0 },
|
|
204
|
+
"idleFinishConfirm": { "type": "number", "minimum": 0 },
|
|
205
|
+
"statusActivityHold": { "type": "number", "minimum": 0 },
|
|
206
|
+
"maxResponse": { "type": "number", "minimum": 0 },
|
|
207
|
+
"shutdownGrace": { "type": "number", "minimum": 0 },
|
|
208
|
+
"outputSettle": { "type": "number", "minimum": 0 }
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
"resume": {
|
|
212
|
+
"type": "object",
|
|
213
|
+
"additionalProperties": false,
|
|
214
|
+
"required": ["supported"],
|
|
215
|
+
"properties": {
|
|
216
|
+
"supported": { "type": "boolean" },
|
|
217
|
+
"stopStrategy": { "enum": ["command", "ctrl_c", "signal"] },
|
|
218
|
+
"stopCommand": { "type": "string" },
|
|
219
|
+
"shutdownGraceMs": { "type": "number", "minimum": 0 },
|
|
220
|
+
"sessionIdFormat": { "enum": ["uuid", "free", "string"] },
|
|
221
|
+
"newSessionArgs": {
|
|
222
|
+
"type": "array",
|
|
223
|
+
"items": { "type": "string" }
|
|
224
|
+
},
|
|
225
|
+
"resumeSessionArgs": {
|
|
226
|
+
"type": "array",
|
|
227
|
+
"items": { "type": "string" }
|
|
228
|
+
},
|
|
229
|
+
"resumeArgs": {
|
|
230
|
+
"type": "array",
|
|
231
|
+
"items": { "type": "string" }
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"compatibility": {
|
|
236
|
+
"type": "array",
|
|
237
|
+
"minItems": 1,
|
|
238
|
+
"items": {
|
|
239
|
+
"type": "object",
|
|
240
|
+
"required": ["ideVersion"],
|
|
241
|
+
"additionalProperties": false,
|
|
242
|
+
"properties": {
|
|
243
|
+
"ideVersion": { "type": "string", "description": "SemVer range." },
|
|
244
|
+
"scriptDir": { "type": "string", "pattern": "^scripts/[^/]+$" },
|
|
245
|
+
"spec": { "type": "string", "pattern": "^specs/[^/]+\\.json$", "description": "Path to declarative spec.json driving SpecCliAdapter for this version range." }
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"description": "Maps installed agent versions to script subdirectories and/or declarative specs."
|
|
249
|
+
},
|
|
250
|
+
"defaultScriptDir": {
|
|
251
|
+
"type": "string",
|
|
252
|
+
"pattern": "^scripts/[^/]+$",
|
|
253
|
+
"description": "Fallback when no compatibility[] entry matches."
|
|
254
|
+
},
|
|
255
|
+
"capabilities": {
|
|
256
|
+
"type": "object",
|
|
257
|
+
"additionalProperties": false,
|
|
258
|
+
"properties": {
|
|
259
|
+
"input": {
|
|
260
|
+
"type": "object",
|
|
261
|
+
"additionalProperties": true,
|
|
262
|
+
"properties": {
|
|
263
|
+
"multipart": { "type": "boolean" },
|
|
264
|
+
"mediaTypes": {
|
|
265
|
+
"type": "array",
|
|
266
|
+
"items": { "type": "string" }
|
|
267
|
+
},
|
|
268
|
+
"strategies": { "type": "array" }
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
"output": {
|
|
272
|
+
"type": "object",
|
|
273
|
+
"additionalProperties": true,
|
|
274
|
+
"properties": {
|
|
275
|
+
"richContent": { "type": "boolean" },
|
|
276
|
+
"mediaTypes": {
|
|
277
|
+
"type": "array",
|
|
278
|
+
"items": { "type": "string" }
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
"controls": {
|
|
283
|
+
"type": "object",
|
|
284
|
+
"additionalProperties": true,
|
|
285
|
+
"properties": {
|
|
286
|
+
"typedResults": { "type": "boolean" }
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
"meshCoordinator": {
|
|
292
|
+
"type": "object",
|
|
293
|
+
"additionalProperties": false,
|
|
294
|
+
"required": ["supported"],
|
|
295
|
+
"properties": {
|
|
296
|
+
"supported": { "type": "boolean" },
|
|
297
|
+
"mcpConfig": {
|
|
298
|
+
"type": "object",
|
|
299
|
+
"additionalProperties": false,
|
|
300
|
+
"properties": {
|
|
301
|
+
"mode": { "enum": ["manual", "auto_import"] },
|
|
302
|
+
"format": { "type": "string" },
|
|
303
|
+
"path": { "type": "string" },
|
|
304
|
+
"configPathCommand": { "type": "string" },
|
|
305
|
+
"serverName": { "type": "string" },
|
|
306
|
+
"requiresRestart": { "type": "boolean" },
|
|
307
|
+
"instructions": { "type": "string" },
|
|
308
|
+
"template": { "type": "string" }
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
"systemPromptInjection": {
|
|
312
|
+
"description": "How the coordinator system prompt reaches the launched CLI. Replaces hard-coded router branches per CLI type; users may override the prompt body or the injection mechanism here.",
|
|
313
|
+
"oneOf": [
|
|
314
|
+
{ "type": "object", "additionalProperties": false, "required": ["mode", "flag"],
|
|
315
|
+
"properties": { "mode": { "const": "cli_arg" }, "flag": { "type": "string" } } },
|
|
316
|
+
{ "type": "object", "additionalProperties": false, "required": ["mode", "flag", "template"],
|
|
317
|
+
"properties": { "mode": { "const": "config_override" }, "flag": { "type": "string" }, "template": { "type": "string" } } },
|
|
318
|
+
{ "type": "object", "additionalProperties": false, "required": ["mode", "path"],
|
|
319
|
+
"properties": { "mode": { "const": "context_file" }, "path": { "type": "string" }, "wrapper": { "type": "string" } } },
|
|
320
|
+
{ "type": "object", "additionalProperties": false, "required": ["mode", "name"],
|
|
321
|
+
"properties": { "mode": { "const": "env_var" }, "name": { "type": "string" } } }
|
|
322
|
+
]
|
|
323
|
+
},
|
|
324
|
+
"delegatedWorkerIsolation": {
|
|
325
|
+
"description": "Provider-declared launch isolation for coordinator-spawned worker sessions. Keeps worker-only sessions from inheriting coordinator MCP/tools/config.",
|
|
326
|
+
"type": "object",
|
|
327
|
+
"additionalProperties": false,
|
|
328
|
+
"properties": {
|
|
329
|
+
"env": {
|
|
330
|
+
"type": "object",
|
|
331
|
+
"additionalProperties": false,
|
|
332
|
+
"properties": {
|
|
333
|
+
"unset": {
|
|
334
|
+
"type": "array",
|
|
335
|
+
"items": { "type": "string", "minLength": 1 }
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
"args": {
|
|
340
|
+
"type": "array",
|
|
341
|
+
"items": {
|
|
342
|
+
"oneOf": [
|
|
343
|
+
{
|
|
344
|
+
"type": "object",
|
|
345
|
+
"additionalProperties": false,
|
|
346
|
+
"required": ["mode", "flag"],
|
|
347
|
+
"properties": {
|
|
348
|
+
"mode": { "const": "empty_mcp_config" },
|
|
349
|
+
"flag": { "type": "string", "minLength": 1 },
|
|
350
|
+
"strictFlag": { "type": "string", "minLength": 1 }
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"type": "object",
|
|
355
|
+
"additionalProperties": false,
|
|
356
|
+
"required": ["mode", "flag", "key", "value"],
|
|
357
|
+
"properties": {
|
|
358
|
+
"mode": { "const": "config_override" },
|
|
359
|
+
"flag": { "type": "string", "minLength": 1 },
|
|
360
|
+
"key": { "type": "string", "minLength": 1 },
|
|
361
|
+
"value": { "type": "string", "minLength": 1 },
|
|
362
|
+
"dedupeKey": { "type": "string", "minLength": 1 }
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
]
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
"nativeHistory": {
|
|
373
|
+
"type": "object",
|
|
374
|
+
"description": "Native transcript adapter declaration. v1 canonical field name. Daemon reads/lists provider-native history files via the named scripts (or the built-in adapter identified by $schema).",
|
|
375
|
+
"additionalProperties": true,
|
|
376
|
+
"properties": {
|
|
377
|
+
"$schema": { "type": "string" },
|
|
378
|
+
"format": { "type": "string" },
|
|
379
|
+
"watchPath": { "type": "string" },
|
|
380
|
+
"mode": { "enum": ["native-source", "materialized-mirror", "disabled", "daemon-mirror"] },
|
|
381
|
+
"contractVersion": { "type": "string" },
|
|
382
|
+
"scripts": {
|
|
383
|
+
"type": "object",
|
|
384
|
+
"additionalProperties": false,
|
|
385
|
+
"properties": {
|
|
386
|
+
"readSession": { "type": "string" },
|
|
387
|
+
"listSessions": { "type": "string" }
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
},
|
|
392
|
+
"canonicalHistory": {
|
|
393
|
+
"type": "object",
|
|
394
|
+
"description": "Deprecated v0 alias for `nativeHistory`. The loader copies this block into `nativeHistory` at load time. New manifests should use `nativeHistory` directly.",
|
|
395
|
+
"additionalProperties": true,
|
|
396
|
+
"properties": {
|
|
397
|
+
"format": { "type": "string" },
|
|
398
|
+
"watchPath": { "type": "string" },
|
|
399
|
+
"mode": { "enum": ["native-source", "materialized-mirror", "disabled", "daemon-mirror"] },
|
|
400
|
+
"contractVersion": { "type": "string" },
|
|
401
|
+
"scripts": {
|
|
402
|
+
"type": "object",
|
|
403
|
+
"additionalProperties": false,
|
|
404
|
+
"properties": {
|
|
405
|
+
"readSession": { "type": "string" },
|
|
406
|
+
"listSessions": { "type": "string" }
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
"settings": {
|
|
412
|
+
"type": "object",
|
|
413
|
+
"additionalProperties": { "$ref": "#/$defs/settingDef" }
|
|
414
|
+
},
|
|
415
|
+
"controls": {
|
|
416
|
+
"type": "array",
|
|
417
|
+
"items": { "$ref": "#/$defs/controlDef" }
|
|
418
|
+
},
|
|
419
|
+
"tui": {
|
|
420
|
+
"type": "object",
|
|
421
|
+
"description": "Declarative TUI parsing primitives. When present, daemon's builder synthesises detectStatus / parseApproval / parseSession from these blocks. Each block is identified by its $schema.",
|
|
422
|
+
"additionalProperties": true
|
|
423
|
+
},
|
|
424
|
+
"overrides": {
|
|
425
|
+
"type": "object",
|
|
426
|
+
"description": "Optional JS override pointers. Presence promotes the provider tier to `extended`. Each value identifies the handler being overridden and the relative path to the JS file implementing it.",
|
|
427
|
+
"additionalProperties": {
|
|
428
|
+
"oneOf": [
|
|
429
|
+
{ "type": "string", "description": "Relative path to the override JS file." },
|
|
430
|
+
{
|
|
431
|
+
"type": "object",
|
|
432
|
+
"required": ["path"],
|
|
433
|
+
"additionalProperties": false,
|
|
434
|
+
"properties": {
|
|
435
|
+
"$schema": { "type": "string" },
|
|
436
|
+
"path": { "type": "string" },
|
|
437
|
+
"reason": { "type": "string" }
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
]
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
},
|
|
444
|
+
"$defs": {
|
|
445
|
+
"patternList": {
|
|
446
|
+
"type": "array",
|
|
447
|
+
"items": {
|
|
448
|
+
"type": "object",
|
|
449
|
+
"required": ["source"],
|
|
450
|
+
"additionalProperties": false,
|
|
451
|
+
"properties": {
|
|
452
|
+
"source": { "type": "string", "description": "Regex source." },
|
|
453
|
+
"flags": { "type": "string", "pattern": "^[gimsuy]*$" }
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
},
|
|
457
|
+
"settingDef": {
|
|
458
|
+
"type": "object",
|
|
459
|
+
"required": ["type"],
|
|
460
|
+
"additionalProperties": false,
|
|
461
|
+
"properties": {
|
|
462
|
+
"type": { "enum": ["boolean", "number", "string", "select"] },
|
|
463
|
+
"default": {},
|
|
464
|
+
"public": { "type": "boolean" },
|
|
465
|
+
"label": { "type": "string" },
|
|
466
|
+
"description": { "type": "string" },
|
|
467
|
+
"options": { "type": "array" },
|
|
468
|
+
"min": { "type": "number" },
|
|
469
|
+
"max": { "type": "number" }
|
|
470
|
+
},
|
|
471
|
+
"allOf": [
|
|
472
|
+
{
|
|
473
|
+
"if": { "properties": { "type": { "const": "select" } } },
|
|
474
|
+
"then": { "required": ["options"] }
|
|
475
|
+
}
|
|
476
|
+
]
|
|
477
|
+
},
|
|
478
|
+
"controlDef": {
|
|
479
|
+
"type": "object",
|
|
480
|
+
"required": ["id", "type", "label"],
|
|
481
|
+
"additionalProperties": false,
|
|
482
|
+
"properties": {
|
|
483
|
+
"id": { "type": "string" },
|
|
484
|
+
"type": { "enum": ["select", "action", "toggle"] },
|
|
485
|
+
"label": { "type": "string" },
|
|
486
|
+
"icon": { "type": "string" },
|
|
487
|
+
"placement": { "type": "string" },
|
|
488
|
+
"order": { "type": "number" },
|
|
489
|
+
"dynamic": { "type": "boolean" },
|
|
490
|
+
"hidden": { "type": "boolean", "description": "When true, dashboard does not render the control directly. Used for commands triggered by other UI (slash menu, etc.)." },
|
|
491
|
+
"options": { "type": "array" },
|
|
492
|
+
"listScript": { "type": "string" },
|
|
493
|
+
"setScript": { "type": "string" },
|
|
494
|
+
"invokeScript": { "type": "string" },
|
|
495
|
+
"readFrom": { "type": "string" },
|
|
496
|
+
"resultDisplay": { "type": "string" },
|
|
497
|
+
"defaultValue": {},
|
|
498
|
+
"confirmTitle": { "type": "string" },
|
|
499
|
+
"confirmMessage": { "type": "string" },
|
|
500
|
+
"confirmLabel": { "type": "string" }
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
}
|