@adhdev/daemon-core 0.9.82-rc.49 → 0.9.82-rc.490
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +220 -0
- package/dist/cli-adapters/provider-cli-adapter.d.ts +137 -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 +23 -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 +71 -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 +64 -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 +48 -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 +152 -0
- package/dist/commands/mesh-coordinator.d.ts +85 -1
- package/dist/commands/router-aggregate-status.d.ts +24 -0
- package/dist/commands/router-mesh-session-owner.d.ts +59 -0
- package/dist/commands/router-refine.d.ts +151 -0
- package/dist/commands/router-worktree-cleanup.d.ts +133 -0
- package/dist/commands/router.d.ts +203 -15
- package/dist/commands/upgrade-helper.d.ts +41 -1
- package/dist/config/chat-history.d.ts +11 -0
- package/dist/config/config.d.ts +19 -0
- package/dist/config/mesh-config.d.ts +65 -0
- package/dist/config/mesh-json-config.d.ts +199 -0
- package/dist/config/registry-resolver.d.ts +54 -0
- package/dist/config/repo-settings.d.ts +77 -0
- package/dist/config/state-store.d.ts +30 -0
- package/dist/daemon/dev-server.d.ts +0 -2
- package/dist/detection/cli-detector.d.ts +17 -0
- 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 +26 -2
- 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 +80 -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 +70 -17
- package/dist/index.js +53532 -19073
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +53283 -18989
- 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/debug-config.d.ts +16 -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 +256 -0
- package/dist/mesh/coordinator-prompt.d.ts +76 -0
- package/dist/mesh/coordinator-registry.d.ts +59 -0
- package/dist/mesh/mesh-active-work.d.ts +203 -0
- package/dist/mesh/mesh-clone-grace.d.ts +8 -0
- package/dist/mesh/mesh-completion-synthesis.d.ts +4 -0
- package/dist/mesh/mesh-coordinator-config.d.ts +21 -0
- package/dist/mesh/mesh-delivery-policy.d.ts +104 -0
- package/dist/mesh/mesh-event-classify.d.ts +7 -0
- package/dist/mesh/mesh-event-forwarding.d.ts +58 -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 +258 -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 +21 -1
- package/dist/mesh/mesh-init.d.ts +128 -0
- package/dist/mesh/mesh-ledger-reconciliation.d.ts +23 -4
- package/dist/mesh/mesh-ledger.d.ts +139 -1
- package/dist/mesh/mesh-magi-status.d.ts +63 -0
- package/dist/mesh/mesh-missions.d.ts +281 -0
- package/dist/mesh/mesh-node-identity.d.ts +310 -0
- package/dist/mesh/mesh-queue-assignment.d.ts +162 -0
- package/dist/mesh/mesh-reconcile-acked-hold.d.ts +17 -0
- package/dist/mesh/mesh-reconcile-config.d.ts +6 -0
- package/dist/mesh/mesh-reconcile-identity.d.ts +6 -0
- package/dist/mesh/mesh-reconcile-loop.d.ts +84 -0
- package/dist/mesh/mesh-reconcile-v2-backstop.d.ts +16 -0
- package/dist/mesh/mesh-refine-batch.d.ts +68 -0
- package/dist/mesh/mesh-refine-gates.d.ts +457 -0
- package/dist/mesh/mesh-refine-status.d.ts +62 -0
- package/dist/mesh/mesh-remote-event-pull.d.ts +15 -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 +567 -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 +34 -0
- package/dist/mesh/mesh-warmup-deadline.d.ts +68 -0
- package/dist/mesh/mesh-work-queue.d.ts +392 -1
- package/dist/mesh/preview-freshness.d.ts +28 -0
- package/dist/mesh/refine-config.d.ts +97 -0
- package/dist/mesh/worktree-bootstrap-config.d.ts +219 -0
- package/dist/providers/acp-provider-instance.d.ts +5 -0
- package/dist/providers/approval-utils.d.ts +46 -0
- package/dist/providers/chat-message-normalization.d.ts +58 -1
- package/dist/providers/cli-provider-effect-format.d.ts +30 -0
- package/dist/providers/cli-provider-history-dedup.d.ts +17 -0
- package/dist/providers/cli-provider-input-prompt.d.ts +12 -0
- package/dist/providers/cli-provider-instance-types.d.ts +45 -0
- package/dist/providers/cli-provider-instance.d.ts +426 -30
- package/dist/providers/cli-provider-status-helpers.d.ts +46 -0
- package/dist/providers/cli-provider-transcript-merge.d.ts +7 -0
- package/dist/providers/contracts.d.ts +196 -6
- package/dist/providers/external-sources.d.ts +71 -0
- package/dist/providers/manual-attendance.d.ts +79 -0
- package/dist/providers/native-history/antigravity-claim-registry.d.ts +39 -0
- package/dist/providers/native-history/antigravity-cli-transcript.d.ts +137 -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 +44 -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 +30 -0
- package/dist/providers/provider-instance.d.ts +31 -1
- package/dist/providers/provider-loader.d.ts +42 -5
- 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 +98 -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 +449 -0
- package/dist/providers/spec/fsm-evaluator.d.ts +93 -0
- package/dist/providers/spec/fsm-loader.d.ts +14 -0
- package/dist/providers/spec/fsm-types.d.ts +202 -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 +244 -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 +616 -12
- package/dist/runtime-defaults.d.ts +2 -0
- package/dist/session-host/managed-host.d.ts +64 -0
- package/dist/session-host/runtime-surface.d.ts +10 -16
- package/dist/sessions/registry.d.ts +26 -0
- package/dist/shared-types-extra.d.ts +2 -4
- package/dist/shared-types.d.ts +110 -55
- package/dist/status/chat-tail-hot-sessions.d.ts +40 -0
- 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 +27 -0
- package/dist/system/hash.d.ts +8 -0
- package/dist/system/load-better-sqlite3.d.ts +21 -0
- package/dist/types.d.ts +20 -6
- package/package.json +11 -4
- package/src/agent-stream/poller.ts +2 -3
- package/src/agent-stream/provider-adapter.ts +1 -1
- package/src/boot/daemon-lifecycle.ts +80 -14
- 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 +1282 -0
- package/src/cli-adapters/provider-cli-adapter.d.ts +1 -1
- package/src/cli-adapters/provider-cli-adapter.ts +1048 -1143
- 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/chat-commands-debug-bundle.ts +398 -0
- package/src/commands/chat-commands-read.ts +2788 -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.d.ts +2 -0
- package/src/commands/cli-manager.ts +724 -27
- package/src/commands/handler.ts +865 -2
- package/src/commands/high-family/index.ts +28 -0
- package/src/commands/high-family/mesh-coordinator-launch.ts +696 -0
- package/src/commands/high-family/mesh-events.ts +102 -0
- package/src/commands/high-family/mesh-status.ts +857 -0
- package/src/commands/high-family/types.ts +80 -0
- package/src/commands/low-family/coordinator-prompt.ts +125 -0
- package/src/commands/low-family/daemon-lifecycle.ts +120 -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 +282 -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 +270 -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 +1268 -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 +153 -0
- package/src/commands/mesh-coordinator.ts +334 -124
- package/src/commands/router-aggregate-status.ts +209 -0
- package/src/commands/router-mesh-session-owner.ts +114 -0
- package/src/commands/router-refine.ts +1794 -0
- package/src/commands/router-worktree-cleanup.ts +870 -0
- package/src/commands/router.ts +567 -4149
- package/src/commands/stream-commands.ts +8 -0
- package/src/commands/upgrade-helper.ts +310 -45
- package/src/config/chat-history.ts +517 -24
- package/src/config/config.ts +30 -0
- package/src/config/mesh-config.ts +300 -24
- package/src/config/mesh-json-config.ts +376 -0
- package/src/config/recent-activity.ts +8 -2
- package/src/config/registry-resolver.ts +100 -0
- package/src/config/repo-settings.ts +111 -0
- package/src/config/state-store.ts +55 -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 +94 -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 +112 -16
- package/src/git/git-diff.ts +81 -11
- package/src/git/git-executor.ts +12 -0
- package/src/git/git-status.ts +822 -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 +190 -13
- 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/debug-config.ts +25 -0
- package/src/logging/debug-trace.ts +7 -2
- 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 +510 -0
- package/src/mesh/coordinator-prompt.ts +627 -34
- package/src/mesh/coordinator-registry.ts +121 -0
- package/src/mesh/mesh-active-work.ts +706 -0
- package/src/mesh/mesh-clone-grace.ts +68 -0
- package/src/mesh/mesh-completion-synthesis.ts +416 -0
- package/src/mesh/mesh-coordinator-config.ts +97 -0
- package/src/mesh/mesh-delivery-policy.ts +284 -0
- package/src/mesh/mesh-event-classify.ts +78 -0
- package/src/mesh/mesh-event-forwarding.ts +2030 -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 +1548 -0
- package/src/mesh/mesh-events-stale.ts +452 -0
- package/src/mesh/mesh-events-utils.ts +443 -0
- package/src/mesh/mesh-events.ts +43 -1035
- package/src/mesh/mesh-fast-forward.ts +856 -0
- package/src/mesh/mesh-host-ownership.ts +41 -3
- package/src/mesh/mesh-init.ts +350 -0
- package/src/mesh/mesh-ledger-reconciliation.ts +12 -7
- package/src/mesh/mesh-ledger.ts +897 -102
- package/src/mesh/mesh-magi-status.ts +223 -0
- package/src/mesh/mesh-missions.ts +695 -0
- package/src/mesh/mesh-node-identity.ts +2065 -0
- package/src/mesh/mesh-queue-assignment.ts +2498 -0
- package/src/mesh/mesh-reconcile-acked-hold.ts +230 -0
- package/src/mesh/mesh-reconcile-config.ts +66 -0
- package/src/mesh/mesh-reconcile-identity.ts +103 -0
- package/src/mesh/mesh-reconcile-loop.ts +1696 -0
- package/src/mesh/mesh-reconcile-v2-backstop.ts +62 -0
- package/src/mesh/mesh-refine-batch.ts +205 -0
- package/src/mesh/mesh-refine-gates.ts +1792 -0
- package/src/mesh/mesh-refine-status.ts +231 -0
- package/src/mesh/mesh-remote-event-pull.ts +279 -0
- package/src/mesh/mesh-review-inbox.ts +308 -0
- package/src/mesh/mesh-routing.ts +291 -0
- package/src/mesh/mesh-runtime-store.ts +2292 -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 +215 -0
- package/src/mesh/mesh-warmup-deadline.ts +152 -0
- package/src/mesh/mesh-work-queue.ts +1489 -145
- package/src/mesh/preview-freshness.ts +163 -0
- package/src/mesh/refine-config.ts +129 -12
- package/src/mesh/worktree-bootstrap-config.ts +599 -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 +100 -6
- package/src/providers/chat-message-normalization.ts +126 -4
- package/src/providers/cli-provider-effect-format.ts +53 -0
- package/src/providers/cli-provider-history-dedup.ts +75 -0
- package/src/providers/cli-provider-input-prompt.ts +133 -0
- package/src/providers/cli-provider-instance-types.ts +131 -0
- package/src/providers/cli-provider-instance.ts +2771 -499
- package/src/providers/cli-provider-status-helpers.ts +123 -0
- package/src/providers/cli-provider-transcript-merge.ts +114 -0
- package/src/providers/contracts.d.ts +55 -0
- package/src/providers/contracts.ts +207 -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 +105 -0
- package/src/providers/native-history/antigravity-claim-registry.ts +138 -0
- package/src/providers/native-history/antigravity-cli-transcript.ts +1275 -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 +617 -0
- package/src/providers/native-history/hermes-cli-transcript.ts +312 -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 +24 -1
- package/src/providers/provider-loader.ts +700 -55
- package/src/providers/provider-schema.ts +93 -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 +261 -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 +538 -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 +246 -0
- package/src/providers/spec/cli-adapter.ts +1064 -0
- package/src/providers/spec/evaluator.ts +407 -0
- package/src/providers/spec/fsm-driver.ts +1528 -0
- package/src/providers/spec/fsm-evaluator.ts +290 -0
- package/src/providers/spec/fsm-loader.ts +128 -0
- package/src/providers/spec/fsm-types.ts +301 -0
- package/src/providers/spec/native-history-executor.ts +1241 -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 +284 -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 +861 -14
- package/src/runtime-defaults.ts +39 -0
- package/src/session-host/managed-host.ts +218 -0
- package/src/session-host/runtime-surface.ts +20 -80
- package/src/sessions/registry.ts +44 -0
- package/src/shared-types-extra.ts +2 -4
- package/src/shared-types.d.ts +8 -0
- package/src/shared-types.ts +148 -55
- package/src/status/builders.ts +69 -6
- package/src/status/chat-tail-hot-sessions.ts +117 -2
- package/src/status/normalize.ts +2 -0
- package/src/status/reporter.ts +19 -1
- package/src/status/snapshot.ts +100 -27
- 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 +26 -6
- 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,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI provider structured-input helpers — image materialization + prompt build.
|
|
3
|
+
*
|
|
4
|
+
* Pure move out of cli-provider-instance.ts (no behavior change): the input
|
|
5
|
+
* envelope → CLI prompt string construction and its image-materialization
|
|
6
|
+
* support. cli-provider-instance re-exports buildCliStructuredInputPrompt so
|
|
7
|
+
* existing importers/tests keep their path.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import * as os from 'os';
|
|
11
|
+
import * as path from 'path';
|
|
12
|
+
import * as crypto from 'crypto';
|
|
13
|
+
import * as fs from 'fs';
|
|
14
|
+
import { type InputEnvelope, type InputPart } from './contracts.js';
|
|
15
|
+
|
|
16
|
+
const IMAGE_MIME_EXTENSIONS: Record<string, string> = {
|
|
17
|
+
'image/png': '.png',
|
|
18
|
+
'image/jpeg': '.jpg',
|
|
19
|
+
'image/jpg': '.jpg',
|
|
20
|
+
'image/gif': '.gif',
|
|
21
|
+
'image/webp': '.webp',
|
|
22
|
+
'image/bmp': '.bmp',
|
|
23
|
+
'image/tiff': '.tiff',
|
|
24
|
+
'image/svg+xml': '.svg',
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
function filePathFromUri(uri: string): string | null {
|
|
28
|
+
if (!uri) return null;
|
|
29
|
+
if (uri.startsWith('file://')) {
|
|
30
|
+
try {
|
|
31
|
+
return decodeURIComponent(new URL(uri).pathname);
|
|
32
|
+
} catch {
|
|
33
|
+
return uri.slice('file://'.length);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (path.isAbsolute(uri)) return uri;
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function extensionForImageMime(mimeType: string): string {
|
|
41
|
+
return IMAGE_MIME_EXTENSIONS[mimeType.toLowerCase()] || '.img';
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function safeInputImageBasename(index: number, mimeType: string): string {
|
|
45
|
+
const extension = extensionForImageMime(mimeType);
|
|
46
|
+
const suffix = crypto.randomBytes(6).toString('hex');
|
|
47
|
+
return `adhdev-input-image-${Date.now()}-${index}-${suffix}${extension}`;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function materializeImageDataPart(part: Extract<InputPart, { type: 'image' }>, index: number, dir: string): string | null {
|
|
51
|
+
if (!part.data) return null;
|
|
52
|
+
const rawData = part.data.includes(',') ? part.data.split(',').pop() || '' : part.data;
|
|
53
|
+
if (!rawData) return null;
|
|
54
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
55
|
+
const filePath = path.join(dir, safeInputImageBasename(index, part.mimeType));
|
|
56
|
+
fs.writeFileSync(filePath, Buffer.from(rawData, 'base64'));
|
|
57
|
+
cleanupStaleMaterializedImages(dir);
|
|
58
|
+
return filePath;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const MATERIALIZED_IMAGE_MAX_AGE_MS = 60 * 60 * 1000; // 1 hour
|
|
62
|
+
const MATERIALIZED_IMAGE_CLEANUP_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes
|
|
63
|
+
let lastMaterializedImageCleanupAt = 0;
|
|
64
|
+
|
|
65
|
+
function cleanupStaleMaterializedImages(dir: string): void {
|
|
66
|
+
const now = Date.now();
|
|
67
|
+
if (now - lastMaterializedImageCleanupAt < MATERIALIZED_IMAGE_CLEANUP_INTERVAL_MS) return;
|
|
68
|
+
lastMaterializedImageCleanupAt = now;
|
|
69
|
+
try {
|
|
70
|
+
const entries = fs.readdirSync(dir);
|
|
71
|
+
for (const entry of entries) {
|
|
72
|
+
if (!entry.startsWith('adhdev-input-image-')) continue;
|
|
73
|
+
const fullPath = path.join(dir, entry);
|
|
74
|
+
try {
|
|
75
|
+
const stat = fs.statSync(fullPath);
|
|
76
|
+
if (now - stat.mtimeMs > MATERIALIZED_IMAGE_MAX_AGE_MS) {
|
|
77
|
+
fs.unlinkSync(fullPath);
|
|
78
|
+
}
|
|
79
|
+
} catch { /* file may have been removed concurrently */ }
|
|
80
|
+
}
|
|
81
|
+
} catch { /* dir may not exist or be inaccessible */ }
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function buildCliStructuredInputPrompt(
|
|
85
|
+
input: InputEnvelope,
|
|
86
|
+
options: { materializeDir?: string } = {},
|
|
87
|
+
): string {
|
|
88
|
+
const promptParts: string[] = [];
|
|
89
|
+
const imageRefs: string[] = [];
|
|
90
|
+
const resourceRefs: string[] = [];
|
|
91
|
+
const materializeDir = options.materializeDir || path.join(os.tmpdir(), 'adhdev-input-media');
|
|
92
|
+
|
|
93
|
+
input.parts.forEach((part, index) => {
|
|
94
|
+
if (part.type === 'text' && part.text.trim()) {
|
|
95
|
+
promptParts.push(part.text.trim());
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (part.type === 'image') {
|
|
100
|
+
const localPath = typeof part.uri === 'string' ? filePathFromUri(part.uri) : null;
|
|
101
|
+
const materializedPath = !localPath && part.data ? materializeImageDataPart(part, index, materializeDir) : null;
|
|
102
|
+
const ref = localPath || materializedPath || part.uri || '';
|
|
103
|
+
if (ref) imageRefs.push(ref);
|
|
104
|
+
if (part.alt?.trim()) promptParts.push(part.alt.trim());
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (part.type === 'resource_link') {
|
|
109
|
+
resourceRefs.push([part.title, part.name, part.description, part.uri].filter(Boolean).join('\n'));
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (part.type === 'resource') {
|
|
114
|
+
resourceRefs.push([part.name, part.text, part.uri].filter(Boolean).join('\n'));
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
// Only use textFallback when no explicit text parts were collected — it is
|
|
119
|
+
// the flattened version of the same parts, so appending it alongside them
|
|
120
|
+
// would duplicate the content for multipart inputs.
|
|
121
|
+
const hasExplicitTextParts = input.parts.some((part) => part.type === 'text' && part.text.trim());
|
|
122
|
+
if (!hasExplicitTextParts && input.textFallback.trim()) {
|
|
123
|
+
promptParts.push(input.textFallback.trim());
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
const ordered = [
|
|
127
|
+
...imageRefs,
|
|
128
|
+
...promptParts,
|
|
129
|
+
...resourceRefs,
|
|
130
|
+
].filter((value, index, values) => value.trim().length > 0 && values.indexOf(value) === index);
|
|
131
|
+
|
|
132
|
+
return ordered.join('\n');
|
|
133
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// Module-level types and constants extracted from cli-provider-instance.ts.
|
|
2
|
+
// Pure move — no behavior change. These were module-private in the original
|
|
3
|
+
// file; they are re-imported by cli-provider-instance.ts and used identically.
|
|
4
|
+
|
|
5
|
+
// Status snapshots only ever surface the newest messages: the cloud 'live'
|
|
6
|
+
// profile drops chat messages entirely (loaded lazily via read_chat on
|
|
7
|
+
// subscribe) and the 'full' profile caps activeChat.messages to the last 60
|
|
8
|
+
// (see status/normalize.ts). Unread/completion markers walk only the tail.
|
|
9
|
+
// So getState()'s saved-history hydration — which runs once per resume/manual
|
|
10
|
+
// CLI session on every status report — must read only a bounded tail, not the
|
|
11
|
+
// entire transcript. A full MAX_SAFE_INTEGER read here makes the initial
|
|
12
|
+
// status report O(transcript) × N(sessions), which is the real cold first-
|
|
13
|
+
// connection bottleneck on chat-heavy machines. The window comfortably exceeds
|
|
14
|
+
// the 60-message snapshot cap so dedup/collapse at the boundary stays stable.
|
|
15
|
+
export const STATUS_HYDRATION_TAIL_LIMIT = 200;
|
|
16
|
+
|
|
17
|
+
export type CompletedDebouncePending = {
|
|
18
|
+
chatTitle: string;
|
|
19
|
+
duration: number;
|
|
20
|
+
timestamp: number;
|
|
21
|
+
firstObservedAt: number;
|
|
22
|
+
previousStatus: string;
|
|
23
|
+
loggedBlockReason?: string;
|
|
24
|
+
loggedTranscriptProbe?: boolean;
|
|
25
|
+
transcriptProbeHistory?: ExternalTranscriptProbe[];
|
|
26
|
+
// ARCH-REFACTOR R1: the taskId of the turn that produced this (debounced) completion,
|
|
27
|
+
// captured SYNCHRONOUSLY at the generating→idle transition. The actual completion
|
|
28
|
+
// event is emitted later by the debounce flush, by which point a follow-up task may
|
|
29
|
+
// already have started its own turn and overwritten engine.currentTurnTaskId — so the
|
|
30
|
+
// id must be snapshotted here, not re-read at flush time.
|
|
31
|
+
taskId?: string;
|
|
32
|
+
// NOTIF Defect-B: the wall-clock start of the turn that produced this (debounced)
|
|
33
|
+
// completion, snapshotted SYNCHRONOUSLY at the generating→idle transition (same
|
|
34
|
+
// reason as taskId — a follow-up turn moves engine.currentTurnStartedAt). The
|
|
35
|
+
// completion's finalSummary is turn-scoped to bubbles at/after this instant so a
|
|
36
|
+
// debounce that flushes before the producing turn's final assistant bubble lands
|
|
37
|
+
// in the native transcript never echoes the PRIOR task's last bubble.
|
|
38
|
+
turnStartedAt?: number;
|
|
39
|
+
// FALSE-IDLE continuity: the busyEpoch value at the instant this pending was armed.
|
|
40
|
+
// The flush guard requires this.busyEpoch to still equal this — proving no busy
|
|
41
|
+
// phase (generating/waiting_approval) opened since arming. A momentary busy→idle
|
|
42
|
+
// blip in an inter-approval valley bumps busyEpoch, so a completion armed before
|
|
43
|
+
// the blip is cancelled at flush instead of emitting a stale mid-turn summary.
|
|
44
|
+
busyEpochAtArm?: number;
|
|
45
|
+
// FALSE-IDLE continuity: the adapter's raw PTY lastOutputAt at arm time. New PTY
|
|
46
|
+
// output after arming means the session was not continuously idle through the
|
|
47
|
+
// settle window (the agent kept printing), so the completion is cancelled.
|
|
48
|
+
lastOutputAtArm?: number;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export type CompletedFinalizationBlock = {
|
|
52
|
+
reason: string;
|
|
53
|
+
terminal?: boolean;
|
|
54
|
+
allowTimeout?: boolean;
|
|
55
|
+
// (SETTLE-VALLEY) When set, suppress the CANON-C decoupled-immediate emit for this
|
|
56
|
+
// missing_final_assistant block and HOLD (retry up to COMPLETED_FINALIZATION_MAX_WAIT_MS)
|
|
57
|
+
// until the native transcript's final assistant turn arrives (block clears → genuine emit)
|
|
58
|
+
// or the worker resumes (resume guard cancels). Set only for the inter-approval idle valley
|
|
59
|
+
// of a native-history mesh worker, where an immediate weak emit would freeze a truncated
|
|
60
|
+
// preamble summary (evidenceLevel=insufficient) into the append-only ledger before the
|
|
61
|
+
// worker's next approval turn resumes. Independent of valley length.
|
|
62
|
+
holdForTranscript?: boolean;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export type CompletionFinalAssistantEvidence = {
|
|
66
|
+
present: boolean;
|
|
67
|
+
messages: unknown[];
|
|
68
|
+
source: 'parsed' | 'external-native' | 'unavailable';
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export type ExternalTranscriptProbe = {
|
|
72
|
+
readAt: number;
|
|
73
|
+
msgCount: number;
|
|
74
|
+
lastRole: string | null;
|
|
75
|
+
lastKind: string | null;
|
|
76
|
+
contentLen: number;
|
|
77
|
+
sourcePath: string | null;
|
|
78
|
+
sourceMtimeMs: number | null;
|
|
79
|
+
mtimeAgeMs: number | null;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export const COMPLETED_FINALIZATION_RETRY_MS = 1000;
|
|
83
|
+
export const COMPLETED_FINALIZATION_MAX_WAIT_MS = 30_000;
|
|
84
|
+
// (FALSEIDLE-BGCHILD-a) Minimum generating→idle settle window for native-history mesh worker
|
|
85
|
+
// sessions. Native-history providers (e.g. claude-cli) normally flush the completion with
|
|
86
|
+
// flushDelay=0 — the transcript is authoritative, so there is no reason to wait. But a worker
|
|
87
|
+
// turn that spawns a BACKGROUND child (e.g. `npm test &`, a backgrounded Bash tool) can paint
|
|
88
|
+
// a burst of child output, fall quiet, and have the screen parser read a PRIOR/intermediate
|
|
89
|
+
// standard assistant as if the turn were done — firing a false idle while the agent is in fact
|
|
90
|
+
// still generating (e.g. mid-commit). With flushDelay=0 there is no window for the resume guard
|
|
91
|
+
// in flushCompletedDebounceIfFinalized (latestVisibleStatus !== 'idle' → cancel) to observe the
|
|
92
|
+
// agent picking the turn back up. A short non-zero settle window restores that resume guard for
|
|
93
|
+
// mesh workers without delaying genuinely-finished turns beyond this bound. Scoped to mesh
|
|
94
|
+
// worker sessions so interactive native-history sessions keep the immediate flush.
|
|
95
|
+
// 4000ms (was 1500): live measurement showed the completion event can fire 1.6–3s
|
|
96
|
+
// BEFORE the worker's final-assistant turn lands in the transcript on a natural
|
|
97
|
+
// generating→idle completion (no approval modal), freezing a prior intermediate
|
|
98
|
+
// bubble as finalSummary (evidenceLevel=insufficient). The 68a3c324 waiting_approval
|
|
99
|
+
// hold only covers the approval-resolved valley; widening this settle window to 4000ms
|
|
100
|
+
// covers that race AND the ~3s waiting_approval valley within the settle bound.
|
|
101
|
+
export const NATIVE_HISTORY_MESH_IDLE_SETTLE_MS = 4000;
|
|
102
|
+
// TASKBUBBLE-DUP: window during which an identical user-input ack (same trimmed
|
|
103
|
+
// content on the same instance) is treated as a redelivery of one dispatch and
|
|
104
|
+
// suppressed from the chat transcript. Matches the coordinator-side
|
|
105
|
+
// DUPLICATE_DISPATCH_WINDOW_MS (mesh-tools) so the daemon's bubble-level guard
|
|
106
|
+
// covers the same retry horizon as the MCP-level dispatch dedup.
|
|
107
|
+
export const USER_INPUT_ACK_DEDUP_WINDOW_MS = 60_000;
|
|
108
|
+
// GENERATING-BOUNDARY (R4c): window — measured from the startup-grace COLLAPSE moment
|
|
109
|
+
// (startupGraceCollapseAt), not boot — inside which a "first turn that ran+completed
|
|
110
|
+
// without the FSM ever observing a 'generating' frame" is attributed to the startup-grace
|
|
111
|
+
// collapse and synthesized (reason 'startup_grace_idle_turn_collapse').
|
|
112
|
+
// The spec's startup-grace exit is elapsed_ms=8000, so the FSM spends ~8s in 'starting'
|
|
113
|
+
// before collapsing to idle; a turn can be dispatched a few seconds AFTER that collapse
|
|
114
|
+
// (the live R4b miss: collapse at boot+8s, dispatch at boot+12.4s — already past a 12s
|
|
115
|
+
// boot-anchored window before the turn even started). Anchoring on the collapse moment
|
|
116
|
+
// covers dispatch-delay; R4d additionally anchors on the turn-START moment
|
|
117
|
+
// (engine.currentTurnStartedAt) so a non-trivial turn-DURATION cannot push the completion
|
|
118
|
+
// past a now-anchored window (the live rc.405 Probe2 miss). The strong discriminator is
|
|
119
|
+
// generatingStartedAt===0 (generating was never observed) AND a started-but-finished turn
|
|
120
|
+
// — the window only keeps the synthesized reason honest and scopes the synthesis to the
|
|
121
|
+
// boot collapse, so a much-later unobservably-fast turn is not mislabelled a startup collapse.
|
|
122
|
+
export const STARTUP_GRACE_IDLE_COLLAPSE_WINDOW_MS = 12_000;
|
|
123
|
+
|
|
124
|
+
/** Events that signal a dispatched mesh task has reached a terminal state.
|
|
125
|
+
* Detach the mesh assignment after emitting one of these so the worker's
|
|
126
|
+
* next unrelated turn doesn't impersonate another completion. */
|
|
127
|
+
export const TERMINAL_MESH_EVENTS = new Set([
|
|
128
|
+
'agent:generating_completed',
|
|
129
|
+
'agent:stopped',
|
|
130
|
+
'agent:ready',
|
|
131
|
+
]);
|