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,273 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transcript-based structured memory: indexes wake cycle summaries into
|
|
3
|
-
* a SQLite database with FTS5 full-text search and sqlite-vec vector
|
|
4
|
-
* similarity search. Each wake cycle is summarized by an LLM after
|
|
5
|
-
* completion and stored for later retrieval.
|
|
6
|
-
*
|
|
7
|
-
* IMPORTANT — file terminology:
|
|
8
|
-
* - "source file" (DB column `source_file`): the JSONL file that contains
|
|
9
|
-
* the raw data for a wake cycle. This is EITHER:
|
|
10
|
-
* • A **Claude SDK transcript** (`~/.claude/projects/<slug>/<sessionId>.jsonl`)
|
|
11
|
-
* for live-indexed cycles, OR
|
|
12
|
-
* • A **VisionClaw runtime log** (`~/.visionclaw/profiles/<profile>/logs/YYYY-MM-DD.jsonl`)
|
|
13
|
-
* for backfill-indexed cycles.
|
|
14
|
-
* These two formats are different:
|
|
15
|
-
* - Claude transcripts: `{type:"user"|"assistant", message:{...}}`
|
|
16
|
-
* - VisionClaw logs: `{timestamp, level, category, message, data}`
|
|
17
|
-
*
|
|
18
|
-
* This module handles:
|
|
19
|
-
* - SQLite schema creation (wake_cycles + FTS5 + vec0 virtual tables)
|
|
20
|
-
* - Reading source file lines (both Claude transcripts and VisionClaw logs)
|
|
21
|
-
* - Generating summaries via Gemini Flash
|
|
22
|
-
* - Generating embeddings via Gemini Embedding
|
|
23
|
-
* - Inserting indexed records
|
|
24
|
-
* - Keyword (FTS5), semantic (vec0 KNN), and hybrid search
|
|
25
|
-
* - Retrieval of key excerpts and original source file lines
|
|
26
|
-
*/
|
|
27
|
-
import type { VisionClawConfig } from "../../config/types.js";
|
|
28
|
-
import type { SessionMode } from "../mailbox.js";
|
|
29
|
-
export interface WakeCycleRecord {
|
|
30
|
-
wake_cycle_id: string;
|
|
31
|
-
session_type: string;
|
|
32
|
-
timestamp_start: string;
|
|
33
|
-
timestamp_end: string;
|
|
34
|
-
summary: string;
|
|
35
|
-
key_excerpts: string | null;
|
|
36
|
-
/** Path to the source JSONL file (Claude transcript or VisionClaw log). */
|
|
37
|
-
source_file: string;
|
|
38
|
-
start_line: number;
|
|
39
|
-
end_line: number;
|
|
40
|
-
embedding: Buffer | null;
|
|
41
|
-
/** JSON-serialized ToolCallFact[] or NULL (legacy/unavailable). */
|
|
42
|
-
tool_calls_json: string | null;
|
|
43
|
-
usage_reported: number;
|
|
44
|
-
trigger_type: string | null;
|
|
45
|
-
trigger_channel: string | null;
|
|
46
|
-
outcome: string | null;
|
|
47
|
-
tool_call_count: number;
|
|
48
|
-
tool_calls_truncated: number;
|
|
49
|
-
reported_tool_call_count: number | null;
|
|
50
|
-
}
|
|
51
|
-
export interface SearchResult {
|
|
52
|
-
wake_cycle_id: string;
|
|
53
|
-
session_type: string;
|
|
54
|
-
timestamp_start: string;
|
|
55
|
-
timestamp_end: string;
|
|
56
|
-
summary: string;
|
|
57
|
-
relevance_score: number;
|
|
58
|
-
}
|
|
59
|
-
export interface IndexWakeCycleOptions {
|
|
60
|
-
wakeCycleId: string;
|
|
61
|
-
sessionType: SessionMode;
|
|
62
|
-
/** Path to the Claude SDK transcript file for this wake cycle. */
|
|
63
|
-
sourceFile: string;
|
|
64
|
-
startLine: number;
|
|
65
|
-
endLine: number;
|
|
66
|
-
timestampStart: string;
|
|
67
|
-
timestampEnd: string;
|
|
68
|
-
trigger: "message" | "heartbeat";
|
|
69
|
-
messages: {
|
|
70
|
-
channel: string;
|
|
71
|
-
sender: string;
|
|
72
|
-
text: string;
|
|
73
|
-
}[];
|
|
74
|
-
config: VisionClawConfig;
|
|
75
|
-
/** Wake cycle outcome — used for usage metering. */
|
|
76
|
-
outcome?: "completed" | "error" | "stopped" | "switched";
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Count lines in a file asynchronously via streaming.
|
|
80
|
-
* Returns 0 if the file does not exist.
|
|
81
|
-
*/
|
|
82
|
-
export declare function countFileLines(filePath: string): Promise<number>;
|
|
83
|
-
/**
|
|
84
|
-
* Read specific line range from a JSONL source file (Claude transcript or
|
|
85
|
-
* VisionClaw log). Lines are 1-indexed; range is [startLine, endLine)
|
|
86
|
-
* (exclusive end). Handles both plain .jsonl and .jsonl.gz files via streaming.
|
|
87
|
-
*
|
|
88
|
-
* @param maxLines — optional cap on lines returned. When the range contains
|
|
89
|
-
* more lines than this limit, the function samples lines evenly across the
|
|
90
|
-
* range so the start, middle and end of the cycle are all represented.
|
|
91
|
-
*/
|
|
92
|
-
export declare function readSourceFileLines(filePath: string, startLine: number, endLine: number, maxLines?: number): Promise<string[]>;
|
|
93
|
-
/**
|
|
94
|
-
* Read transcript lines for a wake cycle, searching across live and archived
|
|
95
|
-
* transcript files. Used for backfill reconstruction when the original
|
|
96
|
-
* source_file may have been archived due to transcript rollover.
|
|
97
|
-
*
|
|
98
|
-
* Search order:
|
|
99
|
-
* 1. The original source_file path (live transcript)
|
|
100
|
-
* 2. Date-stamped archive for the wake cycle's date
|
|
101
|
-
* 3. Adjacent dates (±1 day) for timezone/boundary cases
|
|
102
|
-
*
|
|
103
|
-
* @param sourceFile - Original source file path from the wake cycle record.
|
|
104
|
-
* @param startLine - 1-indexed start line.
|
|
105
|
-
* @param endLine - 1-indexed exclusive end line.
|
|
106
|
-
* @param wakeCycleTimestamp - ISO timestamp of the wake cycle's start, used
|
|
107
|
-
* to derive which date-stamped archive to search.
|
|
108
|
-
*/
|
|
109
|
-
export declare function readWakeCycleTranscriptLines(sourceFile: string, startLine: number, endLine: number, wakeCycleTimestamp: string): Promise<string[]>;
|
|
110
|
-
import type { ToolCallFact } from "../usage/usage-report-types.js";
|
|
111
|
-
/**
|
|
112
|
-
* Extract tool call facts from raw Claude SDK transcript JSONL lines.
|
|
113
|
-
*
|
|
114
|
-
* Matches `tool_use` blocks (from assistant messages) with corresponding
|
|
115
|
-
* `tool_result` blocks (from user messages) via `tool_use_id`. If a
|
|
116
|
-
* tool_use has no matching result, it is closed at `cycleEndedAt` with
|
|
117
|
-
* `success: false` and `errorKind: "missing_tool_result"`.
|
|
118
|
-
*
|
|
119
|
-
* When transcript lines carry timestamps, tool_use events outside the wake
|
|
120
|
-
* cycle window are ignored. This protects backfill/live indexing from
|
|
121
|
-
* over-broad transcript ranges. For untimestamped lines, `startedAt` falls
|
|
122
|
-
* back to `cycleStartedAt` and `endedAt` falls back to the last seen timestamp
|
|
123
|
-
* marker or cycle boundary.
|
|
124
|
-
*
|
|
125
|
-
* @param lines - Raw JSONL transcript lines (Claude transcript format only).
|
|
126
|
-
* @param context - Cycle-level timestamps for fallback.
|
|
127
|
-
*/
|
|
128
|
-
export declare function extractToolCallsFromLines(lines: string[], context: {
|
|
129
|
-
cycleStartedAt: string;
|
|
130
|
-
cycleEndedAt: string;
|
|
131
|
-
}): {
|
|
132
|
-
toolCalls: ToolCallFact[];
|
|
133
|
-
toolCallCount: number;
|
|
134
|
-
truncated: boolean;
|
|
135
|
-
reportedToolCallCount: number | null;
|
|
136
|
-
};
|
|
137
|
-
/**
|
|
138
|
-
* Parse raw JSONL lines from a Claude SDK transcript file into a condensed
|
|
139
|
-
* text representation suitable for summary generation. This only works with
|
|
140
|
-
* Claude transcript format (`{type:"user"|"assistant", message:{...}}`), NOT
|
|
141
|
-
* VisionClaw log format. Filters out large tool results and binary data to
|
|
142
|
-
* reduce token count.
|
|
143
|
-
*/
|
|
144
|
-
export declare function parseTranscriptForSummary(lines: string[]): string;
|
|
145
|
-
/**
|
|
146
|
-
* Check whether a wake cycle only contains trivial/housekeeping tool calls
|
|
147
|
-
* (memory reads, transcript search, finish, wait, switch_session) and no
|
|
148
|
-
* substantive work. Such cycles should be skipped from indexing.
|
|
149
|
-
*
|
|
150
|
-
* Works on the raw JSONL lines from a Claude SDK transcript file.
|
|
151
|
-
*/
|
|
152
|
-
export declare function isOnlyTrivialToolCalls(lines: string[]): boolean;
|
|
153
|
-
export interface SummaryResult {
|
|
154
|
-
summary: string;
|
|
155
|
-
key_excerpts: string[];
|
|
156
|
-
}
|
|
157
|
-
export declare function generateSummary(condensedTranscript: string, config: VisionClawConfig): Promise<SummaryResult>;
|
|
158
|
-
export declare function generateEmbedding(text: string, config: VisionClawConfig): Promise<Float32Array | null>;
|
|
159
|
-
/**
|
|
160
|
-
* Index the current wake cycle's Claude transcript. Called after each wake
|
|
161
|
-
* cycle completes (fire-and-forget from the main loop).
|
|
162
|
-
*
|
|
163
|
-
* Steps:
|
|
164
|
-
* 1. Read Claude transcript lines for the wake cycle range (capped)
|
|
165
|
-
* 1.5 Extract tool call facts for usage metering
|
|
166
|
-
* 2. Parse and condense for summary generation
|
|
167
|
-
* 3. Call Gemini Flash to generate summary + key excerpts
|
|
168
|
-
* 4. Generate embedding for the summary (best-effort)
|
|
169
|
-
* 5. Store in SQLite (wake_cycles + FTS5 auto-synced via triggers)
|
|
170
|
-
*/
|
|
171
|
-
export declare function indexWakeCycle(options: IndexWakeCycleOptions): Promise<void>;
|
|
172
|
-
/**
|
|
173
|
-
* Insert a pre-built wake cycle record into the database.
|
|
174
|
-
* Used by the backfill CLI to insert records with known timestamps and IDs.
|
|
175
|
-
*
|
|
176
|
-
* @param record.sourceFile — path to the source JSONL file. For backfilled
|
|
177
|
-
* data this is a VisionClaw runtime log file; for live data it is a Claude
|
|
178
|
-
* SDK transcript file.
|
|
179
|
-
*/
|
|
180
|
-
export declare function insertWakeCycleRecord(record: {
|
|
181
|
-
wakeCycleId: string;
|
|
182
|
-
sessionType: string;
|
|
183
|
-
timestampStart: string;
|
|
184
|
-
timestampEnd: string;
|
|
185
|
-
summary: string;
|
|
186
|
-
keyExcerpts: string[] | null;
|
|
187
|
-
sourceFile: string;
|
|
188
|
-
startLine: number;
|
|
189
|
-
endLine: number;
|
|
190
|
-
embeddingBlob: Buffer | null;
|
|
191
|
-
}): void;
|
|
192
|
-
/**
|
|
193
|
-
* Return the total number of wake cycles in the database.
|
|
194
|
-
*/
|
|
195
|
-
export declare function getWakeCycleCount(): number;
|
|
196
|
-
export declare function listWakeCyclesForUsageBackfill(limit?: number): WakeCycleRecord[];
|
|
197
|
-
/**
|
|
198
|
-
* List wake cycles that have not yet been queued into usage.db.
|
|
199
|
-
* Used by the background UsageReporter.
|
|
200
|
-
*/
|
|
201
|
-
export declare function listUnreportedWakeCycles(limit?: number): WakeCycleRecord[];
|
|
202
|
-
/**
|
|
203
|
-
* Mark a wake cycle as successfully queued into usage.db.
|
|
204
|
-
*/
|
|
205
|
-
export declare function markWakeCycleUsageReported(wakeCycleId: string): void;
|
|
206
|
-
/**
|
|
207
|
-
* Record a usage report error for a wake cycle.
|
|
208
|
-
*/
|
|
209
|
-
export declare function markWakeCycleUsageReportError(wakeCycleId: string, error: string): void;
|
|
210
|
-
/**
|
|
211
|
-
* Update the tool_calls_json for an existing wake cycle row.
|
|
212
|
-
* Used to persist reconstructed tool calls from archived transcripts.
|
|
213
|
-
*/
|
|
214
|
-
export declare function updateWakeCycleToolCallsJson(wakeCycleId: string, toolCallsJson: string): void;
|
|
215
|
-
/**
|
|
216
|
-
* Check if a wake cycle ID already exists in the database.
|
|
217
|
-
*/
|
|
218
|
-
export declare function wakeCycleExists(wakeCycleId: string): boolean;
|
|
219
|
-
export interface SearchOptions {
|
|
220
|
-
query: string;
|
|
221
|
-
type?: "keyword" | "semantic" | "hybrid";
|
|
222
|
-
timeRange?: {
|
|
223
|
-
start: string;
|
|
224
|
-
end: string;
|
|
225
|
-
};
|
|
226
|
-
sessionType?: string;
|
|
227
|
-
limit?: number;
|
|
228
|
-
config?: VisionClawConfig;
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Check whether semantic/vector search is available.
|
|
232
|
-
*/
|
|
233
|
-
export declare function isSemanticSearchAvailable(): boolean;
|
|
234
|
-
/**
|
|
235
|
-
* Search wake cycle summaries. Routes to keyword, semantic, or hybrid
|
|
236
|
-
* search based on the `type` option.
|
|
237
|
-
*
|
|
238
|
-
* - keyword: FTS5 full-text search with BM25 ranking (default)
|
|
239
|
-
* - semantic: vec0 KNN search using embedding similarity
|
|
240
|
-
* - hybrid: combines keyword + semantic via Reciprocal Rank Fusion (RRF)
|
|
241
|
-
*/
|
|
242
|
-
export declare function searchWakeCycles(options: SearchOptions): SearchResult[];
|
|
243
|
-
/**
|
|
244
|
-
* Async semantic search — generates query embedding then searches vec0.
|
|
245
|
-
*/
|
|
246
|
-
export declare function searchSemanticAsync(options: SearchOptions): Promise<SearchResult[]>;
|
|
247
|
-
/**
|
|
248
|
-
* Async hybrid search — runs keyword + semantic in parallel, fuses with RRF.
|
|
249
|
-
* Reciprocal Rank Fusion: score = Σ 1/(k + rank_i) for each result system.
|
|
250
|
-
*/
|
|
251
|
-
export declare function searchHybridAsync(options: SearchOptions): Promise<SearchResult[]>;
|
|
252
|
-
/**
|
|
253
|
-
* Normalize BM25 scores (which are negative, lower = better) to positive
|
|
254
|
-
* scores where higher = better. Uses: score = 1 / (1 + |bm25|).
|
|
255
|
-
* This gives a 0-1 range suitable for display.
|
|
256
|
-
*/
|
|
257
|
-
export declare function normalizeBm25Score(bm25: number): number;
|
|
258
|
-
/**
|
|
259
|
-
* Get the key_excerpts for a specific wake cycle.
|
|
260
|
-
*/
|
|
261
|
-
export declare function getWakeCycleExcerpts(wakeCycleId: string): string | null;
|
|
262
|
-
/**
|
|
263
|
-
* Get the full original source content for a specific wake cycle.
|
|
264
|
-
* Reads from the source file (Claude transcript or VisionClaw log),
|
|
265
|
-
* decompressing .gz if needed. No line limit is applied here so the
|
|
266
|
-
* agent can access the complete original data when needed.
|
|
267
|
-
*/
|
|
268
|
-
export declare function getWakeCycleFullTranscript(wakeCycleId: string): Promise<string | null>;
|
|
269
|
-
/**
|
|
270
|
-
* Close the database connection. Call during graceful shutdown.
|
|
271
|
-
*/
|
|
272
|
-
export declare function closeTranscriptMemoryDb(): void;
|
|
273
|
-
//# sourceMappingURL=transcript-indexer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-indexer.d.ts","sourceRoot":"","sources":["../../../src/agent/transcript/transcript-indexer.ts"],"names":[],"mappings":"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"}
|