visionclaw 0.1.208-beta.12 → 0.1.208-beta.14
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/engine-switch-handler.d.ts +3 -2
- package/dist/agent/engine-switch-handler.d.ts.map +1 -1
- package/dist/agent/engine-switch-handler.js +10 -10
- package/dist/agent/engine-switch-handler.js.map +1 -1
- package/dist/agent/engine-switch-target.d.ts +11 -23
- package/dist/agent/engine-switch-target.d.ts.map +1 -1
- package/dist/agent/engine-switch-target.js +36 -40
- package/dist/agent/engine-switch-target.js.map +1 -1
- package/dist/agent/engines/claude/session-browser-policy.d.ts +9 -10
- package/dist/agent/engines/claude/session-browser-policy.d.ts.map +1 -1
- package/dist/agent/engines/claude/session-browser-policy.js +95 -17
- package/dist/agent/engines/claude/session-browser-policy.js.map +1 -1
- package/dist/agent/engines/engine-factory.d.ts +1 -3
- package/dist/agent/engines/engine-factory.d.ts.map +1 -1
- package/dist/agent/engines/engine-factory.js +6 -8
- package/dist/agent/engines/engine-factory.js.map +1 -1
- package/dist/agent/engines/pi-coding/session.d.ts.map +1 -1
- package/dist/agent/engines/pi-coding/session.js +1 -2
- package/dist/agent/engines/pi-coding/session.js.map +1 -1
- package/dist/agent/heartbeat-manager.d.ts +6 -0
- package/dist/agent/heartbeat-manager.d.ts.map +1 -1
- package/dist/agent/heartbeat-manager.js +110 -19
- package/dist/agent/heartbeat-manager.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +4 -0
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/model-provider.d.ts +21 -9
- package/dist/agent/model-provider.d.ts.map +1 -1
- package/dist/agent/model-provider.js +167 -70
- package/dist/agent/model-provider.js.map +1 -1
- package/dist/agent/onboarding-gate.js +1 -1
- package/dist/agent/onboarding-gate.js.map +1 -1
- package/dist/agent/provider-fallback.js +2 -2
- package/dist/agent/provider-fallback.js.map +1 -1
- package/dist/agent/runtime-surface.d.ts +2 -2
- package/dist/agent/runtime-surface.d.ts.map +1 -1
- package/dist/agent/runtime-surface.js +7 -8
- package/dist/agent/runtime-surface.js.map +1 -1
- package/dist/agent/status.d.ts +1 -3
- package/dist/agent/status.d.ts.map +1 -1
- package/dist/agent/status.js +2 -4
- package/dist/agent/status.js.map +1 -1
- package/dist/agent/usage/usage-report-builder.d.ts.map +1 -1
- package/dist/agent/usage/usage-report-builder.js +2 -1
- package/dist/agent/usage/usage-report-builder.js.map +1 -1
- package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
- package/dist/agent/wake-cycle-runner.js +69 -3
- package/dist/agent/wake-cycle-runner.js.map +1 -1
- package/dist/channels/telegram.d.ts.map +1 -1
- package/dist/channels/telegram.js +6 -4
- package/dist/channels/telegram.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -18
- package/dist/config/index.js.map +1 -1
- package/dist/config/types.d.ts +10 -21
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +5 -35
- package/dist/config/types.js.map +1 -1
- package/dist/entry/playwriter-relay.js +11 -5
- package/dist/entry/playwriter-relay.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/obs/server.d.ts.map +1 -1
- package/dist/obs/server.js +5 -8
- package/dist/obs/server.js.map +1 -1
- package/dist/onboarding/onboarding-service-client.d.ts +25 -21
- package/dist/onboarding/onboarding-service-client.d.ts.map +1 -1
- package/dist/onboarding/onboarding-service-client.js.map +1 -1
- package/dist/onboarding/playwriter-extension.d.ts +17 -6
- package/dist/onboarding/playwriter-extension.d.ts.map +1 -1
- package/dist/onboarding/playwriter-extension.js +61 -8
- package/dist/onboarding/playwriter-extension.js.map +1 -1
- package/dist/onboarding/setup-shared.d.ts +1 -3
- package/dist/onboarding/setup-shared.d.ts.map +1 -1
- package/dist/onboarding/setup-shared.js +1 -2
- package/dist/onboarding/setup-shared.js.map +1 -1
- package/dist/onboarding/setup-steps.d.ts.map +1 -1
- package/dist/onboarding/setup-steps.js +0 -5
- package/dist/onboarding/setup-steps.js.map +1 -1
- package/dist/reconfigure.d.ts.map +1 -1
- package/dist/reconfigure.js +19 -38
- package/dist/reconfigure.js.map +1 -1
- package/dist/threads/supervisor.d.ts +2 -3
- package/dist/threads/supervisor.d.ts.map +1 -1
- package/dist/threads/supervisor.js +5 -12
- package/dist/threads/supervisor.js.map +1 -1
- package/dist/threads/thread-meta.d.ts +11 -8
- package/dist/threads/thread-meta.d.ts.map +1 -1
- package/dist/threads/thread-meta.js +10 -11
- package/dist/threads/thread-meta.js.map +1 -1
- package/dist/threads/worker-entry.d.ts.map +1 -1
- package/dist/threads/worker-entry.js +5 -24
- package/dist/threads/worker-entry.js.map +1 -1
- package/dist/utils/playwriter-relay.d.ts.map +1 -1
- package/dist/utils/playwriter-relay.js +3 -4
- package/dist/utils/playwriter-relay.js.map +1 -1
- package/dist-agent/bundle.cjs +2210 -1977
- package/dist-agent/playwriter-relay.cjs +10 -1
- package/package.json +1 -1
- package/dist/agent/applied-credential-signature.d.ts +0 -53
- package/dist/agent/applied-credential-signature.d.ts.map +0 -1
- package/dist/agent/applied-credential-signature.js +0 -137
- package/dist/agent/applied-credential-signature.js.map +0 -1
- package/dist/agent/engines/client-factory.d.ts +0 -63
- package/dist/agent/engines/client-factory.d.ts.map +0 -1
- package/dist/agent/engines/client-factory.js +0 -382
- package/dist/agent/engines/client-factory.js.map +0 -1
- package/dist/agent/engines/engine.d.ts +0 -8
- package/dist/agent/engines/engine.d.ts.map +0 -1
- package/dist/agent/engines/engine.js +0 -15
- package/dist/agent/engines/engine.js.map +0 -1
- package/dist/agent/engines/openai/file-session.d.ts +0 -19
- package/dist/agent/engines/openai/file-session.d.ts.map +0 -1
- package/dist/agent/engines/openai/file-session.js +0 -78
- package/dist/agent/engines/openai/file-session.js.map +0 -1
- package/dist/agent/engines/openai/file-tools.d.ts +0 -35
- package/dist/agent/engines/openai/file-tools.d.ts.map +0 -1
- package/dist/agent/engines/openai/file-tools.js +0 -194
- package/dist/agent/engines/openai/file-tools.js.map +0 -1
- package/dist/agent/engines/openai/session.d.ts +0 -55
- package/dist/agent/engines/openai/session.d.ts.map +0 -1
- package/dist/agent/engines/openai/session.js +0 -447
- package/dist/agent/engines/openai/session.js.map +0 -1
- package/dist/agent/engines/openai/tools.d.ts +0 -15
- package/dist/agent/engines/openai/tools.d.ts.map +0 -1
- package/dist/agent/engines/openai/tools.js +0 -221
- package/dist/agent/engines/openai/tools.js.map +0 -1
- package/dist/agent/engines/pi/session.d.ts +0 -49
- package/dist/agent/engines/pi/session.d.ts.map +0 -1
- package/dist/agent/engines/pi/session.js +0 -309
- package/dist/agent/engines/pi/session.js.map +0 -1
- package/dist/agent/memory-preload.d.ts +0 -55
- package/dist/agent/memory-preload.d.ts.map +0 -1
- package/dist/agent/memory-preload.js +0 -166
- package/dist/agent/memory-preload.js.map +0 -1
- package/dist/agent/providers/claude/cli-resolver.d.ts +0 -16
- package/dist/agent/providers/claude/cli-resolver.d.ts.map +0 -1
- package/dist/agent/providers/claude/cli-resolver.js +0 -83
- package/dist/agent/providers/claude/cli-resolver.js.map +0 -1
- package/dist/agent/providers/claude/session-browser-policy.d.ts +0 -9
- package/dist/agent/providers/claude/session-browser-policy.d.ts.map +0 -1
- package/dist/agent/providers/claude/session-browser-policy.js +0 -49
- package/dist/agent/providers/claude/session-browser-policy.js.map +0 -1
- package/dist/agent/providers/claude/session.d.ts +0 -304
- package/dist/agent/providers/claude/session.d.ts.map +0 -1
- package/dist/agent/providers/claude/session.js +0 -1236
- package/dist/agent/providers/claude/session.js.map +0 -1
- package/dist/agent/providers/client-factory.d.ts +0 -60
- package/dist/agent/providers/client-factory.d.ts.map +0 -1
- package/dist/agent/providers/client-factory.js +0 -400
- package/dist/agent/providers/client-factory.js.map +0 -1
- package/dist/agent/providers/openai/file-session.d.ts +0 -19
- package/dist/agent/providers/openai/file-session.d.ts.map +0 -1
- package/dist/agent/providers/openai/file-session.js +0 -78
- package/dist/agent/providers/openai/file-session.js.map +0 -1
- package/dist/agent/providers/openai/session.d.ts +0 -55
- package/dist/agent/providers/openai/session.d.ts.map +0 -1
- package/dist/agent/providers/openai/session.js +0 -447
- package/dist/agent/providers/openai/session.js.map +0 -1
- package/dist/agent/providers/openai/tools.d.ts +0 -15
- package/dist/agent/providers/openai/tools.d.ts.map +0 -1
- package/dist/agent/providers/openai/tools.js +0 -229
- package/dist/agent/providers/openai/tools.js.map +0 -1
- package/dist/agent/providers/session-types.d.ts +0 -153
- package/dist/agent/providers/session-types.d.ts.map +0 -1
- package/dist/agent/providers/session-types.js +0 -2
- package/dist/agent/providers/session-types.js.map +0 -1
- package/dist/agent/providers/system-prompt-log.d.ts +0 -9
- package/dist/agent/providers/system-prompt-log.d.ts.map +0 -1
- package/dist/agent/providers/system-prompt-log.js +0 -46
- package/dist/agent/providers/system-prompt-log.js.map +0 -1
- package/dist/agent/qq-claim-signal.d.ts +0 -9
- package/dist/agent/qq-claim-signal.d.ts.map +0 -1
- package/dist/agent/qq-claim-signal.js +0 -38
- package/dist/agent/qq-claim-signal.js.map +0 -1
- package/dist/agent/transcript-backfill.d.ts +0 -54
- package/dist/agent/transcript-backfill.d.ts.map +0 -1
- package/dist/agent/transcript-backfill.js +0 -604
- package/dist/agent/transcript-backfill.js.map +0 -1
- package/dist/agent/transcript-indexer.d.ts +0 -200
- package/dist/agent/transcript-indexer.d.ts.map +0 -1
- package/dist/agent/transcript-indexer.js +0 -775
- package/dist/agent/transcript-indexer.js.map +0 -1
- package/dist/agent/transcript-memory-migrations.d.ts +0 -25
- package/dist/agent/transcript-memory-migrations.d.ts.map +0 -1
- package/dist/agent/transcript-memory-migrations.js +0 -87
- package/dist/agent/transcript-memory-migrations.js.map +0 -1
- package/dist/agent/tunnel-credential-handler.d.ts +0 -90
- package/dist/agent/tunnel-credential-handler.d.ts.map +0 -1
- package/dist/agent/tunnel-credential-handler.js +0 -162
- package/dist/agent/tunnel-credential-handler.js.map +0 -1
- package/dist/agent/usage-backfill-handler.d.ts +0 -18
- package/dist/agent/usage-backfill-handler.d.ts.map +0 -1
- package/dist/agent/usage-backfill-handler.js +0 -69
- package/dist/agent/usage-backfill-handler.js.map +0 -1
- package/dist/agent/usage-gate.d.ts +0 -25
- package/dist/agent/usage-gate.d.ts.map +0 -1
- package/dist/agent/usage-gate.js +0 -83
- package/dist/agent/usage-gate.js.map +0 -1
- package/dist/agent/usage-handler.d.ts +0 -7
- package/dist/agent/usage-handler.d.ts.map +0 -1
- package/dist/agent/usage-handler.js +0 -28
- package/dist/agent/usage-handler.js.map +0 -1
- package/dist/agent/usage-report-builder.d.ts +0 -26
- package/dist/agent/usage-report-builder.d.ts.map +0 -1
- package/dist/agent/usage-report-builder.js +0 -80
- package/dist/agent/usage-report-builder.js.map +0 -1
- package/dist/agent/usage-report-queue.d.ts +0 -26
- package/dist/agent/usage-report-queue.d.ts.map +0 -1
- package/dist/agent/usage-report-queue.js +0 -199
- package/dist/agent/usage-report-queue.js.map +0 -1
- package/dist/agent/usage-report-types.d.ts +0 -41
- package/dist/agent/usage-report-types.d.ts.map +0 -1
- package/dist/agent/usage-report-types.js +0 -2
- package/dist/agent/usage-report-types.js.map +0 -1
- package/dist/agent/usage-reporter.d.ts +0 -31
- package/dist/agent/usage-reporter.d.ts.map +0 -1
- package/dist/agent/usage-reporter.js +0 -102
- package/dist/agent/usage-reporter.js.map +0 -1
- package/dist/agent/wake-cycle-tool-tracker.d.ts +0 -39
- package/dist/agent/wake-cycle-tool-tracker.d.ts.map +0 -1
- package/dist/agent/wake-cycle-tool-tracker.js +0 -72
- package/dist/agent/wake-cycle-tool-tracker.js.map +0 -1
- package/dist/anthropic-credentials.d.ts +0 -24
- package/dist/anthropic-credentials.d.ts.map +0 -1
- package/dist/anthropic-credentials.js +0 -37
- package/dist/anthropic-credentials.js.map +0 -1
- package/dist/billing/payg-handler.d.ts +0 -29
- package/dist/billing/payg-handler.d.ts.map +0 -1
- package/dist/billing/payg-handler.js +0 -92
- package/dist/billing/payg-handler.js.map +0 -1
- package/dist/billing/payment-handler.d.ts +0 -24
- package/dist/billing/payment-handler.d.ts.map +0 -1
- package/dist/billing/payment-handler.js +0 -101
- package/dist/billing/payment-handler.js.map +0 -1
- package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +0 -412
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +0 -132
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +0 -166
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +0 -87
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +0 -174
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +0 -274
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +0 -111
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +0 -87
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +0 -176
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +0 -67
- package/dist/builtin-skills/transcribe-audio/SKILL.md +0 -122
- package/dist/calendar/google-calendar.d.ts +0 -54
- package/dist/calendar/google-calendar.d.ts.map +0 -1
- package/dist/calendar/google-calendar.js +0 -156
- package/dist/calendar/google-calendar.js.map +0 -1
- package/dist/channels/web.d.ts +0 -40
- package/dist/channels/web.d.ts.map +0 -1
- package/dist/channels/web.js +0 -137
- package/dist/channels/web.js.map +0 -1
- package/dist/config/models.d.ts +0 -32
- package/dist/config/models.d.ts.map +0 -1
- package/dist/config/models.js +0 -57
- package/dist/config/models.js.map +0 -1
- package/dist/data-processing/convert-demo-cli.d.ts +0 -7
- package/dist/data-processing/convert-demo-cli.d.ts.map +0 -1
- package/dist/data-processing/convert-demo-cli.js +0 -30
- package/dist/data-processing/convert-demo-cli.js.map +0 -1
- package/dist/data-processing/convert-demo.d.ts +0 -26
- package/dist/data-processing/convert-demo.d.ts.map +0 -1
- package/dist/data-processing/convert-demo.js +0 -233
- package/dist/data-processing/convert-demo.js.map +0 -1
- package/dist/drive/google-drive.d.ts +0 -83
- package/dist/drive/google-drive.d.ts.map +0 -1
- package/dist/drive/google-drive.js +0 -219
- package/dist/drive/google-drive.js.map +0 -1
- package/dist/email/gmail-email.d.ts +0 -64
- package/dist/email/gmail-email.d.ts.map +0 -1
- package/dist/email/gmail-email.js +0 -167
- package/dist/email/gmail-email.js.map +0 -1
- package/dist/obs/auth.d.ts +0 -45
- package/dist/obs/auth.d.ts.map +0 -1
- package/dist/obs/auth.js +0 -181
- package/dist/obs/auth.js.map +0 -1
- package/dist/obs/mini-app/tasks.d.ts +0 -2
- package/dist/obs/mini-app/tasks.d.ts.map +0 -1
- package/dist/obs/mini-app/tasks.js +0 -506
- package/dist/obs/mini-app/tasks.js.map +0 -1
- package/dist/obs/rdp/icons/icons/app_windows.svg +0 -4
- package/dist/obs/rdp/icons/icons/clip_get.svg +0 -4
- package/dist/obs/rdp/icons/icons/clip_send.svg +0 -4
- package/dist/obs/rdp/icons/icons/clip_shared.svg +0 -4
- package/dist/obs/rdp/icons/icons/clipboard.svg +0 -4
- package/dist/obs/rdp/icons/icons/clipboard_shared.svg +0 -4
- package/dist/obs/rdp/icons/icons/control.svg +0 -4
- package/dist/obs/rdp/icons/icons/desktop.svg +0 -4
- package/dist/obs/rdp/icons/icons/display.svg +0 -4
- package/dist/obs/rdp/icons/icons/launchpad.svg +0 -4
- package/dist/obs/rdp/icons/icons/mission_control.svg +0 -4
- package/dist/obs/rdp/icons/icons/screenshot.svg +0 -4
- package/dist/obs/rdp/icons/icons/zoom_actual.svg +0 -4
- package/dist/obs/rdp/icons/icons/zoom_fit.svg +0 -4
- package/dist/obs/rdp/icons/icons/zoom_in.svg +0 -4
- package/dist/obs/rdp/icons/icons/zoom_out.svg +0 -4
- package/dist/obs/tunnel-telemetry.d.ts +0 -46
- package/dist/obs/tunnel-telemetry.d.ts.map +0 -1
- package/dist/obs/tunnel-telemetry.js +0 -70
- package/dist/obs/tunnel-telemetry.js.map +0 -1
- package/dist/onboarding/cloudflared-cert.d.ts +0 -15
- package/dist/onboarding/cloudflared-cert.d.ts.map +0 -1
- package/dist/onboarding/cloudflared-cert.js +0 -57
- package/dist/onboarding/cloudflared-cert.js.map +0 -1
- package/dist/onboarding/gh-auth-browser.d.ts +0 -10
- package/dist/onboarding/gh-auth-browser.d.ts.map +0 -1
- package/dist/onboarding/gh-auth-browser.js +0 -70
- package/dist/onboarding/gh-auth-browser.js.map +0 -1
- package/dist/onboarding/provision-eth-wallet.d.ts +0 -7
- package/dist/onboarding/provision-eth-wallet.d.ts.map +0 -1
- package/dist/onboarding/provision-eth-wallet.js +0 -14
- package/dist/onboarding/provision-eth-wallet.js.map +0 -1
- package/dist/onboarding/provision-workspace-account.d.ts +0 -14
- package/dist/onboarding/provision-workspace-account.d.ts.map +0 -1
- package/dist/onboarding/provision-workspace-account.js +0 -165
- package/dist/onboarding/provision-workspace-account.js.map +0 -1
- package/dist/onboarding/send-identity-credentials.d.ts +0 -11
- package/dist/onboarding/send-identity-credentials.d.ts.map +0 -1
- package/dist/onboarding/send-identity-credentials.js +0 -110
- package/dist/onboarding/send-identity-credentials.js.map +0 -1
- package/dist/openai-credentials.d.ts +0 -30
- package/dist/openai-credentials.d.ts.map +0 -1
- package/dist/openai-credentials.js +0 -37
- package/dist/openai-credentials.js.map +0 -1
- package/dist/phonecall-credentials.d.ts +0 -21
- package/dist/phonecall-credentials.d.ts.map +0 -1
- package/dist/phonecall-credentials.js +0 -34
- package/dist/phonecall-credentials.js.map +0 -1
- package/dist/realtime/agent-bridge.d.ts +0 -7
- package/dist/realtime/agent-bridge.d.ts.map +0 -1
- package/dist/realtime/agent-bridge.js +0 -31
- package/dist/realtime/agent-bridge.js.map +0 -1
- package/dist/realtime/assets/index.html +0 -1058
- package/dist/realtime/assets/samples/alloy.mp3 +0 -0
- package/dist/realtime/assets/samples/ash.mp3 +0 -0
- package/dist/realtime/assets/samples/ballad.mp3 +0 -0
- package/dist/realtime/assets/samples/cedar.mp3 +0 -0
- package/dist/realtime/assets/samples/coral.mp3 +0 -0
- package/dist/realtime/assets/samples/echo.mp3 +0 -0
- package/dist/realtime/assets/samples/marin.mp3 +0 -0
- package/dist/realtime/assets/samples/sage.mp3 +0 -0
- package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
- package/dist/realtime/assets/samples/verse.mp3 +0 -0
- package/dist/realtime/context.d.ts +0 -14
- package/dist/realtime/context.d.ts.map +0 -1
- package/dist/realtime/context.js +0 -153
- package/dist/realtime/context.js.map +0 -1
- package/dist/realtime/http-helpers.d.ts +0 -5
- package/dist/realtime/http-helpers.d.ts.map +0 -1
- package/dist/realtime/http-helpers.js +0 -29
- package/dist/realtime/http-helpers.js.map +0 -1
- package/dist/realtime/index.d.ts +0 -62
- package/dist/realtime/index.d.ts.map +0 -1
- package/dist/realtime/index.js +0 -94
- package/dist/realtime/index.js.map +0 -1
- package/dist/realtime/server.d.ts +0 -6
- package/dist/realtime/server.d.ts.map +0 -1
- package/dist/realtime/server.js +0 -479
- package/dist/realtime/server.js.map +0 -1
- package/dist/realtime/telegram-auth.d.ts +0 -2
- package/dist/realtime/telegram-auth.d.ts.map +0 -1
- package/dist/realtime/telegram-auth.js +0 -24
- package/dist/realtime/telegram-auth.js.map +0 -1
- package/dist/realtime/tools.d.ts +0 -829
- package/dist/realtime/tools.d.ts.map +0 -1
- package/dist/realtime/tools.js +0 -611
- package/dist/realtime/tools.js.map +0 -1
- package/dist/realtime/types.d.ts +0 -62
- package/dist/realtime/types.d.ts.map +0 -1
- package/dist/realtime/types.js +0 -3
- package/dist/realtime/types.js.map +0 -1
- package/dist/realtime/voice-summarizer.d.ts +0 -4
- package/dist/realtime/voice-summarizer.d.ts.map +0 -1
- package/dist/realtime/voice-summarizer.js +0 -123
- package/dist/realtime/voice-summarizer.js.map +0 -1
- package/dist/realtime/websocket.d.ts +0 -7
- package/dist/realtime/websocket.d.ts.map +0 -1
- package/dist/realtime/websocket.js +0 -65
- package/dist/realtime/websocket.js.map +0 -1
- package/dist/service/gbox-tun.d.ts +0 -14
- package/dist/service/gbox-tun.d.ts.map +0 -1
- package/dist/service/gbox-tun.js +0 -315
- package/dist/service/gbox-tun.js.map +0 -1
- package/dist/skills/installed.d.ts +0 -11
- package/dist/skills/installed.d.ts.map +0 -1
- package/dist/skills/installed.js +0 -35
- package/dist/skills/installed.js.map +0 -1
- package/dist/tools/card.d.ts +0 -11
- package/dist/tools/card.d.ts.map +0 -1
- package/dist/tools/card.js +0 -87
- package/dist/tools/card.js.map +0 -1
- package/dist/tools/coordinate-resolver.d.ts +0 -30
- package/dist/tools/coordinate-resolver.d.ts.map +0 -1
- package/dist/tools/coordinate-resolver.js +0 -104
- package/dist/tools/coordinate-resolver.js.map +0 -1
- package/dist/tools/sms.d.ts +0 -16
- package/dist/tools/sms.d.ts.map +0 -1
- package/dist/tools/sms.js +0 -78
- package/dist/tools/sms.js.map +0 -1
- package/dist/tools/stock-data.d.ts +0 -70
- package/dist/tools/stock-data.d.ts.map +0 -1
- package/dist/tools/stock-data.js +0 -596
- package/dist/tools/stock-data.js.map +0 -1
- package/dist/tools/webapp.d.ts +0 -30
- package/dist/tools/webapp.d.ts.map +0 -1
- package/dist/tools/webapp.js +0 -114
- package/dist/tools/webapp.js.map +0 -1
- package/dist/utils/wechat-monitor.d.ts +0 -21
- package/dist/utils/wechat-monitor.d.ts.map +0 -1
- package/dist/utils/wechat-monitor.js +0 -88
- package/dist/utils/wechat-monitor.js.map +0 -1
- package/dist/webapp/index.d.ts +0 -28
- package/dist/webapp/index.d.ts.map +0 -1
- package/dist/webapp/index.js +0 -75
- package/dist/webapp/index.js.map +0 -1
- package/dist/webapp/server.d.ts +0 -32
- package/dist/webapp/server.d.ts.map +0 -1
- package/dist/webapp/server.js +0 -375
- package/dist/webapp/server.js.map +0 -1
- package/dist/webapp/storage.d.ts +0 -64
- package/dist/webapp/storage.d.ts.map +0 -1
- package/dist/webapp/storage.js +0 -103
- package/dist/webapp/storage.js.map +0 -1
- package/dist/webapp/ui.d.ts +0 -2
- package/dist/webapp/ui.d.ts.map +0 -1
- package/dist/webapp/ui.js +0 -319
- package/dist/webapp/ui.js.map +0 -1
- package/dist-agent/assets/index.html +0 -1058
- package/dist-agent/assets/samples/alloy.mp3 +0 -0
- package/dist-agent/assets/samples/ash.mp3 +0 -0
- package/dist-agent/assets/samples/ballad.mp3 +0 -0
- package/dist-agent/assets/samples/cedar.mp3 +0 -0
- package/dist-agent/assets/samples/coral.mp3 +0 -0
- package/dist-agent/assets/samples/echo.mp3 +0 -0
- package/dist-agent/assets/samples/marin.mp3 +0 -0
- package/dist-agent/assets/samples/sage.mp3 +0 -0
- package/dist-agent/assets/samples/shimmer.mp3 +0 -0
- package/dist-agent/assets/samples/verse.mp3 +0 -0
- package/dist-agent/realtime/assets/index.html +0 -1058
- package/dist-agent/realtime/assets/samples/alloy.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/ash.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/ballad.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/cedar.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/coral.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/echo.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/marin.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/sage.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/shimmer.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/verse.mp3 +0 -0
|
@@ -3,8 +3,9 @@ import type { VisionClawConfig } from "../config/types.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Creates a CommandHandler for the "switch_engine" remote command.
|
|
5
5
|
*
|
|
6
|
-
* Payload `{ engine: "gpt" | "claude" | "<modelId>" }`:
|
|
7
|
-
* -
|
|
6
|
+
* Payload `{ engine: "default" | "gpt" | "claude" | "<modelId>" }`:
|
|
7
|
+
* - default → follow the server default
|
|
8
|
+
* - gpt/claude → persistent local engine override
|
|
8
9
|
* - other → pinned model id (Pi + llm-gateway), validated via `/v1/models`
|
|
9
10
|
*/
|
|
10
11
|
export declare function createEngineSwitchHandler(config: VisionClawConfig): CommandHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-switch-handler.d.ts","sourceRoot":"","sources":["../../src/agent/engine-switch-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"engine-switch-handler.d.ts","sourceRoot":"","sources":["../../src/agent/engine-switch-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAmB3D;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,CA4ElF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { saveConfig, writePendingRestart } from "../config/index.js";
|
|
3
3
|
import { logger } from "../logger.js";
|
|
4
|
-
import { describeEngineTarget, isAlreadyOnEngineTarget, resolveEngineSwitchTarget, validateEngineSwitchTarget, } from "./engine-switch-target.js";
|
|
4
|
+
import { applyEngineSwitchTarget, describeEngineTarget, isAlreadyOnEngineTarget, resolveEngineSwitchTarget, validateEngineSwitchTarget, } from "./engine-switch-target.js";
|
|
5
5
|
import { LlmGatewayModelsError } from "./llm-gateway-models.js";
|
|
6
6
|
/** Family aliases or a concrete pinned model id (e.g. kimi-k3). */
|
|
7
7
|
const EngineSwitchPayloadSchema = z.object({
|
|
@@ -11,15 +11,16 @@ const RESTART_DELAY = 5_000;
|
|
|
11
11
|
/**
|
|
12
12
|
* Creates a CommandHandler for the "switch_engine" remote command.
|
|
13
13
|
*
|
|
14
|
-
* Payload `{ engine: "gpt" | "claude" | "<modelId>" }`:
|
|
15
|
-
* -
|
|
14
|
+
* Payload `{ engine: "default" | "gpt" | "claude" | "<modelId>" }`:
|
|
15
|
+
* - default → follow the server default
|
|
16
|
+
* - gpt/claude → persistent local engine override
|
|
16
17
|
* - other → pinned model id (Pi + llm-gateway), validated via `/v1/models`
|
|
17
18
|
*/
|
|
18
19
|
export function createEngineSwitchHandler(config) {
|
|
19
20
|
return async (commandId, payload) => {
|
|
20
21
|
const parsed = EngineSwitchPayloadSchema.safeParse(payload);
|
|
21
22
|
if (!parsed.success) {
|
|
22
|
-
const errMsg = `Invalid switch_engine payload: expected { engine: "gpt" | "claude" | "<modelId>" }`;
|
|
23
|
+
const errMsg = `Invalid switch_engine payload: expected { engine: "default" | "gpt" | "claude" | "<modelId>" }`;
|
|
23
24
|
logger.err(`[engine-switch-handler] ${errMsg} (id=${commandId})`);
|
|
24
25
|
return {
|
|
25
26
|
status: "failed",
|
|
@@ -37,10 +38,10 @@ export function createEngineSwitchHandler(config) {
|
|
|
37
38
|
}
|
|
38
39
|
if (isAlreadyOnEngineTarget(config, target)) {
|
|
39
40
|
const label = describeEngineTarget(target);
|
|
40
|
-
logger.system(`[engine-switch-handler] Already on ${label}
|
|
41
|
+
logger.system(`[engine-switch-handler] Already on ${label}; no-op (id=${commandId})`);
|
|
41
42
|
return {
|
|
42
43
|
status: "completed",
|
|
43
|
-
result: JSON.stringify({ message: `Already using ${label}
|
|
44
|
+
result: JSON.stringify({ message: `Already using ${label}` }),
|
|
44
45
|
};
|
|
45
46
|
}
|
|
46
47
|
try {
|
|
@@ -68,16 +69,15 @@ export function createEngineSwitchHandler(config) {
|
|
|
68
69
|
});
|
|
69
70
|
const { scheduleRestart } = await import("../utils/restart.js");
|
|
70
71
|
const { runGracefulShutdown } = await import("./state.js");
|
|
71
|
-
config
|
|
72
|
-
config.provider = target.provider;
|
|
72
|
+
applyEngineSwitchTarget(config, target);
|
|
73
73
|
saveConfig(config);
|
|
74
74
|
const label = describeEngineTarget(target);
|
|
75
|
-
logger.system(`[engine-switch-handler] Engine switch to ${label}
|
|
75
|
+
logger.system(`[engine-switch-handler] Engine switch to ${label} requested via onboarding server (id=${commandId})`);
|
|
76
76
|
scheduleRestart(RESTART_DELAY, runGracefulShutdown);
|
|
77
77
|
return {
|
|
78
78
|
status: "completed",
|
|
79
79
|
result: JSON.stringify({
|
|
80
|
-
message: `Switching to ${label}
|
|
80
|
+
message: `Switching to ${label}; restarting in ${RESTART_DELAY / 1000}s`,
|
|
81
81
|
}),
|
|
82
82
|
};
|
|
83
83
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-switch-handler.js","sourceRoot":"","sources":["../../src/agent/engine-switch-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,mEAAmE;AACnE,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B
|
|
1
|
+
{"version":3,"file":"engine-switch-handler.js","sourceRoot":"","sources":["../../src/agent/engine-switch-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,mEAAmE;AACnE,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAwB;IAChE,OAAO,KAAK,EAAE,SAAiB,EAAE,OAAgB,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,gGAAgG,CAAC;YAChH,MAAM,CAAC,GAAG,CAAC,2BAA2B,MAAM,QAAQ,SAAS,GAAG,CAAC,CAAC;YAClE,OAAO;gBACL,MAAM,EAAE,QAAiB;gBACzB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aAC1C,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,wCAAwC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAC7E,MAAM,CAAC,GAAG,CAAC,2BAA2B,MAAM,QAAQ,SAAS,GAAG,CAAC,CAAC;YAClE,OAAO;gBACL,MAAM,EAAE,QAAiB;gBACzB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aAC1C,CAAC;QACJ,CAAC;QAED,IAAI,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CACX,sCAAsC,KAAK,eAAe,SAAS,GAAG,CACvE,CAAC;YACF,OAAO;gBACL,MAAM,EAAE,WAAoB;gBAC5B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,EAAE,EAAE,CAAC;aAC9D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,qBAAqB,IAAI,GAAG,YAAY,KAAK;gBACzE,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,2BAA2B,MAAM,QAAQ,SAAS,GAAG,CAAC,CAAC;YAClE,OAAO;gBACL,MAAM,EAAE,QAAiB;gBACzB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aAC1C,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,mEAAmE;QACnE,qEAAqE;QACrE,gEAAgE;QAChE,mBAAmB,CAAC;YAClB,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAChE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAE3D,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEnB,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CACX,4CAA4C,KAAK,wCAAwC,SAAS,GAAG,CACtG,CAAC;QAEF,eAAe,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAEpD,OAAO;YACL,MAAM,EAAE,WAAoB;YAC5B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;gBACrB,OAAO,EAAE,gBAAgB,KAAK,mBAAmB,aAAa,GAAG,IAAI,GAAG;aACzE,CAAC;SACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,33 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
*/
|
|
4
|
-
import { getEngineSwitchKey, isPinnedModel } from "../config/models.js";
|
|
5
|
-
import { type Model, type Provider, type VisionClawConfig } from "../config/types.js";
|
|
1
|
+
/** Shared resolution for `/engine` / `switch_engine` targets. */
|
|
2
|
+
import type { Engine, VisionClawConfig } from "../config/types.js";
|
|
6
3
|
export type EngineSwitchTarget = {
|
|
7
|
-
kind: "
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
kind: "default";
|
|
5
|
+
} | {
|
|
6
|
+
kind: "engine";
|
|
7
|
+
engine: Engine;
|
|
11
8
|
} | {
|
|
12
9
|
kind: "pinned";
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
engine: "gpt";
|
|
11
|
+
model: string;
|
|
15
12
|
};
|
|
16
|
-
|
|
17
|
-
export declare function parseEngineSwitchToken(token: string): {
|
|
18
|
-
family: "claude" | "gpt";
|
|
19
|
-
} | {
|
|
20
|
-
pinnedModelId: string;
|
|
21
|
-
} | null;
|
|
13
|
+
export declare function parseEngineSwitchToken(token: string): EngineSwitchTarget | null;
|
|
22
14
|
export declare function resolveEngineSwitchTarget(token: string): EngineSwitchTarget | null;
|
|
23
|
-
export declare function isAlreadyOnEngineTarget(config: Pick<VisionClawConfig, "
|
|
24
|
-
/**
|
|
25
|
-
* Validate a pinned switch against LLM Gateway `/v1/models`.
|
|
26
|
-
* Family switches are no-ops here.
|
|
27
|
-
*/
|
|
15
|
+
export declare function isAlreadyOnEngineTarget(config: Pick<VisionClawConfig, "engineOverride" | "pinnedModel">, target: EngineSwitchTarget): boolean;
|
|
28
16
|
export declare function validateEngineSwitchTarget(config: VisionClawConfig, target: EngineSwitchTarget, options?: {
|
|
29
17
|
fetchImpl?: typeof fetch;
|
|
30
18
|
}): Promise<void>;
|
|
19
|
+
export declare function applyEngineSwitchTarget(config: VisionClawConfig, target: EngineSwitchTarget): void;
|
|
31
20
|
export declare function describeEngineTarget(target: EngineSwitchTarget): string;
|
|
32
|
-
export { isPinnedModel, getEngineSwitchKey };
|
|
33
21
|
//# sourceMappingURL=engine-switch-target.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-switch-target.d.ts","sourceRoot":"","sources":["../../src/agent/engine-switch-target.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"engine-switch-target.d.ts","sourceRoot":"","sources":["../../src/agent/engine-switch-target.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAInE,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAY/E;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAElF;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,aAAa,CAAC,EAChE,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAQT;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GACzC,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,kBAAkB,GACzB,IAAI,CAQN;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAIvE"}
|
|
@@ -1,68 +1,64 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared resolution for `/engine` / `switch_engine` targets.
|
|
3
|
-
*/
|
|
4
|
-
import { DEFAULT_CLAUDE_MODEL, GPT_HEAVY_MODEL, getEngineSwitchKey, isKnownModel, isPinnedModel, } from "../config/models.js";
|
|
5
|
-
import { getSupportedProvidersForModel, } from "../config/types.js";
|
|
1
|
+
/** Shared resolution for `/engine` / `switch_engine` targets. */
|
|
6
2
|
import { assertLlmGatewaySupportsModel } from "./llm-gateway-models.js";
|
|
7
|
-
|
|
3
|
+
import { getEffectiveRoute } from "./model-provider.js";
|
|
8
4
|
export function parseEngineSwitchToken(token) {
|
|
9
5
|
const trimmed = token.trim();
|
|
10
6
|
if (!trimmed)
|
|
11
7
|
return null;
|
|
12
8
|
const lower = trimmed.toLowerCase();
|
|
9
|
+
if (lower === "default")
|
|
10
|
+
return { kind: "default" };
|
|
13
11
|
if (lower === "claude" || lower === "gpt") {
|
|
14
|
-
return {
|
|
12
|
+
return { kind: "engine", engine: lower };
|
|
15
13
|
}
|
|
16
|
-
// Reject reserved runtime aliases that are not valid pinned gateway model ids.
|
|
17
14
|
if (lower === "pi" || lower === "pi-coding" || lower === "coding") {
|
|
18
15
|
return null;
|
|
19
16
|
}
|
|
20
|
-
|
|
21
|
-
// they are NOT pinned models — isPinnedModel() would be false after the
|
|
22
|
-
// switch, so routing would silently fall back to family behavior. Users
|
|
23
|
-
// should switch families via `/engine claude` / `/engine gpt` instead.
|
|
24
|
-
if (isKnownModel(trimmed)) {
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
return { pinnedModelId: trimmed };
|
|
17
|
+
return { kind: "pinned", engine: "gpt", model: trimmed };
|
|
28
18
|
}
|
|
29
19
|
export function resolveEngineSwitchTarget(token) {
|
|
30
|
-
|
|
31
|
-
if (!parsed)
|
|
32
|
-
return null;
|
|
33
|
-
if ("family" in parsed) {
|
|
34
|
-
const model = parsed.family === "gpt" ? GPT_HEAVY_MODEL : DEFAULT_CLAUDE_MODEL;
|
|
35
|
-
const [provider] = getSupportedProvidersForModel(model);
|
|
36
|
-
return { kind: "family", family: parsed.family, model, provider };
|
|
37
|
-
}
|
|
38
|
-
const model = parsed.pinnedModelId;
|
|
39
|
-
const [provider] = getSupportedProvidersForModel(model);
|
|
40
|
-
return { kind: "pinned", model, provider };
|
|
20
|
+
return parseEngineSwitchToken(token);
|
|
41
21
|
}
|
|
42
22
|
export function isAlreadyOnEngineTarget(config, target) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
23
|
+
if (target.kind === "default") {
|
|
24
|
+
return config.engineOverride === undefined && config.pinnedModel === undefined;
|
|
25
|
+
}
|
|
26
|
+
if (target.kind === "engine") {
|
|
27
|
+
return config.engineOverride === target.engine && config.pinnedModel === undefined;
|
|
46
28
|
}
|
|
47
|
-
return
|
|
29
|
+
return config.engineOverride === "gpt" && config.pinnedModel === target.model;
|
|
48
30
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Validate a pinned switch against LLM Gateway `/v1/models`.
|
|
51
|
-
* Family switches are no-ops here.
|
|
52
|
-
*/
|
|
53
31
|
export async function validateEngineSwitchTarget(config, target, options = {}) {
|
|
54
|
-
if (target.kind
|
|
32
|
+
if (target.kind === "default")
|
|
33
|
+
return;
|
|
34
|
+
const route = getEffectiveRoute({
|
|
35
|
+
provider: config.provider,
|
|
36
|
+
engineOverride: target.engine,
|
|
37
|
+
});
|
|
38
|
+
if (!route) {
|
|
39
|
+
throw new Error(`Engine "${target.engine}" has no enabled LLM route`);
|
|
40
|
+
}
|
|
41
|
+
if (target.kind === "engine")
|
|
55
42
|
return;
|
|
56
43
|
await assertLlmGatewaySupportsModel({
|
|
57
44
|
llmGatewayBaseUrl: config.llmGatewayBaseUrl,
|
|
58
45
|
llmGatewayApiKey: config.llmGatewayApiKey,
|
|
59
46
|
}, target.model, options);
|
|
60
47
|
}
|
|
61
|
-
export function
|
|
62
|
-
if (target.kind === "
|
|
63
|
-
|
|
48
|
+
export function applyEngineSwitchTarget(config, target) {
|
|
49
|
+
if (target.kind === "default") {
|
|
50
|
+
config.engineOverride = undefined;
|
|
51
|
+
config.pinnedModel = undefined;
|
|
52
|
+
return;
|
|
64
53
|
}
|
|
54
|
+
config.engineOverride = target.engine;
|
|
55
|
+
config.pinnedModel = target.kind === "pinned" ? target.model : undefined;
|
|
56
|
+
}
|
|
57
|
+
export function describeEngineTarget(target) {
|
|
58
|
+
if (target.kind === "default")
|
|
59
|
+
return "server default engine";
|
|
60
|
+
if (target.kind === "engine")
|
|
61
|
+
return `${target.engine} engine override`;
|
|
65
62
|
return `pinned model "${target.model}"`;
|
|
66
63
|
}
|
|
67
|
-
export { isPinnedModel, getEngineSwitchKey };
|
|
68
64
|
//# sourceMappingURL=engine-switch-target.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-switch-target.js","sourceRoot":"","sources":["../../src/agent/engine-switch-target.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"engine-switch-target.js","sourceRoot":"","sources":["../../src/agent/engine-switch-target.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,20 +11,19 @@ export declare function killPlaywrightProfileCdpChrome(): void;
|
|
|
11
11
|
* {@link killPlaywrightProfileCdpChrome}, which only targets the CDP profile's
|
|
12
12
|
* `--remote-debugging-port=9222` flag.
|
|
13
13
|
*/
|
|
14
|
-
export declare function killPlaywriterChrome(): void
|
|
14
|
+
export declare function killPlaywriterChrome(timeoutMs?: number): Promise<void>;
|
|
15
15
|
/**
|
|
16
16
|
* Launch Chrome with a dedicated user-data-dir for Playwriter.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* Chrome 137+ (and fully on 149), so it silently loads nothing (issue #534).
|
|
18
|
+
* A new macOS External Extensions install is disabled until the user approves
|
|
19
|
+
* it, which leaves the relay with zero sockets and produces the misleading
|
|
20
|
+
* "Multiple extensions" 4003. When the profile has no usable extension (or is
|
|
21
|
+
* in that exact approval state), launch Chrome with a temporary debugging port
|
|
22
|
+
* and install the bundled extension using `Extensions.loadUnpacked`. This CDP
|
|
23
|
+
* command is supported in branded Chrome 137+ even though `--load-extension`
|
|
24
|
+
* is not. The profile-scoped External Extensions JSON remains a fallback.
|
|
26
25
|
*/
|
|
27
|
-
export declare function launchPlaywriterProfileChrome(): void
|
|
26
|
+
export declare function launchPlaywriterProfileChrome(): Promise<void>;
|
|
28
27
|
/**
|
|
29
28
|
* Check whether a Chrome process with the Playwriter data dir is running.
|
|
30
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-browser-policy.d.ts","sourceRoot":"","sources":["../../../../src/agent/engines/claude/session-browser-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-browser-policy.d.ts","sourceRoot":"","sources":["../../../../src/agent/engines/claude/session-browser-policy.ts"],"names":[],"mappings":"AA+FA;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAMrD;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,SAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAe5F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,IAAI,CAAC,CA8CnE;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,OAAO,CAO1D;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,sBAAsB,CAC1C,2BAA2B,EAAE,OAAO,EACpC,IAAI,SAAc,EAClB,IAAI,SAAQ,GACX,OAAO,CAAC,OAAO,CAAC,CA0BlB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { execFileSync, spawn } from "node:child_process";
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import { getPlaywriterProfileDir } from "../../../config/index.js";
|
|
4
|
-
import { cleanPlaywriterExternalUninstalls, } from "../../../onboarding/playwriter-extension.js";
|
|
4
|
+
import { cleanPlaywriterExternalUninstalls, resolveBundledExtensionDir, shouldInstallBundledPlaywriterExtension, } from "../../../onboarding/playwriter-extension.js";
|
|
5
5
|
import { getPlaywriterRelayStatus, getRelayExtensionDiagnosis, invalidateRelayStatusCache, } from "../../../utils/playwriter-relay.js";
|
|
6
6
|
import { logger } from "../../../logger.js";
|
|
7
7
|
let _dataDir = null;
|
|
@@ -29,6 +29,59 @@ function getChromePath() {
|
|
|
29
29
|
_chromePath ??= findChromePath();
|
|
30
30
|
return _chromePath;
|
|
31
31
|
}
|
|
32
|
+
const DEVTOOLS_ACTIVE_PORT = "DevToolsActivePort";
|
|
33
|
+
const CHROME_EXIT_TIMEOUT_MS = 5_000;
|
|
34
|
+
function getDevToolsActivePortPath(profileDir) {
|
|
35
|
+
return `${profileDir}/${DEVTOOLS_ACTIVE_PORT}`;
|
|
36
|
+
}
|
|
37
|
+
async function readBrowserWebSocketUrl(profileDir, timeoutMs = 10_000) {
|
|
38
|
+
const portFile = getDevToolsActivePortPath(profileDir);
|
|
39
|
+
const deadline = Date.now() + timeoutMs;
|
|
40
|
+
while (Date.now() < deadline) {
|
|
41
|
+
try {
|
|
42
|
+
const [port, browserPath] = fs.readFileSync(portFile, "utf-8").trim().split("\n");
|
|
43
|
+
if (port && browserPath)
|
|
44
|
+
return `ws://127.0.0.1:${port}${browserPath}`;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Chrome writes the file asynchronously after launch.
|
|
48
|
+
}
|
|
49
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
async function installBundledExtensionOverCdp(webSocketUrl, extensionDir) {
|
|
54
|
+
return await new Promise((resolve) => {
|
|
55
|
+
const socket = new WebSocket(webSocketUrl);
|
|
56
|
+
const timer = setTimeout(() => {
|
|
57
|
+
socket.close();
|
|
58
|
+
resolve(false);
|
|
59
|
+
}, 10_000);
|
|
60
|
+
const finish = (ok) => {
|
|
61
|
+
clearTimeout(timer);
|
|
62
|
+
socket.close();
|
|
63
|
+
resolve(ok);
|
|
64
|
+
};
|
|
65
|
+
socket.addEventListener("open", () => {
|
|
66
|
+
socket.send(JSON.stringify({
|
|
67
|
+
id: 1,
|
|
68
|
+
method: "Extensions.loadUnpacked",
|
|
69
|
+
params: { path: extensionDir },
|
|
70
|
+
}));
|
|
71
|
+
});
|
|
72
|
+
socket.addEventListener("message", (event) => {
|
|
73
|
+
try {
|
|
74
|
+
const response = JSON.parse(String(event.data));
|
|
75
|
+
if (response.id === 1)
|
|
76
|
+
finish(!response.error);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
finish(false);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
socket.addEventListener("error", () => finish(false));
|
|
83
|
+
});
|
|
84
|
+
}
|
|
32
85
|
/**
|
|
33
86
|
* Kill any Chrome processes launched with `--remote-debugging-port=9222`
|
|
34
87
|
* (the Playwright CDP profile). Safe to call when none are running.
|
|
@@ -49,27 +102,34 @@ export function killPlaywrightProfileCdpChrome() {
|
|
|
49
102
|
* {@link killPlaywrightProfileCdpChrome}, which only targets the CDP profile's
|
|
50
103
|
* `--remote-debugging-port=9222` flag.
|
|
51
104
|
*/
|
|
52
|
-
export function killPlaywriterChrome() {
|
|
105
|
+
export async function killPlaywriterChrome(timeoutMs = CHROME_EXIT_TIMEOUT_MS) {
|
|
53
106
|
try {
|
|
54
107
|
execFileSync("pkill", ["-f", "--", `--user-data-dir=${getDataDir()}`], { stdio: "ignore" });
|
|
55
108
|
}
|
|
56
109
|
catch {
|
|
57
110
|
// No matching process — expected.
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const deadline = Date.now() + timeoutMs;
|
|
114
|
+
while (isPlaywriterProfileChromeRunning()) {
|
|
115
|
+
if (Date.now() >= deadline) {
|
|
116
|
+
throw new Error("Playwriter Chrome did not exit before restart timeout");
|
|
117
|
+
}
|
|
118
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
58
119
|
}
|
|
59
120
|
}
|
|
60
121
|
/**
|
|
61
122
|
* Launch Chrome with a dedicated user-data-dir for Playwriter.
|
|
62
123
|
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
* Chrome 137+ (and fully on 149), so it silently loads nothing (issue #534).
|
|
124
|
+
* A new macOS External Extensions install is disabled until the user approves
|
|
125
|
+
* it, which leaves the relay with zero sockets and produces the misleading
|
|
126
|
+
* "Multiple extensions" 4003. When the profile has no usable extension (or is
|
|
127
|
+
* in that exact approval state), launch Chrome with a temporary debugging port
|
|
128
|
+
* and install the bundled extension using `Extensions.loadUnpacked`. This CDP
|
|
129
|
+
* command is supported in branded Chrome 137+ even though `--load-extension`
|
|
130
|
+
* is not. The profile-scoped External Extensions JSON remains a fallback.
|
|
71
131
|
*/
|
|
72
|
-
export function launchPlaywriterProfileChrome() {
|
|
132
|
+
export async function launchPlaywriterProfileChrome() {
|
|
73
133
|
const chromePath = getChromePath();
|
|
74
134
|
if (!fs.existsSync(chromePath)) {
|
|
75
135
|
logger.warn(`Chrome not found at ${chromePath}`);
|
|
@@ -79,12 +139,21 @@ export function launchPlaywriterProfileChrome() {
|
|
|
79
139
|
// Chrome is guaranteed not running, so Chrome re-installs the Playwriter
|
|
80
140
|
// extension from the profile's External Extensions JSON on launch.
|
|
81
141
|
cleanPlaywriterExternalUninstalls(getDataDir());
|
|
142
|
+
const profileDir = getDataDir();
|
|
143
|
+
const extensionDir = resolveBundledExtensionDir();
|
|
144
|
+
const installBundled = extensionDir !== null && shouldInstallBundledPlaywriterExtension(profileDir);
|
|
82
145
|
const flags = [
|
|
83
|
-
`--user-data-dir=${
|
|
146
|
+
`--user-data-dir=${profileDir}`,
|
|
84
147
|
"--no-first-run",
|
|
85
148
|
"--no-default-browser-check",
|
|
86
149
|
"--profile-directory=Default",
|
|
87
150
|
];
|
|
151
|
+
if (installBundled) {
|
|
152
|
+
flags.push("--remote-debugging-port=0", "--enable-unsafe-extension-debugging");
|
|
153
|
+
// Chrome leaves this file behind after exit. Remove it before launch so the
|
|
154
|
+
// CDP installer cannot connect to the previous browser's dead endpoint.
|
|
155
|
+
fs.rmSync(getDevToolsActivePortPath(profileDir), { force: true });
|
|
156
|
+
}
|
|
88
157
|
const child = spawn(chromePath, flags, {
|
|
89
158
|
detached: true,
|
|
90
159
|
stdio: "ignore",
|
|
@@ -94,6 +163,15 @@ export function launchPlaywriterProfileChrome() {
|
|
|
94
163
|
});
|
|
95
164
|
child.unref();
|
|
96
165
|
logger.system("Playwriter: launched dedicated Chrome instance");
|
|
166
|
+
if (installBundled) {
|
|
167
|
+
const browserWebSocketUrl = await readBrowserWebSocketUrl(profileDir);
|
|
168
|
+
if (browserWebSocketUrl && await installBundledExtensionOverCdp(browserWebSocketUrl, extensionDir)) {
|
|
169
|
+
logger.system("Playwriter: installed bundled extension through Chrome CDP");
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
logger.warn("Playwriter: failed to install bundled extension through Chrome CDP; using External Extensions fallback");
|
|
173
|
+
}
|
|
174
|
+
}
|
|
97
175
|
}
|
|
98
176
|
/**
|
|
99
177
|
* Check whether a Chrome process with the Playwriter data dir is running.
|
|
@@ -107,9 +185,9 @@ export function isPlaywriterProfileChromeRunning() {
|
|
|
107
185
|
return false;
|
|
108
186
|
}
|
|
109
187
|
}
|
|
110
|
-
function restartChromeForPlaywriter() {
|
|
111
|
-
killPlaywriterChrome();
|
|
112
|
-
launchPlaywriterProfileChrome();
|
|
188
|
+
async function restartChromeForPlaywriter() {
|
|
189
|
+
await killPlaywriterChrome();
|
|
190
|
+
await launchPlaywriterProfileChrome();
|
|
113
191
|
// The restart kills + relaunches Chrome, so the old relay status (cached up to
|
|
114
192
|
// 30s by the caller) may still report extensionConnected for a connection that
|
|
115
193
|
// is already gone. Drop it so the next tool call does a fresh probe against the
|
|
@@ -136,7 +214,7 @@ function restartChromeForPlaywriter() {
|
|
|
136
214
|
export async function ensurePlaywriterChrome(didResetConnectionsThisTurn, host = "127.0.0.1", port = 19988) {
|
|
137
215
|
if (!isPlaywriterProfileChromeRunning()) {
|
|
138
216
|
logger.system("Playwriter Chrome not running — launching");
|
|
139
|
-
launchPlaywriterProfileChrome();
|
|
217
|
+
await launchPlaywriterProfileChrome();
|
|
140
218
|
return didResetConnectionsThisTurn;
|
|
141
219
|
}
|
|
142
220
|
// Chrome is running. Only restart if its extension connection is stale, and
|
|
@@ -153,7 +231,7 @@ export async function ensurePlaywriterChrome(didResetConnectionsThisTurn, host =
|
|
|
153
231
|
// close reason (issue #534, layer 2).
|
|
154
232
|
const diagnosis = await getRelayExtensionDiagnosis(host, port);
|
|
155
233
|
logger.system(`Playwriter Chrome running but relay extension not connected (${diagnosis.kind}: ${diagnosis.message}) — restarting`);
|
|
156
|
-
restartChromeForPlaywriter();
|
|
234
|
+
await restartChromeForPlaywriter();
|
|
157
235
|
return true;
|
|
158
236
|
}
|
|
159
237
|
//# sourceMappingURL=session-browser-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-browser-policy.js","sourceRoot":"","sources":["../../../../src/agent/engines/claude/session-browser-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EACL,iCAAiC,
|
|
1
|
+
{"version":3,"file":"session-browser-policy.js","sourceRoot":"","sources":["../../../../src/agent/engines/claude/session-browser-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EACL,iCAAiC,EACjC,0BAA0B,EAC1B,uCAAuC,GACxC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,IAAI,QAAQ,GAAkB,IAAI,CAAC;AACnC,SAAS,UAAU;IACjB,QAAQ,KAAK,uBAAuB,EAAE,CAAC;IACvC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,8DAA8D,CAAC;IACxE,CAAC;IACD,MAAM,UAAU,GAAG;QACjB,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,mBAAmB,2CAA2C;QAC7F,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,yBAAyB,2CAA2C;QAC3G,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,2CAA2C;KAC7E,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,IAAI,WAAW,GAAkB,IAAI,CAAC;AACtC,SAAS,aAAa;IACpB,WAAW,KAAK,cAAc,EAAE,CAAC;IACjC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAClD,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAErC,SAAS,yBAAyB,CAAC,UAAkB;IACnD,OAAO,GAAG,UAAU,IAAI,oBAAoB,EAAE,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,UAAkB,EAAE,SAAS,GAAG,MAAM;IAC3E,MAAM,QAAQ,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClF,IAAI,IAAI,IAAI,WAAW;gBAAE,OAAO,kBAAkB,IAAI,GAAG,WAAW,EAAE,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,8BAA8B,CAAC,YAAoB,EAAE,YAAoB;IACtF,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,MAAM,MAAM,GAAG,CAAC,EAAW,EAAQ,EAAE;YACnC,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aAC/B,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAqC,CAAC;gBACpF,IAAI,QAAQ,CAAC,EAAE,KAAK,CAAC;oBAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B;IAC5C,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,8BAA8B,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAS,GAAG,sBAAsB;IAC3E,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9F,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,gCAAgC,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,mEAAmE;IACnE,iCAAiC,CAAC,UAAU,EAAE,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,0BAA0B,EAAE,CAAC;IAClD,MAAM,cAAc,GAAG,YAAY,KAAK,IAAI,IAAI,uCAAuC,CAAC,UAAU,CAAC,CAAC;IACpG,MAAM,KAAK,GAAG;QACZ,mBAAmB,UAAU,EAAE;QAC/B,gBAAgB;QAChB,4BAA4B;QAC5B,6BAA6B;KAC9B,CAAC;IACF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE,qCAAqC,CAAC,CAAC;QAC/E,4EAA4E;QAC5E,wEAAwE;QACxE,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE;QACrC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,MAAM,CAAC,IAAI,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,MAAM,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC;IAEhE,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,mBAAmB,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,mBAAmB,IAAI,MAAM,8BAA8B,CAAC,mBAAmB,EAAE,YAAY,CAAC,EAAE,CAAC;YACnG,MAAM,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,wGAAwG,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC;IAC9C,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B;IACvC,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,6BAA6B,EAAE,CAAC;IACtC,+EAA+E;IAC/E,+EAA+E;IAC/E,gFAAgF;IAChF,mDAAmD;IACnD,0BAA0B,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,2BAAoC,EACpC,IAAI,GAAG,WAAW,EAClB,IAAI,GAAG,KAAK;IAEZ,IAAI,CAAC,gCAAgC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;QAC3D,MAAM,6BAA6B,EAAE,CAAC;QACtC,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,4EAA4E;IAC5E,sBAAsB;IACtB,IAAI,2BAA2B;QAAE,OAAO,KAAK,CAAC;IAE9C,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8EAA8E;IAC9E,0EAA0E;IAC1E,sCAAsC;IACtC,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,CACX,gEAAgE,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,gBAAgB,CACrH,CAAC;IACF,MAAM,0BAA0B,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { VisionClawConfig } from "../../config/types.js";
|
|
2
2
|
export type AgentEngine = "claude" | "pi-coding";
|
|
3
|
-
/** True only for built-in Claude family models (not pinned ids that happen to contain "claude"). */
|
|
4
|
-
export declare function isClaudeModel(model: Model): boolean;
|
|
5
3
|
export declare function getAgentEngine(config: VisionClawConfig): AgentEngine;
|
|
6
4
|
//# sourceMappingURL=engine-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-factory.d.ts","sourceRoot":"","sources":["../../../src/agent/engines/engine-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine-factory.d.ts","sourceRoot":"","sources":["../../../src/agent/engines/engine-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEjD,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAMpE"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/** True only for built-in Claude family models (not pinned ids that happen to contain "claude"). */
|
|
3
|
-
export function isClaudeModel(model) {
|
|
4
|
-
return isKnownClaudeModel(model);
|
|
5
|
-
}
|
|
1
|
+
import { getEffectiveRoute } from "../model-provider.js";
|
|
6
2
|
export function getAgentEngine(config) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
const runtime = getEffectiveRoute(config)?.runtime;
|
|
4
|
+
if (!runtime) {
|
|
5
|
+
throw new Error("LLM routing unavailable: no cached or server route for the selected engine");
|
|
6
|
+
}
|
|
7
|
+
return runtime;
|
|
10
8
|
}
|
|
11
9
|
//# sourceMappingURL=engine-factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-factory.js","sourceRoot":"","sources":["../../../src/agent/engines/engine-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine-factory.js","sourceRoot":"","sources":["../../../src/agent/engines/engine-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,MAAM,UAAU,cAAc,CAAC,MAAwB;IACrD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/agent/engines/pi-coding/session.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/agent/engines/pi-coding/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ import crypto from "crypto";
|
|
|
4
4
|
import fs from "fs";
|
|
5
5
|
import path from "path";
|
|
6
6
|
import { getConfigDir, getSkillsDir, loadSessionId, loadUsageSnapshot, saveSessionId, saveUsageSnapshot } from "../../../config/index.js";
|
|
7
|
-
import { isPinnedModel } from "../../../config/models.js";
|
|
8
7
|
import { logger } from "../../../logger.js";
|
|
9
8
|
import { armContextActionRestartFallback } from "../../context-action-restart-fallback.js";
|
|
10
9
|
import { COMPACTION_ABORT_RESTART_GRACE_MS, DEFAULT_COMPACTION_TIMEOUT_MS, } from "../../compaction-policy.js";
|
|
@@ -489,7 +488,7 @@ export class PiCodingAgentSession {
|
|
|
489
488
|
// Scoped to pinned models only (e.g. `/engine kimi-k3`) — the built-in
|
|
490
489
|
// gpt/claude paths are known-good and stay byte-identical.
|
|
491
490
|
pi.on("before_provider_request", (event) => {
|
|
492
|
-
if (!
|
|
491
|
+
if (!this.config.pinnedModel)
|
|
493
492
|
return undefined;
|
|
494
493
|
return sanitizeToolSchemasInPayload(event.payload);
|
|
495
494
|
});
|