visionclaw 0.1.219-beta.0 → 0.1.219-dev.codex-issue-2805-worker-runtime.2
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/agent/api-proxy.d.ts +0 -16
- package/dist/agent/api-proxy.d.ts.map +1 -1
- package/dist/agent/api-proxy.js +9 -8
- package/dist/agent/api-proxy.js.map +1 -1
- package/dist/agent/browser-launcher.d.ts +3 -0
- package/dist/agent/browser-launcher.d.ts.map +1 -1
- package/dist/agent/browser-launcher.js +101 -43
- package/dist/agent/browser-launcher.js.map +1 -1
- package/dist/agent/coding-conventions.d.ts +8 -0
- package/dist/agent/coding-conventions.d.ts.map +1 -0
- package/dist/agent/coding-conventions.js +19 -0
- package/dist/agent/coding-conventions.js.map +1 -0
- package/dist/agent/command-handlers.d.ts.map +1 -1
- package/dist/agent/command-handlers.js +4 -16
- package/dist/agent/command-handlers.js.map +1 -1
- package/dist/agent/context-action-restart-fallback.d.ts.map +1 -1
- package/dist/agent/context-action-restart-fallback.js +9 -3
- package/dist/agent/context-action-restart-fallback.js.map +1 -1
- package/dist/agent/context-refresh.d.ts.map +1 -1
- package/dist/agent/context-refresh.js +0 -7
- package/dist/agent/context-refresh.js.map +1 -1
- package/dist/agent/context.d.ts +2 -4
- package/dist/agent/context.d.ts.map +1 -1
- package/dist/agent/context.js +12 -21
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/engine-fallback.d.ts +0 -35
- package/dist/agent/engine-fallback.d.ts.map +1 -1
- package/dist/agent/engine-fallback.js +4 -3
- package/dist/agent/engine-fallback.js.map +1 -1
- package/dist/agent/engine-switch.d.ts +19 -38
- package/dist/agent/engine-switch.d.ts.map +1 -1
- package/dist/agent/engine-switch.js +46 -111
- package/dist/agent/engine-switch.js.map +1 -1
- package/dist/agent/engines/browser-tool-policy.d.ts +12 -1
- package/dist/agent/engines/browser-tool-policy.d.ts.map +1 -1
- package/dist/agent/engines/browser-tool-policy.js +17 -2
- package/dist/agent/engines/browser-tool-policy.js.map +1 -1
- package/dist/agent/engines/claude/executor-shell-groups.d.ts +11 -0
- package/dist/agent/engines/claude/executor-shell-groups.d.ts.map +1 -0
- package/dist/agent/engines/claude/executor-shell-groups.js +22 -0
- package/dist/agent/engines/claude/executor-shell-groups.js.map +1 -0
- package/dist/agent/engines/claude/session.d.ts +13 -4
- package/dist/agent/engines/claude/session.d.ts.map +1 -1
- package/dist/agent/engines/claude/session.js +165 -84
- package/dist/agent/engines/claude/session.js.map +1 -1
- package/dist/agent/engines/pi/shared/usage.d.ts +6 -8
- package/dist/agent/engines/pi/shared/usage.d.ts.map +1 -1
- package/dist/agent/engines/pi/shared/usage.js +24 -7
- package/dist/agent/engines/pi/shared/usage.js.map +1 -1
- package/dist/agent/engines/pi/tools.d.ts +3 -10
- package/dist/agent/engines/pi/tools.d.ts.map +1 -1
- package/dist/agent/engines/pi/tools.js +6 -20
- package/dist/agent/engines/pi/tools.js.map +1 -1
- package/dist/agent/engines/pi-coding/executor-shell.d.ts +4 -0
- package/dist/agent/engines/pi-coding/executor-shell.d.ts.map +1 -0
- package/dist/agent/engines/pi-coding/executor-shell.js +175 -0
- package/dist/agent/engines/pi-coding/executor-shell.js.map +1 -0
- package/dist/agent/engines/pi-coding/session.d.ts +4 -4
- package/dist/agent/engines/pi-coding/session.d.ts.map +1 -1
- package/dist/agent/engines/pi-coding/session.js +118 -66
- package/dist/agent/engines/pi-coding/session.js.map +1 -1
- package/dist/agent/engines/pi-coding/tools.d.ts +2 -5
- package/dist/agent/engines/pi-coding/tools.d.ts.map +1 -1
- package/dist/agent/engines/pi-coding/tools.js +7 -5
- package/dist/agent/engines/pi-coding/tools.js.map +1 -1
- package/dist/agent/engines/session-types.d.ts +8 -8
- package/dist/agent/engines/session-types.d.ts.map +1 -1
- package/dist/agent/external-context/interrupt.d.ts +0 -2
- package/dist/agent/external-context/interrupt.d.ts.map +1 -1
- package/dist/agent/external-context/interrupt.js +0 -1
- package/dist/agent/external-context/interrupt.js.map +1 -1
- package/dist/agent/external-context/registry.d.ts +0 -2
- package/dist/agent/external-context/registry.d.ts.map +1 -1
- package/dist/agent/external-context/registry.js +2 -4
- package/dist/agent/external-context/registry.js.map +1 -1
- package/dist/agent/external-context/runtime.d.ts.map +1 -1
- package/dist/agent/external-context/runtime.js +15 -14
- package/dist/agent/external-context/runtime.js.map +1 -1
- package/dist/agent/external-context/types.d.ts +0 -2
- package/dist/agent/external-context/types.d.ts.map +1 -1
- package/dist/agent/fast-responder.d.ts +4 -20
- package/dist/agent/fast-responder.d.ts.map +1 -1
- package/dist/agent/fast-responder.js +28 -42
- package/dist/agent/fast-responder.js.map +1 -1
- package/dist/agent/interrupt-handler.d.ts +4 -18
- package/dist/agent/interrupt-handler.d.ts.map +1 -1
- package/dist/agent/interrupt-handler.js +52 -283
- package/dist/agent/interrupt-handler.js.map +1 -1
- package/dist/agent/lab-run-system-prompt.d.ts.map +1 -1
- package/dist/agent/lab-run-system-prompt.js +4 -1
- package/dist/agent/lab-run-system-prompt.js.map +1 -1
- package/dist/agent/lifecycle-trace.d.ts.map +1 -1
- package/dist/agent/lifecycle-trace.js +6 -5
- package/dist/agent/lifecycle-trace.js.map +1 -1
- package/dist/agent/loop.d.ts +9 -3
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +288 -157
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/memory-protocol.d.ts +2 -2
- package/dist/agent/memory-protocol.d.ts.map +1 -1
- package/dist/agent/memory-protocol.js +3 -15
- package/dist/agent/memory-protocol.js.map +1 -1
- package/dist/agent/memory-store.d.ts +58 -0
- package/dist/agent/memory-store.d.ts.map +1 -0
- package/dist/agent/memory-store.js +152 -0
- package/dist/agent/memory-store.js.map +1 -0
- package/dist/agent/model-provider.d.ts +18 -5
- package/dist/agent/model-provider.d.ts.map +1 -1
- package/dist/agent/model-provider.js +58 -18
- package/dist/agent/model-provider.js.map +1 -1
- package/dist/agent/nightly-maintenance/dreaming-batch.d.ts +184 -0
- package/dist/agent/nightly-maintenance/dreaming-batch.d.ts.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-batch.js +192 -0
- package/dist/agent/nightly-maintenance/dreaming-batch.js.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-files.d.ts +48 -0
- package/dist/agent/nightly-maintenance/dreaming-files.d.ts.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-files.js +109 -0
- package/dist/agent/nightly-maintenance/dreaming-files.js.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-ledger.d.ts +62 -0
- package/dist/agent/nightly-maintenance/dreaming-ledger.d.ts.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-ledger.js +146 -0
- package/dist/agent/nightly-maintenance/dreaming-ledger.js.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-planner.d.ts +86 -0
- package/dist/agent/nightly-maintenance/dreaming-planner.d.ts.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-planner.js +304 -0
- package/dist/agent/nightly-maintenance/dreaming-planner.js.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-runner.d.ts +93 -0
- package/dist/agent/nightly-maintenance/dreaming-runner.d.ts.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-runner.js +156 -0
- package/dist/agent/nightly-maintenance/dreaming-runner.js.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-sources.d.ts +115 -0
- package/dist/agent/nightly-maintenance/dreaming-sources.d.ts.map +1 -0
- package/dist/agent/nightly-maintenance/dreaming-sources.js +270 -0
- package/dist/agent/nightly-maintenance/dreaming-sources.js.map +1 -0
- package/dist/agent/nightly-maintenance/index.d.ts +28 -8
- package/dist/agent/nightly-maintenance/index.d.ts.map +1 -1
- package/dist/agent/nightly-maintenance/index.js +42 -15
- package/dist/agent/nightly-maintenance/index.js.map +1 -1
- package/dist/agent/nightly-maintenance/skill-learning-gate.js +1 -1
- package/dist/agent/nightly-maintenance/skill-learning-gate.js.map +1 -1
- package/dist/agent/nightly-maintenance/vocabulary-processor.d.ts +1 -1
- package/dist/agent/nightly-maintenance/vocabulary-processor.d.ts.map +1 -1
- package/dist/agent/product-identity.d.ts +5 -4
- package/dist/agent/product-identity.d.ts.map +1 -1
- package/dist/agent/product-identity.js +7 -6
- package/dist/agent/product-identity.js.map +1 -1
- package/dist/agent/public-activity.js +1 -1
- package/dist/agent/public-activity.js.map +1 -1
- package/dist/agent/reply-watchdog.d.ts +5 -3
- package/dist/agent/reply-watchdog.d.ts.map +1 -1
- package/dist/agent/reply-watchdog.js +6 -4
- package/dist/agent/reply-watchdog.js.map +1 -1
- package/dist/agent/runtime-context.d.ts +27 -0
- package/dist/agent/runtime-context.d.ts.map +1 -0
- package/dist/agent/runtime-context.js +60 -0
- package/dist/agent/runtime-context.js.map +1 -0
- package/dist/agent/runtime-disclosure-policy.d.ts +6 -0
- package/dist/agent/runtime-disclosure-policy.d.ts.map +1 -0
- package/dist/agent/runtime-disclosure-policy.js +16 -0
- package/dist/agent/runtime-disclosure-policy.js.map +1 -0
- package/dist/agent/runtime-surface.d.ts +15 -4
- package/dist/agent/runtime-surface.d.ts.map +1 -1
- package/dist/agent/runtime-surface.js +0 -1
- package/dist/agent/runtime-surface.js.map +1 -1
- package/dist/agent/session-manager.d.ts +30 -126
- package/dist/agent/session-manager.d.ts.map +1 -1
- package/dist/agent/session-manager.js +60 -484
- package/dist/agent/session-manager.js.map +1 -1
- package/dist/agent/state.d.ts +42 -2
- package/dist/agent/state.d.ts.map +1 -1
- package/dist/agent/state.js +21 -11
- package/dist/agent/state.js.map +1 -1
- package/dist/agent/stream-handler.d.ts +6 -13
- package/dist/agent/stream-handler.d.ts.map +1 -1
- package/dist/agent/stream-handler.js +8 -62
- package/dist/agent/stream-handler.js.map +1 -1
- package/dist/agent/system-prompt.d.ts +2 -0
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +21 -20
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/tool-usage.d.ts.map +1 -1
- package/dist/agent/tool-usage.js +0 -1
- package/dist/agent/tool-usage.js.map +1 -1
- package/dist/agent/transcript/transcript-backfill.js +3 -3
- package/dist/agent/transcript/transcript-backfill.js.map +1 -1
- package/dist/agent/transcript/transcript-indexer.d.ts +3 -31
- package/dist/agent/transcript/transcript-indexer.d.ts.map +1 -1
- package/dist/agent/transcript/transcript-indexer.js +58 -57
- package/dist/agent/transcript/transcript-indexer.js.map +1 -1
- package/dist/agent/transcript-parsers/trivial-tools.d.ts.map +1 -1
- package/dist/agent/transcript-parsers/trivial-tools.js +0 -2
- package/dist/agent/transcript-parsers/trivial-tools.js.map +1 -1
- package/dist/agent/transcript-parsers/types.d.ts +1 -1
- package/dist/agent/transcript-summarizer.d.ts +14 -0
- package/dist/agent/transcript-summarizer.d.ts.map +1 -1
- package/dist/agent/transcript-summarizer.js +69 -45
- package/dist/agent/transcript-summarizer.js.map +1 -1
- package/dist/agent/usage/usage-report-queue.d.ts.map +1 -1
- package/dist/agent/usage/usage-report-queue.js +53 -52
- package/dist/agent/usage/usage-report-queue.js.map +1 -1
- package/dist/agent/usage/usage-report-types.d.ts +1 -1
- package/dist/agent/usage/usage-report-types.d.ts.map +1 -1
- package/dist/agent/vocabulary-glossary.d.ts +3 -3
- package/dist/agent/wake-cycle-runner.d.ts +14 -17
- package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
- package/dist/agent/wake-cycle-runner.js +121 -290
- package/dist/agent/wake-cycle-runner.js.map +1 -1
- package/dist/builtin-skills/owner-manual/SKILL.md +2 -2
- package/dist/calendar/occurrence-ownership.d.ts.map +1 -1
- package/dist/calendar/occurrence-ownership.js +6 -5
- package/dist/calendar/occurrence-ownership.js.map +1 -1
- package/dist/calendar/scheduler.d.ts.map +1 -1
- package/dist/calendar/scheduler.js +4 -3
- package/dist/calendar/scheduler.js.map +1 -1
- package/dist/channels/interface.d.ts +8 -2
- package/dist/channels/interface.d.ts.map +1 -1
- package/dist/channels/interface.js +8 -1
- package/dist/channels/interface.js.map +1 -1
- package/dist/channels/manager.d.ts.map +1 -1
- package/dist/channels/manager.js +5 -1
- package/dist/channels/manager.js.map +1 -1
- package/dist/channels/queue.d.ts.map +1 -1
- package/dist/channels/queue.js +8 -0
- package/dist/channels/queue.js.map +1 -1
- package/dist/channels/tui.d.ts +14 -1
- package/dist/channels/tui.d.ts.map +1 -1
- package/dist/channels/tui.js +64 -2
- package/dist/channels/tui.js.map +1 -1
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +22 -53
- package/dist/cli/index.js.map +1 -1
- package/dist/config/index.d.ts +13 -7
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +51 -64
- package/dist/config/index.js.map +1 -1
- package/dist/config/types.d.ts +28 -7
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +22 -20
- package/dist/config/types.js.map +1 -1
- package/dist/conversations/lazy-runtime.d.ts +5 -0
- package/dist/conversations/lazy-runtime.d.ts.map +1 -0
- package/dist/conversations/lazy-runtime.js +12 -0
- package/dist/conversations/lazy-runtime.js.map +1 -0
- package/dist/conversations/runtime.d.ts +17 -0
- package/dist/conversations/runtime.d.ts.map +1 -0
- package/dist/conversations/runtime.js +92 -0
- package/dist/conversations/runtime.js.map +1 -0
- package/dist/conversations/scheduler.d.ts +57 -0
- package/dist/conversations/scheduler.d.ts.map +1 -0
- package/dist/conversations/scheduler.js +175 -0
- package/dist/conversations/scheduler.js.map +1 -0
- package/dist/data-processing/pipeline.d.ts +0 -2
- package/dist/data-processing/pipeline.d.ts.map +1 -1
- package/dist/data-processing/pipeline.js +19 -24
- package/dist/data-processing/pipeline.js.map +1 -1
- package/dist/data-processing/restructure.d.ts +0 -2
- package/dist/data-processing/restructure.d.ts.map +1 -1
- package/dist/data-processing/restructure.js +6 -9
- package/dist/data-processing/restructure.js.map +1 -1
- package/dist/data-processing/types.d.ts +2 -9
- package/dist/data-processing/types.d.ts.map +1 -1
- package/dist/data-processing/types.js +2 -13
- package/dist/data-processing/types.js.map +1 -1
- package/dist/email/email-route-store.d.ts.map +1 -1
- package/dist/email/email-route-store.js +6 -5
- package/dist/email/email-route-store.js.map +1 -1
- package/dist/i18n/messages.d.ts +26 -2
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/i18n/messages.js +30 -5
- package/dist/i18n/messages.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +11 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +49 -1
- package/dist/logger.js.map +1 -1
- package/dist/obs/mini-app/status.d.ts.map +1 -1
- package/dist/obs/mini-app/status.js +0 -1
- package/dist/obs/mini-app/status.js.map +1 -1
- package/dist/onboarding/onboarding-service-client.d.ts +1 -0
- package/dist/onboarding/onboarding-service-client.d.ts.map +1 -1
- package/dist/onboarding/onboarding-service-client.js.map +1 -1
- package/dist/onboarding/remote-set-owner.d.ts.map +1 -1
- package/dist/onboarding/remote-set-owner.js +0 -1
- package/dist/onboarding/remote-set-owner.js.map +1 -1
- package/dist/onboarding/set-owner.d.ts +1 -1
- package/dist/onboarding/set-owner.d.ts.map +1 -1
- package/dist/onboarding/set-owner.js +3 -6
- package/dist/onboarding/set-owner.js.map +1 -1
- package/dist/reconfigure.d.ts.map +1 -1
- package/dist/reconfigure.js +1 -32
- package/dist/reconfigure.js.map +1 -1
- package/dist/reset.d.ts.map +1 -1
- package/dist/reset.js +3 -1
- package/dist/reset.js.map +1 -1
- package/dist/threads/active-threads-store.d.ts.map +1 -1
- package/dist/threads/active-threads-store.js +8 -27
- package/dist/threads/active-threads-store.js.map +1 -1
- package/dist/threads/dreaming-execution.d.ts +10 -0
- package/dist/threads/dreaming-execution.d.ts.map +1 -0
- package/dist/threads/dreaming-execution.js +78 -0
- package/dist/threads/dreaming-execution.js.map +1 -0
- package/dist/threads/execution-authority.d.ts +43 -0
- package/dist/threads/execution-authority.d.ts.map +1 -0
- package/dist/threads/execution-authority.js +75 -0
- package/dist/threads/execution-authority.js.map +1 -0
- package/dist/threads/execution-budget.d.ts +107 -0
- package/dist/threads/execution-budget.d.ts.map +1 -0
- package/dist/threads/execution-budget.js +257 -0
- package/dist/threads/execution-budget.js.map +1 -0
- package/dist/threads/execution-host.d.ts +17 -0
- package/dist/threads/execution-host.d.ts.map +1 -0
- package/dist/threads/execution-host.js +66 -0
- package/dist/threads/execution-host.js.map +1 -0
- package/dist/threads/execution-scheduler.d.ts +162 -0
- package/dist/threads/execution-scheduler.d.ts.map +1 -0
- package/dist/threads/execution-scheduler.js +413 -0
- package/dist/threads/execution-scheduler.js.map +1 -0
- package/dist/threads/execution-snapshot.d.ts +91 -0
- package/dist/threads/execution-snapshot.d.ts.map +1 -0
- package/dist/threads/execution-snapshot.js +146 -0
- package/dist/threads/execution-snapshot.js.map +1 -0
- package/dist/threads/execution-store.d.ts +374 -0
- package/dist/threads/execution-store.d.ts.map +1 -0
- package/dist/threads/execution-store.js +910 -0
- package/dist/threads/execution-store.js.map +1 -0
- package/dist/threads/execution-thread-error.d.ts +9 -0
- package/dist/threads/execution-thread-error.d.ts.map +1 -0
- package/dist/threads/execution-thread-error.js +12 -0
- package/dist/threads/execution-thread-error.js.map +1 -0
- package/dist/threads/executor-exit.d.ts +18 -0
- package/dist/threads/executor-exit.d.ts.map +1 -0
- package/dist/threads/executor-exit.js +21 -0
- package/dist/threads/executor-exit.js.map +1 -0
- package/dist/threads/foreground-task.d.ts +91 -0
- package/dist/threads/foreground-task.d.ts.map +1 -0
- package/dist/threads/foreground-task.js +191 -0
- package/dist/threads/foreground-task.js.map +1 -0
- package/dist/threads/foreman-business.d.ts +9 -0
- package/dist/threads/foreman-business.d.ts.map +1 -0
- package/dist/threads/foreman-business.js +117 -0
- package/dist/threads/foreman-business.js.map +1 -0
- package/dist/threads/foreman-client.d.ts +18 -0
- package/dist/threads/foreman-client.d.ts.map +1 -0
- package/dist/threads/foreman-client.js +51 -0
- package/dist/threads/foreman-client.js.map +1 -0
- package/dist/threads/foreman-delivery.d.ts +5 -0
- package/dist/threads/foreman-delivery.d.ts.map +1 -0
- package/dist/threads/foreman-delivery.js +21 -0
- package/dist/threads/foreman-delivery.js.map +1 -0
- package/dist/threads/foreman-execution.d.ts +32 -0
- package/dist/threads/foreman-execution.d.ts.map +1 -0
- package/dist/threads/foreman-execution.js +90 -0
- package/dist/threads/foreman-execution.js.map +1 -0
- package/dist/threads/foreman-host.d.ts +77 -0
- package/dist/threads/foreman-host.d.ts.map +1 -0
- package/dist/threads/foreman-host.js +891 -0
- package/dist/threads/foreman-host.js.map +1 -0
- package/dist/threads/foreman-protocol.d.ts +242 -0
- package/dist/threads/foreman-protocol.d.ts.map +1 -0
- package/dist/threads/foreman-protocol.js +116 -0
- package/dist/threads/foreman-protocol.js.map +1 -0
- package/dist/threads/foreman-store.d.ts +151 -0
- package/dist/threads/foreman-store.d.ts.map +1 -0
- package/dist/threads/foreman-store.js +299 -0
- package/dist/threads/foreman-store.js.map +1 -0
- package/dist/threads/generic-execution.d.ts +25 -0
- package/dist/threads/generic-execution.d.ts.map +1 -0
- package/dist/threads/generic-execution.js +86 -0
- package/dist/threads/generic-execution.js.map +1 -0
- package/dist/threads/init-thread-dir.d.ts +2 -2
- package/dist/threads/init-thread-dir.d.ts.map +1 -1
- package/dist/threads/init-thread-dir.js +6 -6
- package/dist/threads/init-thread-dir.js.map +1 -1
- package/dist/threads/ipc.d.ts +108 -2
- package/dist/threads/ipc.d.ts.map +1 -1
- package/dist/threads/ipc.js +14 -2
- package/dist/threads/ipc.js.map +1 -1
- package/dist/threads/lab-run-thread.d.ts +3 -5
- package/dist/threads/lab-run-thread.d.ts.map +1 -1
- package/dist/threads/lab-run-thread.js +3 -5
- package/dist/threads/lab-run-thread.js.map +1 -1
- package/dist/threads/lab-runtime-policy.d.ts +26 -21
- package/dist/threads/lab-runtime-policy.d.ts.map +1 -1
- package/dist/threads/lab-runtime-policy.js +31 -126
- package/dist/threads/lab-runtime-policy.js.map +1 -1
- package/dist/threads/process-group.d.ts +41 -0
- package/dist/threads/process-group.d.ts.map +1 -0
- package/dist/threads/process-group.js +161 -0
- package/dist/threads/process-group.js.map +1 -0
- package/dist/threads/relay-adapter.d.ts +8 -0
- package/dist/threads/relay-adapter.d.ts.map +1 -1
- package/dist/threads/relay-adapter.js +26 -1
- package/dist/threads/relay-adapter.js.map +1 -1
- package/dist/threads/supervisor.d.ts +191 -57
- package/dist/threads/supervisor.d.ts.map +1 -1
- package/dist/threads/supervisor.js +766 -427
- package/dist/threads/supervisor.js.map +1 -1
- package/dist/threads/task-workspace.d.ts +8 -0
- package/dist/threads/task-workspace.d.ts.map +1 -0
- package/dist/threads/task-workspace.js +52 -0
- package/dist/threads/task-workspace.js.map +1 -0
- package/dist/threads/worker-entry.d.ts.map +1 -1
- package/dist/threads/worker-entry.js +314 -34
- package/dist/threads/worker-entry.js.map +1 -1
- package/dist/threads/worker-execution-runtime.d.ts +75 -0
- package/dist/threads/worker-execution-runtime.d.ts.map +1 -0
- package/dist/threads/worker-execution-runtime.js +142 -0
- package/dist/threads/worker-execution-runtime.js.map +1 -0
- package/dist/threads/worker-execution.d.ts +35 -0
- package/dist/threads/worker-execution.d.ts.map +1 -0
- package/dist/threads/worker-execution.js +2 -0
- package/dist/threads/worker-execution.js.map +1 -0
- package/dist/threads/worker-runtime-policy.d.ts +42 -0
- package/dist/threads/worker-runtime-policy.d.ts.map +1 -0
- package/dist/threads/worker-runtime-policy.js +98 -0
- package/dist/threads/worker-runtime-policy.js.map +1 -0
- package/dist/tools/adapter-tool.d.ts +12 -0
- package/dist/tools/adapter-tool.d.ts.map +1 -0
- package/dist/tools/adapter-tool.js +2 -0
- package/dist/tools/adapter-tool.js.map +1 -0
- package/dist/tools/data-service.d.ts +2 -2
- package/dist/tools/delegation.d.ts +121 -0
- package/dist/tools/delegation.d.ts.map +1 -0
- package/dist/tools/delegation.js +106 -0
- package/dist/tools/delegation.js.map +1 -0
- package/dist/tools/dream-memory.d.ts +122 -0
- package/dist/tools/dream-memory.d.ts.map +1 -0
- package/dist/tools/dream-memory.js +513 -0
- package/dist/tools/dream-memory.js.map +1 -0
- package/dist/tools/email.d.ts +1 -1
- package/dist/tools/execution-control.d.ts +31 -0
- package/dist/tools/execution-control.d.ts.map +1 -0
- package/dist/tools/execution-control.js +71 -0
- package/dist/tools/execution-control.js.map +1 -0
- package/dist/tools/index.d.ts +5 -7
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +7 -13
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/mcp-manager.d.ts +1 -1
- package/dist/tools/memory.d.ts +1 -1
- package/dist/tools/memory.d.ts.map +1 -1
- package/dist/tools/memory.js +69 -45
- package/dist/tools/memory.js.map +1 -1
- package/dist/tools/notify.d.ts +5 -0
- package/dist/tools/notify.d.ts.map +1 -1
- package/dist/tools/notify.js +45 -10
- package/dist/tools/notify.js.map +1 -1
- package/dist/tools/skill.d.ts +1 -1
- package/dist/tools/totp.d.ts +1 -1
- package/dist/tui/client.d.ts +1 -16
- package/dist/tui/client.d.ts.map +1 -1
- package/dist/tui/client.js +0 -4
- package/dist/tui/client.js.map +1 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +0 -41
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/protocol.d.ts +2 -1
- package/dist/tui/protocol.d.ts.map +1 -1
- package/dist/tui/protocol.js +2 -1
- package/dist/tui/protocol.js.map +1 -1
- package/dist/tui/renderer.d.ts.map +1 -1
- package/dist/tui/renderer.js +0 -5
- package/dist/tui/renderer.js.map +1 -1
- package/dist/tui/request-store.d.ts +1 -1
- package/dist/tui/request-store.d.ts.map +1 -1
- package/dist/tui/request-store.js +2 -2
- package/dist/tui/request-store.js.map +1 -1
- package/dist/tui/server.d.ts.map +1 -1
- package/dist/tui/server.js +137 -25
- package/dist/tui/server.js.map +1 -1
- package/dist/utils/claude-transcripts.d.ts +6 -0
- package/dist/utils/claude-transcripts.d.ts.map +1 -1
- package/dist/utils/claude-transcripts.js +8 -2
- package/dist/utils/claude-transcripts.js.map +1 -1
- package/dist/utils/restart.d.ts.map +1 -1
- package/dist/utils/restart.js +6 -0
- package/dist/utils/restart.js.map +1 -1
- package/dist-agent/bundle.cjs +2 -2
- package/package.json +1 -1
- package/dist/agent/mailbox.d.ts +0 -50
- package/dist/agent/mailbox.d.ts.map +0 -1
- package/dist/agent/mailbox.js +0 -124
- package/dist/agent/mailbox.js.map +0 -1
- package/dist/agent/nightly-maintenance/memory-dreaming-sweep.d.ts +0 -77
- package/dist/agent/nightly-maintenance/memory-dreaming-sweep.d.ts.map +0 -1
- package/dist/agent/nightly-maintenance/memory-dreaming-sweep.js +0 -158
- package/dist/agent/nightly-maintenance/memory-dreaming-sweep.js.map +0 -1
- package/dist/agent/nightly-maintenance/memory-dreaming.d.ts +0 -116
- package/dist/agent/nightly-maintenance/memory-dreaming.d.ts.map +0 -1
- package/dist/agent/nightly-maintenance/memory-dreaming.js +0 -458
- package/dist/agent/nightly-maintenance/memory-dreaming.js.map +0 -1
- package/dist/threads/task-contracts.d.ts +0 -194
- package/dist/threads/task-contracts.d.ts.map +0 -1
- package/dist/threads/task-contracts.js +0 -82
- package/dist/threads/task-contracts.js.map +0 -1
- package/dist/threads/task-sidecar.d.ts +0 -145
- package/dist/threads/task-sidecar.d.ts.map +0 -1
- package/dist/threads/task-sidecar.js +0 -311
- package/dist/threads/task-sidecar.js.map +0 -1
- package/dist/threads/task-store.d.ts +0 -172
- package/dist/threads/task-store.d.ts.map +0 -1
- package/dist/threads/task-store.js +0 -599
- package/dist/threads/task-store.js.map +0 -1
- package/dist/threads/thread-task-context.d.ts +0 -40
- package/dist/threads/thread-task-context.d.ts.map +0 -1
- package/dist/threads/thread-task-context.js +0 -160
- package/dist/threads/thread-task-context.js.map +0 -1
- package/dist/threads/thread-task-controller.d.ts +0 -122
- package/dist/threads/thread-task-controller.d.ts.map +0 -1
- package/dist/threads/thread-task-controller.js +0 -276
- package/dist/threads/thread-task-controller.js.map +0 -1
- package/dist/threads/thread-task-runtime.d.ts +0 -354
- package/dist/threads/thread-task-runtime.d.ts.map +0 -1
- package/dist/threads/thread-task-runtime.js +0 -917
- package/dist/threads/thread-task-runtime.js.map +0 -1
- package/dist/tools/switch-session.d.ts +0 -15
- package/dist/tools/switch-session.d.ts.map +0 -1
- package/dist/tools/switch-session.js +0 -88
- package/dist/tools/switch-session.js.map +0 -1
- package/dist/tools/thread-tasks.d.ts +0 -23
- package/dist/tools/thread-tasks.d.ts.map +0 -1
- package/dist/tools/thread-tasks.js +0 -122
- package/dist/tools/thread-tasks.js.map +0 -1
|
@@ -1,26 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* - Spawn worker processes on demand (child_process.fork)
|
|
6
|
-
* - Route messages to workers by threadId
|
|
7
|
-
* - Relay worker replies back to real channels
|
|
8
|
-
* - Enforce concurrency limits (maxConcurrentThreads)
|
|
9
|
-
* - Idle timeout & graceful worker shutdown
|
|
10
|
-
* - Crash detection & auto-restart
|
|
11
|
-
* - Force global commands (/restart, /upgrade, /subscribe, …) to the default thread
|
|
12
|
-
* - Engine switch (/engine): update thread.json + restart worker
|
|
13
|
-
* - Worker admission pause for the main process's nightly maintenance
|
|
14
|
-
* - Graceful supervisor shutdown: notify all workers
|
|
2
|
+
* Host for foreground conversations and the shared background execution pool.
|
|
3
|
+
* Chat queues run through ConversationScheduler. Only admitted executions and
|
|
4
|
+
* LabRuns fork processes; their ledger owns recovery and confirmed stops.
|
|
15
5
|
*/
|
|
16
6
|
import { type CommandMessage } from "../channels/interface.js";
|
|
17
7
|
import type { ChannelManager } from "../channels/manager.js";
|
|
18
8
|
import { MessageQueue } from "../channels/queue.js";
|
|
19
9
|
import { type Engine, type VisionClawConfig } from "../config/types.js";
|
|
20
|
-
import { type DreamingTarget } from "../agent/nightly-maintenance/memory-dreaming-sweep.js";
|
|
21
10
|
import { type ActiveThreadInfo } from "./ipc.js";
|
|
11
|
+
import { ExecutionStore, type ExecutionCaller, type ExecutionEvent, type ExecutionRecord, type SubmitPayload } from "./execution-store.js";
|
|
12
|
+
import { type ConversationFactory } from "../conversations/scheduler.js";
|
|
13
|
+
import { type ExecutionAuthority } from "./execution-authority.js";
|
|
14
|
+
import { type ExecutorGroupStatus } from "./process-group.js";
|
|
15
|
+
import type { ExecutionService } from "../agent/state.js";
|
|
16
|
+
import { type ExecutionBudgetLimits } from "./execution-snapshot.js";
|
|
22
17
|
import type { AgentFeedback } from "../agent/feedback.js";
|
|
23
18
|
import type { BrowserRuntimeResolution, DesktopRuntimeResolution } from "../agent/runtime-surface.js";
|
|
19
|
+
import { type ForemanCommand, type ForemanCommandResult } from "./foreman-protocol.js";
|
|
24
20
|
export { isGlobalCommand } from "./global-commands.js";
|
|
25
21
|
/**
|
|
26
22
|
* Resolve the entry point script used to fork worker processes.
|
|
@@ -48,6 +44,8 @@ export declare function resolveWorkerEntryPoint(): string;
|
|
|
48
44
|
*/
|
|
49
45
|
export declare function parseEngineCommand(text: string): Engine | "default" | null;
|
|
50
46
|
export interface ThreadSupervisorOptions {
|
|
47
|
+
/** Override only the foreground runtime (e.g. a deterministic chat fixture). */
|
|
48
|
+
conversationFactory?: ConversationFactory | null;
|
|
51
49
|
channelManager: ChannelManager;
|
|
52
50
|
messageQueue: MessageQueue;
|
|
53
51
|
maxConcurrentThreads: number;
|
|
@@ -74,7 +72,6 @@ export interface ThreadSupervisorOptions {
|
|
|
74
72
|
/** Main-process browser decision inherited by every worker. */
|
|
75
73
|
browserRuntimeResolution?: BrowserRuntimeResolution;
|
|
76
74
|
/** Delay before respawning a crashed worker. Default 2000ms. */
|
|
77
|
-
crashRestartDelayMs?: number;
|
|
78
75
|
/**
|
|
79
76
|
* Test seam for the per-thread durable queue. Production uses the queue.db
|
|
80
77
|
* inside each thread directory; tests can provide an in-memory substitute.
|
|
@@ -87,8 +84,48 @@ export interface ThreadSupervisorOptions {
|
|
|
87
84
|
* see agent-wide busy without waiting for the next idle tick.
|
|
88
85
|
*/
|
|
89
86
|
onBusyChange?: () => void;
|
|
87
|
+
/**
|
|
88
|
+
* Durable execution ledger (#2805 1c). Production opens the profile's
|
|
89
|
+
* executions.db; tests may pass their own. `null` disables generic executions.
|
|
90
|
+
*/
|
|
91
|
+
executionStore?: ExecutionStore | null;
|
|
92
|
+
/** Delivers execution events to their callers (TUI, General, maintenance). */
|
|
93
|
+
deliverExecutionEvent?: (event: ExecutionEvent, caller: ExecutionCaller) => Promise<boolean>;
|
|
94
|
+
/**
|
|
95
|
+
* Owner input arrived while maintenance holds admission. The maintenance
|
|
96
|
+
* owner preempts its step; admission stays held until that step stops.
|
|
97
|
+
*/
|
|
98
|
+
onMaintenanceInput?: () => void;
|
|
99
|
+
/**
|
|
100
|
+
* Foreman host for conversational workers' background-task commands
|
|
101
|
+
* (#2805 stage 3). The supervisor answers for the thread it actually talks
|
|
102
|
+
* to; internal executions are refused. Absent when Foreman is off.
|
|
103
|
+
*/
|
|
104
|
+
handleForemanCommand?: (threadId: string, command: ForemanCommand) => Promise<ForemanCommandResult>;
|
|
105
|
+
handleForemanBusinessRead?: (executionId: string, command: Extract<ForemanCommand, {
|
|
106
|
+
type: "business_read";
|
|
107
|
+
}>, workspace: string) => Promise<ForemanCommandResult>;
|
|
108
|
+
/** Signing authority for snapshots and Lab policies; one per host process by default. */
|
|
109
|
+
executionAuthority?: ExecutionAuthority;
|
|
110
|
+
/** Grace between a stop request and the force-kill of a worker. Default 10s. */
|
|
111
|
+
workerStopGraceMs?: number;
|
|
112
|
+
/** Test seam: process-group control for internal executors. */
|
|
113
|
+
executorGroups?: {
|
|
114
|
+
/** The leader exited; empty its group. Resolves false if members survive. */
|
|
115
|
+
reap: (pgid: number, timeoutMs: number) => Promise<boolean>;
|
|
116
|
+
/** Force-kill every member of a live executor's group. */
|
|
117
|
+
kill: (pgid: number) => void;
|
|
118
|
+
/** Whether a recorded executor group (leader start time included) still has members. */
|
|
119
|
+
status: (pgid: number, processStart: string) => ExecutorGroupStatus;
|
|
120
|
+
/** Force-kill a recorded executor group and wait for it to empty. */
|
|
121
|
+
killAndWait: (pgid: number, processStart: string, timeoutMs: number) => Promise<boolean>;
|
|
122
|
+
/** Stop the groups an executor's shells recorded outside its own group. */
|
|
123
|
+
stopRegistered: (threadId: string, timeoutMs: number) => Promise<boolean>;
|
|
124
|
+
};
|
|
90
125
|
}
|
|
91
126
|
export declare class ThreadSupervisor {
|
|
127
|
+
private readonly conversations;
|
|
128
|
+
private readonly foregroundDisabled;
|
|
92
129
|
private readonly channelManager;
|
|
93
130
|
private readonly messageQueue;
|
|
94
131
|
private readonly maxConcurrentThreads;
|
|
@@ -99,13 +136,16 @@ export declare class ThreadSupervisor {
|
|
|
99
136
|
private readonly workerEnv;
|
|
100
137
|
private readonly desktopRuntimeResolution;
|
|
101
138
|
private readonly browserRuntimeResolution;
|
|
102
|
-
private readonly crashRestartDelayMs;
|
|
103
139
|
private readonly threadQueueFactory;
|
|
104
140
|
private readonly onFeedback?;
|
|
105
141
|
private readonly onBusyChange?;
|
|
106
142
|
private readonly agentInstanceId;
|
|
107
|
-
/**
|
|
108
|
-
private readonly
|
|
143
|
+
/** Host signing authority, in memory only; deliberately unrelated to fin-app credentials. */
|
|
144
|
+
private readonly executionAuthority;
|
|
145
|
+
private readonly workerStopGraceMs;
|
|
146
|
+
private readonly executorGroups;
|
|
147
|
+
/** Executor process groups still being emptied after their leader exited. */
|
|
148
|
+
private readonly pendingGroupReaps;
|
|
109
149
|
private readonly latestActivities;
|
|
110
150
|
private readonly replyEscalation;
|
|
111
151
|
private readonly feedbackOutbox;
|
|
@@ -113,43 +153,32 @@ export declare class ThreadSupervisor {
|
|
|
113
153
|
private readonly workers;
|
|
114
154
|
/** Main-process handles for the durable queue.db owned by each thread. */
|
|
115
155
|
private readonly threadQueues;
|
|
116
|
-
/** Crash counts must outlive WorkerState objects, which are replaced on respawn. */
|
|
117
|
-
private readonly crashCounts;
|
|
118
|
-
/** Threads waiting for their bounded crash-backoff timer. */
|
|
119
|
-
private readonly restartTimers;
|
|
120
|
-
/** Startup failures / exhausted crash budgets stay dormant until new work arrives. */
|
|
121
|
-
private readonly recoveryExhaustedThreads;
|
|
122
156
|
/** True once shutdownAll() ran — no new workers may be spawned afterwards. */
|
|
123
157
|
private stopped;
|
|
124
158
|
private maintenancePaused;
|
|
125
|
-
|
|
159
|
+
/** The one execution the maintenance owner submitted under its pause. */
|
|
160
|
+
private maintenanceExecutionId;
|
|
161
|
+
private readonly onMaintenanceInput;
|
|
162
|
+
private readonly handleForemanCommand;
|
|
163
|
+
private readonly handleForemanBusinessRead;
|
|
164
|
+
private readonly executionStore;
|
|
165
|
+
private readonly executionScheduler;
|
|
126
166
|
constructor(options: ThreadSupervisorOptions);
|
|
127
167
|
/** Return the durable queue for a business thread, creating its directory. */
|
|
128
168
|
private getThreadQueue;
|
|
129
169
|
/** Enumerate persisted thread directories without trusting arbitrary names. */
|
|
130
170
|
private listPersistedThreadIds;
|
|
131
|
-
/**
|
|
132
|
-
|
|
133
|
-
/**
|
|
171
|
+
/** Persisted business threads whose transcripts Dreaming ingests; never Lab or execution threads. */
|
|
172
|
+
getPersistedThreadIds(): string[];
|
|
173
|
+
/**
|
|
174
|
+
* Atomically check all worker work and hold admission for one maintenance
|
|
175
|
+
* step. Internal executions count too: maintenance never starts while any
|
|
176
|
+
* execution runs, is stopping, or waits in the queue.
|
|
177
|
+
*/
|
|
134
178
|
tryPauseForMaintenance(): (() => void) | null;
|
|
135
179
|
/** Recover and schedule work that survived a daemon restart. */
|
|
136
180
|
recoverPendingThreads(): void;
|
|
137
|
-
/**
|
|
138
|
-
* Whether a thread without queued messages still has a task that may
|
|
139
|
-
* start (#1996 PR 5). Its worker queues the resume itself once it runs:
|
|
140
|
-
* the supervisor only starts it, it never writes the thread's task store.
|
|
141
|
-
* By design (owner 10-03): a task that is not due yet is not counted;
|
|
142
|
-
* its due or unblock wake comes from the existing calendar / event-trigger
|
|
143
|
-
* messages to the thread. Thread tasks never schedule wakes.
|
|
144
|
-
* TODO: a worker started this way whose first pass queues nothing (gated)
|
|
145
|
-
* has no idle timer until its first turn, so it holds a slot until evicted.
|
|
146
|
-
*/
|
|
147
|
-
private hasRunnableTasks;
|
|
148
|
-
/**
|
|
149
|
-
* Start persisted threads whenever a worker slot is available. Work remains
|
|
150
|
-
* in its queue.db when all slots are busy and is retried after a worker turn
|
|
151
|
-
* or exit, rather than being rejected or routed to the default thread.
|
|
152
|
-
*/
|
|
181
|
+
/** Resume durable foreground messages without allocating a worker process. */
|
|
153
182
|
private schedulePendingThreads;
|
|
154
183
|
/**
|
|
155
184
|
* ThreadRouter hook. Called by ChannelManager for every inbound message whose
|
|
@@ -166,7 +195,6 @@ export declare class ThreadSupervisor {
|
|
|
166
195
|
tryRouteMessage(msg: CommandMessage, threadId: string): boolean;
|
|
167
196
|
private routeMessageInternal;
|
|
168
197
|
private getActiveWorkerCount;
|
|
169
|
-
private evictLeastRecentlyActiveIdleWorker;
|
|
170
198
|
/**
|
|
171
199
|
* Switch a thread's engine: persist the model/provider into thread.json, then
|
|
172
200
|
* restart the worker if it is running (graceful shutdown → the next message
|
|
@@ -174,12 +202,109 @@ export declare class ThreadSupervisor {
|
|
|
174
202
|
* transcripts written by the old engine). Replies to the requester.
|
|
175
203
|
*/
|
|
176
204
|
private switchThreadEngine;
|
|
205
|
+
/** Start admitting and delivering internal executions (#2805 1c). */
|
|
206
|
+
startExecutions(): void;
|
|
207
|
+
/** Foreground turns have their own admission pool; execution slots are unrelated. */
|
|
208
|
+
acquireConversationTurn(signal?: AbortSignal): Promise<() => void>;
|
|
209
|
+
private handleConversationEvent;
|
|
210
|
+
/**
|
|
211
|
+
* The execution API for trusted in-process callers. Submissions are
|
|
212
|
+
* accepted only after the command, record and snapshot are durable.
|
|
213
|
+
*/
|
|
214
|
+
executionService(): ExecutionService | null;
|
|
215
|
+
/**
|
|
216
|
+
* The trusted maintenance entry (#2805 stage 2). Only the maintenance owner,
|
|
217
|
+
* while holding the pause it acquired, may submit; that one execution is the
|
|
218
|
+
* only work admitted until the hold is released. The caller and scope are
|
|
219
|
+
* fixed here, never taken from the payload.
|
|
220
|
+
*/
|
|
221
|
+
submitMaintenanceExecution(input: {
|
|
222
|
+
taskId: string;
|
|
223
|
+
payload: Partial<SubmitPayload> & {
|
|
224
|
+
goal: string;
|
|
225
|
+
};
|
|
226
|
+
budget: ExecutionBudgetLimits;
|
|
227
|
+
}): ExecutionRecord;
|
|
228
|
+
/** Preempt the maintenance execution: cancel it; it ends only after its executor stops. */
|
|
229
|
+
cancelMaintenanceExecution(reason: string): void;
|
|
230
|
+
/**
|
|
231
|
+
* While maintenance holds admission only its registered execution starts.
|
|
232
|
+
* A maintenance execution starts only under that hold, never on its own.
|
|
233
|
+
*/
|
|
234
|
+
private admissionSlotsFor;
|
|
235
|
+
/**
|
|
236
|
+
* After its outcome is applied, remove what a finished maintenance
|
|
237
|
+
* execution holds of memory and conversation text: its worker directory,
|
|
238
|
+
* its transcripts, and the report content in the execution ledger. The
|
|
239
|
+
* Dreaming edit log and backups are the record that is kept.
|
|
240
|
+
*/
|
|
241
|
+
discardMaintenanceExecutionContent(executionId: string): void;
|
|
242
|
+
/** Cancel a maintenance execution left queued by a previous host; nothing else. */
|
|
243
|
+
cancelStaleMaintenanceExecution(executionId: string): ExecutionRecord | null;
|
|
244
|
+
getExecutionRecord(executionId: string): ExecutionRecord | null;
|
|
245
|
+
latestExecutionForTask(taskId: string): ExecutionRecord | null;
|
|
246
|
+
/** Observe every committed execution event (live streams such as TUI SSE). */
|
|
247
|
+
onExecutionEvent(listener: (event: ExecutionEvent, caller: ExecutionCaller) => void): () => void;
|
|
248
|
+
/** The time budget frozen in an execution's stored snapshot. */
|
|
249
|
+
private timeBudgetOf;
|
|
250
|
+
/** A command changed an execution: admit queued work and stop cancelled executors. */
|
|
251
|
+
notifyExecutionChanged(record: ExecutionRecord): void;
|
|
252
|
+
/**
|
|
253
|
+
* Give a LabRun the same host execution record as other executions
|
|
254
|
+
* (#2805 1d). LabRun keeps its own Fin-App lease and explicit-rejection
|
|
255
|
+
* capacity contract, so it is admitted and started here in one step rather
|
|
256
|
+
* than queued. A crash-free restart of the host finds the record and its
|
|
257
|
+
* executor pid, and can prove that executor stopped before any retry runs.
|
|
258
|
+
*/
|
|
259
|
+
private recordLabExecution;
|
|
260
|
+
/**
|
|
261
|
+
* The LabRun executor exited. Its terminal facts already went to Fin-App
|
|
262
|
+
* through lab_run_control; the ledger records that the writer is gone so the
|
|
263
|
+
* shared Lab workspace may admit the next run. Lab never auto-resumes: a
|
|
264
|
+
* retry is a new LabRun.
|
|
265
|
+
*/
|
|
266
|
+
private confirmLabExecutionStopped;
|
|
267
|
+
/**
|
|
268
|
+
* Fin-App cancelled a LabRun, or its lease is gone. Record the request and
|
|
269
|
+
* stop the executor; the record turns `cancelled` only after the process exits.
|
|
270
|
+
*/
|
|
271
|
+
cancelLabRun(runId: string, reason: string): boolean;
|
|
272
|
+
/** A new LabRun may not start while another run of the same Lab still has a live executor. */
|
|
273
|
+
private labWriterBlocksAdmission;
|
|
274
|
+
/**
|
|
275
|
+
* Whether a Lab workspace may admit a new writer. Both this host's live
|
|
276
|
+
* workers and the ledger count: a LabRun that is running or stopping, or
|
|
277
|
+
* whose executor (including survivors in its process group) is not yet
|
|
278
|
+
* confirmed stopped, is still a writer, also across a host restart.
|
|
279
|
+
*/
|
|
280
|
+
hasLiveLabWriter(labId: number, exceptRunId?: string): boolean;
|
|
281
|
+
/**
|
|
282
|
+
* Forward accepted input to a running executor; a stopped one reads it on
|
|
283
|
+
* resume. An executor that is stopping gets nothing: it would consume the
|
|
284
|
+
* input and exit before its model could see it.
|
|
285
|
+
*/
|
|
286
|
+
forwardExecutionInput(executionId: string): void;
|
|
287
|
+
/**
|
|
288
|
+
* Fork the executor for an admitted generic execution. It shares the
|
|
289
|
+
* ordinary worker pool and its restrictions; its snapshot is frozen here.
|
|
290
|
+
*/
|
|
291
|
+
private spawnExecutionWorker;
|
|
177
292
|
/**
|
|
178
293
|
* Spawn a worker process for the given threadId.
|
|
179
294
|
*/
|
|
180
295
|
private spawnWorker;
|
|
181
296
|
private handleWorkerMessage;
|
|
182
|
-
|
|
297
|
+
/**
|
|
298
|
+
* A conversational worker's background-task command. The thread is the
|
|
299
|
+
* worker this supervisor started for it, never a value from the message;
|
|
300
|
+
* internal executions (Lab, Dreaming, Foreman workers) cannot delegate.
|
|
301
|
+
*/
|
|
302
|
+
private handleForemanRequest;
|
|
303
|
+
/**
|
|
304
|
+
* The executor is listening: hand it the admitted record from the ledger.
|
|
305
|
+
* Workers never open the ledger themselves.
|
|
306
|
+
*/
|
|
307
|
+
private handleExecutionBootstrap;
|
|
183
308
|
private handleLabRuntimeBootstrapReady;
|
|
184
309
|
private handleLabRuntimeBootstrapFailed;
|
|
185
310
|
private handleReady;
|
|
@@ -189,23 +314,29 @@ export declare class ThreadSupervisor {
|
|
|
189
314
|
private alertOwnerOfThreadDeliveryFailure;
|
|
190
315
|
/** Ack a relayed reply with the real adapter outcome. */
|
|
191
316
|
private sendReplyResult;
|
|
192
|
-
private handleTyping;
|
|
193
317
|
private handleStatus;
|
|
194
|
-
private handleTurnComplete;
|
|
195
|
-
private armIdleTimer;
|
|
196
318
|
private handleWorkerExit;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
319
|
+
/**
|
|
320
|
+
* The executor's leader exited. Empty its process group (the forked
|
|
321
|
+
* process leads it), then resolve the execution. A group that cannot be
|
|
322
|
+
* emptied keeps the execution, and a Lab's workspace, blocked.
|
|
323
|
+
*/
|
|
324
|
+
private confirmExecutorGroupStopped;
|
|
200
325
|
private freezeLabRuntimePolicy;
|
|
201
|
-
private publishSyntheticActivity;
|
|
202
|
-
/** Best-effort failure notice to the sender(s) of messages we could not process. */
|
|
203
|
-
private notifyPendingSendersOfFailure;
|
|
204
326
|
/**
|
|
205
327
|
* Deliver a message to the worker via IPC.
|
|
206
328
|
*/
|
|
207
329
|
private deliverToWorker;
|
|
208
|
-
private
|
|
330
|
+
private authority;
|
|
331
|
+
private labPolicyVerifyKey;
|
|
332
|
+
/** Freeze and sign a new generic execution's snapshot with this host's authority. */
|
|
333
|
+
signExecutionSnapshotFor(executionId: string, budget?: ExecutionBudgetLimits, caller?: ExecutionCaller): string;
|
|
334
|
+
/**
|
|
335
|
+
* Resolve and sign a new execution's snapshot: the thread's engine choice
|
|
336
|
+
* (else the profile's), the matching route from the current routing
|
|
337
|
+
* snapshot, and the default task budget. Failover state is not consulted.
|
|
338
|
+
*/
|
|
339
|
+
private admitExecutionSnapshot;
|
|
209
340
|
private authorizeLabRuntimePolicy;
|
|
210
341
|
/**
|
|
211
342
|
* Gracefully shutdown a worker.
|
|
@@ -220,7 +351,6 @@ export declare class ThreadSupervisor {
|
|
|
220
351
|
/** Matches {@link getThreadsOverview}: in-flight turn or buffered work. */
|
|
221
352
|
private isWorkerVisiblyBusy;
|
|
222
353
|
private emitBusyChangeIfNeeded;
|
|
223
|
-
private enqueuePendingWork;
|
|
224
354
|
/**
|
|
225
355
|
* Get a snapshot of all active (ready) worker threads for cross-thread
|
|
226
356
|
* awareness. Does not include the main "default" thread.
|
|
@@ -234,6 +364,8 @@ export declare class ThreadSupervisor {
|
|
|
234
364
|
* contains worker threads.
|
|
235
365
|
*/
|
|
236
366
|
refreshMainProcessAwareness(): void;
|
|
367
|
+
/** A chat must never receive another chat's task descriptions or inputs. */
|
|
368
|
+
private getConversationTaskSnapshot;
|
|
237
369
|
/**
|
|
238
370
|
* Obs-facing overview of all worker threads (including still-spawning ones),
|
|
239
371
|
* with pid for the dashboard. Distinct from {@link getActiveThreadsSnapshot}
|
|
@@ -244,6 +376,8 @@ export declare class ThreadSupervisor {
|
|
|
244
376
|
/** Obs-facing summary of a single worker thread. */
|
|
245
377
|
export interface ThreadOverview {
|
|
246
378
|
threadId: string;
|
|
379
|
+
kind?: "conversation" | "execution";
|
|
380
|
+
taskId?: string;
|
|
247
381
|
busy: boolean;
|
|
248
382
|
taskDescription: string;
|
|
249
383
|
lastActivityAt: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/threads/supervisor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/threads/supervisor.ts"],"names":[],"mappings":"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"}
|