visionclaw 0.1.194-dev.feat-backup-progress-reporting.1 → 0.1.195-beta.0
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/CHANGELOG.md +14 -0
- package/dist/agent/applied-credential-signature.d.ts +53 -0
- package/dist/agent/applied-credential-signature.d.ts.map +1 -0
- package/dist/agent/applied-credential-signature.js +137 -0
- package/dist/agent/applied-credential-signature.js.map +1 -0
- package/dist/agent/backup.d.ts.map +1 -1
- package/dist/agent/backup.js +154 -5
- package/dist/agent/backup.js.map +1 -1
- package/dist/agent/credential-bundle-handler.d.ts +8 -0
- package/dist/agent/credential-bundle-handler.d.ts.map +1 -1
- package/dist/agent/credential-bundle-handler.js +15 -1
- package/dist/agent/credential-bundle-handler.js.map +1 -1
- package/dist/agent/engines/claude/cli-resolver.d.ts +16 -0
- package/dist/agent/engines/claude/cli-resolver.d.ts.map +1 -0
- package/dist/agent/engines/claude/cli-resolver.js +83 -0
- package/dist/agent/engines/claude/cli-resolver.js.map +1 -0
- package/dist/agent/engines/claude/session-browser-policy.d.ts +9 -0
- package/dist/agent/engines/claude/session-browser-policy.d.ts.map +1 -0
- package/dist/agent/engines/claude/session-browser-policy.js +49 -0
- package/dist/agent/engines/claude/session-browser-policy.js.map +1 -0
- package/dist/agent/engines/claude/session.d.ts +304 -0
- package/dist/agent/engines/claude/session.d.ts.map +1 -0
- package/dist/agent/engines/claude/session.js +1233 -0
- package/dist/agent/engines/claude/session.js.map +1 -0
- package/dist/agent/engines/client-factory.d.ts +63 -0
- package/dist/agent/engines/client-factory.d.ts.map +1 -0
- package/dist/agent/engines/client-factory.js +382 -0
- package/dist/agent/engines/client-factory.js.map +1 -0
- package/dist/agent/engines/engine-factory.d.ts +5 -0
- package/dist/agent/engines/engine-factory.d.ts.map +1 -0
- package/dist/agent/engines/engine-factory.js +7 -0
- package/dist/agent/engines/engine-factory.js.map +1 -0
- package/dist/agent/engines/engine.d.ts +8 -0
- package/dist/agent/engines/engine.d.ts.map +1 -0
- package/dist/agent/engines/engine.js +15 -0
- package/dist/agent/engines/engine.js.map +1 -0
- package/dist/agent/engines/openai/file-session.d.ts +19 -0
- package/dist/agent/engines/openai/file-session.d.ts.map +1 -0
- package/dist/agent/engines/openai/file-session.js +78 -0
- package/dist/agent/engines/openai/file-session.js.map +1 -0
- package/dist/agent/engines/openai/file-tools.d.ts +35 -0
- package/dist/agent/engines/openai/file-tools.d.ts.map +1 -0
- package/dist/agent/engines/openai/file-tools.js +194 -0
- package/dist/agent/engines/openai/file-tools.js.map +1 -0
- package/dist/agent/engines/openai/session.d.ts +55 -0
- package/dist/agent/engines/openai/session.d.ts.map +1 -0
- package/dist/agent/engines/openai/session.js +447 -0
- package/dist/agent/engines/openai/session.js.map +1 -0
- package/dist/agent/engines/openai/tools.d.ts +15 -0
- package/dist/agent/engines/openai/tools.d.ts.map +1 -0
- package/dist/agent/engines/openai/tools.js +221 -0
- package/dist/agent/engines/openai/tools.js.map +1 -0
- package/dist/agent/engines/pi/session.d.ts +54 -0
- package/dist/agent/engines/pi/session.d.ts.map +1 -0
- package/dist/agent/engines/pi/session.js +397 -0
- package/dist/agent/engines/pi/session.js.map +1 -0
- package/dist/agent/engines/pi/tools.d.ts +19 -0
- package/dist/agent/engines/pi/tools.d.ts.map +1 -0
- package/dist/agent/engines/pi/tools.js +127 -0
- package/dist/agent/engines/pi/tools.js.map +1 -0
- package/dist/agent/engines/session-types.d.ts +153 -0
- package/dist/agent/engines/session-types.d.ts.map +1 -0
- package/dist/agent/engines/session-types.js +2 -0
- package/dist/agent/engines/session-types.js.map +1 -0
- package/dist/agent/engines/system-prompt-log.d.ts +9 -0
- package/dist/agent/engines/system-prompt-log.d.ts.map +1 -0
- package/dist/agent/engines/system-prompt-log.js +46 -0
- package/dist/agent/engines/system-prompt-log.js.map +1 -0
- package/dist/agent/heartbeat-manager.d.ts +1 -0
- package/dist/agent/heartbeat-manager.d.ts.map +1 -1
- package/dist/agent/heartbeat-manager.js +85 -50
- package/dist/agent/heartbeat-manager.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +1 -0
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/model-provider.d.ts +103 -0
- package/dist/agent/model-provider.d.ts.map +1 -0
- package/dist/agent/model-provider.js +540 -0
- package/dist/agent/model-provider.js.map +1 -0
- package/dist/agent/providers/claude/session.js +6 -2
- package/dist/agent/providers/claude/session.js.map +1 -1
- package/dist/agent/providers/client-factory.d.ts +5 -3
- package/dist/agent/providers/client-factory.d.ts.map +1 -1
- package/dist/agent/providers/client-factory.js +33 -11
- package/dist/agent/providers/client-factory.js.map +1 -1
- package/dist/agent/runtime-credentials.d.ts +30 -9
- package/dist/agent/runtime-credentials.d.ts.map +1 -1
- package/dist/agent/runtime-credentials.js +111 -24
- package/dist/agent/runtime-credentials.js.map +1 -1
- package/dist/agent/screenshot-injector.d.ts.map +1 -1
- package/dist/agent/screenshot-injector.js +10 -7
- package/dist/agent/screenshot-injector.js.map +1 -1
- package/dist/agent/transcript/transcript-backfill.d.ts +54 -0
- package/dist/agent/transcript/transcript-backfill.d.ts.map +1 -0
- package/dist/agent/transcript/transcript-backfill.js +604 -0
- package/dist/agent/transcript/transcript-backfill.js.map +1 -0
- package/dist/agent/transcript/transcript-indexer.d.ts +273 -0
- package/dist/agent/transcript/transcript-indexer.d.ts.map +1 -0
- package/dist/agent/transcript/transcript-indexer.js +1217 -0
- package/dist/agent/transcript/transcript-indexer.js.map +1 -0
- package/dist/agent/transcript/transcript-memory-migrations.d.ts +25 -0
- package/dist/agent/transcript/transcript-memory-migrations.d.ts.map +1 -0
- package/dist/agent/transcript/transcript-memory-migrations.js +87 -0
- package/dist/agent/transcript/transcript-memory-migrations.js.map +1 -0
- package/dist/agent/transcript-memory-migrations.d.ts +25 -0
- package/dist/agent/transcript-memory-migrations.d.ts.map +1 -0
- package/dist/agent/transcript-memory-migrations.js +87 -0
- package/dist/agent/transcript-memory-migrations.js.map +1 -0
- package/dist/agent/tunnel-credential-handler.d.ts +90 -0
- package/dist/agent/tunnel-credential-handler.d.ts.map +1 -0
- package/dist/agent/tunnel-credential-handler.js +162 -0
- package/dist/agent/tunnel-credential-handler.js.map +1 -0
- package/dist/agent/tunnel-rotation-manager.d.ts +24 -0
- package/dist/agent/tunnel-rotation-manager.d.ts.map +1 -0
- package/dist/agent/tunnel-rotation-manager.js +308 -0
- package/dist/agent/tunnel-rotation-manager.js.map +1 -0
- package/dist/agent/usage/usage-backfill-handler.d.ts +18 -0
- package/dist/agent/usage/usage-backfill-handler.d.ts.map +1 -0
- package/dist/agent/usage/usage-backfill-handler.js +69 -0
- package/dist/agent/usage/usage-backfill-handler.js.map +1 -0
- package/dist/agent/usage/usage-gate.d.ts +25 -0
- package/dist/agent/usage/usage-gate.d.ts.map +1 -0
- package/dist/agent/usage/usage-gate.js +83 -0
- package/dist/agent/usage/usage-gate.js.map +1 -0
- package/dist/agent/usage/usage-handler.d.ts +7 -0
- package/dist/agent/usage/usage-handler.d.ts.map +1 -0
- package/dist/agent/usage/usage-handler.js +28 -0
- package/dist/agent/usage/usage-handler.js.map +1 -0
- package/dist/agent/usage/usage-report-builder.d.ts +26 -0
- package/dist/agent/usage/usage-report-builder.d.ts.map +1 -0
- package/dist/agent/usage/usage-report-builder.js +80 -0
- package/dist/agent/usage/usage-report-builder.js.map +1 -0
- package/dist/agent/usage/usage-report-queue.d.ts +26 -0
- package/dist/agent/usage/usage-report-queue.d.ts.map +1 -0
- package/dist/agent/usage/usage-report-queue.js +199 -0
- package/dist/agent/usage/usage-report-queue.js.map +1 -0
- package/dist/agent/usage/usage-report-types.d.ts +41 -0
- package/dist/agent/usage/usage-report-types.d.ts.map +1 -0
- package/dist/agent/usage/usage-report-types.js +2 -0
- package/dist/agent/usage/usage-report-types.js.map +1 -0
- package/dist/agent/usage/usage-reporter.d.ts +31 -0
- package/dist/agent/usage/usage-reporter.d.ts.map +1 -0
- package/dist/agent/usage/usage-reporter.js +102 -0
- package/dist/agent/usage/usage-reporter.js.map +1 -0
- package/dist/agent/usage-backfill-handler.d.ts +18 -0
- package/dist/agent/usage-backfill-handler.d.ts.map +1 -0
- package/dist/agent/usage-backfill-handler.js +69 -0
- package/dist/agent/usage-backfill-handler.js.map +1 -0
- package/dist/agent/usage-gate.d.ts +25 -0
- package/dist/agent/usage-gate.d.ts.map +1 -0
- package/dist/agent/usage-gate.js +83 -0
- package/dist/agent/usage-gate.js.map +1 -0
- package/dist/agent/usage-report-builder.d.ts +26 -0
- package/dist/agent/usage-report-builder.d.ts.map +1 -0
- package/dist/agent/usage-report-builder.js +80 -0
- package/dist/agent/usage-report-builder.js.map +1 -0
- package/dist/agent/usage-report-queue.d.ts +26 -0
- package/dist/agent/usage-report-queue.d.ts.map +1 -0
- package/dist/agent/usage-report-queue.js +199 -0
- package/dist/agent/usage-report-queue.js.map +1 -0
- package/dist/agent/usage-report-types.d.ts +41 -0
- package/dist/agent/usage-report-types.d.ts.map +1 -0
- package/dist/agent/usage-report-types.js +2 -0
- package/dist/agent/usage-report-types.js.map +1 -0
- package/dist/agent/usage-reporter.d.ts +31 -0
- package/dist/agent/usage-reporter.d.ts.map +1 -0
- package/dist/agent/usage-reporter.js +102 -0
- package/dist/agent/usage-reporter.js.map +1 -0
- package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
- package/dist/agent/wake-cycle-runner.js +7 -4
- package/dist/agent/wake-cycle-runner.js.map +1 -1
- package/dist/agent/wake-cycle-tool-tracker.d.ts +39 -0
- package/dist/agent/wake-cycle-tool-tracker.d.ts.map +1 -0
- package/dist/agent/wake-cycle-tool-tracker.js +72 -0
- package/dist/agent/wake-cycle-tool-tracker.js.map +1 -0
- package/dist/anthropic-credentials.d.ts +4 -2
- package/dist/anthropic-credentials.d.ts.map +1 -1
- package/dist/anthropic-credentials.js +4 -2
- package/dist/anthropic-credentials.js.map +1 -1
- package/dist/backup.d.ts +1 -0
- package/dist/backup.d.ts.map +1 -1
- package/dist/backup.js +19 -1
- package/dist/backup.js.map +1 -1
- package/dist/billing/payg-handler.d.ts +29 -0
- package/dist/billing/payg-handler.d.ts.map +1 -0
- package/dist/billing/payg-handler.js +92 -0
- package/dist/billing/payg-handler.js.map +1 -0
- package/dist/billing/payment-handler.d.ts +24 -0
- package/dist/billing/payment-handler.d.ts.map +1 -0
- package/dist/billing/payment-handler.js +101 -0
- package/dist/billing/payment-handler.js.map +1 -0
- package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +412 -0
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +132 -0
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +166 -0
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +87 -0
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +174 -0
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +274 -0
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +111 -0
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +87 -0
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +176 -0
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +67 -0
- package/dist/builtin-skills/transcribe-audio/SKILL.md +122 -0
- package/dist/builtin-skills/visionclaw-manual/SKILL.md +234 -131
- package/dist/config/types.d.ts +2 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +3 -1
- package/dist/config/types.js.map +1 -1
- package/dist/data-processing/convert-demo-cli.d.ts +7 -0
- package/dist/data-processing/convert-demo-cli.d.ts.map +1 -0
- package/dist/data-processing/convert-demo-cli.js +30 -0
- package/dist/data-processing/convert-demo-cli.js.map +1 -0
- package/dist/data-processing/convert-demo.d.ts +26 -0
- package/dist/data-processing/convert-demo.d.ts.map +1 -0
- package/dist/data-processing/convert-demo.js +233 -0
- package/dist/data-processing/convert-demo.js.map +1 -0
- package/dist/gemini-credentials.d.ts +3 -2
- package/dist/gemini-credentials.d.ts.map +1 -1
- package/dist/gemini-credentials.js +3 -2
- package/dist/gemini-credentials.js.map +1 -1
- package/dist/google/token-file.d.ts.map +1 -1
- package/dist/google/token-file.js +19 -3
- package/dist/google/token-file.js.map +1 -1
- package/dist/obs/rdp/icons/icons/app_windows.svg +4 -0
- package/dist/obs/rdp/icons/icons/clip_get.svg +4 -0
- package/dist/obs/rdp/icons/icons/clip_send.svg +4 -0
- package/dist/obs/rdp/icons/icons/clip_shared.svg +4 -0
- package/dist/obs/rdp/icons/icons/clipboard.svg +4 -0
- package/dist/obs/rdp/icons/icons/clipboard_shared.svg +4 -0
- package/dist/obs/rdp/icons/icons/control.svg +4 -0
- package/dist/obs/rdp/icons/icons/desktop.svg +4 -0
- package/dist/obs/rdp/icons/icons/display.svg +4 -0
- package/dist/obs/rdp/icons/icons/launchpad.svg +4 -0
- package/dist/obs/rdp/icons/icons/mission_control.svg +4 -0
- package/dist/obs/rdp/icons/icons/screenshot.svg +4 -0
- package/dist/obs/rdp/icons/icons/zoom_actual.svg +4 -0
- package/dist/obs/rdp/icons/icons/zoom_fit.svg +4 -0
- package/dist/obs/rdp/icons/icons/zoom_in.svg +4 -0
- package/dist/obs/rdp/icons/icons/zoom_out.svg +4 -0
- package/dist/obs/tunnel-telemetry.d.ts +46 -0
- package/dist/obs/tunnel-telemetry.d.ts.map +1 -0
- package/dist/obs/tunnel-telemetry.js +70 -0
- package/dist/obs/tunnel-telemetry.js.map +1 -0
- package/dist/obs/tunnel.d.ts.map +1 -1
- package/dist/obs/tunnel.js +16 -0
- package/dist/obs/tunnel.js.map +1 -1
- package/dist/onboarding/cloudflared-cert.d.ts +15 -0
- package/dist/onboarding/cloudflared-cert.d.ts.map +1 -0
- package/dist/onboarding/cloudflared-cert.js +57 -0
- package/dist/onboarding/cloudflared-cert.js.map +1 -0
- package/dist/onboarding/onboarding-service-client.d.ts +47 -6
- 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 +19 -0
- package/dist/onboarding/playwriter-extension.d.ts.map +1 -0
- package/dist/onboarding/playwriter-extension.js +246 -0
- package/dist/onboarding/playwriter-extension.js.map +1 -0
- package/dist/onboarding/provisioning-spec.d.ts +1 -1
- package/dist/onboarding/provisioning-spec.d.ts.map +1 -1
- package/dist/onboarding/provisioning-spec.js +5 -1
- package/dist/onboarding/provisioning-spec.js.map +1 -1
- package/dist/onboarding/setup-shared.d.ts.map +1 -1
- package/dist/onboarding/setup-shared.js +4 -2
- package/dist/onboarding/setup-shared.js.map +1 -1
- package/dist/openai-credentials.d.ts +7 -8
- package/dist/openai-credentials.d.ts.map +1 -1
- package/dist/openai-credentials.js +7 -8
- package/dist/openai-credentials.js.map +1 -1
- package/dist/phonecall-credentials.d.ts +3 -2
- package/dist/phonecall-credentials.d.ts.map +1 -1
- package/dist/phonecall-credentials.js +3 -2
- package/dist/phonecall-credentials.js.map +1 -1
- package/dist/realtime/server.d.ts.map +1 -1
- package/dist/realtime/server.js +4 -1
- package/dist/realtime/server.js.map +1 -1
- package/dist/realtime/websocket.d.ts +7 -0
- package/dist/realtime/websocket.d.ts.map +1 -0
- package/dist/realtime/websocket.js +65 -0
- package/dist/realtime/websocket.js.map +1 -0
- package/dist/restore.d.ts.map +1 -1
- package/dist/restore.js +14 -0
- package/dist/restore.js.map +1 -1
- package/dist/serpapi-credentials.d.ts +7 -6
- package/dist/serpapi-credentials.d.ts.map +1 -1
- package/dist/serpapi-credentials.js +7 -6
- package/dist/serpapi-credentials.js.map +1 -1
- package/dist/service/gbox-tun.d.ts +14 -0
- package/dist/service/gbox-tun.d.ts.map +1 -0
- package/dist/service/gbox-tun.js +315 -0
- package/dist/service/gbox-tun.js.map +1 -0
- package/dist/skills/installed.d.ts +11 -0
- package/dist/skills/installed.d.ts.map +1 -0
- package/dist/skills/installed.js +35 -0
- package/dist/skills/installed.js.map +1 -0
- package/dist/tools/coordinate-resolver.d.ts +30 -0
- package/dist/tools/coordinate-resolver.d.ts.map +1 -0
- package/dist/tools/coordinate-resolver.js +104 -0
- package/dist/tools/coordinate-resolver.js.map +1 -0
- package/dist/tos-storage.d.ts.map +1 -1
- package/dist/tos-storage.js +5 -1
- package/dist/tos-storage.js.map +1 -1
- package/dist/utils/playwriter-relay.d.ts +9 -0
- package/dist/utils/playwriter-relay.d.ts.map +1 -0
- package/dist/utils/playwriter-relay.js +77 -0
- package/dist/utils/playwriter-relay.js.map +1 -0
- package/dist/utils/wechat-monitor.d.ts +21 -0
- package/dist/utils/wechat-monitor.d.ts.map +1 -0
- package/dist/utils/wechat-monitor.js +88 -0
- package/dist/utils/wechat-monitor.js.map +1 -0
- package/dist-agent/assets/index.html +1058 -0
- 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/bundle.cjs +2626 -1796
- package/dist-agent/realtime/assets/index.html +1058 -0
- 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
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [0.1.194](https://github.com/babelcloud/visionclaw/compare/v0.1.193...v0.1.194) (2026-05-18)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
* update screenshot injector configuration and tool exclusions ([45b7050](https://github.com/babelcloud/visionclaw/commit/45b70507ea326f77bd1def8b30a6634f9da787e5))
|
|
5
|
+
* prefix miniapp URLs with /realtime/ for tunnel routing ([a525da5](https://github.com/babelcloud/visionclaw/commit/a525da561627dccd46dad652c6d74889cb1bd283))
|
|
6
|
+
* **refresh:** wake main loop after session reset to prevent hang ([4e7f890](https://github.com/babelcloud/visionclaw/commit/4e7f890b232397e9f5db452a8447458125be93e0))
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
* Implement realtime voice session handling and enhance search tools ([2b60299](https://github.com/babelcloud/visionclaw/commit/2b60299ce667c783a35aa7d580db1fe1c7bfb692))
|
|
10
|
+
* integrate realtime voice feature, owner can talk to agent in realtime now. ([ba3e613](https://github.com/babelcloud/visionclaw/commit/ba3e613cc2eb3facd61322c7d32155cd3a99239d))
|
|
11
|
+
* upgrade realtime module to OpenAI gpt-realtime model + use shared API key ([8a7c661](https://github.com/babelcloud/visionclaw/commit/8a7c661c29e347b33013d2942de534db49bed58a))
|
|
12
|
+
* expand voice tools to 10 + voice selector dropdown + audio previews ([bec909d](https://github.com/babelcloud/visionclaw/commit/bec909d9382a7ec2f0e7eae680e2eb1c3da1bc56))
|
|
13
|
+
|
|
14
|
+
|
|
1
15
|
## [0.1.193](https://github.com/babelcloud/visionclaw/compare/v0.1.192...v0.1.193) (2026-05-11)
|
|
2
16
|
|
|
3
17
|
### Bug Fixes
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Applied-credential signature manifest.
|
|
3
|
+
*
|
|
4
|
+
* Persisted alongside materialised tunnel credentials at
|
|
5
|
+
* `<profileTunnelDir>/.applied-signature.json`. Records the signature
|
|
6
|
+
* the server handed us with the last bundle we successfully applied.
|
|
7
|
+
*
|
|
8
|
+
* The manifest is the *only* piece of state the agent has to remember
|
|
9
|
+
* across process restarts about credential bundles — everything else
|
|
10
|
+
* (creds JSON, config.yml) is reconstructable from a fresh server
|
|
11
|
+
* delivery. The signature is opaque to us; we just echo it back on the
|
|
12
|
+
* next heartbeat so the server can decide whether to re-ship the body.
|
|
13
|
+
*
|
|
14
|
+
* Self-healing properties (intentional):
|
|
15
|
+
* - Manifest missing on disk → no signature sent → server sends
|
|
16
|
+
* bundle → we re-apply and rewrite the manifest. Recovers any
|
|
17
|
+
* install where the manifest was deleted but credentials weren't,
|
|
18
|
+
* or vice versa.
|
|
19
|
+
* - Manifest present but probe says no live tunnel files → we treat
|
|
20
|
+
* the manifest as unusable (return null from `loadIfValid`), the
|
|
21
|
+
* next heartbeat goes signature-free, the server re-ships the
|
|
22
|
+
* bundle, and we land back in a coherent state.
|
|
23
|
+
* - Process restart with everything intact → manifest signature is
|
|
24
|
+
* sent on the startup heartbeat, server replies with no
|
|
25
|
+
* `credentialBundle`, no disk writes, no tunnel restart.
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Read the persisted signature, if any. Returns `null` when the file
|
|
29
|
+
* does not exist, fails to parse, has the wrong shape, or refers to a
|
|
30
|
+
* tunnel state that no longer matches what's on disk.
|
|
31
|
+
*
|
|
32
|
+
* The on-disk-coherence check (`probeLocalTunnelCredential()`) is what
|
|
33
|
+
* gives us self-healing: a stranded manifest from a wiped tunnel dir
|
|
34
|
+
* gets ignored, forcing a fresh bundle on the next heartbeat.
|
|
35
|
+
*/
|
|
36
|
+
export declare function loadAppliedSignatureIfValid(): string | null;
|
|
37
|
+
/**
|
|
38
|
+
* Persist the signature for the most recently applied bundle. Best-
|
|
39
|
+
* effort: a write failure is logged but does not throw, since the
|
|
40
|
+
* worst case is just an extra full-bundle delivery on the next
|
|
41
|
+
* heartbeat.
|
|
42
|
+
*
|
|
43
|
+
* The file is written with 0o600 to match the credentials sitting next
|
|
44
|
+
* to it; the directory itself is already 0o700 from
|
|
45
|
+
* `runtime-credentials.ts`.
|
|
46
|
+
*/
|
|
47
|
+
export declare function writeAppliedSignature(signature: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Forget the persisted signature. Used by tests; production code never
|
|
50
|
+
* needs to delete it explicitly because writes overwrite in place.
|
|
51
|
+
*/
|
|
52
|
+
export declare function __clearAppliedSignatureForTests(): void;
|
|
53
|
+
//# sourceMappingURL=applied-credential-signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applied-credential-signature.d.ts","sourceRoot":"","sources":["../../src/agent/applied-credential-signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAwBH;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,GAAG,IAAI,CA2C3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAgC7D;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAMtD"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Applied-credential signature manifest.
|
|
3
|
+
*
|
|
4
|
+
* Persisted alongside materialised tunnel credentials at
|
|
5
|
+
* `<profileTunnelDir>/.applied-signature.json`. Records the signature
|
|
6
|
+
* the server handed us with the last bundle we successfully applied.
|
|
7
|
+
*
|
|
8
|
+
* The manifest is the *only* piece of state the agent has to remember
|
|
9
|
+
* across process restarts about credential bundles — everything else
|
|
10
|
+
* (creds JSON, config.yml) is reconstructable from a fresh server
|
|
11
|
+
* delivery. The signature is opaque to us; we just echo it back on the
|
|
12
|
+
* next heartbeat so the server can decide whether to re-ship the body.
|
|
13
|
+
*
|
|
14
|
+
* Self-healing properties (intentional):
|
|
15
|
+
* - Manifest missing on disk → no signature sent → server sends
|
|
16
|
+
* bundle → we re-apply and rewrite the manifest. Recovers any
|
|
17
|
+
* install where the manifest was deleted but credentials weren't,
|
|
18
|
+
* or vice versa.
|
|
19
|
+
* - Manifest present but probe says no live tunnel files → we treat
|
|
20
|
+
* the manifest as unusable (return null from `loadIfValid`), the
|
|
21
|
+
* next heartbeat goes signature-free, the server re-ships the
|
|
22
|
+
* bundle, and we land back in a coherent state.
|
|
23
|
+
* - Process restart with everything intact → manifest signature is
|
|
24
|
+
* sent on the startup heartbeat, server replies with no
|
|
25
|
+
* `credentialBundle`, no disk writes, no tunnel restart.
|
|
26
|
+
*/
|
|
27
|
+
import fs from "node:fs";
|
|
28
|
+
import path from "node:path";
|
|
29
|
+
import { getProfileTunnelDir } from "../config/index.js";
|
|
30
|
+
import { probeLocalTunnelCredential } from "./runtime-credentials.js";
|
|
31
|
+
import { logger } from "../logger.js";
|
|
32
|
+
const MANIFEST_FILENAME = ".applied-signature.json";
|
|
33
|
+
const MANIFEST_VERSION = 1;
|
|
34
|
+
function getManifestPath() {
|
|
35
|
+
return path.join(getProfileTunnelDir(), MANIFEST_FILENAME);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Read the persisted signature, if any. Returns `null` when the file
|
|
39
|
+
* does not exist, fails to parse, has the wrong shape, or refers to a
|
|
40
|
+
* tunnel state that no longer matches what's on disk.
|
|
41
|
+
*
|
|
42
|
+
* The on-disk-coherence check (`probeLocalTunnelCredential()`) is what
|
|
43
|
+
* gives us self-healing: a stranded manifest from a wiped tunnel dir
|
|
44
|
+
* gets ignored, forcing a fresh bundle on the next heartbeat.
|
|
45
|
+
*/
|
|
46
|
+
export function loadAppliedSignatureIfValid() {
|
|
47
|
+
const manifestPath = getManifestPath();
|
|
48
|
+
if (!fs.existsSync(manifestPath))
|
|
49
|
+
return null;
|
|
50
|
+
let raw;
|
|
51
|
+
try {
|
|
52
|
+
raw = fs.readFileSync(manifestPath, "utf-8");
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
logger.warn(`Applied-signature manifest unreadable: ${err instanceof Error ? err.message : String(err)}`);
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
let parsed;
|
|
59
|
+
try {
|
|
60
|
+
parsed = JSON.parse(raw);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
logger.warn(`Applied-signature manifest malformed; ignoring`);
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
if (!parsed ||
|
|
67
|
+
typeof parsed !== "object" ||
|
|
68
|
+
!("signature" in parsed) ||
|
|
69
|
+
typeof parsed.signature !== "string" ||
|
|
70
|
+
parsed.signature.trim() === "") {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
const signature = parsed.signature.trim();
|
|
74
|
+
// Coherence: a manifest is only meaningful when the credentials it
|
|
75
|
+
// refers to actually still exist on disk. If the tunnel files were
|
|
76
|
+
// wiped (e.g. operator deleted `~/.visionclaw/profiles/default/tunnel`)
|
|
77
|
+
// the stored signature lies about our state, so pretend we have none
|
|
78
|
+
// and let the server reissue the bundle.
|
|
79
|
+
if (probeLocalTunnelCredential() === null) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
return signature;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Persist the signature for the most recently applied bundle. Best-
|
|
86
|
+
* effort: a write failure is logged but does not throw, since the
|
|
87
|
+
* worst case is just an extra full-bundle delivery on the next
|
|
88
|
+
* heartbeat.
|
|
89
|
+
*
|
|
90
|
+
* The file is written with 0o600 to match the credentials sitting next
|
|
91
|
+
* to it; the directory itself is already 0o700 from
|
|
92
|
+
* `runtime-credentials.ts`.
|
|
93
|
+
*/
|
|
94
|
+
export function writeAppliedSignature(signature) {
|
|
95
|
+
if (typeof signature !== "string" || signature.trim() === "")
|
|
96
|
+
return;
|
|
97
|
+
const manifestPath = getManifestPath();
|
|
98
|
+
const dir = path.dirname(manifestPath);
|
|
99
|
+
try {
|
|
100
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// best-effort; the credential apply path will have created it
|
|
104
|
+
}
|
|
105
|
+
const payload = {
|
|
106
|
+
version: MANIFEST_VERSION,
|
|
107
|
+
signature: signature.trim(),
|
|
108
|
+
appliedAt: new Date().toISOString(),
|
|
109
|
+
};
|
|
110
|
+
try {
|
|
111
|
+
fs.writeFileSync(manifestPath, JSON.stringify(payload, null, 2), "utf-8");
|
|
112
|
+
if (process.platform !== "win32") {
|
|
113
|
+
try {
|
|
114
|
+
fs.chmodSync(manifestPath, 0o600);
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
// best-effort; directory perms still protect
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
logger.warn(`Failed to persist applied-signature manifest: ${err instanceof Error ? err.message : String(err)}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Forget the persisted signature. Used by tests; production code never
|
|
127
|
+
* needs to delete it explicitly because writes overwrite in place.
|
|
128
|
+
*/
|
|
129
|
+
export function __clearAppliedSignatureForTests() {
|
|
130
|
+
try {
|
|
131
|
+
fs.rmSync(getManifestPath(), { force: true });
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
// ignore
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=applied-credential-signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applied-credential-signature.js","sourceRoot":"","sources":["../../src/agent/applied-credential-signature.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/agent/backup.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmC,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/agent/backup.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmC,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA0kB3D;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE9C,wBAAsB,SAAS,CAC7B,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAkQvB"}
|
package/dist/agent/backup.js
CHANGED
|
@@ -63,6 +63,12 @@ function formatSizeBreakdownLines(parts) {
|
|
|
63
63
|
})
|
|
64
64
|
.join("\n");
|
|
65
65
|
}
|
|
66
|
+
function getHomeDir() {
|
|
67
|
+
return process.env.VISIONCLAW_TEST_HOME_DIR ?? os.homedir();
|
|
68
|
+
}
|
|
69
|
+
function getDesktopDir() {
|
|
70
|
+
return process.env.VISIONCLAW_TEST_DESKTOP_DIR ?? path.join(getHomeDir(), "Desktop");
|
|
71
|
+
}
|
|
66
72
|
function formatTimestamp() {
|
|
67
73
|
const now = new Date();
|
|
68
74
|
const pad = (n) => String(n).padStart(2, "0");
|
|
@@ -87,7 +93,9 @@ function loadIgnoreFile(filePath) {
|
|
|
87
93
|
if (!fs.existsSync(filePath))
|
|
88
94
|
return undefined;
|
|
89
95
|
const contents = fs.readFileSync(filePath, "utf-8");
|
|
90
|
-
const
|
|
96
|
+
const createIgnore = ignore;
|
|
97
|
+
const matcher = createIgnore();
|
|
98
|
+
matcher.add(contents);
|
|
91
99
|
return {
|
|
92
100
|
filePath,
|
|
93
101
|
matcher,
|
|
@@ -102,7 +110,7 @@ function getSafeRelativePath(root, absPath) {
|
|
|
102
110
|
return toPosixPath(relative);
|
|
103
111
|
}
|
|
104
112
|
function getHomeRelativePath(absPath) {
|
|
105
|
-
return getSafeRelativePath(
|
|
113
|
+
return getSafeRelativePath(getHomeDir(), absPath);
|
|
106
114
|
}
|
|
107
115
|
function isIgnoredBy(matcher, relativePath, isDirectory) {
|
|
108
116
|
if (!matcher || !relativePath || relativePath.length === 0)
|
|
@@ -145,7 +153,7 @@ function logLoadedIgnoreFiles(globalIgnore, contexts) {
|
|
|
145
153
|
}
|
|
146
154
|
}
|
|
147
155
|
function logIgnoredPathsBySource(paths) {
|
|
148
|
-
const sourceNames = ["profile", "transcripts", "cloudflared", "gh"];
|
|
156
|
+
const sourceNames = ["profile", "transcripts", "desktop", "cloudflared", "gh"];
|
|
149
157
|
for (const sourceName of sourceNames) {
|
|
150
158
|
const entries = paths.filter((entry) => entry.sourceName === sourceName);
|
|
151
159
|
if (entries.length === 0)
|
|
@@ -198,6 +206,127 @@ function snapshotProfileTree(sourceDir, stagingDir, ignoreContext) {
|
|
|
198
206
|
copyEntry(sourceDir, stagingDir, "");
|
|
199
207
|
return { skippedPaths, ignoredPaths };
|
|
200
208
|
}
|
|
209
|
+
function logSkippedPathsBySource(paths, maxBytes) {
|
|
210
|
+
const sourceNames = ["desktop"];
|
|
211
|
+
for (const sourceName of sourceNames) {
|
|
212
|
+
const entries = paths.filter((entry) => entry.sourceName === sourceName);
|
|
213
|
+
if (entries.length === 0)
|
|
214
|
+
continue;
|
|
215
|
+
const visibleEntries = entries.slice(0, MAX_IGNORED_PATH_LOG_LINES);
|
|
216
|
+
const lines = visibleEntries.map((entry) => {
|
|
217
|
+
const size = entry.bytes === undefined ? "" : ` (${formatBytes(entry.bytes)})`;
|
|
218
|
+
if (entry.reason === "unsupported")
|
|
219
|
+
return ` - ${entry.path} (unsupported file type)`;
|
|
220
|
+
if (entry.reason === "read-error")
|
|
221
|
+
return ` - ${entry.path} (could not read)`;
|
|
222
|
+
if (entry.reason === "copy-error")
|
|
223
|
+
return ` - ${entry.path} (could not copy${entry.bytes === undefined ? "" : `, ${formatBytes(entry.bytes)}`})`;
|
|
224
|
+
return ` - ${entry.path}${size}`;
|
|
225
|
+
});
|
|
226
|
+
const remainingCount = entries.length - visibleEntries.length;
|
|
227
|
+
if (remainingCount > 0) {
|
|
228
|
+
lines.push(` ... and ${remainingCount} more skipped path(s)`);
|
|
229
|
+
}
|
|
230
|
+
logger.system(`Skipped ${sourceName} paths due to ${formatBytes(maxBytes)} limit:\n${lines.join("\n")}`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
function snapshotDesktop(sourceDir, stagingDir, ignoreContext, maxBytes) {
|
|
234
|
+
const skippedPaths = [];
|
|
235
|
+
const ignoredPaths = [];
|
|
236
|
+
const candidates = [];
|
|
237
|
+
if (!fs.existsSync(sourceDir)) {
|
|
238
|
+
return { copiedCount: 0, copiedBytes: 0, skippedPaths, ignoredPaths };
|
|
239
|
+
}
|
|
240
|
+
const collectEntry = (sourcePath, targetPath, relativePath) => {
|
|
241
|
+
let stat;
|
|
242
|
+
try {
|
|
243
|
+
stat = fs.lstatSync(sourcePath);
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
skippedPaths.push({
|
|
247
|
+
sourceName: "desktop",
|
|
248
|
+
path: toPosixPath(relativePath || path.basename(sourcePath)),
|
|
249
|
+
reason: "read-error",
|
|
250
|
+
});
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
const isDirectory = stat.isDirectory();
|
|
254
|
+
const isFile = stat.isFile();
|
|
255
|
+
if (relativePath) {
|
|
256
|
+
const ignoreReason = shouldIgnoreBackupPath(ignoreContext, sourcePath, isDirectory);
|
|
257
|
+
if (ignoreReason) {
|
|
258
|
+
ignoredPaths.push({
|
|
259
|
+
sourceName: "desktop",
|
|
260
|
+
path: isDirectory ? ensureDirectoryCandidatePath(relativePath) : toPosixPath(relativePath),
|
|
261
|
+
reason: ignoreReason,
|
|
262
|
+
});
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
if (isDirectory) {
|
|
267
|
+
let entries;
|
|
268
|
+
try {
|
|
269
|
+
entries = fs.readdirSync(sourcePath);
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
skippedPaths.push({
|
|
273
|
+
sourceName: "desktop",
|
|
274
|
+
path: ensureDirectoryCandidatePath(relativePath || path.basename(sourcePath)),
|
|
275
|
+
reason: "read-error",
|
|
276
|
+
});
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
for (const entry of entries) {
|
|
280
|
+
collectEntry(path.join(sourcePath, entry), path.join(targetPath, entry), relativePath ? path.join(relativePath, entry) : entry);
|
|
281
|
+
}
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
if (isFile) {
|
|
285
|
+
candidates.push({
|
|
286
|
+
sourcePath,
|
|
287
|
+
targetPath,
|
|
288
|
+
relativePath: toPosixPath(relativePath),
|
|
289
|
+
bytes: stat.size,
|
|
290
|
+
});
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
skippedPaths.push({
|
|
294
|
+
sourceName: "desktop",
|
|
295
|
+
path: toPosixPath(relativePath),
|
|
296
|
+
reason: "unsupported",
|
|
297
|
+
});
|
|
298
|
+
};
|
|
299
|
+
collectEntry(sourceDir, stagingDir, "");
|
|
300
|
+
let copiedBytes = 0;
|
|
301
|
+
let copiedCount = 0;
|
|
302
|
+
for (const candidate of candidates.sort((a, b) => a.bytes - b.bytes || a.relativePath.localeCompare(b.relativePath))) {
|
|
303
|
+
if (copiedBytes + candidate.bytes > maxBytes) {
|
|
304
|
+
skippedPaths.push({
|
|
305
|
+
sourceName: "desktop",
|
|
306
|
+
path: candidate.relativePath,
|
|
307
|
+
bytes: candidate.bytes,
|
|
308
|
+
reason: "size-budget",
|
|
309
|
+
});
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
312
|
+
try {
|
|
313
|
+
fs.mkdirSync(path.dirname(candidate.targetPath), { recursive: true });
|
|
314
|
+
fs.copyFileSync(candidate.sourcePath, candidate.targetPath);
|
|
315
|
+
}
|
|
316
|
+
catch {
|
|
317
|
+
skippedPaths.push({
|
|
318
|
+
sourceName: "desktop",
|
|
319
|
+
path: candidate.relativePath,
|
|
320
|
+
bytes: candidate.bytes,
|
|
321
|
+
reason: "copy-error",
|
|
322
|
+
});
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
copiedBytes += candidate.bytes;
|
|
326
|
+
copiedCount += 1;
|
|
327
|
+
}
|
|
328
|
+
return { copiedCount, copiedBytes, skippedPaths, ignoredPaths };
|
|
329
|
+
}
|
|
201
330
|
function snapshotClaudeTranscripts(sourceDir, stagingDir, transcriptIds, ignoreContext) {
|
|
202
331
|
const skippedPaths = [];
|
|
203
332
|
const ignoredPaths = [];
|
|
@@ -346,10 +475,11 @@ export async function runBackup(config, ownerEmail, options = {}) {
|
|
|
346
475
|
throw new Error(`Profile directory not found: ${profileDir}`);
|
|
347
476
|
}
|
|
348
477
|
const profileDirName = path.basename(profileDir);
|
|
349
|
-
const globalIgnore = loadIgnoreFile(path.join(
|
|
478
|
+
const globalIgnore = loadIgnoreFile(path.join(getHomeDir(), GLOBAL_BACKUP_IGNORE_FILE));
|
|
350
479
|
const stagedProfileDir = path.join(stagingRoot, ".visionclaw", "profiles", profileDirName);
|
|
351
480
|
const transcriptDir = getClaudeTranscriptDirForProfileDir(profileDir);
|
|
352
481
|
const transcriptIds = getReferencedClaudeTranscriptIds(getSessionFile());
|
|
482
|
+
const desktopDir = getDesktopDir();
|
|
353
483
|
const profileIgnoreContext = {
|
|
354
484
|
sourceName: "profile",
|
|
355
485
|
sourceRoot: profileDir,
|
|
@@ -362,6 +492,12 @@ export async function runBackup(config, ownerEmail, options = {}) {
|
|
|
362
492
|
globalIgnore,
|
|
363
493
|
localIgnore: loadIgnoreFile(path.join(transcriptDir, LOCAL_BACKUP_IGNORE_FILE)),
|
|
364
494
|
};
|
|
495
|
+
const desktopIgnoreContext = {
|
|
496
|
+
sourceName: "desktop",
|
|
497
|
+
sourceRoot: desktopDir,
|
|
498
|
+
globalIgnore,
|
|
499
|
+
localIgnore: loadIgnoreFile(path.join(desktopDir, LOCAL_BACKUP_IGNORE_FILE)),
|
|
500
|
+
};
|
|
365
501
|
const cloudflaredIgnoreContext = {
|
|
366
502
|
sourceName: "cloudflared",
|
|
367
503
|
sourceRoot: CLOUDFLARED_DIR,
|
|
@@ -374,11 +510,15 @@ export async function runBackup(config, ownerEmail, options = {}) {
|
|
|
374
510
|
globalIgnore,
|
|
375
511
|
localIgnore: loadIgnoreFile(path.join(GH_CLI_DIR, LOCAL_BACKUP_IGNORE_FILE)),
|
|
376
512
|
};
|
|
377
|
-
const ignoreContexts = [profileIgnoreContext, transcriptIgnoreContext, cloudflaredIgnoreContext, ghIgnoreContext];
|
|
513
|
+
const ignoreContexts = [profileIgnoreContext, transcriptIgnoreContext, desktopIgnoreContext, cloudflaredIgnoreContext, ghIgnoreContext];
|
|
378
514
|
logLoadedIgnoreFiles(globalIgnore, ignoreContexts);
|
|
379
515
|
const stagedTranscriptDir = path.join(stagingRoot, ".claude", "projects", getClaudeProjectSlug(profileDir));
|
|
380
516
|
const snapshot = snapshotProfileTree(profileDir, stagedProfileDir, profileIgnoreContext);
|
|
381
517
|
const transcripts = snapshotClaudeTranscripts(transcriptDir, stagedTranscriptDir, transcriptIds, transcriptIgnoreContext);
|
|
518
|
+
const stagedDesktopDir = path.join(stagingRoot, ".visionclaw", "user-data", "Desktop");
|
|
519
|
+
const desktop = config.backupDesktopEnabled
|
|
520
|
+
? snapshotDesktop(desktopDir, stagedDesktopDir, desktopIgnoreContext, config.backupDesktopMaxBytes)
|
|
521
|
+
: { copiedCount: 0, copiedBytes: 0, skippedPaths: [], ignoredPaths: [] };
|
|
382
522
|
const stagedCloudflaredDir = path.join(stagingRoot, ".cloudflared");
|
|
383
523
|
const cloudflared = snapshotCloudflared(stagedCloudflaredDir, cloudflaredIgnoreContext);
|
|
384
524
|
const stagedGhCliDir = path.join(stagingRoot, ".config", "gh");
|
|
@@ -386,9 +526,11 @@ export async function runBackup(config, ownerEmail, options = {}) {
|
|
|
386
526
|
logIgnoredPathsBySource([
|
|
387
527
|
...snapshot.ignoredPaths,
|
|
388
528
|
...transcripts.ignoredPaths,
|
|
529
|
+
...desktop.ignoredPaths,
|
|
389
530
|
...cloudflared.ignoredPaths,
|
|
390
531
|
...ghCli.ignoredPaths,
|
|
391
532
|
]);
|
|
533
|
+
logSkippedPathsBySource(desktop.skippedPaths, config.backupDesktopMaxBytes);
|
|
392
534
|
const sizeBreakdown = [
|
|
393
535
|
{
|
|
394
536
|
label: "profile",
|
|
@@ -398,6 +540,10 @@ export async function runBackup(config, ownerEmail, options = {}) {
|
|
|
398
540
|
label: "transcripts",
|
|
399
541
|
bytes: getDirectorySize(stagedTranscriptDir),
|
|
400
542
|
},
|
|
543
|
+
{
|
|
544
|
+
label: "desktop",
|
|
545
|
+
bytes: getDirectorySize(stagedDesktopDir),
|
|
546
|
+
},
|
|
401
547
|
{
|
|
402
548
|
label: "cloudflared",
|
|
403
549
|
bytes: getDirectorySize(stagedCloudflaredDir),
|
|
@@ -423,6 +569,9 @@ export async function runBackup(config, ownerEmail, options = {}) {
|
|
|
423
569
|
if (transcripts.skippedPaths.length > 0) {
|
|
424
570
|
logger.warn(`Skipping ${transcripts.skippedPaths.length} unsupported entr${transcripts.skippedPaths.length === 1 ? "y" : "ies"} in Claude transcript storage.`);
|
|
425
571
|
}
|
|
572
|
+
if (config.backupDesktopEnabled && fs.existsSync(desktopDir)) {
|
|
573
|
+
logger.system(`Including ${desktop.copiedCount} Desktop file${desktop.copiedCount === 1 ? "" : "s"} in backup (${formatBytes(desktop.copiedBytes)}/${formatBytes(config.backupDesktopMaxBytes)} limit).`);
|
|
574
|
+
}
|
|
426
575
|
if (cloudflared.copiedCount > 0) {
|
|
427
576
|
logger.system(`Including ${cloudflared.copiedCount} cloudflared config file${cloudflared.copiedCount === 1 ? "" : "s"} in backup.`);
|
|
428
577
|
}
|
package/dist/agent/backup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/agent/backup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/agent/backup.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
* download per process lifetime (a few KB), which is negligible.
|
|
27
27
|
*/
|
|
28
28
|
import type { CredentialBundle } from "../onboarding/onboarding-service-client.js";
|
|
29
|
+
import type { VisionClawConfig } from "../config/types.js";
|
|
30
|
+
import { TunnelRotationManager } from "./tunnel-rotation-manager.js";
|
|
29
31
|
export interface CredentialBundleHandlerOptions {
|
|
30
32
|
/**
|
|
31
33
|
* Getter that returns the agent's current canonical name. Called on
|
|
@@ -35,6 +37,7 @@ export interface CredentialBundleHandlerOptions {
|
|
|
35
37
|
* server-side drift (see `HeartbeatManager.runSend`).
|
|
36
38
|
*/
|
|
37
39
|
getAgentName: () => string;
|
|
40
|
+
getConfig?: () => VisionClawConfig;
|
|
38
41
|
/**
|
|
39
42
|
* Callback that bounces cloudflared (typically the `restartTunnel`
|
|
40
43
|
* returned from `startObsServer`). Invoked when a newly materialised
|
|
@@ -46,10 +49,15 @@ export interface CredentialBundleHandlerOptions {
|
|
|
46
49
|
* side-effect entirely.
|
|
47
50
|
*/
|
|
48
51
|
restartTunnel?: () => Promise<string | null>;
|
|
52
|
+
obsPort?: number;
|
|
53
|
+
onBedrockChanged?: () => void;
|
|
49
54
|
}
|
|
50
55
|
export declare class CredentialBundleHandler {
|
|
51
56
|
private readonly getAgentName;
|
|
57
|
+
private readonly getConfig?;
|
|
52
58
|
private readonly restartTunnel?;
|
|
59
|
+
private readonly onBedrockChanged?;
|
|
60
|
+
readonly tunnelRotation: TunnelRotationManager;
|
|
53
61
|
/**
|
|
54
62
|
* The signature the agent will send to the server on the next
|
|
55
63
|
* heartbeat. `undefined` means "I have no opinion, please send me
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-bundle-handler.d.ts","sourceRoot":"","sources":["../../src/agent/credential-bundle-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EACV,gBAAgB,EACjB,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"credential-bundle-handler.d.ts","sourceRoot":"","sources":["../../src/agent/credential-bundle-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EACV,gBAAgB,EACjB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAOrE,MAAM,WAAW,8BAA8B;IAC7C;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,gBAAgB,CAAC;IACnC;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA+B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAa;IAC/C,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAE/C;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB,CAAiC;IAE1D,OAAO,CAAC,gBAAgB,CAA8B;IACtD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,eAAe,CAA8C;gBAEzD,OAAO,EAAE,8BAA8B;IAQnD;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI;IA8ClD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;CA6CvB"}
|