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
package/dist/threads/ipc.d.ts
CHANGED
|
@@ -12,7 +12,9 @@ import type { PublicThreadActivity } from "../agent/public-activity.js";
|
|
|
12
12
|
import type { CommandMessage, DeliveryKind, DeliveryTarget, MessageAttachment } from "../channels/interface.js";
|
|
13
13
|
import type { SignedLabRuntimePolicyEnvelope } from "./lab-runtime-policy.js";
|
|
14
14
|
import type { FinAppCredentials } from "../finapp-credentials.js";
|
|
15
|
+
import type { ExecutionInput, ExecutionRecord } from "./execution-store.js";
|
|
15
16
|
import type { AgentFeedback } from "../agent/feedback.js";
|
|
17
|
+
import type { ForemanCommand, ForemanCommandResult } from "./foreman-protocol.js";
|
|
16
18
|
/** Deliver an inbound message to the worker for processing. */
|
|
17
19
|
export interface IpcMessageDeliver {
|
|
18
20
|
type: "message";
|
|
@@ -58,7 +60,39 @@ export interface IpcLabRuntimeCredentials {
|
|
|
58
60
|
credentials?: FinAppCredentials;
|
|
59
61
|
errorMessage?: string;
|
|
60
62
|
}
|
|
61
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Supplementary input for the worker's internal execution (#2805 1c). The
|
|
65
|
+
* host has already stored it; the worker injects it at its next boundary and
|
|
66
|
+
* reports `input-applied`.
|
|
67
|
+
*/
|
|
68
|
+
export interface IpcExecutionInput {
|
|
69
|
+
type: "execution-input";
|
|
70
|
+
executionId: string;
|
|
71
|
+
inputSeq: number;
|
|
72
|
+
questionId: string | null;
|
|
73
|
+
text: string;
|
|
74
|
+
}
|
|
75
|
+
/** The Foreman host's answer to a conversational worker's background-task command (#2805 stage 3). */
|
|
76
|
+
export interface IpcForemanResponse {
|
|
77
|
+
type: "foreman-response";
|
|
78
|
+
requestId: string;
|
|
79
|
+
result: ForemanCommandResult;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* The host's answer to `execution-bootstrap-ready`: the admitted record this
|
|
83
|
+
* executor runs, read by the host from its ledger. The worker never opens the
|
|
84
|
+
* ledger itself.
|
|
85
|
+
*/
|
|
86
|
+
export interface IpcExecutionStart {
|
|
87
|
+
type: "execution-start";
|
|
88
|
+
record: ExecutionRecord;
|
|
89
|
+
unfinishedTools: {
|
|
90
|
+
toolName: string;
|
|
91
|
+
callId: string;
|
|
92
|
+
}[];
|
|
93
|
+
pendingInputs: ExecutionInput[];
|
|
94
|
+
}
|
|
95
|
+
export type MainToWorkerMessage = IpcMessageDeliver | IpcShutdown | IpcReplyResult | IpcLabRuntimeCredentials | IpcExecutionInput | IpcForemanResponse | IpcExecutionStart;
|
|
62
96
|
/** Worker has initialized and is ready to receive messages. */
|
|
63
97
|
export interface IpcReady {
|
|
64
98
|
type: "ready";
|
|
@@ -79,6 +113,17 @@ export interface IpcLabRuntimeBootstrapFailed {
|
|
|
79
113
|
labId: number;
|
|
80
114
|
errorMessage: string;
|
|
81
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* The LabRun lease is gone: Fin-App cancelled, archived or reassigned the run
|
|
118
|
+
* (#2805 1d). The worker is stopping; the host records the cancel request and
|
|
119
|
+
* confirms the executor stopped before another writer may use the workspace.
|
|
120
|
+
*/
|
|
121
|
+
export interface IpcLabRuntimeLeaseLost {
|
|
122
|
+
type: "lab-runtime-lease-lost";
|
|
123
|
+
threadId: string;
|
|
124
|
+
runId: string;
|
|
125
|
+
errorMessage: string;
|
|
126
|
+
}
|
|
82
127
|
/** Worker sends a reply (from notify_user or other outbound paths). */
|
|
83
128
|
export interface IpcReply {
|
|
84
129
|
type: "reply";
|
|
@@ -132,10 +177,71 @@ export interface IpcTurnComplete {
|
|
|
132
177
|
type: "turn-complete";
|
|
133
178
|
threadId: string;
|
|
134
179
|
}
|
|
135
|
-
|
|
180
|
+
/**
|
|
181
|
+
* Internal-execution reports (#2805 1c). The worker never writes the execution
|
|
182
|
+
* store; the host validates each report against the executor it started.
|
|
183
|
+
*/
|
|
184
|
+
export type IpcExecutionReport = {
|
|
185
|
+
type: "execution-result";
|
|
186
|
+
executionId: string;
|
|
187
|
+
status: "succeeded" | "failed";
|
|
188
|
+
summary?: string;
|
|
189
|
+
data?: Record<string, unknown>;
|
|
190
|
+
artifactRefs?: string[];
|
|
191
|
+
error?: {
|
|
192
|
+
code: string;
|
|
193
|
+
message: string;
|
|
194
|
+
};
|
|
195
|
+
processedInputSeq: number;
|
|
196
|
+
usage?: Record<string, unknown>;
|
|
197
|
+
} | {
|
|
198
|
+
type: "execution-progress";
|
|
199
|
+
executionId: string;
|
|
200
|
+
summary: string;
|
|
201
|
+
} | {
|
|
202
|
+
type: "execution-question";
|
|
203
|
+
executionId: string;
|
|
204
|
+
text: string;
|
|
205
|
+
choices?: string[];
|
|
206
|
+
delivery?: "direct" | "review";
|
|
207
|
+
} | {
|
|
208
|
+
type: "execution-input-applied";
|
|
209
|
+
executionId: string;
|
|
210
|
+
inputSeq: number;
|
|
211
|
+
} | {
|
|
212
|
+
type: "execution-tool";
|
|
213
|
+
executionId: string;
|
|
214
|
+
callId: string;
|
|
215
|
+
toolName: string;
|
|
216
|
+
phase: "started" | "finished";
|
|
217
|
+
}
|
|
218
|
+
/** Accumulated task budget usage; the host keeps the authoritative copy. */
|
|
219
|
+
| {
|
|
220
|
+
type: "execution-usage";
|
|
221
|
+
executionId: string;
|
|
222
|
+
usage: Record<string, unknown>;
|
|
223
|
+
};
|
|
224
|
+
/** An execution worker is listening and asks the host for its admitted record. */
|
|
225
|
+
export interface IpcExecutionBootstrapReady {
|
|
226
|
+
type: "execution-bootstrap-ready";
|
|
227
|
+
threadId: string;
|
|
228
|
+
}
|
|
229
|
+
export type WorkerToMainMessage = IpcReady | IpcLabRuntimeBootstrapReady | IpcLabRuntimeBootstrapFailed | IpcLabRuntimeLeaseLost | IpcReply | IpcTyping | IpcStatus | IpcFeedback | IpcTurnComplete | IpcExecutionReport | IpcExecutionBootstrapReady | IpcForemanRequest;
|
|
230
|
+
/**
|
|
231
|
+
* A conversational worker's background-task command for the Foreman host.
|
|
232
|
+
* The supervisor fills in the thread from the worker it talks to; internal
|
|
233
|
+
* executions are refused.
|
|
234
|
+
*/
|
|
235
|
+
export interface IpcForemanRequest {
|
|
236
|
+
type: "foreman-request";
|
|
237
|
+
requestId: string;
|
|
238
|
+
command: ForemanCommand;
|
|
239
|
+
}
|
|
136
240
|
/** Lightweight info about an active thread (used in cross-thread awareness). */
|
|
137
241
|
export interface ActiveThreadInfo {
|
|
138
242
|
threadId: string;
|
|
243
|
+
kind?: "conversation" | "execution";
|
|
244
|
+
taskId?: string;
|
|
139
245
|
busy: boolean;
|
|
140
246
|
taskDescription: string;
|
|
141
247
|
lastActivityAt: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipc.d.ts","sourceRoot":"","sources":["../../src/threads/ipc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChH,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ipc.d.ts","sourceRoot":"","sources":["../../src/threads/ipc.ts"],"names":[],"mappings":"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"}
|
package/dist/threads/ipc.js
CHANGED
|
@@ -16,7 +16,10 @@ export function isMainToWorkerMessage(data) {
|
|
|
16
16
|
return msg.type === "message" ||
|
|
17
17
|
msg.type === "shutdown" ||
|
|
18
18
|
msg.type === "reply-result" ||
|
|
19
|
-
msg.type === "lab-runtime-credentials"
|
|
19
|
+
msg.type === "lab-runtime-credentials" ||
|
|
20
|
+
msg.type === "execution-input" ||
|
|
21
|
+
msg.type === "foreman-response" ||
|
|
22
|
+
msg.type === "execution-start";
|
|
20
23
|
}
|
|
21
24
|
export function isWorkerToMainMessage(data) {
|
|
22
25
|
if (typeof data !== "object" || data === null)
|
|
@@ -25,10 +28,19 @@ export function isWorkerToMainMessage(data) {
|
|
|
25
28
|
return (msg.type === "ready" ||
|
|
26
29
|
msg.type === "lab-runtime-bootstrap-ready" ||
|
|
27
30
|
msg.type === "lab-runtime-bootstrap-failed" ||
|
|
31
|
+
msg.type === "lab-runtime-lease-lost" ||
|
|
28
32
|
msg.type === "reply" ||
|
|
29
33
|
msg.type === "typing" ||
|
|
30
34
|
msg.type === "status" ||
|
|
31
35
|
msg.type === "feedback" ||
|
|
32
|
-
msg.type === "turn-complete"
|
|
36
|
+
msg.type === "turn-complete" ||
|
|
37
|
+
msg.type === "execution-result" ||
|
|
38
|
+
msg.type === "execution-progress" ||
|
|
39
|
+
msg.type === "execution-question" ||
|
|
40
|
+
msg.type === "execution-input-applied" ||
|
|
41
|
+
msg.type === "execution-tool" ||
|
|
42
|
+
msg.type === "foreman-request" ||
|
|
43
|
+
msg.type === "execution-usage" ||
|
|
44
|
+
msg.type === "execution-bootstrap-ready");
|
|
33
45
|
}
|
|
34
46
|
//# sourceMappingURL=ipc.js.map
|
package/dist/threads/ipc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/threads/ipc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/threads/ipc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgQH,8EAA8E;AAE9E,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,GAAG,GAAG,IAA0B,CAAC;IACvC,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS;QAC3B,GAAG,CAAC,IAAI,KAAK,UAAU;QACvB,GAAG,CAAC,IAAI,KAAK,cAAc;QAC3B,GAAG,CAAC,IAAI,KAAK,yBAAyB;QACtC,GAAG,CAAC,IAAI,KAAK,iBAAiB;QAC9B,GAAG,CAAC,IAAI,KAAK,kBAAkB;QAC/B,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,GAAG,GAAG,IAA0B,CAAC;IACvC,OAAO,CACL,GAAG,CAAC,IAAI,KAAK,OAAO;QACpB,GAAG,CAAC,IAAI,KAAK,6BAA6B;QAC1C,GAAG,CAAC,IAAI,KAAK,8BAA8B;QAC3C,GAAG,CAAC,IAAI,KAAK,wBAAwB;QACrC,GAAG,CAAC,IAAI,KAAK,OAAO;QACpB,GAAG,CAAC,IAAI,KAAK,QAAQ;QACrB,GAAG,CAAC,IAAI,KAAK,QAAQ;QACrB,GAAG,CAAC,IAAI,KAAK,UAAU;QACvB,GAAG,CAAC,IAAI,KAAK,eAAe;QAC5B,GAAG,CAAC,IAAI,KAAK,kBAAkB;QAC/B,GAAG,CAAC,IAAI,KAAK,oBAAoB;QACjC,GAAG,CAAC,IAAI,KAAK,oBAAoB;QACjC,GAAG,CAAC,IAAI,KAAK,yBAAyB;QACtC,GAAG,CAAC,IAAI,KAAK,gBAAgB;QAC7B,GAAG,CAAC,IAAI,KAAK,iBAAiB;QAC9B,GAAG,CAAC,IAAI,KAAK,iBAAiB;QAC9B,GAAG,CAAC,IAAI,KAAK,2BAA2B,CACzC,CAAC;AACJ,CAAC"}
|
|
@@ -6,11 +6,9 @@
|
|
|
6
6
|
* its own session, but tools and prompt sections are still assembled
|
|
7
7
|
* process-wide.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* (default / fin-app discussion / LabRun / …) so Lab-only tools are not gated
|
|
13
|
-
* by string prefix at each registration site.
|
|
9
|
+
* Lab-only tools are registered by the Lab adapter (see
|
|
10
|
+
* `applyLabRuntimePolicyToSurface`), not by this prefix. The prefix remains a
|
|
11
|
+
* defensive check inside those tools and in outbound tools such as notify.
|
|
14
12
|
*/
|
|
15
13
|
export declare const LAB_RUN_THREAD_PREFIX = "fin-lab-run-";
|
|
16
14
|
export declare function isLabRunThreadId(threadId: string | null | undefined): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lab-run-thread.d.ts","sourceRoot":"","sources":["../../src/threads/lab-run-thread.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lab-run-thread.d.ts","sourceRoot":"","sources":["../../src/threads/lab-run-thread.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AAEpD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE7E"}
|
|
@@ -6,11 +6,9 @@
|
|
|
6
6
|
* its own session, but tools and prompt sections are still assembled
|
|
7
7
|
* process-wide.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* (default / fin-app discussion / LabRun / …) so Lab-only tools are not gated
|
|
13
|
-
* by string prefix at each registration site.
|
|
9
|
+
* Lab-only tools are registered by the Lab adapter (see
|
|
10
|
+
* `applyLabRuntimePolicyToSurface`), not by this prefix. The prefix remains a
|
|
11
|
+
* defensive check inside those tools and in outbound tools such as notify.
|
|
14
12
|
*/
|
|
15
13
|
export const LAB_RUN_THREAD_PREFIX = "fin-lab-run-";
|
|
16
14
|
export function isLabRunThreadId(threadId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lab-run-thread.js","sourceRoot":"","sources":["../../src/threads/lab-run-thread.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lab-run-thread.js","sourceRoot":"","sources":["../../src/threads/lab-run-thread.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAEpD,MAAM,UAAU,gBAAgB,CAAC,QAAmC;IAClE,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import type {
|
|
2
|
+
import type { AdapterTool } from "../tools/adapter-tool.js";
|
|
3
3
|
import type { RuntimeSurface } from "../agent/runtime-surface.js";
|
|
4
|
+
import { type ActiveWorkerRuntimePolicy } from "./worker-runtime-policy.js";
|
|
5
|
+
import { type SigningDomain } from "./execution-authority.js";
|
|
4
6
|
export declare const LAB_RUNTIME_POLICY_META_KEY = "visionclawLabRuntimePolicy";
|
|
5
7
|
export declare const LAB_RUNTIME_POLICY_ENV = "VISIONCLAW_LAB_RUNTIME_POLICY";
|
|
6
8
|
export declare const LAB_RUNTIME_POLICY_FILE = "lab-runtime-policy.json";
|
|
7
9
|
export declare const LabRuntimePolicyV1Schema: z.ZodObject<{
|
|
8
|
-
version: z.ZodLiteral<1>;
|
|
9
|
-
runId: z.ZodUUID;
|
|
10
|
-
labId: z.ZodNumber;
|
|
11
|
-
tenantId: z.ZodString;
|
|
12
|
-
bundlePath: z.ZodString;
|
|
13
|
-
bundleStoragePath: z.ZodOptional<z.ZodString>;
|
|
14
|
-
bundleDownloadPath: z.ZodOptional<z.ZodString>;
|
|
15
10
|
prompt: z.ZodObject<{
|
|
16
11
|
trustedOverlay: z.ZodDefault<z.ZodString>;
|
|
17
12
|
}, z.core.$strict>;
|
|
@@ -27,6 +22,13 @@ export declare const LabRuntimePolicyV1Schema: z.ZodObject<{
|
|
|
27
22
|
channels: z.ZodObject<{
|
|
28
23
|
outbound: z.ZodTuple<[], null>;
|
|
29
24
|
}, z.core.$strict>;
|
|
25
|
+
version: z.ZodLiteral<1>;
|
|
26
|
+
runId: z.ZodUUID;
|
|
27
|
+
labId: z.ZodNumber;
|
|
28
|
+
tenantId: z.ZodString;
|
|
29
|
+
bundlePath: z.ZodString;
|
|
30
|
+
bundleStoragePath: z.ZodOptional<z.ZodString>;
|
|
31
|
+
bundleDownloadPath: z.ZodOptional<z.ZodString>;
|
|
30
32
|
}, z.core.$strict>;
|
|
31
33
|
export type LabRuntimePolicyV1 = z.infer<typeof LabRuntimePolicyV1Schema>;
|
|
32
34
|
export interface SignedLabRuntimePolicyEnvelope {
|
|
@@ -41,22 +43,25 @@ export declare const LAB_RUNTIME_CODING_TOOLS: readonly ["read", "write", "edit"
|
|
|
41
43
|
export declare const LAB_RUNTIME_INTERACTION_TOOLS: readonly ["wait", "computer_use_click", "computer_use_move", "computer_use_scroll", "computer_use_drag", "computer_use_type", "computer_use_key", "computer_use_screenshot"];
|
|
42
44
|
export declare const LAB_RUNTIME_CONTROL_TOOLS: readonly ["query_market_data", "lab_run_control"];
|
|
43
45
|
export declare const LAB_RUNTIME_ALLOWED_TOOLS: readonly ["read", "write", "edit", "grep", "find", "ls", "bash", "todo_write", "wait", "computer_use_click", "computer_use_move", "computer_use_scroll", "computer_use_drag", "computer_use_type", "computer_use_key", "computer_use_screenshot", "query_market_data", "lab_run_control"];
|
|
44
|
-
/**
|
|
45
|
-
* Claude Agent SDK 0.3.233+ omits todo/task-tracking tools from the default
|
|
46
|
-
* surface on Opus 4.8 / Sonnet 5 and newer. Lab allowlists are explicit, so
|
|
47
|
-
* `todo_write` must name both the legacy snapshot tool and the incremental
|
|
48
|
-
* Task* tools the CLI actually emits.
|
|
49
|
-
*/
|
|
50
|
-
export declare const CLAUDE_TODO_TRACKING_TOOLS: readonly ["TodoWrite", "TaskCreate", "TaskUpdate", "TaskGet", "TaskList"];
|
|
51
|
-
export declare function resolvePiLabToolNames(toolNames: readonly string[]): string[];
|
|
52
|
-
export declare function resolveClaudeLabNativeToolNames(toolNames: readonly string[]): string[];
|
|
53
46
|
export declare const LAB_RUNTIME_ALLOWED_SKILLS: readonly ["browser-automation", "content-creation", "search", "web-design"];
|
|
54
47
|
export declare const LAB_RUNTIME_ALLOWED_MCP: readonly ["playwright", "serpapi", "financial-tool"];
|
|
55
48
|
export declare function parseLabRuntimePolicy(raw: unknown, threadId: string): LabRuntimePolicyV1;
|
|
56
|
-
|
|
57
|
-
export declare function
|
|
49
|
+
/** Sign with the host's Lab policy key, a domain separate from execution snapshots. */
|
|
50
|
+
export declare function signLabRuntimePolicy(policy: LabRuntimePolicyV1, domain: SigningDomain): SignedLabRuntimePolicyEnvelope;
|
|
51
|
+
export declare function verifyLabRuntimePolicyEnvelope(raw: unknown, publicKey: string, threadId: string): ActiveLabRuntimePolicy;
|
|
52
|
+
/**
|
|
53
|
+
* Write a private local record of the verified policy for diagnostics. It is
|
|
54
|
+
* not re-read as authorization: the host keeps the policy it verified.
|
|
55
|
+
*/
|
|
58
56
|
export declare function writeWorkerLabRuntimePolicy(policy: ActiveLabRuntimePolicy, envelope?: SignedLabRuntimePolicyEnvelope): void;
|
|
59
|
-
|
|
60
|
-
export declare function
|
|
57
|
+
/** Project only capabilities into the shared execution layer. */
|
|
58
|
+
export declare function labRuntimePolicyToWorkerPolicy(active: ActiveLabRuntimePolicy): ActiveWorkerRuntimePolicy;
|
|
59
|
+
/**
|
|
60
|
+
* The Lab adapter's restricted surface: the shared restrictions plus the Lab
|
|
61
|
+
* tool registrations. The policy allowlist decides which of them the engines
|
|
62
|
+
* expose; the engines never interpret Lab tool names.
|
|
63
|
+
*/
|
|
61
64
|
export declare function applyLabRuntimePolicyToSurface(surface: RuntimeSurface, active: ActiveLabRuntimePolicy): RuntimeSurface;
|
|
65
|
+
/** Lab tool registrations supplied to the host; exported for the worker host only. */
|
|
66
|
+
export declare const LAB_ADAPTER_TOOLS: readonly AdapterTool[];
|
|
62
67
|
//# sourceMappingURL=lab-runtime-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lab-runtime-policy.d.ts","sourceRoot":"","sources":["../../src/threads/lab-runtime-policy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"lab-runtime-policy.d.ts","sourceRoot":"","sources":["../../src/threads/lab-runtime-policy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzF,eAAO,MAAM,2BAA2B,+BAA+B,CAAC;AACxE,eAAO,MAAM,sBAAsB,kCAAkC,CAAC;AACtE,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;kBAU1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,wBAAwB,gFAS3B,CAAC;AACX,eAAO,MAAM,6BAA6B,8KAShC,CAAC;AACX,eAAO,MAAM,yBAAyB,mDAAoD,CAAC;AAC3F,eAAO,MAAM,yBAAyB,2RAI5B,CAAC;AAEX,eAAO,MAAM,0BAA0B,6EAK7B,CAAC;AACX,eAAO,MAAM,uBAAuB,sDAI1B,CAAC;AAMX,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAexF;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,GAAG,8BAA8B,CAGtH;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,sBAAsB,CAoBxB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,CAAC,EAAE,8BAA8B,GACxC,IAAI,CAON;AAED,iEAAiE;AACjE,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,sBAAsB,GAAG,yBAAyB,CAMxG;AAKD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,sBAAsB,GAC7B,cAAc,CAEhB;AAED,sFAAsF;AACtF,eAAO,MAAM,iBAAiB,EAAE,SAAS,WAAW,EAAkB,CAAC"}
|
|
@@ -3,12 +3,14 @@ import fs from "node:fs";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { getConfigDir } from "../config/index.js";
|
|
6
|
-
import {
|
|
6
|
+
import { queryMarketDataTool } from "../tools/data-service.js";
|
|
7
|
+
import { labRunControlTool } from "../tools/lab-run-control.js";
|
|
8
|
+
import { WorkerRuntimePolicySchema, applyWorkerRuntimePolicyToSurface, } from "./worker-runtime-policy.js";
|
|
9
|
+
import { signWith, verifySignature } from "./execution-authority.js";
|
|
7
10
|
export const LAB_RUNTIME_POLICY_META_KEY = "visionclawLabRuntimePolicy";
|
|
8
11
|
export const LAB_RUNTIME_POLICY_ENV = "VISIONCLAW_LAB_RUNTIME_POLICY";
|
|
9
12
|
export const LAB_RUNTIME_POLICY_FILE = "lab-runtime-policy.json";
|
|
10
|
-
const
|
|
11
|
-
export const LabRuntimePolicyV1Schema = z.object({
|
|
13
|
+
export const LabRuntimePolicyV1Schema = WorkerRuntimePolicySchema.extend({
|
|
12
14
|
version: z.literal(1),
|
|
13
15
|
runId: z.uuid(),
|
|
14
16
|
labId: z.number().int().positive(),
|
|
@@ -18,21 +20,6 @@ export const LabRuntimePolicyV1Schema = z.object({
|
|
|
18
20
|
bundleStoragePath: z.string().min(1).optional(),
|
|
19
21
|
/** Signed fin-app download path for runtimes without the producer volume. */
|
|
20
22
|
bundleDownloadPath: z.string().min(1).optional(),
|
|
21
|
-
prompt: z.object({
|
|
22
|
-
trustedOverlay: z.string().max(20_000).default(""),
|
|
23
|
-
}).strict(),
|
|
24
|
-
skills: z.object({
|
|
25
|
-
allowed: z.array(slugSchema).max(64).default([]),
|
|
26
|
-
}).strict(),
|
|
27
|
-
mcp: z.object({
|
|
28
|
-
staticServers: z.record(slugSchema, z.object({}).strict()).default({}),
|
|
29
|
-
}).strict(),
|
|
30
|
-
tools: z.object({
|
|
31
|
-
allowed: z.array(slugSchema).min(1).max(64),
|
|
32
|
-
}).strict(),
|
|
33
|
-
channels: z.object({
|
|
34
|
-
outbound: z.tuple([]),
|
|
35
|
-
}).strict(),
|
|
36
23
|
}).strict();
|
|
37
24
|
export const LAB_RUNTIME_CODING_TOOLS = [
|
|
38
25
|
"read",
|
|
@@ -60,50 +47,6 @@ export const LAB_RUNTIME_ALLOWED_TOOLS = [
|
|
|
60
47
|
...LAB_RUNTIME_INTERACTION_TOOLS,
|
|
61
48
|
...LAB_RUNTIME_CONTROL_TOOLS,
|
|
62
49
|
];
|
|
63
|
-
const PI_LAB_TOOL_NAMES = {
|
|
64
|
-
read: "visionclaw_read",
|
|
65
|
-
write: "visionclaw_write",
|
|
66
|
-
edit: "visionclaw_edit",
|
|
67
|
-
grep: "visionclaw_grep",
|
|
68
|
-
find: "visionclaw_find",
|
|
69
|
-
ls: "visionclaw_ls",
|
|
70
|
-
bash: "visionclaw_bash",
|
|
71
|
-
todo_write: "TodoWrite",
|
|
72
|
-
};
|
|
73
|
-
/**
|
|
74
|
-
* Claude Agent SDK 0.3.233+ omits todo/task-tracking tools from the default
|
|
75
|
-
* surface on Opus 4.8 / Sonnet 5 and newer. Lab allowlists are explicit, so
|
|
76
|
-
* `todo_write` must name both the legacy snapshot tool and the incremental
|
|
77
|
-
* Task* tools the CLI actually emits.
|
|
78
|
-
*/
|
|
79
|
-
export const CLAUDE_TODO_TRACKING_TOOLS = [
|
|
80
|
-
"TodoWrite",
|
|
81
|
-
"TaskCreate",
|
|
82
|
-
"TaskUpdate",
|
|
83
|
-
"TaskGet",
|
|
84
|
-
"TaskList",
|
|
85
|
-
];
|
|
86
|
-
const CLAUDE_LAB_TOOL_NAMES = {
|
|
87
|
-
read: "Read",
|
|
88
|
-
write: "Write",
|
|
89
|
-
edit: "Edit",
|
|
90
|
-
grep: "Grep",
|
|
91
|
-
find: "Glob",
|
|
92
|
-
ls: "Glob",
|
|
93
|
-
bash: "Bash",
|
|
94
|
-
todo_write: CLAUDE_TODO_TRACKING_TOOLS,
|
|
95
|
-
};
|
|
96
|
-
export function resolvePiLabToolNames(toolNames) {
|
|
97
|
-
return [...new Set(toolNames.map((name) => PI_LAB_TOOL_NAMES[name] ?? name))];
|
|
98
|
-
}
|
|
99
|
-
export function resolveClaudeLabNativeToolNames(toolNames) {
|
|
100
|
-
return [...new Set(toolNames.flatMap((name) => {
|
|
101
|
-
const mapped = CLAUDE_LAB_TOOL_NAMES[name];
|
|
102
|
-
if (!mapped)
|
|
103
|
-
return [];
|
|
104
|
-
return typeof mapped === "string" ? [mapped] : [...mapped];
|
|
105
|
-
}))];
|
|
106
|
-
}
|
|
107
50
|
export const LAB_RUNTIME_ALLOWED_SKILLS = [
|
|
108
51
|
"browser-automation",
|
|
109
52
|
"content-creation",
|
|
@@ -137,25 +80,19 @@ export function parseLabRuntimePolicy(raw, threadId) {
|
|
|
137
80
|
}
|
|
138
81
|
return policy;
|
|
139
82
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
throw new Error("Lab runtime policy signing authority is unavailable");
|
|
83
|
+
/** Sign with the host's Lab policy key, a domain separate from execution snapshots. */
|
|
84
|
+
export function signLabRuntimePolicy(policy, domain) {
|
|
143
85
|
const payload = Buffer.from(JSON.stringify(policy), "utf8").toString("base64url");
|
|
144
|
-
return {
|
|
145
|
-
payload,
|
|
146
|
-
signature: crypto.createHmac("sha256", secret).update(payload).digest("base64url"),
|
|
147
|
-
};
|
|
86
|
+
return { payload, signature: signWith(domain, payload) };
|
|
148
87
|
}
|
|
149
|
-
export function verifyLabRuntimePolicyEnvelope(raw,
|
|
88
|
+
export function verifyLabRuntimePolicyEnvelope(raw, publicKey, threadId) {
|
|
150
89
|
const envelope = z.object({
|
|
151
90
|
payload: z.string().min(1).max(200_000),
|
|
152
91
|
signature: z.string().min(32).max(256),
|
|
153
92
|
}).strict().parse(raw);
|
|
154
|
-
if (
|
|
93
|
+
if (!publicKey)
|
|
155
94
|
throw new Error("Lab runtime policy signing authority is unavailable");
|
|
156
|
-
|
|
157
|
-
const supplied = Buffer.from(envelope.signature, "base64url");
|
|
158
|
-
if (supplied.length !== expected.length || !crypto.timingSafeEqual(supplied, expected)) {
|
|
95
|
+
if (!verifySignature(publicKey, envelope.payload, envelope.signature)) {
|
|
159
96
|
throw new Error("Lab runtime policy signature is invalid");
|
|
160
97
|
}
|
|
161
98
|
let decoded;
|
|
@@ -171,6 +108,10 @@ export function verifyLabRuntimePolicyEnvelope(raw, secret, threadId) {
|
|
|
171
108
|
digest: crypto.createHash("sha256").update(envelope.payload).digest("hex"),
|
|
172
109
|
};
|
|
173
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Write a private local record of the verified policy for diagnostics. It is
|
|
113
|
+
* not re-read as authorization: the host keeps the policy it verified.
|
|
114
|
+
*/
|
|
174
115
|
export function writeWorkerLabRuntimePolicy(policy, envelope) {
|
|
175
116
|
const target = path.join(getConfigDir(), LAB_RUNTIME_POLICY_FILE);
|
|
176
117
|
const temp = `${target}.${process.pid}.tmp`;
|
|
@@ -179,60 +120,24 @@ export function writeWorkerLabRuntimePolicy(policy, envelope) {
|
|
|
179
120
|
fs.renameSync(temp, target);
|
|
180
121
|
fs.chmodSync(target, 0o600);
|
|
181
122
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
const parsed = z.object({
|
|
189
|
-
policy: LabRuntimePolicyV1Schema,
|
|
190
|
-
digest: z.string().regex(/^[0-9a-f]{64}$/),
|
|
191
|
-
envelope: z.object({ payload: z.string(), signature: z.string() }).strict().optional(),
|
|
192
|
-
}).strict().parse(JSON.parse(fs.readFileSync(target, "utf8")));
|
|
193
|
-
if (threadId !== `fin-lab-run-${parsed.policy.runId}`) {
|
|
194
|
-
throw new Error("Persisted Lab runtime policy does not match the worker thread");
|
|
195
|
-
}
|
|
196
|
-
const expectedDigest = parsed.envelope
|
|
197
|
-
? crypto.createHash("sha256").update(parsed.envelope.payload).digest("hex")
|
|
198
|
-
: null;
|
|
199
|
-
if (!parsed.envelope || expectedDigest !== parsed.digest) {
|
|
200
|
-
throw new Error("Persisted Lab runtime policy integrity check failed");
|
|
201
|
-
}
|
|
202
|
-
const persistedPolicy = parseLabRuntimePolicy(JSON.parse(Buffer.from(parsed.envelope.payload, "base64url").toString("utf8")), threadId);
|
|
203
|
-
if (JSON.stringify(persistedPolicy) !== JSON.stringify(parsed.policy)) {
|
|
204
|
-
throw new Error("Persisted Lab runtime policy payload does not match its envelope");
|
|
205
|
-
}
|
|
206
|
-
return { policy: persistedPolicy, digest: parsed.digest };
|
|
207
|
-
}
|
|
208
|
-
export function applyLabRuntimePolicyToConfig(config, _active) {
|
|
209
|
-
const isolated = structuredClone(config);
|
|
210
|
-
isolated.gmail = "";
|
|
211
|
-
isolated.channels = {};
|
|
212
|
-
isolated.capabilities = {
|
|
213
|
-
schemaVersion: 1,
|
|
214
|
-
...isolated.capabilities,
|
|
215
|
-
managedWorkspace: false,
|
|
216
|
-
proactiveWake: false,
|
|
217
|
-
tunnel: false,
|
|
218
|
-
gemini: false,
|
|
123
|
+
/** Project only capabilities into the shared execution layer. */
|
|
124
|
+
export function labRuntimePolicyToWorkerPolicy(active) {
|
|
125
|
+
const { prompt, skills, mcp, tools, channels } = active.policy;
|
|
126
|
+
return {
|
|
127
|
+
policy: WorkerRuntimePolicySchema.parse({ prompt, skills, mcp, tools, channels }),
|
|
128
|
+
digest: active.digest,
|
|
219
129
|
};
|
|
220
|
-
return isolated;
|
|
221
130
|
}
|
|
131
|
+
/** Lab-only tools, backed by the run's host-held fin-app credential and lease. */
|
|
132
|
+
const LAB_RUN_TOOLS = [queryMarketDataTool, labRunControlTool];
|
|
133
|
+
/**
|
|
134
|
+
* The Lab adapter's restricted surface: the shared restrictions plus the Lab
|
|
135
|
+
* tool registrations. The policy allowlist decides which of them the engines
|
|
136
|
+
* expose; the engines never interpret Lab tool names.
|
|
137
|
+
*/
|
|
222
138
|
export function applyLabRuntimePolicyToSurface(surface, active) {
|
|
223
|
-
|
|
224
|
-
return {
|
|
225
|
-
...surface,
|
|
226
|
-
credentialBacked: {
|
|
227
|
-
eventTrigger: false,
|
|
228
|
-
financialTool: false,
|
|
229
|
-
finApp: allowed.includes("query_market_data") || allowed.includes("lab_run_control"),
|
|
230
|
-
serpApi: false,
|
|
231
|
-
},
|
|
232
|
-
externalMcpServers: Object.fromEntries(Object.entries(surface.externalMcpServers)
|
|
233
|
-
.filter(([name]) => Object.hasOwn(active.policy.mcp.staticServers, name))
|
|
234
|
-
.map(([name, server]) => [name, server])),
|
|
235
|
-
labRuntimePolicy: active,
|
|
236
|
-
};
|
|
139
|
+
return applyWorkerRuntimePolicyToSurface(surface, labRuntimePolicyToWorkerPolicy(active), LAB_RUN_TOOLS);
|
|
237
140
|
}
|
|
141
|
+
/** Lab tool registrations supplied to the host; exported for the worker host only. */
|
|
142
|
+
export const LAB_ADAPTER_TOOLS = LAB_RUN_TOOLS;
|
|
238
143
|
//# sourceMappingURL=lab-runtime-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lab-runtime-policy.js","sourceRoot":"","sources":["../../src/threads/lab-runtime-policy.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"lab-runtime-policy.js","sourceRoot":"","sources":["../../src/threads/lab-runtime-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export type ExecutorGroupStatus = "alive" | "dead" | "unknown";
|
|
2
|
+
/** Whether any process is still a member of `pgid`. EPERM counts as alive. */
|
|
3
|
+
export declare function isProcessGroupAlive(pgid: number): boolean;
|
|
4
|
+
export declare function isProcessAlive(pid: number): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Whether the executor group led by `pgid`, whose leader started at
|
|
7
|
+
* `processStart`, still has members. A live leader with another start time
|
|
8
|
+
* means the id was reused after our group emptied: ours is gone.
|
|
9
|
+
*/
|
|
10
|
+
export declare function executorGroupStatus(pgid: number, processStart: string): ExecutorGroupStatus;
|
|
11
|
+
/**
|
|
12
|
+
* Force-kill a recorded executor group and wait until it is empty. Never
|
|
13
|
+
* signals a group whose identity cannot be confirmed. Resolves false when
|
|
14
|
+
* members remain after `timeoutMs` or the identity is unknown.
|
|
15
|
+
*/
|
|
16
|
+
export declare function killExecutorGroupAndWait(pgid: number, processStart: string, timeoutMs: number): Promise<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* The leader of `pgid` has just exited and been reaped by this host. Kill
|
|
19
|
+
* whatever is left in its group and wait until it is empty. A live process
|
|
20
|
+
* with the leader's id is a reuse, so the group is already gone.
|
|
21
|
+
*/
|
|
22
|
+
export declare function reapExitedExecutorGroup(pgid: number, timeoutMs: number): Promise<boolean>;
|
|
23
|
+
/** Signal every member of a live executor's group (the leader is ours and alive). */
|
|
24
|
+
export declare function signalExecutorGroup(pgid: number, signal: NodeJS.Signals): void;
|
|
25
|
+
/**
|
|
26
|
+
* Process groups an executor's commands created outside its own group (the
|
|
27
|
+
* Claude CLI starts every shell in a new session). Each shell records its
|
|
28
|
+
* group id and start time here before the command runs; the host stops every
|
|
29
|
+
* recorded group with the executor. Lines: `<pgid> <ps lstart>`.
|
|
30
|
+
*/
|
|
31
|
+
export declare const EXECUTOR_GROUP_REGISTRY_FILE = "executor-groups.log";
|
|
32
|
+
/** Shell lines that record the running shell's group before the command. */
|
|
33
|
+
export declare function groupRegistrationPrefix(registryFile: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Stop every group recorded in `registryFile` and wait until all are empty.
|
|
36
|
+
* Never signals a recorded id whose identity no longer matches. Resolves
|
|
37
|
+
* false while any recorded group may still have members; the registry is
|
|
38
|
+
* cleared once all are gone.
|
|
39
|
+
*/
|
|
40
|
+
export declare function stopRegisteredGroups(registryFile: string, timeoutMs: number): Promise<boolean>;
|
|
41
|
+
//# sourceMappingURL=process-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-group.d.ts","sourceRoot":"","sources":["../../src/threads/process-group.ts"],"names":[],"mappings":"AAqBA,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/D,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASzD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,mBAAmB,CAO3F;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAStH;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ/F;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAE9E;AAWD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAElE,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBpG"}
|