visionclaw 0.1.193 → 0.1.194-dev.feat-backup-progress-reporting.1
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/backup-uploader.d.ts +44 -0
- package/dist/agent/backup-uploader.d.ts.map +1 -0
- package/dist/agent/backup-uploader.js +83 -0
- package/dist/agent/backup-uploader.js.map +1 -0
- package/dist/agent/backup.d.ts +7 -1
- package/dist/agent/backup.d.ts.map +1 -1
- package/dist/agent/backup.js +337 -52
- package/dist/agent/backup.js.map +1 -1
- package/dist/agent/command-handlers.d.ts +2 -0
- package/dist/agent/command-handlers.d.ts.map +1 -1
- package/dist/agent/command-handlers.js +29 -3
- package/dist/agent/command-handlers.js.map +1 -1
- package/dist/agent/context.d.ts +2 -0
- package/dist/agent/context.d.ts.map +1 -1
- package/dist/agent/context.js +11 -1
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/data-collector.d.ts.map +1 -1
- package/dist/agent/data-collector.js +23 -38
- package/dist/agent/data-collector.js.map +1 -1
- package/dist/agent/loop.d.ts +3 -0
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +48 -0
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/message-format.d.ts.map +1 -1
- package/dist/agent/message-format.js +3 -0
- package/dist/agent/message-format.js.map +1 -1
- package/dist/agent/status.d.ts.map +1 -1
- package/dist/agent/status.js +2 -1
- package/dist/agent/status.js.map +1 -1
- package/dist/backup.d.ts +4 -1
- package/dist/backup.d.ts.map +1 -1
- package/dist/backup.js +86 -3
- package/dist/backup.js.map +1 -1
- package/dist/calendar/google-calendar.d.ts +2 -0
- package/dist/calendar/google-calendar.d.ts.map +1 -1
- package/dist/calendar/google-calendar.js +3 -0
- package/dist/calendar/google-calendar.js.map +1 -1
- package/dist/channels/interface.d.ts +9 -0
- package/dist/channels/interface.d.ts.map +1 -1
- package/dist/channels/manager.d.ts +7 -1
- package/dist/channels/manager.d.ts.map +1 -1
- package/dist/channels/manager.js +12 -0
- package/dist/channels/manager.js.map +1 -1
- package/dist/channels/telegram.d.ts.map +1 -1
- package/dist/channels/telegram.js +5 -0
- package/dist/channels/telegram.js.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +42 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/config/types.d.ts +9 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +6 -0
- package/dist/config/types.js.map +1 -1
- package/dist/drive/google-drive.d.ts +1 -0
- package/dist/drive/google-drive.d.ts.map +1 -1
- package/dist/drive/google-drive.js +5 -0
- package/dist/drive/google-drive.js.map +1 -1
- package/dist/i18n/messages.d.ts +4 -0
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/i18n/messages.js +7 -2
- package/dist/i18n/messages.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/obs/server.d.ts +7 -0
- package/dist/obs/server.d.ts.map +1 -1
- package/dist/obs/server.js +22 -0
- package/dist/obs/server.js.map +1 -1
- package/dist/onboarding/bot-profile.d.ts.map +1 -1
- package/dist/onboarding/bot-profile.js +1 -0
- package/dist/onboarding/bot-profile.js.map +1 -1
- package/dist/onboarding/index.d.ts.map +1 -1
- package/dist/onboarding/index.js +5 -0
- package/dist/onboarding/index.js.map +1 -1
- package/dist/onboarding/prepare-mac.d.ts +1 -0
- package/dist/onboarding/prepare-mac.d.ts.map +1 -1
- package/dist/onboarding/prepare-mac.js +32 -15
- package/dist/onboarding/prepare-mac.js.map +1 -1
- package/dist/onboarding/setup-shared.d.ts.map +1 -1
- package/dist/onboarding/setup-shared.js +6 -0
- 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 +8 -0
- package/dist/onboarding/setup-steps.js.map +1 -1
- package/dist/realtime/agent-bridge.d.ts +7 -0
- package/dist/realtime/agent-bridge.d.ts.map +1 -0
- package/dist/realtime/agent-bridge.js +31 -0
- package/dist/realtime/agent-bridge.js.map +1 -0
- package/dist/realtime/assets/index.html +1058 -0
- 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 +14 -0
- package/dist/realtime/context.d.ts.map +1 -0
- package/dist/realtime/context.js +153 -0
- package/dist/realtime/context.js.map +1 -0
- package/dist/realtime/http-helpers.d.ts +5 -0
- package/dist/realtime/http-helpers.d.ts.map +1 -0
- package/dist/realtime/http-helpers.js +29 -0
- package/dist/realtime/http-helpers.js.map +1 -0
- package/dist/realtime/index.d.ts +62 -0
- package/dist/realtime/index.d.ts.map +1 -0
- package/dist/realtime/index.js +94 -0
- package/dist/realtime/index.js.map +1 -0
- package/dist/realtime/server.d.ts +6 -0
- package/dist/realtime/server.d.ts.map +1 -0
- package/dist/realtime/server.js +476 -0
- package/dist/realtime/server.js.map +1 -0
- package/dist/realtime/telegram-auth.d.ts +2 -0
- package/dist/realtime/telegram-auth.d.ts.map +1 -0
- package/dist/realtime/telegram-auth.js +24 -0
- package/dist/realtime/telegram-auth.js.map +1 -0
- package/dist/realtime/tools.d.ts +829 -0
- package/dist/realtime/tools.d.ts.map +1 -0
- package/dist/realtime/tools.js +630 -0
- package/dist/realtime/tools.js.map +1 -0
- package/dist/realtime/types.d.ts +62 -0
- package/dist/realtime/types.d.ts.map +1 -0
- package/dist/realtime/types.js +3 -0
- package/dist/realtime/types.js.map +1 -0
- package/dist/realtime/voice-summarizer.d.ts +4 -0
- package/dist/realtime/voice-summarizer.d.ts.map +1 -0
- package/dist/realtime/voice-summarizer.js +129 -0
- package/dist/realtime/voice-summarizer.js.map +1 -0
- package/dist/restore.d.ts +5 -0
- package/dist/restore.d.ts.map +1 -1
- package/dist/restore.js +132 -16
- package/dist/restore.js.map +1 -1
- package/dist/tools/email.d.ts +1 -1
- package/dist/tools/memory.d.ts +13 -0
- package/dist/tools/memory.d.ts.map +1 -1
- package/dist/tools/memory.js +43 -43
- package/dist/tools/memory.js.map +1 -1
- package/dist/tools/stock-data.d.ts +16 -0
- package/dist/tools/stock-data.d.ts.map +1 -1
- package/dist/tools/stock-data.js +36 -38
- package/dist/tools/stock-data.js.map +1 -1
- package/dist/tools/web-fetch.d.ts +4 -0
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +95 -23
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tos-storage.d.ts +45 -0
- package/dist/tos-storage.d.ts.map +1 -0
- package/dist/tos-storage.js +134 -0
- package/dist/tos-storage.js.map +1 -0
- package/dist-agent/bundle.cjs +170934 -167547
- package/package.json +3 -2
- 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/claude/cli-resolver.d.ts +0 -16
- package/dist/agent/engines/claude/cli-resolver.d.ts.map +0 -1
- package/dist/agent/engines/claude/cli-resolver.js +0 -83
- package/dist/agent/engines/claude/cli-resolver.js.map +0 -1
- package/dist/agent/engines/claude/session-browser-policy.d.ts +0 -9
- package/dist/agent/engines/claude/session-browser-policy.d.ts.map +0 -1
- package/dist/agent/engines/claude/session-browser-policy.js +0 -49
- package/dist/agent/engines/claude/session-browser-policy.js.map +0 -1
- package/dist/agent/engines/claude/session.d.ts +0 -291
- package/dist/agent/engines/claude/session.d.ts.map +0 -1
- package/dist/agent/engines/claude/session.js +0 -1177
- package/dist/agent/engines/claude/session.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 -49
- package/dist/agent/engines/openai/file-session.d.ts.map +0 -1
- package/dist/agent/engines/openai/file-session.js +0 -108
- 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 -190
- package/dist/agent/engines/openai/session.d.ts.map +0 -1
- package/dist/agent/engines/openai/session.js +0 -1066
- package/dist/agent/engines/openai/session.js.map +0 -1
- package/dist/agent/engines/openai/tools.d.ts +0 -13
- package/dist/agent/engines/openai/tools.d.ts.map +0 -1
- package/dist/agent/engines/openai/tools.js +0 -248
- package/dist/agent/engines/openai/tools.js.map +0 -1
- package/dist/agent/engines/session-types.d.ts +0 -146
- package/dist/agent/engines/session-types.d.ts.map +0 -1
- package/dist/agent/engines/session-types.js +0 -2
- package/dist/agent/engines/session-types.js.map +0 -1
- package/dist/agent/engines/system-prompt-log.d.ts +0 -9
- package/dist/agent/engines/system-prompt-log.d.ts.map +0 -1
- package/dist/agent/engines/system-prompt-log.js +0 -46
- package/dist/agent/engines/system-prompt-log.js.map +0 -1
- package/dist/agent/transcript/transcript-backfill.d.ts +0 -54
- package/dist/agent/transcript/transcript-backfill.d.ts.map +0 -1
- package/dist/agent/transcript/transcript-backfill.js +0 -604
- package/dist/agent/transcript/transcript-backfill.js.map +0 -1
- package/dist/agent/transcript/transcript-indexer.d.ts +0 -273
- package/dist/agent/transcript/transcript-indexer.d.ts.map +0 -1
- package/dist/agent/transcript/transcript-indexer.js +0 -1217
- package/dist/agent/transcript/transcript-indexer.js.map +0 -1
- package/dist/agent/transcript/transcript-memory-migrations.d.ts +0 -25
- package/dist/agent/transcript/transcript-memory-migrations.d.ts.map +0 -1
- package/dist/agent/transcript/transcript-memory-migrations.js +0 -87
- package/dist/agent/transcript/transcript-memory-migrations.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/usage-backfill-handler.d.ts +0 -18
- package/dist/agent/usage/usage-backfill-handler.d.ts.map +0 -1
- package/dist/agent/usage/usage-backfill-handler.js +0 -69
- package/dist/agent/usage/usage-backfill-handler.js.map +0 -1
- package/dist/agent/usage/usage-gate.d.ts +0 -25
- package/dist/agent/usage/usage-gate.d.ts.map +0 -1
- package/dist/agent/usage/usage-gate.js +0 -83
- package/dist/agent/usage/usage-gate.js.map +0 -1
- package/dist/agent/usage/usage-handler.d.ts +0 -7
- package/dist/agent/usage/usage-handler.d.ts.map +0 -1
- package/dist/agent/usage/usage-handler.js +0 -28
- package/dist/agent/usage/usage-handler.js.map +0 -1
- package/dist/agent/usage/usage-report-builder.d.ts +0 -26
- package/dist/agent/usage/usage-report-builder.d.ts.map +0 -1
- package/dist/agent/usage/usage-report-builder.js +0 -80
- package/dist/agent/usage/usage-report-builder.js.map +0 -1
- package/dist/agent/usage/usage-report-queue.d.ts +0 -26
- package/dist/agent/usage/usage-report-queue.d.ts.map +0 -1
- package/dist/agent/usage/usage-report-queue.js +0 -199
- package/dist/agent/usage/usage-report-queue.js.map +0 -1
- package/dist/agent/usage/usage-report-types.d.ts +0 -41
- package/dist/agent/usage/usage-report-types.d.ts.map +0 -1
- package/dist/agent/usage/usage-report-types.js +0 -2
- package/dist/agent/usage/usage-report-types.js.map +0 -1
- package/dist/agent/usage/usage-reporter.d.ts +0 -31
- package/dist/agent/usage/usage-reporter.d.ts.map +0 -1
- package/dist/agent/usage/usage-reporter.js +0 -102
- package/dist/agent/usage/usage-reporter.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-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/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/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/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/playwriter-extension.d.ts +0 -19
- package/dist/onboarding/playwriter-extension.d.ts.map +0 -1
- package/dist/onboarding/playwriter-extension.js +0 -246
- package/dist/onboarding/playwriter-extension.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/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/utils/playwriter-relay.d.ts +0 -9
- package/dist/utils/playwriter-relay.d.ts.map +0 -1
- package/dist/utils/playwriter-relay.js +0 -77
- package/dist/utils/playwriter-relay.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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-indexer.js","sourceRoot":"","sources":["../../../src/agent/transcript/transcript-indexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Explicit SQL migration runner for the local `transcript_memory.db` database.
|
|
3
|
-
*
|
|
4
|
-
* Instead of embedding ad-hoc ALTER TABLE statements inline in getDb(),
|
|
5
|
-
* migrations are declared as ordered entries. Each entry has a unique ID
|
|
6
|
-
* and one or more SQL statements. The runner:
|
|
7
|
-
*
|
|
8
|
-
* 1. Creates a `transcript_memory_migrations` metadata table (if needed).
|
|
9
|
-
* 2. Applies any migration whose ID is not yet recorded.
|
|
10
|
-
* 3. Records each successful migration.
|
|
11
|
-
*
|
|
12
|
-
* Call `runTranscriptMemoryMigrations(db)` once inside getDb(), after the
|
|
13
|
-
* base `CREATE TABLE IF NOT EXISTS wake_cycles (…)` statement, but before
|
|
14
|
-
* preparing any statements that depend on new columns.
|
|
15
|
-
*/
|
|
16
|
-
import type { DatabaseSync } from "node:sqlite";
|
|
17
|
-
/**
|
|
18
|
-
* Run all pending transcript-memory migrations against the given database.
|
|
19
|
-
*
|
|
20
|
-
* Safe to call on every startup — already-applied migrations are skipped.
|
|
21
|
-
* Each migration is wrapped in a transaction so partial failures are
|
|
22
|
-
* rolled back cleanly (leaving the migration un-recorded).
|
|
23
|
-
*/
|
|
24
|
-
export declare function runTranscriptMemoryMigrations(db: DatabaseSync): void;
|
|
25
|
-
//# sourceMappingURL=transcript-memory-migrations.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-memory-migrations.d.ts","sourceRoot":"","sources":["../../../src/agent/transcript/transcript-memory-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6ChD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA2CpE"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Explicit SQL migration runner for the local `transcript_memory.db` database.
|
|
3
|
-
*
|
|
4
|
-
* Instead of embedding ad-hoc ALTER TABLE statements inline in getDb(),
|
|
5
|
-
* migrations are declared as ordered entries. Each entry has a unique ID
|
|
6
|
-
* and one or more SQL statements. The runner:
|
|
7
|
-
*
|
|
8
|
-
* 1. Creates a `transcript_memory_migrations` metadata table (if needed).
|
|
9
|
-
* 2. Applies any migration whose ID is not yet recorded.
|
|
10
|
-
* 3. Records each successful migration.
|
|
11
|
-
*
|
|
12
|
-
* Call `runTranscriptMemoryMigrations(db)` once inside getDb(), after the
|
|
13
|
-
* base `CREATE TABLE IF NOT EXISTS wake_cycles (…)` statement, but before
|
|
14
|
-
* preparing any statements that depend on new columns.
|
|
15
|
-
*/
|
|
16
|
-
import { logger } from "../../logger.js";
|
|
17
|
-
/**
|
|
18
|
-
* Ordered list of migrations. New migrations are appended at the end.
|
|
19
|
-
* IDs must be unique and stable.
|
|
20
|
-
*/
|
|
21
|
-
const MIGRATIONS = [
|
|
22
|
-
{
|
|
23
|
-
id: "20260504_add_usage_reporting",
|
|
24
|
-
description: "Add usage-reporting columns to wake_cycles",
|
|
25
|
-
sql: [
|
|
26
|
-
"ALTER TABLE wake_cycles ADD COLUMN tool_calls_json TEXT",
|
|
27
|
-
"ALTER TABLE wake_cycles ADD COLUMN usage_reported INTEGER NOT NULL DEFAULT 0",
|
|
28
|
-
"ALTER TABLE wake_cycles ADD COLUMN trigger_type TEXT",
|
|
29
|
-
"ALTER TABLE wake_cycles ADD COLUMN trigger_channel TEXT",
|
|
30
|
-
"ALTER TABLE wake_cycles ADD COLUMN outcome TEXT",
|
|
31
|
-
"ALTER TABLE wake_cycles ADD COLUMN tool_call_count INTEGER NOT NULL DEFAULT 0",
|
|
32
|
-
"ALTER TABLE wake_cycles ADD COLUMN tool_calls_truncated INTEGER NOT NULL DEFAULT 0",
|
|
33
|
-
"ALTER TABLE wake_cycles ADD COLUMN reported_tool_call_count INTEGER",
|
|
34
|
-
"ALTER TABLE wake_cycles ADD COLUMN usage_report_error TEXT",
|
|
35
|
-
"ALTER TABLE wake_cycles ADD COLUMN usage_report_attempted_at TEXT",
|
|
36
|
-
`CREATE INDEX IF NOT EXISTS idx_wake_cycles_usage_reported
|
|
37
|
-
ON wake_cycles(usage_reported, timestamp_start)`,
|
|
38
|
-
],
|
|
39
|
-
},
|
|
40
|
-
];
|
|
41
|
-
// ---------------------------------------------------------------------------
|
|
42
|
-
// Runner
|
|
43
|
-
// ---------------------------------------------------------------------------
|
|
44
|
-
/**
|
|
45
|
-
* Run all pending transcript-memory migrations against the given database.
|
|
46
|
-
*
|
|
47
|
-
* Safe to call on every startup — already-applied migrations are skipped.
|
|
48
|
-
* Each migration is wrapped in a transaction so partial failures are
|
|
49
|
-
* rolled back cleanly (leaving the migration un-recorded).
|
|
50
|
-
*/
|
|
51
|
-
export function runTranscriptMemoryMigrations(db) {
|
|
52
|
-
// Ensure the metadata table exists.
|
|
53
|
-
db.exec(`
|
|
54
|
-
CREATE TABLE IF NOT EXISTS transcript_memory_migrations (
|
|
55
|
-
id TEXT PRIMARY KEY,
|
|
56
|
-
applied_at TEXT NOT NULL
|
|
57
|
-
)
|
|
58
|
-
`);
|
|
59
|
-
const stmtCheck = db.prepare("SELECT 1 FROM transcript_memory_migrations WHERE id = ?");
|
|
60
|
-
const stmtRecord = db.prepare("INSERT INTO transcript_memory_migrations (id, applied_at) VALUES (?, ?)");
|
|
61
|
-
for (const migration of MIGRATIONS) {
|
|
62
|
-
const existing = stmtCheck.get(migration.id);
|
|
63
|
-
if (existing)
|
|
64
|
-
continue; // already applied
|
|
65
|
-
try {
|
|
66
|
-
db.exec("BEGIN");
|
|
67
|
-
for (const sql of migration.sql) {
|
|
68
|
-
db.exec(sql);
|
|
69
|
-
}
|
|
70
|
-
stmtRecord.run(migration.id, new Date().toISOString());
|
|
71
|
-
db.exec("COMMIT");
|
|
72
|
-
logger.system(`[transcript-memory-migrations] Applied: ${migration.id} — ${migration.description}`);
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
try {
|
|
76
|
-
db.exec("ROLLBACK");
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
// best-effort rollback
|
|
80
|
-
}
|
|
81
|
-
logger.warn(`[transcript-memory-migrations] Failed to apply ${migration.id}: ${err instanceof Error ? err.message : String(err)}`);
|
|
82
|
-
// Stop processing further migrations — ordering matters.
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=transcript-memory-migrations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-memory-migrations.js","sourceRoot":"","sources":["../../../src/agent/transcript/transcript-memory-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAezC;;;GAGG;AACH,MAAM,UAAU,GAAgB;IAC9B;QACE,EAAE,EAAE,8BAA8B;QAClC,WAAW,EAAE,4CAA4C;QACzD,GAAG,EAAE;YACH,yDAAyD;YACzD,8EAA8E;YAC9E,sDAAsD;YACtD,yDAAyD;YACzD,iDAAiD;YACjD,+EAA+E;YAC/E,oFAAoF;YACpF,qEAAqE;YACrE,4DAA4D;YAC5D,mEAAmE;YACnE;wDACkD;SACnD;KACF;CACF,CAAC;AAEF,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAAgB;IAC5D,oCAAoC;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAC1B,yDAAyD,CAC1D,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,yEAAyE,CAC1E,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAY,CAAC;QACxD,IAAI,QAAQ;YAAE,SAAS,CAAC,kBAAkB;QAE1C,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;gBAChC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACvD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,MAAM,CAAC,MAAM,CACX,2CAA2C,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,WAAW,EAAE,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;YACD,MAAM,CAAC,IAAI,CACT,kDAAkD,SAAS,CAAC,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtH,CAAC;YACF,yDAAyD;YACzD,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Explicit SQL migration runner for the local `transcript_memory.db` database.
|
|
3
|
-
*
|
|
4
|
-
* Instead of embedding ad-hoc ALTER TABLE statements inline in getDb(),
|
|
5
|
-
* migrations are declared as ordered entries. Each entry has a unique ID
|
|
6
|
-
* and one or more SQL statements. The runner:
|
|
7
|
-
*
|
|
8
|
-
* 1. Creates a `transcript_memory_migrations` metadata table (if needed).
|
|
9
|
-
* 2. Applies any migration whose ID is not yet recorded.
|
|
10
|
-
* 3. Records each successful migration.
|
|
11
|
-
*
|
|
12
|
-
* Call `runTranscriptMemoryMigrations(db)` once inside getDb(), after the
|
|
13
|
-
* base `CREATE TABLE IF NOT EXISTS wake_cycles (…)` statement, but before
|
|
14
|
-
* preparing any statements that depend on new columns.
|
|
15
|
-
*/
|
|
16
|
-
import type { DatabaseSync } from "node:sqlite";
|
|
17
|
-
/**
|
|
18
|
-
* Run all pending transcript-memory migrations against the given database.
|
|
19
|
-
*
|
|
20
|
-
* Safe to call on every startup — already-applied migrations are skipped.
|
|
21
|
-
* Each migration is wrapped in a transaction so partial failures are
|
|
22
|
-
* rolled back cleanly (leaving the migration un-recorded).
|
|
23
|
-
*/
|
|
24
|
-
export declare function runTranscriptMemoryMigrations(db: DatabaseSync): void;
|
|
25
|
-
//# sourceMappingURL=transcript-memory-migrations.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-memory-migrations.d.ts","sourceRoot":"","sources":["../../src/agent/transcript-memory-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6ChD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA2CpE"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Explicit SQL migration runner for the local `transcript_memory.db` database.
|
|
3
|
-
*
|
|
4
|
-
* Instead of embedding ad-hoc ALTER TABLE statements inline in getDb(),
|
|
5
|
-
* migrations are declared as ordered entries. Each entry has a unique ID
|
|
6
|
-
* and one or more SQL statements. The runner:
|
|
7
|
-
*
|
|
8
|
-
* 1. Creates a `transcript_memory_migrations` metadata table (if needed).
|
|
9
|
-
* 2. Applies any migration whose ID is not yet recorded.
|
|
10
|
-
* 3. Records each successful migration.
|
|
11
|
-
*
|
|
12
|
-
* Call `runTranscriptMemoryMigrations(db)` once inside getDb(), after the
|
|
13
|
-
* base `CREATE TABLE IF NOT EXISTS wake_cycles (…)` statement, but before
|
|
14
|
-
* preparing any statements that depend on new columns.
|
|
15
|
-
*/
|
|
16
|
-
import { logger } from "../logger.js";
|
|
17
|
-
/**
|
|
18
|
-
* Ordered list of migrations. New migrations are appended at the end.
|
|
19
|
-
* IDs must be unique and stable.
|
|
20
|
-
*/
|
|
21
|
-
const MIGRATIONS = [
|
|
22
|
-
{
|
|
23
|
-
id: "20260504_add_usage_reporting",
|
|
24
|
-
description: "Add usage-reporting columns to wake_cycles",
|
|
25
|
-
sql: [
|
|
26
|
-
"ALTER TABLE wake_cycles ADD COLUMN tool_calls_json TEXT",
|
|
27
|
-
"ALTER TABLE wake_cycles ADD COLUMN usage_reported INTEGER NOT NULL DEFAULT 0",
|
|
28
|
-
"ALTER TABLE wake_cycles ADD COLUMN trigger_type TEXT",
|
|
29
|
-
"ALTER TABLE wake_cycles ADD COLUMN trigger_channel TEXT",
|
|
30
|
-
"ALTER TABLE wake_cycles ADD COLUMN outcome TEXT",
|
|
31
|
-
"ALTER TABLE wake_cycles ADD COLUMN tool_call_count INTEGER NOT NULL DEFAULT 0",
|
|
32
|
-
"ALTER TABLE wake_cycles ADD COLUMN tool_calls_truncated INTEGER NOT NULL DEFAULT 0",
|
|
33
|
-
"ALTER TABLE wake_cycles ADD COLUMN reported_tool_call_count INTEGER",
|
|
34
|
-
"ALTER TABLE wake_cycles ADD COLUMN usage_report_error TEXT",
|
|
35
|
-
"ALTER TABLE wake_cycles ADD COLUMN usage_report_attempted_at TEXT",
|
|
36
|
-
`CREATE INDEX IF NOT EXISTS idx_wake_cycles_usage_reported
|
|
37
|
-
ON wake_cycles(usage_reported, timestamp_start)`,
|
|
38
|
-
],
|
|
39
|
-
},
|
|
40
|
-
];
|
|
41
|
-
// ---------------------------------------------------------------------------
|
|
42
|
-
// Runner
|
|
43
|
-
// ---------------------------------------------------------------------------
|
|
44
|
-
/**
|
|
45
|
-
* Run all pending transcript-memory migrations against the given database.
|
|
46
|
-
*
|
|
47
|
-
* Safe to call on every startup — already-applied migrations are skipped.
|
|
48
|
-
* Each migration is wrapped in a transaction so partial failures are
|
|
49
|
-
* rolled back cleanly (leaving the migration un-recorded).
|
|
50
|
-
*/
|
|
51
|
-
export function runTranscriptMemoryMigrations(db) {
|
|
52
|
-
// Ensure the metadata table exists.
|
|
53
|
-
db.exec(`
|
|
54
|
-
CREATE TABLE IF NOT EXISTS transcript_memory_migrations (
|
|
55
|
-
id TEXT PRIMARY KEY,
|
|
56
|
-
applied_at TEXT NOT NULL
|
|
57
|
-
)
|
|
58
|
-
`);
|
|
59
|
-
const stmtCheck = db.prepare("SELECT 1 FROM transcript_memory_migrations WHERE id = ?");
|
|
60
|
-
const stmtRecord = db.prepare("INSERT INTO transcript_memory_migrations (id, applied_at) VALUES (?, ?)");
|
|
61
|
-
for (const migration of MIGRATIONS) {
|
|
62
|
-
const existing = stmtCheck.get(migration.id);
|
|
63
|
-
if (existing)
|
|
64
|
-
continue; // already applied
|
|
65
|
-
try {
|
|
66
|
-
db.exec("BEGIN");
|
|
67
|
-
for (const sql of migration.sql) {
|
|
68
|
-
db.exec(sql);
|
|
69
|
-
}
|
|
70
|
-
stmtRecord.run(migration.id, new Date().toISOString());
|
|
71
|
-
db.exec("COMMIT");
|
|
72
|
-
logger.system(`[transcript-memory-migrations] Applied: ${migration.id} — ${migration.description}`);
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
try {
|
|
76
|
-
db.exec("ROLLBACK");
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
// best-effort rollback
|
|
80
|
-
}
|
|
81
|
-
logger.warn(`[transcript-memory-migrations] Failed to apply ${migration.id}: ${err instanceof Error ? err.message : String(err)}`);
|
|
82
|
-
// Stop processing further migrations — ordering matters.
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=transcript-memory-migrations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-memory-migrations.js","sourceRoot":"","sources":["../../src/agent/transcript-memory-migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAetC;;;GAGG;AACH,MAAM,UAAU,GAAgB;IAC9B;QACE,EAAE,EAAE,8BAA8B;QAClC,WAAW,EAAE,4CAA4C;QACzD,GAAG,EAAE;YACH,yDAAyD;YACzD,8EAA8E;YAC9E,sDAAsD;YACtD,yDAAyD;YACzD,iDAAiD;YACjD,+EAA+E;YAC/E,oFAAoF;YACpF,qEAAqE;YACrE,4DAA4D;YAC5D,mEAAmE;YACnE;wDACkD;SACnD;KACF;CACF,CAAC;AAEF,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAAgB;IAC5D,oCAAoC;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAC1B,yDAAyD,CAC1D,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,yEAAyE,CAC1E,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAY,CAAC;QACxD,IAAI,QAAQ;YAAE,SAAS,CAAC,kBAAkB;QAE1C,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;gBAChC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACvD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,MAAM,CAAC,MAAM,CACX,2CAA2C,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,WAAW,EAAE,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;YACD,MAAM,CAAC,IAAI,CACT,kDAAkD,SAAS,CAAC,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtH,CAAC;YACF,yDAAyD;YACzD,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tunnel credential coordinator.
|
|
3
|
-
*
|
|
4
|
-
* Owns every tunnel-specific concern around a heartbeat-delivered
|
|
5
|
-
* `runtimeCredentials` bundle:
|
|
6
|
-
*
|
|
7
|
-
* - materialising the bundle to disk (via `runtime-credentials.ts`)
|
|
8
|
-
* - deciding whether a cloudflared bounce is needed
|
|
9
|
-
* - coalescing concurrent restart triggers
|
|
10
|
-
* - tracking whether the next heartbeat should still ask the server
|
|
11
|
-
* to bootstrap a credential (i.e. nothing usable is on disk yet)
|
|
12
|
-
*
|
|
13
|
-
* Extracted out of `HeartbeatManager` so the heartbeat layer stays
|
|
14
|
-
* concerned with heartbeats and command dispatch; the tunnel coupling
|
|
15
|
-
* lives here instead.
|
|
16
|
-
*/
|
|
17
|
-
import type { RuntimeCredentials } from "../onboarding/onboarding-service-client.js";
|
|
18
|
-
export interface TunnelCredentialHandlerOptions {
|
|
19
|
-
/** Canonical agent name used to validate tunnel-name drift. */
|
|
20
|
-
agentName: string;
|
|
21
|
-
/**
|
|
22
|
-
* Callback that bounces cloudflared (typically the `restartTunnel`
|
|
23
|
-
* returned from `startObsServer`). Invoked when a newly materialised
|
|
24
|
-
* credential differs from what's on disk — otherwise cloudflared keeps
|
|
25
|
-
* running against the UUID it was spawned with (it does not hot-reload
|
|
26
|
-
* `config.yml`).
|
|
27
|
-
*
|
|
28
|
-
* Optional so test harnesses and non-obs builds can skip the restart
|
|
29
|
-
* side-effect entirely.
|
|
30
|
-
*/
|
|
31
|
-
restartTunnel?: () => Promise<string | null>;
|
|
32
|
-
}
|
|
33
|
-
export declare class TunnelCredentialHandler {
|
|
34
|
-
private readonly agentName;
|
|
35
|
-
private readonly restartTunnel?;
|
|
36
|
-
private _restartInFlight;
|
|
37
|
-
/**
|
|
38
|
-
* Set whenever a `tunnelChanged` apply lands while a previous restart
|
|
39
|
-
* is still in flight. The in-flight restart already snapshotted disk
|
|
40
|
-
* state at its start (`resolveTunnelOpts()` in `obs/server.ts`), so
|
|
41
|
-
* the second rotation needs its own bounce — we re-kick from the
|
|
42
|
-
* restart's `finally` block when this flag is set.
|
|
43
|
-
*
|
|
44
|
-
* Stored as the latest `ApplyRuntimeCredentialsResult` so the rotation
|
|
45
|
-
* label in the follow-up log line still reflects the *latest* tunnel
|
|
46
|
-
* delivery, not the first one that was already restarted.
|
|
47
|
-
*/
|
|
48
|
-
private _pendingRestart;
|
|
49
|
-
/**
|
|
50
|
-
* True whenever we still need the server to include a
|
|
51
|
-
* `runtimeCredentials` bundle on the next heartbeat — i.e. nothing
|
|
52
|
-
* usable is on disk yet. Flips to false the first time we materialise
|
|
53
|
-
* a credential successfully, and flips back to true whenever a probe
|
|
54
|
-
* finds the profile tunnel dir empty again.
|
|
55
|
-
*/
|
|
56
|
-
private _needsBootstrap;
|
|
57
|
-
/**
|
|
58
|
-
* Latch so we only emit the "running on pre-existing local credential,
|
|
59
|
-
* awaiting server-issued bundle" notice once per process. The state it
|
|
60
|
-
* describes is benign but operators want to see it called out in logs
|
|
61
|
-
* right after an upgrade from a legacy-adopted agent when the server
|
|
62
|
-
* hasn't been provisioned yet.
|
|
63
|
-
*/
|
|
64
|
-
private _loggedAwaitingServerBundle;
|
|
65
|
-
constructor(options: TunnelCredentialHandlerOptions);
|
|
66
|
-
/** Whether the next heartbeat should request a bootstrap bundle. */
|
|
67
|
-
get needsBootstrap(): boolean;
|
|
68
|
-
/**
|
|
69
|
-
* Handle a `runtimeCredentials` bundle from a heartbeat response.
|
|
70
|
-
*
|
|
71
|
-
* Defensive by contract: never throws — a failed materialisation must
|
|
72
|
-
* not block heartbeats. Missing/undefined bundles are a no-op.
|
|
73
|
-
*/
|
|
74
|
-
handle(bundle: RuntimeCredentials | undefined): void;
|
|
75
|
-
/**
|
|
76
|
-
* Kick `restartTunnel` in the background, coalescing concurrent
|
|
77
|
-
* invocations. Logged at `system` level because a restart is a
|
|
78
|
-
* visible event for operators tailing pm2 logs.
|
|
79
|
-
*
|
|
80
|
-
* If a restart is already in flight when we're called, we don't drop
|
|
81
|
-
* the trigger — the in-flight restart sampled disk before this newer
|
|
82
|
-
* credential was materialised and would launch cloudflared against
|
|
83
|
-
* the stale UUID. Instead we record the latest result in
|
|
84
|
-
* `_pendingRestart` and re-kick from the in-flight restart's
|
|
85
|
-
* `finally` block, which guarantees one extra restart that picks up
|
|
86
|
-
* whatever's now on disk.
|
|
87
|
-
*/
|
|
88
|
-
private triggerRestart;
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=tunnel-credential-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-credential-handler.d.ts","sourceRoot":"","sources":["../../src/agent/tunnel-credential-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAQrF,MAAM,WAAW,8BAA8B;IAC7C,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9C;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA+B;IAC9D,OAAO,CAAC,gBAAgB,CAA8B;IACtD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,eAAe,CAA8C;IACrE;;;;;;OAMG;IACH,OAAO,CAAC,eAAe,CAAQ;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B,CAAS;gBAEhC,OAAO,EAAE,8BAA8B;IAKnD,oEAAoE;IACpE,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAiDpD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;CA6CvB"}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tunnel credential coordinator.
|
|
3
|
-
*
|
|
4
|
-
* Owns every tunnel-specific concern around a heartbeat-delivered
|
|
5
|
-
* `runtimeCredentials` bundle:
|
|
6
|
-
*
|
|
7
|
-
* - materialising the bundle to disk (via `runtime-credentials.ts`)
|
|
8
|
-
* - deciding whether a cloudflared bounce is needed
|
|
9
|
-
* - coalescing concurrent restart triggers
|
|
10
|
-
* - tracking whether the next heartbeat should still ask the server
|
|
11
|
-
* to bootstrap a credential (i.e. nothing usable is on disk yet)
|
|
12
|
-
*
|
|
13
|
-
* Extracted out of `HeartbeatManager` so the heartbeat layer stays
|
|
14
|
-
* concerned with heartbeats and command dispatch; the tunnel coupling
|
|
15
|
-
* lives here instead.
|
|
16
|
-
*/
|
|
17
|
-
import { applyRuntimeCredentials, probeLocalTunnelCredential, } from "./runtime-credentials.js";
|
|
18
|
-
import { logger } from "../logger.js";
|
|
19
|
-
export class TunnelCredentialHandler {
|
|
20
|
-
agentName;
|
|
21
|
-
restartTunnel;
|
|
22
|
-
_restartInFlight = null;
|
|
23
|
-
/**
|
|
24
|
-
* Set whenever a `tunnelChanged` apply lands while a previous restart
|
|
25
|
-
* is still in flight. The in-flight restart already snapshotted disk
|
|
26
|
-
* state at its start (`resolveTunnelOpts()` in `obs/server.ts`), so
|
|
27
|
-
* the second rotation needs its own bounce — we re-kick from the
|
|
28
|
-
* restart's `finally` block when this flag is set.
|
|
29
|
-
*
|
|
30
|
-
* Stored as the latest `ApplyRuntimeCredentialsResult` so the rotation
|
|
31
|
-
* label in the follow-up log line still reflects the *latest* tunnel
|
|
32
|
-
* delivery, not the first one that was already restarted.
|
|
33
|
-
*/
|
|
34
|
-
_pendingRestart = null;
|
|
35
|
-
/**
|
|
36
|
-
* True whenever we still need the server to include a
|
|
37
|
-
* `runtimeCredentials` bundle on the next heartbeat — i.e. nothing
|
|
38
|
-
* usable is on disk yet. Flips to false the first time we materialise
|
|
39
|
-
* a credential successfully, and flips back to true whenever a probe
|
|
40
|
-
* finds the profile tunnel dir empty again.
|
|
41
|
-
*/
|
|
42
|
-
_needsBootstrap = true;
|
|
43
|
-
/**
|
|
44
|
-
* Latch so we only emit the "running on pre-existing local credential,
|
|
45
|
-
* awaiting server-issued bundle" notice once per process. The state it
|
|
46
|
-
* describes is benign but operators want to see it called out in logs
|
|
47
|
-
* right after an upgrade from a legacy-adopted agent when the server
|
|
48
|
-
* hasn't been provisioned yet.
|
|
49
|
-
*/
|
|
50
|
-
_loggedAwaitingServerBundle = false;
|
|
51
|
-
constructor(options) {
|
|
52
|
-
this.agentName = options.agentName;
|
|
53
|
-
this.restartTunnel = options.restartTunnel;
|
|
54
|
-
}
|
|
55
|
-
/** Whether the next heartbeat should request a bootstrap bundle. */
|
|
56
|
-
get needsBootstrap() {
|
|
57
|
-
return this._needsBootstrap;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Handle a `runtimeCredentials` bundle from a heartbeat response.
|
|
61
|
-
*
|
|
62
|
-
* Defensive by contract: never throws — a failed materialisation must
|
|
63
|
-
* not block heartbeats. Missing/undefined bundles are a no-op.
|
|
64
|
-
*/
|
|
65
|
-
handle(bundle) {
|
|
66
|
-
let result = null;
|
|
67
|
-
try {
|
|
68
|
-
result = applyRuntimeCredentials(bundle, { agentName: this.agentName });
|
|
69
|
-
if (result.tunnelApplied) {
|
|
70
|
-
this._needsBootstrap = false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
catch (err) {
|
|
74
|
-
logger.warn(`Runtime credential apply failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
75
|
-
}
|
|
76
|
-
// If the apply wrote new files to disk, bounce cloudflared so it
|
|
77
|
-
// picks up the fresh UUID/secret. Without this the obs server
|
|
78
|
-
// spawned cloudflared against whatever was on disk at startup, and
|
|
79
|
-
// a subsequent credential rotation (e.g. operator clicked
|
|
80
|
-
// "Provision tunnel" on the admin UI) would sit unused until the
|
|
81
|
-
// next manual agent restart.
|
|
82
|
-
if (result?.tunnelApplied && result.tunnelChanged && result.tunnel) {
|
|
83
|
-
this.triggerRestart(result);
|
|
84
|
-
}
|
|
85
|
-
// If we still don't have a local tunnel credential after applying,
|
|
86
|
-
// keep asking the server to bootstrap on the next heartbeat. Also
|
|
87
|
-
// covers the case where the server hasn't provisioned a tunnel for
|
|
88
|
-
// this agent yet — subsequent heartbeats stay cheap (only the flag
|
|
89
|
-
// is sent), and we pick up the credential the moment it exists.
|
|
90
|
-
const probed = probeLocalTunnelCredential();
|
|
91
|
-
if (probed === null) {
|
|
92
|
-
this._needsBootstrap = true;
|
|
93
|
-
}
|
|
94
|
-
else if (!result?.tunnelApplied &&
|
|
95
|
-
!this._loggedAwaitingServerBundle) {
|
|
96
|
-
// Covers the legacy-adoption scenario: the agent was upgraded and
|
|
97
|
-
// obs is already running on an adopted `~/.cloudflared` credential
|
|
98
|
-
// that's now in the profile dir, but the server returned no
|
|
99
|
-
// runtimeCredentials bundle (operator hasn't clicked "Provision
|
|
100
|
-
// tunnel" yet). Call this out exactly once so the state is
|
|
101
|
-
// unambiguous in logs — every subsequent heartbeat will still
|
|
102
|
-
// re-ask via `needsBootstrap`, silently, until the bundle lands.
|
|
103
|
-
this._loggedAwaitingServerBundle = true;
|
|
104
|
-
logger.system(`Runtime credential: operating on pre-existing local tunnel ${probed.tunnelId}; awaiting server-issued bundle`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Kick `restartTunnel` in the background, coalescing concurrent
|
|
109
|
-
* invocations. Logged at `system` level because a restart is a
|
|
110
|
-
* visible event for operators tailing pm2 logs.
|
|
111
|
-
*
|
|
112
|
-
* If a restart is already in flight when we're called, we don't drop
|
|
113
|
-
* the trigger — the in-flight restart sampled disk before this newer
|
|
114
|
-
* credential was materialised and would launch cloudflared against
|
|
115
|
-
* the stale UUID. Instead we record the latest result in
|
|
116
|
-
* `_pendingRestart` and re-kick from the in-flight restart's
|
|
117
|
-
* `finally` block, which guarantees one extra restart that picks up
|
|
118
|
-
* whatever's now on disk.
|
|
119
|
-
*/
|
|
120
|
-
triggerRestart(result) {
|
|
121
|
-
if (!this.restartTunnel || !result.tunnel)
|
|
122
|
-
return;
|
|
123
|
-
if (this._restartInFlight) {
|
|
124
|
-
// Always overwrite — only the most recent credential matters; any
|
|
125
|
-
// intermediate bundles will be on disk by the time the follow-up
|
|
126
|
-
// restart re-probes via `obs/server.ts:resolveTunnelOpts()`.
|
|
127
|
-
this._pendingRestart = result;
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
const newTunnelId = result.tunnel.tunnelId;
|
|
131
|
-
const previousTunnelId = result.previousTunnelId;
|
|
132
|
-
const rotationLabel = previousTunnelId === null
|
|
133
|
-
? "initial"
|
|
134
|
-
: previousTunnelId === newTunnelId
|
|
135
|
-
? "refreshed"
|
|
136
|
-
: `rotated (${previousTunnelId} → ${newTunnelId})`;
|
|
137
|
-
logger.system(`Runtime credential: tunnel ${rotationLabel}; restarting cloudflared`);
|
|
138
|
-
const restart = this.restartTunnel;
|
|
139
|
-
this._restartInFlight = (async () => {
|
|
140
|
-
try {
|
|
141
|
-
await restart();
|
|
142
|
-
}
|
|
143
|
-
catch (err) {
|
|
144
|
-
logger.warn(`Failed to restart tunnel after credential update: ${err instanceof Error ? err.message : String(err)}`);
|
|
145
|
-
}
|
|
146
|
-
finally {
|
|
147
|
-
this._restartInFlight = null;
|
|
148
|
-
// Drain any rotation that landed mid-flight. We re-enter
|
|
149
|
-
// triggerRestart synchronously (not via setImmediate) so the
|
|
150
|
-
// follow-up restart starts as soon as the previous Promise
|
|
151
|
-
// resolves, but `_restartInFlight` is already null above so the
|
|
152
|
-
// recursive call goes down the spawn path, not the coalesce path.
|
|
153
|
-
const pending = this._pendingRestart;
|
|
154
|
-
if (pending) {
|
|
155
|
-
this._pendingRestart = null;
|
|
156
|
-
this.triggerRestart(pending);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
})();
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=tunnel-credential-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-credential-handler.js","sourceRoot":"","sources":["../../src/agent/tunnel-credential-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Usage backfill handler — builds usage reports from stored wake cycle
|
|
3
|
-
* records and uploads them directly to the onboarding server.
|
|
4
|
-
*
|
|
5
|
-
* For legacy rows that lack `tool_calls_json`, the handler attempts to
|
|
6
|
-
* reconstruct tool calls by reading transcript lines from live or archived
|
|
7
|
-
* transcript files (via `readWakeCycleTranscriptLines`).
|
|
8
|
-
*
|
|
9
|
-
* Backfill does NOT enqueue into usage.db and does NOT mutate
|
|
10
|
-
* `usage_reported`. Server-side deduplication by `wakeCycleId` handles
|
|
11
|
-
* any overlap with heartbeat-uploaded reports.
|
|
12
|
-
*/
|
|
13
|
-
import type { VisionClawConfig } from "../../config/types.js";
|
|
14
|
-
export declare function createUsageBackfillHandler(config: VisionClawConfig): () => Promise<{
|
|
15
|
-
status: "completed" | "failed";
|
|
16
|
-
result?: string;
|
|
17
|
-
}>;
|
|
18
|
-
//# sourceMappingURL=usage-backfill-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usage-backfill-handler.d.ts","sourceRoot":"","sources":["../../../src/agent/usage/usage-backfill-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAc9D,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,SAChD,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqE9E"}
|