@fased/fased 0.1.45 → 0.1.47
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/acp/client.js +2 -2
- package/dist/acp/control-plane/spawn.js +1 -1
- package/dist/acp/secret-file.js +2 -2
- package/dist/agents/acp-spawn-parent-stream.js +2 -2
- package/dist/agents/acp-spawn.js +3 -3
- package/dist/agents/agent-scope.js +2 -2
- package/dist/agents/apply-patch.js +8 -8
- package/dist/agents/auth-profiles/paths.js +2 -2
- package/dist/agents/auth-profiles/store.js +2 -2
- package/dist/agents/bash-tools.exec-approval-request.js +1 -1
- package/dist/agents/bash-tools.exec-host-node.js +1 -1
- package/dist/agents/bash-tools.exec-runtime.js +1 -1
- package/dist/agents/bash-tools.exec.js +1 -1
- package/dist/agents/bash-tools.shared.js +2 -2
- package/dist/agents/cli-credentials.js +4 -4
- package/dist/agents/defaults.js +1 -1
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/embedded-pi-mcp.js +4 -4
- package/dist/agents/fased-tools.js +4 -4
- package/dist/agents/identity-avatar.js +4 -4
- package/dist/agents/identity-file.js +2 -2
- package/dist/agents/pi-embedded-runner/compact.js +4 -4
- package/dist/agents/pi-embedded-runner/run/attempt.js +5 -5
- package/dist/agents/pi-embedded-runner/run/images.js +1 -1
- package/dist/agents/pi-embedded-runner/run.js +2 -2
- package/dist/agents/pi-embedded-runner/system-prompt.js +1 -1
- package/dist/agents/pi-embedded-subscribe.handlers.compaction.js +1 -1
- package/dist/agents/pi-embedded-subscribe.handlers.messages.js +1 -1
- package/dist/agents/pi-embedded-subscribe.js +2 -2
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
- package/dist/agents/pi-embedded-subscribe.tools.js +1 -1
- package/dist/agents/pi-extensions/compaction-safeguard.js +3 -3
- package/dist/agents/pi-model-discovery.js +6 -6
- package/dist/agents/pi-project-settings.js +3 -3
- package/dist/agents/pi-tools.js +2 -2
- package/dist/agents/pi-tools.read.js +1 -1
- package/dist/agents/sandbox/browser.js +2 -2
- package/dist/agents/sandbox/context.js +2 -2
- package/dist/agents/sandbox/docker.js +1 -1
- package/dist/agents/sandbox/fs-bridge.js +2 -2
- package/dist/agents/sandbox/manage.js +2 -2
- package/dist/agents/sandbox/prune.js +2 -2
- package/dist/agents/session-dirs.js +4 -4
- package/dist/agents/session-write-lock.js +13 -13
- package/dist/agents/shell-utils.js +5 -5
- package/dist/agents/skills/bundled-dir.js +4 -4
- package/dist/agents/skills/local-loader.js +6 -6
- package/dist/agents/skills/plugin-skills.js +2 -2
- package/dist/agents/skills/workspace.js +13 -13
- package/dist/agents/skills-install-download.js +7 -7
- package/dist/agents/skills-install-plan.js +2 -2
- package/dist/agents/skills-install.js +2 -2
- package/dist/agents/skills-status.js +2 -2
- package/dist/agents/subagent-announce-output.js +3 -3
- package/dist/agents/subagent-announce.js +6 -6
- package/dist/agents/subagent-announce.runtime.js +1 -1
- package/dist/agents/subagent-depth.js +2 -2
- package/dist/agents/subagent-registry.js +3 -3
- package/dist/agents/subagent-spawn.js +2 -2
- package/dist/agents/system-prompt-params.js +3 -3
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tools/canvas-tool.js +2 -2
- package/dist/agents/tools/cron-tool.js +1 -1
- package/dist/agents/tools/diff-view-tool.js +1 -1
- package/dist/agents/tools/discord-actions-messaging.js +1 -1
- package/dist/agents/tools/gateway-tool.js +1 -1
- package/dist/agents/tools/gateway.js +1 -1
- package/dist/agents/tools/marketplace-offer-draft-tool.js +3 -3
- package/dist/agents/tools/message-tool.js +5 -5
- package/dist/agents/tools/mining-tool.js +1 -1
- package/dist/agents/tools/nodes-tool.js +1 -1
- package/dist/agents/tools/session-status-tool.js +3 -3
- package/dist/agents/tools/sessions-history-tool.js +1 -1
- package/dist/agents/tools/sessions-list-tool.js +1 -1
- package/dist/agents/tools/sessions-send-tool.a2a.js +1 -1
- package/dist/agents/tools/sessions-send-tool.js +1 -1
- package/dist/agents/tools/slack-actions.js +1 -1
- package/dist/agents/tools/subagents-tool.js +3 -3
- package/dist/agents/tools/telegram-actions.js +1 -1
- package/dist/agents/tools/tts-tool.js +1 -1
- package/dist/agents/tools/wallet-action-tool.js +4 -4
- package/dist/agents/tools/wallet-tool.js +7 -7
- package/dist/agents/tools/web-fetch.js +1 -1
- package/dist/agents/workspace.js +22 -22
- package/dist/auto-reply/chunk.js +1 -1
- package/dist/auto-reply/envelope.js +1 -1
- package/dist/auto-reply/reply/abort.js +2 -2
- package/dist/auto-reply/reply/agent-runner-execution.js +4 -4
- package/dist/auto-reply/reply/agent-runner-memory.js +2 -2
- package/dist/auto-reply/reply/agent-runner-payloads.js +1 -1
- package/dist/auto-reply/reply/agent-runner.js +8 -8
- package/dist/auto-reply/reply/bash-command.js +1 -1
- package/dist/auto-reply/reply/commands-acp/diagnostics.js +1 -1
- package/dist/auto-reply/reply/commands-acp/lifecycle.js +2 -2
- package/dist/auto-reply/reply/commands-acp/shared.js +1 -1
- package/dist/auto-reply/reply/commands-compact.js +2 -2
- package/dist/auto-reply/reply/commands-control.js +1 -1
- package/dist/auto-reply/reply/commands-export-session.js +7 -7
- package/dist/auto-reply/reply/commands-models.js +1 -1
- package/dist/auto-reply/reply/commands-session-abort.js +2 -2
- package/dist/auto-reply/reply/commands-status.js +2 -2
- package/dist/auto-reply/reply/commands-subagents/action-focus.js +1 -1
- package/dist/auto-reply/reply/commands-subagents/action-kill.js +2 -2
- package/dist/auto-reply/reply/commands-subagents/action-send.js +1 -1
- package/dist/auto-reply/reply/commands-subagents/shared.js +1 -1
- package/dist/auto-reply/reply/dispatch-acp.js +5 -5
- package/dist/auto-reply/reply/dispatch-from-config.js +2 -2
- package/dist/auto-reply/reply/followup-runner.js +4 -4
- package/dist/auto-reply/reply/get-reply-directives.js +2 -2
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply-run.js +4 -4
- package/dist/auto-reply/reply/model-selection.js +2 -2
- package/dist/auto-reply/reply/post-compaction-audit.js +3 -3
- package/dist/auto-reply/reply/post-compaction-context.js +3 -3
- package/dist/auto-reply/reply/queue/cleanup.js +1 -1
- package/dist/auto-reply/reply/reply-delivery.js +1 -1
- package/dist/auto-reply/reply/reply-directives.js +1 -1
- package/dist/auto-reply/reply/route-reply.js +1 -1
- package/dist/auto-reply/reply/session-reset-model.js +1 -1
- package/dist/auto-reply/reply/session-updates.js +1 -1
- package/dist/auto-reply/reply/session.js +3 -3
- package/dist/auto-reply/reply/streaming-directives.js +1 -1
- package/dist/auto-reply/reply.js +1 -1
- package/dist/auto-reply/skill-commands.js +3 -3
- package/dist/auto-reply/status.js +9 -9
- package/dist/brand.js +1 -1
- package/dist/browser/chrome.executables.js +3 -3
- package/dist/browser/chrome.js +3 -3
- package/dist/browser/chrome.profile-decoration.js +6 -6
- package/dist/browser/profiles-service.js +2 -2
- package/dist/browser/server-context.js +2 -2
- package/dist/browser/trash.js +4 -4
- package/dist/build-info.json +3 -3
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui.js +1 -1
- package/dist/canvas-host/server.js +5 -5
- package/dist/capabilities/catalog.js +3 -3
- package/dist/channel-web.js +1 -1
- package/dist/channels/plugins/actions/signal.js +1 -1
- package/dist/channels/plugins/actions/telegram.js +2 -2
- package/dist/channels/plugins/catalog.js +3 -3
- package/dist/channels/plugins/onboarding/discord.js +1 -1
- package/dist/channels/plugins/onboarding/imessage.js +1 -1
- package/dist/cli/browser-cli-extension.js +7 -7
- package/dist/cli/command-format.js +2 -2
- package/dist/cli/components-cli.js +1 -1
- package/dist/cli/cron-cli/register.cron-simple.js +2 -2
- package/dist/cli/cron-cli/shared.js +1 -1
- package/dist/cli/daemon-cli/install.js +2 -2
- package/dist/cli/daemon-cli/status.gather.js +1 -1
- package/dist/cli/daemon-cli/status.print.js +1 -1
- package/dist/cli/directory-cli.js +1 -1
- package/dist/cli/dns-cli.js +9 -9
- package/dist/cli/exec-approvals-cli.js +2 -2
- package/dist/cli/federation-cli.js +3 -3
- package/dist/cli/gateway-cli/dev.js +5 -5
- package/dist/cli/gateway-cli/register.js +3 -3
- package/dist/cli/gateway-cli/run.js +3 -3
- package/dist/cli/hooks-cli.js +6 -6
- package/dist/cli/memory-cli.js +7 -7
- package/dist/cli/node-cli/daemon.js +1 -1
- package/dist/cli/nodes-cli/register.status.js +1 -1
- package/dist/cli/nodes-cli/rpc.js +1 -1
- package/dist/cli/nodes-media-utils.js +2 -2
- package/dist/cli/plugins-cli.js +3 -3
- package/dist/cli/program/message/helpers.js +1 -1
- package/dist/cli/program/register.agent.js +1 -1
- package/dist/cli/program/register.status-health-sessions.js +1 -1
- package/dist/cli/program/register.wallet.js +1 -1
- package/dist/cli/run-main.js +1 -1
- package/dist/cli/secrets-cli.js +3 -3
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli/status.js +1 -1
- package/dist/cli/update-cli/update-command.js +3 -3
- package/dist/cli/windows-argv.js +2 -2
- package/dist/commands/agent/attempt.js +1 -1
- package/dist/commands/agent/delivery.js +2 -2
- package/dist/commands/agent.js +9 -9
- package/dist/commands/agents.commands.add.js +1 -1
- package/dist/commands/agents.commands.delete.js +1 -1
- package/dist/commands/channels/add.js +2 -2
- package/dist/commands/channels/list.js +2 -2
- package/dist/commands/channels/status.js +1 -1
- package/dist/commands/configure.daemon.js +1 -1
- package/dist/commands/configure.wizard.js +1 -1
- package/dist/commands/dashboard-link.js +3 -3
- package/dist/commands/dashboard.js +2 -2
- package/dist/commands/docs.js +1 -1
- package/dist/commands/doctor-config-flow.js +2 -2
- package/dist/commands/doctor-format.js +1 -1
- package/dist/commands/doctor-gateway-daemon-flow.js +5 -5
- package/dist/commands/doctor-gateway-services.js +2 -2
- package/dist/commands/doctor-install.js +5 -5
- package/dist/commands/doctor-memory-search.js +2 -2
- package/dist/commands/doctor-platform-notes.js +2 -2
- package/dist/commands/doctor-sandbox.js +2 -2
- package/dist/commands/doctor-security.js +1 -1
- package/dist/commands/doctor-state-integrity.js +23 -23
- package/dist/commands/doctor-workspace.js +3 -3
- package/dist/commands/doctor.js +4 -4
- package/dist/commands/gateway-status.js +2 -2
- package/dist/commands/hosted-dashboard-probe.js +2 -2
- package/dist/commands/managed-up.js +2 -2
- package/dist/commands/message.js +1 -1
- package/dist/commands/models/list.probe.js +3 -3
- package/dist/commands/models/list.status-command.js +3 -3
- package/dist/commands/onboard-auth.credentials.js +3 -3
- package/dist/commands/onboard-channels.js +1 -1
- package/dist/commands/onboard-helpers.js +1 -1
- package/dist/commands/onboard-non-interactive/local/daemon-install.js +2 -2
- package/dist/commands/onboard-non-interactive/local.js +1 -1
- package/dist/commands/onboard-skills.js +1 -1
- package/dist/commands/onboarding/plugin-install.js +3 -3
- package/dist/commands/openai-model-default.js +1 -1
- package/dist/commands/sessions-cleanup.js +2 -2
- package/dist/commands/signal-install.js +6 -6
- package/dist/commands/status-all/channels.js +3 -3
- package/dist/commands/status-all/diagnosis.js +1 -1
- package/dist/commands/status-all/format.js +1 -1
- package/dist/commands/status-all.js +8 -8
- package/dist/commands/status.command.js +4 -4
- package/dist/commands/status.gateway-probe.js +1 -1
- package/dist/commands/status.scan.js +3 -3
- package/dist/commands/status.summary.js +1 -1
- package/dist/commands/wallet.js +51 -50
- package/dist/config/cache-utils.js +2 -2
- package/dist/config/includes.js +5 -5
- package/dist/config/io.js +2 -2
- package/dist/config/paths.js +3 -3
- package/dist/config/sat-runtime-ids.js +3 -3
- package/dist/config/sessions/disk-budget.js +6 -6
- package/dist/config/sessions/paths.js +2 -2
- package/dist/config/sessions/store.js +17 -17
- package/dist/config/sessions/transcript.js +4 -4
- package/dist/config/talk.js +2 -2
- package/dist/control-ui/assets/{app-JBrTSsNu.js → app-CHqTx3P_.js} +4 -4
- package/dist/control-ui/assets/chat-model-ref-BbrdMKjQ.js +2 -0
- package/dist/control-ui/assets/{index-H-2DWAnH.js → index-CFHfNlLv.js} +3 -3
- package/dist/control-ui/assets/{providers-C9hLw4o6.js → providers-DqFL6WrJ.js} +2 -2
- package/dist/control-ui/index.html +1 -1
- package/dist/cron/isolated-agent/delivery-dispatch.js +2 -2
- package/dist/cron/isolated-agent/delivery-target.js +1 -1
- package/dist/cron/isolated-agent/run.js +5 -5
- package/dist/cron/service/store.js +2 -2
- package/dist/cron/store.js +6 -6
- package/dist/daemon/service-audit.js +2 -2
- package/dist/daemon/systemd-system.js +10 -10
- package/dist/discord/monitor/agent-components.js +9 -9
- package/dist/discord/monitor/gateway-plugin.js +1 -1
- package/dist/discord/monitor/listeners.js +2 -2
- package/dist/discord/monitor/message-handler.js +1 -1
- package/dist/discord/monitor/message-handler.preflight.js +8 -8
- package/dist/discord/monitor/message-handler.process.js +5 -5
- package/dist/discord/monitor/native-command.js +9 -9
- package/dist/discord/monitor/provider.js +2 -2
- package/dist/discord/monitor/reply-delivery.js +1 -1
- package/dist/discord/monitor/thread-bindings.state.js +2 -2
- package/dist/discord/send.outbound.js +1 -1
- package/dist/discord/voice/command.js +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/extensions/sat-mining/src/rpc-read.js +7 -3
- package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
- package/dist/extensions/sat-mining/src/solana-submit.js +2 -2
- package/dist/federation/auto-connect.js +1 -1
- package/dist/federation/marketplace-capability-adapter.js +1 -1
- package/dist/federation/marketplace-delivery.js +1 -1
- package/dist/federation/marketplace-direct-payment.js +1 -1
- package/dist/federation/marketplace-escrow.js +2 -2
- package/dist/federation/settlement-evidence.js +1 -1
- package/dist/gateway/a2a-http.js +1 -1
- package/dist/gateway/call.js +2 -2
- package/dist/gateway/client.js +3 -3
- package/dist/gateway/control-ui-boot-check.js +7 -7
- package/dist/gateway/control-ui-login.js +7 -7
- package/dist/gateway/control-ui.js +10 -10
- package/dist/gateway/federation-http.js +3 -3
- package/dist/gateway/federation-marketplace.js +1 -1
- package/dist/gateway/hooks-mapping.js +4 -4
- package/dist/gateway/hooks.js +1 -1
- package/dist/gateway/openai-http.js +1 -1
- package/dist/gateway/openresponses-http.js +1 -1
- package/dist/gateway/server/health-state.js +1 -1
- package/dist/gateway/server/hooks.js +2 -2
- package/dist/gateway/server/ws-connection/message-handler.js +6 -6
- package/dist/gateway/server-channels.js +1 -1
- package/dist/gateway/server-cron.js +3 -3
- package/dist/gateway/server-discovery.js +2 -2
- package/dist/gateway/server-http.js +17 -17
- package/dist/gateway/server-methods/agent.js +4 -4
- package/dist/gateway/server-methods/agents.js +1 -1
- package/dist/gateway/server-methods/channels.js +1 -1
- package/dist/gateway/server-methods/chat.js +6 -6
- package/dist/gateway/server-methods/commands.js +1 -1
- package/dist/gateway/server-methods/devices.js +1 -1
- package/dist/gateway/server-methods/doctor.js +2 -2
- package/dist/gateway/server-methods/hooks.js +1 -1
- package/dist/gateway/server-methods/models.js +1 -1
- package/dist/gateway/server-methods/nodes.js +2 -2
- package/dist/gateway/server-methods/send.js +4 -4
- package/dist/gateway/server-methods/services.js +1 -1
- package/dist/gateway/server-methods/sessions.js +12 -12
- package/dist/gateway/server-methods/skills.js +2 -2
- package/dist/gateway/server-methods/system.js +1 -1
- package/dist/gateway/server-methods/tts.js +2 -2
- package/dist/gateway/server-methods/usage.js +2 -2
- package/dist/gateway/server-node-events.js +5 -5
- package/dist/gateway/server-reload-handlers.js +3 -3
- package/dist/gateway/server-restart-sentinel.js +3 -3
- package/dist/gateway/server.impl.js +19 -19
- package/dist/gateway/session-compaction-checkpoints.js +4 -4
- package/dist/gateway/session-utils.fs.js +24 -24
- package/dist/gateway/session-utils.js +6 -6
- package/dist/gateway/sessions-patch.js +2 -2
- package/dist/gateway/tools-invoke-http.js +2 -2
- package/dist/hooks/bundled-dir.js +4 -4
- package/dist/hooks/gmail-setup-utils.js +6 -6
- package/dist/hooks/import-url.js +2 -2
- package/dist/hooks/loader.js +5 -5
- package/dist/hooks/workspace.js +7 -7
- package/dist/imessage/monitor/deliver.js +1 -1
- package/dist/imessage/monitor/inbound-processing.js +4 -4
- package/dist/imessage/monitor/monitor-provider.js +2 -2
- package/dist/imessage/send.js +2 -2
- package/dist/index.js +1 -1
- package/dist/infra/archive.js +17 -17
- package/dist/infra/boundary-file-read.js +2 -2
- package/dist/infra/boundary-path.js +15 -15
- package/dist/infra/brew.js +2 -2
- package/dist/infra/control-ui-assets.js +14 -14
- package/dist/infra/device-auth-store.js +8 -8
- package/dist/infra/device-identity.js +8 -8
- package/dist/infra/dotenv.js +2 -2
- package/dist/infra/exec-approvals.js +9 -9
- package/dist/infra/exec-command-resolution.js +4 -4
- package/dist/infra/exec-safe-bin-trust.js +2 -2
- package/dist/infra/fased-root.js +5 -5
- package/dist/infra/fs-safe.js +14 -14
- package/dist/infra/gateway-lock.js +11 -11
- package/dist/infra/git-commit.js +5 -5
- package/dist/infra/git-root.js +4 -4
- package/dist/infra/heartbeat-runner.js +8 -8
- package/dist/infra/hosted-runtime-artifact.js +3 -3
- package/dist/infra/is-main.js +2 -2
- package/dist/infra/json-file.js +7 -7
- package/dist/infra/outbound/channel-resolution.js +1 -1
- package/dist/infra/outbound/deliver.js +3 -3
- package/dist/infra/outbound/delivery-queue.js +16 -16
- package/dist/infra/outbound/message-action-params.js +2 -2
- package/dist/infra/outbound/message-action-runner.js +4 -4
- package/dist/infra/outbound/message.js +3 -3
- package/dist/infra/outbound/outbound-session.js +1 -1
- package/dist/infra/outbound/payloads.js +1 -1
- package/dist/infra/path-env.js +3 -3
- package/dist/infra/ports-lsof.js +4 -4
- package/dist/infra/provider-usage.auth.js +3 -3
- package/dist/infra/safe-open-sync.js +2 -2
- package/dist/infra/session-cost-usage.js +9 -9
- package/dist/infra/session-maintenance-warning.js +1 -1
- package/dist/infra/shell-env.js +2 -2
- package/dist/infra/skills-remote.js +1 -1
- package/dist/infra/state-migrations.fs.js +6 -6
- package/dist/infra/state-migrations.js +23 -23
- package/dist/infra/tmp-fased-dir.js +6 -6
- package/dist/infra/update-runner.js +1 -1
- package/dist/infra/widearea-dns.js +3 -3
- package/dist/infra/wsl.js +2 -2
- package/dist/light-update-status.js +11 -11
- package/dist/line/accounts.js +2 -2
- package/dist/line/bot-handlers.js +2 -2
- package/dist/line/bot-message-context.js +2 -2
- package/dist/line/download.js +3 -3
- package/dist/line/monitor.js +3 -3
- package/dist/line/webhook-node.js +1 -1
- package/dist/llm-slug-generator.js +1 -1
- package/dist/logging/config.js +3 -3
- package/dist/logging/logger.js +7 -7
- package/dist/managed/federation.js +3 -3
- package/dist/managed/tunnel.js +3 -3
- package/dist/media/fetch.js +1 -1
- package/dist/media/input-files.js +2 -2
- package/dist/media/store.js +14 -14
- package/dist/media-understanding/attachments.js +4 -4
- package/dist/media-understanding/providers/google/inline-data.js +1 -1
- package/dist/media-understanding/providers/shared.js +1 -1
- package/dist/media-understanding/runner.js +3 -3
- package/dist/memory/embeddings.js +2 -2
- package/dist/memory/internal.js +10 -10
- package/dist/memory/manager-sync-ops.js +7 -7
- package/dist/memory/repair-executor.js +17 -17
- package/dist/node-host/invoke-system-run-plan.js +8 -8
- package/dist/node-host/invoke.js +2 -2
- package/dist/node-host/runner.js +5 -5
- package/dist/pairing/pairing-store.js +3 -3
- package/dist/plugin-sdk/{accounts-Bz_2QZSt.js → accounts-DzLdrOVC.js} +1 -1
- package/dist/plugin-sdk/{actions-CysoQjk1.js → actions-PhofTgnO.js} +4 -4
- package/dist/plugin-sdk/{active-listener-C5ALSs7Y.js → active-listener-C8a74qPO.js} +1 -1
- package/dist/plugin-sdk/{allow-list-yqasgPpz.js → allow-list-BYeKk0Sy.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-CKgOmu0p.js → audio-preflight-CARAVcz-.js} +51 -49
- package/dist/plugin-sdk/{audit-BFnu5TVB.js → audit-ByK45Q1d.js} +1 -1
- package/dist/plugin-sdk/{channel-access-BiWxa3LR.js → channel-access-BEin0yA4.js} +1 -1
- package/dist/plugin-sdk/{channel-access-configure-gJvqbbXB.js → channel-access-configure-Di_DoR-Q.js} +1 -1
- package/dist/plugin-sdk/{channel-adapters.discord-g8Do3f5N.js → channel-adapters.discord-IOZP8Cv5.js} +1 -1
- package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
- package/dist/plugin-sdk/channel-plugin-common.js +8 -8
- package/dist/plugin-sdk/{chunk-CuJIMshx.js → chunk-CwN3c1Fq.js} +1 -1
- package/dist/plugin-sdk/{chunk-items-CNyHcNiG.js → chunk-items-DH7ooQBZ.js} +1 -1
- package/dist/plugin-sdk/command-status.js +51 -49
- package/dist/plugin-sdk/{commands-registry-DwQIFJmL.js → commands-registry-Bea-V_lR.js} +2 -2
- package/dist/plugin-sdk/{common-C90EHP1w.js → common-BJPuBxmx.js} +1 -1
- package/dist/plugin-sdk/{config-DKNrb8oT.js → config-BxOWD3gF.js} +61 -6
- package/dist/plugin-sdk/{pi-embedded-runner-XtyJMQqg.js → config-schema-ChJcPn7x.js} +4818 -445
- package/dist/plugin-sdk/device-pair.d.ts +1 -1
- package/dist/plugin-sdk/device-pair.js +3 -3
- package/dist/plugin-sdk/{device-pairing-J1IH1jFl.js → device-pairing-D2Yq-_U6.js} +1 -1
- package/dist/plugin-sdk/{diagnostic-C16gioN6.js → diagnostic-Dfn1iERm.js} +4 -4
- package/dist/plugin-sdk/{directory-live-DK_83362.js → directory-live-ClwN5KKq.js} +1 -1
- package/dist/plugin-sdk/{directory-live-G7AN8y8N.js → directory-live-DatqU-eS.js} +1 -1
- package/dist/plugin-sdk/discord.d.ts +4 -4
- package/dist/plugin-sdk/discord.js +36 -37
- package/dist/plugin-sdk/{draft-stream-controls-DGYBMJYc.js → draft-stream-controls-D4Tb_iS_.js} +1 -1
- package/dist/plugin-sdk/{fetch-RV7QDF43.js → fetch-Cu-ahkie.js} +2 -2
- package/dist/plugin-sdk/{fetch-guard-CxXvFYq5.js → fetch-guard-BuYrl6q2.js} +3 -3
- package/dist/plugin-sdk/{filesystem-manager-CeSmCA_A.js → filesystem-manager-B9DDPgfU.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-DztQeyQe.js → fs-safe-BG-VzVkL.js} +1 -1
- package/dist/plugin-sdk/{guilds-n7MMnX1c.js → guilds-BeT3iHHJ.js} +1 -1
- package/dist/plugin-sdk/{handle-action-DkfMckah.js → handle-action-Bk-L2J84.js} +29 -29
- package/dist/plugin-sdk/{helpers-C1pcZJsv.js → helpers-0E444CR0.js} +74 -2
- package/dist/plugin-sdk/{image-ops-BSQmb-17.js → image-ops-BYc-Ol7C.js} +1 -1
- package/dist/plugin-sdk/index.d.ts +20 -16
- package/dist/plugin-sdk/index.js +63 -4294
- package/dist/plugin-sdk/{internal-CC6TMTtc.js → internal-qo16nNU1.js} +1 -1
- package/dist/plugin-sdk/json-store.js +6 -6
- package/dist/plugin-sdk/{login-YbYyMkkE.js → login-B_At7IVI.js} +3 -3
- package/dist/plugin-sdk/{login-qr-DvJw8_2g.js → login-qr-BlSQ8QJF.js} +6 -6
- package/dist/plugin-sdk/{manager-DQ1dH8OM.js → manager-VNI6sxbG.js} +11 -11
- package/dist/plugin-sdk/{markdown-tables-DrB-IM8r.js → markdown-tables-CpNefu6e.js} +1 -1
- package/dist/plugin-sdk/{media-D8pWjqEt.js → media-QBCmvhBQ.js} +4 -4
- package/dist/plugin-sdk/{monitor-dqvs6ijC.js → monitor-BhHlerHI.js} +59 -57
- package/dist/plugin-sdk/{monitor-B8dLCpFA.js → monitor-C9UczH5N.js} +67 -67
- package/dist/plugin-sdk/{openresponses-http-S64mJyy8.js → openresponses-http-CtuFHD5w.js} +51 -49
- package/dist/plugin-sdk/{optional-runtime-dependency-Bt_3Yigu.js → optional-runtime-dependency-BaVO1F3i.js} +1 -1
- package/dist/plugin-sdk/{outbound-B5ukMdUv.js → outbound-CWrcAWpE.js} +9 -9
- package/dist/plugin-sdk/{outbound-attachment-C9oadpUP.js → outbound-attachment-Dhi2Q-_f.js} +2 -2
- package/dist/plugin-sdk/{pairing-message-DfIyssV_.d.ts → pairing-message-6XVXW554.d.ts} +1 -1
- package/dist/plugin-sdk/{pairing-message-B787pcJI.js → pairing-message-D01_6FkJ.js} +1 -1
- package/dist/plugin-sdk/{pairing-store-BdOcH_GA.js → pairing-store-DADXOv-J.js} +2 -2
- package/dist/plugin-sdk/{pi-model-discovery-DQdXL_-F.js → pi-model-discovery-D9-CQFS2.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-runtime-IwiWDCQ3.js → pi-model-discovery-runtime-DhNNXQgq.js} +5 -5
- package/dist/plugin-sdk/{probe-CJ6lN-jD.js → probe-Cyb-DGA3.js} +3 -3
- package/dist/plugin-sdk/{probe-CvXWxzag.js → probe-D8JAILir.js} +2 -2
- package/dist/plugin-sdk/{probe-DO4M1Qd1.js → probe-Dlk0Jxpw.js} +2 -2
- package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
- package/dist/plugin-sdk/{pw-ai-BFHYmEIx.js → pw-ai-CQG7vp-Y.js} +11 -11
- package/dist/plugin-sdk/{qmd-manager-D2LMB27z.js → qmd-manager-DCUE21Kj.js} +5 -5
- package/dist/plugin-sdk/{query-expansion-BM7lmqaP.js → query-expansion-Zr9qQixm.js} +3 -3
- package/dist/plugin-sdk/{redact-sensitive-url-B0RJQqO7.js → redact-sensitive-url-dPvnFFsK.js} +1 -0
- package/dist/plugin-sdk/{replies-BPFt4O-j.js → replies-C_FeIOF4.js} +4 -4
- package/dist/plugin-sdk/{resolve-channels-sscr14hU.js → resolve-channels-ChWKWtA9.js} +2 -2
- package/dist/plugin-sdk/{probe-DbhD54Aw.js → resolve-channels-zEnvugag.js} +4 -3
- package/dist/plugin-sdk/{resolve-outbound-target-BP_JscKT.js → resolve-outbound-target-DD8edEdz.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-wp5xq4Ws.js → resolve-route-BPkfG5Pg.js} +1 -1
- package/dist/plugin-sdk/{resolve-users-C1sjzEsV.js → resolve-users-BTvjQuui.js} +1 -1
- package/dist/plugin-sdk/{resolve-users-B63RqPIO.js → resolve-users-CTzoruIZ.js} +2 -2
- package/dist/plugin-sdk/{retry-policy-BTH89onl.js → retry-policy-C0YsRX_6.js} +2 -2
- package/dist/plugin-sdk/{runtime-BUpqjZNM.js → runtime-CyTWeylK.js} +5 -5
- package/dist/plugin-sdk/{runtime-dependency-B5Fut2tT.js → runtime-dependency-D6tYtvtU.js} +5 -5
- package/dist/plugin-sdk/{sandbox-paths-fc-HFGJr.js → sandbox-paths-lj7_EVuA.js} +1 -1
- package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
- package/dist/plugin-sdk/sat-runtime.js +14 -14
- package/dist/plugin-sdk/{send-CRI83FPV.js → send-BedQ8ekw.js} +14 -14
- package/dist/plugin-sdk/{send-DUp9GIX8.js → send-BtFuV6zU.js} +9 -9
- package/dist/plugin-sdk/{send-DWB5HFdb.js → send-CNxLDNQ9.js} +9 -9
- package/dist/plugin-sdk/{send-DGUAXb2b.js → send-FcEJfLTd.js} +6 -6
- package/dist/plugin-sdk/{send-zn5KBXIN.js → send-Qckp3h4k.js} +10 -10
- package/dist/plugin-sdk/{session-BLyxz03u.js → session-C3Ul4abD.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-DCnCOVR_.js → skill-commands-C2CnUTPX.js} +4 -4
- package/dist/plugin-sdk/{slack-actions-Dwy-8Zg7.js → slack-actions-CLyEd8FK.js} +25 -25
- package/dist/plugin-sdk/{slack-DcXn5HVj.js → slack-bSeSOI9d.js} +72 -71
- package/dist/plugin-sdk/slack.d.ts +4 -4
- package/dist/plugin-sdk/slack.js +17 -18
- package/dist/plugin-sdk/{ssrf-D_4q0mKh.js → ssrf-BZG8Ztod.js} +1 -1
- package/dist/plugin-sdk/{sticker-cache-C3YATyKD.js → sticker-cache-DBnS3hHh.js} +4 -4
- package/dist/plugin-sdk/{tables-DX84FwPB.js → tables-L5mXZ5y_.js} +2 -2
- package/dist/plugin-sdk/{targets-BgSHco9b.js → targets-eG595pY0.js} +2 -2
- package/dist/plugin-sdk/{telegram-actions-Dd_iEzYH.js → telegram-actions-D0Kyqy_e.js} +56 -54
- package/dist/plugin-sdk/telegram.d.ts +4 -4
- package/dist/plugin-sdk/telegram.js +15 -16
- package/dist/plugin-sdk/{thread-bindings.lifecycle-DjpMLjhY.js → thread-bindings.lifecycle-C_5BEWmL.js} +3 -3
- package/dist/plugin-sdk/{thread-bindings.state-DYYR9qeT.js → thread-bindings.state-DRZAbcUu.js} +4 -4
- package/dist/plugin-sdk/{tmp-fased-dir-Bcp1DTSV.d.ts → tmp-fased-dir-BpMLNd4L.d.ts} +1 -1
- package/dist/plugin-sdk/{types-BTkcYtOt.d.ts → types-0CsXVmg8.d.ts} +2 -2
- package/dist/plugin-sdk/{types-CMoLtViq.d.ts → types-DMLEeE52.d.ts} +1 -1
- package/dist/plugin-sdk/{wallet-status-D9UVH6k9.js → wallet-status-2yrXvqSS.js} +7 -7
- package/dist/plugin-sdk/{web-BgTy1WeG.js → web-CSRe4zy2.js} +60 -58
- package/dist/plugin-sdk/{whatsapp-actions-DISRDbu1.js → whatsapp-actions-CkLkpg8M.js} +23 -23
- package/dist/plugin-sdk/{whatsapp-heartbeat-KM3lYpt-.js → whatsapp-heartbeat-DuAE9_88.js} +3 -3
- package/dist/plugin-sdk/whatsapp.d.ts +9 -9
- package/dist/plugin-sdk/whatsapp.js +18 -19
- package/dist/plugin-sdk/{ws-CxmRDbD9.js → ws-CocpWGhl.js} +1 -1
- package/dist/plugin-sdk/{wsl-Cw-xOsqF.js → wsl-CXVwPntb.js} +3 -3
- package/dist/plugin-sdk/{zod-schema.providers-core-CIzCjXH9.d.ts → zod-schema.providers-core-FaYR6KdD.d.ts} +61 -61
- package/dist/plugins/bundled-dir.js +3 -3
- package/dist/plugins/config-state.js +1 -0
- package/dist/plugins/discovery.js +11 -11
- package/dist/plugins/loader.js +13 -13
- package/dist/plugins/manifest-registry.js +2 -2
- package/dist/plugins/manifest.js +4 -4
- package/dist/plugins/path-safety.js +3 -3
- package/dist/plugins/providers.js +1 -1
- package/dist/plugins/runtime/index.js +12 -12
- package/dist/plugins/status-cache.js +9 -9
- package/dist/plugins/status.js +1 -1
- package/dist/plugins/tools.js +1 -1
- package/dist/plugins/update.js +3 -3
- package/dist/plugins/web-search-install-catalog.js +3 -3
- package/dist/plugins/web-search-providers.runtime.js +1 -1
- package/dist/process/command-queue.js +1 -1
- package/dist/providers/refresh.js +2 -2
- package/dist/providers/registry.js +53 -2
- package/dist/secrets/apply.js +16 -16
- package/dist/secrets/audit.js +11 -11
- package/dist/secrets/shared.js +9 -9
- package/dist/security/audit-channel.js +1 -1
- package/dist/security/audit-extra.async.js +3 -3
- package/dist/security/audit-extra.sync.js +2 -2
- package/dist/security/audit.js +4 -4
- package/dist/security/dm-policy-shared.js +1 -1
- package/dist/security/scan-paths.js +2 -2
- package/dist/shared/config-eval.js +2 -2
- package/dist/shared/model-thinking.js +4 -1
- package/dist/shared/net/redact-sensitive-url.js +1 -0
- package/dist/shared/pid-alive.js +2 -2
- package/dist/signal/client.js +1 -1
- package/dist/signal/index.js +1 -1
- package/dist/signal/monitor/access-policy.js +1 -1
- package/dist/signal/monitor/event-handler.js +6 -6
- package/dist/signal/monitor.js +4 -4
- package/dist/signal/send.js +3 -3
- package/dist/slack/monitor/auth.js +1 -1
- package/dist/slack/monitor/context.js +1 -1
- package/dist/slack/monitor/dm-auth.js +1 -1
- package/dist/slack/monitor/message-handler/prepare.js +4 -4
- package/dist/slack/monitor/provider.js +3 -3
- package/dist/slack/monitor/replies.js +1 -1
- package/dist/slack/monitor/slash.js +1 -1
- package/dist/slack/send.js +1 -1
- package/dist/tasks/standing-orders.js +5 -5
- package/dist/tasks/task-flow-registry.js +5 -5
- package/dist/tasks/task-registry.js +5 -5
- package/dist/tasks/workflow-definitions.js +6 -6
- package/dist/telegram/bot/helpers.js +2 -2
- package/dist/telegram/bot-handlers.js +6 -6
- package/dist/telegram/bot-message-context.js +6 -6
- package/dist/telegram/bot-message-dispatch.js +2 -2
- package/dist/telegram/bot-native-commands.js +4 -4
- package/dist/telegram/bot.js +1 -1
- package/dist/telegram/dm-access.js +1 -1
- package/dist/telegram/group-access.js +1 -1
- package/dist/telegram/monitor.js +2 -2
- package/dist/telegram/send.js +2 -2
- package/dist/telegram/token.js +5 -5
- package/dist/telegram/webhook.js +1 -1
- package/dist/tts/tts-core.js +1 -1
- package/dist/utils.js +5 -5
- package/dist/video-generation/dashscope-compatible.js +1 -1
- package/dist/wallet/local-socket-signer-broker.js +18 -18
- package/dist/wallet/providers/embedded-keystore-adapter.js +6 -6
- package/dist/wallet/providers/local-socket-signer-adapter.js +5 -5
- package/dist/wallet/wallet-approval-auth.js +5 -5
- package/dist/wallet/wallet-audit-log.js +5 -5
- package/dist/wallet/wallet-canary.js +1 -1
- package/dist/wallet/wallet-custody.js +25 -25
- package/dist/wallet/wallet-inbound-events.js +7 -7
- package/dist/wallet/wallet-observability.js +5 -5
- package/dist/wallet/wallet-policy.js +11 -11
- package/dist/wallet/wallet-provider-registry.js +7 -7
- package/dist/wallet/wallet-provider-resolver.js +1 -1
- package/dist/wallet/wallet-runtime-config.js +3 -3
- package/dist/wallet/wallet-secrets-store.js +22 -22
- package/dist/wallet/wallet-send-approvals.js +10 -10
- package/dist/wallet/wallet-settlement-links.js +5 -5
- package/dist/wallet/wallet-status.js +2 -2
- package/dist/web/accounts.js +3 -3
- package/dist/web/auth-store.js +18 -18
- package/dist/web/auto-reply/deliver-reply.js +2 -2
- package/dist/web/auto-reply/heartbeat-runner.js +3 -3
- package/dist/web/auto-reply/monitor/group-gating.js +1 -1
- package/dist/web/auto-reply/monitor/process-message.js +4 -4
- package/dist/web/auto-reply/monitor.js +4 -4
- package/dist/web/inbound/access-control.js +3 -3
- package/dist/web/inbound/monitor.js +2 -2
- package/dist/web/media.js +2 -2
- package/dist/web/outbound.js +3 -3
- package/dist/web/session.js +4 -4
- package/dist/wizard/host-security-capability.js +2 -2
- package/dist/wizard/onboarding.federation.js +1 -1
- package/dist/wizard/onboarding.finalize.js +7 -7
- package/dist/wizard/onboarding.host-security.js +7 -7
- package/dist/wizard/onboarding.js +8 -8
- package/dist/wizard/onboarding.wallet.js +45 -45
- package/extensions/acpx/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/fased-federation/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +12 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +2 -2
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/sat-mining/index.ts +13 -1
- package/extensions/sat-mining/package.json +1 -1
- package/extensions/sat-mining/src/epoch-service.ts +16 -0
- package/extensions/sat-mining/src/round-watcher.ts +21 -0
- package/extensions/sat-mining/src/rpc-read.ts +9 -2
- package/extensions/sat-mining/src/runtime.ts +5 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +12 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/control-ui/assets/chat-model-ref-DV2P__mw.js +0 -2
- package/dist/plugin-sdk/links-D5ecKoG9.js +0 -74
- package/dist/plugin-sdk/media-payload-DpYEcV-X.js +0 -18
- package/dist/plugin-sdk/resolve-channels-B-dUtZYa.js +0 -4
- package/dist/plugin-sdk/resolve-utils-DrvLA82C.js +0 -136
- /package/dist/plugin-sdk/{blocks-input-DdQwSVtP.js → blocks-input-Dcitfh7h.js} +0 -0
- /package/dist/plugin-sdk/{channel-activity-B7MIaDei.js → channel-activity-Cg1xRoc2.js} +0 -0
- /package/dist/plugin-sdk/{channel-core-CMPoGCik.js → channel-core-BOkyXXLa.js} +0 -0
- /package/dist/plugin-sdk/{client-BTUzO_8g.js → client-D2N7hqVu.js} +0 -0
- /package/dist/plugin-sdk/{command-poll-backoff-CBq0jVRw.js → command-poll-backoff-NAePk3eL.js} +0 -0
- /package/dist/plugin-sdk/{date-time-Bbp5JvNw.js → date-time-CE3Uer3C.js} +0 -0
- /package/dist/plugin-sdk/{diagnostic-session-state-B-9PL5r7.js → diagnostic-session-state-HO94DMou.js} +0 -0
- /package/dist/plugin-sdk/{draft-stream-loop-DZ1OAyye.js → draft-stream-loop-CKyHn8IX.js} +0 -0
- /package/dist/plugin-sdk/{fetch-headers-DvXyXtoI.js → fetch-headers-my7hgV2G.js} +0 -0
- /package/dist/plugin-sdk/{fetch-timeout-jOIu9Xud.js → fetch-timeout-l_6RdoMw.js} +0 -0
- /package/dist/plugin-sdk/{gateway-registry-C-MTEdvG.js → gateway-registry-DFsoY6C0.js} +0 -0
- /package/dist/plugin-sdk/{github-copilot-token-Dgug856m.js → github-copilot-token-CUK__1s1.js} +0 -0
- /package/dist/plugin-sdk/{inbound-context-BNCTzgjG.js → inbound-context-BFnIdcqI.js} +0 -0
- /package/dist/plugin-sdk/{ip-BkeyFRJr.js → ip-C70a-YlD.js} +0 -0
- /package/dist/plugin-sdk/{memory-search-DHSeU4pJ.js → memory-search-C3C0bD2H.js} +0 -0
- /package/dist/plugin-sdk/{pairing-token-HQpaqod5.js → pairing-token-N_6Jbt1L.js} +0 -0
- /package/dist/plugin-sdk/{path-alias-guards-BlIJ0AmG.js → path-alias-guards-Dg3gU-MA.js} +0 -0
- /package/dist/plugin-sdk/{paths-B88DQEK8.js → paths-CTZ2RS_E.js} +0 -0
- /package/dist/plugin-sdk/{polls-Dy1NsYKT.js → polls-DQrR-qT3.js} +0 -0
- /package/dist/plugin-sdk/{proxy-R5TjOIFS.js → proxy-7xs_rsnV.js} +0 -0
- /package/dist/plugin-sdk/{qmd-scope-C9tRnohc.js → qmd-scope-D1sSG_Rx.js} +0 -0
- /package/dist/plugin-sdk/{redact-CwCz68Mi.js → redact-Bm8vu_ju.js} +0 -0
- /package/dist/plugin-sdk/{redact-identifier-CDvAeiFm.js → redact-identifier-Q3tkvxhm.js} +0 -0
- /package/dist/plugin-sdk/{render-K7NwXvVu.js → render-Bwu_WxwA.js} +0 -0
- /package/dist/plugin-sdk/{reply-prefix-CbPHNXlm.js → reply-prefix-Bqzm6DC1.js} +0 -0
- /package/dist/plugin-sdk/{reply-reference-CWEIswqw.js → reply-reference-BkbK_DWT.js} +0 -0
- /package/dist/plugin-sdk/{retry-DycQ4ymF.js → retry-DstNBhDW.js} +0 -0
- /package/dist/plugin-sdk/{run-with-concurrency-CLARJMM7.js → run-with-concurrency-BsDJWzgM.js} +0 -0
- /package/dist/plugin-sdk/{secure-random-C2EhANj2.js → secure-random-Bl-AVLVb.js} +0 -0
- /package/dist/plugin-sdk/{shared-V35XNAbz.js → shared-clhhbWN3.js} +0 -0
- /package/dist/plugin-sdk/{tailscale-status-BGBRraZW.js → tailscale-status-ClsquRGs.js} +0 -0
- /package/dist/plugin-sdk/{target-errors-C0yNDbGS.js → target-errors-C_SVKoEv.js} +0 -0
- /package/dist/plugin-sdk/{targets-CuTZl1mO.js → targets-BDvvnlph.js} +0 -0
- /package/dist/plugin-sdk/{tokens-Do_JU4Rh.js → tokens-BvtlOzVP.js} +0 -0
- /package/dist/plugin-sdk/{tool-loop-detection-P5u2k0_f.js → tool-loop-detection-CWphm1k_.js} +0 -0
- /package/dist/plugin-sdk/{transcript-events-NZiMKWBK.js → transcript-events-BJQWUdmU.js} +0 -0
- /package/dist/plugin-sdk/{ui-KGr1WRXC.js → ui-e020ouhJ.js} +0 -0
- /package/dist/plugin-sdk/{with-timeout-Dl513q34.js → with-timeout-BYrRAYFV.js} +0 -0
|
@@ -2,7 +2,7 @@ import { resolveDefaultSessionStorePath, resolveSessionTranscriptPathInDir } fro
|
|
|
2
2
|
import { loadSessionStore } from "./store.js";
|
|
3
3
|
import { emitSessionTranscriptUpdate } from "../../sessions/transcript-events.js";
|
|
4
4
|
import { resolveAndPersistSessionFile } from "./session-file.js";
|
|
5
|
-
import
|
|
5
|
+
import syncFs from "node:fs";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
|
|
8
8
|
|
|
@@ -65,10 +65,10 @@ async function resolveSessionTranscriptFile(params) {
|
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
async function ensureSessionHeader(params) {
|
|
68
|
-
if (
|
|
68
|
+
if (syncFs.existsSync(params.sessionFile)) {
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
|
-
await
|
|
71
|
+
await syncFs.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
|
|
72
72
|
const header = {
|
|
73
73
|
type: "session",
|
|
74
74
|
version: CURRENT_SESSION_VERSION,
|
|
@@ -76,7 +76,7 @@ async function ensureSessionHeader(params) {
|
|
|
76
76
|
timestamp: new Date().toISOString(),
|
|
77
77
|
cwd: process.cwd()
|
|
78
78
|
};
|
|
79
|
-
await
|
|
79
|
+
await syncFs.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
|
|
80
80
|
encoding: "utf-8",
|
|
81
81
|
mode: 384
|
|
82
82
|
});
|
package/dist/config/talk.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { coerceSecretRef } from "./types.secrets.js";
|
|
2
|
-
import
|
|
2
|
+
import syncFs from "node:fs";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
|
|
@@ -254,7 +254,7 @@ function buildTalkConfigResponse(value) {
|
|
|
254
254
|
return Object.keys(payload).length > 0 ? payload : undefined;
|
|
255
255
|
}
|
|
256
256
|
function readTalkApiKeyFromProfile(deps = {}) {
|
|
257
|
-
const fsImpl = deps.fs ??
|
|
257
|
+
const fsImpl = deps.fs ?? syncFs;
|
|
258
258
|
const osImpl = deps.os ?? os;
|
|
259
259
|
const pathImpl = deps.path ?? path;
|
|
260
260
|
const home = osImpl.homedir();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./config-FFZLTSLS.js","./icons-D3-vEvih.js","./open-external-url-DwSiwMPl.js","./providers-
|
|
2
|
-
import{n as e,t}from"./index-H-2DWAnH.js";import{a as n,c as r,i,l as a,n as o,o as s,r as c,s as l,t as u,u as d}from"./icons-D3-vEvih.js";import{_ as f,b as p,c as m,d as h,f as g,g as _,h as v,i as y,l as b,m as x,n as S,p as C,r as ee,s as w,t as T,u as E}from"./open-external-url-DwSiwMPl.js";import{B as D,F as te,H as O,I as ne,L as k,U as re,V as A,a as ie,i as j,n as ae,o as oe,r as se,t as M,z as ce}from"./chat-model-ref-DV2P__mw.js";import{a as le,d as ue,i as de,l as fe,o as pe,u as me}from"./marketplace-order-evidence-DkR0ZRHa.js";import{C as he,D as ge,E as N,S as _e,T as ve,_ as ye,a as be,b as xe,c as Se,d as Ce,f as we,g as Te,h as Ee,i as De,l as Oe,m as ke,n as Ae,o as je,p as Me,r as Ne,s as Pe,t as Fe,u as Ie,v as Le,w as Re,x as ze,y as Be}from"./mining-commit-R-6nu87p.js";import{n as Ve,t as He}from"./task-ledger-source-route-C-yTp0QU.js";import{d as Ue,f as We,h as Ge,i as Ke,l as qe,m as Je,n as Ye,o as Xe,p as Ze,r as Qe,s as $e,u as et}from"./wallet-policy-C3ZS66Rl.js";var tt=e=>(t,n)=>{n===void 0?customElements.define(e,t):n.addInitializer(()=>{customElements.define(e,t)})},nt={attribute:!0,type:String,converter:a,reflect:!1,hasChanged:r},rt=(e=nt,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)};function it(e){return(t,n)=>typeof n==`object`?rt(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function P(e){return it({...e,state:!0,attribute:!1})}function at(e,t){return`${e}:${t??``}`}function ot(e){return`install:${e}`}function st(e,t){return`qr:${e}:${t??``}`}function ct(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}var lt={whatsapp:`WhatsApp`,zalouser:`Zalo Personal`};function ut(e,t){return e?.channelLabels?.[t]??lt[t]??t}function dt(e,t){let n=e?.channels?.[t];if(!ct(n)||!ct(n.install))return`fased plugins install ${t}`;let r=n.install.localPath;if(typeof r==`string`&&r.trim())return`fased plugins install ${r.trim()}`;let i=n.install.npmSpec;return`fased plugins install ${typeof i==`string`&&i.trim()?i.trim():t}`}function ft(e,t,n){let r=String(e);if(r.includes(`web login provider is not available`)){let e=t?ut(n??null,t):`Channel`;return`${e} QR login is unavailable because the ${e} channel plugin is not loaded. Enable or install it, restart the gateway, then open Show QR again.`}return r}function pt(e,t,n){let r=e.channelQrLogin[t]??{message:null,qrDataUrl:null,connected:null},i={message:`message`in n?n.message??null:r.message,qrDataUrl:`qrDataUrl`in n?n.qrDataUrl??null:r.qrDataUrl,connected:`connected`in n?n.connected??null:r.connected};e.channelQrLogin={...e.channelQrLogin,[t]:i},t===`whatsapp`&&(e.whatsappLoginMessage=i.message,e.whatsappLoginQrDataUrl=i.qrDataUrl,e.whatsappLoginConnected=i.connected)}async function mt(e,t){if(!(!e.client||!e.connected)&&!e.channelsLoading){e.channelsLoading=!0,e.channelsError=null;try{e.channelsSnapshot=await e.client.request(`channels.status`,{probe:t,timeoutMs:8e3}),e.channelsLastSuccess=Date.now()}catch(t){e.channelsError=ft(t)}finally{e.channelsLoading=!1}}}async function ht(e,t,n,r){if(!e.client||!e.connected)return;let i=at(n,r);if(!e.channelRuntimeBusy[i]){e.channelRuntimeBusy={...e.channelRuntimeBusy,[i]:!0},e.channelsError=null,e.channelsNotice=null;try{await e.client.request(t,{channel:n,...r?{accountId:r}:{}}),await mt(e,!1)}catch(t){e.channelsError=ft(t)}finally{let t={...e.channelRuntimeBusy};delete t[i],e.channelRuntimeBusy=t}}}async function gt(e,t,n){await ht(e,`channels.start`,t,n)}async function _t(e,t,n){await ht(e,`channels.stop`,t,n)}async function vt(e,t,n){if(!e.client||!e.connected)return;let r=at(t,n);if(!e.channelRuntimeBusy[r]){e.channelRuntimeBusy={...e.channelRuntimeBusy,[r]:!0},e.channelsError=null,e.channelsNotice=null;try{let r=await e.client.request(`channels.logout`,{channel:t,...n?{accountId:n}:{}});await mt(e,!0);let i=r.accountId||n,a=`${t}${i?`/${i}`:``}`;e.channelsNotice=r.cleared||r.loggedOut?`Cleared ${a}.`:`No stored credentials were cleared for ${a}.`}catch(t){e.channelsError=ft(t)}finally{let t={...e.channelRuntimeBusy};delete t[r],e.channelRuntimeBusy=t}}}async function yt(e,t){if(!e.client||!e.connected)return;let n=ot(t);if(!e.channelRuntimeBusy[n]){e.channelRuntimeBusy={...e.channelRuntimeBusy,[n]:!0},e.channelsError=null,e.channelsNotice=null;try{let n=await e.client.request(`plugins.marketplace.install`,{id:t});await mt(e,!1),e.channelsNotice=n.requiresRestart?`${n.message} Restart the gateway to load this channel plugin. Until restart, this channel will stay in restart-required state.`:n.message}catch(n){e.channelsError=`${ft(n)}. Manual install: ${dt(e.channelsSnapshot,t)}. Restart the gateway after install.`}finally{let t={...e.channelRuntimeBusy};delete t[n],e.channelRuntimeBusy=t}}}async function bt(e,t,n=!1,r){let i=st(t,r);if(!(!e.client||!e.connected||e.channelRuntimeBusy[i])&&!(t===`whatsapp`&&e.whatsappBusy)){e.channelRuntimeBusy={...e.channelRuntimeBusy,[i]:!0},t===`whatsapp`&&(e.whatsappBusy=!0);try{let i=await e.client.request(`web.login.start`,{channel:t,force:n,timeoutMs:3e4,...r?{accountId:r}:{}});pt(e,t,{message:i.message??null,qrDataUrl:i.qrDataUrl??null,connected:null})}catch(n){pt(e,t,{message:ft(n,t,e.channelsSnapshot),qrDataUrl:null,connected:null})}finally{let n={...e.channelRuntimeBusy};delete n[i],e.channelRuntimeBusy=n,t===`whatsapp`&&(e.whatsappBusy=!1)}}}async function xt(e,t,n){let r=st(t,n);if(!(!e.client||!e.connected||e.channelRuntimeBusy[r])&&!(t===`whatsapp`&&e.whatsappBusy)){e.channelRuntimeBusy={...e.channelRuntimeBusy,[r]:!0},t===`whatsapp`&&(e.whatsappBusy=!0);try{let r=await e.client.request(`web.login.wait`,{channel:t,timeoutMs:12e4,...n?{accountId:n}:{}});pt(e,t,{message:r.message??null,connected:r.connected??null}),r.connected&&(pt(e,t,{qrDataUrl:null}),await mt(e,!0))}catch(n){pt(e,t,{message:ft(n,t,e.channelsSnapshot),connected:null})}finally{let n={...e.channelRuntimeBusy};delete n[r],e.channelRuntimeBusy=n,t===`whatsapp`&&(e.whatsappBusy=!1)}}}async function St(e,t){await bt(e,`whatsapp`,t)}async function Ct(e){await xt(e,`whatsapp`)}async function wt(e){if(!(!e.client||!e.connected||e.whatsappBusy)){e.whatsappBusy=!0;try{await e.client.request(`channels.logout`,{channel:`whatsapp`}),e.whatsappLoginMessage=`Logged out.`,e.whatsappLoginQrDataUrl=null,e.whatsappLoginConnected=null}catch(t){e.whatsappLoginMessage=ft(t,`whatsapp`,e.channelsSnapshot)}finally{e.whatsappBusy=!1}}}function Tt(e,t){let n=e.trim();if(n===``)return;let r=Number(n);return!Number.isFinite(r)||t&&!Number.isInteger(r)?e:r}function Et(e){let t=e.trim();return t===`true`?!0:t===`false`?!1:e}function Dt(e,t){if(e==null)return e;if(t.allOf&&t.allOf.length>0){let n=e;for(let e of t.allOf)n=Dt(n,e);return n}let n=p(t);if(t.anyOf||t.oneOf){let n=(t.anyOf??t.oneOf??[]).filter(e=>!(e.type===`null`||Array.isArray(e.type)&&e.type.includes(`null`)));if(n.length===1)return Dt(e,n[0]);if(typeof e==`string`)for(let t of n){let n=p(t);if(n===`number`||n===`integer`){let t=Tt(e,n===`integer`);if(t===void 0||typeof t==`number`)return t}if(n===`boolean`){let t=Et(e);if(typeof t==`boolean`)return t}}for(let t of n){let n=p(t);if(n===`object`&&typeof e==`object`&&!Array.isArray(e)||n===`array`&&Array.isArray(e))return Dt(e,t)}return e}if(n===`number`||n===`integer`){if(typeof e==`string`){let t=Tt(e,n===`integer`);if(t===void 0||typeof t==`number`)return t}return e}if(n===`boolean`){if(typeof e==`string`){let t=Et(e);if(typeof t==`boolean`)return t}return e}if(n===`object`){if(typeof e!=`object`||Array.isArray(e))return e;let n=e,r=t.properties??{},i=t.additionalProperties&&typeof t.additionalProperties==`object`?t.additionalProperties:null,a={};for(let[e,t]of Object.entries(n)){let n=r[e]??i,o=n?Dt(t,n):t;o!==void 0&&(a[e]=o)}return a}if(n===`array`){if(!Array.isArray(e))return e;if(Array.isArray(t.items)){let n=t.items;return e.map((e,t)=>{let r=t<n.length?n[t]:void 0;return r?Dt(e,r):e})}let n=t.items;return n?e.map(e=>Dt(e,n)).filter(e=>e!==void 0):e}return e}function Ot(e){return typeof structuredClone==`function`?structuredClone(e):JSON.parse(JSON.stringify(e))}function kt(e){return`${JSON.stringify(e,null,2).trimEnd()}\n`}var At=new Set([`__proto__`,`prototype`,`constructor`]);function jt(e){return typeof e==`string`&&At.has(e)}function Mt(e,t,n){if(t.length===0||t.some(jt))return null;let r=e;for(let e=0;e<t.length-1;e+=1){let i=t[e],a=t[e+1];if(typeof i==`number`){if(!Array.isArray(r))return null;if(r[i]==null){if(!n)return null;r[i]=typeof a==`number`?[]:{}}r=r[i];continue}if(typeof r!=`object`||!r)return null;let o=r;if(o[i]==null){if(!n)return null;o[i]=typeof a==`number`?[]:{}}r=o[i]}return{current:r,lastKey:t[t.length-1]}}function Nt(e,t,n){let r=Mt(e,t,!0);if(r){if(typeof r.lastKey==`number`){Array.isArray(r.current)&&(r.current[r.lastKey]=n);return}typeof r.current==`object`&&r.current!=null&&(r.current[r.lastKey]=n)}}function Pt(e,t){let n=Mt(e,t,!1);if(n){if(typeof n.lastKey==`number`){Array.isArray(n.current)&&n.current.splice(n.lastKey,1);return}typeof n.current==`object`&&n.current!=null&&delete n.current[n.lastKey]}}function Ft(e,t){e.configAuthAction=t}function It(e){let t=String(e).trim();return t.startsWith(`Error: `)?t.slice(7):t}function Lt(e,t){let n=It(e);return n.includes(`models.auth.interactive.start`)&&n.includes(t)&&n.includes(`unexpected property`)}function Rt(e){return Lt(e,`replaceRunning`)}function zt(e){return Lt(e,`browserLocal`)}function Bt(e){return{profileId:e.profileId,provider:e.provider??null,actionKind:e.actionKind,tone:e.tone,title:e.title,message:e.message,detail:e.detail,stepType:e.stepType??null,active:e.active??!1,hasUrl:e.hasUrl??!1,url:e.url??null,retryable:e.retryable??!1,prompt:e.prompt??null}}function Vt(e,t){let n=e.configAuthPromptResolver;e.configAuthPromptResolver=null,n?.({cancelled:!1,value:t})}function Ht(e){let t=e.configAuthPromptResolver;e.configAuthPromptResolver=null,t?.({cancelled:!0})}function Ut(e){let t=e.configAuthPromptResolver;e.configAuthPromptResolver=null,e.configAuthActionRunId=(e.configAuthActionRunId??0)+1,Ft(e,null),t?.({cancelled:!0})}function Wt(e,t,n){let r=Jt(t),i=!!r,a=t.title?.trim()||`Continue sign-in`,o=t.message?.trim()||`Follow the next prompt to continue.`,s=i&&o.includes(r??``)?`Open the sign-in link below, then return here.`:o;switch(t.type){case`note`:case`action`:return Bt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,stepType:t.type,active:!0,hasUrl:i,url:r});case`confirm`:return Bt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,detail:`Confirm the browser prompt to keep the sign-in flow moving.`,stepType:t.type,active:!0,hasUrl:i,url:r});case`text`:return Bt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,stepType:t.type,active:!0,hasUrl:i,url:r});case`select`:case`multiselect`:return Bt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,detail:`Choose from the prompt dialog, then return here for the next step.`,stepType:t.type,active:!0,hasUrl:i,url:r});default:return Bt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,stepType:t.type,active:!0,hasUrl:i,url:r})}}async function F(e){if(!(!e.client||!e.connected)){e.configLoading=!0,e.lastError=null;try{let[t,n,r]=await Promise.allSettled([e.client.request(`config.get`,{}),e.client.request(`models.auth.status`,{}),e.client.request(`models.catalog.status`,{})]);if(t.status!==`fulfilled`)throw t.reason;nn(e,t.value),e.configAuthStatus=n.status===`fulfilled`?n.value:null,e.configModelCatalogStatus=r.status===`fulfilled`?r.value:null}catch(t){e.configAuthStatus=null,e.configModelCatalogStatus=null,e.lastError=String(t)}finally{e.configLoading=!1}}}async function Gt(e,t){if(!e.client||!e.connected)return!1;e.configAuthActionBusyProfileId=t.profileId,Ft(e,Bt({profileId:t.profileId,provider:t.provider,actionKind:`store`,tone:`info`,title:`Saving credential for ${t.profileId}`,message:`Updating stored ${t.mode} credential…`,detail:`The provider-auth card will refresh after the credential is stored.`,active:!0})),e.lastError=null;try{let n=await e.client.request(`models.auth.store`,t);return Ft(e,Bt({profileId:n.profileId,provider:t.provider,actionKind:`store`,tone:`success`,title:`Credential updated for ${n.profileId}`,message:`Stored ${n.mode} credential successfully.`,detail:`Live runtime status will refresh below after the reload completes.`})),await F(e),!0}catch(n){return Ft(e,Bt({profileId:t.profileId,provider:t.provider,actionKind:`store`,tone:`danger`,title:`Failed to save credential for ${t.profileId}`,message:`The credential was not updated.`,detail:It(n),retryable:!0})),e.lastError=String(n),!1}finally{e.configAuthActionBusyProfileId=null}}async function Kt(e,t){if(!e.client||!e.connected)return!1;let n=t.provider.trim(),r=t.profileId?.trim()||`${n}:default`;e.configAuthActionBusyProfileId=r,Ft(e,Bt({profileId:r,provider:n,actionKind:`store`,tone:`info`,title:`Configuring ${n}`,message:`Saving the API key and syncing provider model config…`,detail:`This uses the same provider-specific setup path as CLI/onboarding, then refreshes Providers.`,active:!0})),e.lastError=null;try{let i=await e.client.request(`models.auth.configure`,{provider:n,...t.secret?{secret:t.secret}:{},...t.profileId?{profileId:t.profileId}:{},...t.baseUrl?{baseUrl:t.baseUrl}:{},...t.modelId?{modelId:t.modelId}:{},...t.compatibility?{compatibility:t.compatibility}:{},...t.customProviderId?{customProviderId:t.customProviderId}:{},...t.alias?{alias:t.alias}:{},...t.allowPrivateNetwork===void 0?{}:{allowPrivateNetwork:t.allowPrivateNetwork},...t.accountId?{accountId:t.accountId}:{},...t.gatewayId?{gatewayId:t.gatewayId}:{},...t.setDefaultModel===void 0?{}:{setDefaultModel:t.setDefaultModel}});return Ft(e,Bt({profileId:i.profileId??r,provider:i.provider,actionKind:`store`,tone:`success`,title:`${i.provider} configured`,message:i.defaultModel?`Provider auth is ready. Suggested model: ${i.defaultModel}.`:`Provider auth is ready. Choose a default model below.`,detail:i.detail??`Chat and Agents can use this provider after you choose or attach a model.`})),await F(e),!0}catch(t){return Ft(e,Bt({profileId:r,provider:n,actionKind:`store`,tone:`danger`,title:`Failed to configure ${n}`,message:`The provider-specific setup path did not complete.`,detail:It(t),retryable:!0})),e.lastError=String(t),!1}finally{e.configAuthActionBusyProfileId=null}}async function qt(e,t){if(!e.client||!e.connected)return!1;e.configAuthActionBusyProfileId=t,Ft(e,Bt({profileId:t,actionKind:`clear`,tone:`info`,title:`Clearing stored credential for ${t}`,message:`Removing the currently stored credential…`,detail:`The provider-auth card will refresh after the credential is cleared.`,active:!0})),e.lastError=null;try{let n=await e.client.request(`models.auth.clear`,{profileId:t});return Ft(e,Bt({profileId:n.profileId,actionKind:`clear`,tone:n.cleared?`success`:`warn`,title:n.cleared?`Credential cleared for ${n.profileId}`:`No stored credential for ${n.profileId}`,message:n.cleared?`Stored credential removed successfully.`:`There was nothing stored to clear for this profile.`})),await F(e),!0}catch(n){return Ft(e,Bt({profileId:t,actionKind:`clear`,tone:`danger`,title:`Failed to clear credential for ${t}`,message:`The stored credential could not be removed.`,detail:It(n),retryable:!0})),e.lastError=String(n),!1}finally{e.configAuthActionBusyProfileId=null}}function Jt(e){return`${e.title??``}\n${e.message??``}`.match(/https?:\/\/\S+/u)?.[0]??null}function Yt(e){let t=e.title?.trim(),n=e.message?.trim();return t&&n?`${t}\n\n${n}`:t||n||`Continue provider sign-in.`}function Xt(e,t){let n=t.trim();if(!n)return e.initialValue;let r=e.options??[],i=Number.parseInt(n,10);return Number.isFinite(i)&&i>=1&&i<=r.length?r[i-1]?.value:r.find(e=>e.label.toLowerCase()===n.toLowerCase()||String(e.value).toLowerCase()===n.toLowerCase())?.value}function Zt(e,t){let n=t.trim();if(!n)return Array.isArray(e.initialValue)?e.initialValue:[];let r=n.split(`,`).map(e=>e.trim()).filter(Boolean),i=[];for(let t of r){let n=Xt(e,t);if(n===void 0)return;i.push(n)}return i}async function Qt(e,t,n){if(t.type===`note`||t.type===`action`)return{cancelled:!1,value:null};if(typeof window>`u`)throw Error(`Interactive provider auth requires a browser environment.`);if(n===`modal`)return await new Promise(n=>{e.configAuthPromptResolver=n;let r=e.configAuthAction;Ft(e,Bt({profileId:r?.profileId??null,provider:r?.provider,actionKind:r?.actionKind,tone:r?.tone??`info`,title:r?.title??t.title??`Continue sign-in`,message:r?.message??t.message??`Continue provider sign-in.`,detail:r?.detail,stepType:t.type,active:!0,hasUrl:r?.hasUrl,url:r?.url,retryable:r?.retryable,prompt:{stepId:t.id,type:t.type,message:Yt(t),...t.placeholder?{placeholder:t.placeholder}:{},...t.initialValue===void 0?{}:{initialValue:t.initialValue},...t.options?{options:t.options}:{}}}))});if(t.type===`confirm`)return{cancelled:!1,value:window.confirm(Yt(t))};if(t.type===`text`){let e=window.prompt(Yt(t),typeof t.initialValue==`string`?t.initialValue:``);return e===null?{cancelled:!0}:{cancelled:!1,value:e}}if(t.type===`select`){let e=(t.options??[]).map((e,t)=>`${t+1}. ${e.label}${e.hint?` — ${e.hint}`:``}`).join(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./config-FFZLTSLS.js","./icons-D3-vEvih.js","./open-external-url-DwSiwMPl.js","./providers-DqFL6WrJ.js","./chat-model-ref-BbrdMKjQ.js","./federation-D10Q4eP_.js","./marketplace-order-evidence-DkR0ZRHa.js","./task-ledger-source-route-C-yTp0QU.js","./wallet-C2g294QT.js","./wallet-policy-C3ZS66Rl.js","./mining-D_VAMFMY.js","./mining-commit-R-6nu87p.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e,t}from"./index-CFHfNlLv.js";import{a as n,c as r,i,l as a,n as o,o as s,r as c,s as l,t as u,u as d}from"./icons-D3-vEvih.js";import{_ as f,b as p,c as m,d as h,f as g,g as _,h as v,i as y,l as b,m as x,n as S,p as C,r as ee,s as w,t as T,u as E}from"./open-external-url-DwSiwMPl.js";import{B as D,F as te,H as O,I as ne,L as k,U as re,V as A,a as ie,i as j,n as ae,o as oe,r as se,t as M,z as ce}from"./chat-model-ref-BbrdMKjQ.js";import{a as le,d as ue,i as de,l as fe,o as pe,u as me}from"./marketplace-order-evidence-DkR0ZRHa.js";import{C as he,D as ge,E as N,S as _e,T as ve,_ as ye,a as be,b as xe,c as Se,d as Ce,f as we,g as Te,h as Ee,i as De,l as Oe,m as ke,n as Ae,o as je,p as Me,r as Ne,s as Pe,t as Fe,u as Ie,v as Le,w as Re,x as ze,y as Be}from"./mining-commit-R-6nu87p.js";import{n as Ve,t as He}from"./task-ledger-source-route-C-yTp0QU.js";import{d as Ue,f as We,h as Ge,i as Ke,l as qe,m as Je,n as Ye,o as Xe,p as Ze,r as Qe,s as $e,u as et}from"./wallet-policy-C3ZS66Rl.js";var tt=e=>(t,n)=>{n===void 0?customElements.define(e,t):n.addInitializer(()=>{customElements.define(e,t)})},nt={attribute:!0,type:String,converter:a,reflect:!1,hasChanged:r},rt=(e=nt,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)};function it(e){return(t,n)=>typeof n==`object`?rt(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function P(e){return it({...e,state:!0,attribute:!1})}function at(e,t){return`${e}:${t??``}`}function ot(e){return`install:${e}`}function st(e,t){return`qr:${e}:${t??``}`}function ct(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}var lt={whatsapp:`WhatsApp`,zalouser:`Zalo Personal`};function ut(e,t){return e?.channelLabels?.[t]??lt[t]??t}function dt(e,t){let n=e?.channels?.[t];if(!ct(n)||!ct(n.install))return`fased plugins install ${t}`;let r=n.install.localPath;if(typeof r==`string`&&r.trim())return`fased plugins install ${r.trim()}`;let i=n.install.npmSpec;return`fased plugins install ${typeof i==`string`&&i.trim()?i.trim():t}`}function ft(e,t,n){let r=String(e);if(r.includes(`web login provider is not available`)){let e=t?ut(n??null,t):`Channel`;return`${e} QR login is unavailable because the ${e} channel plugin is not loaded. Enable or install it, restart the gateway, then open Show QR again.`}return r}function pt(e,t,n){let r=e.channelQrLogin[t]??{message:null,qrDataUrl:null,connected:null},i={message:`message`in n?n.message??null:r.message,qrDataUrl:`qrDataUrl`in n?n.qrDataUrl??null:r.qrDataUrl,connected:`connected`in n?n.connected??null:r.connected};e.channelQrLogin={...e.channelQrLogin,[t]:i},t===`whatsapp`&&(e.whatsappLoginMessage=i.message,e.whatsappLoginQrDataUrl=i.qrDataUrl,e.whatsappLoginConnected=i.connected)}async function mt(e,t){if(!(!e.client||!e.connected)&&!e.channelsLoading){e.channelsLoading=!0,e.channelsError=null;try{e.channelsSnapshot=await e.client.request(`channels.status`,{probe:t,timeoutMs:8e3}),e.channelsLastSuccess=Date.now()}catch(t){e.channelsError=ft(t)}finally{e.channelsLoading=!1}}}async function ht(e,t,n,r){if(!e.client||!e.connected)return;let i=at(n,r);if(!e.channelRuntimeBusy[i]){e.channelRuntimeBusy={...e.channelRuntimeBusy,[i]:!0},e.channelsError=null,e.channelsNotice=null;try{await e.client.request(t,{channel:n,...r?{accountId:r}:{}}),await mt(e,!1)}catch(t){e.channelsError=ft(t)}finally{let t={...e.channelRuntimeBusy};delete t[i],e.channelRuntimeBusy=t}}}async function gt(e,t,n){await ht(e,`channels.start`,t,n)}async function _t(e,t,n){await ht(e,`channels.stop`,t,n)}async function vt(e,t,n){if(!e.client||!e.connected)return;let r=at(t,n);if(!e.channelRuntimeBusy[r]){e.channelRuntimeBusy={...e.channelRuntimeBusy,[r]:!0},e.channelsError=null,e.channelsNotice=null;try{let r=await e.client.request(`channels.logout`,{channel:t,...n?{accountId:n}:{}});await mt(e,!0);let i=r.accountId||n,a=`${t}${i?`/${i}`:``}`;e.channelsNotice=r.cleared||r.loggedOut?`Cleared ${a}.`:`No stored credentials were cleared for ${a}.`}catch(t){e.channelsError=ft(t)}finally{let t={...e.channelRuntimeBusy};delete t[r],e.channelRuntimeBusy=t}}}async function yt(e,t){if(!e.client||!e.connected)return;let n=ot(t);if(!e.channelRuntimeBusy[n]){e.channelRuntimeBusy={...e.channelRuntimeBusy,[n]:!0},e.channelsError=null,e.channelsNotice=null;try{let n=await e.client.request(`plugins.marketplace.install`,{id:t});await mt(e,!1),e.channelsNotice=n.requiresRestart?`${n.message} Restart the gateway to load this channel plugin. Until restart, this channel will stay in restart-required state.`:n.message}catch(n){e.channelsError=`${ft(n)}. Manual install: ${dt(e.channelsSnapshot,t)}. Restart the gateway after install.`}finally{let t={...e.channelRuntimeBusy};delete t[n],e.channelRuntimeBusy=t}}}async function bt(e,t,n=!1,r){let i=st(t,r);if(!(!e.client||!e.connected||e.channelRuntimeBusy[i])&&!(t===`whatsapp`&&e.whatsappBusy)){e.channelRuntimeBusy={...e.channelRuntimeBusy,[i]:!0},t===`whatsapp`&&(e.whatsappBusy=!0);try{let i=await e.client.request(`web.login.start`,{channel:t,force:n,timeoutMs:3e4,...r?{accountId:r}:{}});pt(e,t,{message:i.message??null,qrDataUrl:i.qrDataUrl??null,connected:null})}catch(n){pt(e,t,{message:ft(n,t,e.channelsSnapshot),qrDataUrl:null,connected:null})}finally{let n={...e.channelRuntimeBusy};delete n[i],e.channelRuntimeBusy=n,t===`whatsapp`&&(e.whatsappBusy=!1)}}}async function xt(e,t,n){let r=st(t,n);if(!(!e.client||!e.connected||e.channelRuntimeBusy[r])&&!(t===`whatsapp`&&e.whatsappBusy)){e.channelRuntimeBusy={...e.channelRuntimeBusy,[r]:!0},t===`whatsapp`&&(e.whatsappBusy=!0);try{let r=await e.client.request(`web.login.wait`,{channel:t,timeoutMs:12e4,...n?{accountId:n}:{}});pt(e,t,{message:r.message??null,connected:r.connected??null}),r.connected&&(pt(e,t,{qrDataUrl:null}),await mt(e,!0))}catch(n){pt(e,t,{message:ft(n,t,e.channelsSnapshot),connected:null})}finally{let n={...e.channelRuntimeBusy};delete n[r],e.channelRuntimeBusy=n,t===`whatsapp`&&(e.whatsappBusy=!1)}}}async function St(e,t){await bt(e,`whatsapp`,t)}async function Ct(e){await xt(e,`whatsapp`)}async function wt(e){if(!(!e.client||!e.connected||e.whatsappBusy)){e.whatsappBusy=!0;try{await e.client.request(`channels.logout`,{channel:`whatsapp`}),e.whatsappLoginMessage=`Logged out.`,e.whatsappLoginQrDataUrl=null,e.whatsappLoginConnected=null}catch(t){e.whatsappLoginMessage=ft(t,`whatsapp`,e.channelsSnapshot)}finally{e.whatsappBusy=!1}}}function Tt(e,t){let n=e.trim();if(n===``)return;let r=Number(n);return!Number.isFinite(r)||t&&!Number.isInteger(r)?e:r}function Et(e){let t=e.trim();return t===`true`?!0:t===`false`?!1:e}function Dt(e,t){if(e==null)return e;if(t.allOf&&t.allOf.length>0){let n=e;for(let e of t.allOf)n=Dt(n,e);return n}let n=p(t);if(t.anyOf||t.oneOf){let n=(t.anyOf??t.oneOf??[]).filter(e=>!(e.type===`null`||Array.isArray(e.type)&&e.type.includes(`null`)));if(n.length===1)return Dt(e,n[0]);if(typeof e==`string`)for(let t of n){let n=p(t);if(n===`number`||n===`integer`){let t=Tt(e,n===`integer`);if(t===void 0||typeof t==`number`)return t}if(n===`boolean`){let t=Et(e);if(typeof t==`boolean`)return t}}for(let t of n){let n=p(t);if(n===`object`&&typeof e==`object`&&!Array.isArray(e)||n===`array`&&Array.isArray(e))return Dt(e,t)}return e}if(n===`number`||n===`integer`){if(typeof e==`string`){let t=Tt(e,n===`integer`);if(t===void 0||typeof t==`number`)return t}return e}if(n===`boolean`){if(typeof e==`string`){let t=Et(e);if(typeof t==`boolean`)return t}return e}if(n===`object`){if(typeof e!=`object`||Array.isArray(e))return e;let n=e,r=t.properties??{},i=t.additionalProperties&&typeof t.additionalProperties==`object`?t.additionalProperties:null,a={};for(let[e,t]of Object.entries(n)){let n=r[e]??i,o=n?Dt(t,n):t;o!==void 0&&(a[e]=o)}return a}if(n===`array`){if(!Array.isArray(e))return e;if(Array.isArray(t.items)){let n=t.items;return e.map((e,t)=>{let r=t<n.length?n[t]:void 0;return r?Dt(e,r):e})}let n=t.items;return n?e.map(e=>Dt(e,n)).filter(e=>e!==void 0):e}return e}function Ot(e){return typeof structuredClone==`function`?structuredClone(e):JSON.parse(JSON.stringify(e))}function kt(e){return`${JSON.stringify(e,null,2).trimEnd()}\n`}var At=new Set([`__proto__`,`prototype`,`constructor`]);function jt(e){return typeof e==`string`&&At.has(e)}function Mt(e,t,n){if(t.length===0||t.some(jt))return null;let r=e;for(let e=0;e<t.length-1;e+=1){let i=t[e],a=t[e+1];if(typeof i==`number`){if(!Array.isArray(r))return null;if(r[i]==null){if(!n)return null;r[i]=typeof a==`number`?[]:{}}r=r[i];continue}if(typeof r!=`object`||!r)return null;let o=r;if(o[i]==null){if(!n)return null;o[i]=typeof a==`number`?[]:{}}r=o[i]}return{current:r,lastKey:t[t.length-1]}}function Nt(e,t,n){let r=Mt(e,t,!0);if(r){if(typeof r.lastKey==`number`){Array.isArray(r.current)&&(r.current[r.lastKey]=n);return}typeof r.current==`object`&&r.current!=null&&(r.current[r.lastKey]=n)}}function Pt(e,t){let n=Mt(e,t,!1);if(n){if(typeof n.lastKey==`number`){Array.isArray(n.current)&&n.current.splice(n.lastKey,1);return}typeof n.current==`object`&&n.current!=null&&delete n.current[n.lastKey]}}function Ft(e,t){e.configAuthAction=t}function It(e){let t=String(e).trim();return t.startsWith(`Error: `)?t.slice(7):t}function Lt(e,t){let n=It(e);return n.includes(`models.auth.interactive.start`)&&n.includes(t)&&n.includes(`unexpected property`)}function Rt(e){return Lt(e,`replaceRunning`)}function zt(e){return Lt(e,`browserLocal`)}function Bt(e){return{profileId:e.profileId,provider:e.provider??null,actionKind:e.actionKind,tone:e.tone,title:e.title,message:e.message,detail:e.detail,stepType:e.stepType??null,active:e.active??!1,hasUrl:e.hasUrl??!1,url:e.url??null,retryable:e.retryable??!1,prompt:e.prompt??null}}function Vt(e,t){let n=e.configAuthPromptResolver;e.configAuthPromptResolver=null,n?.({cancelled:!1,value:t})}function Ht(e){let t=e.configAuthPromptResolver;e.configAuthPromptResolver=null,t?.({cancelled:!0})}function Ut(e){let t=e.configAuthPromptResolver;e.configAuthPromptResolver=null,e.configAuthActionRunId=(e.configAuthActionRunId??0)+1,Ft(e,null),t?.({cancelled:!0})}function Wt(e,t,n){let r=Jt(t),i=!!r,a=t.title?.trim()||`Continue sign-in`,o=t.message?.trim()||`Follow the next prompt to continue.`,s=i&&o.includes(r??``)?`Open the sign-in link below, then return here.`:o;switch(t.type){case`note`:case`action`:return Bt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,stepType:t.type,active:!0,hasUrl:i,url:r});case`confirm`:return Bt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,detail:`Confirm the browser prompt to keep the sign-in flow moving.`,stepType:t.type,active:!0,hasUrl:i,url:r});case`text`:return Bt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,stepType:t.type,active:!0,hasUrl:i,url:r});case`select`:case`multiselect`:return Bt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,detail:`Choose from the prompt dialog, then return here for the next step.`,stepType:t.type,active:!0,hasUrl:i,url:r});default:return Bt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,stepType:t.type,active:!0,hasUrl:i,url:r})}}async function F(e){if(!(!e.client||!e.connected)){e.configLoading=!0,e.lastError=null;try{let[t,n,r]=await Promise.allSettled([e.client.request(`config.get`,{}),e.client.request(`models.auth.status`,{}),e.client.request(`models.catalog.status`,{})]);if(t.status!==`fulfilled`)throw t.reason;nn(e,t.value),e.configAuthStatus=n.status===`fulfilled`?n.value:null,e.configModelCatalogStatus=r.status===`fulfilled`?r.value:null}catch(t){e.configAuthStatus=null,e.configModelCatalogStatus=null,e.lastError=String(t)}finally{e.configLoading=!1}}}async function Gt(e,t){if(!e.client||!e.connected)return!1;e.configAuthActionBusyProfileId=t.profileId,Ft(e,Bt({profileId:t.profileId,provider:t.provider,actionKind:`store`,tone:`info`,title:`Saving credential for ${t.profileId}`,message:`Updating stored ${t.mode} credential…`,detail:`The provider-auth card will refresh after the credential is stored.`,active:!0})),e.lastError=null;try{let n=await e.client.request(`models.auth.store`,t);return Ft(e,Bt({profileId:n.profileId,provider:t.provider,actionKind:`store`,tone:`success`,title:`Credential updated for ${n.profileId}`,message:`Stored ${n.mode} credential successfully.`,detail:`Live runtime status will refresh below after the reload completes.`})),await F(e),!0}catch(n){return Ft(e,Bt({profileId:t.profileId,provider:t.provider,actionKind:`store`,tone:`danger`,title:`Failed to save credential for ${t.profileId}`,message:`The credential was not updated.`,detail:It(n),retryable:!0})),e.lastError=String(n),!1}finally{e.configAuthActionBusyProfileId=null}}async function Kt(e,t){if(!e.client||!e.connected)return!1;let n=t.provider.trim(),r=t.profileId?.trim()||`${n}:default`;e.configAuthActionBusyProfileId=r,Ft(e,Bt({profileId:r,provider:n,actionKind:`store`,tone:`info`,title:`Configuring ${n}`,message:`Saving the API key and syncing provider model config…`,detail:`This uses the same provider-specific setup path as CLI/onboarding, then refreshes Providers.`,active:!0})),e.lastError=null;try{let i=await e.client.request(`models.auth.configure`,{provider:n,...t.secret?{secret:t.secret}:{},...t.profileId?{profileId:t.profileId}:{},...t.baseUrl?{baseUrl:t.baseUrl}:{},...t.modelId?{modelId:t.modelId}:{},...t.compatibility?{compatibility:t.compatibility}:{},...t.customProviderId?{customProviderId:t.customProviderId}:{},...t.alias?{alias:t.alias}:{},...t.allowPrivateNetwork===void 0?{}:{allowPrivateNetwork:t.allowPrivateNetwork},...t.accountId?{accountId:t.accountId}:{},...t.gatewayId?{gatewayId:t.gatewayId}:{},...t.setDefaultModel===void 0?{}:{setDefaultModel:t.setDefaultModel}});return Ft(e,Bt({profileId:i.profileId??r,provider:i.provider,actionKind:`store`,tone:`success`,title:`${i.provider} configured`,message:i.defaultModel?`Provider auth is ready. Suggested model: ${i.defaultModel}.`:`Provider auth is ready. Choose a default model below.`,detail:i.detail??`Chat and Agents can use this provider after you choose or attach a model.`})),await F(e),!0}catch(t){return Ft(e,Bt({profileId:r,provider:n,actionKind:`store`,tone:`danger`,title:`Failed to configure ${n}`,message:`The provider-specific setup path did not complete.`,detail:It(t),retryable:!0})),e.lastError=String(t),!1}finally{e.configAuthActionBusyProfileId=null}}async function qt(e,t){if(!e.client||!e.connected)return!1;e.configAuthActionBusyProfileId=t,Ft(e,Bt({profileId:t,actionKind:`clear`,tone:`info`,title:`Clearing stored credential for ${t}`,message:`Removing the currently stored credential…`,detail:`The provider-auth card will refresh after the credential is cleared.`,active:!0})),e.lastError=null;try{let n=await e.client.request(`models.auth.clear`,{profileId:t});return Ft(e,Bt({profileId:n.profileId,actionKind:`clear`,tone:n.cleared?`success`:`warn`,title:n.cleared?`Credential cleared for ${n.profileId}`:`No stored credential for ${n.profileId}`,message:n.cleared?`Stored credential removed successfully.`:`There was nothing stored to clear for this profile.`})),await F(e),!0}catch(n){return Ft(e,Bt({profileId:t,actionKind:`clear`,tone:`danger`,title:`Failed to clear credential for ${t}`,message:`The stored credential could not be removed.`,detail:It(n),retryable:!0})),e.lastError=String(n),!1}finally{e.configAuthActionBusyProfileId=null}}function Jt(e){return`${e.title??``}\n${e.message??``}`.match(/https?:\/\/\S+/u)?.[0]??null}function Yt(e){let t=e.title?.trim(),n=e.message?.trim();return t&&n?`${t}\n\n${n}`:t||n||`Continue provider sign-in.`}function Xt(e,t){let n=t.trim();if(!n)return e.initialValue;let r=e.options??[],i=Number.parseInt(n,10);return Number.isFinite(i)&&i>=1&&i<=r.length?r[i-1]?.value:r.find(e=>e.label.toLowerCase()===n.toLowerCase()||String(e.value).toLowerCase()===n.toLowerCase())?.value}function Zt(e,t){let n=t.trim();if(!n)return Array.isArray(e.initialValue)?e.initialValue:[];let r=n.split(`,`).map(e=>e.trim()).filter(Boolean),i=[];for(let t of r){let n=Xt(e,t);if(n===void 0)return;i.push(n)}return i}async function Qt(e,t,n){if(t.type===`note`||t.type===`action`)return{cancelled:!1,value:null};if(typeof window>`u`)throw Error(`Interactive provider auth requires a browser environment.`);if(n===`modal`)return await new Promise(n=>{e.configAuthPromptResolver=n;let r=e.configAuthAction;Ft(e,Bt({profileId:r?.profileId??null,provider:r?.provider,actionKind:r?.actionKind,tone:r?.tone??`info`,title:r?.title??t.title??`Continue sign-in`,message:r?.message??t.message??`Continue provider sign-in.`,detail:r?.detail,stepType:t.type,active:!0,hasUrl:r?.hasUrl,url:r?.url,retryable:r?.retryable,prompt:{stepId:t.id,type:t.type,message:Yt(t),...t.placeholder?{placeholder:t.placeholder}:{},...t.initialValue===void 0?{}:{initialValue:t.initialValue},...t.options?{options:t.options}:{}}}))});if(t.type===`confirm`)return{cancelled:!1,value:window.confirm(Yt(t))};if(t.type===`text`){let e=window.prompt(Yt(t),typeof t.initialValue==`string`?t.initialValue:``);return e===null?{cancelled:!0}:{cancelled:!1,value:e}}if(t.type===`select`){let e=(t.options??[]).map((e,t)=>`${t+1}. ${e.label}${e.hint?` — ${e.hint}`:``}`).join(`
|
|
3
3
|
`);for(;;){let n=window.prompt(`${Yt(t)}\n\n${e}\n\nChoose a number or exact value.`,typeof t.initialValue==`string`?t.initialValue:``);if(n===null)return{cancelled:!0};let r=Xt(t,n);if(r!==void 0)return{cancelled:!1,value:r};window.alert(`Invalid selection. Enter a listed number or exact value.`)}}if(t.type===`multiselect`){let e=(t.options??[]).map((e,t)=>`${t+1}. ${e.label}${e.hint?` — ${e.hint}`:``}`).join(`
|
|
4
4
|
`);for(;;){let n=window.prompt(`${Yt(t)}\n\n${e}\n\nChoose one or more values separated by commas.`,Array.isArray(t.initialValue)?t.initialValue.join(`, `):``);if(n===null)return{cancelled:!0};let r=Zt(t,n);if(r!==void 0)return{cancelled:!1,value:r};window.alert(`Invalid selection. Use comma-separated numbers or exact values.`)}}return{cancelled:!1,value:null}}async function $t(e,t){if(!e.client||!e.connected)return!1;let n=(e.configAuthActionRunId??0)+1;e.configAuthActionRunId=n;let r=()=>e.configAuthActionRunId===n;if(e.configAuthPromptResolver){let t=e.configAuthPromptResolver;e.configAuthPromptResolver=null,t({cancelled:!0})}e.configAuthActionBusyProfileId=t.profileId;let i=null,a=null;Ft(e,Bt({profileId:t.profileId,provider:t.provider,actionKind:`interactive`,tone:`info`,title:`Starting sign-in for ${t.profileId}`,message:`Preparing the interactive provider flow…`,detail:`A browser prompt may open depending on the provider method.`,active:!0})),e.lastError=null;try{let n;try{n=await e.client.request(`models.auth.interactive.start`,{provider:t.provider,...t.methodId?{methodId:t.methodId}:{},replaceRunning:!0,...t.browserLocal===!0?{browserLocal:!0}:{}})}catch(r){if(zt(r))try{n=await e.client.request(`models.auth.interactive.start`,{provider:t.provider,...t.methodId?{methodId:t.methodId}:{},replaceRunning:!0})}catch(r){if(!Rt(r))throw r;n=await e.client.request(`models.auth.interactive.start`,{provider:t.provider,...t.methodId?{methodId:t.methodId}:{}})}else if(Rt(r))try{n=await e.client.request(`models.auth.interactive.start`,{provider:t.provider,...t.methodId?{methodId:t.methodId}:{},...t.browserLocal===!0?{browserLocal:!0}:{}})}catch(r){if(!zt(r))throw r;n=await e.client.request(`models.auth.interactive.start`,{provider:t.provider,...t.methodId?{methodId:t.methodId}:{}})}else throw r}if(a=n.sessionId,!a)throw Error(`interactive provider auth did not return a session id`);for(;!n.done;){let o=n.step;if(!o)throw Error(`interactive provider auth did not return a prompt step`);let s=Wt(t.profileId,o,t.provider);s.url&&(i=s.url),Ft(e,s.url||!i?s:{...s,hasUrl:!0,url:i});let c=await Qt(e,o,t.promptMode??`browserPrompt`);if(c.cancelled){let n=r()&&e.configAuthAction!==null;return await e.client.request(`wizard.cancel`,{sessionId:a}),a=null,n&&Ft(e,Bt({profileId:t.profileId,provider:t.provider,actionKind:`interactive`,tone:`warn`,title:`Cancelled sign-in for ${t.profileId}`,message:`Interactive sign-in was cancelled before completion.`,detail:`You can retry from this profile card or reopen the last sign-in page.`,url:i,hasUrl:!!i,retryable:!0})),!1}n={...await e.client.request(`wizard.next`,{sessionId:a,answer:{stepId:o.id,value:c.value}}),sessionId:a}}if(n.status!==`done`)throw Error(n.error??`interactive provider auth ended with status ${n.status}`);return a=null,Ft(e,r()?Bt({profileId:t.profileId,provider:t.provider,actionKind:`interactive`,tone:`success`,title:`Completed sign-in for ${t.profileId}`,message:`Interactive sign-in finished successfully.`,detail:`Live runtime status will refresh below after the reload completes.`,url:i,hasUrl:!!i}):e.configAuthAction),await F(e),!0}catch(n){if(a&&e.client&&e.connected)try{await e.client.request(`wizard.cancel`,{sessionId:a})}catch{}return r()&&Ft(e,Bt({profileId:t.profileId,provider:t.provider,actionKind:`interactive`,tone:`danger`,title:`Sign-in failed for ${t.profileId}`,message:`Interactive provider sign-in did not complete.`,detail:It(n),url:i,hasUrl:!!i,retryable:!0})),e.lastError=String(n),!1}finally{r()&&(e.configAuthActionBusyProfileId=null)}}async function en(e){if(!(!e.client||!e.connected)&&!e.configSchemaLoading){e.configSchemaLoading=!0;try{tn(e,await e.client.request(`config.schema`,{}))}catch(t){e.lastError=String(t)}finally{e.configSchemaLoading=!1}}}function tn(e,t){e.configSchema=t.schema??null,e.configUiHints=t.uiHints??{},e.configSchemaVersion=t.version??null}function nn(e,t){e.configSnapshot=t;let n=typeof t.raw==`string`,r=n?String(t.raw):t.config&&typeof t.config==`object`?kt(t.config):e.configRaw??``;n||(e.configFormMode=`form`),!e.configFormDirty||e.configFormMode===`raw`?e.configRaw=r:e.configForm?e.configRaw=kt(e.configForm):e.configRaw=r,e.configValid=typeof t.valid==`boolean`?t.valid:null,e.configIssues=Array.isArray(t.issues)?t.issues:[],e.configFormDirty||(e.configForm=Ot(t.config??{}),e.configFormOriginal=Ot(t.config??{}),e.configRawOriginal=r)}function rn(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function an(e){if(e.configFormMode!==`form`||!e.configForm)return e.configRaw;let t=rn(e.configSchema);return kt(t?Dt(e.configForm,t):e.configForm)}function on(e){let t=It(e).toLowerCase();return t.includes(`config changed since last load`)||t.includes(`config base hash required`)||t.includes(`config base hash unavailable`)}async function sn(e){if(!e.client||!e.connected)return null;let t=await e.client.request(`config.get`,{});return nn(e,t),typeof t.hash==`string`&&t.hash.trim()?t.hash:null}async function cn(e){if(!(!e.client||!e.connected)){e.configSaving=!0,e.lastError=null;try{let t=an(e),n=e.configSnapshot?.hash;if(!n){e.lastError=`Config hash missing; reload and retry.`;return}try{await e.client.request(`config.set`,{raw:t,baseHash:n})}catch(n){if(!on(n))throw n;let r=await sn(e);if(!r)throw n;await e.client.request(`config.set`,{raw:t,baseHash:r})}e.configFormDirty=!1,await F(e)}catch(t){e.lastError=String(t)}finally{e.configSaving=!1}}}async function ln(e){if(!(!e.client||!e.connected)){e.configApplying=!0,e.lastError=null;try{let t=an(e),n=e.configSnapshot?.hash;if(!n){e.lastError=`Config hash missing; reload and retry.`;return}try{await e.client.request(`config.apply`,{raw:t,baseHash:n,sessionKey:e.applySessionKey})}catch(n){if(!on(n))throw n;let r=await sn(e);if(!r)throw n;await e.client.request(`config.apply`,{raw:t,baseHash:r,sessionKey:e.applySessionKey})}e.configFormDirty=!1,await F(e)}catch(t){e.lastError=String(t)}finally{e.configApplying=!1}}}function I(e,t,n){let r=Ot(e.configForm??e.configSnapshot?.config??{});Nt(r,t,n),e.configForm=r,e.configFormDirty=!0,e.configFormMode===`form`&&(e.configRaw=kt(r))}function un(e,t){let n=Ot(e.configForm??e.configSnapshot?.config??{});Pt(n,t),e.configForm=n,e.configFormDirty=!0,e.configFormMode===`form`&&(e.configRaw=kt(n))}function dn(e){let{values:t,original:n}=e;return t.name!==n.name||t.displayName!==n.displayName||t.about!==n.about||t.picture!==n.picture||t.banner!==n.banner||t.website!==n.website||t.nip05!==n.nip05||t.lud16!==n.lud16}function fn(e){let{state:t,callbacks:r,accountId:i}=e,a=dn(t),o=(e,i,a={})=>{let{type:o=`text`,placeholder:s,maxLength:l,help:u}=a,d=t.values[e]??``,f=t.fieldErrors[e],p=`nostr-profile-${e}`;return o===`textarea`?n`
|
|
5
5
|
<div class="form-field" style="margin-bottom: 12px;">
|
|
@@ -24041,7 +24041,7 @@ ${e.pluginDescription}</pre
|
|
|
24041
24041
|
</section>
|
|
24042
24042
|
</section>
|
|
24043
24043
|
</section>
|
|
24044
|
-
`}var qK=/^data:/i,JK=[{tab:`config`,label:`Config`,icon:u.settings},{tab:`debug`,label:`Debug`,icon:u.bug},{tab:`nodes`,label:`Nodes`,icon:u.monitor}],YK=new Set([`agents`,`chat`,`config`,`debug`,`federation`,`logs`,`marketplace`,`mining`,`nodes`,`notifications`,`skills`,`usage`,`wallet`]),XK=/^https?:\/\//i,ZK={config:()=>t(()=>import(`./config-FFZLTSLS.js`),__vite__mapDeps([0,1,2]),import.meta.url),providers:()=>t(()=>import(`./providers-C9hLw4o6.js`),__vite__mapDeps([3,1,4,0,2]),import.meta.url),federation:()=>t(()=>import(`./federation-D10Q4eP_.js`),__vite__mapDeps([5,1,6,7]),import.meta.url),wallet:()=>t(()=>import(`./wallet-C2g294QT.js`),__vite__mapDeps([8,1,7,9]),import.meta.url),mining:()=>t(()=>import(`./mining-D_VAMFMY.js`),__vite__mapDeps([10,1,11,7]),import.meta.url)},QK={},$K=new Map,eq={};function tq(e){return/failed to fetch dynamically imported module/i.test(e)||/error loading dynamically imported module/i.test(e)||/importing a module script failed/i.test(e)}function nq(e){if(typeof window>`u`)return!1;let t=`fased-control-ui:lazy-tab-reload:${e}`;try{if(window.sessionStorage.getItem(t)===`1`)return!1;window.sessionStorage.setItem(t,`1`)}catch{}return window.location.reload(),!0}function rq(e){let t=e.agentsList?.agents??[],n=Ln(e.sessionKey)?.agentId??e.agentsList?.defaultId??`main`,r=t.find(e=>e.id===n),i=Mq(e,n).entry?.identity,a=e.agentIdentityById[n],o=i?.avatar??a?.avatar??oq(n)??r?.identity?.avatarUrl??r?.identity?.avatar;if(o)return qK.test(o)||XK.test(o)?o:r?.identity?.avatarUrl}var iq=`fased.agentAvatar.`;function aq(e){return`${iq}${encodeURIComponent(e)}`}function oq(e){if(!(typeof window>`u`))try{return window.localStorage.getItem(aq(e))?.trim()||void 0}catch{return}}function sq(e,t){if(!(typeof window>`u`))try{let n=t.trim();n?window.localStorage.setItem(aq(e),n):window.localStorage.removeItem(aq(e))}catch{}}function cq(e){let t=e.skillsReport??e.agentSkillsReport;return{connected:e.connected,loading:e.skillsLoading,report:t,error:e.skillsError,libraryPanel:e.skillsLibraryPanel,filter:e.skillsFilter,statusFilter:e.skillsStatusFilter,edits:e.skillEdits,envEdits:e.skillEnvEdits,configEdits:e.skillConfigEdits,messages:e.skillMessages,createOpen:e.skillCreateOpen,createName:e.skillCreateName,createDescription:e.skillCreateDescription,createAgentId:e.skillCreateAgentId,createTemplate:e.skillCreateTemplate,createBusy:e.skillCreateBusy,createError:e.skillCreateError,busyKey:e.skillsBusyKey,skillEditor:e.skillEditor,skillEditorDraft:e.skillEditorDraft,skillEditorLoading:e.skillEditorLoading,skillEditorSaving:e.skillEditorSaving,skillEditorError:e.skillEditorError,detailKey:e.skillsDetailKey,attachAgentId:e.skillsAttachAgentId,configForm:e.configForm??e.configSnapshot?.config??null,clawhubQuery:e.clawhubSearchQuery,clawhubResults:e.clawhubSearchResults,clawhubSearchLoading:e.clawhubSearchLoading,clawhubSearchError:e.clawhubSearchError,clawhubDetail:e.clawhubDetail,clawhubDetailSlug:e.clawhubDetailSlug,clawhubDetailLoading:e.clawhubDetailLoading,clawhubDetailError:e.clawhubDetailError,clawhubInstallSlug:e.clawhubInstallSlug,clawhubInstallMessage:e.clawhubInstallMessage,clawhubReview:e.clawhubReview,clawhubReviewLoading:e.clawhubReviewLoading,clawhubReviewError:e.clawhubReviewError,clawhubInstallTarget:e.clawhubInstallTarget,agentsList:e.agentsList,onLibraryPanelChange:t=>{e.skillsLibraryPanel=t},onFilterChange:t=>e.skillsFilter=t,onStatusFilterChange:t=>e.skillsStatusFilter=t,onRefresh:()=>Fm(e,{clearMessages:!0}),onToggle:(t,n)=>Hm(e,t,n),onEdit:(t,n)=>Im(e,t,n),onEnvEdit:(t,n,r)=>Lm(e,t,n,r),onConfigEdit:(t,n)=>Rm(e,t,n),onSaveKey:t=>Wm(e,t),onSaveEnv:t=>Gm(e,t),onSaveConfig:t=>Km(e,t),onSaveRootConfig:(t,n,r)=>{lq(e,t,n,r)},onInstall:(t,n,r)=>Qm(e,t,n,r),onTestSkill:(t,n)=>{e.chatMessage=`Use the ${n} skill. Confirm the loaded skill name, then run a smoke test on: "smoke check". Return three lines: Skill, Steps, Result.`,Ym(e),e.skillsDetailKey=null,e.tab=`chat`,e.requestUpdate()},onCopyToWorkspace:(t,n)=>void Jm(e,t,n),onCreateOpen:()=>{zm(e),e.requestUpdate()},onCreateClose:()=>{Bm(e),e.requestUpdate()},onCreateDraftChange:t=>Vm(e,{...t.createName===void 0?{}:{skillCreateName:t.createName},...t.createDescription===void 0?{}:{skillCreateDescription:t.createDescription},...t.createAgentId===void 0?{}:{skillCreateAgentId:t.createAgentId},...t.createTemplate===void 0?{}:{skillCreateTemplate:t.createTemplate}}),onCreateSave:()=>void Um(e),onOpenEditor:t=>void qm(e,t),onCloseEditor:()=>{Ym(e),e.requestUpdate()},onEditorDraftChange:t=>Xm(e,t),onSaveEditor:()=>void Zm(e),onDetailOpen:t=>{Ym(e),e.skillsDetailKey=t,e.requestUpdate()},onDetailClose:()=>{Ym(e),e.skillsDetailKey=null,e.requestUpdate()},onAttachAgentChange:t=>e.skillsAttachAgentId=t,onAttachToAgent:(t,n)=>void Nq(e,t,n),onOpenAgentSkills:t=>{e.agentsSelectedId=t,e.agentsPanel=`skills`,e.tab=`agents`,e.requestUpdate()},onOpenAgentTools:t=>{e.agentsSelectedId=t,e.agentsPanel=`tools`,e.tab=`agents`,e.requestUpdate()},onClawHubQueryChange:t=>{jm(e,t),$m(e,t.trim())},onClawHubTargetChange:t=>Mm(e,t),onClawHubDetailOpen:t=>void eh(e,t),onClawHubDetailClose:()=>th(e),onClawHubInstall:t=>void nh(e,t),onClawHubUpdatePreview:t=>void ih(e,t),onClawHubReviewClose:()=>ah(e),onClawHubReviewConfirm:()=>void oh(e)}}async function lq(e,t,n,r){e.skillsBusyKey=t,e.skillsError=null;try{let i=n.split(`.`).map(e=>e.trim()).filter(Boolean);if(i.length===0)throw Error(`Config path is empty.`);if(I(e,i,r.trim()?JSON.parse(r):{}),await cn(e),e.lastError)throw Error(e.lastError);e.skillMessages={...e.skillMessages,[t]:{kind:`success`,message:`Saved ${n} in gateway config.`}},await Fm(e)}catch(n){let r=n instanceof Error?n.message:String(n);e.skillsError=r,e.skillMessages={...e.skillMessages,[t]:{kind:`error`,message:r}}}finally{e.skillsBusyKey=null,e.requestUpdate()}}function uq(e){return e.chatScheduleDraft.agentId?.trim()||Ln(e.sessionKey)?.agentId?.trim()||e.agentsSelectedId?.trim()||e.agentsList?.defaultId?.trim()||`main`}function dq(e,t){let n=t.trim()||uq(e),r=Ln(e.sessionKey);return!r||!r.rest?`agent:${n}:${e.agentsList?.mainKey?.trim()||`main`}`:r.agentId===n?e.sessionKey:`agent:${n}:${r.rest}`}function fq(e){let t=e.sessionsResult?.sessions?.find(t=>t.key===e.sessionKey),n=t?.deliveryContext??t?.origin??{},r=n.channel?.trim()||t?.lastChannel?.trim()||t?.channel?.trim()||t?.groupChannel?.trim()||``;return!r||r===`webchat`||r===`local`?null:{label:r,delivery:{mode:`announce`,channel:r,to:n.to?.trim()||t?.lastTo?.trim()||void 0,accountId:n.accountId?.trim()||t?.lastAccountId?.trim()||void 0,bestEffort:!0}}}function pq(e){let t=fq(e);e.chatScheduleDraft=Gf(e.chatMessage,{agentId:uq(e),deliveryMode:t?`channel`:`local`})}function mq(e,t){let n=t.trim();!n||e.sessionKey===n||(e.sessionKey=n,e.chatMessage=``,e.chatAttachments=[],e.chatTranscriptSearch=``,e.chatStream=null,e.chatStreamStartedAt=null,e.chatRunId=null,e.chatQueue=[],e.resetToolStream(),e.resetChatScroll(),e.applySettings({...e.settings,sessionKey:n,lastActiveSessionKey:n}),e.loadAssistantIdentity(),fm(e),nv(e),rv(e),Hv(e))}function hq(e){typeof window>`u`||!e||(window.location.hash=e,window.requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`center`})}))}function gq(e,t,n){let r=t.trim();if(!r)return;mq(e,r);let i=n?`#${n}`:``;window.history.pushState({},``,`${e.basePath}/chat?session=${encodeURIComponent(r)}${i}`),e.tab=`chat`}function _q(e,t){let n=He(t);if(n.sessionKey){gq(e,n.sessionKey,n.hash);return}n.taskLedgerSourceFilter&&e.setTaskLedgerSourceFilter(n.taskLedgerSourceFilter),n.walletMainPanel&&(e.walletMainPanel=n.walletMainPanel),n.walletApprovalsFilter&&(e.walletApprovalsFilter=n.walletApprovalsFilter),n.channelsView&&(e.channelsView=n.channelsView),n.agentsPanel&&(e.agentsPanel=n.agentsPanel),n.miningActivityFilter&&(e.miningActivityFilter=n.miningActivityFilter),n.miningActivityWindow&&(e.miningActivityWindow=n.miningActivityWindow),e.setTab(n.tab),hq(n.hash),n.loadChannels&&mt(e,!1),n.loadCron&&e.loadCron()}function vq(e,t){t.sessionKey&&mq(e,t.sessionKey),e.chatScheduleDraft=Zf(t),e.tab=`chat`}function yq(e,t){$u(e,t),e.agentTaskEditingJobId=null,e.agentTaskForm={...Ed,name:`Agent task`,agentId:t,clearAgent:!1,deleteAfterRun:!1,sessionTarget:`isolated`,wakeMode:`now`,payloadKind:`agentTurn`,deliveryMode:`none`,deliveryChannel:`last`},e.agentTaskFieldErrors={},e.agentTaskError=null,e.agentTaskDialogOpen=!0}function bq(e,t){t.agentId&&$u(e,t.agentId),e.agentTaskEditingJobId=t.id,e.agentTaskForm=ff(t,{...Ed,agentId:t.agentId??``}),e.agentTaskFieldErrors={},e.agentTaskError=null,e.agentTaskDialogOpen=!0}function xq(e){yq(e,e.agentsList?.defaultId??e.agentsList?.mainKey??`main`)}function Sq(e){yq(e,e.agentsList?.defaultId??e.agentsList?.mainKey??`main`),wq(e,Kd(`aom-strategy`))}function Cq(e){e.agentTaskDialogOpen=!1,e.agentTaskEditingJobId=null,e.agentTaskFieldErrors={},e.agentTaskError=null}function wq(e,t){e.agentTaskForm={...e.agentTaskForm,...t},e.agentTaskFieldErrors=Zd(e.agentTaskForm),e.agentTaskError=null}function Tq(e){return M(e).value}function Eq(e,t){let n=t.find(t=>Tq(t)===e);return n?M(n).label:se(e)||e}function Dq(e,t){return t?.trim()||e.agentsList?.defaultId||e.agentsList?.mainKey||`main`}function Oq(e,t){let n=Dq(e,t),r=e.configSnapshot?.config,i=[e.configForm,r].filter(e=>!!(e&&typeof e==`object`)),a=i.map(e=>JS(e,n));return a.find(e=>e.entry)||a.find(e=>e.defaults)||JS(i[0]??null,n)}function kq(e,t){let n=Dq(e,t),r=e.agentsList?.agents?.find(e=>e.id===n),i=Oq(e,n),a=nC(i.entry?.modelProviders),o=tC(i.entry?.activeModelProvider)??``,s=o?a[o]??{}:{},c=Object.values(a).flatMap(e=>[e.primary,...e.fallbacks??[],...Object.values(e.taskModels??{})]),l=QS(i.entry?.model)??QS(i.defaults?.model)??QS(r?.model)??s.primary,u=$S(i.entry?.model)??$S(i.defaults?.model)??$S(r?.model)??s.fallbacks??[],d=[...Object.values(eC(i.defaults?.taskModels)??{}),...Object.values(eC(i.entry?.taskModels)??{})];return Array.from(new Set([l,...u,...d,...c].filter(e=>!!e?.trim()))).map(t=>({value:t,label:Eq(t,e.chatModelCatalog??[])}))}function Aq(e,t){let n=Dq(e,t),r=e.agentsList?.agents?.find(e=>e.id===n),i=Oq(e,n),a=nC(i.entry?.modelProviders),o=tC(i.entry?.activeModelProvider)??``,s=o?a[o]??{}:{},c=eC(i.entry?.taskModels)??{},l=eC(i.defaults?.taskModels)??{},u=s.taskModels??{};return{main:(QS(i.entry?.model)??QS(i.defaults?.model)??QS(r?.model)??s.primary)?.trim()||void 0,cheapCheck:c.cheapCheck??u.cheapCheck??l.cheapCheck,strong:c.strong??u.strong??l.strong,escalation:c.escalation??u.escalation??l.escalation}}function jq(e,t){let n=t?.trim();return n?Eq(n,e.chatModelCatalog??[]):`Default`}function Mq(e,t){let n=(e.configForm??e.configSnapshot?.config)?.agents?.list;if(Array.isArray(n)){let e=n.findIndex(e=>e&&typeof e==`object`&&`id`in e&&e.id===t);return{basePath:e>=0?[`agents`,`list`,e]:null,index:e,entry:e>=0?n[e]:null}}return n&&typeof n==`object`&&t in n?{basePath:[`agents`,`list`,t],index:-1,entry:n[t]}:{basePath:null,index:-1,entry:null}}async function Nq(e,t,n){let r=(e.skillsReport?.skills.find(e=>e.skillKey===t))?.name?.trim()||t.trim(),i=n.trim()||e.agentsList?.defaultId||`main`;if(!r||!i)return;let{basePath:a,entry:o}=Mq(e,i);if(!a){e.skillMessages={...e.skillMessages,[t]:{kind:`error`,message:`Load config before changing Agent skill access.`}};return}let s=Array.isArray(o?.skills)?o.skills.map(e=>String(e).trim()).filter(Boolean):null;if(s===null){e.agentsSelectedId=i,e.agentsPanel=`skills`,e.tab=`agents`,e.skillMessages={...e.skillMessages,[t]:{kind:`success`,message:`Agent already inherits all enabled skills. Opened Agent > Skills.`}};return}if(s.includes(r)){e.skillMessages={...e.skillMessages,[t]:{kind:`success`,message:`Skill is already allowed on this Agent.`}};return}e.skillsBusyKey=t,e.skillMessages={...e.skillMessages,[t]:{kind:`success`,message:`Allowing ${r} on ${i}...`}};try{if(I(e,[...a,`skills`],[...s,r]),await cn(e),e.lastError)throw Error(e.lastError);e.skillMessages={...e.skillMessages,[t]:{kind:`success`,message:`Allowed ${r} on ${i}.`}}}catch(n){e.skillMessages={...e.skillMessages,[t]:{kind:`error`,message:String(n)}}}finally{e.skillsBusyKey=null}}function Pq(e){let t=e.probe&&typeof e.probe==`object`&&`ok`in e.probe?!!e.probe.ok:!1;return!!(e.connected||e.running||t||e.enabled||e.configured)}function Fq(e,t){return e.channelsSnapshot?.channelMeta?.find(e=>e.id===t)?.label||e.channelsSnapshot?.channelLabels?.[t]||t}function Iq(e){return encodeURIComponent(e)}function Lq(e){try{return decodeURIComponent(e)}catch{return e}}function Rq(e,t){return`channel:${Iq(e)}:${Iq(t)}`}function zq(e){return e.deliveryMode===`webhook`?`webhook`:e.deliveryMode===`announce`?Rq(e.deliveryChannel.trim()||`last`,e.deliveryAccountId.trim()):`none`}function Bq(e,t){let n=[{value:`none`,label:`No delivery`},{value:`webhook`,label:`Webhook`}],r=e.channelsSnapshot,i=new Set(n.map(e=>e.value));if(r){let t=new Set([...r.channelOrder??[],...r.channelMeta?.map(e=>e.id)??[],...Object.keys(r.channelAccounts??{})]);for(let a of t){let t=r.channelAccounts?.[a]??[];for(let r of t){if(!Pq(r))continue;let t=r.accountId?.trim()||``,o=Rq(a,t);if(i.has(o))continue;i.add(o);let s=Fq(e,a),c=r.name?.trim()||t||`default`;n.push({value:o,label:`${s} · ${c}`,detail:t})}}}let a=zq(t);return!i.has(a)&&t.deliveryMode===`announce`&&n.push({value:a,label:`${Fq(e,t.deliveryChannel)} · current account`,detail:t.deliveryAccountId}),n}function Vq(e,t){if(t===`none`){e({deliveryMode:`none`,deliveryChannel:`last`,deliveryAccountId:``,deliveryTo:``});return}if(t===`webhook`){e({deliveryMode:`webhook`,deliveryChannel:`last`,deliveryAccountId:``});return}let n=t.match(/^channel:([^:]*):(.*)$/);if(!n){e({deliveryMode:`none`});return}let r=Lq(n[1]??``),i=Lq(n[2]??``);e({deliveryMode:`announce`,deliveryChannel:r||`last`,deliveryAccountId:i,deliveryTo:``})}function Hq(e){Cq(e),e.tab=`agents`,e.agentsPanel=`channels`}function Uq(e,t){return e.agentSkillsAgentId!==t||!e.agentSkillsReport?.skills?[]:e.agentSkillsReport.skills.map(e=>{let t=e,n=t.skillKey?.trim()||t.name?.trim()||``;return{id:n,label:t.name?.trim()||n,description:t.description?.trim()||``,disabled:t.disabled===!0}}).filter(e=>e.id&&!e.disabled).toSorted((e,t)=>e.label.localeCompare(t.label))}function Wq(e){let t=e.agentsList?.agents??[];return t.length>0?t.map(e=>({id:e.id,label:ky(e)})):[{id:`main`,label:`Assistant`}]}function Gq(e){return Array.from(new Set(e.split(`,`).map(e=>e.trim()).filter(Boolean)))}function Kq(e,t,n){t({allowedSkills:Array.from(new Set([...Gq(e.agentTaskForm.allowedSkills),n.trim()].filter(Boolean))).join(`, `),skillScope:`selected`})}function qq(e,t,n){t({allowedSkills:Gq(e.allowedSkills).filter(e=>e!==n).join(`, `)})}function Jq(e,t){return t.find(t=>t.id===e)?.label??e}function Yq(e,t,n){let r=Oq(e,t.agentId||`main`);return Array.isArray(r.entry?.skills)?r.entry.skills.map(e=>e.trim()).filter(Boolean):n.map(e=>e.id)}function Xq(e){let t=Yq(e.state,e.form,e.skillOptions),r=e.state.agentSkillsAgentId===(e.form.agentId||`main`),i=t.length===0?`No Agent skills`:t.length===e.skillOptions.length?`All Agent skills (${t.length})`:`${t.length} Agent skills`,a=t.slice(0,8),o=Math.max(0,t.length-a.length);return e.form.skillScope===`none`?n`
|
|
24044
|
+
`}var qK=/^data:/i,JK=[{tab:`config`,label:`Config`,icon:u.settings},{tab:`debug`,label:`Debug`,icon:u.bug},{tab:`nodes`,label:`Nodes`,icon:u.monitor}],YK=new Set([`agents`,`chat`,`config`,`debug`,`federation`,`logs`,`marketplace`,`mining`,`nodes`,`notifications`,`skills`,`usage`,`wallet`]),XK=/^https?:\/\//i,ZK={config:()=>t(()=>import(`./config-FFZLTSLS.js`),__vite__mapDeps([0,1,2]),import.meta.url),providers:()=>t(()=>import(`./providers-DqFL6WrJ.js`),__vite__mapDeps([3,1,4,0,2]),import.meta.url),federation:()=>t(()=>import(`./federation-D10Q4eP_.js`),__vite__mapDeps([5,1,6,7]),import.meta.url),wallet:()=>t(()=>import(`./wallet-C2g294QT.js`),__vite__mapDeps([8,1,7,9]),import.meta.url),mining:()=>t(()=>import(`./mining-D_VAMFMY.js`),__vite__mapDeps([10,1,11,7]),import.meta.url)},QK={},$K=new Map,eq={};function tq(e){return/failed to fetch dynamically imported module/i.test(e)||/error loading dynamically imported module/i.test(e)||/importing a module script failed/i.test(e)}function nq(e){if(typeof window>`u`)return!1;let t=`fased-control-ui:lazy-tab-reload:${e}`;try{if(window.sessionStorage.getItem(t)===`1`)return!1;window.sessionStorage.setItem(t,`1`)}catch{}return window.location.reload(),!0}function rq(e){let t=e.agentsList?.agents??[],n=Ln(e.sessionKey)?.agentId??e.agentsList?.defaultId??`main`,r=t.find(e=>e.id===n),i=Mq(e,n).entry?.identity,a=e.agentIdentityById[n],o=i?.avatar??a?.avatar??oq(n)??r?.identity?.avatarUrl??r?.identity?.avatar;if(o)return qK.test(o)||XK.test(o)?o:r?.identity?.avatarUrl}var iq=`fased.agentAvatar.`;function aq(e){return`${iq}${encodeURIComponent(e)}`}function oq(e){if(!(typeof window>`u`))try{return window.localStorage.getItem(aq(e))?.trim()||void 0}catch{return}}function sq(e,t){if(!(typeof window>`u`))try{let n=t.trim();n?window.localStorage.setItem(aq(e),n):window.localStorage.removeItem(aq(e))}catch{}}function cq(e){let t=e.skillsReport??e.agentSkillsReport;return{connected:e.connected,loading:e.skillsLoading,report:t,error:e.skillsError,libraryPanel:e.skillsLibraryPanel,filter:e.skillsFilter,statusFilter:e.skillsStatusFilter,edits:e.skillEdits,envEdits:e.skillEnvEdits,configEdits:e.skillConfigEdits,messages:e.skillMessages,createOpen:e.skillCreateOpen,createName:e.skillCreateName,createDescription:e.skillCreateDescription,createAgentId:e.skillCreateAgentId,createTemplate:e.skillCreateTemplate,createBusy:e.skillCreateBusy,createError:e.skillCreateError,busyKey:e.skillsBusyKey,skillEditor:e.skillEditor,skillEditorDraft:e.skillEditorDraft,skillEditorLoading:e.skillEditorLoading,skillEditorSaving:e.skillEditorSaving,skillEditorError:e.skillEditorError,detailKey:e.skillsDetailKey,attachAgentId:e.skillsAttachAgentId,configForm:e.configForm??e.configSnapshot?.config??null,clawhubQuery:e.clawhubSearchQuery,clawhubResults:e.clawhubSearchResults,clawhubSearchLoading:e.clawhubSearchLoading,clawhubSearchError:e.clawhubSearchError,clawhubDetail:e.clawhubDetail,clawhubDetailSlug:e.clawhubDetailSlug,clawhubDetailLoading:e.clawhubDetailLoading,clawhubDetailError:e.clawhubDetailError,clawhubInstallSlug:e.clawhubInstallSlug,clawhubInstallMessage:e.clawhubInstallMessage,clawhubReview:e.clawhubReview,clawhubReviewLoading:e.clawhubReviewLoading,clawhubReviewError:e.clawhubReviewError,clawhubInstallTarget:e.clawhubInstallTarget,agentsList:e.agentsList,onLibraryPanelChange:t=>{e.skillsLibraryPanel=t},onFilterChange:t=>e.skillsFilter=t,onStatusFilterChange:t=>e.skillsStatusFilter=t,onRefresh:()=>Fm(e,{clearMessages:!0}),onToggle:(t,n)=>Hm(e,t,n),onEdit:(t,n)=>Im(e,t,n),onEnvEdit:(t,n,r)=>Lm(e,t,n,r),onConfigEdit:(t,n)=>Rm(e,t,n),onSaveKey:t=>Wm(e,t),onSaveEnv:t=>Gm(e,t),onSaveConfig:t=>Km(e,t),onSaveRootConfig:(t,n,r)=>{lq(e,t,n,r)},onInstall:(t,n,r)=>Qm(e,t,n,r),onTestSkill:(t,n)=>{e.chatMessage=`Use the ${n} skill. Confirm the loaded skill name, then run a smoke test on: "smoke check". Return three lines: Skill, Steps, Result.`,Ym(e),e.skillsDetailKey=null,e.tab=`chat`,e.requestUpdate()},onCopyToWorkspace:(t,n)=>void Jm(e,t,n),onCreateOpen:()=>{zm(e),e.requestUpdate()},onCreateClose:()=>{Bm(e),e.requestUpdate()},onCreateDraftChange:t=>Vm(e,{...t.createName===void 0?{}:{skillCreateName:t.createName},...t.createDescription===void 0?{}:{skillCreateDescription:t.createDescription},...t.createAgentId===void 0?{}:{skillCreateAgentId:t.createAgentId},...t.createTemplate===void 0?{}:{skillCreateTemplate:t.createTemplate}}),onCreateSave:()=>void Um(e),onOpenEditor:t=>void qm(e,t),onCloseEditor:()=>{Ym(e),e.requestUpdate()},onEditorDraftChange:t=>Xm(e,t),onSaveEditor:()=>void Zm(e),onDetailOpen:t=>{Ym(e),e.skillsDetailKey=t,e.requestUpdate()},onDetailClose:()=>{Ym(e),e.skillsDetailKey=null,e.requestUpdate()},onAttachAgentChange:t=>e.skillsAttachAgentId=t,onAttachToAgent:(t,n)=>void Nq(e,t,n),onOpenAgentSkills:t=>{e.agentsSelectedId=t,e.agentsPanel=`skills`,e.tab=`agents`,e.requestUpdate()},onOpenAgentTools:t=>{e.agentsSelectedId=t,e.agentsPanel=`tools`,e.tab=`agents`,e.requestUpdate()},onClawHubQueryChange:t=>{jm(e,t),$m(e,t.trim())},onClawHubTargetChange:t=>Mm(e,t),onClawHubDetailOpen:t=>void eh(e,t),onClawHubDetailClose:()=>th(e),onClawHubInstall:t=>void nh(e,t),onClawHubUpdatePreview:t=>void ih(e,t),onClawHubReviewClose:()=>ah(e),onClawHubReviewConfirm:()=>void oh(e)}}async function lq(e,t,n,r){e.skillsBusyKey=t,e.skillsError=null;try{let i=n.split(`.`).map(e=>e.trim()).filter(Boolean);if(i.length===0)throw Error(`Config path is empty.`);if(I(e,i,r.trim()?JSON.parse(r):{}),await cn(e),e.lastError)throw Error(e.lastError);e.skillMessages={...e.skillMessages,[t]:{kind:`success`,message:`Saved ${n} in gateway config.`}},await Fm(e)}catch(n){let r=n instanceof Error?n.message:String(n);e.skillsError=r,e.skillMessages={...e.skillMessages,[t]:{kind:`error`,message:r}}}finally{e.skillsBusyKey=null,e.requestUpdate()}}function uq(e){return e.chatScheduleDraft.agentId?.trim()||Ln(e.sessionKey)?.agentId?.trim()||e.agentsSelectedId?.trim()||e.agentsList?.defaultId?.trim()||`main`}function dq(e,t){let n=t.trim()||uq(e),r=Ln(e.sessionKey);return!r||!r.rest?`agent:${n}:${e.agentsList?.mainKey?.trim()||`main`}`:r.agentId===n?e.sessionKey:`agent:${n}:${r.rest}`}function fq(e){let t=e.sessionsResult?.sessions?.find(t=>t.key===e.sessionKey),n=t?.deliveryContext??t?.origin??{},r=n.channel?.trim()||t?.lastChannel?.trim()||t?.channel?.trim()||t?.groupChannel?.trim()||``;return!r||r===`webchat`||r===`local`?null:{label:r,delivery:{mode:`announce`,channel:r,to:n.to?.trim()||t?.lastTo?.trim()||void 0,accountId:n.accountId?.trim()||t?.lastAccountId?.trim()||void 0,bestEffort:!0}}}function pq(e){let t=fq(e);e.chatScheduleDraft=Gf(e.chatMessage,{agentId:uq(e),deliveryMode:t?`channel`:`local`})}function mq(e,t){let n=t.trim();!n||e.sessionKey===n||(e.sessionKey=n,e.chatMessage=``,e.chatAttachments=[],e.chatTranscriptSearch=``,e.chatStream=null,e.chatStreamStartedAt=null,e.chatRunId=null,e.chatQueue=[],e.resetToolStream(),e.resetChatScroll(),e.applySettings({...e.settings,sessionKey:n,lastActiveSessionKey:n}),e.loadAssistantIdentity(),fm(e),nv(e),rv(e),Hv(e))}function hq(e){typeof window>`u`||!e||(window.location.hash=e,window.requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`center`})}))}function gq(e,t,n){let r=t.trim();if(!r)return;mq(e,r);let i=n?`#${n}`:``;window.history.pushState({},``,`${e.basePath}/chat?session=${encodeURIComponent(r)}${i}`),e.tab=`chat`}function _q(e,t){let n=He(t);if(n.sessionKey){gq(e,n.sessionKey,n.hash);return}n.taskLedgerSourceFilter&&e.setTaskLedgerSourceFilter(n.taskLedgerSourceFilter),n.walletMainPanel&&(e.walletMainPanel=n.walletMainPanel),n.walletApprovalsFilter&&(e.walletApprovalsFilter=n.walletApprovalsFilter),n.channelsView&&(e.channelsView=n.channelsView),n.agentsPanel&&(e.agentsPanel=n.agentsPanel),n.miningActivityFilter&&(e.miningActivityFilter=n.miningActivityFilter),n.miningActivityWindow&&(e.miningActivityWindow=n.miningActivityWindow),e.setTab(n.tab),hq(n.hash),n.loadChannels&&mt(e,!1),n.loadCron&&e.loadCron()}function vq(e,t){t.sessionKey&&mq(e,t.sessionKey),e.chatScheduleDraft=Zf(t),e.tab=`chat`}function yq(e,t){$u(e,t),e.agentTaskEditingJobId=null,e.agentTaskForm={...Ed,name:`Agent task`,agentId:t,clearAgent:!1,deleteAfterRun:!1,sessionTarget:`isolated`,wakeMode:`now`,payloadKind:`agentTurn`,deliveryMode:`none`,deliveryChannel:`last`},e.agentTaskFieldErrors={},e.agentTaskError=null,e.agentTaskDialogOpen=!0}function bq(e,t){t.agentId&&$u(e,t.agentId),e.agentTaskEditingJobId=t.id,e.agentTaskForm=ff(t,{...Ed,agentId:t.agentId??``}),e.agentTaskFieldErrors={},e.agentTaskError=null,e.agentTaskDialogOpen=!0}function xq(e){yq(e,e.agentsList?.defaultId??e.agentsList?.mainKey??`main`)}function Sq(e){yq(e,e.agentsList?.defaultId??e.agentsList?.mainKey??`main`),wq(e,Kd(`aom-strategy`))}function Cq(e){e.agentTaskDialogOpen=!1,e.agentTaskEditingJobId=null,e.agentTaskFieldErrors={},e.agentTaskError=null}function wq(e,t){e.agentTaskForm={...e.agentTaskForm,...t},e.agentTaskFieldErrors=Zd(e.agentTaskForm),e.agentTaskError=null}function Tq(e){return M(e).value}function Eq(e,t){let n=t.find(t=>Tq(t)===e);return n?M(n).label:se(e)||e}function Dq(e,t){return t?.trim()||e.agentsList?.defaultId||e.agentsList?.mainKey||`main`}function Oq(e,t){let n=Dq(e,t),r=e.configSnapshot?.config,i=[e.configForm,r].filter(e=>!!(e&&typeof e==`object`)),a=i.map(e=>JS(e,n));return a.find(e=>e.entry)||a.find(e=>e.defaults)||JS(i[0]??null,n)}function kq(e,t){let n=Dq(e,t),r=e.agentsList?.agents?.find(e=>e.id===n),i=Oq(e,n),a=nC(i.entry?.modelProviders),o=tC(i.entry?.activeModelProvider)??``,s=o?a[o]??{}:{},c=Object.values(a).flatMap(e=>[e.primary,...e.fallbacks??[],...Object.values(e.taskModels??{})]),l=QS(i.entry?.model)??QS(i.defaults?.model)??QS(r?.model)??s.primary,u=$S(i.entry?.model)??$S(i.defaults?.model)??$S(r?.model)??s.fallbacks??[],d=[...Object.values(eC(i.defaults?.taskModels)??{}),...Object.values(eC(i.entry?.taskModels)??{})];return Array.from(new Set([l,...u,...d,...c].filter(e=>!!e?.trim()))).map(t=>({value:t,label:Eq(t,e.chatModelCatalog??[])}))}function Aq(e,t){let n=Dq(e,t),r=e.agentsList?.agents?.find(e=>e.id===n),i=Oq(e,n),a=nC(i.entry?.modelProviders),o=tC(i.entry?.activeModelProvider)??``,s=o?a[o]??{}:{},c=eC(i.entry?.taskModels)??{},l=eC(i.defaults?.taskModels)??{},u=s.taskModels??{};return{main:(QS(i.entry?.model)??QS(i.defaults?.model)??QS(r?.model)??s.primary)?.trim()||void 0,cheapCheck:c.cheapCheck??u.cheapCheck??l.cheapCheck,strong:c.strong??u.strong??l.strong,escalation:c.escalation??u.escalation??l.escalation}}function jq(e,t){let n=t?.trim();return n?Eq(n,e.chatModelCatalog??[]):`Default`}function Mq(e,t){let n=(e.configForm??e.configSnapshot?.config)?.agents?.list;if(Array.isArray(n)){let e=n.findIndex(e=>e&&typeof e==`object`&&`id`in e&&e.id===t);return{basePath:e>=0?[`agents`,`list`,e]:null,index:e,entry:e>=0?n[e]:null}}return n&&typeof n==`object`&&t in n?{basePath:[`agents`,`list`,t],index:-1,entry:n[t]}:{basePath:null,index:-1,entry:null}}async function Nq(e,t,n){let r=(e.skillsReport?.skills.find(e=>e.skillKey===t))?.name?.trim()||t.trim(),i=n.trim()||e.agentsList?.defaultId||`main`;if(!r||!i)return;let{basePath:a,entry:o}=Mq(e,i);if(!a){e.skillMessages={...e.skillMessages,[t]:{kind:`error`,message:`Load config before changing Agent skill access.`}};return}let s=Array.isArray(o?.skills)?o.skills.map(e=>String(e).trim()).filter(Boolean):null;if(s===null){e.agentsSelectedId=i,e.agentsPanel=`skills`,e.tab=`agents`,e.skillMessages={...e.skillMessages,[t]:{kind:`success`,message:`Agent already inherits all enabled skills. Opened Agent > Skills.`}};return}if(s.includes(r)){e.skillMessages={...e.skillMessages,[t]:{kind:`success`,message:`Skill is already allowed on this Agent.`}};return}e.skillsBusyKey=t,e.skillMessages={...e.skillMessages,[t]:{kind:`success`,message:`Allowing ${r} on ${i}...`}};try{if(I(e,[...a,`skills`],[...s,r]),await cn(e),e.lastError)throw Error(e.lastError);e.skillMessages={...e.skillMessages,[t]:{kind:`success`,message:`Allowed ${r} on ${i}.`}}}catch(n){e.skillMessages={...e.skillMessages,[t]:{kind:`error`,message:String(n)}}}finally{e.skillsBusyKey=null}}function Pq(e){let t=e.probe&&typeof e.probe==`object`&&`ok`in e.probe?!!e.probe.ok:!1;return!!(e.connected||e.running||t||e.enabled||e.configured)}function Fq(e,t){return e.channelsSnapshot?.channelMeta?.find(e=>e.id===t)?.label||e.channelsSnapshot?.channelLabels?.[t]||t}function Iq(e){return encodeURIComponent(e)}function Lq(e){try{return decodeURIComponent(e)}catch{return e}}function Rq(e,t){return`channel:${Iq(e)}:${Iq(t)}`}function zq(e){return e.deliveryMode===`webhook`?`webhook`:e.deliveryMode===`announce`?Rq(e.deliveryChannel.trim()||`last`,e.deliveryAccountId.trim()):`none`}function Bq(e,t){let n=[{value:`none`,label:`No delivery`},{value:`webhook`,label:`Webhook`}],r=e.channelsSnapshot,i=new Set(n.map(e=>e.value));if(r){let t=new Set([...r.channelOrder??[],...r.channelMeta?.map(e=>e.id)??[],...Object.keys(r.channelAccounts??{})]);for(let a of t){let t=r.channelAccounts?.[a]??[];for(let r of t){if(!Pq(r))continue;let t=r.accountId?.trim()||``,o=Rq(a,t);if(i.has(o))continue;i.add(o);let s=Fq(e,a),c=r.name?.trim()||t||`default`;n.push({value:o,label:`${s} · ${c}`,detail:t})}}}let a=zq(t);return!i.has(a)&&t.deliveryMode===`announce`&&n.push({value:a,label:`${Fq(e,t.deliveryChannel)} · current account`,detail:t.deliveryAccountId}),n}function Vq(e,t){if(t===`none`){e({deliveryMode:`none`,deliveryChannel:`last`,deliveryAccountId:``,deliveryTo:``});return}if(t===`webhook`){e({deliveryMode:`webhook`,deliveryChannel:`last`,deliveryAccountId:``});return}let n=t.match(/^channel:([^:]*):(.*)$/);if(!n){e({deliveryMode:`none`});return}let r=Lq(n[1]??``),i=Lq(n[2]??``);e({deliveryMode:`announce`,deliveryChannel:r||`last`,deliveryAccountId:i,deliveryTo:``})}function Hq(e){Cq(e),e.tab=`agents`,e.agentsPanel=`channels`}function Uq(e,t){return e.agentSkillsAgentId!==t||!e.agentSkillsReport?.skills?[]:e.agentSkillsReport.skills.map(e=>{let t=e,n=t.skillKey?.trim()||t.name?.trim()||``;return{id:n,label:t.name?.trim()||n,description:t.description?.trim()||``,disabled:t.disabled===!0}}).filter(e=>e.id&&!e.disabled).toSorted((e,t)=>e.label.localeCompare(t.label))}function Wq(e){let t=e.agentsList?.agents??[];return t.length>0?t.map(e=>({id:e.id,label:ky(e)})):[{id:`main`,label:`Assistant`}]}function Gq(e){return Array.from(new Set(e.split(`,`).map(e=>e.trim()).filter(Boolean)))}function Kq(e,t,n){t({allowedSkills:Array.from(new Set([...Gq(e.agentTaskForm.allowedSkills),n.trim()].filter(Boolean))).join(`, `),skillScope:`selected`})}function qq(e,t,n){t({allowedSkills:Gq(e.allowedSkills).filter(e=>e!==n).join(`, `)})}function Jq(e,t){return t.find(t=>t.id===e)?.label??e}function Yq(e,t,n){let r=Oq(e,t.agentId||`main`);return Array.isArray(r.entry?.skills)?r.entry.skills.map(e=>e.trim()).filter(Boolean):n.map(e=>e.id)}function Xq(e){let t=Yq(e.state,e.form,e.skillOptions),r=e.state.agentSkillsAgentId===(e.form.agentId||`main`),i=t.length===0?`No Agent skills`:t.length===e.skillOptions.length?`All Agent skills (${t.length})`:`${t.length} Agent skills`,a=t.slice(0,8),o=Math.max(0,t.length-a.length);return e.form.skillScope===`none`?n`
|
|
24045
24045
|
<div class="agent-task-dialog__skill-summary" data-state="none">
|
|
24046
24046
|
<div>
|
|
24047
24047
|
<strong>No skills for this task</strong>
|
|
@@ -25414,4 +25414,4 @@ Payload:
|
|
|
25414
25414
|
<li>After replacement, revoke devices that are lost, stale, or no longer operator-controlled.</li>
|
|
25415
25415
|
</ul>
|
|
25416
25416
|
`),this.walletActionMessage=this.nativeWalletCustodyHelperAvailable()?`Opened a printable device handoff for ${e}. Move it to the second trusted device or client and then verify unlock there.`:`Opened a printable device handoff for ${e}. Move it to the second device and then verify unlock there.`}async handleWalletApplyRecommendedPolicy(){await this.handleWalletPatchSettings({policyTemplate:`recommended`})}async handleWalletInitializeCustody(){if(this.walletActionBusy)return;let e=this.currentWalletCustodyWalletId();if(!e){this.walletError=`Select a wallet first.`;return}this.walletActionBusy=!0,this.walletActionMessage=null,this.walletError=null;try{let t=await this.resolveWalletCustodyApproval({operation:`wallet.custody-init`,walletId:e,includeStorageKey:this.walletCustodyRememberDeviceShare&&!this.nativeWalletCustodyHelperAvailable()}),n=await Fr(t.approvalToken,e);this.walletCustodyDeviceShare=n.deviceShare,this.walletCustodyRecoveryShare=n.recoveryShare,this.walletCustodyRecoveryInput=``,this.walletCustodyEnrollLabel=``,this.walletCustodyEnrolledDeviceShare=``,this.walletCustodyLoadedForWalletId=n.walletId;let r=await this.persistWalletCustodyDeviceShareIfNeeded(n.walletId,n.deviceShare,t),i=n.signerRestarted===!1?` Signer restart needs retry: ${n.signerRestartError??`unknown error`}`:``;this.walletActionMessage=r?`Wallet security enabled for ${n.walletId}. The wallet is locked by default; unlock with passkey before signing. Device share was not stored on this client: ${r}${i}`:`Wallet security enabled for ${n.walletId}. The wallet is locked by default; unlock with passkey before signing. Store the recovery share offline and separate from this device.${i}`,await this.handleWalletLoad()}catch(e){let t=String(e);this.walletError=t.includes(`no self-hosted local-signer keystores`)?`Custody init failed: this wallet has no local signer key yet. Create or import the wallet key before enabling split-key.`:`Custody init failed: ${t}`}finally{this.walletActionBusy=!1}}async handleWalletRecoverCustody(){if(this.walletActionBusy)return;let e=this.currentWalletCustodyWalletId();if(!e){this.walletError=`Select a wallet first.`;return}let t=this.walletCustodyRecoveryInput.trim();if(!t){this.walletError=`Paste the offline recovery share for this wallet first.`;return}this.walletActionBusy=!0,this.walletActionMessage=null,this.walletError=null;try{let n=await this.resolveWalletCustodyApproval({operation:`wallet.custody-recover`,walletId:e,includeStorageKey:this.walletCustodyRememberDeviceShare&&!this.nativeWalletCustodyHelperAvailable()}),r=await Ir(n.approvalToken,t,e);this.walletCustodyDeviceShare=r.deviceShare,this.walletCustodyRecoveryShare=r.recoveryShare,this.walletCustodyRecoveryInput=``,this.walletCustodyEnrollLabel=``,this.walletCustodyEnrolledDeviceShare=``,this.walletCustodyLoadedForWalletId=r.walletId;let i=await this.persistWalletCustodyDeviceShareIfNeeded(r.walletId,r.deviceShare,n);this.walletActionMessage=i?`Recovered ${r.walletId} and rotated to a new device share. The wallet remains locked until passkey unlock. Client-side storage unchanged: ${i}`:`Recovered ${r.walletId} and rotated to a new device share. Export the new recovery share now; the wallet remains locked until passkey unlock.`,await this.handleWalletLoad()}catch(e){this.walletError=`Custody recovery failed: ${String(e)}`}finally{this.walletActionBusy=!1}}async handleWalletEnrollCustodyDevice(){if(this.walletActionBusy)return;let e=this.currentWalletCustodyWalletId();if(!e){this.walletError=`Select a wallet first.`;return}let t=this.walletCustodyDeviceShare.trim();this.walletActionBusy=!0,this.walletActionMessage=null,this.walletError=null;try{let n=await this.hasStoredWalletCustodyDeviceShareOnClient(e),r=await this.resolveWalletCustodyApproval({operation:`wallet.custody-enroll-device`,walletId:e,includeStorageKey:!this.nativeWalletCustodyHelperAvailable()&&!t&&n}),i=t;if(!i&&n){if(!r.storageKeyBase64&&!this.nativeWalletCustodyHelperAvailable())throw Error(`This browser stores only an encrypted device share. Unlock with a PRF-capable passkey browser or paste the raw device share to enroll another device.`);i=await this.loadStoredWalletCustodyDeviceShareFromClient({walletId:e,storageKeyBase64:r.storageKeyBase64,prompt:`Authenticate to load the stored device share for ${e}.`})}if(!i)throw Error(`Current device share is required to enroll another device.`);let a=await zr({approvalToken:r.approvalToken,walletId:e,deviceShare:i,label:this.walletCustodyEnrollLabel});this.walletCustodyEnrolledDeviceShare=a.deviceShare,this.walletCustodyEnrollLabel=a.label||this.walletCustodyEnrollLabel,await this.handleWalletLoad(),this.walletActionMessage=this.nativeWalletCustodyHelperAvailable()?`Created a second-device handoff for ${e}. Export the new device share once and open it on the second trusted device or browser.`:`Created a second-device handoff for ${e}. Export the new device share once and open it on the second device.`}catch(e){this.walletError=`Device enrollment failed: ${String(e)}`}finally{this.walletActionBusy=!1}}async handleWalletRevokeCustodyDevice(e){if(this.walletActionBusy)return;let t=this.currentWalletCustodyWalletId();if(!t){this.walletError=`Select a wallet first.`;return}let n=e.trim();if(!n){this.walletError=`Select a device first.`;return}let r=this.walletCustodyDeviceShare.trim();this.walletActionBusy=!0,this.walletActionMessage=null,this.walletError=null;try{let e=await this.hasStoredWalletCustodyDeviceShareOnClient(t),i=await this.resolveWalletCustodyApproval({operation:`wallet.custody-revoke-device`,walletId:t,includeStorageKey:!this.nativeWalletCustodyHelperAvailable()&&!r&&e}),a=r;if(!a&&e){if(!i.storageKeyBase64&&!this.nativeWalletCustodyHelperAvailable())throw Error(`This browser stores only an encrypted device share. Unlock with a PRF-capable passkey browser or paste the raw device share to revoke a device.`);a=await this.loadStoredWalletCustodyDeviceShareFromClient({walletId:t,storageKeyBase64:i.storageKeyBase64,prompt:`Authenticate to load the stored device share for ${t}.`})}if(!a)throw Error(`Current device share is required to revoke another device.`);let o=await Br({approvalToken:i.approvalToken,walletId:t,deviceId:n,deviceShare:a});this.walletCustodyEnrolledDeviceShare=``,await this.handleWalletLoad(),this.walletActionMessage=`Revoked ${o.removedDeviceLabel||o.removedDeviceId} for ${t}.`}catch(e){this.walletError=`Device revoke failed: ${String(e)}`}finally{this.walletActionBusy=!1}}async handleWalletDisableCustody(e){if(this.walletActionBusy)return;let t=e?.trim()||this.currentWalletCustodyWalletId();if(!t){this.walletError=`Select a wallet first.`;return}let n=this.walletCustodyDeviceShare.trim(),r=this.walletCustodyRecoveryInput.trim();this.walletActionBusy=!0,this.walletActionMessage=null,this.walletError=null;try{let e=await this.hasStoredWalletCustodyDeviceShareOnClient(t),i=await this.resolveWalletCustodyApproval({operation:`wallet.custody-disable`,walletId:t,includeStorageKey:!this.nativeWalletCustodyHelperAvailable()&&!n&&!r&&e}),a=n;if(!a&&!r&&e){if(!i.storageKeyBase64&&!this.nativeWalletCustodyHelperAvailable())throw Error(`This browser stores only an encrypted device share. Unlock with a PRF-capable passkey browser, paste the device share, or paste the recovery share to disable wallet security.`);a=await this.loadStoredWalletCustodyDeviceShareFromClient({walletId:t,storageKeyBase64:i.storageKeyBase64,prompt:`Authenticate to load the stored device share for ${t}.`})}if(!a&&!r)throw Error(`Device share or recovery share is required to disable wallet security.`);let o=await Vr({approvalToken:i.approvalToken,walletId:t,deviceShare:a,recoveryShare:r});await this.clearStoredWalletCustodyDeviceShareOnClient(t),this.walletCustodyDeviceShare=``,this.walletCustodyRecoveryShare=``,this.walletCustodyRecoveryInput=``,this.walletCustodyEnrollLabel=``,this.walletCustodyEnrolledDeviceShare=``,this.walletCustodyDeviceShareStored=!1,this.walletCustodyLoadedForWalletId=t,this.walletActionMessage=o.signerRestarted===!1?`Wallet security disabled for ${t}. Signer restart needs retry: ${o.signerRestartError??`unknown error`}`:`Wallet security disabled for ${t}.`,await this.handleWalletLoad()}catch(e){this.walletError=`Disable wallet security failed: ${String(e)}`}finally{this.walletActionBusy=!1}}async handleWalletUnlockCustody(){if(this.walletActionBusy)return;let e=this.walletDetailsWalletId.trim()||this.walletSendCreateForm.walletId?.trim()||void 0;if(this.walletStatus||await this.handleWalletLoad(),this.walletStatus?.custody?.mode!==`split-key-active`){this.walletError=`Split-key custody mode is not active.`;return}if(!e){this.walletError=`Select a wallet before unlocking custody.`;return}this.walletActionBusy=!0,this.walletActionMessage=null,this.walletError=null;try{let t=this.walletCustodyDeviceShare.trim(),n=await this.hasStoredWalletCustodyDeviceShareOnClient(e),r=!this.nativeWalletCustodyHelperAvailable()&&(!t&&n||this.walletCustodyRememberDeviceShare),i=await this.resolveWalletCustodyApproval({operation:`wallet.custody-unlock`,walletId:e,includeStorageKey:r}),a=t;if(!a&&n){if(!i.storageKeyBase64&&!this.nativeWalletCustodyHelperAvailable())throw Error(`Stored device share could not be unlocked on this device.`);a=await this.loadStoredWalletCustodyDeviceShareFromClient({walletId:e,storageKeyBase64:i.storageKeyBase64,prompt:`Authenticate to load the stored device share for ${e}.`})}if(!a)throw Error(`Device share is required to unlock custody.`);let o=await Pr(i.approvalToken,a,e,iX(this.walletCustodyUnlockMinutes));this.walletCustodyDeviceShare=a;let s=e?await this.persistWalletCustodyDeviceShareIfNeeded(e,a,i):null,c=nX(o.session.expiresAt);this.walletActionMessage=s?`Signing window unlocked until ${c}. Browser storage unchanged: ${s}`:`Signing window unlocked until ${c}.`,this.walletStatus&&(!e||o.custody.target.walletId===e)&&(this.walletStatus={...this.walletStatus,custody:o.custody}),await this.handleWalletLoad(),this.walletStatus&&(!e||o.custody.target.walletId===e)&&(this.walletStatus={...this.walletStatus,custody:o.custody})}catch(e){this.walletError=`Custody unlock failed: ${String(e)}`}finally{this.walletActionBusy=!1}}async handleWalletRefreshCustody(e=!1){let t=this.currentWalletCustodyWalletId();if(!t)return;let n=this.walletCustodyDeviceShare.trim()||await this.loadStoredWalletCustodyDeviceShareFromClient({walletId:t,prompt:`Authenticate to refresh the signing window for ${t}.`});if(!n){e||(this.walletError=`Device share is required to refresh custody unlock. Unlock the wallet again if only an encrypted browser copy is available.`);return}try{let r=await Lr(n,t,iX(this.walletCustodyUnlockMinutes));this.walletCustodyDeviceShare=n,this.walletCustodyLoadedForWalletId=t,this.walletStatus&&this.walletStatus.custody.target.walletId===t&&(this.walletStatus={...this.walletStatus,custody:r.custody}),e||(this.walletActionMessage=`Signing window extended until ${nX(r.session.expiresAt)}.`)}catch(t){e||(this.walletError=`Custody refresh failed: ${String(t)}`)}finally{this.scheduleWalletCustodyRefresh()}}async handleWalletLockCustody(){if(this.walletActionBusy)return;let e=this.currentWalletCustodyWalletId();if(!e){this.walletError=`Select a wallet first.`;return}this.walletActionBusy=!0,this.walletActionMessage=null,this.walletError=null;try{let t=await Rr(e);this.walletStatus&&this.walletStatus.custody.target.walletId===e&&(this.walletStatus={...this.walletStatus,custody:t.custody}),this.clearWalletCustodyRefreshTimer(),this.walletActionMessage=`Signing window locked for ${e}.`,await this.handleWalletLoad()}catch(e){this.walletError=`Custody lock failed: ${String(e)}`}finally{this.walletActionBusy=!1}}async handleAbortChat(){await wv(this)}removeQueuedMessage(e){Nv(this,e)}async handleSendChat(e,t){await Fv(this,e,t)}async handleWhatsAppStart(e){await mn(this,e)}async handleWhatsAppWait(){await hn(this)}async handleWhatsAppLogout(){await gn(this)}async handleChannelQrStart(e,t=!1,n){await _n(this,e,t,n)}async handleChannelQrWait(e,t){await vn(this,e,t)}async handleChannelLogout(e,t){await yn(this,e,t)}async handleChannelInstall(e){await bn(this,e)}cancelChannelConfirmAction(){xn(this)}async confirmChannelAction(){await Sn(this)}async handleChannelEnable(e){await Cn(this,e)}async handleChannelConfigSave(){await wn(this)}async handleChannelConfigReload(){await Tn(this)}handleNostrProfileEdit(e,t){jn(this,e,t)}handleNostrProfileCancel(){Mn(this)}handleNostrProfileFieldChange(e,t){Nn(this,e,t)}async handleNostrProfileSave(){await Fn(this)}async handleNostrProfileImport(){await In(this)}handleNostrProfileToggleAdvanced(){Pn(this)}async handleExecApprovalDecision(e){let t=this.execApprovalQueue[0];if(!(!t||!this.client||this.execApprovalBusy)){this.execApprovalBusy=!0,this.execApprovalError=null;try{await this.client.request(`exec.approval.resolve`,{id:t.id,decision:e}),this.execApprovalQueue=this.execApprovalQueue.filter(e=>e.id!==t.id)}catch(e){this.execApprovalError=`Exec approval failed: ${String(e)}`}finally{this.execApprovalBusy=!1}}}handleGatewayUrlConfirm(){let e=this.pendingGatewayUrl;if(!e)return;let t=this.pendingGatewayToken?.trim()??``;this.pendingGatewayUrl=null,this.pendingGatewayToken=null,Fg(this,{...this.settings,gatewayUrl:e,...t?{token:t}:{}}),this.connect()}handleGatewayUrlCancel(){this.pendingGatewayUrl=null,this.pendingGatewayToken=null}handleOpenSidebar(e){this.sidebarCloseTimer!=null&&(window.clearTimeout(this.sidebarCloseTimer),this.sidebarCloseTimer=null),this.sidebarContent=e,this.sidebarError=null,this.sidebarOpen=!0}handleCloseSidebar(){this.sidebarOpen=!1,this.sidebarCloseTimer!=null&&window.clearTimeout(this.sidebarCloseTimer),this.sidebarCloseTimer=window.setTimeout(()=>{this.sidebarOpen||(this.sidebarContent=null,this.sidebarError=null,this.sidebarCloseTimer=null)},200)}handleSplitRatioChange(e){let t=Math.max(.4,Math.min(.7,e));this.splitRatio=t,this.applySettings({...this.settings,splitRatio:t})}setLoginTokenCandidate(e){this.loginTokenCandidate=e}render(){if(this.uiRuntimeError)return this.renderUiRuntimeError(this.uiRuntimeError);try{return SJ(this)}catch(e){let t=e instanceof Error?e.stack??e.message:String(e);return queueMicrotask(()=>this.reportUiRuntimeError(t)),this.renderUiRuntimeError(t)}}};G([P()],$.prototype,`settings`,void 0),G([P()],$.prototype,`password`,void 0),G([P()],$.prototype,`loginShowGatewayToken`,void 0),G([P()],$.prototype,`loginShowGatewayPassword`,void 0),G([P()],$.prototype,`tab`,void 0),G([P()],$.prototype,`onboarding`,void 0),G([P()],$.prototype,`connected`,void 0),G([P()],$.prototype,`theme`,void 0),G([P()],$.prototype,`themeResolved`,void 0),G([P()],$.prototype,`hello`,void 0),G([P()],$.prototype,`lastError`,void 0),G([P()],$.prototype,`lastErrorCode`,void 0),G([P()],$.prototype,`uiRuntimeError`,void 0),G([P()],$.prototype,`eventLog`,void 0),G([P()],$.prototype,`serverVersion`,void 0),G([P()],$.prototype,`updateAvailable`,void 0),G([P()],$.prototype,`assistantName`,void 0),G([P()],$.prototype,`assistantAvatar`,void 0),G([P()],$.prototype,`assistantAgentId`,void 0),G([P()],$.prototype,`sessionKey`,void 0),G([P()],$.prototype,`sessionsSubscriptionActive`,void 0),G([P()],$.prototype,`sessionsLastEventAt`,void 0),G([P()],$.prototype,`sessionMessagesSubscriptionActive`,void 0),G([P()],$.prototype,`subscribedSessionMessageKey`,void 0),G([P()],$.prototype,`sessionMessageLastEventAt`,void 0),G([P()],$.prototype,`chatLoading`,void 0),G([P()],$.prototype,`chatSending`,void 0),G([P()],$.prototype,`chatMessage`,void 0),G([P()],$.prototype,`chatMessages`,void 0),G([P()],$.prototype,`chatToolMessages`,void 0),G([P()],$.prototype,`chatStream`,void 0),G([P()],$.prototype,`chatStreamSegments`,void 0),G([P()],$.prototype,`chatStreamStartedAt`,void 0),G([P()],$.prototype,`chatRunId`,void 0),G([P()],$.prototype,`compactionStatus`,void 0),G([P()],$.prototype,`fallbackStatus`,void 0),G([P()],$.prototype,`chatAvatarUrl`,void 0),G([P()],$.prototype,`chatThinkingLevel`,void 0),G([P()],$.prototype,`chatQueue`,void 0),G([P()],$.prototype,`chatAttachments`,void 0),G([P()],$.prototype,`chatManualRefreshInFlight`,void 0),G([P()],$.prototype,`chatModelsLoading`,void 0),G([P()],$.prototype,`chatModelCatalog`,void 0),G([P()],$.prototype,`providerModelCatalog`,void 0),G([P()],$.prototype,`chatModelOverrides`,void 0),G([P()],$.prototype,`chatModelPatchInFlight`,void 0),G([P()],$.prototype,`chatModelPatchSessionKey`,void 0),G([P()],$.prototype,`chatModelPatchLabel`,void 0),G([P()],$.prototype,`chatSessionSearch`,void 0),G([P()],$.prototype,`chatSessionSearchOpen`,void 0),G([P()],$.prototype,`chatSessionListLimit`,void 0),G([P()],$.prototype,`chatTranscriptSearch`,void 0),G([P()],$.prototype,`chatTranscriptSearchIndex`,void 0),G([P()],$.prototype,`chatScheduleDraft`,void 0),G([P()],$.prototype,`chatSessionUsage`,void 0),G([P()],$.prototype,`chatSessionUsageLoading`,void 0),G([P()],$.prototype,`chatSessionUsageError`,void 0),G([P()],$.prototype,`sidebarOpen`,void 0),G([P()],$.prototype,`sidebarContent`,void 0),G([P()],$.prototype,`sidebarError`,void 0),G([P()],$.prototype,`splitRatio`,void 0),G([P()],$.prototype,`nodesLoading`,void 0),G([P()],$.prototype,`nodes`,void 0),G([P()],$.prototype,`commandsCatalogLoading`,void 0),G([P()],$.prototype,`commandsCatalogError`,void 0),G([P()],$.prototype,`commandsCatalog`,void 0),G([P()],$.prototype,`commandsCatalogScope`,void 0),G([P()],$.prototype,`devicesLoading`,void 0),G([P()],$.prototype,`devicesError`,void 0),G([P()],$.prototype,`devicesList`,void 0),G([P()],$.prototype,`execApprovalsLoading`,void 0),G([P()],$.prototype,`execApprovalsSaving`,void 0),G([P()],$.prototype,`execApprovalsDirty`,void 0),G([P()],$.prototype,`execApprovalsSnapshot`,void 0),G([P()],$.prototype,`sendModalVisible`,void 0),G([P()],$.prototype,`execApprovalsForm`,void 0),G([P()],$.prototype,`execApprovalsSelectedAgent`,void 0),G([P()],$.prototype,`execApprovalsTarget`,void 0),G([P()],$.prototype,`execApprovalsTargetNodeId`,void 0),G([P()],$.prototype,`execApprovalQueue`,void 0),G([P()],$.prototype,`execApprovalBusy`,void 0),G([P()],$.prototype,`execApprovalError`,void 0),G([P()],$.prototype,`pendingGatewayUrl`,void 0),G([P()],$.prototype,`pendingGatewayToken`,void 0),G([P()],$.prototype,`loginGrantInput`,void 0),G([P()],$.prototype,`loginGrantPending`,void 0),G([P()],$.prototype,`loginGrantError`,void 0),G([P()],$.prototype,`loginTokenPending`,void 0),G([P()],$.prototype,`loginTokenError`,void 0),G([P()],$.prototype,`loginTokenCandidate`,void 0),G([P()],$.prototype,`authBootstrapPending`,void 0),G([P()],$.prototype,`authNotice`,void 0),G([P()],$.prototype,`authSessionExpiresAt`,void 0),G([P()],$.prototype,`authSessionIdleTimeoutSeconds`,void 0),G([P()],$.prototype,`overviewAdvancedUnlocked`,void 0),G([P()],$.prototype,`overviewSecretsRevealUntilMs`,void 0),G([P()],$.prototype,`dashboardLayout`,void 0),G([P()],$.prototype,`dashboardWidgetDrawerOpen`,void 0),G([P()],$.prototype,`configLoading`,void 0),G([P()],$.prototype,`configRaw`,void 0),G([P()],$.prototype,`configRawOriginal`,void 0),G([P()],$.prototype,`configValid`,void 0),G([P()],$.prototype,`configIssues`,void 0),G([P()],$.prototype,`configSaving`,void 0),G([P()],$.prototype,`configApplying`,void 0),G([P()],$.prototype,`updateRunning`,void 0),G([P()],$.prototype,`applySessionKey`,void 0),G([P()],$.prototype,`configSnapshot`,void 0),G([P()],$.prototype,`configAuthStatus`,void 0),G([P()],$.prototype,`configModelCatalogStatus`,void 0),G([P()],$.prototype,`configAuthActionBusyProfileId`,void 0),G([P()],$.prototype,`configAuthAction`,void 0),G([P()],$.prototype,`configSchema`,void 0),G([P()],$.prototype,`configSchemaVersion`,void 0),G([P()],$.prototype,`configSchemaLoading`,void 0),G([P()],$.prototype,`configUiHints`,void 0),G([P()],$.prototype,`configForm`,void 0),G([P()],$.prototype,`configFormOriginal`,void 0),G([P()],$.prototype,`configFormDirty`,void 0),G([P()],$.prototype,`configFormMode`,void 0),G([P()],$.prototype,`configSearchQuery`,void 0),G([P()],$.prototype,`configActiveSection`,void 0),G([P()],$.prototype,`configActiveSubsection`,void 0),G([P()],$.prototype,`servicesWebSearchTesting`,void 0),G([P()],$.prototype,`servicesWebSearchTestMessage`,void 0),G([P()],$.prototype,`servicesCapabilities`,void 0),G([P()],$.prototype,`servicesCapabilitiesLoading`,void 0),G([P()],$.prototype,`servicesWebSearchProviders`,void 0),G([P()],$.prototype,`servicesWebSearchProvidersLoading`,void 0),G([P()],$.prototype,`servicesGmailProvisioning`,void 0),G([P()],$.prototype,`servicesGmailProvisionMessage`,void 0),G([P()],$.prototype,`channelsLoading`,void 0),G([P()],$.prototype,`channelsSnapshot`,void 0),G([P()],$.prototype,`channelsError`,void 0),G([P()],$.prototype,`channelsNotice`,void 0),G([P()],$.prototype,`channelsLastSuccess`,void 0),G([P()],$.prototype,`channelsView`,void 0),G([P()],$.prototype,`channelRuntimeBusy`,void 0),G([P()],$.prototype,`channelConfirmAction`,void 0),G([P()],$.prototype,`channelQrLogin`,void 0),G([P()],$.prototype,`whatsappLoginMessage`,void 0),G([P()],$.prototype,`whatsappLoginQrDataUrl`,void 0),G([P()],$.prototype,`whatsappLoginConnected`,void 0),G([P()],$.prototype,`whatsappBusy`,void 0),G([P()],$.prototype,`nostrProfileFormState`,void 0),G([P()],$.prototype,`nostrProfileAccountId`,void 0),G([P()],$.prototype,`presenceLoading`,void 0),G([P()],$.prototype,`presenceEntries`,void 0),G([P()],$.prototype,`presenceError`,void 0),G([P()],$.prototype,`presenceStatus`,void 0),G([P()],$.prototype,`agentsLoading`,void 0),G([P()],$.prototype,`agentsList`,void 0),G([P()],$.prototype,`agentsError`,void 0),G([P()],$.prototype,`agentsSelectedId`,void 0),G([P()],$.prototype,`agentsCreateBusy`,void 0),G([P()],$.prototype,`agentsCreateMessage`,void 0),G([P()],$.prototype,`agentsPanel`,void 0),G([P()],$.prototype,`agentFilesLoading`,void 0),G([P()],$.prototype,`agentFilesError`,void 0),G([P()],$.prototype,`agentFilesList`,void 0),G([P()],$.prototype,`agentFileContents`,void 0),G([P()],$.prototype,`agentFileDrafts`,void 0),G([P()],$.prototype,`agentFileActive`,void 0),G([P()],$.prototype,`agentFileSaving`,void 0),G([P()],$.prototype,`agentIdentityLoading`,void 0),G([P()],$.prototype,`agentIdentityError`,void 0),G([P()],$.prototype,`agentIdentityById`,void 0),G([P()],$.prototype,`agentSkillsLoading`,void 0),G([P()],$.prototype,`agentSkillsError`,void 0),G([P()],$.prototype,`agentSkillsReport`,void 0),G([P()],$.prototype,`agentSkillsAgentId`,void 0),G([P()],$.prototype,`toolsCatalogLoading`,void 0),G([P()],$.prototype,`toolsCatalogError`,void 0),G([P()],$.prototype,`toolsCatalogResult`,void 0),G([P()],$.prototype,`toolsEffectiveLoading`,void 0),G([P()],$.prototype,`toolsEffectiveError`,void 0),G([P()],$.prototype,`toolsEffectiveResult`,void 0),G([P()],$.prototype,`sessionsLoading`,void 0),G([P()],$.prototype,`sessionsResult`,void 0),G([P()],$.prototype,`sessionsError`,void 0),G([P()],$.prototype,`sessionsFilterActive`,void 0),G([P()],$.prototype,`sessionsFilterLimit`,void 0),G([P()],$.prototype,`sessionsFilterSearch`,void 0),G([P()],$.prototype,`sessionsIncludeGlobal`,void 0),G([P()],$.prototype,`sessionsIncludeUnknown`,void 0),G([P()],$.prototype,`sessionsHideCron`,void 0),G([P()],$.prototype,`usageLoading`,void 0),G([P()],$.prototype,`usageResult`,void 0),G([P()],$.prototype,`usageCostSummary`,void 0),G([P()],$.prototype,`usageError`,void 0),G([P()],$.prototype,`usageStartDate`,void 0),G([P()],$.prototype,`usageEndDate`,void 0),G([P()],$.prototype,`usageSelectedSessions`,void 0),G([P()],$.prototype,`usageSelectedDays`,void 0),G([P()],$.prototype,`usageSelectedHours`,void 0),G([P()],$.prototype,`usageChartMode`,void 0),G([P()],$.prototype,`usageDailyChartMode`,void 0),G([P()],$.prototype,`usageTimeSeriesMode`,void 0),G([P()],$.prototype,`usageTimeSeriesBreakdownMode`,void 0),G([P()],$.prototype,`usageTimeSeries`,void 0),G([P()],$.prototype,`usageTimeSeriesLoading`,void 0),G([P()],$.prototype,`usageTimeSeriesCursorStart`,void 0),G([P()],$.prototype,`usageTimeSeriesCursorEnd`,void 0),G([P()],$.prototype,`usageSessionLogs`,void 0),G([P()],$.prototype,`usageSessionLogsLoading`,void 0),G([P()],$.prototype,`usageSessionLogsExpanded`,void 0),G([P()],$.prototype,`usageQuery`,void 0),G([P()],$.prototype,`usageQueryDraft`,void 0),G([P()],$.prototype,`usageSessionSort`,void 0),G([P()],$.prototype,`usageSessionSortDir`,void 0),G([P()],$.prototype,`usageRecentSessions`,void 0),G([P()],$.prototype,`usageTimeZone`,void 0),G([P()],$.prototype,`usageContextExpanded`,void 0),G([P()],$.prototype,`usageHeaderPinned`,void 0),G([P()],$.prototype,`usageSessionsTab`,void 0),G([P()],$.prototype,`usageVisibleColumns`,void 0),G([P()],$.prototype,`usageLogFilterRoles`,void 0),G([P()],$.prototype,`usageLogFilterTools`,void 0),G([P()],$.prototype,`usageLogFilterHasTools`,void 0),G([P()],$.prototype,`usageLogFilterQuery`,void 0),G([P()],$.prototype,`cronLoading`,void 0),G([P()],$.prototype,`cronJobsLoadingMore`,void 0),G([P()],$.prototype,`cronJobs`,void 0),G([P()],$.prototype,`cronJobsTotal`,void 0),G([P()],$.prototype,`cronJobsHasMore`,void 0),G([P()],$.prototype,`cronJobsNextOffset`,void 0),G([P()],$.prototype,`cronJobsLimit`,void 0),G([P()],$.prototype,`cronJobsQuery`,void 0),G([P()],$.prototype,`cronJobsEnabledFilter`,void 0),G([P()],$.prototype,`cronJobsScheduleKindFilter`,void 0),G([P()],$.prototype,`cronJobsLastStatusFilter`,void 0),G([P()],$.prototype,`cronJobsAdaptiveRouteFilter`,void 0),G([P()],$.prototype,`cronJobsSortBy`,void 0),G([P()],$.prototype,`cronJobsSortDir`,void 0),G([P()],$.prototype,`cronStatus`,void 0),G([P()],$.prototype,`cronError`,void 0),G([P()],$.prototype,`cronForm`,void 0),G([P()],$.prototype,`cronFieldErrors`,void 0),G([P()],$.prototype,`agentTaskDialogOpen`,void 0),G([P()],$.prototype,`agentTaskForm`,void 0),G([P()],$.prototype,`agentTaskFieldErrors`,void 0),G([P()],$.prototype,`agentTaskEditingJobId`,void 0),G([P()],$.prototype,`agentTaskError`,void 0),G([P()],$.prototype,`agentTaskBusy`,void 0),G([P()],$.prototype,`agentTaskQuery`,void 0),G([P()],$.prototype,`agentTaskStatusFilter`,void 0),G([P()],$.prototype,`agentTaskAdaptiveRouteFilter`,void 0),G([P()],$.prototype,`agentTaskSortDir`,void 0),G([P()],$.prototype,`taskLedgerLoading`,void 0),G([P()],$.prototype,`taskLedgerBusy`,void 0),G([P()],$.prototype,`taskLedgerError`,void 0),G([P()],$.prototype,`taskLedgerMaintenanceMessage`,void 0),G([P()],$.prototype,`taskLedger`,void 0),G([P()],$.prototype,`taskLedgerOffset`,void 0),G([P()],$.prototype,`taskLedgerSourceFilter`,void 0),G([P()],$.prototype,`taskLedgerTypeFilter`,void 0),G([P()],$.prototype,`taskLedgerStatusFilter`,void 0),G([P()],$.prototype,`taskLedgerDetails`,void 0),G([P()],$.prototype,`taskLedgerDetailLoading`,void 0),G([P()],$.prototype,`taskLedgerDetailErrors`,void 0),G([P()],$.prototype,`taskWorkflowDraft`,void 0),G([P()],$.prototype,`taskWorkflowGraphDraft`,void 0),G([P()],$.prototype,`taskWorkflowBusy`,void 0),G([P()],$.prototype,`taskWorkflowError`,void 0),G([P()],$.prototype,`taskWorkflowMessage`,void 0),G([P()],$.prototype,`taskWorkflowDefinitionsLoading`,void 0),G([P()],$.prototype,`taskWorkflowDefinitionsBusy`,void 0),G([P()],$.prototype,`taskWorkflowDefinitionsError`,void 0),G([P()],$.prototype,`taskWorkflowDefinitions`,void 0),G([P()],$.prototype,`taskWorkflowTemplatesLoading`,void 0),G([P()],$.prototype,`taskWorkflowTemplatesError`,void 0),G([P()],$.prototype,`taskWorkflowTemplates`,void 0),G([P()],$.prototype,`taskStandingOrdersLoading`,void 0),G([P()],$.prototype,`taskStandingOrdersBusy`,void 0),G([P()],$.prototype,`taskStandingOrdersError`,void 0),G([P()],$.prototype,`taskStandingOrdersMessage`,void 0),G([P()],$.prototype,`taskStandingOrders`,void 0),G([P()],$.prototype,`taskStandingOrderDraft`,void 0),G([P()],$.prototype,`taskFlowRunsLoading`,void 0),G([P()],$.prototype,`taskFlowRunsBusy`,void 0),G([P()],$.prototype,`taskFlowRunsError`,void 0),G([P()],$.prototype,`taskFlowRuns`,void 0),G([P()],$.prototype,`webhookTriggersLoading`,void 0),G([P()],$.prototype,`webhookTriggersBusy`,void 0),G([P()],$.prototype,`webhookTriggersError`,void 0),G([P()],$.prototype,`webhookTriggersMessage`,void 0),G([P()],$.prototype,`webhookTriggers`,void 0),G([P()],$.prototype,`webhookTriggerDraft`,void 0),G([P()],$.prototype,`cronEditingJobId`,void 0),G([P()],$.prototype,`cronRunsJobId`,void 0),G([P()],$.prototype,`cronRunsLoadingMore`,void 0),G([P()],$.prototype,`cronRuns`,void 0),G([P()],$.prototype,`cronRunsTotal`,void 0),G([P()],$.prototype,`cronRunsHasMore`,void 0),G([P()],$.prototype,`cronRunsNextOffset`,void 0),G([P()],$.prototype,`cronRunsLimit`,void 0),G([P()],$.prototype,`cronRunsScope`,void 0),G([P()],$.prototype,`cronRunsStatuses`,void 0),G([P()],$.prototype,`cronRunsDeliveryStatuses`,void 0),G([P()],$.prototype,`cronRunsStatusFilter`,void 0),G([P()],$.prototype,`cronRunsQuery`,void 0),G([P()],$.prototype,`cronRunsSortDir`,void 0),G([P()],$.prototype,`cronRunDetail`,void 0),G([P()],$.prototype,`cronRunDetailLoading`,void 0),G([P()],$.prototype,`cronRunDetailError`,void 0),G([P()],$.prototype,`cronBusy`,void 0),G([P()],$.prototype,`federationLoading`,void 0),G([P()],$.prototype,`federationError`,void 0),G([P()],$.prototype,`federationMessage`,void 0),G([P()],$.prototype,`federationDirectory`,void 0),G([P()],$.prototype,`federationHandle`,void 0),G([P()],$.prototype,`federationNodeEndpoint`,void 0),G([P()],$.prototype,`federationToken`,void 0),G([P()],$.prototype,`federationStatus`,void 0),G([P()],$.prototype,`federationManagedMode`,void 0),G([P()],$.prototype,`federationAdminToken`,void 0),G([P()],$.prototype,`federationReviewReason`,void 0),G([P()],$.prototype,`federationReviewBusyHandle`,void 0),G([P()],$.prototype,`federationBondWalletIdDraft`,void 0),G([P()],$.prototype,`federationBondAmountDraft`,void 0),G([P()],$.prototype,`federationBondTierDraft`,void 0),G([P()],$.prototype,`federationBondAutoSubmitProof`,void 0),G([P()],$.prototype,`federationBondActionBusy`,void 0),G([P()],$.prototype,`federationBondBusyAction`,void 0),G([P()],$.prototype,`federationOperatorEconomyLoading`,void 0),G([P()],$.prototype,`federationOperatorEconomyError`,void 0),G([P()],$.prototype,`federationOperatorEconomyCollectionStatus`,void 0),G([P()],$.prototype,`federationOperatorEconomyFeeObjects`,void 0),G([P()],$.prototype,`federationOperatorEconomyBucketJournal`,void 0),G([P()],$.prototype,`federationOperatorEconomyBucketBalances`,void 0),G([P()],$.prototype,`federationOperatorEconomyReconciliationReports`,void 0),G([P()],$.prototype,`federationOperatorEconomyAutoFeeDecisions`,void 0),G([P()],$.prototype,`federationOperatorEconomyShowcase`,void 0),G([P()],$.prototype,`federationLocalOffers`,void 0),G([P()],$.prototype,`federationLocalRequests`,void 0),G([P()],$.prototype,`federationLocalOrders`,void 0),G([P()],$.prototype,`federationLocalOffersLoading`,void 0),G([P()],$.prototype,`federationLocalRequestsLoading`,void 0),G([P()],$.prototype,`federationLocalOrdersLoading`,void 0),G([P()],$.prototype,`federationLocalRequestsError`,void 0),G([P()],$.prototype,`federationLocalOrdersError`,void 0),G([P()],$.prototype,`federationLocalOffersError`,void 0),G([P()],$.prototype,`federationLocalOffersMessage`,void 0),G([P()],$.prototype,`federationLocalOfferBusy`,void 0),G([P()],$.prototype,`federationLocalOrderBusy`,void 0),G([P()],$.prototype,`federationEscrowBusyOrderId`,void 0),G([P()],$.prototype,`federationEscrowError`,void 0),G([P()],$.prototype,`federationEscrowMessage`,void 0),G([P()],$.prototype,`federationMarketplaceOrderDeliveryDraftOrderId`,void 0),G([P()],$.prototype,`federationMarketplaceOrderDeliveryKindDraft`,void 0),G([P()],$.prototype,`federationMarketplaceOrderDeliveryWebhookUrlDraft`,void 0),G([P()],$.prototype,`federationMarketplaceOrderDeliveryBusyOrderId`,void 0),G([P()],$.prototype,`federationMarketplaceOrderDeliveryError`,void 0),G([P()],$.prototype,`federationMarketplaceOrderDeliveryMessage`,void 0),G([P()],$.prototype,`federationMarketplaceManualOrderBusyId`,void 0),G([P()],$.prototype,`federationMarketplaceManualOrderError`,void 0),G([P()],$.prototype,`federationMarketplaceManualOrderMessage`,void 0),G([P()],$.prototype,`federationMarketplaceCapabilityOrderBusyId`,void 0),G([P()],$.prototype,`federationMarketplaceCapabilityOrderError`,void 0),G([P()],$.prototype,`federationMarketplaceCapabilityOrderMessage`,void 0),G([P()],$.prototype,`federationLocalOfferDraftOpen`,void 0),G([P()],$.prototype,`federationLocalListingDraftKind`,void 0),G([P()],$.prototype,`federationLocalOfferEditingId`,void 0),G([P()],$.prototype,`federationLocalRequestEditingId`,void 0),G([P()],$.prototype,`federationLocalOfferEnabledDraft`,void 0),G([P()],$.prototype,`federationLocalOfferTitleDraft`,void 0),G([P()],$.prototype,`federationLocalOfferSummaryDraft`,void 0),G([P()],$.prototype,`federationLocalOfferServiceKindDraft`,void 0),G([P()],$.prototype,`federationLocalOfferInputShapeDraft`,void 0),G([P()],$.prototype,`federationLocalOfferDeliveryShapeDraft`,void 0),G([P()],$.prototype,`federationLocalOfferCapabilitiesDraft`,void 0),G([P()],$.prototype,`federationLocalOfferPriceAmountDraft`,void 0),G([P()],$.prototype,`federationLocalOfferPricingModelDraft`,void 0),G([P()],$.prototype,`federationLocalOfferPriceUnitDraft`,void 0),G([P()],$.prototype,`federationLocalOfferCurrencyDraft`,void 0),G([P()],$.prototype,`federationLocalOfferFulfillmentModeDraft`,void 0),G([P()],$.prototype,`federationLocalOfferAcceptedAssetsDraft`,void 0),G([P()],$.prototype,`federationLocalOfferPaymentRailsDraft`,void 0),G([P()],$.prototype,`federationOffersLoading`,void 0),G([P()],$.prototype,`federationOffersError`,void 0),G([P()],$.prototype,`federationOffersHint`,void 0),G([P()],$.prototype,`federationOffers`,void 0),G([P()],$.prototype,`federationOffersQuery`,void 0),G([P()],$.prototype,`federationOffersServiceKindFilter`,void 0),G([P()],$.prototype,`federationMarketplaceSection`,void 0),G([P()],$.prototype,`federationMarketplaceKindFilter`,void 0),G([P()],$.prototype,`federationMarketplaceTrustFilter`,void 0),G([P()],$.prototype,`federationMarketplaceStatusFilter`,void 0),G([P()],$.prototype,`federationMarketplaceDateFromFilter`,void 0),G([P()],$.prototype,`federationMarketplaceDateToFilter`,void 0),G([P()],$.prototype,`federationMarketplaceSort`,void 0),G([P()],$.prototype,`federationSelectedOfferId`,void 0),G([P()],$.prototype,`federationMarketplaceIndexLoading`,void 0),G([P()],$.prototype,`federationMarketplaceIndexPublishing`,void 0),G([P()],$.prototype,`federationMarketplaceIndexError`,void 0),G([P()],$.prototype,`federationMarketplaceIndexMessage`,void 0),G([P()],$.prototype,`federationMarketplaceIndexPreview`,void 0),G([P()],$.prototype,`federationMarketplaceIndexEntries`,void 0),G([P()],$.prototype,`federationMarketplaceIndexSelectedEntryId`,void 0),G([P()],$.prototype,`federationMarketplaceIndexDetailTab`,void 0),G([P()],$.prototype,`federationMarketplaceFeedbackOrderId`,void 0),G([P()],$.prototype,`federationMarketplaceSellerProfileHandle`,void 0),G([P()],$.prototype,`federationMarketplaceSellerProfileTab`,void 0),G([P()],$.prototype,`federationMarketplaceSellerProfileLoading`,void 0),G([P()],$.prototype,`federationMarketplaceSellerProfileError`,void 0),G([P()],$.prototype,`federationMarketplaceSellerProfileEntries`,void 0),G([P()],$.prototype,`federationMarketplaceSellerProfileReviews`,void 0),G([P()],$.prototype,`federationMarketplaceSellerProfileDisputes`,void 0),G([P()],$.prototype,`federationMarketplaceSellerProfileNotaryRecords`,void 0),G([P()],$.prototype,`federationOfferReviewsLoading`,void 0),G([P()],$.prototype,`federationOfferReviewsError`,void 0),G([P()],$.prototype,`federationOfferReviews`,void 0),G([P()],$.prototype,`federationOfferDisputesLoading`,void 0),G([P()],$.prototype,`federationOfferDisputesError`,void 0),G([P()],$.prototype,`federationOfferDisputes`,void 0),G([P()],$.prototype,`federationOfferFeedbackBusy`,void 0),G([P()],$.prototype,`federationOfferFeedbackError`,void 0),G([P()],$.prototype,`federationOfferFeedbackMessage`,void 0),G([P()],$.prototype,`federationOfferFeedbackTab`,void 0),G([P()],$.prototype,`federationSummarizeSourceText`,void 0),G([P()],$.prototype,`federationSummarizeStyle`,void 0),G([P()],$.prototype,`federationSummarizeMaxSentences`,void 0),G([P()],$.prototype,`federationSummarizeBusy`,void 0),G([P()],$.prototype,`federationSummarizeError`,void 0),G([P()],$.prototype,`federationPaidSummarizeBusy`,void 0),G([P()],$.prototype,`federationPaidSummarizeError`,void 0),G([P()],$.prototype,`federationSummarizeResult`,void 0),G([P()],$.prototype,`federationPaidQuoteAmountDraft`,void 0),G([P()],$.prototype,`federationPaidQuoteAssetDecimalsDraft`,void 0),G([P()],$.prototype,`federationPaidQuoteCurrencyDraft`,void 0),G([P()],$.prototype,`federationPaidQuoteChainDraft`,void 0),G([P()],$.prototype,`federationPaidQuoteAssetKindDraft`,void 0),G([P()],$.prototype,`federationPaidQuoteAssetAddressDraft`,void 0),G([P()],$.prototype,`federationPaidQuotePayeeAddressDraft`,void 0),G([P()],$.prototype,`federationPaidQuoteExpiresMinutesDraft`,void 0),G([P()],$.prototype,`federationReviewRatingDraft`,void 0),G([P()],$.prototype,`federationReviewOutcomeDraft`,void 0),G([P()],$.prototype,`federationReviewPaymentStatusDraft`,void 0),G([P()],$.prototype,`federationReviewInvoiceIdDraft`,void 0),G([P()],$.prototype,`federationReviewReceiptIdDraft`,void 0),G([P()],$.prototype,`federationReviewSummaryDraft`,void 0),G([P()],$.prototype,`federationDisputeReasonCodeDraft`,void 0),G([P()],$.prototype,`federationDisputePaymentStatusDraft`,void 0),G([P()],$.prototype,`federationDisputeInvoiceIdDraft`,void 0),G([P()],$.prototype,`federationDisputeReceiptIdDraft`,void 0),G([P()],$.prototype,`federationDisputeSummaryDraft`,void 0),G([P()],$.prototype,`federationOperatorDisputesLoading`,void 0),G([P()],$.prototype,`federationOperatorDisputesError`,void 0),G([P()],$.prototype,`federationOperatorDisputes`,void 0),G([P()],$.prototype,`federationOperatorDisputeProviderFilter`,void 0),G([P()],$.prototype,`federationOperatorDisputeOfferIdFilter`,void 0),G([P()],$.prototype,`federationOperatorDisputeStatusFilter`,void 0),G([P()],$.prototype,`federationOperatorDisputePaymentStatusFilter`,void 0),G([P()],$.prototype,`federationOperatorSelectedCaseId`,void 0),G([P()],$.prototype,`federationOperatorDisputeReviewStatusDraft`,void 0),G([P()],$.prototype,`federationOperatorDisputeResolutionDraft`,void 0),G([P()],$.prototype,`federationOperatorDisputeReviewBusy`,void 0),G([P()],$.prototype,`federationOperatorDisputeReviewError`,void 0),G([P()],$.prototype,`federationOperatorDisputeReviewMessage`,void 0),G([P()],$.prototype,`federationDisputeNotaryRecordsLoading`,void 0),G([P()],$.prototype,`federationDisputeNotaryRecordsError`,void 0),G([P()],$.prototype,`federationDisputeNotaryRecords`,void 0),G([P()],$.prototype,`federationDisputeNotaryOpinionDraft`,void 0),G([P()],$.prototype,`federationDisputeNotaryConfidenceDraft`,void 0),G([P()],$.prototype,`federationDisputeNotaryRecommendedResolutionDraft`,void 0),G([P()],$.prototype,`federationDisputeNotarySummaryDraft`,void 0),G([P()],$.prototype,`federationDisputeNotaryBusy`,void 0),G([P()],$.prototype,`federationDisputeNotaryError`,void 0),G([P()],$.prototype,`federationDisputeNotaryMessage`,void 0),G([P()],$.prototype,`walletLoading`,void 0),G([P()],$.prototype,`walletError`,void 0),G([P()],$.prototype,`walletStatus`,void 0),G([P()],$.prototype,`walletCustodyByWalletId`,void 0),G([P()],$.prototype,`walletBalancesLoading`,void 0),G([P()],$.prototype,`walletBalancesError`,void 0),G([P()],$.prototype,`walletBalances`,void 0),G([P()],$.prototype,`miningLoading`,void 0),G([P()],$.prototype,`miningSaving`,void 0),G([P()],$.prototype,`miningActionBusy`,void 0),G([P()],$.prototype,`miningCapitalActionBusy`,void 0),G([P()],$.prototype,`miningPendingAction`,void 0),G([P()],$.prototype,`miningError`,void 0),G([P()],$.prototype,`miningMessage`,void 0),G([P()],$.prototype,`miningWallets`,void 0),G([P()],$.prototype,`miningAttachedWalletId`,void 0),G([P()],$.prototype,`miningProfile`,void 0),G([P()],$.prototype,`miningSavedProfiles`,void 0),G([P()],$.prototype,`miningSelectedSavedProfileId`,void 0),G([P()],$.prototype,`miningSaveProfileName`,void 0),G([P()],$.prototype,`miningCapitalDepositDraft`,void 0),G([P()],$.prototype,`miningCapitalWithdrawDraft`,void 0),G([P()],$.prototype,`miningReadiness`,void 0),G([P()],$.prototype,`miningStatus`,void 0),G([P()],$.prototype,`miningMainnetSync`,void 0),G([P()],$.prototype,`miningMainnetSyncBusy`,void 0),G([P()],$.prototype,`miningHistoryLoading`,void 0),G([P()],$.prototype,`miningHistoryError`,void 0),G([P()],$.prototype,`miningHistory`,void 0),G([P()],$.prototype,`miningRecovery`,void 0),G([P()],$.prototype,`miningRecoveryDisputeAuthority`,void 0),G([P()],$.prototype,`miningRecoveryTargetAuthority`,void 0),G([P()],$.prototype,`miningRecoveryEpochId`,void 0),G([P()],$.prototype,`miningRecoveryMicroRoundId`,void 0),G([P()],$.prototype,`miningRecoveryStatusFlag`,void 0),G([P()],$.prototype,`miningRecoveryBoardRoot`,void 0),G([P()],$.prototype,`miningRecoveryScoreRoot`,void 0),G([P()],$.prototype,`miningRecoveryCoordinationRoot`,void 0),G([P()],$.prototype,`miningRecoveryDraftRestored`,void 0),G([P()],$.prototype,`miningRecoveryDraftUpdatedAt`,void 0),G([P()],$.prototype,`miningRecoveryDraftSavedHint`,void 0),G([P()],$.prototype,`miningLastNotifiedAction`,void 0),G([P()],$.prototype,`miningNotifications`,void 0),G([P()],$.prototype,`notifications`,void 0),G([P()],$.prototype,`miningConfirmClearHistory`,void 0),G([P()],$.prototype,`miningRecentActionsPage`,void 0),G([P()],$.prototype,`miningHistoryModalOpen`,void 0),G([P()],$.prototype,`miningActivityFilter`,void 0),G([P()],$.prototype,`miningActivityWindow`,void 0),G([P()],$.prototype,`miningPlannerWindow`,void 0),G([P()],$.prototype,`miningChartMetric`,void 0),G([P()],$.prototype,`miningNowMs`,void 0),G([P()],$.prototype,`walletSettingsLoading`,void 0),G([P()],$.prototype,`walletSettingsBusy`,void 0),G([P()],$.prototype,`walletSettingsError`,void 0),G([P()],$.prototype,`walletSettingsMessage`,void 0),G([P()],$.prototype,`walletSettings`,void 0),G([P()],$.prototype,`walletSettingsValidation`,void 0),G([P()],$.prototype,`walletSkillGrantsLoading`,void 0),G([P()],$.prototype,`walletSkillGrantsError`,void 0),G([P()],$.prototype,`walletSkillGrantsMessage`,void 0),G([P()],$.prototype,`walletSkillGrantsWorkspace`,void 0),G([P()],$.prototype,`walletSkillGrantRows`,void 0),G([P()],$.prototype,`walletSkillGrantDraft`,void 0),G([P()],$.prototype,`walletSkillGrantBusy`,void 0),G([P()],$.prototype,`walletProvidersLoading`,void 0),G([P()],$.prototype,`walletProviders`,void 0),G([P()],$.prototype,`walletNamedWallets`,void 0),G([P()],$.prototype,`walletAssignments`,void 0),G([P()],$.prototype,`walletDefaultWalletId`,void 0),G([P()],$.prototype,`walletProviderSelection`,void 0),G([P()],$.prototype,`walletProviderTab`,void 0),G([P()],$.prototype,`walletMainPanel`,void 0),G([P()],$.prototype,`walletDetailsWalletId`,void 0),G([P()],$.prototype,`walletBalanceWalletId`,void 0),G([P()],$.prototype,`walletExpandedPanelWalletId`,void 0),G([P()],$.prototype,`walletExpandedPanel`,void 0),G([P()],$.prototype,`walletPolicyPanel`,void 0),G([P()],$.prototype,`walletCreateName`,void 0),G([P()],$.prototype,`walletCreateId`,void 0),G([P()],$.prototype,`walletCreateProvider`,void 0),G([P()],$.prototype,`walletAssignAgentId`,void 0),G([P()],$.prototype,`walletAssignWalletId`,void 0),G([P()],$.prototype,`walletRpcChain`,void 0),G([P()],$.prototype,`walletPolicyCapsEnabled`,void 0),G([P()],$.prototype,`walletPolicyAutoEnabled`,void 0),G([P()],$.prototype,`walletPolicySkillsEnabled`,void 0),G([P()],$.prototype,`walletPolicySolMaxPerTx`,void 0),G([P()],$.prototype,`walletPolicySolMaxDaily`,void 0),G([P()],$.prototype,`walletPolicySolanaAllowPrograms`,void 0),G([P()],$.prototype,`walletPolicySolanaTokenCaps`,void 0),G([P()],$.prototype,`walletPolicyTokenCapMint`,void 0),G([P()],$.prototype,`walletPolicyTokenCapDecimals`,void 0),G([P()],$.prototype,`walletPolicyTokenCapMaxPerTx`,void 0),G([P()],$.prototype,`walletPolicyTokenCapMaxDaily`,void 0),G([P()],$.prototype,`walletPolicyTokenSearchQuery`,void 0),G([P()],$.prototype,`walletPolicyTokenSearchLoading`,void 0),G([P()],$.prototype,`walletPolicyTokenSearchError`,void 0),G([P()],$.prototype,`walletPolicyTokenSearchResults`,void 0),G([P()],$.prototype,`walletRecurringTransferEnabled`,void 0),G([P()],$.prototype,`walletRecurringTransferDestination`,void 0),G([P()],$.prototype,`walletRecurringTransferMint`,void 0),G([P()],$.prototype,`walletRecurringTransferAmountMode`,void 0),G([P()],$.prototype,`walletRecurringTransferAmount`,void 0),G([P()],$.prototype,`walletRecurringTransferPercentage`,void 0),G([P()],$.prototype,`walletRecurringTransferMinAmount`,void 0),G([P()],$.prototype,`walletRecurringTransferKeepAmount`,void 0),G([P()],$.prototype,`walletRecurringTransferDecimals`,void 0),G([P()],$.prototype,`walletRecurringTransferCron`,void 0),G([P()],$.prototype,`walletRecurringTransferTz`,void 0),G([P()],$.prototype,`walletRecurringTransferName`,void 0),G([P()],$.prototype,`walletSecuritySetupWalletId`,void 0),G([P()],$.prototype,`walletSecuritySetupRole`,void 0),G([P()],$.prototype,`walletRpcProvider`,void 0),G([P()],$.prototype,`walletRpcApiKey`,void 0),G([P()],$.prototype,`walletRpcUrl`,void 0),G([P()],$.prototype,`walletProviderApiKey`,void 0),G([P()],$.prototype,`walletProviderServerSignerAccessKey`,void 0),G([P()],$.prototype,`walletProviderServerSignerAccountId`,void 0),G([P()],$.prototype,`walletProviderWalletApiBaseUrl`,void 0),G([P()],$.prototype,`walletProviderSignerApiBaseUrl`,void 0),G([P()],$.prototype,`walletProviderDefaultSolanaAddress`,void 0),G([P()],$.prototype,`walletProviderCredentialsJson`,void 0),G([P()],$.prototype,`walletActionBusy`,void 0),G([P()],$.prototype,`walletActionMessage`,void 0),G([P()],$.prototype,`walletApprovalsLoading`,void 0),G([P()],$.prototype,`walletApprovalsBusyId`,void 0),G([P()],$.prototype,`walletApprovalsError`,void 0),G([P()],$.prototype,`walletApprovalsFilter`,void 0),G([P()],$.prototype,`walletApprovals`,void 0),G([P()],$.prototype,`walletAuditLoading`,void 0),G([P()],$.prototype,`walletAuditError`,void 0),G([P()],$.prototype,`walletAuditEntries`,void 0),G([P()],$.prototype,`walletActivityPage`,void 0),G([P()],$.prototype,`walletResetConfirmText`,void 0),G([P()],$.prototype,`walletSendCreateBusy`,void 0),G([P()],$.prototype,`walletSendCreateError`,void 0),G([P()],$.prototype,`walletSendCreateForm`,void 0),G([P()],$.prototype,`walletPasskeyBusy`,void 0),G([P()],$.prototype,`walletPasskeyError`,void 0),G([P()],$.prototype,`walletPasskeyLabel`,void 0),G([P()],$.prototype,`walletCustodyClientCompatibility`,void 0),G([P()],$.prototype,`walletCustodyClientCompatibilityError`,void 0),G([P()],$.prototype,`walletCustodyDeviceShare`,void 0),G([P()],$.prototype,`walletCustodyRecoveryShare`,void 0),G([P()],$.prototype,`walletCustodyRecoveryInput`,void 0),G([P()],$.prototype,`walletCustodyEnrollLabel`,void 0),G([P()],$.prototype,`walletCustodyEnrolledDeviceShare`,void 0),G([P()],$.prototype,`walletCustodyRememberDeviceShare`,void 0),G([P()],$.prototype,`walletCustodyDeviceShareStored`,void 0),G([P()],$.prototype,`walletCustodyUnlockMinutes`,void 0),G([P()],$.prototype,`skillsLoading`,void 0),G([P()],$.prototype,`skillsReport`,void 0),G([P()],$.prototype,`skillsError`,void 0),G([P()],$.prototype,`skillsFilter`,void 0),G([P()],$.prototype,`skillsStatusFilter`,void 0),G([P()],$.prototype,`skillsLibraryPanel`,void 0),G([P()],$.prototype,`skillEdits`,void 0),G([P()],$.prototype,`skillsBusyKey`,void 0),G([P()],$.prototype,`skillMessages`,void 0),G([P()],$.prototype,`skillEnvEdits`,void 0),G([P()],$.prototype,`skillConfigEdits`,void 0),G([P()],$.prototype,`skillCreateOpen`,void 0),G([P()],$.prototype,`skillCreateName`,void 0),G([P()],$.prototype,`skillCreateDescription`,void 0),G([P()],$.prototype,`skillCreateAgentId`,void 0),G([P()],$.prototype,`skillCreateTemplate`,void 0),G([P()],$.prototype,`skillCreateBusy`,void 0),G([P()],$.prototype,`skillCreateError`,void 0),G([P()],$.prototype,`skillEditor`,void 0),G([P()],$.prototype,`skillEditorDraft`,void 0),G([P()],$.prototype,`skillEditorLoading`,void 0),G([P()],$.prototype,`skillEditorSaving`,void 0),G([P()],$.prototype,`skillEditorError`,void 0),G([P()],$.prototype,`skillsDetailKey`,void 0),G([P()],$.prototype,`skillsAttachAgentId`,void 0),G([P()],$.prototype,`clawhubSearchQuery`,void 0),G([P()],$.prototype,`clawhubSearchResults`,void 0),G([P()],$.prototype,`clawhubSearchLoading`,void 0),G([P()],$.prototype,`clawhubSearchError`,void 0),G([P()],$.prototype,`clawhubDetail`,void 0),G([P()],$.prototype,`clawhubDetailSlug`,void 0),G([P()],$.prototype,`clawhubDetailLoading`,void 0),G([P()],$.prototype,`clawhubDetailError`,void 0),G([P()],$.prototype,`clawhubInstallSlug`,void 0),G([P()],$.prototype,`clawhubInstallMessage`,void 0),G([P()],$.prototype,`clawhubReview`,void 0),G([P()],$.prototype,`clawhubReviewLoading`,void 0),G([P()],$.prototype,`clawhubReviewError`,void 0),G([P()],$.prototype,`clawhubInstallTarget`,void 0),G([P()],$.prototype,`pluginsMarketplaceLoading`,void 0),G([P()],$.prototype,`pluginsMarketplaceDetailLoading`,void 0),G([P()],$.prototype,`pluginsMarketplaceError`,void 0),G([P()],$.prototype,`pluginsMarketplaceList`,void 0),G([P()],$.prototype,`pluginsMarketplaceSelectedId`,void 0),G([P()],$.prototype,`pluginsMarketplaceDetail`,void 0),G([P()],$.prototype,`pluginsMarketplaceActionBusy`,void 0),G([P()],$.prototype,`pluginsMarketplaceMessage`,void 0),G([P()],$.prototype,`pluginsMarketplaceRemediation`,void 0),G([P()],$.prototype,`extensionsHooksLoading`,void 0),G([P()],$.prototype,`extensionsHooksError`,void 0),G([P()],$.prototype,`extensionsHooksStatus`,void 0),G([P()],$.prototype,`extensionsHooksBusyKey`,void 0),G([P()],$.prototype,`extensionsHooksMessage`,void 0),G([P()],$.prototype,`memoryLoading`,void 0),G([P()],$.prototype,`memoryError`,void 0),G([P()],$.prototype,`memoryInventory`,void 0),G([P()],$.prototype,`memoryValidation`,void 0),G([P()],$.prototype,`memoryWiki`,void 0),G([P()],$.prototype,`memoryWikiRebuilding`,void 0),G([P()],$.prototype,`memoryWikiError`,void 0),G([P()],$.prototype,`dreamingStatusLoading`,void 0),G([P()],$.prototype,`dreamingStatusError`,void 0),G([P()],$.prototype,`dreamingStatus`,void 0),G([P()],$.prototype,`dreamingModeSaving`,void 0),G([P()],$.prototype,`dreamDiaryLoading`,void 0),G([P()],$.prototype,`dreamDiaryError`,void 0),G([P()],$.prototype,`dreamDiaryPath`,void 0),G([P()],$.prototype,`dreamDiaryContent`,void 0),G([P()],$.prototype,`debugLoading`,void 0),G([P()],$.prototype,`debugStatus`,void 0),G([P()],$.prototype,`debugHealth`,void 0),G([P()],$.prototype,`debugModels`,void 0),G([P()],$.prototype,`debugModelCatalogStatus`,void 0),G([P()],$.prototype,`debugCommandsCatalog`,void 0),G([P()],$.prototype,`debugUpdateStatus`,void 0),G([P()],$.prototype,`debugPluginsMarketplace`,void 0),G([P()],$.prototype,`debugDiagnosticsStability`,void 0),G([P()],$.prototype,`debugMemoryInventory`,void 0),G([P()],$.prototype,`debugMemoryValidation`,void 0),G([P()],$.prototype,`debugMemoryRepairPreview`,void 0),G([P()],$.prototype,`debugHeartbeat`,void 0),G([P()],$.prototype,`debugCallMethod`,void 0),G([P()],$.prototype,`debugCallParams`,void 0),G([P()],$.prototype,`debugCallResult`,void 0),G([P()],$.prototype,`debugCallError`,void 0),G([P()],$.prototype,`debugAdminRpcBusy`,void 0),G([P()],$.prototype,`debugAdminRpcResult`,void 0),G([P()],$.prototype,`debugAdminRpcError`,void 0),G([P()],$.prototype,`debugAdminChatSessionKey`,void 0),G([P()],$.prototype,`debugAdminChatMessage`,void 0),G([P()],$.prototype,`debugAdminPushNodeId`,void 0),G([P()],$.prototype,`debugAdminPushTitle`,void 0),G([P()],$.prototype,`debugAdminPushBody`,void 0),G([P()],$.prototype,`debugAdminWebAccountId`,void 0),G([P()],$.prototype,`debugAcpxBridgeConfigBusy`,void 0),G([P()],$.prototype,`debugAcpxBridgeConfigResult`,void 0),G([P()],$.prototype,`debugAcpxBridgeConfigError`,void 0),G([P()],$.prototype,`debugAcpxPushTestBusy`,void 0),G([P()],$.prototype,`debugAcpxPushTestPreview`,void 0),G([P()],$.prototype,`debugAcpxPushTestAuditHistory`,void 0),G([P()],$.prototype,`debugAcpxPushTestResult`,void 0),G([P()],$.prototype,`debugAcpxPushTestError`,void 0),G([P()],$.prototype,`debugSatProtocolMaintenanceBusy`,void 0),G([P()],$.prototype,`debugSatProtocolMaintenanceResult`,void 0),G([P()],$.prototype,`debugSatProtocolMaintenanceError`,void 0),G([P()],$.prototype,`logsLoading`,void 0),G([P()],$.prototype,`logsError`,void 0),G([P()],$.prototype,`logsFile`,void 0),G([P()],$.prototype,`logsEntries`,void 0),G([P()],$.prototype,`logsFilterText`,void 0),G([P()],$.prototype,`logsLevelFilters`,void 0),G([P()],$.prototype,`logsAutoFollow`,void 0),G([P()],$.prototype,`logsTruncated`,void 0),G([P()],$.prototype,`logsCursor`,void 0),G([P()],$.prototype,`logsLastFetchAt`,void 0),G([P()],$.prototype,`logsLimit`,void 0),G([P()],$.prototype,`logsMaxBytes`,void 0),G([P()],$.prototype,`logsAtBottom`,void 0),G([P()],$.prototype,`chatNewMessagesBelow`,void 0),$=G([tt(`fased-app`)],$);
|
|
25417
|
-
//# sourceMappingURL=app-
|
|
25417
|
+
//# sourceMappingURL=app-CHqTx3P_.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=[`off`,`minimal`,`low`,`medium`,`high`],t=[...e,`xhigh`],n=[`openai/gpt-5.6`,`openai/gpt-5.6-terra`,`openai/gpt-5.6-luna`,`openai/gpt-5.5`,`openai/gpt-5.4`,`openai/gpt-5.4-mini`,`openai/gpt-5.4-nano`,`openai-codex/gpt-5.5`,`openai-codex/gpt-5.4`,`openai-codex/gpt-5.4-mini`,`openai-codex/gpt-5.3-codex-spark`,`github-copilot/gpt-5.5`,`github-copilot/gpt-5.4`,`github-copilot/gpt-5.4-mini`,`github-copilot/gpt-5.3-codex-spark`],r=new Set(n.map(e=>e.toLowerCase())),i=new Set(n.map(e=>e.split(`/`)[1]?.toLowerCase()).filter(e=>!!e));function a(e){if(!e)return``;let t=e.trim().toLowerCase();return t===`z.ai`||t===`z-ai`?`zai`:t}function o(e){return a(e)===`zai`}function ee(e){if(!e)return;let t=e.trim().toLowerCase(),n=t.replace(/[\s_-]+/g,``);if(n===`xhigh`||n===`extrahigh`)return`xhigh`;if(t===`off`)return`off`;if([`on`,`enable`,`enabled`].includes(t))return`low`;if([`min`,`minimal`].includes(t))return`minimal`;if([`low`,`thinkhard`,`think-hard`,`think_hard`].includes(t))return`low`;if([`mid`,`med`,`medium`,`thinkharder`,`think-harder`,`harder`].includes(t))return`medium`;if([`high`,`ultra`,`ultrathink`,`think-hard`,`thinkhardest`,`highest`,`max`].includes(t))return`high`;if(t===`think`)return`minimal`}function te(e,t){let n=t?.trim().toLowerCase();if(!n)return!1;let a=e?.trim().toLowerCase();return a?r.has(`${a}/${n}`):i.has(n)}function ne(e){let t=new Set,n=[];for(let r of e??[]){let e=ee(r);!e||t.has(e)||(t.add(e),n.push(e))}return n}function re(n,r){return te(n,r)?[...t]:[...e]}function ie(e){let t=e?.trim().toLowerCase()??``;return t.includes(`fable-5`)||t.includes(`opus-4-8`)||t.includes(`opus-4.8`)||t.includes(`opus-4-6`)||t.includes(`opus-4.6`)||t.includes(`opus-4-7`)||t.includes(`opus-4.7`)||t.includes(`sonnet-5`)||t.includes(`sonnet-4-6`)||t.includes(`sonnet-4.6`)||t.includes(`sonnet-4-7`)||t.includes(`sonnet-4.7`)}function ae(e,t){let n=a(e);return n===`openai`||n===`openai-codex`||n===`github-copilot`||n===`copilot-proxy`?{thinkingMode:`openai-reasoning-effort`,reasoningBudgetSupported:!1}:n===`anthropic`?{thinkingMode:ie(t)?`anthropic-adaptive`:`anthropic-thinking-budget`,reasoningBudgetSupported:!ie(t)}:n===`google`||n===`google-gemini-cli`?{thinkingMode:`google-thinking-budget`,reasoningBudgetSupported:!0}:n===`zai`?{thinkingMode:`zai-binary`,reasoningBudgetSupported:!1}:n===`qwen`||n===`qwen-coding-plan`?{thinkingMode:`qwen-thinking`,reasoningBudgetSupported:!0}:n===`moonshot`||n===`kimi-coding`?{thinkingMode:`moonshot-thinking`,reasoningBudgetSupported:!1}:{thinkingMode:`generic-reasoning`,reasoningBudgetSupported:!1}}function oe(e,t){let n=a(e),r=t?.trim().toLowerCase()??``;return!n||!r?!1:n===`openai`||n===`openai-codex`||n===`github-copilot`||n===`copilot-proxy`?/^gpt-5(?:[.-]|$)/.test(r):n===`anthropic`?r.startsWith(`claude-`)||r.includes(`claude-`):n===`google`||n===`google-gemini-cli`?r.startsWith(`gemini-`):n===`zai`?r.startsWith(`glm-`):n===`qwen`||n===`qwen-coding-plan`?r.includes(`qwen`):n===`moonshot`||n===`kimi-coding`?r.includes(`kimi`):n===`minimax`||n===`minimax-cn`?r.includes(`minimax-m2`):[`openrouter`,`vercel-ai-gateway`,`opencode`,`huggingface`,`venice`,`together`,`synthetic`,`litellm`].includes(n)?/(gpt-5|claude-|gemini-|grok-|qwen|kimi|glm-|deepseek-r1|reasoning|thinking)/.test(r):!1}function s(e){let t=ne(e.capabilities?.thinkingLevels),n=t.length>0||typeof e.capabilities?.thinkingMode==`string`||typeof e.capabilities?.defaultThinkingLevel==`string`;if(e.capabilities?.fixedReasoning===!0&&!n||!(e.reasoning===!0||e.reasoning!==!1&&oe(e.provider,e.model))&&!n)return null;let r=ae(e.provider,e.model),i=r.thinkingMode===`zai-binary`?[`off`,`low`]:re(e.provider,e.model),a=t.length>0?t:i,o=ee(e.capabilities?.defaultThinkingLevel);return{thinkingLevels:a,defaultThinkingLevel:o&&a.includes(o)?o:a.includes(`low`)?`low`:a[0]??`off`,thinkingMode:e.capabilities?.thinkingMode??r.thinkingMode,reasoningBudgetSupported:e.capabilities?.reasoningBudgetSupported??r.reasoningBudgetSupported}}function se(e,t){return o(e)?[`off`,`low`]:re(e,t)}function ce(e,t){return se(e,t)}var le=`cloudflare-ai-gateway`,c=`cloudflare-ai-gateway`,ue=`claude-sonnet-5`;`${c}${ue}`;var de={input:0,output:0,cacheRead:0,cacheWrite:0},fe={tools:!0,json:!0},pe={thinkingLevels:[...e],defaultThinkingLevel:`low`,reasoningBudgetSupported:!0},me=[{id:ue,name:`Claude Sonnet 5`,reasoning:!0,input:[`text`,`image`],cost:de,contextWindow:1e6,maxTokens:128e3,capabilities:{...fe,...pe,thinkingMode:`anthropic-adaptive`}},{id:`claude-opus-4-8`,name:`Claude Opus 4.8`,reasoning:!0,input:[`text`,`image`],cost:de,contextWindow:1e6,maxTokens:128e3,capabilities:{...fe,...pe,thinkingMode:`anthropic-adaptive`,reasoningBudgetSupported:!1}},{id:`claude-haiku-4-5`,name:`Claude Haiku 4.5`,reasoning:!0,input:[`text`,`image`],cost:de,contextWindow:2e5,maxTokens:64e3,capabilities:{...fe,...pe,thinkingMode:`anthropic-thinking-budget`}}],he=me.map(e=>e.id).map(e=>`${c}/${e}`);function ge(e=c){return Object.fromEntries(me.map(t=>[`${e}/${t.id}`.toLowerCase(),t.capabilities?{...t.capabilities}:{}]))}var _e=`openai/gpt-oss-120b`;`${_e}`;var l={tools:!0,json:!0},ve=[{id:_e,name:`GPT-OSS 120B`,reasoning:!0,input:[`text`],contextWindow:131072,maxTokens:8192,cost:{input:.15,output:.75,cacheRead:0,cacheWrite:0},capabilities:l},{id:`deepseek-ai/DeepSeek-V4-Pro`,name:`DeepSeek V4 Pro`,reasoning:!0,input:[`text`],contextWindow:1048576,maxTokens:8192,cost:{input:1.69,output:3.38,cacheRead:0,cacheWrite:0},capabilities:l},{id:`deepseek-ai/DeepSeek-V4-Flash`,name:`DeepSeek V4 Flash`,reasoning:!1,input:[`text`],contextWindow:1048576,maxTokens:8192,cost:{input:.14,output:.28,cacheRead:0,cacheWrite:0},capabilities:l},{id:`moonshotai/Kimi-K2.6`,name:`Kimi K2.6`,reasoning:!0,input:[`text`,`image`],contextWindow:262144,maxTokens:8192,cost:{input:.95,output:4,cacheRead:0,cacheWrite:0},capabilities:l},{id:`MiniMaxAI/MiniMax-M2.7`,name:`MiniMax M2.7`,reasoning:!0,input:[`text`],contextWindow:204800,maxTokens:8192,cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},capabilities:l},{id:`zai-org/GLM-5.1`,name:`GLM-5.1`,reasoning:!0,input:[`text`],contextWindow:202752,maxTokens:8192,cost:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},capabilities:l},{id:`Qwen/Qwen3.6-35B-A3B`,name:`Qwen3.6 35B A3B`,reasoning:!0,input:[`text`,`image`],contextWindow:262144,maxTokens:8192,cost:{input:.15,output:.95,cacheRead:0,cacheWrite:0},capabilities:l},{id:`Qwen/Qwen3.5-397B-A17B`,name:`Qwen3.5 397B A17B`,reasoning:!0,input:[`text`,`image`],contextWindow:262144,maxTokens:8192,cost:{input:.6,output:3.6,cacheRead:0,cacheWrite:0},capabilities:l},{id:`Qwen/Qwen3-Coder-Next`,name:`Qwen3 Coder Next`,reasoning:!1,input:[`text`],contextWindow:262144,maxTokens:8192,cost:{input:.2,output:1.5,cacheRead:0,cacheWrite:0},capabilities:{tools:!0,json:!1}},{id:`Qwen/Qwen3-Coder-480B-A35B-Instruct`,name:`Qwen3 Coder 480B A35B Instruct`,reasoning:!1,input:[`text`],contextWindow:262144,maxTokens:8192,cost:{input:.3,output:1.3,cacheRead:0,cacheWrite:0},capabilities:l},{id:`google/gemma-4-31B-it`,name:`Gemma 4 31B Instruct`,reasoning:!1,input:[`text`,`image`],contextWindow:262144,maxTokens:8192,cost:{input:.14,output:.4,cacheRead:0,cacheWrite:0},capabilities:l},{id:`google/gemma-4-26B-A4B-it`,name:`Gemma 4 26B A4B Instruct`,reasoning:!1,input:[`text`,`image`],contextWindow:262144,maxTokens:8192,cost:{input:.13,output:.4,cacheRead:0,cacheWrite:0},capabilities:l},{id:`openai/gpt-oss-20b`,name:`GPT-OSS 20B`,reasoning:!0,input:[`text`],contextWindow:131072,maxTokens:8192,cost:{input:.1,output:.5,cacheRead:0,cacheWrite:0},capabilities:l},{id:`deepseek-ai/DeepSeek-R1`,name:`DeepSeek R1`,reasoning:!0,input:[`text`],contextWindow:163840,maxTokens:8192,cost:{input:.7,output:2.5,cacheRead:0,cacheWrite:0},capabilities:l},{id:`deepseek-ai/DeepSeek-V3.2`,name:`DeepSeek V3.2`,reasoning:!1,input:[`text`],contextWindow:163840,maxTokens:8192,cost:{input:.269,output:.4,cacheRead:0,cacheWrite:0},capabilities:l},{id:`meta-llama/Llama-3.3-70B-Instruct`,name:`Llama 3.3 70B Instruct`,reasoning:!1,input:[`text`],contextWindow:131072,maxTokens:8192,cost:{input:.59,output:.79,cacheRead:0,cacheWrite:0},capabilities:l},{id:`Qwen/Qwen3-VL-235B-A22B-Instruct`,name:`Qwen3 VL 235B A22B Instruct`,reasoning:!1,input:[`text`,`image`],contextWindow:131072,maxTokens:8192,cost:{input:.3,output:1.5,cacheRead:0,cacheWrite:0},capabilities:l},{id:`Qwen/Qwen3-235B-A22B-Instruct-2507`,name:`Qwen3 235B A22B Instruct 2507`,reasoning:!0,input:[`text`],contextWindow:262144,maxTokens:8192,cost:{input:.09,output:.58,cacheRead:0,cacheWrite:0},capabilities:l},{id:`Qwen/Qwen3-Coder-Next-FP8`,name:`Qwen3 Coder Next FP8`,reasoning:!1,input:[`text`],contextWindow:262144,maxTokens:8192,cost:{input:.5,output:1.2,cacheRead:0,cacheWrite:0},capabilities:l},{id:`google/gemma-3n-E4B-it`,name:`Gemma 3N E4B Instruct`,reasoning:!1,input:[`text`,`image`],contextWindow:32768,maxTokens:8192,cost:{input:.06,output:.12,cacheRead:0,cacheWrite:0},capabilities:{tools:!1,json:!0}},{id:`EssentialAI/rnj-1-instruct`,name:`Rnj-1 Instruct`,reasoning:!1,input:[`text`],contextWindow:32768,maxTokens:8192,cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},capabilities:l},{id:`inclusionAI/Ling-2.6-1T`,name:`Ling 2.6 1T`,reasoning:!1,input:[`text`],contextWindow:262144,maxTokens:8192,cost:{input:.3,output:2.5,cacheRead:0,cacheWrite:0},capabilities:l}],ye=ve.map(e=>e.id).map(e=>`huggingface/${e}`);function be(e){return{...e.capabilities?{...e.capabilities}:{},...e.reasoning?{fixedReasoning:!0}:{}}}function xe(e=`huggingface`){return Object.fromEntries(ve.map(t=>[`${e}/${t.id}`.toLowerCase(),be(t)]))}var Se=`default`;`${Se}`;var Ce=[{id:Se,name:`LiteLLM proxy default`,reasoning:!1,input:[`text`],contextWindow:128e3,maxTokens:8192,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},capabilities:{}}],we=Ce.map(e=>e.id).map(e=>`litellm/${e}`);function Te(e=`litellm`){return Object.fromEntries(Ce.map(t=>[`${e}/${t.id}`.toLowerCase(),t.capabilities?{...t.capabilities}:{}]))}var Ee=[`gpt-5.5`,`gpt-5.4`,`gpt-5.4-mini`,`gpt-5.4-nano`,`gpt-5.3-codex-spark`,`claude-fable-5`,`claude-opus-4-8`,`claude-sonnet-5`,`claude-haiku-4-5`,`gemini-3.5-flash`,`gemini-3.1-pro`,`gemini-3-flash`,`qwen3.7-plus`,`minimax-m2.7`,`glm-5.2`,`kimi-k2.6`].map(e=>`opencode/${e}`);function De(e){let t=e.trim().toLowerCase();return t.startsWith(`claude-`)?{provider:`anthropic`,model:t}:t.startsWith(`gemini-`)?{provider:`google`,model:t}:t.startsWith(`glm-`)?{provider:`zai`,model:t}:t.startsWith(`kimi-`)?{provider:`moonshot`,model:t}:t.startsWith(`qwen`)?{provider:`qwen`,model:t}:t.startsWith(`gpt-`)?{provider:`openai`,model:t}:{provider:`opencode`,model:t}}function Oe(e){let t=De(e),n=s({provider:t.provider,model:t.model,reasoning:!0});return{tools:!0,json:!0,...n?{thinkingLevels:n.thinkingLevels,defaultThinkingLevel:n.defaultThinkingLevel,thinkingMode:n.thinkingMode,reasoningBudgetSupported:n.reasoningBudgetSupported}:{}}}function ke(e){return Object.fromEntries(e.map(e=>[e,Oe(e.replace(/^opencode\//,``))]))}var Ae=`hf:MiniMaxAI/MiniMax-M2.5`;`${Ae}`;var u={tools:!0,json:!0},je=[{id:`hf:zai-org/GLM-5.1`,name:`GLM-5.1`,reasoning:!0,input:[`text`],contextWindow:196608,maxTokens:65536,capabilities:u},{id:`hf:moonshotai/Kimi-K2.6`,name:`Kimi K2.6`,reasoning:!0,input:[`text`,`image`],contextWindow:262144,maxTokens:65536,capabilities:u},{id:Ae,name:`MiniMax M2.5`,reasoning:!1,input:[`text`],contextWindow:191488,maxTokens:65536,capabilities:u},{id:`hf:zai-org/GLM-4.7-Flash`,name:`GLM-4.7 Flash`,reasoning:!1,input:[`text`],contextWindow:196608,maxTokens:65536,capabilities:u},{id:`hf:zai-org/GLM-5`,name:`GLM-5`,reasoning:!0,input:[`text`],contextWindow:196608,maxTokens:65536,capabilities:u},{id:`hf:nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4`,name:`NVIDIA Nemotron 3 Super 120B`,reasoning:!1,input:[`text`],contextWindow:262144,maxTokens:65536,capabilities:u},{id:`hf:zai-org/GLM-4.7`,name:`GLM-4.7`,reasoning:!1,input:[`text`],contextWindow:202752,maxTokens:65536,capabilities:u},{id:`hf:deepseek-ai/DeepSeek-V3.2`,name:`DeepSeek V3.2`,reasoning:!1,input:[`text`],contextWindow:159e3,maxTokens:8192,capabilities:u},{id:`hf:openai/gpt-oss-120b`,name:`GPT OSS 120B`,reasoning:!1,input:[`text`],contextWindow:128e3,maxTokens:8192,capabilities:u},{id:`hf:deepseek-ai/DeepSeek-R1-0528`,name:`DeepSeek R1 0528`,reasoning:!0,input:[`text`],contextWindow:128e3,maxTokens:8192,capabilities:u},{id:`hf:deepseek-ai/DeepSeek-V3`,name:`DeepSeek V3`,reasoning:!1,input:[`text`],contextWindow:128e3,maxTokens:8192,capabilities:u},{id:`hf:meta-llama/Llama-3.3-70B-Instruct`,name:`Llama 3.3 70B Instruct`,reasoning:!1,input:[`text`],contextWindow:128e3,maxTokens:8192,capabilities:u},{id:`hf:moonshotai/Kimi-K2.5`,name:`Kimi K2.5`,reasoning:!0,input:[`text`,`image`],contextWindow:262144,maxTokens:8192,capabilities:u},{id:`hf:nvidia/Kimi-K2.5-NVFP4`,name:`Kimi K2.5 NVFP4`,reasoning:!1,input:[`text`,`image`],contextWindow:262144,maxTokens:8192,capabilities:u},{id:`hf:Qwen/Qwen3-235B-A22B-Thinking-2507`,name:`Qwen3 235B A22B Thinking 2507`,reasoning:!0,input:[`text`],contextWindow:262144,maxTokens:8192,capabilities:u},{id:`hf:Qwen/Qwen3-Coder-480B-A35B-Instruct`,name:`Qwen3 Coder 480B A35B Instruct`,reasoning:!1,input:[`text`],contextWindow:262144,maxTokens:8192,capabilities:u},{id:`hf:Qwen/Qwen3.5-397B-A17B`,name:`Qwen3.5 397B A17B`,reasoning:!1,input:[`text`,`image`],contextWindow:262144,maxTokens:8192,capabilities:u}],Me=je.map(e=>e.id);function Ne(e=`synthetic`){return Object.fromEntries(je.map(t=>[`${e}/${t.id}`,t.capabilities?{...t.capabilities}:{}]))}var Pe=`moonshotai/Kimi-K2.6`;`${Pe}`;var d={tools:!0,json:!0},f={tools:!1,json:!1},Fe=[{id:Pe,name:`Kimi K2.6`,reasoning:!0,input:[`text`,`image`],contextWindow:262144,maxTokens:16384,cost:{input:1.2,output:4.5,cacheRead:.2,cacheWrite:1.2},capabilities:{...d,video:!0}},{id:`moonshotai/Kimi-K2.5`,name:`Kimi K2.5`,reasoning:!0,input:[`text`,`image`],contextWindow:262144,maxTokens:32768,cost:{input:.5,output:2.8,cacheRead:.5,cacheWrite:2.8},capabilities:d},{id:`MiniMaxAI/MiniMax-M2.7`,name:`MiniMax M2.7`,reasoning:!0,input:[`text`],contextWindow:202752,maxTokens:32768,cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.3},capabilities:d},{id:`zai-org/GLM-5.1`,name:`GLM-5.1`,reasoning:!0,input:[`text`],contextWindow:202752,maxTokens:128e3,cost:{input:1.4,output:4.4,cacheRead:1.4,cacheWrite:1.4},capabilities:d},{id:`zai-org/GLM-5`,name:`GLM-5`,reasoning:!0,input:[`text`],contextWindow:202752,maxTokens:128e3,cost:{input:1,output:3.2,cacheRead:1,cacheWrite:1},capabilities:d},{id:`Qwen/Qwen3.6-Plus`,name:`Qwen3.6 Plus`,reasoning:!0,input:[`text`],contextWindow:1e6,maxTokens:32768,cost:{input:.5,output:3,cacheRead:.5,cacheWrite:.5},capabilities:f},{id:`Qwen/Qwen3.5-397B-A17B`,name:`Qwen3.5 397B A17B`,reasoning:!0,input:[`text`,`image`],contextWindow:262144,maxTokens:32768,cost:{input:.6,output:3.6,cacheRead:.6,cacheWrite:.6},capabilities:d},{id:`Qwen/Qwen3.5-9B`,name:`Qwen3.5 9B`,reasoning:!1,input:[`text`,`image`],contextWindow:262144,maxTokens:32768,cost:{input:.1,output:.15,cacheRead:.1,cacheWrite:.1},capabilities:d},{id:`openai/gpt-oss-120b`,name:`GPT-OSS 120B`,reasoning:!0,input:[`text`],contextWindow:128e3,maxTokens:32768,cost:{input:.15,output:.6,cacheRead:.15,cacheWrite:.15},capabilities:d},{id:`openai/gpt-oss-20b`,name:`GPT-OSS 20B`,reasoning:!0,input:[`text`],contextWindow:128e3,maxTokens:32768,cost:{input:.05,output:.2,cacheRead:.05,cacheWrite:.05},capabilities:d},{id:`deepseek-ai/DeepSeek-V4-Pro`,name:`DeepSeek V4 Pro`,reasoning:!0,input:[`text`],contextWindow:512e3,maxTokens:32768,cost:{input:2.1,output:4.4,cacheRead:.2,cacheWrite:2.1},capabilities:d},{id:`deepseek-ai/DeepSeek-R1`,name:`DeepSeek R1 0528`,reasoning:!0,input:[`text`],contextWindow:163840,maxTokens:32768,cost:{input:3,output:7,cacheRead:3,cacheWrite:3},capabilities:f},{id:`deepseek-ai/DeepSeek-V3.1`,name:`DeepSeek V3.1`,reasoning:!1,input:[`text`],contextWindow:131072,maxTokens:32768,cost:{input:.6,output:1.7,cacheRead:.6,cacheWrite:.6},capabilities:f},{id:`Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8`,name:`Qwen3 Coder 480B A35B Instruct FP8`,reasoning:!1,input:[`text`],contextWindow:256e3,maxTokens:32768,cost:{input:2,output:2,cacheRead:2,cacheWrite:2},capabilities:d},{id:`Qwen/Qwen3-235B-A22B-Instruct-2507-tput`,name:`Qwen3 235B A22B Instruct 2507`,reasoning:!0,input:[`text`],contextWindow:262144,maxTokens:32768,cost:{input:.2,output:.6,cacheRead:.2,cacheWrite:.2},capabilities:d},{id:`Qwen/Qwen3-Coder-Next-FP8`,name:`Qwen3 Coder Next FP8`,reasoning:!1,input:[`text`],contextWindow:262144,maxTokens:32768,cost:{input:.5,output:1.2,cacheRead:.5,cacheWrite:.5},capabilities:f},{id:`meta-llama/Llama-3.3-70B-Instruct-Turbo`,name:`Llama 3.3 70B Instruct Turbo`,reasoning:!1,input:[`text`],contextWindow:131072,maxTokens:8192,cost:{input:.88,output:.88,cacheRead:.88,cacheWrite:.88},capabilities:d},{id:`essentialai/rnj-1-instruct`,name:`Rnj-1 Instruct`,reasoning:!1,input:[`text`],contextWindow:32768,maxTokens:8192,cost:{input:.15,output:.15,cacheRead:.15,cacheWrite:.15},capabilities:d},{id:`google/gemma-4-31B-it`,name:`Gemma 4 31B Instruct`,reasoning:!1,input:[`text`,`image`],contextWindow:262144,maxTokens:32768,cost:{input:.2,output:.5,cacheRead:.2,cacheWrite:.2},capabilities:d},{id:`google/gemma-3n-E4B-it`,name:`Gemma 3N E4B Instruct`,reasoning:!1,input:[`text`,`image`],contextWindow:32768,maxTokens:8192,cost:{input:.06,output:.12,cacheRead:.06,cacheWrite:.06},capabilities:{tools:!1,json:!0}}],Ie=Fe.map(e=>e.id).map(e=>`together/${e}`);function Le(e=`together`){return Object.fromEntries(Fe.map(t=>[`${e}/${t.id}`,t.capabilities?{...t.capabilities}:{}]))}var Re=`zai-org-glm-5-1`;`${Re}`;var p={thinkingMode:`generic-reasoning`,reasoningBudgetSupported:!1},m={tools:!0,json:!0},ze={tools:!0,json:!1},Be=[{id:Re,name:`GLM 5.1`,reasoning:!0,input:[`text`],cost:{input:1.75,output:5.5,cacheRead:.325,cacheWrite:0},contextWindow:2e5,maxTokens:24e3,capabilities:{...m,thinkingLevels:[`off`,`low`,`medium`,`high`],defaultThinkingLevel:`low`,...p}},{id:`venice-uncensored-1-2`,name:`Venice Uncensored 1.2`,reasoning:!1,input:[`text`,`image`],cost:{input:.2,output:.9,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,capabilities:m},{id:`qwen-3-6-plus`,name:`Qwen 3.6 Plus Uncensored`,reasoning:!0,input:[`text`,`image`],cost:{input:.625,output:3.75,cacheRead:.0625,cacheWrite:.78},contextWindow:1e6,maxTokens:65536,capabilities:{...m,video:!0,fixedReasoning:!0}},{id:`qwen3-5-397b-a17b`,name:`Qwen 3.5 397B`,reasoning:!0,input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:32768,capabilities:{...m,video:!0,thinkingLevels:[`off`,`low`,`medium`,`high`],defaultThinkingLevel:`low`,...p}},{id:`qwen3-235b-a22b-thinking-2507`,name:`Qwen 3 235B A22B Thinking`,reasoning:!0,input:[`text`],cost:{input:.45,output:3.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,capabilities:{...m,thinkingLevels:[`low`,`medium`,`high`],defaultThinkingLevel:`low`,...p}},{id:`qwen3-coder-480b-a35b-instruct-turbo`,name:`Qwen 3 Coder 480B Turbo`,reasoning:!1,input:[`text`],cost:{input:.35,output:1.5,cacheRead:.04,cacheWrite:0},contextWindow:256e3,maxTokens:65536,capabilities:m},{id:`qwen3-vl-235b-a22b`,name:`Qwen3 VL 235B`,reasoning:!1,input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:16384,capabilities:m},{id:`deepseek-v4-pro`,name:`DeepSeek V4 Pro`,reasoning:!0,input:[`text`],cost:{input:1.73,output:3.796,cacheRead:.33,cacheWrite:0},contextWindow:1e6,maxTokens:32768,capabilities:{...m,fixedReasoning:!0}},{id:`deepseek-v4-flash`,name:`DeepSeek V4 Flash`,reasoning:!0,input:[`text`],cost:{input:.17,output:.35,cacheRead:.028,cacheWrite:0},contextWindow:1e6,maxTokens:32768,capabilities:{...m,fixedReasoning:!0}},{id:`kimi-k2-6`,name:`Kimi K2.6`,reasoning:!0,input:[`text`,`image`],cost:{input:.85,output:4.655,cacheRead:.22,cacheWrite:0},contextWindow:256e3,maxTokens:65536,capabilities:{...m,thinkingLevels:[`off`,`low`,`medium`,`high`],defaultThinkingLevel:`high`,...p}},{id:`claude-opus-4-7`,name:`Claude Opus 4.7`,reasoning:!0,input:[`text`,`image`],cost:{input:6,output:30,cacheRead:.6,cacheWrite:7.5},contextWindow:1e6,maxTokens:128e3,capabilities:{...m,fixedReasoning:!0}},{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,reasoning:!0,input:[`text`,`image`],cost:{input:3.6,output:18,cacheRead:.36,cacheWrite:4.5},contextWindow:1e6,maxTokens:64e3,capabilities:{...m,fixedReasoning:!0}},{id:`openai-gpt-55`,name:`GPT-5.5`,reasoning:!0,input:[`text`,`image`],cost:{input:6.25,output:37.5,cacheRead:.625,cacheWrite:0},contextWindow:1e6,maxTokens:131072,capabilities:{...m,thinkingLevels:[`off`,`minimal`,`low`,`medium`,`high`],defaultThinkingLevel:`high`,...p}},{id:`openai-gpt-55-pro`,name:`GPT-5.5 Pro`,reasoning:!0,input:[`text`,`image`],cost:{input:37.5,output:225,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,capabilities:{...m,thinkingLevels:[`off`,`minimal`,`low`,`medium`,`high`],defaultThinkingLevel:`medium`,...p}},{id:`openai-gpt-54`,name:`GPT-5.4`,reasoning:!0,input:[`text`,`image`],cost:{input:3.13,output:18.8,cacheRead:.313,cacheWrite:0},contextWindow:1e6,maxTokens:131072,capabilities:{...m,thinkingLevels:[`off`,`minimal`,`low`,`medium`,`high`],defaultThinkingLevel:`high`,...p}},{id:`openai-gpt-54-mini`,name:`GPT-5.4 Mini`,reasoning:!0,input:[`text`,`image`],cost:{input:.9375,output:5.625,cacheRead:.09375,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,capabilities:{...m,thinkingLevels:[`off`,`minimal`,`low`,`medium`,`high`],defaultThinkingLevel:`high`,...p}},{id:`gemini-3-1-pro-preview`,name:`Gemini 3.1 Pro Preview`,reasoning:!0,input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.5,cacheWrite:.5},contextWindow:1e6,maxTokens:32768,capabilities:{...m,audio:!0,video:!0,thinkingLevels:[`low`,`medium`,`high`],defaultThinkingLevel:`low`,...p}},{id:`grok-4-20`,name:`Grok 4.20`,reasoning:!0,input:[`text`,`image`],cost:{input:1.42,output:2.83,cacheRead:.23,cacheWrite:0},contextWindow:2e6,maxTokens:128e3,capabilities:{...m,fixedReasoning:!0}},{id:`minimax-m27`,name:`MiniMax M2.7`,reasoning:!0,input:[`text`],cost:{input:.375,output:1.5,cacheRead:.075,cacheWrite:0},contextWindow:198e3,maxTokens:32768,capabilities:{...ze,thinkingLevels:[`low`,`medium`,`high`],defaultThinkingLevel:`low`,...p}},{id:`openai-gpt-oss-120b`,name:`OpenAI GPT OSS 120B`,reasoning:!0,input:[`text`],cost:{input:.07,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,capabilities:{...ze,thinkingLevels:[`off`,`low`,`medium`,`high`],defaultThinkingLevel:`low`,...p}},{id:`google-gemma-4-31b-it`,name:`Google Gemma 4 31B Instruct`,reasoning:!0,input:[`text`,`image`],cost:{input:.175,output:.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192,capabilities:{...m,video:!0,thinkingLevels:[`off`,`low`,`medium`,`high`],defaultThinkingLevel:`low`,...p}},{id:`mistral-small-2603`,name:`Mistral Small 4`,reasoning:!0,input:[`text`,`image`],cost:{input:.1875,output:.75,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:65536,capabilities:{...m,thinkingLevels:[`off`,`high`],defaultThinkingLevel:`high`,...p}}],Ve=Be.map(e=>e.id).map(e=>`venice/${e}`);function He(e=`venice`){return Object.fromEntries(Be.map(t=>[`${e}/${t.id}`.toLowerCase(),t.capabilities?{...t.capabilities}:{}]))}var Ue=[{id:`openai/gpt-5.5`,contextWindow:1e6,maxTokens:128e3,tags:[`reasoning`,`tool-use`,`web-search`,`implicit-caching`,`file-input`,`vision`]},{id:`openai/gpt-5.4`,contextWindow:1e6,maxTokens:128e3,tags:[`reasoning`,`tool-use`,`vision`,`file-input`,`implicit-caching`,`web-search`]},{id:`openai/gpt-5.4-mini`,contextWindow:4e5,maxTokens:128e3,tags:[`reasoning`,`tool-use`,`vision`,`file-input`,`implicit-caching`,`web-search`]},{id:`openai/gpt-5.4-nano`,contextWindow:4e5,maxTokens:128e3,tags:[`reasoning`,`tool-use`,`implicit-caching`,`web-search`,`vision`,`file-input`]},{id:`anthropic/claude-fable-5`,contextWindow:1e6,maxTokens:128e3,tags:[`tool-use`,`reasoning`,`vision`,`file-input`,`explicit-caching`,`web-search`]},{id:`anthropic/claude-opus-4.8`,contextWindow:1e6,maxTokens:128e3,tags:[`tool-use`,`reasoning`,`vision`,`file-input`,`explicit-caching`,`web-search`]},{id:`anthropic/claude-sonnet-5`,contextWindow:1e6,maxTokens:128e3,tags:[`file-input`,`reasoning`,`tool-use`,`vision`,`explicit-caching`,`web-search`]},{id:`anthropic/claude-haiku-4.5`,contextWindow:2e5,maxTokens:64e3,tags:[`file-input`,`reasoning`,`tool-use`,`vision`,`explicit-caching`]},{id:`google/gemini-3.5-flash`,contextWindow:1e6,maxTokens:65e3,tags:[`reasoning`,`tool-use`,`file-input`,`vision`,`web-search`,`implicit-caching`]},{id:`google/gemini-3.1-pro-preview`,contextWindow:1e6,maxTokens:64e3,tags:[`file-input`,`tool-use`,`reasoning`,`vision`,`web-search`,`implicit-caching`]},{id:`google/gemini-3-flash-preview`,contextWindow:1e6,maxTokens:65e3,tags:[`reasoning`,`tool-use`,`file-input`,`vision`,`web-search`,`implicit-caching`]},{id:`google/gemini-3.1-flash-lite`,contextWindow:1e6,maxTokens:65e3,tags:[`reasoning`,`tool-use`,`implicit-caching`,`file-input`,`vision`,`web-search`]},{id:`xai/grok-4.3`,contextWindow:1e6,maxTokens:1e6,tags:[`reasoning`,`tool-use`,`implicit-caching`,`file-input`,`vision`,`web-search`]},{id:`xai/grok-build-0.1`,contextWindow:256e3,maxTokens:256e3,tags:[`tool-use`,`implicit-caching`]},{id:`mistral/mistral-medium-3.5`,contextWindow:256e3,maxTokens:256e3,tags:[`reasoning`,`tool-use`,`vision`]},{id:`mistral/mistral-small-2603`,contextWindow:256e3,maxTokens:256e3,tags:[`reasoning`,`tool-use`,`vision`]},{id:`mistral/mistral-large-2512`,contextWindow:256e3,maxTokens:256e3,tags:[`vision`]},{id:`mistral/devstral-2512`,contextWindow:256e3,maxTokens:256e3,tags:[`tool-use`]},{id:`minimax/minimax-m2.7`,contextWindow:204800,maxTokens:131e3,tags:[`reasoning`,`tool-use`,`implicit-caching`,`file-input`,`vision`]},{id:`minimax/minimax-m2.7-highspeed`,contextWindow:204800,maxTokens:131100,tags:[`reasoning`,`tool-use`,`implicit-caching`,`vision`]},{id:`moonshotai/kimi-k2.6`,contextWindow:262e3,maxTokens:262e3,tags:[`reasoning`,`tool-use`,`vision`,`file-input`,`implicit-caching`]}],We=Ue.map(e=>e.id).map(e=>`vercel-ai-gateway/${e}`);function Ge(e){let t=e.trim().replace(/^vercel-ai-gateway\//,``).toLowerCase();return Ue.find(e=>e.id.toLowerCase()===t)}function Ke(e){let[t,...n]=e.trim().replace(/^vercel-ai-gateway\//,``).split(`/`),r=n.join(`/`);switch(t){case`anthropic`:return{provider:`anthropic`,model:r};case`google`:return{provider:`google`,model:r};case`minimax`:return{provider:`minimax`,model:r};case`moonshotai`:return{provider:`moonshot`,model:r};case`openai`:return{provider:`openai`,model:r};case`xai`:return{provider:`xai`,model:r};default:return{provider:`vercel-ai-gateway`,model:e}}}function qe(e){let t=Ge(e);if(!t)return;let n=new Set(t.tags.map(e=>e.toLowerCase())),r=Ke(t.id),i=n.has(`reasoning`)?s({provider:r.provider,model:r.model,reasoning:!0}):null;return{tools:n.has(`tool-use`),...i?{thinkingLevels:i.thinkingLevels,defaultThinkingLevel:i.defaultThinkingLevel,thinkingMode:i.thinkingMode,reasoningBudgetSupported:i.reasoningBudgetSupported}:{}}}function Je(e){return Object.fromEntries(e.flatMap(e=>{let t=qe(e);return t?[[e,t]]:[]}))}var h={tools:!0,json:!0,thinkingLevels:[...e],defaultThinkingLevel:`low`,thinkingMode:`generic-reasoning`,reasoningBudgetSupported:!1},Ye={...h,audio:!0,video:!0},Xe=[{id:`mimo-v2.5-pro`,name:`Xiaomi MiMo V2.5 Pro`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072,capabilities:h},{id:`mimo-v2.5`,name:`Xiaomi MiMo V2.5`,reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072,capabilities:Ye},{id:`mimo-v2-pro`,name:`Xiaomi MiMo V2 Pro`,reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072,capabilities:h},{id:`mimo-v2-omni`,name:`Xiaomi MiMo V2 Omni`,reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:128e3,capabilities:Ye},{id:`mimo-v2-flash`,name:`Xiaomi MiMo V2 Flash`,reasoning:!0,input:[`text`],cost:{input:.11,output:.32,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:64e3,capabilities:h}],Ze=Xe.map(e=>e.id);function Qe(e=`xiaomi`){return Object.fromEntries(Xe.map(t=>[`${e}/${t.id}`,t.capabilities?{...t.capabilities}:{}]))}new Map(`openai.anthropic.chutes.ollama.lmstudio.vllm.minimax.moonshot.google.xai.mistral.volcengine.byteplus.openrouter.qwen.zai.qianfan.copilot.ai-gateway.opencode-zen.xiaomi.synthetic.together.huggingface.venice.litellm.cloudflare-ai-gateway.custom`.split(`.`).map((e,t)=>[e,t]));var $e=`openai`,et=`openai`,g=`openai-codex`,tt=`anthropic`,_=`anthropic`,nt=`chutes`,v=`chutes`,rt=`ollama`,y=`ollama`,it=`lmstudio`,b=`lmstudio`,at=`vllm`,x=`vllm`,ot=`minimax`,S=`minimax`,C=`minimax-cn`,w=`minimax-portal`,st=`moonshot`,T=`moonshot`,E=`kimi-coding`,ct=`google`,D=`google`,O=`google-gemini-cli`,lt=`mistral`,k=`mistral`,ut=`volcengine`,A=`volcengine`,j=`volcengine-coding`,M=`volcengine-plan`,dt=`byteplus`,N=`byteplus`,ft=`byteplus-coding`,P=`byteplus-plan`,pt=`openrouter`,F=`openrouter`,mt=`qwen`,I=`qwen`,L=`qwen-coding-plan`,ht=`qianfan`,R=`qianfan`,gt=`copilot`,z=`github-copilot`,B=`copilot-proxy`,_t=`ai-gateway`,V=`vercel-ai-gateway`,vt=`opencode-zen`,H=`opencode`,yt=`xiaomi`,U=`xiaomi`,bt=`synthetic`,W=`synthetic`,xt=`together`,G=`together`,St=`huggingface`,K=`huggingface`,Ct=`venice`,q=`venice`,wt=`litellm`,J=`litellm`,Tt=`custom`,Y=`custom`,Et=[`gpt-5.6`,`gpt-5.6-terra`,`gpt-5.6-luna`,`gpt-5.5`,`gpt-5.4`,`gpt-5.4-mini`,`gpt-5.4-nano`],Dt=[`gpt-5.5`,`gpt-5.4`,`gpt-5.4-mini`,`gpt-5.3-codex-spark`],Ot=Et.map(e=>`${et}/${e}`),kt=Dt.map(e=>`${g}/${e}`),At=[`claude-fable-5`,`claude-opus-4-8`,`claude-sonnet-5`,`claude-haiku-4-5`].map(e=>`${_}/${e}`),jt=[`google/gemma-4-31B-turbo-TEE`,`Qwen/Qwen3-32B-TEE`,`deepseek-ai/DeepSeek-V3.2-TEE`,`zai-org/GLM-5.1-TEE`,`moonshotai/Kimi-K2.6-TEE`,`Qwen/Qwen3.6-27B-TEE`,`Qwen/Qwen3.5-397B-A17B-TEE`,`zai-org/GLM-5-TEE`],Mt=jt.map(e=>`${v}/${e}`),Nt=[],Pt=[],Ft=[],It=[`MiniMax-M2.7`,`MiniMax-M2.7-highspeed`,`MiniMax-M2.5`,`MiniMax-M2.5-highspeed`],Lt=It.map(e=>`${S}/${e}`),Rt=It.map(e=>`${C}/${e}`),zt=[`MiniMax-M2.7`,`MiniMax-M2.7-highspeed`].map(e=>`${w}/${e}`),Bt=[`kimi-k2.6`,`kimi-k2.5`].map(e=>`${T}/${e}`),Vt=[`kimi-for-coding`].map(e=>`${E}/${e}`),Ht=[`gemini-3.5-flash`,`gemini-3.1-pro-preview`,`gemini-3-flash-preview`,`gemini-3.1-flash-lite`],Ut=Ht.map(e=>`${D}/${e}`),Wt=Ht.map(e=>`${O}/${e}`),Gt=[`grok-4.5`,`grok-4.3`,`grok-build-0.1`].map(e=>`xai/${e}`),Kt=[`mistral-medium-3.5`,`mistral-small-2603`,`mistral-large-2512`,`devstral-2512`,`ministral-14b-2512`,`ministral-8b-2512`,`ministral-3b-2512`].map(e=>`${k}/${e}`),qt=[`doubao-seed-2-0-pro-260215`,`doubao-seed-2-0-lite-260215`,`doubao-seed-2-0-mini-260215`,`doubao-seed-2-0-code-preview-260215`,`deepseek-v3-2-251201`,`glm-4-7-251222`].map(e=>`${A}/${e}`),Jt=[`ark-code-latest`,`doubao-seed-2.0-code`,`doubao-seed-2.0-pro`,`doubao-seed-2.0-lite`,`doubao-seed-code`,`minimax-m2.5`,`glm-4.7`,`deepseek-v3.2`,`kimi-k2.5`].flatMap(e=>[`${j}/${e}`,`${M}/${e}`]),Yt=[`seed-2-0-pro-260328`,`seed-2-0-lite-260228`,`seed-2-0-mini-260215`,`seed-2-0-code-preview-260328`,`deepseek-v3-2-251201`,`glm-4-7-251222`].map(e=>`${N}/${e}`),Xt=[`ark-code-latest`,`dola-seed-2.0-pro`,`dola-seed-2.0-lite`,`dola-seed-2.0-code`,`bytedance-seed-code`,`glm-5.1`,`glm-4.7`,`kimi-k2.5`,`gpt-oss-120b`].flatMap(e=>[`${ft}/${e}`,`${P}/${e}`]),Zt=`openrouter/owl-alpha,openai/gpt-5.6-sol,openai/gpt-5.6-terra,openai/gpt-5.6-luna,openai/gpt-5.5,openai/gpt-5.4,openai/gpt-5.4-mini,openai/gpt-5.4-nano,anthropic/claude-fable-5,anthropic/claude-opus-4.8,anthropic/claude-sonnet-5,anthropic/claude-haiku-4.5,google/gemini-3.5-flash,google/gemini-3.1-pro-preview,google/gemini-3-flash-preview,google/gemini-3.1-flash-lite,x-ai/grok-4.5,x-ai/grok-4.3,x-ai/grok-build-0.1,mistralai/mistral-medium-3-5,mistralai/mistral-small-2603,mistralai/mistral-large-2512,mistralai/devstral-2512,qwen/qwen3.7-max,qwen/qwen3.7-plus,qwen/qwen3.6-flash,z-ai/glm-5.2,deepseek/deepseek-v4-pro,deepseek/deepseek-v4-flash,minimax/minimax-m2.7,moonshotai/kimi-k2.6`.split(`,`).map(e=>`${F}/${e}`),Qt=[`qwen3.7-max`,`qwen3.7-plus`,`qwen3.6-flash`].map(e=>`${I}/${e}`),$t=[`qwen3.7-max`,`qwen3.7-plus`,`qwen3.6-flash`,`deepseek-v4-pro`,`deepseek-v4-flash`,`kimi-k2.7-code`,`glm-5.2`,`MiniMax-M2.5`].map(e=>`${L}/${e}`),en=[`glm-5.2`,`glm-5.1`,`glm-5`,`glm-5-turbo`,`glm-5v-turbo`,`glm-4.7`,`glm-4.7-flashx`,`glm-4.7-flash`].map(e=>`zai/${e}`),tn={tools:!0,json:!0,thinkingLevels:[`off`,`low`],defaultThinkingLevel:`low`,thinkingMode:`zai-binary`,reasoningBudgetSupported:!1},nn=Object.fromEntries(en.map(e=>[e,e.endsWith(`/glm-5v-turbo`)?{...tn,video:!0}:tn])),rn=[`ernie-5.1`,`ernie-5.0`,`ernie-5.0-thinking-latest`,`ernie-5.0-thinking-preview`,`ernie-x1.1-preview`,`ernie-x1.1`,`ernie-x1-turbo-32k`,`deepseek-v4-pro`,`deepseek-v4-flash`,`deepseek-v3.2-think`,`deepseek-v3.2`].map(e=>`${R}/${e}`),an=new Set([`qianfan/ernie-5.1`,`qianfan/ernie-5.0`,`qianfan/ernie-5.0-thinking-latest`,`qianfan/ernie-5.0-thinking-preview`,`qianfan/ernie-x1.1-preview`,`qianfan/ernie-x1.1`,`qianfan/ernie-x1-turbo-32k`]),on=new Set([`qianfan/deepseek-v4-pro`,`qianfan/deepseek-v4-flash`,`qianfan/deepseek-v3.2-think`,`qianfan/deepseek-v3.2`]),sn=Object.fromEntries(rn.map(t=>[t,{tools:!0,json:!0,...an.has(t)?{fixedReasoning:!0}:on.has(t)?{thinkingLevels:[...e],defaultThinkingLevel:`low`,thinkingMode:`generic-reasoning`,reasoningBudgetSupported:!0}:{}}])),cn=[`gpt-5.5`,`gpt-5.4`,`gpt-5.4-mini`,`gpt-5.3-codex-spark`,`gpt-4.1`,`claude-fable-5`,`claude-opus-4.8`,`claude-sonnet-5`,`claude-haiku-4.5`,`gemini-3.5-flash`,`gemini-3.1-pro`,`gemini-3-flash`,`grok-build-0.1`],ln=cn.map(e=>`${z}/${e}`),un=[...cn].map(e=>`${B}/${e}`);`${z}`;var dn=new Set([`gpt-5.5`,`gpt-5.4`,`gpt-5.4-mini`,`gpt-5.3-codex-spark`]),fn=new Set([`claude-fable-5`,`claude-opus-4.8`,`claude-sonnet-5`]),pn=new Set([`claude-haiku-4.5`]),mn=new Set([`gemini-3.5-flash`,`gemini-3.1-pro`,`gemini-3-flash`]);function hn(t){return Object.fromEntries(t.map(t=>{let n=t.slice(t.indexOf(`/`)+1);return[t,{tools:!0,json:!0,...dn.has(n)?{thinkingLevels:[...e],defaultThinkingLevel:`low`,thinkingMode:`openai-reasoning-effort`,reasoningBudgetSupported:!1}:fn.has(n)?{thinkingLevels:[...e],defaultThinkingLevel:`low`,thinkingMode:`anthropic-adaptive`,reasoningBudgetSupported:!0}:pn.has(n)?{thinkingLevels:[...e],defaultThinkingLevel:`low`,thinkingMode:`anthropic-thinking-budget`,reasoningBudgetSupported:!0}:mn.has(n)?{thinkingLevels:[...e],defaultThinkingLevel:`low`,thinkingMode:`google-thinking-budget`,reasoningBudgetSupported:!0}:{}}]}))}var gn={...hn(ln),...hn(un)},_n=Je(We),vn=ke(Ee),yn=Ze.map(e=>`${U}/${e}`);`${U}`;var bn=Qe(U),xn=Me.map(e=>`${W}/${e}`);`${W}`;var Sn=Ne(W),Cn=Le(G),wn=xe(K),Tn=He(q),En=Te(J),Dn=ge(c),On=[];function kn(e){let t=e.indexOf(`/`);return t<=0||t===e.length-1?null:{route:e.slice(0,t).trim(),model:e.slice(t+1).trim()}}function An(e,t){let n=t.trim().toLowerCase(),r=(e,r)=>n.startsWith(`${e}/`)?{provider:r,model:t.slice(e.length+1)}:null;return r(`openai`,`openai`)??r(`anthropic`,`anthropic`)??r(`google`,`google`)??r(`x-ai`,`xai`)??r(`xai`,`xai`)??r(`mistralai`,`mistral`)??r(`minimax`,`minimax`)??r(`qwen`,`qwen`)??r(`moonshotai`,`moonshot`)??r(`z-ai`,`zai`)??r(`zai-org`,`zai`)??r(`glm`,`zai`)??{provider:n.includes(`claude-`)||n.includes(`claude_`)?`anthropic`:n.includes(`gemini-`)?`google`:n.includes(`qwen`)?`qwen`:n.includes(`kimi`)?`moonshot`:n.includes(`glm-`)?`zai`:e,model:t}}function jn(e){let t=An(e.route,e.model),n=s({provider:t.provider,model:t.model,reasoning:e.reasoning});if(n)return{thinkingLevels:n.thinkingLevels,defaultThinkingLevel:n.defaultThinkingLevel,thinkingMode:n.thinkingMode,reasoningBudgetSupported:n.reasoningBudgetSupported}}function Mn(e){let t=kn(e);if(t)return jn({route:t.route,model:t.model})}function X(e){return Object.fromEntries(e.map(e=>[e.toLowerCase(),Mn(e)??{}]))}function Z(e,t){let n=X(e);for(let[e,r]of Object.entries(t))n[e.toLowerCase()]={...n[e.toLowerCase()],...r};return n}var Nn=[...e],Pn={"anthropic/claude-fable-5":{thinkingLevels:Nn,defaultThinkingLevel:`low`,thinkingMode:`anthropic-adaptive`,reasoningBudgetSupported:!1},"anthropic/claude-opus-4-8":{thinkingLevels:Nn,defaultThinkingLevel:`low`,thinkingMode:`anthropic-adaptive`,reasoningBudgetSupported:!1},"anthropic/claude-sonnet-5":{thinkingLevels:Nn,defaultThinkingLevel:`low`,thinkingMode:`anthropic-adaptive`,reasoningBudgetSupported:!0},"anthropic/claude-haiku-4-5":{thinkingLevels:Nn,defaultThinkingLevel:`low`,thinkingMode:`anthropic-thinking-budget`,reasoningBudgetSupported:!0}},Fn=Object.fromEntries(jt.map(e=>[`${v}/${e}`,{tools:!0,json:!0,...jn({route:v,model:e,reasoning:!0}),...e===`moonshotai/Kimi-K2.6-TEE`?{video:!0}:{}}])),In=[...e],Ln=Object.fromEntries([...Lt,...Rt,...zt].map(e=>[e,{tools:!0,thinkingLevels:In,defaultThinkingLevel:`off`,thinkingMode:`anthropic-thinking-budget`,reasoningBudgetSupported:!1}])),Rn=Object.fromEntries([...Bt,...Vt].map(t=>[t,{tools:!0,...t===`moonshot/kimi-k2.6`?{video:!0}:{},thinkingLevels:[...e],defaultThinkingLevel:`low`,thinkingMode:`moonshot-thinking`,reasoningBudgetSupported:!1}])),zn=Object.fromEntries([...Ut,...Wt].map(t=>[t,{tools:!0,json:!0,audio:!0,video:!0,thinkingLevels:[...e],defaultThinkingLevel:`low`,thinkingMode:`google-thinking-budget`,reasoningBudgetSupported:!0}])),Bn={"xai/grok-4.5":{tools:!0,json:!0,thinkingLevels:[`off`,`low`,`medium`,`high`],defaultThinkingLevel:`low`,thinkingMode:`xai-reasoning-effort`,reasoningBudgetSupported:!1},"xai/grok-4.3":{tools:!0,json:!0,thinkingLevels:[`off`,`low`,`medium`,`high`],defaultThinkingLevel:`low`,thinkingMode:`xai-reasoning-effort`,reasoningBudgetSupported:!1},"xai/grok-build-0.1":{tools:!0,json:!0}},Vn=[`off`,`high`],Hn=Object.fromEntries(Kt.map(e=>[e,{tools:!0,json:!0,...e===`mistral/mistral-medium-3.5`||e===`mistral/mistral-small-2603`?{thinkingLevels:[...Vn],defaultThinkingLevel:`high`,thinkingMode:`mistral-reasoning-effort`,reasoningBudgetSupported:!1}:{}}])),Un=[`minimal`,`low`,`medium`,`high`],Wn=new Set([`volcengine/doubao-seed-2-0-pro-260215`,`volcengine/doubao-seed-2-0-lite-260215`,`volcengine/doubao-seed-2-0-mini-260215`,`volcengine/doubao-seed-2-0-code-preview-260215`,`volcengine-coding/doubao-seed-2.0-code`,`volcengine-plan/doubao-seed-2.0-code`,`volcengine-coding/doubao-seed-2.0-pro`,`volcengine-plan/doubao-seed-2.0-pro`,`volcengine-coding/doubao-seed-2.0-lite`,`volcengine-plan/doubao-seed-2.0-lite`,`volcengine-coding/doubao-seed-code`,`volcengine-plan/doubao-seed-code`]),Gn=new Set([`volcengine/doubao-seed-2-0-pro-260215`,`volcengine/doubao-seed-2-0-lite-260215`,`volcengine/doubao-seed-2-0-mini-260215`,`volcengine/doubao-seed-2-0-code-preview-260215`,`volcengine-coding/doubao-seed-2.0-code`,`volcengine-plan/doubao-seed-2.0-code`,`volcengine-coding/doubao-seed-2.0-pro`,`volcengine-plan/doubao-seed-2.0-pro`,`volcengine-coding/doubao-seed-2.0-lite`,`volcengine-plan/doubao-seed-2.0-lite`,`volcengine-coding/doubao-seed-code`,`volcengine-plan/doubao-seed-code`]),Kn=Object.fromEntries([...qt,...Jt].map(e=>[e,{tools:!0,json:!0,...Wn.has(e)?{thinkingLevels:[...Un],defaultThinkingLevel:`medium`,thinkingMode:`volcengine-reasoning-effort`,reasoningBudgetSupported:!1}:{},...Gn.has(e)?{video:!0}:{}}])),qn=[`off`,`high`],Jn=new Set([`byteplus/seed-2-0-pro-260328`,`byteplus/seed-2-0-lite-260228`,`byteplus/seed-2-0-mini-260215`,`byteplus/seed-2-0-code-preview-260328`,`byteplus-coding/dola-seed-2.0-pro`,`byteplus-plan/dola-seed-2.0-pro`,`byteplus-coding/dola-seed-2.0-lite`,`byteplus-plan/dola-seed-2.0-lite`,`byteplus-coding/dola-seed-2.0-code`,`byteplus-plan/dola-seed-2.0-code`,`byteplus-coding/bytedance-seed-code`,`byteplus-plan/bytedance-seed-code`]),Yn=Object.fromEntries([...Yt,...Xt].map(e=>[e,{tools:!0,json:!0,...Jn.has(e)?{thinkingLevels:[...qn],defaultThinkingLevel:`high`,thinkingMode:`byteplus-thinking-type`,reasoningBudgetSupported:!1}:{}}])),Xn=new Set([`openrouter/google/gemini-3.5-flash`,`openrouter/google/gemini-3.1-pro-preview`,`openrouter/google/gemini-3-flash-preview`,`openrouter/google/gemini-3.1-flash-lite`]),Zn=new Set([`openrouter/google/gemini-3.5-flash`,`openrouter/google/gemini-3.1-pro-preview`,`openrouter/google/gemini-3-flash-preview`,`openrouter/google/gemini-3.1-flash-lite`,`openrouter/qwen/qwen3.7-max`,`openrouter/qwen/qwen3.7-plus`,`openrouter/qwen/qwen3.6-flash`]),Qn=new Set([`openrouter/mistralai/mistral-medium-3-5`,`openrouter/mistralai/mistral-small-2603`]),$n=new Set([`openrouter/minimax/minimax-m2.7`]),er=new Set([`openrouter/deepseek/deepseek-v4-pro`,`openrouter/deepseek/deepseek-v4-flash`]),tr=new Set([`openrouter/openai/gpt-5.6-sol`,`openrouter/openai/gpt-5.6-terra`,`openrouter/openai/gpt-5.6-luna`,`openrouter/openai/gpt-5.5`,`openrouter/openai/gpt-5.4`,`openrouter/openai/gpt-5.4-mini`,`openrouter/openai/gpt-5.4-nano`]),nr=new Set([`openrouter/x-ai/grok-4.5`,`openrouter/x-ai/grok-4.3`]),rr=Object.fromEntries(Zt.map(n=>[n,{tools:!0,json:!0,...Xn.has(n)?{audio:!0}:{},...Zn.has(n)?{video:!0}:{},...Qn.has(n)?{thinkingLevels:[...Vn],defaultThinkingLevel:`high`,thinkingMode:`mistral-reasoning-effort`,reasoningBudgetSupported:!1}:{},...$n.has(n)?{thinkingLevels:[...In],defaultThinkingLevel:`off`,thinkingMode:`anthropic-thinking-budget`,reasoningBudgetSupported:!1}:{},...er.has(n)?{thinkingLevels:[...e],defaultThinkingLevel:`low`,thinkingMode:`generic-reasoning`,reasoningBudgetSupported:!1}:{},...tr.has(n)?{thinkingLevels:[...t],defaultThinkingLevel:`low`,thinkingMode:`openai-reasoning-effort`,reasoningBudgetSupported:!1}:{},...nr.has(n)?{thinkingLevels:[`off`,`low`,`medium`,`high`],defaultThinkingLevel:`low`,thinkingMode:`xai-reasoning-effort`,reasoningBudgetSupported:!1}:{}}])),ir=new Set([`qwen-coding-plan/kimi-k2.7-code`,`qwen-coding-plan/glm-5.2`,`qwen-coding-plan/MiniMax-M2.5`]),ar=Object.fromEntries([...Qt,...$t].map(t=>[t,{tools:!0,json:!0,...ir.has(t)?{}:{thinkingLevels:[...e],defaultThinkingLevel:`low`,thinkingMode:`qwen-thinking`,reasoningBudgetSupported:!0}}])),or={id:$e,label:`OpenAI`,priority:1,hint:`OpenAI sign-in + API key`,methods:[{id:`openai-codex`,route:g,kind:`oauth`,label:`Sign in`,hint:`Open the OpenAI sign-in URL, finish login in the browser, then Fased completes the OAuth flow.`},{id:`openai-api-key`,route:et,kind:`api-key`,label:`API key`}],models:{recommended:[...Ot,...kt],routeRules:{[et]:[`${et}/*`],[g]:[`${g}/*`]}},modelCapabilities:X([...Ot,...kt])},sr={id:tt,label:`Anthropic`,priority:2,hint:`Claude Code OAuth + setup-token + API key`,methods:[{id:`anthropic-oauth`,route:_,kind:`oauth`,label:`Sign in (Claude Code)`,hint:`Claude or Console account; Pro, Max, Team, Enterprise, or Console access`,buttonLabel:`Sign in`},{id:`token`,route:_,kind:`token`,label:`Token (setup-token)`,hint:"run `claude setup-token` elsewhere, then paste the token here",buttonLabel:`Paste token`},{id:`apiKey`,route:_,kind:`api-key`,label:`API key`}],models:{recommended:[...At],routeRules:{[_]:[`${_}/*`]}},modelCapabilities:Z(At,Pn)},cr={id:nt,label:`Chutes`,priority:3,hint:`Sign in + API key`,methods:[{id:`chutes`,route:v,kind:`oauth`,label:`Sign in`,hint:`Requires a Chutes OAuth app client id. Enter the cid, then Fased generates the Chutes sign-in URL.`,buttonLabel:`Sign in`},{id:`chutes-api-key`,route:v,kind:`api-key`,label:`API key`}],models:{recommended:[...Mt],routeRules:{[v]:[`${v}/*`]}},modelCapabilities:Z(Mt,Fn)},lr={id:rt,label:`Ollama`,priority:4,hint:`Local, cloud, or hybrid Ollama through the native API`,modelProviderIds:[y],methods:[{id:`ollama`,route:y,kind:`manual`,label:`Ollama native URL + model`,hint:`Use the native Ollama base URL, for example http://127.0.0.1:11434. Do not use /v1.`,buttonLabel:`Configure`}],models:{recommended:Nt,dynamic:!0,routeRules:{[y]:[`${y}/*`]}},modelCapabilities:X(Nt)},ur={id:it,label:`LM Studio`,priority:4,hint:`Local LM Studio server on localhost:1234`,modelProviderIds:[b],methods:[{id:`lmstudio`,route:b,kind:`manual`,label:`LM Studio URL + model`,hint:`Use http://127.0.0.1:1234/v1, optional API token, and a model key from LM Studio.`,buttonLabel:`Configure`}],models:{recommended:Pt,dynamic:!0,routeRules:{[b]:[`${b}/*`]}},modelCapabilities:X(Pt)},dr={id:at,label:`vLLM-compatible`,priority:4,hint:`OpenAI-compatible local server: vLLM, SGLang, TGI, LocalAI, or FastChat`,modelProviderIds:[x],methods:[{id:`vllm`,route:x,kind:`manual`,label:`vLLM-compatible URL + model`,hint:`Enter the /v1 base URL, API key or local placeholder, and served model ID for vLLM, SGLang, TGI, LocalAI, or FastChat.`,buttonLabel:`Configure`}],models:{recommended:Ft,dynamic:!0,routeRules:{[x]:[`${x}/*`]}},modelCapabilities:X(Ft)},fr={id:ot,label:`MiniMax`,priority:5,hint:`MiniMax OAuth + API key`,modelProviderIds:[S,C,w],methods:[{id:`minimax-portal`,route:w,kind:`oauth`,label:`Sign in`,hint:`Global or CN endpoint; uses MiniMax portal sign-in`,setupRequirement:`Requires MiniMax portal/coding-plan access. Choose Global or CN, then open the approval URL and approve before the code expires.`,buttonLabel:`Sign in`},{id:`minimax-api`,route:S,kind:`api-key`,label:`API key`},{id:`minimax-api-key-cn`,route:C,kind:`api-key`,label:`API key (CN)`,hint:`China endpoint (api.minimaxi.com)`},{id:`minimax-api-lightning`,route:S,configProviderId:`minimax-lightning`,statusRoute:S,kind:`api-key`,label:`Highspeed API key`,hint:`Fast M2.7 tier`}],models:{recommended:[...Lt,...Rt,...zt],routeRules:{[S]:[`${S}/*`],[C]:[`${C}/*`],[w]:[`${w}/*`]}},modelCapabilities:Z([...Lt,...Rt,...zt],Ln)},pr={id:st,label:`Moonshot AI`,priority:6,hint:`Kimi API + Kimi Code`,modelProviderIds:[T,E],methods:[{id:`moonshot-api-key`,route:T,kind:`api-key`,label:`Kimi API key (.ai)`,hint:`Kimi Open Platform endpoint (api.moonshot.ai)`},{id:`moonshot-api-key-cn`,route:T,configProviderId:`moonshot-cn`,statusRoute:T,kind:`api-key`,label:`Kimi API key (.cn)`,hint:`China endpoint (api.moonshot.cn)`},{id:`kimi-code-api-key`,route:E,kind:`api-key`,label:`Kimi Code API key (subscription)`,hint:`Kimi Code membership endpoint (api.kimi.com/coding)`}],models:{recommended:[...Bt,...Vt],routeRules:{[T]:[`${T}/*`],[E]:[`${E}/*`]}},modelCapabilities:Z([...Bt,...Vt],Rn)},mr={id:ct,label:`Google`,priority:7,hint:`Gemini API key + OAuth`,routeAliases:[`gemini`],modelProviderIds:[D,`gemini`,O],methods:[{id:`gemini-api-key`,route:D,kind:`api-key`,label:`Gemini API key`},{id:`google-gemini-cli`,route:O,kind:`oauth`,label:`Sign in (Gemini CLI)`,hint:`Unofficial flow; review account-risk warning before use`,setupRequirement:`Requires gemini-cli installed on the gateway machine, or GEMINI_CLI_OAUTH_CLIENT_ID set before sign-in.`}],models:{recommended:[...Ut,...Wt],routeRules:{[D]:[`${D}/*`,`gemini/*`],[O]:[`${O}/*`]}},modelCapabilities:Z([...Ut,...Wt],zn)},hr={id:`xai`,label:`xAI (Grok)`,priority:8,hint:`Grok API key or xAI account sign-in`,methods:[{id:`xai-oauth`,route:`xai`,kind:`oauth`,label:`xAI sign-in`,hint:`Browser sign-in for eligible xAI/Grok accounts`,buttonLabel:`Sign in`},{id:`xai-device-code`,route:`xai`,kind:`device`,label:`xAI device code`,hint:`Remote-friendly sign-in for eligible xAI/Grok accounts`,buttonLabel:`Device code`},{id:`xai-api-key`,route:`xai`,kind:`api-key`,label:`xAI API key`}],models:{recommended:[...Gt],routeRules:{xai:[`xai/*`]}},modelCapabilities:Z(Gt,Bn)},gr={id:lt,label:`Mistral AI`,priority:9,hint:`Mistral API key`,methods:[{id:`mistral-api-key`,route:k,kind:`api-key`,label:`Mistral API key`}],models:{recommended:[...Kt],routeRules:{[k]:[`${k}/*`]}},modelCapabilities:Z(Kt,Hn)},_r={id:ut,label:`Volcano Engine`,priority:10,hint:`Ark API key + Coding Plan`,modelProviderIds:[A,j,M],methods:[{id:`volcengine-api-key`,route:A,kind:`api-key`,label:`Volcano Engine API key`}],models:{recommended:[...qt,...Jt],routeRules:{[A]:[`${A}/*`],[j]:[`${j}/*`],[M]:[`${M}/*`]}},modelCapabilities:Z([...qt,...Jt],Kn)},vr={id:dt,label:`BytePlus`,priority:11,hint:`ModelArk API key + Coding Plan`,modelProviderIds:[N,ft,P],methods:[{id:`byteplus-api-key`,route:N,kind:`api-key`,label:`BytePlus API key`}],models:{recommended:[...Yt,...Xt],routeRules:{[N]:[`${N}/*`],[ft]:[`${ft}/*`],[P]:[`${P}/*`]}},modelCapabilities:Z([...Yt,...Xt],Yn)},yr={id:pt,label:`OpenRouter`,priority:12,hint:`API key`,methods:[{id:`openrouter-api-key`,route:F,kind:`api-key`,label:`OpenRouter API key`}],models:{recommended:[...Zt],dynamic:!0,routeRules:{[F]:[`${F}/*`]}},modelCapabilities:Z(Zt,rr)},br={id:mt,label:`Qwen`,priority:14,hint:`Coding Plan + DashScope API key`,modelProviderIds:[L,I],methods:[{id:`qwen-coding-plan-api-key`,route:L,kind:`api-key`,label:`Coding Plan API key`,hint:`Alibaba Cloud Coding Plan endpoint (coding.dashscope.aliyuncs.com)`},{id:`qwen-api-key`,route:I,kind:`api-key`,label:`DashScope API key`,hint:`DashScope OpenAI-compatible endpoint (dashscope.aliyuncs.com)`}],models:{recommended:[...$t,...Qt],routeRules:{[L]:[`${L}/*`],[I]:[`${I}/*`]}},modelCapabilities:Z([...$t,...Qt],ar)},xr={id:`zai`,label:`Z.AI`,priority:15,hint:`GLM Coding Plan / Global / CN`,modelProviderIds:[`zai`],methods:[{id:`zai-coding-global`,route:`zai`,configProviderId:`zai-coding-global`,statusRoute:`zai`,kind:`api-key`,label:`Coding-Plan-Global`,hint:`GLM Coding Plan Global (api.z.ai)`},{id:`zai-coding-cn`,route:`zai`,configProviderId:`zai-coding-cn`,statusRoute:`zai`,kind:`api-key`,label:`Coding-Plan-CN`,hint:`GLM Coding Plan CN (open.bigmodel.cn)`},{id:`zai-global`,route:`zai`,configProviderId:`zai`,kind:`api-key`,label:`Global`,hint:`Z.AI Global (api.z.ai)`},{id:`zai-cn`,route:`zai`,configProviderId:`zai-cn`,statusRoute:`zai`,kind:`api-key`,label:`CN`,hint:`Z.AI CN (open.bigmodel.cn)`}],models:{recommended:[...en],routeRules:{zai:[`zai/*`]}},modelCapabilities:Z(en,nn)},Sr={id:ht,label:`Qianfan`,priority:16,hint:`Baidu Qianfan API key`,methods:[{id:`qianfan-api-key`,route:R,kind:`api-key`,label:`Qianfan API key`}],models:{recommended:[...rn],routeRules:{[R]:[`${R}/*`]}},modelCapabilities:Z(rn,sn)},Cr={id:gt,label:`Copilot`,priority:17,hint:`GitHub device login + local proxy`,modelProviderIds:[z,B],methods:[{id:`github-copilot`,route:z,kind:`device`,label:`GitHub sign in`,hint:`GitHub OAuth device flow; requires an active Copilot subscription`,buttonLabel:`Sign in`},{id:`copilot-proxy`,route:B,kind:`device`,label:`Proxy sign in`,hint:`Local VS Code Copilot Proxy bridge`,buttonLabel:`Configure`}],models:{recommended:[...ln,...un],dynamic:!0,routeRules:{[z]:[`${z}/*`],[B]:[`${B}/*`]}},modelCapabilities:Z([...ln,...un],gn)},wr={id:_t,label:`Vercel AI`,priority:18,hint:`API key`,modelProviderIds:[V],methods:[{id:`ai-gateway-api-key`,route:V,kind:`api-key`,label:`Vercel AI API key`}],models:{recommended:[...We],dynamic:!0,routeRules:{[V]:[`${V}/*`]}},modelCapabilities:Z(We,_n)},Tr={id:vt,label:`OpenCode Zen`,priority:19,hint:`API key`,modelProviderIds:[H],methods:[{id:`opencode-zen`,route:H,kind:`api-key`,label:`OpenCode Zen API key`,hint:`Sign in to OpenCode Zen, then paste the API key`}],models:{recommended:[...Ee],dynamic:!0,routeRules:{[H]:[`${H}/*`]}},modelCapabilities:Z(Ee,vn)},Er={id:yt,label:`Xiaomi`,priority:20,hint:`MiMo API key`,modelProviderIds:[U],methods:[{id:`xiaomi-api-key`,route:U,kind:`api-key`,label:`Xiaomi API key`,hint:`Create an API key in the Xiaomi MiMo API Open Platform`}],models:{recommended:[...yn],routeRules:{[U]:[`${U}/*`]}},modelCapabilities:Z(yn,bn)},Dr={id:bt,label:`Synthetic`,priority:21,hint:`Anthropic-compatible API key`,modelProviderIds:[W],methods:[{id:`synthetic-api-key`,route:W,kind:`api-key`,label:`Synthetic API key`,hint:`Create an API key in Synthetic`}],models:{recommended:[...xn],routeRules:{[W]:[`${W}/*`]}},modelCapabilities:Z(xn,Sn)},Or={id:xt,label:`Together AI`,priority:22,hint:`API key`,modelProviderIds:[G],methods:[{id:`together-api-key`,route:G,kind:`api-key`,label:`Together AI API key`,hint:`Create an API key in Together AI`}],models:{recommended:[...Ie],routeRules:{[G]:[`${G}/*`]}},modelCapabilities:Z(Ie,Cn)},kr={id:St,label:`Hugging Face`,priority:23,hint:`Inference Providers token`,modelProviderIds:[K],methods:[{id:`huggingface-api-key`,route:K,kind:`api-key`,label:`Hugging Face token`,hint:`Create a fine-grained token with Inference Providers access`}],models:{recommended:[...ye],dynamic:!0,routeRules:{[K]:[`${K}/*`]}},modelCapabilities:wn},Ar={id:Ct,label:`Venice AI`,priority:24,hint:`Privacy-focused API key`,modelProviderIds:[q],methods:[{id:`venice-api-key`,route:q,kind:`api-key`,label:`Venice AI API key`,hint:`Create an API key in Venice settings`}],models:{recommended:[...Ve],dynamic:!0,routeRules:{[q]:[`${q}/*`]}},modelCapabilities:Tn},jr={id:wt,label:`LiteLLM`,priority:25,hint:`OpenAI-compatible LLM proxy`,modelProviderIds:[J],methods:[{id:`litellm-api-key`,route:J,kind:`api-key`,label:`LiteLLM API key`,hint:`LiteLLM Proxy virtual key or master key plus /v1 base URL`}],models:{recommended:[...we],dynamic:!0,routeRules:{[J]:[`${J}/*`]}},modelCapabilities:En},Mr={id:le,label:`Cloudflare AI`,priority:26,hint:`Anthropic through Cloudflare AI`,modelProviderIds:[c],methods:[{id:`cloudflare-ai-gateway-api-key`,route:c,kind:`manual`,label:`Cloudflare AI API key`,hint:`Requires Cloudflare Account ID, Gateway ID, and Anthropic provider API key`,buttonLabel:`Configure`}],models:{recommended:[...he],routeRules:{[c]:[`${c}/*`]}},modelCapabilities:Dn},Nr={id:Tt,label:`Custom Provider`,priority:27,hint:`OpenAI or Anthropic-compatible endpoint outside the built-in provider cards`,modelProviderIds:[Y],methods:[{id:`custom-api-key`,route:Y,kind:`manual`,label:`Custom Provider`,hint:`Requires base URL, endpoint compatibility, model ID, and optional API key. Use this for SGLang or other compatible endpoints when the vLLM-compatible shortcut does not fit.`,buttonLabel:`Configure`}],models:{recommended:On,dynamic:!0,routeRules:{[Y]:[`${Y}/*`]}},modelCapabilities:X(On)},Q=[or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr],Pr=new Map(Q.map(e=>[e.id,e])),Fr=new Map(Q.flatMap(e=>[...e.methods.map(t=>[t.route,e]),...(e.routeAliases??[]).map(t=>[t,e]),...(e.modelProviderIds??[]).map(t=>[t,e])])),Ir=new Set(Q.flatMap(e=>e.models.recommended.map(e=>e.toLowerCase()))),Lr=new Map(Q.flatMap(e=>Object.entries(e.modelCapabilities??{}).map(([e,t])=>[e.toLowerCase(),t])));new Set(Dt);function Rr(){return[...Q]}function zr(e){return Pr.get(e.trim().toLowerCase())}function $(e){return Fr.get(e.trim().toLowerCase())}function Br(e,t){let n=e.trim().toLowerCase(),r=t.trim().toLowerCase();if(!(!n||!r))return Lr.get(`${n}/${r}`)}function Vr(e){let t=e.trim();if(!t)return!1;let n=t.indexOf(`/`);if(n===-1)return!0;let r=t.slice(0,n).trim().toLowerCase();return $(r)?$(r)?.models.dynamic?!0:Ir.has(t.toLowerCase()):!1}function Hr(e){let t=e.provider.trim(),n=e.id.trim();return!t||!n?!1:Vr(`${t}/${n}`)}function Ur(e,t){let n=e.trim();if(!n)return``;if(n.includes(`/`))return n;let r=t?.trim();return r?`${r}/${n}`:n}function Wr(e){let t=e.trim();return t?t.includes(`/`)?{kind:`qualified`,value:t}:{kind:`raw`,value:t}:null}function Gr(e,t){return Kr(e,t).value}function Kr(e,t){if(!e)return{value:``,source:`empty`,reason:`empty`};let n=e?.value.trim();if(!n)return{value:``,source:`empty`,reason:`empty`};if(e.kind===`qualified`)return{value:n,source:`qualified`};let r=``;for(let e of t){if(e.id.trim().toLowerCase()!==n.toLowerCase())continue;let t=Ur(e.id,e.provider);if(!r){r=t;continue}if(r.toLowerCase()!==t.toLowerCase())return{value:n,source:`raw`,reason:`ambiguous`}}return r?{value:r,source:`catalog`}:{value:n,source:`raw`,reason:`missing`}}function qr(e,t){return typeof e==`string`?Ur(e,t):``}function Jr(e,t,n){if(typeof e!=`string`)return{value:``,source:`empty`,reason:`empty`};let r=e.trim();if(!r)return{value:``,source:`empty`,reason:`empty`};let i=t?.trim();if(i){let e=n.find(e=>e.provider?.trim().toLowerCase()===i.toLowerCase()&&e.id.trim().toLowerCase()===r.toLowerCase());if(e)return{value:Qr(e).value,source:`server`}}let a=Kr(Wr(r),n);return a.source===`qualified`||a.source===`catalog`?a:{value:qr(r,t),source:`server`,reason:a.reason}}function Yr(e,t,n){return Jr(e,t,n).value}function Xr(e){let t=e.trim();if(!t)return``;let n=t.indexOf(`/`);if(n<=0)return t;let r=t.slice(0,n);return`${t.slice(n+1)} · ${Zr(r)}`}function Zr(e){return $(e)?.label??e}function Qr(e){let t=e.provider?.trim();return{value:(()=>{if(!t)return e.id;let n=`${t.toLowerCase()}/`;return e.id.toLowerCase().startsWith(n)?e.id:`${t}/${e.id}`})(),label:t?`${e.id} · ${Zr(t)}`:e.id}}export{dr as A,Br as B,yr as C,Or as D,Dr as E,zr as F,ee as H,$ as I,Hr as L,hr as M,Er as N,Ar as O,xr as P,Vr as R,Tr as S,br as T,s as U,ce as V,fr as _,Kr as a,lr as b,vr as c,Cr as d,Nr as f,ur as g,jr as h,Gr as i,_r as j,wr as k,cr as l,kr as m,Wr as n,Yr as o,mr as p,Xr as r,sr as s,Qr as t,Mr as u,gr as v,Sr as w,or as x,pr as y,Rr as z};
|
|
2
|
+
//# sourceMappingURL=chat-model-ref-BbrdMKjQ.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./app-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./app-CHqTx3P_.js","./icons-D3-vEvih.js","./open-external-url-DwSiwMPl.js","./chat-model-ref-BbrdMKjQ.js","./marketplace-order-evidence-DkR0ZRHa.js","./mining-commit-R-6nu87p.js","./task-ledger-source-route-C-yTp0QU.js","./wallet-policy-C3ZS66Rl.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e={"entry-loaded":10,"app-import-start":20,"app-imported":30,"custom-element-defined":40,connected:50,"first-updated":60,rendered:70,"boot-failed":100};function t(t,n){if(typeof window>`u`)return;let r=window.__FASED_CONTROL_UI_BOOT=window.__FASED_CONTROL_UI_BOOT??{},i=e[r.stage]??0;e[t]<i&&r.stage!==`boot-failed`||(r.stage=t,r.detail=n??``,r.updatedAt=Date.now(),typeof r.mark==`function`&&r.mark(t,n),typeof window.dispatchEvent==`function`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(`fased-control-ui-boot`,{detail:{stage:t,detail:n??``}})))}var n=`modulepreload`,r=function(e,t){return new URL(e,t).href},i={},a=function(e,t,a){let o=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),s=document.querySelector(`meta[property=csp-nonce]`),c=s?.nonce||s?.getAttribute(`nonce`);function l(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function u(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}o=l(t.map(t=>{if(t=r(t,a),t=u(t),t in i)return;i[t]=!0;let o=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.href===t&&(!o||r.rel===`stylesheet`))return}let s=document.createElement(`link`);if(s.rel=o?`stylesheet`:n,o||(s.as=`script`),s.crossOrigin=``,s.href=t,c&&s.setAttribute(`nonce`,c),document.head.appendChild(s),o)return new Promise((e,n)=>{s.addEventListener(`load`,e),s.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function s(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return o.then(t=>{for(let e of t||[])e.status===`rejected`&&s(e.reason);return e().catch(s)})};function o(e){let n=e instanceof Error?e.stack??e.message:String(e);t(`boot-failed`,n||`Unknown dashboard boot error.`);let r=document.querySelector(`fased-app`);if(!r)return;r.innerHTML=``;let i=document.createElement(`style`);i.textContent=`
|
|
3
3
|
body {
|
|
4
4
|
margin: 0;
|
|
@@ -57,5 +57,5 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./app-JBrTSsNu.js","./
|
|
|
57
57
|
font-weight: 650;
|
|
58
58
|
cursor: pointer;
|
|
59
59
|
}
|
|
60
|
-
`;let a=document.createElement(`div`);a.className=`boot-page`;let o=document.createElement(`section`);o.className=`boot-card`;let s=document.createElement(`h1`);s.className=`boot-title`,s.textContent=`Dashboard bundle could not load`;let c=document.createElement(`p`);c.className=`boot-desc`,c.textContent=`The gateway page loaded, but the browser could not start the dashboard bundle. Reload first. If it keeps happening after an update, clear this site's browser data and sign in again.`;let l=document.createElement(`div`);l.className=`boot-error`,l.textContent=n||`Unknown dashboard boot error.`;let u=document.createElement(`button`);u.className=`boot-button`,u.textContent=`Reload`,u.addEventListener(`click`,()=>window.location.reload()),o.append(s,c,l,u),a.append(o),r.append(i,a)}t(`entry-loaded`),t(`app-import-start`),a(()=>import(`./app-
|
|
61
|
-
//# sourceMappingURL=index-
|
|
60
|
+
`;let a=document.createElement(`div`);a.className=`boot-page`;let o=document.createElement(`section`);o.className=`boot-card`;let s=document.createElement(`h1`);s.className=`boot-title`,s.textContent=`Dashboard bundle could not load`;let c=document.createElement(`p`);c.className=`boot-desc`,c.textContent=`The gateway page loaded, but the browser could not start the dashboard bundle. Reload first. If it keeps happening after an update, clear this site's browser data and sign in again.`;let l=document.createElement(`div`);l.className=`boot-error`,l.textContent=n||`Unknown dashboard boot error.`;let u=document.createElement(`button`);u.className=`boot-button`,u.textContent=`Reload`,u.addEventListener(`click`,()=>window.location.reload()),o.append(s,c,l,u),a.append(o),r.append(i,a)}t(`entry-loaded`),t(`app-import-start`),a(()=>import(`./app-CHqTx3P_.js`).then(()=>t(`app-imported`)),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url).catch(o);export{t as n,a as t};
|
|
61
|
+
//# sourceMappingURL=index-CFHfNlLv.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{A as r,C as i,D as a,E as o,F as s,I as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,_ as g,b as _,c as v,d as y,f as b,g as x,h as S,j as ee,k as te,l as ne,m as re,p as ie,s as ae,t as oe,u as C,v as w,w as T,x as E,y as D}from"./chat-model-ref-
|
|
1
|
+
import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{A as r,C as i,D as a,E as o,F as s,I as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,_ as g,b as _,c as v,d as y,f as b,g as x,h as S,j as ee,k as te,l as ne,m as re,p as ie,s as ae,t as oe,u as C,v as w,w as T,x as E,y as D}from"./chat-model-ref-BbrdMKjQ.js";import{buildOrderedProviderProfiles as se,buildProviderAuthSummary as O,calloutClassForProviderAuthActionTone as k}from"./config-FFZLTSLS.js";function A(e){return e===`api-key`?`api`:e===`token`?`token`:e===`manual`?`manual`:`interactive`}function j(e){return{id:e.id,label:e.label,routeIds:[...new Set([...e.methods.map(e=>e.route),...e.routeAliases??[]])],authMethods:e.methods.map(e=>({kind:A(e.kind),providerId:e.configProviderId??e.route,statusProviderId:e.statusRoute,methodId:e.id,label:e.label,buttonLabel:e.buttonLabel,reason:e.hint,setupRequirement:e.setupRequirement})),modelProviderIds:e.modelProviderIds,modelRefs:e.models.recommended}}var M=[j(E),j(ae),j(ne),j(_),j(x),j(r),j(g),j(D),j(ie),j(l),j(w),j(ee),j(v),j(i),j(h),j(f),j(T),j(y),j(te),j(m),j(u),j(o),j(a),j(re),j(d),j(S),j(C),j(b)],N={anthropic:`Anthropic API key`,byteplus:`BytePlus API key`,chutes:`Chutes API key`,gemini:`Google Gemini API key`,google:`Google Gemini API key`,huggingface:`Hugging Face token`,"kimi-code":`Kimi Code API key`,"kimi-coding":`Kimi Code API key`,litellm:`LiteLLM API key`,minimax:`MiniMax API key`,"minimax-cn":`MiniMax CN API key`,"minimax-lightning":`MiniMax Highspeed API key`,mistral:`Mistral API key`,moonshot:`Moonshot API key`,"moonshot-cn":`Moonshot CN API key`,opencode:`OpenCode Zen API key`,"opencode-zen":`OpenCode Zen API key`,openai:`OpenAI API key`,openrouter:`OpenRouter API key`,qianfan:`Qianfan API key`,qwen:`Qwen DashScope API key`,"qwen-coding-plan":`Qwen Coding Plan API key`,synthetic:`Synthetic API key`,together:`Together AI API key`,venice:`Venice API key`,"vercel-ai-gateway":`Vercel AI API key`,volcengine:`Volcano Engine API key`,xai:`xAI API key`,xiaomi:`Xiaomi API key`,zai:`Z.AI API key`,"zai-cn":`Z.AI CN API key`,"zai-coding-cn":`Z.AI Coding CN API key`,"zai-coding-global":`Z.AI Coding Global API key`},P={anthropic:`Sign in`,chutes:`Sign in`,"copilot-proxy":`Proxy sign in`,"github-copilot":`GitHub sign in`,"google-gemini-cli":`Sign in`,"minimax-portal":`Sign in`,"openai-codex":`Sign in`,xai:`xAI sign-in`},F={"cloudflare-ai-gateway":`Cloudflare AI uses the Configure form for Account ID, Gateway ID, and Anthropic API key.`,"copilot-proxy":`Copilot Proxy uses a local sign-in/proxy flow, not API-key setup.`,"github-copilot":`GitHub Copilot uses GitHub device login, not API-key setup.`,"google-gemini-cli":`Google Gemini CLI uses OAuth. Use the Google provider row for Gemini API keys.`,"minimax-portal":`MiniMax Portal uses OAuth. Use the MiniMax provider row for API keys.`,"openai-codex":`OpenAI sign-in uses ChatGPT OAuth. Use the OpenAI provider row for OpenAI API keys.`,ollama:`Ollama needs native endpoint/model fields, not generic API-key setup.`,lmstudio:`LM Studio needs endpoint/model fields, not generic API-key setup.`,vllm:`vLLM needs endpoint/model fields, not API-key setup.`},I={gemini:`Use the Google Gemini CLI row for OAuth, or save a Gemini API key here.`,google:`Use the Google Gemini CLI row for OAuth, or save a Gemini API key here.`,minimax:`Use the MiniMax Portal row for OAuth, or save a MiniMax API key here.`,openai:`Use OpenAI sign-in for ChatGPT OAuth, or save an OpenAI API key here.`};function L(e,t){return e?.providers.find(e=>e.provider===t)??null}function R(e,t){return e?.providers.find(e=>e.provider===t)??null}function z(e){return e===`ready`||e===`ok`||e===`configured`||e===`expiring`||e===`static`?`chip ok`:e===`missing`||e===`unauthenticated`||e===`unconfigured`?`chip warn`:e===`error`?`chip danger`:`chip`}function B(e){return e===`ready`||e===`ok`||e===`configured`||e===`expiring`||e===`static`}function V(e){return e?B(e.status)||e.profiles.some(e=>B(e.status)):!1}function H(e,t){return(t.modelProviderIds??t.routeIds).map(t=>L(e,t)).filter(e=>!!e)}function U(e){return e===`ok`?`chip ok`:e===`fail`?`chip danger`:`chip`}function W(e,t,n){return e===`ok`?t:e===`fail`?n:`unknown`}function G(n){let r=n.find(e=>e.health)?.health;return r?e`
|
|
2
2
|
<div class="providers-health" role="note">
|
|
3
3
|
<span class=${U(r.reachable)}>
|
|
4
4
|
reachable ${W(r.reachable,`ok`,`failed`)}
|
|
@@ -1139,4 +1139,4 @@ import{a as e,r as t,t as n}from"./icons-D3-vEvih.js";import{A as r,C as i,D as
|
|
|
1139
1139
|
</section>
|
|
1140
1140
|
</section>
|
|
1141
1141
|
`}export{Ae as renderProviders};
|
|
1142
|
-
//# sourceMappingURL=providers-
|
|
1142
|
+
//# sourceMappingURL=providers-DqFL6WrJ.js.map
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<link rel="icon" type="image/png" sizes="32x32" href="./favicon-32.png" />
|
|
15
15
|
<link rel="apple-touch-icon" sizes="180x180" href="./apple-touch-icon.png" />
|
|
16
16
|
<script data-fased-boot-watchdog src="./boot-watchdog.js" defer></script>
|
|
17
|
-
<script type="module" crossorigin src="./assets/index-
|
|
17
|
+
<script type="module" crossorigin src="./assets/index-CFHfNlLv.js"></script>
|
|
18
18
|
<link rel="stylesheet" crossorigin href="./assets/index-RwVraC3c.css">
|
|
19
19
|
</head>
|
|
20
20
|
<body>
|
|
@@ -2,11 +2,11 @@ import { logWarn } from "../../logger.js";
|
|
|
2
2
|
import { resolveAgentMainSessionKey } from "../../config/sessions/main-session.js";
|
|
3
3
|
import "../../config/sessions.js";
|
|
4
4
|
import { SILENT_REPLY_TOKEN } from "../../auto-reply/tokens.js";
|
|
5
|
-
import { deliverOutboundPayloads } from "../../infra/outbound/deliver.js";
|
|
6
5
|
import { buildOutboundSessionContext } from "../../infra/outbound/session-context.js";
|
|
7
|
-
import { resolveOutboundSessionRoute } from "../../infra/outbound/outbound-session.js";
|
|
8
6
|
import { runSubagentAnnounceFlow } from "../../agents/subagent-announce.js";
|
|
9
7
|
import { countActiveDescendantRuns } from "../../agents/subagent-registry.js";
|
|
8
|
+
import { deliverOutboundPayloads } from "../../infra/outbound/deliver.js";
|
|
9
|
+
import { resolveOutboundSessionRoute } from "../../infra/outbound/outbound-session.js";
|
|
10
10
|
import { createOutboundSendDeps } from "../../cli/outbound-send-deps.js";
|
|
11
11
|
import { expectsSubagentFollowup, isLikelyInterimCronMessage, readDescendantSubagentFallbackReply, waitForDescendantSubagentSummary } from "./subagent-followup.js";
|
|
12
12
|
import { resolveAgentOutboundIdentity } from "../../infra/outbound/identity.js";
|