visionclaw 0.1.209 → 0.1.210-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/backup.d.ts +10 -1
- package/dist/agent/backup.d.ts.map +1 -1
- package/dist/agent/backup.js +24 -1
- package/dist/agent/backup.js.map +1 -1
- package/dist/agent/browser-launcher.d.ts.map +1 -1
- package/dist/agent/browser-launcher.js +22 -20
- package/dist/agent/browser-launcher.js.map +1 -1
- package/dist/agent/context.d.ts +1 -1
- package/dist/agent/context.d.ts.map +1 -1
- package/dist/agent/context.js +28 -24
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/engines/claude/session-browser-policy.d.ts.map +1 -1
- package/dist/agent/engines/claude/session-browser-policy.js +2 -16
- package/dist/agent/engines/claude/session-browser-policy.js.map +1 -1
- package/dist/agent/engines/claude/session.d.ts.map +1 -1
- package/dist/agent/engines/claude/session.js +6 -9
- package/dist/agent/engines/claude/session.js.map +1 -1
- package/dist/agent/engines/pi/tools.d.ts +7 -0
- package/dist/agent/engines/pi/tools.d.ts.map +1 -1
- package/dist/agent/engines/pi/tools.js +5 -1
- package/dist/agent/engines/pi/tools.js.map +1 -1
- package/dist/agent/engines/pi-coding/session.d.ts.map +1 -1
- package/dist/agent/engines/pi-coding/session.js +2 -0
- package/dist/agent/engines/pi-coding/session.js.map +1 -1
- package/dist/agent/engines/pi-coding/tools.d.ts +1 -0
- package/dist/agent/engines/pi-coding/tools.d.ts.map +1 -1
- package/dist/agent/engines/pi-coding/tools.js.map +1 -1
- package/dist/agent/gather-context.d.ts.map +1 -1
- package/dist/agent/gather-context.js +3 -1
- package/dist/agent/gather-context.js.map +1 -1
- package/dist/agent/heartbeat-manager.d.ts +3 -1
- package/dist/agent/heartbeat-manager.d.ts.map +1 -1
- package/dist/agent/heartbeat-manager.js +21 -0
- package/dist/agent/heartbeat-manager.js.map +1 -1
- package/dist/agent/interrupt-handler.d.ts.map +1 -1
- package/dist/agent/interrupt-handler.js +7 -1
- package/dist/agent/interrupt-handler.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +76 -23
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/onboarding-gate.d.ts +1 -1
- package/dist/agent/onboarding-gate.d.ts.map +1 -1
- package/dist/agent/onboarding-gate.js +3 -2
- package/dist/agent/onboarding-gate.js.map +1 -1
- package/dist/agent/owner-channel-resolver.d.ts +1 -1
- package/dist/agent/owner-channel-resolver.d.ts.map +1 -1
- package/dist/agent/owner-channel-resolver.js +12 -0
- package/dist/agent/owner-channel-resolver.js.map +1 -1
- package/dist/agent/runtime-surface.d.ts +2 -0
- package/dist/agent/runtime-surface.d.ts.map +1 -1
- package/dist/agent/runtime-surface.js +3 -0
- package/dist/agent/runtime-surface.js.map +1 -1
- package/dist/agent/session-manager.d.ts +1 -1
- package/dist/agent/session-manager.d.ts.map +1 -1
- package/dist/agent/session-manager.js +13 -5
- package/dist/agent/session-manager.js.map +1 -1
- package/dist/agent/state.d.ts +2 -0
- package/dist/agent/state.d.ts.map +1 -1
- package/dist/agent/state.js.map +1 -1
- package/dist/agent/status.d.ts +1 -1
- package/dist/agent/status.d.ts.map +1 -1
- package/dist/agent/status.js +45 -14
- package/dist/agent/status.js.map +1 -1
- package/dist/agent/system-prompt.d.ts +1 -1
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +29 -13
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/usage/usage-gate.d.ts.map +1 -1
- package/dist/agent/usage/usage-gate.js +6 -10
- package/dist/agent/usage/usage-gate.js.map +1 -1
- package/dist/calendar/calendar-interrupt-poller.d.ts +1 -1
- package/dist/calendar/calendar-interrupt-poller.d.ts.map +1 -1
- package/dist/calendar/calendar-interrupt-poller.js +5 -0
- package/dist/calendar/calendar-interrupt-poller.js.map +1 -1
- package/dist/calendar/scheduler.d.ts +1 -1
- package/dist/calendar/scheduler.d.ts.map +1 -1
- package/dist/calendar/scheduler.js +3 -0
- package/dist/calendar/scheduler.js.map +1 -1
- package/dist/channels/gmail.d.ts +3 -2
- package/dist/channels/gmail.d.ts.map +1 -1
- package/dist/channels/gmail.js +1 -0
- package/dist/channels/gmail.js.map +1 -1
- package/dist/channels/manager.d.ts +1 -1
- package/dist/channels/manager.d.ts.map +1 -1
- package/dist/channels/manager.js +22 -11
- package/dist/channels/manager.js.map +1 -1
- package/dist/channels/queue.d.ts +4 -0
- package/dist/channels/queue.d.ts.map +1 -1
- package/dist/channels/queue.js +10 -0
- package/dist/channels/queue.js.map +1 -1
- package/dist/channels/tui.d.ts +24 -10
- package/dist/channels/tui.d.ts.map +1 -1
- package/dist/channels/tui.js +104 -15
- package/dist/channels/tui.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +19 -28
- package/dist/cli/index.js.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/types.d.ts +32 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +48 -1
- package/dist/config/types.js.map +1 -1
- package/dist/e2e/suites/google.d.ts.map +1 -1
- package/dist/e2e/suites/google.js +11 -3
- package/dist/e2e/suites/google.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/obs/rdp/backend.d.ts +12 -0
- package/dist/obs/rdp/backend.d.ts.map +1 -0
- package/dist/obs/rdp/backend.js +10 -0
- package/dist/obs/rdp/backend.js.map +1 -0
- package/dist/obs/rdp/linux-x11-backend.d.ts +25 -0
- package/dist/obs/rdp/linux-x11-backend.d.ts.map +1 -0
- package/dist/obs/rdp/linux-x11-backend.js +161 -0
- package/dist/obs/rdp/linux-x11-backend.js.map +1 -0
- package/dist/obs/rdp/macos-backend.d.ts +12 -0
- package/dist/obs/rdp/macos-backend.d.ts.map +1 -0
- package/dist/obs/rdp/macos-backend.js +39 -0
- package/dist/obs/rdp/macos-backend.js.map +1 -0
- package/dist/obs/rdp/stream-manager.d.ts +3 -0
- package/dist/obs/rdp/stream-manager.d.ts.map +1 -1
- package/dist/obs/rdp/stream-manager.js +23 -42
- package/dist/obs/rdp/stream-manager.js.map +1 -1
- package/dist/obs/server.d.ts +1 -1
- package/dist/obs/server.d.ts.map +1 -1
- package/dist/obs/server.js +8 -3
- package/dist/obs/server.js.map +1 -1
- package/dist/onboarding/bootstrap-client.d.ts +43 -18
- package/dist/onboarding/bootstrap-client.d.ts.map +1 -1
- package/dist/onboarding/bootstrap-client.js +11 -1
- package/dist/onboarding/bootstrap-client.js.map +1 -1
- package/dist/onboarding/generate-wallpaper.d.ts +29 -0
- package/dist/onboarding/generate-wallpaper.d.ts.map +1 -1
- package/dist/onboarding/generate-wallpaper.js +58 -38
- package/dist/onboarding/generate-wallpaper.js.map +1 -1
- package/dist/onboarding/host-resolver.d.ts +2 -0
- package/dist/onboarding/host-resolver.d.ts.map +1 -0
- package/dist/onboarding/host-resolver.js +18 -0
- package/dist/onboarding/host-resolver.js.map +1 -0
- package/dist/onboarding/index.d.ts.map +1 -1
- package/dist/onboarding/index.js +2 -17
- package/dist/onboarding/index.js.map +1 -1
- package/dist/onboarding/onboarding-service-client.d.ts +2 -0
- package/dist/onboarding/onboarding-service-client.d.ts.map +1 -1
- package/dist/onboarding/onboarding-service-client.js.map +1 -1
- package/dist/onboarding/prepare-linux.d.ts +9 -0
- package/dist/onboarding/prepare-linux.d.ts.map +1 -0
- package/dist/onboarding/prepare-linux.js +64 -0
- package/dist/onboarding/prepare-linux.js.map +1 -0
- package/dist/onboarding/send-invite.d.ts +1 -1
- package/dist/onboarding/send-invite.d.ts.map +1 -1
- package/dist/onboarding/send-invite.js +23 -7
- package/dist/onboarding/send-invite.js.map +1 -1
- package/dist/onboarding/setup-shared.d.ts +10 -2
- package/dist/onboarding/setup-shared.d.ts.map +1 -1
- package/dist/onboarding/setup-shared.js +37 -6
- package/dist/onboarding/setup-shared.js.map +1 -1
- package/dist/onboarding/setup-state.d.ts +1 -0
- package/dist/onboarding/setup-state.d.ts.map +1 -1
- package/dist/onboarding/setup-state.js +1 -0
- package/dist/onboarding/setup-state.js.map +1 -1
- package/dist/onboarding/setup-steps.d.ts.map +1 -1
- package/dist/onboarding/setup-steps.js +53 -18
- package/dist/onboarding/setup-steps.js.map +1 -1
- package/dist/onboarding/wallpaper-contract.d.ts +38 -0
- package/dist/onboarding/wallpaper-contract.d.ts.map +1 -0
- package/dist/onboarding/wallpaper-contract.js +2 -0
- package/dist/onboarding/wallpaper-contract.js.map +1 -0
- package/dist/onboarding/wallpaper-linux-x11.d.ts +8 -0
- package/dist/onboarding/wallpaper-linux-x11.d.ts.map +1 -0
- package/dist/onboarding/wallpaper-linux-x11.js +72 -0
- package/dist/onboarding/wallpaper-linux-x11.js.map +1 -0
- package/dist/onboarding/wallpaper-macos.d.ts +4 -0
- package/dist/onboarding/wallpaper-macos.d.ts.map +1 -0
- package/dist/onboarding/wallpaper-macos.js +32 -0
- package/dist/onboarding/wallpaper-macos.js.map +1 -0
- package/dist/onboarding/wallpaper-platform.d.ts +4 -0
- package/dist/onboarding/wallpaper-platform.d.ts.map +1 -0
- package/dist/onboarding/wallpaper-platform.js +41 -0
- package/dist/onboarding/wallpaper-platform.js.map +1 -0
- package/dist/reconfigure.d.ts.map +1 -1
- package/dist/reconfigure.js +16 -5
- package/dist/reconfigure.js.map +1 -1
- package/dist/reset.d.ts.map +1 -1
- package/dist/reset.js +7 -0
- package/dist/reset.js.map +1 -1
- package/dist/restore.d.ts +2 -0
- package/dist/restore.d.ts.map +1 -1
- package/dist/restore.js +25 -0
- package/dist/restore.js.map +1 -1
- package/dist/runtime/linux-baseline.d.ts +2 -0
- package/dist/runtime/linux-baseline.d.ts.map +1 -0
- package/dist/runtime/linux-baseline.js +21 -0
- package/dist/runtime/linux-baseline.js.map +1 -0
- package/dist/service/daemon.d.ts.map +1 -1
- package/dist/service/daemon.js +24 -0
- package/dist/service/daemon.js.map +1 -1
- package/dist/service/systemd.d.ts +11 -0
- package/dist/service/systemd.d.ts.map +1 -0
- package/dist/service/systemd.js +63 -0
- package/dist/service/systemd.js.map +1 -0
- package/dist/system/host-capabilities.d.ts +35 -0
- package/dist/system/host-capabilities.d.ts.map +1 -0
- package/dist/system/host-capabilities.js +107 -0
- package/dist/system/host-capabilities.js.map +1 -0
- package/dist/system/machine-identity.d.ts.map +1 -1
- package/dist/system/machine-identity.js +15 -0
- package/dist/system/machine-identity.js.map +1 -1
- package/dist/tools/computer-use.d.ts.map +1 -1
- package/dist/tools/computer-use.js +9 -2
- package/dist/tools/computer-use.js.map +1 -1
- package/dist/tools/desktop-executor-factory.d.ts.map +1 -1
- package/dist/tools/desktop-executor-factory.js +3 -0
- package/dist/tools/desktop-executor-factory.js.map +1 -1
- package/dist/tools/desktop-executor-linux.d.ts +19 -0
- package/dist/tools/desktop-executor-linux.d.ts.map +1 -0
- package/dist/tools/desktop-executor-linux.js +89 -0
- package/dist/tools/desktop-executor-linux.js.map +1 -0
- package/dist/tools/index.d.ts +10 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -3
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/screenshot.js +7 -2
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tui/client.d.ts +46 -7
- package/dist/tui/client.d.ts.map +1 -1
- package/dist/tui/client.js +60 -16
- package/dist/tui/client.js.map +1 -1
- package/dist/tui/protocol.d.ts +40 -0
- package/dist/tui/protocol.d.ts.map +1 -0
- package/dist/tui/protocol.js +20 -0
- package/dist/tui/protocol.js.map +1 -0
- package/dist/tui/request-store.d.ts +40 -0
- package/dist/tui/request-store.d.ts.map +1 -0
- package/dist/tui/request-store.js +236 -0
- package/dist/tui/request-store.js.map +1 -0
- package/dist/tui/server.d.ts +3 -0
- package/dist/tui/server.d.ts.map +1 -1
- package/dist/tui/server.js +225 -36
- package/dist/tui/server.js.map +1 -1
- package/dist/workspace/google/gmail-email.d.ts +8 -2
- package/dist/workspace/google/gmail-email.d.ts.map +1 -1
- package/dist/workspace/google/gmail-email.js +6 -0
- package/dist/workspace/google/gmail-email.js.map +1 -1
- package/dist/workspace/provider-factory.d.ts +1 -1
- package/dist/workspace/provider-factory.d.ts.map +1 -1
- package/dist/workspace/provider-factory.js +27 -12
- package/dist/workspace/provider-factory.js.map +1 -1
- package/dist-agent/bundle.cjs +7037 -5329
- package/package.json +2 -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/client-factory.d.ts +0 -63
- package/dist/agent/engines/client-factory.d.ts.map +0 -1
- package/dist/agent/engines/client-factory.js +0 -382
- package/dist/agent/engines/client-factory.js.map +0 -1
- package/dist/agent/engines/engine.d.ts +0 -8
- package/dist/agent/engines/engine.d.ts.map +0 -1
- package/dist/agent/engines/engine.js +0 -15
- package/dist/agent/engines/engine.js.map +0 -1
- package/dist/agent/engines/openai/file-session.d.ts +0 -19
- package/dist/agent/engines/openai/file-session.d.ts.map +0 -1
- package/dist/agent/engines/openai/file-session.js +0 -78
- package/dist/agent/engines/openai/file-session.js.map +0 -1
- package/dist/agent/engines/openai/file-tools.d.ts +0 -35
- package/dist/agent/engines/openai/file-tools.d.ts.map +0 -1
- package/dist/agent/engines/openai/file-tools.js +0 -194
- package/dist/agent/engines/openai/file-tools.js.map +0 -1
- package/dist/agent/engines/openai/session.d.ts +0 -55
- package/dist/agent/engines/openai/session.d.ts.map +0 -1
- package/dist/agent/engines/openai/session.js +0 -447
- package/dist/agent/engines/openai/session.js.map +0 -1
- package/dist/agent/engines/openai/tools.d.ts +0 -15
- package/dist/agent/engines/openai/tools.d.ts.map +0 -1
- package/dist/agent/engines/openai/tools.js +0 -221
- package/dist/agent/engines/openai/tools.js.map +0 -1
- package/dist/agent/engines/pi/session.d.ts +0 -49
- package/dist/agent/engines/pi/session.d.ts.map +0 -1
- package/dist/agent/engines/pi/session.js +0 -309
- package/dist/agent/engines/pi/session.js.map +0 -1
- package/dist/agent/memory-preload.d.ts +0 -55
- package/dist/agent/memory-preload.d.ts.map +0 -1
- package/dist/agent/memory-preload.js +0 -166
- package/dist/agent/memory-preload.js.map +0 -1
- package/dist/agent/providers/claude/cli-resolver.d.ts +0 -16
- package/dist/agent/providers/claude/cli-resolver.d.ts.map +0 -1
- package/dist/agent/providers/claude/cli-resolver.js +0 -83
- package/dist/agent/providers/claude/cli-resolver.js.map +0 -1
- package/dist/agent/providers/claude/session-browser-policy.d.ts +0 -9
- package/dist/agent/providers/claude/session-browser-policy.d.ts.map +0 -1
- package/dist/agent/providers/claude/session-browser-policy.js +0 -49
- package/dist/agent/providers/claude/session-browser-policy.js.map +0 -1
- package/dist/agent/providers/claude/session.d.ts +0 -304
- package/dist/agent/providers/claude/session.d.ts.map +0 -1
- package/dist/agent/providers/claude/session.js +0 -1236
- package/dist/agent/providers/claude/session.js.map +0 -1
- package/dist/agent/providers/client-factory.d.ts +0 -60
- package/dist/agent/providers/client-factory.d.ts.map +0 -1
- package/dist/agent/providers/client-factory.js +0 -400
- package/dist/agent/providers/client-factory.js.map +0 -1
- package/dist/agent/providers/openai/file-session.d.ts +0 -19
- package/dist/agent/providers/openai/file-session.d.ts.map +0 -1
- package/dist/agent/providers/openai/file-session.js +0 -78
- package/dist/agent/providers/openai/file-session.js.map +0 -1
- package/dist/agent/providers/openai/session.d.ts +0 -55
- package/dist/agent/providers/openai/session.d.ts.map +0 -1
- package/dist/agent/providers/openai/session.js +0 -447
- package/dist/agent/providers/openai/session.js.map +0 -1
- package/dist/agent/providers/openai/tools.d.ts +0 -15
- package/dist/agent/providers/openai/tools.d.ts.map +0 -1
- package/dist/agent/providers/openai/tools.js +0 -229
- package/dist/agent/providers/openai/tools.js.map +0 -1
- package/dist/agent/providers/session-types.d.ts +0 -153
- package/dist/agent/providers/session-types.d.ts.map +0 -1
- package/dist/agent/providers/session-types.js +0 -2
- package/dist/agent/providers/session-types.js.map +0 -1
- package/dist/agent/providers/system-prompt-log.d.ts +0 -9
- package/dist/agent/providers/system-prompt-log.d.ts.map +0 -1
- package/dist/agent/providers/system-prompt-log.js +0 -46
- package/dist/agent/providers/system-prompt-log.js.map +0 -1
- package/dist/agent/qq-claim-signal.d.ts +0 -9
- package/dist/agent/qq-claim-signal.d.ts.map +0 -1
- package/dist/agent/qq-claim-signal.js +0 -38
- package/dist/agent/qq-claim-signal.js.map +0 -1
- package/dist/agent/transcript-backfill.d.ts +0 -54
- package/dist/agent/transcript-backfill.d.ts.map +0 -1
- package/dist/agent/transcript-backfill.js +0 -604
- package/dist/agent/transcript-backfill.js.map +0 -1
- package/dist/agent/transcript-indexer.d.ts +0 -200
- package/dist/agent/transcript-indexer.d.ts.map +0 -1
- package/dist/agent/transcript-indexer.js +0 -775
- package/dist/agent/transcript-indexer.js.map +0 -1
- package/dist/agent/transcript-memory-migrations.d.ts +0 -25
- package/dist/agent/transcript-memory-migrations.d.ts.map +0 -1
- package/dist/agent/transcript-memory-migrations.js +0 -87
- package/dist/agent/transcript-memory-migrations.js.map +0 -1
- package/dist/agent/tunnel-credential-handler.d.ts +0 -90
- package/dist/agent/tunnel-credential-handler.d.ts.map +0 -1
- package/dist/agent/tunnel-credential-handler.js +0 -162
- package/dist/agent/tunnel-credential-handler.js.map +0 -1
- package/dist/agent/usage-backfill-handler.d.ts +0 -18
- package/dist/agent/usage-backfill-handler.d.ts.map +0 -1
- package/dist/agent/usage-backfill-handler.js +0 -69
- package/dist/agent/usage-backfill-handler.js.map +0 -1
- package/dist/agent/usage-gate.d.ts +0 -25
- package/dist/agent/usage-gate.d.ts.map +0 -1
- package/dist/agent/usage-gate.js +0 -83
- package/dist/agent/usage-gate.js.map +0 -1
- package/dist/agent/usage-handler.d.ts +0 -7
- package/dist/agent/usage-handler.d.ts.map +0 -1
- package/dist/agent/usage-handler.js +0 -28
- package/dist/agent/usage-handler.js.map +0 -1
- package/dist/agent/usage-report-builder.d.ts +0 -26
- package/dist/agent/usage-report-builder.d.ts.map +0 -1
- package/dist/agent/usage-report-builder.js +0 -80
- package/dist/agent/usage-report-builder.js.map +0 -1
- package/dist/agent/usage-report-queue.d.ts +0 -26
- package/dist/agent/usage-report-queue.d.ts.map +0 -1
- package/dist/agent/usage-report-queue.js +0 -199
- package/dist/agent/usage-report-queue.js.map +0 -1
- package/dist/agent/usage-report-types.d.ts +0 -41
- package/dist/agent/usage-report-types.d.ts.map +0 -1
- package/dist/agent/usage-report-types.js +0 -2
- package/dist/agent/usage-report-types.js.map +0 -1
- package/dist/agent/usage-reporter.d.ts +0 -31
- package/dist/agent/usage-reporter.d.ts.map +0 -1
- package/dist/agent/usage-reporter.js +0 -102
- package/dist/agent/usage-reporter.js.map +0 -1
- package/dist/agent/wake-cycle-tool-tracker.d.ts +0 -39
- package/dist/agent/wake-cycle-tool-tracker.d.ts.map +0 -1
- package/dist/agent/wake-cycle-tool-tracker.js +0 -72
- package/dist/agent/wake-cycle-tool-tracker.js.map +0 -1
- package/dist/anthropic-credentials.d.ts +0 -24
- package/dist/anthropic-credentials.d.ts.map +0 -1
- package/dist/anthropic-credentials.js +0 -37
- package/dist/anthropic-credentials.js.map +0 -1
- package/dist/billing/payg-handler.d.ts +0 -29
- package/dist/billing/payg-handler.d.ts.map +0 -1
- package/dist/billing/payg-handler.js +0 -92
- package/dist/billing/payg-handler.js.map +0 -1
- package/dist/billing/payment-handler.d.ts +0 -24
- package/dist/billing/payment-handler.d.ts.map +0 -1
- package/dist/billing/payment-handler.js +0 -101
- package/dist/billing/payment-handler.js.map +0 -1
- package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +0 -412
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +0 -132
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +0 -166
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +0 -87
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +0 -174
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +0 -274
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +0 -111
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +0 -87
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +0 -176
- package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +0 -67
- package/dist/builtin-skills/transcribe-audio/SKILL.md +0 -122
- package/dist/calendar/google-calendar.d.ts +0 -54
- package/dist/calendar/google-calendar.d.ts.map +0 -1
- package/dist/calendar/google-calendar.js +0 -156
- package/dist/calendar/google-calendar.js.map +0 -1
- package/dist/channels/web.d.ts +0 -40
- package/dist/channels/web.d.ts.map +0 -1
- package/dist/channels/web.js +0 -137
- package/dist/channels/web.js.map +0 -1
- package/dist/config/models.d.ts +0 -32
- package/dist/config/models.d.ts.map +0 -1
- package/dist/config/models.js +0 -57
- package/dist/config/models.js.map +0 -1
- package/dist/data-processing/convert-demo-cli.d.ts +0 -7
- package/dist/data-processing/convert-demo-cli.d.ts.map +0 -1
- package/dist/data-processing/convert-demo-cli.js +0 -30
- package/dist/data-processing/convert-demo-cli.js.map +0 -1
- package/dist/data-processing/convert-demo.d.ts +0 -26
- package/dist/data-processing/convert-demo.d.ts.map +0 -1
- package/dist/data-processing/convert-demo.js +0 -233
- package/dist/data-processing/convert-demo.js.map +0 -1
- package/dist/drive/google-drive.d.ts +0 -83
- package/dist/drive/google-drive.d.ts.map +0 -1
- package/dist/drive/google-drive.js +0 -219
- package/dist/drive/google-drive.js.map +0 -1
- package/dist/email/gmail-email.d.ts +0 -64
- package/dist/email/gmail-email.d.ts.map +0 -1
- package/dist/email/gmail-email.js +0 -167
- package/dist/email/gmail-email.js.map +0 -1
- package/dist/factcheck/agent.d.ts +0 -50
- package/dist/factcheck/agent.d.ts.map +0 -1
- package/dist/factcheck/agent.js +0 -508
- package/dist/factcheck/agent.js.map +0 -1
- package/dist/factcheck/financial-verifier.d.ts +0 -49
- package/dist/factcheck/financial-verifier.d.ts.map +0 -1
- package/dist/factcheck/financial-verifier.js +0 -109
- package/dist/factcheck/financial-verifier.js.map +0 -1
- package/dist/factcheck/setup.d.ts +0 -32
- package/dist/factcheck/setup.d.ts.map +0 -1
- package/dist/factcheck/setup.js +0 -70
- package/dist/factcheck/setup.js.map +0 -1
- package/dist/factcheck/sidecar.d.ts +0 -131
- package/dist/factcheck/sidecar.d.ts.map +0 -1
- package/dist/factcheck/sidecar.js +0 -348
- package/dist/factcheck/sidecar.js.map +0 -1
- package/dist/factcheck/store.d.ts +0 -111
- package/dist/factcheck/store.d.ts.map +0 -1
- package/dist/factcheck/store.js +0 -246
- package/dist/factcheck/store.js.map +0 -1
- package/dist/factcheck/web-searcher.d.ts +0 -22
- package/dist/factcheck/web-searcher.d.ts.map +0 -1
- package/dist/factcheck/web-searcher.js +0 -90
- package/dist/factcheck/web-searcher.js.map +0 -1
- package/dist/obs/auth.d.ts +0 -45
- package/dist/obs/auth.d.ts.map +0 -1
- package/dist/obs/auth.js +0 -181
- package/dist/obs/auth.js.map +0 -1
- package/dist/obs/mini-app/tasks.d.ts +0 -2
- package/dist/obs/mini-app/tasks.d.ts.map +0 -1
- package/dist/obs/mini-app/tasks.js +0 -506
- package/dist/obs/mini-app/tasks.js.map +0 -1
- package/dist/obs/rdp/icons/icons/app_windows.svg +0 -4
- package/dist/obs/rdp/icons/icons/clip_get.svg +0 -4
- package/dist/obs/rdp/icons/icons/clip_send.svg +0 -4
- package/dist/obs/rdp/icons/icons/clip_shared.svg +0 -4
- package/dist/obs/rdp/icons/icons/clipboard.svg +0 -4
- package/dist/obs/rdp/icons/icons/clipboard_shared.svg +0 -4
- package/dist/obs/rdp/icons/icons/control.svg +0 -4
- package/dist/obs/rdp/icons/icons/desktop.svg +0 -4
- package/dist/obs/rdp/icons/icons/display.svg +0 -4
- package/dist/obs/rdp/icons/icons/launchpad.svg +0 -4
- package/dist/obs/rdp/icons/icons/mission_control.svg +0 -4
- package/dist/obs/rdp/icons/icons/screenshot.svg +0 -4
- package/dist/obs/rdp/icons/icons/zoom_actual.svg +0 -4
- package/dist/obs/rdp/icons/icons/zoom_fit.svg +0 -4
- package/dist/obs/rdp/icons/icons/zoom_in.svg +0 -4
- package/dist/obs/rdp/icons/icons/zoom_out.svg +0 -4
- package/dist/obs/tunnel-telemetry.d.ts +0 -46
- package/dist/obs/tunnel-telemetry.d.ts.map +0 -1
- package/dist/obs/tunnel-telemetry.js +0 -70
- package/dist/obs/tunnel-telemetry.js.map +0 -1
- package/dist/onboarding/cloudflared-cert.d.ts +0 -15
- package/dist/onboarding/cloudflared-cert.d.ts.map +0 -1
- package/dist/onboarding/cloudflared-cert.js +0 -57
- package/dist/onboarding/cloudflared-cert.js.map +0 -1
- package/dist/onboarding/gh-auth-browser.d.ts +0 -10
- package/dist/onboarding/gh-auth-browser.d.ts.map +0 -1
- package/dist/onboarding/gh-auth-browser.js +0 -70
- package/dist/onboarding/gh-auth-browser.js.map +0 -1
- package/dist/onboarding/provision-eth-wallet.d.ts +0 -7
- package/dist/onboarding/provision-eth-wallet.d.ts.map +0 -1
- package/dist/onboarding/provision-eth-wallet.js +0 -14
- package/dist/onboarding/provision-eth-wallet.js.map +0 -1
- package/dist/onboarding/provision-workspace-account.d.ts +0 -14
- package/dist/onboarding/provision-workspace-account.d.ts.map +0 -1
- package/dist/onboarding/provision-workspace-account.js +0 -165
- package/dist/onboarding/provision-workspace-account.js.map +0 -1
- package/dist/onboarding/provisioning-spec.d.ts +0 -62
- package/dist/onboarding/provisioning-spec.d.ts.map +0 -1
- package/dist/onboarding/provisioning-spec.js +0 -159
- package/dist/onboarding/provisioning-spec.js.map +0 -1
- package/dist/onboarding/send-identity-credentials.d.ts +0 -11
- package/dist/onboarding/send-identity-credentials.d.ts.map +0 -1
- package/dist/onboarding/send-identity-credentials.js +0 -110
- package/dist/onboarding/send-identity-credentials.js.map +0 -1
- package/dist/onboarding/setup-credentials.d.ts +0 -7
- package/dist/onboarding/setup-credentials.d.ts.map +0 -1
- package/dist/onboarding/setup-credentials.js +0 -44
- package/dist/onboarding/setup-credentials.js.map +0 -1
- package/dist/openai-credentials.d.ts +0 -30
- package/dist/openai-credentials.d.ts.map +0 -1
- package/dist/openai-credentials.js +0 -37
- package/dist/openai-credentials.js.map +0 -1
- package/dist/phonecall-credentials.d.ts +0 -21
- package/dist/phonecall-credentials.d.ts.map +0 -1
- package/dist/phonecall-credentials.js +0 -34
- package/dist/phonecall-credentials.js.map +0 -1
- package/dist/realtime/agent-bridge.d.ts +0 -7
- package/dist/realtime/agent-bridge.d.ts.map +0 -1
- package/dist/realtime/agent-bridge.js +0 -31
- package/dist/realtime/agent-bridge.js.map +0 -1
- package/dist/realtime/assets/index.html +0 -1058
- package/dist/realtime/assets/samples/alloy.mp3 +0 -0
- package/dist/realtime/assets/samples/ash.mp3 +0 -0
- package/dist/realtime/assets/samples/ballad.mp3 +0 -0
- package/dist/realtime/assets/samples/cedar.mp3 +0 -0
- package/dist/realtime/assets/samples/coral.mp3 +0 -0
- package/dist/realtime/assets/samples/echo.mp3 +0 -0
- package/dist/realtime/assets/samples/marin.mp3 +0 -0
- package/dist/realtime/assets/samples/sage.mp3 +0 -0
- package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
- package/dist/realtime/assets/samples/verse.mp3 +0 -0
- package/dist/realtime/context.d.ts +0 -14
- package/dist/realtime/context.d.ts.map +0 -1
- package/dist/realtime/context.js +0 -153
- package/dist/realtime/context.js.map +0 -1
- package/dist/realtime/http-helpers.d.ts +0 -5
- package/dist/realtime/http-helpers.d.ts.map +0 -1
- package/dist/realtime/http-helpers.js +0 -29
- package/dist/realtime/http-helpers.js.map +0 -1
- package/dist/realtime/index.d.ts +0 -62
- package/dist/realtime/index.d.ts.map +0 -1
- package/dist/realtime/index.js +0 -94
- package/dist/realtime/index.js.map +0 -1
- package/dist/realtime/server.d.ts +0 -6
- package/dist/realtime/server.d.ts.map +0 -1
- package/dist/realtime/server.js +0 -479
- package/dist/realtime/server.js.map +0 -1
- package/dist/realtime/telegram-auth.d.ts +0 -2
- package/dist/realtime/telegram-auth.d.ts.map +0 -1
- package/dist/realtime/telegram-auth.js +0 -24
- package/dist/realtime/telegram-auth.js.map +0 -1
- package/dist/realtime/tools.d.ts +0 -829
- package/dist/realtime/tools.d.ts.map +0 -1
- package/dist/realtime/tools.js +0 -611
- package/dist/realtime/tools.js.map +0 -1
- package/dist/realtime/types.d.ts +0 -62
- package/dist/realtime/types.d.ts.map +0 -1
- package/dist/realtime/types.js +0 -3
- package/dist/realtime/types.js.map +0 -1
- package/dist/realtime/voice-summarizer.d.ts +0 -4
- package/dist/realtime/voice-summarizer.d.ts.map +0 -1
- package/dist/realtime/voice-summarizer.js +0 -123
- package/dist/realtime/voice-summarizer.js.map +0 -1
- package/dist/realtime/websocket.d.ts +0 -7
- package/dist/realtime/websocket.d.ts.map +0 -1
- package/dist/realtime/websocket.js +0 -65
- package/dist/realtime/websocket.js.map +0 -1
- package/dist/service/gbox-tun.d.ts +0 -14
- package/dist/service/gbox-tun.d.ts.map +0 -1
- package/dist/service/gbox-tun.js +0 -315
- package/dist/service/gbox-tun.js.map +0 -1
- package/dist/skills/installed.d.ts +0 -11
- package/dist/skills/installed.d.ts.map +0 -1
- package/dist/skills/installed.js +0 -35
- package/dist/skills/installed.js.map +0 -1
- package/dist/tools/card.d.ts +0 -11
- package/dist/tools/card.d.ts.map +0 -1
- package/dist/tools/card.js +0 -87
- package/dist/tools/card.js.map +0 -1
- package/dist/tools/coordinate-resolver.d.ts +0 -30
- package/dist/tools/coordinate-resolver.d.ts.map +0 -1
- package/dist/tools/coordinate-resolver.js +0 -104
- package/dist/tools/coordinate-resolver.js.map +0 -1
- package/dist/tools/sms.d.ts +0 -16
- package/dist/tools/sms.d.ts.map +0 -1
- package/dist/tools/sms.js +0 -78
- package/dist/tools/sms.js.map +0 -1
- package/dist/tools/stock-data.d.ts +0 -70
- package/dist/tools/stock-data.d.ts.map +0 -1
- package/dist/tools/stock-data.js +0 -596
- package/dist/tools/stock-data.js.map +0 -1
- package/dist/tools/webapp.d.ts +0 -30
- package/dist/tools/webapp.d.ts.map +0 -1
- package/dist/tools/webapp.js +0 -114
- package/dist/tools/webapp.js.map +0 -1
- package/dist/utils/wechat-monitor.d.ts +0 -21
- package/dist/utils/wechat-monitor.d.ts.map +0 -1
- package/dist/utils/wechat-monitor.js +0 -88
- package/dist/utils/wechat-monitor.js.map +0 -1
- package/dist/webapp/index.d.ts +0 -28
- package/dist/webapp/index.d.ts.map +0 -1
- package/dist/webapp/index.js +0 -75
- package/dist/webapp/index.js.map +0 -1
- package/dist/webapp/server.d.ts +0 -32
- package/dist/webapp/server.d.ts.map +0 -1
- package/dist/webapp/server.js +0 -375
- package/dist/webapp/server.js.map +0 -1
- package/dist/webapp/storage.d.ts +0 -64
- package/dist/webapp/storage.d.ts.map +0 -1
- package/dist/webapp/storage.js +0 -103
- package/dist/webapp/storage.js.map +0 -1
- package/dist/webapp/ui.d.ts +0 -2
- package/dist/webapp/ui.d.ts.map +0 -1
- package/dist/webapp/ui.js +0 -319
- package/dist/webapp/ui.js.map +0 -1
- package/dist-agent/assets/index.html +0 -1058
- package/dist-agent/assets/samples/alloy.mp3 +0 -0
- package/dist-agent/assets/samples/ash.mp3 +0 -0
- package/dist-agent/assets/samples/ballad.mp3 +0 -0
- package/dist-agent/assets/samples/cedar.mp3 +0 -0
- package/dist-agent/assets/samples/coral.mp3 +0 -0
- package/dist-agent/assets/samples/echo.mp3 +0 -0
- package/dist-agent/assets/samples/marin.mp3 +0 -0
- package/dist-agent/assets/samples/sage.mp3 +0 -0
- package/dist-agent/assets/samples/shimmer.mp3 +0 -0
- package/dist-agent/assets/samples/verse.mp3 +0 -0
- package/dist-agent/realtime/assets/index.html +0 -1058
- package/dist-agent/realtime/assets/samples/alloy.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/ash.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/ballad.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/cedar.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/coral.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/echo.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/marin.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/sage.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/shimmer.mp3 +0 -0
- package/dist-agent/realtime/assets/samples/verse.mp3 +0 -0
package/dist/factcheck/agent.js
DELETED
|
@@ -1,508 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fact-Check Agent (issue #530).
|
|
3
|
-
*
|
|
4
|
-
* Audits a context snapshot of the main agent's recent assertions and returns
|
|
5
|
-
* a set of findings (verified claims are silent; unverifiable → warning;
|
|
6
|
-
* contradicted → error). Designed to run on a small/fast model via the shared
|
|
7
|
-
* `runSideCall` helper so it works across every provider the agent supports.
|
|
8
|
-
*
|
|
9
|
-
* The audit is a bounded verification pipeline:
|
|
10
|
-
*
|
|
11
|
-
* Phase 1 — Extract: pull verifiable financial/market claims out of the
|
|
12
|
-
* snapshot, tagging them with the symbols/markets they reference so the
|
|
13
|
-
* sidecar can gather evidence.
|
|
14
|
-
* Phase 2 — Verify: each claim is independently verified with bounded
|
|
15
|
-
* concurrency. Financial evidence is cached by symbol/market so related
|
|
16
|
-
* claims reuse deterministic tool results; web search uses a global budget.
|
|
17
|
-
*/
|
|
18
|
-
import { z } from "zod";
|
|
19
|
-
import { runSideCall } from "../agent/model-provider.js";
|
|
20
|
-
import { logger } from "../logger.js";
|
|
21
|
-
import { openFinancialVerifier, } from "./financial-verifier.js";
|
|
22
|
-
import { openWebSearcher } from "./web-searcher.js";
|
|
23
|
-
import { summarizeFindings } from "./store.js";
|
|
24
|
-
const MARKET_VALUES = ["A", "HK", "US", "crypto"];
|
|
25
|
-
const OptionContractSchema = z.object({
|
|
26
|
-
expiration: z.string().nullable().describe("Option expiration date as YYYY-MM-DD when specified, otherwise null."),
|
|
27
|
-
type: z.enum(["call", "put", "any"]).nullable().describe("Option contract type if specified."),
|
|
28
|
-
strike: z.number().nullable().describe("Option strike price if specified, otherwise null."),
|
|
29
|
-
});
|
|
30
|
-
const HistoricalRangeSchema = z.object({
|
|
31
|
-
from: z.string().describe("Start date of the window the claim refers to, as YYYY-MM-DD. For a single past date/month, use the first day of that period (or ~1 year/period earlier for a return claim)."),
|
|
32
|
-
to: z.string().describe("End date of the window, as YYYY-MM-DD. For a single past date/month, use the last day of that period."),
|
|
33
|
-
});
|
|
34
|
-
const ExtractedClaimSchema = z.object({
|
|
35
|
-
claim: z.string().describe("The financial/market factual assertion, quoted as closely as possible to the original text."),
|
|
36
|
-
isFinancial: z.boolean().describe("Must be true. Fact-check only handles financial/market claims."),
|
|
37
|
-
symbols: z.array(z.string()).describe("Ticker symbols or instrument codes referenced by the claim (e.g. AAPL, NVDA, 0700.HK, 600519). Empty if none."),
|
|
38
|
-
market: z.enum(MARKET_VALUES).nullable().describe("Market hint for the symbols when known: A (China A-share), HK, US, or crypto. Null if unknown."),
|
|
39
|
-
historicalRange: HistoricalRangeSchema.nullable().describe("When the claim references a PAST price, close, or period return (e.g. \"June 2025 close\", \"1-year return\", \"up 80% since last year\"), the concrete date window to pull historical bars for. Null for current/real-time claims."),
|
|
40
|
-
optionContract: OptionContractSchema.nullable().describe("For option-chain claims, the referenced contract dimensions (expiration/type/strike). Use null for non-option claims or when the claim only mentions the underlying."),
|
|
41
|
-
});
|
|
42
|
-
const ExtractionSchema = z.object({
|
|
43
|
-
claims: z.array(ExtractedClaimSchema),
|
|
44
|
-
});
|
|
45
|
-
const SingleVerdictSchema = z.object({
|
|
46
|
-
claim: z.string(),
|
|
47
|
-
outcome: z.enum(["verified", "unverifiable", "contradicted"]),
|
|
48
|
-
detail: z.string().describe("For contradicted: the correct figures from the evidence. For unverifiable: why it could not be confirmed. For verified: empty."),
|
|
49
|
-
});
|
|
50
|
-
/**
|
|
51
|
-
* Run a full fact-check audit. Returns the findings to inject (empty means
|
|
52
|
-
* everything checked out or nothing was checkable) plus every claim's result
|
|
53
|
-
* for the audit log. Never throws — failures are logged and downgrade to an
|
|
54
|
-
* empty result.
|
|
55
|
-
*/
|
|
56
|
-
export async function runFactCheckAudit(options) {
|
|
57
|
-
const { config, snapshot, signal } = options;
|
|
58
|
-
const timeoutMs = options.timeoutMs ?? 60_000;
|
|
59
|
-
if (snapshot.trim().length === 0)
|
|
60
|
-
return { findings: [], claimResults: [] };
|
|
61
|
-
if (signal?.aborted)
|
|
62
|
-
return { findings: [], claimResults: [] };
|
|
63
|
-
// --- Phase 1: extract claims ---
|
|
64
|
-
let claims;
|
|
65
|
-
try {
|
|
66
|
-
const extraction = await runSideCall(config, {
|
|
67
|
-
systemPrompt: EXTRACT_SYSTEM_PROMPT,
|
|
68
|
-
userMessage: `Today's date is ${new Date().toISOString().slice(0, 10)}. Use it to resolve any relative periods (e.g. "1-year return", "since last June") into concrete date ranges.\n\nThe agent's own recent statements (reasoning, messages it sent, and what it told the user) are below. Extract verifiable factual claims the agent itself asserted:\n\n${snapshot}`,
|
|
69
|
-
schema: ExtractionSchema,
|
|
70
|
-
schemaName: "fact_check_extraction",
|
|
71
|
-
useCase: "fact_check",
|
|
72
|
-
maxTokens: 2048,
|
|
73
|
-
timeoutMs,
|
|
74
|
-
signal,
|
|
75
|
-
});
|
|
76
|
-
claims = prioritizeClaims(dedupeClaims(extraction.claims.filter((claim) => claim.isFinancial))).slice(0, MAX_CLAIMS_PER_AUDIT);
|
|
77
|
-
}
|
|
78
|
-
catch (err) {
|
|
79
|
-
logger.warn(`[factcheck] claim extraction failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
80
|
-
return { findings: [], claimResults: [] };
|
|
81
|
-
}
|
|
82
|
-
if (claims.length === 0) {
|
|
83
|
-
logger.debug("[factcheck] no checkable claims extracted");
|
|
84
|
-
return { findings: [], claimResults: [] };
|
|
85
|
-
}
|
|
86
|
-
if (signal?.aborted)
|
|
87
|
-
return { findings: [], claimResults: [] };
|
|
88
|
-
logger.debug(`[factcheck] extracted ${claims.length} claim(s)`);
|
|
89
|
-
const verifier = options.financialVerification ? await openVerifierForClaims(config, claims) : null;
|
|
90
|
-
const searcher = openWebSearcher(config);
|
|
91
|
-
const context = {
|
|
92
|
-
config,
|
|
93
|
-
verifier,
|
|
94
|
-
searcher,
|
|
95
|
-
timeoutMs,
|
|
96
|
-
...(signal ? { signal } : {}),
|
|
97
|
-
financialBaseCache: new Map(),
|
|
98
|
-
financialFundamentalsCache: new Map(),
|
|
99
|
-
financialOptionChainCache: new Map(),
|
|
100
|
-
financialBarsCache: new Map(),
|
|
101
|
-
webEvidenceCache: new Map(),
|
|
102
|
-
webBudget: { remaining: MAX_WEB_QUERIES },
|
|
103
|
-
optionChainBudget: { remaining: MAX_OPTION_CHAIN_FETCHES },
|
|
104
|
-
barsBudget: { remaining: MAX_BARS_FETCHES },
|
|
105
|
-
};
|
|
106
|
-
try {
|
|
107
|
-
const verdicts = await mapWithConcurrency(claims, MAX_CONCURRENT_CLAIMS, async (claim) => verifySingleClaim(claim, context));
|
|
108
|
-
const findings = [];
|
|
109
|
-
const claimResults = [];
|
|
110
|
-
verdicts.forEach((verdict, i) => {
|
|
111
|
-
const claim = claims[i];
|
|
112
|
-
// Verdicts align 1:1 with claims by index. We use the *original*
|
|
113
|
-
// extracted claim text (not the model's echo) everywhere so records
|
|
114
|
-
// match what the agent asserted.
|
|
115
|
-
//
|
|
116
|
-
// A null verdict means verification was aborted/failed for this claim
|
|
117
|
-
// (e.g. timeout). Record it as unverifiable in the audit log, but do NOT
|
|
118
|
-
// surface it as a finding — a timed-out audit shouldn't spam the agent
|
|
119
|
-
// with spurious warnings (preserves the prior injection behaviour).
|
|
120
|
-
const outcome = verdict?.outcome ?? "unverifiable";
|
|
121
|
-
const detail = outcome === "verified" ? "" : (verdict?.detail ?? "verification did not complete");
|
|
122
|
-
claimResults.push({
|
|
123
|
-
claim: claim.claim,
|
|
124
|
-
outcome,
|
|
125
|
-
detail,
|
|
126
|
-
isFinancial: claim.isFinancial,
|
|
127
|
-
symbols: claim.symbols,
|
|
128
|
-
});
|
|
129
|
-
if (!verdict || outcome === "verified")
|
|
130
|
-
return;
|
|
131
|
-
findings.push({
|
|
132
|
-
severity: outcome === "contradicted" ? "error" : "warning",
|
|
133
|
-
claim: claim.claim,
|
|
134
|
-
detail: verdict.detail,
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
logger.system(`[factcheck] audit complete: ${findings.length} finding(s) [${summarizeFindings(findings)}] of ${claims.length} claim(s)`);
|
|
138
|
-
return { findings, claimResults };
|
|
139
|
-
}
|
|
140
|
-
finally {
|
|
141
|
-
if (verifier) {
|
|
142
|
-
await verifier.close();
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
async function openVerifierForClaims(config, claims) {
|
|
147
|
-
if (!claims.some((c) => c.isFinancial && c.symbols.length > 0))
|
|
148
|
-
return null;
|
|
149
|
-
return await openFinancialVerifier(config);
|
|
150
|
-
}
|
|
151
|
-
async function verifySingleClaim(claim, context) {
|
|
152
|
-
if (context.signal?.aborted)
|
|
153
|
-
return null;
|
|
154
|
-
const evidence = await gatherEvidenceForClaim(claim, context);
|
|
155
|
-
if (context.signal?.aborted)
|
|
156
|
-
return null;
|
|
157
|
-
const evidenceBlock = evidence.length > 0
|
|
158
|
-
? evidence.join("\n\n")
|
|
159
|
-
: "(no live evidence was gathered for this claim)";
|
|
160
|
-
try {
|
|
161
|
-
return await runSideCall(context.config, {
|
|
162
|
-
systemPrompt: VERIFY_SINGLE_SYSTEM_PROMPT,
|
|
163
|
-
userMessage: buildSingleVerifyUserMessage(claim, evidenceBlock),
|
|
164
|
-
schema: SingleVerdictSchema,
|
|
165
|
-
schemaName: "fact_check_single_verdict",
|
|
166
|
-
useCase: "fact_check",
|
|
167
|
-
maxTokens: 768,
|
|
168
|
-
timeoutMs: Math.min(context.timeoutMs, 30_000),
|
|
169
|
-
signal: context.signal,
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
catch (err) {
|
|
173
|
-
logger.warn(`[factcheck] verdict pass failed for claim: ${err instanceof Error ? err.message : String(err)}`);
|
|
174
|
-
return null;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
async function gatherEvidenceForClaim(claim, context) {
|
|
178
|
-
const evidence = [];
|
|
179
|
-
if (claim.isFinancial && claim.symbols.length > 0 && context.verifier) {
|
|
180
|
-
const market = (claim.market ?? undefined);
|
|
181
|
-
const includeFundamentals = FUNDAMENTAL_CLAIM_RE.test(claim.claim);
|
|
182
|
-
const includeOptionChain = OPTION_CLAIM_RE.test(claim.claim) || claim.optionContract !== null;
|
|
183
|
-
for (const symbol of claim.symbols) {
|
|
184
|
-
if (context.signal?.aborted)
|
|
185
|
-
return evidence;
|
|
186
|
-
// Base evidence (instrument identity + snapshot) is needed for every
|
|
187
|
-
// financial claim and is cached per symbol so related claims never
|
|
188
|
-
// re-fetch it. Fundamentals are an independent, lazily-fetched layer.
|
|
189
|
-
const baseEvidence = await getCachedFinancialEvidence(context.financialBaseCache, `${symbol}::${market ?? ""}`, () => fetchBaseFinancialEvidence(symbol, market, context));
|
|
190
|
-
evidence.push(...baseEvidence);
|
|
191
|
-
if (includeFundamentals) {
|
|
192
|
-
const fundEvidence = await getCachedFinancialEvidence(context.financialFundamentalsCache, `${symbol}::${market ?? ""}`, () => fetchFundamentalsEvidence(symbol, market, context));
|
|
193
|
-
evidence.push(...fundEvidence);
|
|
194
|
-
}
|
|
195
|
-
// Option-chain rows: only for option contract / Greeks / IV / open
|
|
196
|
-
// interest claims. Snapshots are for underlyings and cannot verify
|
|
197
|
-
// option-specific assertions.
|
|
198
|
-
if (includeOptionChain && context.optionChainBudget.remaining > 0) {
|
|
199
|
-
const params = buildOptionChainParams(claim);
|
|
200
|
-
const optionEvidence = await getCachedFinancialEvidence(context.financialOptionChainCache, `${symbol}::${JSON.stringify(params)}`, async () => {
|
|
201
|
-
if (context.optionChainBudget.remaining <= 0)
|
|
202
|
-
return [];
|
|
203
|
-
context.optionChainBudget.remaining -= 1;
|
|
204
|
-
return await fetchOptionChainEvidence(symbol, params, context);
|
|
205
|
-
});
|
|
206
|
-
evidence.push(...optionEvidence);
|
|
207
|
-
}
|
|
208
|
-
// Historical bars: only when the claim refers to a past price/period
|
|
209
|
-
// (snapshots are current-only). Bounded by a small global budget since
|
|
210
|
-
// each call spans a date window.
|
|
211
|
-
if (claim.historicalRange && context.barsBudget.remaining > 0) {
|
|
212
|
-
const { from, to } = claim.historicalRange;
|
|
213
|
-
const barEvidence = await getCachedFinancialEvidence(context.financialBarsCache, `${symbol}::${market ?? ""}::${from}::${to}`, async () => {
|
|
214
|
-
if (context.barsBudget.remaining <= 0)
|
|
215
|
-
return [];
|
|
216
|
-
context.barsBudget.remaining -= 1;
|
|
217
|
-
return await fetchHistoricalBarsEvidence(symbol, from, to, market, context);
|
|
218
|
-
});
|
|
219
|
-
evidence.push(...barEvidence);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
const webEvidence = await getWebEvidenceForClaim(claim, context);
|
|
224
|
-
if (webEvidence) {
|
|
225
|
-
evidence.push(webEvidence);
|
|
226
|
-
}
|
|
227
|
-
return evidence;
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Read-through cache keyed by symbol/market. The pending promise is stored so
|
|
231
|
-
* concurrent claims for the same symbol share one in-flight fetch instead of
|
|
232
|
-
* issuing duplicate tool calls.
|
|
233
|
-
*/
|
|
234
|
-
async function getCachedFinancialEvidence(cache, key, fetcher) {
|
|
235
|
-
const cached = cache.get(key);
|
|
236
|
-
if (cached)
|
|
237
|
-
return await cached;
|
|
238
|
-
const promise = fetcher();
|
|
239
|
-
cache.set(key, promise);
|
|
240
|
-
return await promise;
|
|
241
|
-
}
|
|
242
|
-
/** Instrument identity + snapshot — needed for every financial claim. */
|
|
243
|
-
async function fetchBaseFinancialEvidence(symbol, market, context) {
|
|
244
|
-
const verifier = context.verifier;
|
|
245
|
-
if (!verifier)
|
|
246
|
-
return [];
|
|
247
|
-
const evidence = [];
|
|
248
|
-
try {
|
|
249
|
-
const instrument = await verifier.searchInstruments(symbol, market, context.signal);
|
|
250
|
-
evidence.push(`Instrument lookup for ${symbol}${market ? ` (${market})` : ""}:\n${truncateJson(instrument)}`);
|
|
251
|
-
}
|
|
252
|
-
catch (err) {
|
|
253
|
-
logger.debug(`[factcheck] instrument lookup failed for ${symbol}: ${err instanceof Error ? err.message : String(err)}`);
|
|
254
|
-
}
|
|
255
|
-
try {
|
|
256
|
-
const snapshot = await verifier.getSnapshots([symbol], market, context.signal);
|
|
257
|
-
evidence.push(`Snapshot for ${symbol}${market ? ` (${market})` : ""}:\n${truncateJson(snapshot)}`);
|
|
258
|
-
}
|
|
259
|
-
catch (err) {
|
|
260
|
-
logger.debug(`[factcheck] snapshot fetch failed for ${symbol}: ${err instanceof Error ? err.message : String(err)}`);
|
|
261
|
-
}
|
|
262
|
-
return evidence;
|
|
263
|
-
}
|
|
264
|
-
/** Fundamentals — only fetched for valuation/ranking/ratio claims. */
|
|
265
|
-
async function fetchFundamentalsEvidence(symbol, market, context) {
|
|
266
|
-
const verifier = context.verifier;
|
|
267
|
-
if (!verifier)
|
|
268
|
-
return [];
|
|
269
|
-
try {
|
|
270
|
-
const fundamentals = await verifier.getFundamentals(symbol, market, context.signal);
|
|
271
|
-
return [`Fundamentals for ${symbol}${market ? ` (${market})` : ""}:\n${truncateJson(fundamentals)}`];
|
|
272
|
-
}
|
|
273
|
-
catch (err) {
|
|
274
|
-
logger.debug(`[factcheck] fundamentals fetch failed for ${symbol}: ${err instanceof Error ? err.message : String(err)}`);
|
|
275
|
-
return [];
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
/** Option chain rows — only fetched for option-specific claims. */
|
|
279
|
-
async function fetchOptionChainEvidence(underlying, params, context) {
|
|
280
|
-
const verifier = context.verifier;
|
|
281
|
-
if (!verifier)
|
|
282
|
-
return [];
|
|
283
|
-
try {
|
|
284
|
-
const chain = await verifier.getOptionChain(underlying, params, context.signal);
|
|
285
|
-
return [
|
|
286
|
-
`Option chain for ${underlying} (${describeOptionParams(params)}):\n${truncateJson(chain)}`,
|
|
287
|
-
];
|
|
288
|
-
}
|
|
289
|
-
catch (err) {
|
|
290
|
-
logger.debug(`[factcheck] option-chain fetch failed for ${underlying}: ${err instanceof Error ? err.message : String(err)}`);
|
|
291
|
-
return [];
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
function buildOptionChainParams(claim) {
|
|
295
|
-
const contract = claim.optionContract;
|
|
296
|
-
const params = {
|
|
297
|
-
includeGreeks: true,
|
|
298
|
-
includeQuotes: true,
|
|
299
|
-
includeTrades: true,
|
|
300
|
-
limit: contract?.strike ? 10 : 20,
|
|
301
|
-
};
|
|
302
|
-
if (contract?.expiration)
|
|
303
|
-
params.expiration = contract.expiration;
|
|
304
|
-
if (contract?.type)
|
|
305
|
-
params.type = contract.type;
|
|
306
|
-
if (typeof contract?.strike === "number") {
|
|
307
|
-
// Query a narrow strike band so minor float representation differences or
|
|
308
|
-
// adjusted strikes still return nearby contracts for verifier comparison.
|
|
309
|
-
params.strikeGte = contract.strike - 0.01;
|
|
310
|
-
params.strikeLte = contract.strike + 0.01;
|
|
311
|
-
}
|
|
312
|
-
return params;
|
|
313
|
-
}
|
|
314
|
-
function describeOptionParams(params) {
|
|
315
|
-
const parts = [
|
|
316
|
-
params.expiration ? `expiration=${params.expiration}` : null,
|
|
317
|
-
params.type ? `type=${params.type}` : null,
|
|
318
|
-
typeof params.strikeGte === "number" && typeof params.strikeLte === "number"
|
|
319
|
-
? `strike≈${((params.strikeGte + params.strikeLte) / 2).toFixed(2)}`
|
|
320
|
-
: null,
|
|
321
|
-
].filter(Boolean);
|
|
322
|
-
return parts.length > 0 ? parts.join(", ") : "nearby active contracts";
|
|
323
|
-
}
|
|
324
|
-
/**
|
|
325
|
-
* Historical OHLCV bars for a date window — fetched only for claims that
|
|
326
|
-
* reference a past price/close or a period return, which current snapshots
|
|
327
|
-
* cannot answer. The bar granularity scales to the window so the payload stays
|
|
328
|
-
* compact (intraday windows would blow past the row cap on a daily timeframe).
|
|
329
|
-
*/
|
|
330
|
-
async function fetchHistoricalBarsEvidence(symbol, from, to, market, context) {
|
|
331
|
-
const verifier = context.verifier;
|
|
332
|
-
if (!verifier)
|
|
333
|
-
return [];
|
|
334
|
-
const unit = chooseBarUnit(from, to);
|
|
335
|
-
try {
|
|
336
|
-
const bars = await verifier.getBars(symbol, from, to, unit, market, context.signal);
|
|
337
|
-
return [
|
|
338
|
-
`Historical ${unit} bars for ${symbol}${market ? ` (${market})` : ""} (${from}…${to}):\n${truncateJson(bars)}`,
|
|
339
|
-
];
|
|
340
|
-
}
|
|
341
|
-
catch (err) {
|
|
342
|
-
logger.debug(`[factcheck] bars fetch failed for ${symbol} (${from}…${to}): ${err instanceof Error ? err.message : String(err)}`);
|
|
343
|
-
return [];
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Pick a bar granularity that keeps the row count bounded for the window:
|
|
348
|
-
* daily for ≤ ~6 months, weekly for ≤ ~2 years, monthly beyond. Falls back to
|
|
349
|
-
* daily when the dates are unparseable.
|
|
350
|
-
*/
|
|
351
|
-
function chooseBarUnit(from, to) {
|
|
352
|
-
const start = Date.parse(from);
|
|
353
|
-
const end = Date.parse(to);
|
|
354
|
-
if (Number.isNaN(start) || Number.isNaN(end) || end < start)
|
|
355
|
-
return "day";
|
|
356
|
-
const days = (end - start) / 86_400_000;
|
|
357
|
-
if (days <= 190)
|
|
358
|
-
return "day";
|
|
359
|
-
if (days <= 760)
|
|
360
|
-
return "week";
|
|
361
|
-
return "month";
|
|
362
|
-
}
|
|
363
|
-
async function getWebEvidenceForClaim(claim, context) {
|
|
364
|
-
if (!context.searcher || context.signal?.aborted)
|
|
365
|
-
return null;
|
|
366
|
-
const query = buildWebQuery(claim);
|
|
367
|
-
const cached = context.webEvidenceCache.get(query);
|
|
368
|
-
if (cached)
|
|
369
|
-
return await cached;
|
|
370
|
-
if (context.webBudget.remaining <= 0)
|
|
371
|
-
return null;
|
|
372
|
-
context.webBudget.remaining -= 1;
|
|
373
|
-
const promise = fetchWebEvidence(query, context);
|
|
374
|
-
context.webEvidenceCache.set(query, promise);
|
|
375
|
-
return await promise;
|
|
376
|
-
}
|
|
377
|
-
async function fetchWebEvidence(query, context) {
|
|
378
|
-
if (!context.searcher)
|
|
379
|
-
return null;
|
|
380
|
-
try {
|
|
381
|
-
const results = await context.searcher.search(query, context.signal);
|
|
382
|
-
return `Web search for "${truncate(query, 120)}":\n${truncateJson(results)}`;
|
|
383
|
-
}
|
|
384
|
-
catch (err) {
|
|
385
|
-
logger.debug(`[factcheck] web search failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
386
|
-
return null;
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
function buildWebQuery(claim) {
|
|
390
|
-
const symbolPrefix = claim.symbols.length > 0 ? `${claim.symbols.join(" ")} ` : "";
|
|
391
|
-
return `${symbolPrefix}${claim.claim}`.slice(0, 256);
|
|
392
|
-
}
|
|
393
|
-
/**
|
|
394
|
-
* Order claims so the highest-verifiability ones survive the
|
|
395
|
-
* MAX_CLAIMS_PER_AUDIT cap: claims with concrete symbols first, then other
|
|
396
|
-
* financial claims, then the rest. Stable within each tier to preserve the
|
|
397
|
-
* extractor's ordering. Higher score = checked first.
|
|
398
|
-
*/
|
|
399
|
-
function prioritizeClaims(claims) {
|
|
400
|
-
const score = (c) => {
|
|
401
|
-
if (c.symbols.length > 0)
|
|
402
|
-
return 2;
|
|
403
|
-
return 1;
|
|
404
|
-
};
|
|
405
|
-
return claims
|
|
406
|
-
.map((claim, index) => ({ claim, index }))
|
|
407
|
-
.sort((a, b) => score(b.claim) - score(a.claim) || a.index - b.index)
|
|
408
|
-
.map((entry) => entry.claim);
|
|
409
|
-
}
|
|
410
|
-
function dedupeClaims(claims) {
|
|
411
|
-
const seen = new Set();
|
|
412
|
-
const out = [];
|
|
413
|
-
for (const claim of claims) {
|
|
414
|
-
const key = claim.claim.trim().toLowerCase();
|
|
415
|
-
if (!key || seen.has(key))
|
|
416
|
-
continue;
|
|
417
|
-
seen.add(key);
|
|
418
|
-
out.push(claim);
|
|
419
|
-
}
|
|
420
|
-
return out;
|
|
421
|
-
}
|
|
422
|
-
async function mapWithConcurrency(items, concurrency, worker) {
|
|
423
|
-
const results = new Array(items.length);
|
|
424
|
-
let nextIndex = 0;
|
|
425
|
-
async function runWorker() {
|
|
426
|
-
while (nextIndex < items.length) {
|
|
427
|
-
const index = nextIndex;
|
|
428
|
-
nextIndex += 1;
|
|
429
|
-
const item = items[index];
|
|
430
|
-
if (item === undefined)
|
|
431
|
-
continue;
|
|
432
|
-
results[index] = await worker(item);
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
const workers = Array.from({ length: Math.min(concurrency, items.length) }, () => runWorker());
|
|
436
|
-
await Promise.all(workers);
|
|
437
|
-
return results;
|
|
438
|
-
}
|
|
439
|
-
const FUNDAMENTAL_CLAIM_RE = /market cap|p\/e|pe ratio|valuation|revenue|earnings|exceeds|larger|bigger|combined/i;
|
|
440
|
-
const OPTION_CLAIM_RE = /\boption(s)?\b|\bcall(s)?\b|\bput(s)?\b|strike|expiration|expiry|expires|open interest|implied volatility|\biv\b|delta|gamma|theta|vega|rho|greeks?/i;
|
|
441
|
-
const MAX_CLAIMS_PER_AUDIT = 12;
|
|
442
|
-
const MAX_CONCURRENT_CLAIMS = 3;
|
|
443
|
-
const MAX_WEB_QUERIES = 4;
|
|
444
|
-
/** Global cap on option-chain fetches per audit. */
|
|
445
|
-
const MAX_OPTION_CHAIN_FETCHES = 4;
|
|
446
|
-
/** Global cap on historical-bars fetches per audit (each spans a date window). */
|
|
447
|
-
const MAX_BARS_FETCHES = 6;
|
|
448
|
-
function truncate(text, max) {
|
|
449
|
-
return text.length > max ? text.slice(0, max) + "…" : text;
|
|
450
|
-
}
|
|
451
|
-
function truncateJson(value) {
|
|
452
|
-
const text = typeof value === "string" ? value : JSON.stringify(value);
|
|
453
|
-
return text.length > 2000 ? text.slice(0, 2000) + "…(truncated)" : text;
|
|
454
|
-
}
|
|
455
|
-
function buildSingleVerifyUserMessage(claim, evidenceBlock) {
|
|
456
|
-
return [
|
|
457
|
-
"Claim to verify:",
|
|
458
|
-
claim.claim,
|
|
459
|
-
"",
|
|
460
|
-
`Financial claim: ${claim.isFinancial ? "yes" : "no"}`,
|
|
461
|
-
claim.symbols.length > 0 ? `Symbols: ${claim.symbols.join(", ")}` : "Symbols: (none)",
|
|
462
|
-
`Market: ${claim.market ?? "unknown"}`,
|
|
463
|
-
claim.optionContract ? `Option contract: ${JSON.stringify(claim.optionContract)}` : "Option contract: (none)",
|
|
464
|
-
"",
|
|
465
|
-
"Evidence (live market data + web search; authoritative — prefer this over your training knowledge):",
|
|
466
|
-
evidenceBlock,
|
|
467
|
-
].join("\n");
|
|
468
|
-
}
|
|
469
|
-
const EXTRACT_SYSTEM_PROMPT = [
|
|
470
|
-
"You are a fact-extraction component of a fact-checking system.",
|
|
471
|
-
"Extract only concrete, verifiable financial/market factual claims that the agent itself asserted in its reasoning and messages.",
|
|
472
|
-
"These are the agent's own opinions/statements — not data it merely read from a tool. Each claim must be something the agent stated as fact.",
|
|
473
|
-
"",
|
|
474
|
-
"Ignore all non-financial factual claims, even if objectively verifiable. Focus only on financial/market assertions, including:",
|
|
475
|
-
"- Stock/ETF/crypto prices and percentage moves",
|
|
476
|
-
"- Market caps and rankings / comparisons (\"A exceeds B\", \"A+B+C combined\")",
|
|
477
|
-
"- Ticker ↔ company-name / ETF-name mappings (especially A-share and HK numeric codes)",
|
|
478
|
-
"- Financial ratios (P/E, revenue, earnings)",
|
|
479
|
-
"- Macroeconomic or market-rate claims when tied to investable markets (rates, yields, FX, commodities, indexes)",
|
|
480
|
-
"- Option-chain claims, including option contract prices, expirations, strikes, calls/puts, implied volatility, Greeks, volume, and open interest",
|
|
481
|
-
"",
|
|
482
|
-
"Ignore: non-financial claims, opinions, plans, instructions, questions, hedged statements, and anything not objectively verifiable.",
|
|
483
|
-
"Every returned claim must have `isFinancial: true`. Populate `symbols` with the relevant tickers and set `market` when you can infer it",
|
|
484
|
-
"(A = China A-share, HK = Hong Kong, US = United States, crypto = cryptocurrency).",
|
|
485
|
-
"When a claim references a PAST price, close, or a period return (e.g. \"June 2025 close\", \"1-year return\",",
|
|
486
|
-
"\"up 80% since last year\"), set `historicalRange` to the concrete date window so historical price bars can be",
|
|
487
|
-
"pulled. Resolve relative periods against today's date (given in the user message). For a single past month/date,",
|
|
488
|
-
"use the first and last day of that period; for a return-since claim, span from the baseline date to today. Set",
|
|
489
|
-
"`historicalRange` to null for current/real-time claims (latest price, today's move) — those use live snapshots.",
|
|
490
|
-
"For option-chain claims, set `optionContract` with any contract dimensions stated in the claim: expiration (YYYY-MM-DD),",
|
|
491
|
-
"type (call/put/any), and strike. Leave unknown dimensions null; set `optionContract` to null for non-option claims.",
|
|
492
|
-
"If there are no verifiable financial/market claims, return an empty list.",
|
|
493
|
-
].join("\n");
|
|
494
|
-
const VERIFY_SINGLE_SYSTEM_PROMPT = [
|
|
495
|
-
"You are the verification component of a fact-checking system.",
|
|
496
|
-
"Decide one outcome for the single claim using the provided evidence (live market data and/or web search) as the source of truth:",
|
|
497
|
-
"- \"verified\": the evidence confirms the claim. Leave detail empty.",
|
|
498
|
-
"- \"contradicted\": the evidence directly contradicts the claim. In detail, state the correct figures concisely.",
|
|
499
|
-
"- \"unverifiable\": the evidence is missing/empty/insufficient, or the claim is too vague to check. In detail, say briefly why.",
|
|
500
|
-
"",
|
|
501
|
-
"Rules:",
|
|
502
|
-
"- Prefer the live evidence over your own training memory; training data is often stale.",
|
|
503
|
-
"- When a claim is financial but no evidence was gathered for it, mark it \"unverifiable\", not \"verified\".",
|
|
504
|
-
"- Be conservative: only mark \"contradicted\" when the evidence clearly disproves the claim.",
|
|
505
|
-
"- For non-financial claims with no evidence, use your knowledge but prefer \"unverifiable\" over guessing.",
|
|
506
|
-
"- Echo the claim text in the `claim` field.",
|
|
507
|
-
].join("\n");
|
|
508
|
-
//# sourceMappingURL=agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/factcheck/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,qBAAqB,GAKtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAoB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAoD,MAAM,YAAY,CAAC;AAEjG,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAU,CAAC;AAE3D,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;IAClH,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC9F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CAC5F,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6KAA6K,CAAC;IACxM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uGAAuG,CAAC;CACjI,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6FAA6F,CAAC;IACzH,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;IACnG,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,+GAA+G,CAAC;IACtJ,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gGAAgG,CAAC;IACnJ,eAAe,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qOAAqO,CAAC;IACjS,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sKAAsK,CAAC;CACjO,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gIAAgI,CAAC;CAC9J,CAAC,CAAC;AAoDH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAqB;IAC3D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAE9C,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC5E,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAE/D,kCAAkC;IAClC,IAAI,MAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;YAC3C,YAAY,EAAE,qBAAqB;YACnC,WAAW,EAAE,mBAAmB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,0RAA0R,QAAQ,EAAE;YACzW,MAAM,EAAE,gBAAgB;YACxB,UAAU,EAAE,uBAAuB;YACnC,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,IAAI;YACf,SAAS;YACT,MAAM;SACP,CAAC,CAAC;QACH,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CACnG,CAAC,EACD,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,wCAAwC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3F,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC/D,MAAM,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAwB;QACnC,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,kBAAkB,EAAE,IAAI,GAAG,EAA6B;QACxD,0BAA0B,EAAE,IAAI,GAAG,EAA6B;QAChE,yBAAyB,EAAE,IAAI,GAAG,EAA6B;QAC/D,kBAAkB,EAAE,IAAI,GAAG,EAA6B;QACxD,gBAAgB,EAAE,IAAI,GAAG,EAAkC;QAC3D,SAAS,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;QACzC,iBAAiB,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE;QAC1D,UAAU,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;KAC5C,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CACvC,MAAM,EACN,qBAAqB,EACrB,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CACnD,CAAC;QAEF,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,iEAAiE;YACjE,oEAAoE;YACpE,iCAAiC;YACjC,EAAE;YACF,sEAAsE;YACtE,yEAAyE;YACzE,uEAAuE;YACvE,oEAAoE;YACpE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,cAAc,CAAC;YACnD,MAAM,MAAM,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,+BAA+B,CAAC,CAAC;YAClG,YAAY,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO;gBACP,MAAM;gBACN,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,UAAU;gBAAE,OAAO;YAC/C,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAC1D,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CACX,+BAA+B,QAAQ,CAAC,MAAM,gBAAgB,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,MAAM,CAAC,MAAM,WAAW,CAC1H,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACpC,CAAC;YAAS,CAAC;QACT,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAwB,EACxB,MAAwB;IAExB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,OAAO,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,KAAqB,EACrB,OAA4B;IAE5B,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,aAAa,GACjB,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC,CAAC,gDAAgD,CAAC;IAEvD,IAAI,CAAC;QACH,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE;YACvC,YAAY,EAAE,2BAA2B;YACzC,WAAW,EAAE,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC;YAC/D,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,2BAA2B;YACvC,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;YAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,8CAA8C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjG,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,KAAqB,EACrB,OAA4B;IAE5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAA2B,CAAC;QACrE,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,kBAAkB,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC;QAC9F,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,OAAO,QAAQ,CAAC;YAC7C,qEAAqE;YACrE,mEAAmE;YACnE,sEAAsE;YACtE,MAAM,YAAY,GAAG,MAAM,0BAA0B,CACnD,OAAO,CAAC,kBAAkB,EAC1B,GAAG,MAAM,KAAK,MAAM,IAAI,EAAE,EAAE,EAC5B,GAAG,EAAE,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAC1D,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAE/B,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,MAAM,0BAA0B,CACnD,OAAO,CAAC,0BAA0B,EAClC,GAAG,MAAM,KAAK,MAAM,IAAI,EAAE,EAAE,EAC5B,GAAG,EAAE,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CACzD,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YACjC,CAAC;YAED,mEAAmE;YACnE,mEAAmE;YACnE,8BAA8B;YAC9B,IAAI,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClE,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC7C,MAAM,cAAc,GAAG,MAAM,0BAA0B,CACrD,OAAO,CAAC,yBAAyB,EACjC,GAAG,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EACtC,KAAK,IAAI,EAAE;oBACT,IAAI,OAAO,CAAC,iBAAiB,CAAC,SAAS,IAAI,CAAC;wBAAE,OAAO,EAAE,CAAC;oBACxD,OAAO,CAAC,iBAAiB,CAAC,SAAS,IAAI,CAAC,CAAC;oBACzC,OAAO,MAAM,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjE,CAAC,CACF,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YACnC,CAAC;YAED,qEAAqE;YACrE,uEAAuE;YACvE,iCAAiC;YACjC,IAAI,KAAK,CAAC,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBAC9D,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC;gBAC3C,MAAM,WAAW,GAAG,MAAM,0BAA0B,CAClD,OAAO,CAAC,kBAAkB,EAC1B,GAAG,MAAM,KAAK,MAAM,IAAI,EAAE,KAAK,IAAI,KAAK,EAAE,EAAE,EAC5C,KAAK,IAAI,EAAE;oBACT,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC;wBAAE,OAAO,EAAE,CAAC;oBACjD,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC;oBAClC,OAAO,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC9E,CAAC,CACF,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjE,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,0BAA0B,CACvC,KAAqC,EACrC,GAAW,EACX,OAAgC;IAEhC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM;QAAE,OAAO,MAAM,MAAM,CAAC;IAChC,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;IAC1B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxB,OAAO,MAAM,OAAO,CAAC;AACvB,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,0BAA0B,CACvC,MAAc,EACd,MAA8B,EAC9B,OAA4B;IAE5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpF,QAAQ,CAAC,IAAI,CAAC,yBAAyB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,4CAA4C,MAAM,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC1G,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/E,QAAQ,CAAC,IAAI,CAAC,gBAAgB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,yCAAyC,MAAM,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,sEAAsE;AACtE,KAAK,UAAU,yBAAyB,CACtC,MAAc,EACd,MAA8B,EAC9B,OAA4B;IAE5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpF,OAAO,CAAC,oBAAoB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,6CAA6C,MAAM,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3G,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAGD,mEAAmE;AACnE,KAAK,UAAU,wBAAwB,CACrC,UAAkB,EAClB,MAAyB,EACzB,OAA4B;IAE5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAChF,OAAO;YACL,oBAAoB,UAAU,KAAK,oBAAoB,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,EAAE;SAC5F,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,6CAA6C,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC/G,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAqB;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IACtC,MAAM,MAAM,GAAsB;QAChC,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;KAClC,CAAC;IACF,IAAI,QAAQ,EAAE,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IAClE,IAAI,QAAQ,EAAE,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAChD,IAAI,OAAO,QAAQ,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAyB;IACrD,MAAM,KAAK,GAAG;QACZ,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI;QAC5D,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1C,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YAC1E,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACpE,CAAC,CAAC,IAAI;KACT,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,2BAA2B,CACxC,MAAc,EACd,IAAY,EACZ,EAAU,EACV,MAA8B,EAC9B,OAA4B;IAE5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpF,OAAO;YACL,cAAc,IAAI,aAAa,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE;SAC/G,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,qCAAqC,MAAM,KAAK,IAAI,IAAI,EAAE,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACnH,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAY,EAAE,EAAU;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK;QAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC;IACxC,IAAI,IAAI,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,IAAI,IAAI,GAAG;QAAE,OAAO,MAAM,CAAC;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,KAAqB,EACrB,OAA4B;IAE5B,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO,IAAI,CAAC;IAE9D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,MAAM;QAAE,OAAO,MAAM,MAAM,CAAC;IAEhC,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC;IAEjC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,MAAM,OAAO,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,KAAa,EACb,OAA4B;IAE5B,IAAI,CAAC,OAAO,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO,mBAAmB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACrF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAqB;IAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,OAAO,GAAG,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,MAAwB;IAChD,MAAM,KAAK,GAAG,CAAC,CAAiB,EAAU,EAAE;QAC1C,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACpE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,YAAY,CAAC,MAAwB;IAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,KAAU,EACV,WAAmB,EACnB,MAA+B;IAE/B,MAAM,OAAO,GAAQ,IAAI,KAAK,CAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,UAAU,SAAS;QACtB,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,SAAS,CAAC;YACxB,SAAS,IAAI,CAAC,CAAC;YACf,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CACxB,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAC/C,GAAG,EAAE,CAAC,SAAS,EAAE,CAClB,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,oBAAoB,GACxB,qFAAqF,CAAC;AAExF,MAAM,eAAe,GACnB,sJAAsJ,CAAC;AAEzJ,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,oDAAoD;AACpD,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,kFAAkF;AAClF,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAW;IACzC,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAqB,EAAE,aAAqB;IAChF,OAAO;QACL,kBAAkB;QAClB,KAAK,CAAC,KAAK;QACX,EAAE;QACF,oBAAoB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACtD,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB;QACrF,WAAW,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE;QACtC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAC7G,EAAE;QACF,qGAAqG;QACrG,aAAa;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,qBAAqB,GAAG;IAC5B,gEAAgE;IAChE,iIAAiI;IACjI,6IAA6I;IAC7I,EAAE;IACF,gIAAgI;IAChI,gDAAgD;IAChD,gFAAgF;IAChF,uFAAuF;IACvF,6CAA6C;IAC7C,iHAAiH;IACjH,kJAAkJ;IAClJ,EAAE;IACF,qIAAqI;IACrI,yIAAyI;IACzI,mFAAmF;IACnF,+GAA+G;IAC/G,gHAAgH;IAChH,kHAAkH;IAClH,gHAAgH;IAChH,iHAAiH;IACjH,0HAA0H;IAC1H,qHAAqH;IACrH,2EAA2E;CAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,2BAA2B,GAAG;IAClC,+DAA+D;IAC/D,kIAAkI;IAClI,sEAAsE;IACtE,kHAAkH;IAClH,iIAAiI;IACjI,EAAE;IACF,QAAQ;IACR,yFAAyF;IACzF,8GAA8G;IAC9G,8FAA8F;IAC9F,4GAA4G;IAC5G,6CAA6C;CAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Thin financial-tool MCP client used by the fact-check sidecar to verify
|
|
3
|
-
* market claims (prices, market caps, fundamentals, options, ticker↔name mapping).
|
|
4
|
-
*
|
|
5
|
-
* The main agent reaches the financial-tool through the SDK's MCP plumbing;
|
|
6
|
-
* the sidecar is out-of-band, so it opens its own short-lived MCP session per
|
|
7
|
-
* audit and tears it down afterwards. All calls are best-effort: a verifier
|
|
8
|
-
* failure degrades the relevant claims to "unverifiable", never crashes.
|
|
9
|
-
*/
|
|
10
|
-
import type { VisionClawConfig } from "../config/types.js";
|
|
11
|
-
export type MarketHint = "A" | "HK" | "US" | "crypto";
|
|
12
|
-
/** Bar timeframe granularity. */
|
|
13
|
-
export type BarUnit = "minute" | "hour" | "day" | "week" | "month";
|
|
14
|
-
export interface OptionChainParams {
|
|
15
|
-
expiration?: string;
|
|
16
|
-
expirations?: string[];
|
|
17
|
-
type?: "call" | "put" | "any";
|
|
18
|
-
strikeGte?: number;
|
|
19
|
-
strikeLte?: number;
|
|
20
|
-
includeGreeks?: boolean;
|
|
21
|
-
includeQuotes?: boolean;
|
|
22
|
-
includeTrades?: boolean;
|
|
23
|
-
limit?: number;
|
|
24
|
-
}
|
|
25
|
-
export interface FinancialVerifier {
|
|
26
|
-
searchInstruments(query: string, market?: MarketHint, signal?: AbortSignal): Promise<unknown>;
|
|
27
|
-
getSnapshots(symbols: string[], market?: MarketHint, signal?: AbortSignal): Promise<unknown>;
|
|
28
|
-
getFundamentals(symbol: string, market?: MarketHint, signal?: AbortSignal): Promise<unknown>;
|
|
29
|
-
/**
|
|
30
|
-
* Option chain rows for an underlying, optionally narrowed to the contract
|
|
31
|
-
* dimensions referenced by a claim. Used to verify option price, IV, Greeks,
|
|
32
|
-
* open interest, and contract existence assertions.
|
|
33
|
-
*/
|
|
34
|
-
getOptionChain(underlying: string, params?: OptionChainParams, signal?: AbortSignal): Promise<unknown>;
|
|
35
|
-
/**
|
|
36
|
-
* Historical OHLCV bars between `from` and `to` (inclusive, ISO dates).
|
|
37
|
-
* Used to verify historical-price / period-return claims that snapshots
|
|
38
|
-
* (current-only) cannot answer.
|
|
39
|
-
*/
|
|
40
|
-
getBars(symbol: string, from: string, to: string, unit: BarUnit, market?: MarketHint, signal?: AbortSignal): Promise<unknown>;
|
|
41
|
-
close(): Promise<void>;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Open an MCP session to the financial-tool service. Returns `null` when the
|
|
45
|
-
* service is not configured (no API key) so callers can skip financial
|
|
46
|
-
* verification gracefully.
|
|
47
|
-
*/
|
|
48
|
-
export declare function openFinancialVerifier(config: VisionClawConfig, timeoutMs?: number): Promise<FinancialVerifier | null>;
|
|
49
|
-
//# sourceMappingURL=financial-verifier.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"financial-verifier.d.ts","sourceRoot":"","sources":["../../src/factcheck/financial-verifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEtD,iCAAiC;AACjC,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9F,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7F,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7F;;;;OAIG;IACH,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB;;;;OAIG;IACH,OAAO,CACL,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,UAAU,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,gBAAgB,EACxB,SAAS,SAAS,GACjB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAqGnC"}
|