@fased/fased 0.1.49 → 0.1.51
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/secret-file.js +2 -2
- 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.shared.js +2 -2
- package/dist/agents/cli-credentials.js +4 -4
- package/dist/agents/current-model-catalog.js +45 -0
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/embedded-pi-mcp.js +4 -4
- package/dist/agents/identity-avatar.js +3 -3
- package/dist/agents/identity-file.js +2 -2
- package/dist/agents/model-catalog-source.js +28 -3
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
- 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/provider-id.js +1 -1
- package/dist/agents/sandbox/fs-bridge.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-depth.js +2 -2
- package/dist/agents/system-prompt-params.js +2 -2
- package/dist/agents/workspace.js +22 -22
- package/dist/auto-reply/reply/agent-runner-execution.js +2 -2
- package/dist/auto-reply/reply/agent-runner.js +2 -2
- package/dist/auto-reply/reply/commands-export-session.js +7 -7
- 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/session.js +3 -3
- package/dist/auto-reply/skill-commands.js +3 -3
- package/dist/auto-reply/status.js +6 -6
- 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/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/server.js +4 -4
- package/dist/capabilities/catalog.js +3 -3
- package/dist/channels/plugins/catalog.js +3 -3
- package/dist/cli/browser-cli-extension.js +6 -6
- package/dist/cli/command-format.js +2 -2
- package/dist/cli/cron-cli/register.cron-simple.js +2 -2
- package/dist/cli/dns-cli.js +9 -9
- package/dist/cli/gateway-cli/dev.js +5 -5
- package/dist/cli/gateway-cli/run.js +2 -2
- package/dist/cli/hooks-cli.js +5 -5
- package/dist/cli/lightweight/gateway-runtime-probe.js +50 -0
- package/dist/cli/memory-cli.js +7 -7
- package/dist/cli/nodes-media-utils.js +2 -2
- package/dist/cli/plugins-cli.js +2 -2
- package/dist/cli/secrets-cli.js +3 -3
- package/dist/cli/update-cli/update-command.js +120 -0
- package/dist/cli/windows-argv.js +2 -2
- package/dist/commands/dashboard-link.js +3 -3
- 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-state-integrity.js +23 -23
- package/dist/commands/doctor-workspace.js +3 -3
- package/dist/commands/doctor.js +3 -3
- package/dist/commands/managed-up.js +2 -2
- package/dist/commands/onboard-auth.credentials.js +3 -3
- package/dist/commands/onboarding/plugin-install.js +2 -2
- package/dist/commands/sessions-cleanup.js +2 -2
- package/dist/commands/signal-install.js +6 -6
- package/dist/commands/status-all/channels.js +2 -2
- package/dist/commands/wallet.js +47 -47
- 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-6iCry787.js → app-wJm5kuje.js} +4 -4
- package/dist/control-ui/assets/{chat-model-ref-C6CFR-GR.js → chat-model-ref-Cs2TTOtF.js} +2 -2
- package/dist/control-ui/assets/{index-CNFgocD9.js → index-vTDTf5Zv.js} +3 -3
- package/dist/control-ui/assets/{providers-WTJ1kMKy.js → providers-C0DEXi8e.js} +2 -2
- package/dist/control-ui/index.html +1 -1
- package/dist/cron/service/store.js +2 -2
- package/dist/cron/store.js +6 -6
- package/dist/daemon/systemd-system.js +5 -5
- package/dist/discord/monitor/thread-bindings.state.js +2 -2
- package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
- package/dist/gateway/control-ui-boot-check.js +6 -6
- package/dist/gateway/control-ui-login.js +7 -7
- package/dist/gateway/control-ui.js +9 -9
- package/dist/gateway/hooks-mapping.js +4 -4
- package/dist/gateway/probe-payload.js +14 -0
- package/dist/gateway/probe.js +8 -4
- package/dist/gateway/server-discovery.js +2 -2
- package/dist/gateway/server-http-lazy.js +2 -4
- package/dist/gateway/server-http.js +6 -8
- package/dist/gateway/server-methods/chat.js +3 -3
- package/dist/gateway/server-methods/models.js +3 -2
- package/dist/gateway/server-methods/sessions.js +6 -6
- package/dist/gateway/server-methods/usage.js +2 -2
- package/dist/gateway/server.impl.js +3 -3
- 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/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 +4 -4
- package/dist/hooks/workspace.js +7 -7
- 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 +8 -8
- 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/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/delivery-queue.js +16 -16
- 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/shell-env.js +2 -2
- 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/widearea-dns.js +3 -3
- package/dist/infra/wsl.js +2 -2
- package/dist/light-update-precheck.js +1 -1
- package/dist/light-update-status.js +1 -1
- package/dist/line/accounts.js +2 -2
- package/dist/line/download.js +2 -2
- 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/store.js +13 -13
- 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 +3 -3
- package/dist/pairing/pairing-store.js +3 -3
- package/dist/plugin-sdk/{accounts-B5fY9hZy.js → accounts-BfdIB9Ud.js} +1 -1
- package/dist/plugin-sdk/{actions-D-9SsSEy.js → actions-DHN_x97P.js} +2 -2
- package/dist/plugin-sdk/{active-listener-BH7rDR47.js → active-listener-CIP_Ht8d.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-4faayz5S.js → audio-preflight-CKGhXtyV.js} +26 -26
- package/dist/plugin-sdk/{audit-BQfsboqd.js → audit-Cmg38KPG.js} +1 -1
- package/dist/plugin-sdk/{channel-access-CDZ-cJPq.js → channel-access-JHDguu4T.js} +1 -1
- package/dist/plugin-sdk/{channel-access-configure-DlpuhlH6.js → channel-access-configure-B8mwKp-Z.js} +1 -1
- package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
- package/dist/plugin-sdk/channel-plugin-common.js +4 -4
- package/dist/plugin-sdk/{chunk-items-Cyc4Kl6A.js → chunk-items-iKdlZyWZ.js} +1 -1
- package/dist/plugin-sdk/{chunk-CZuCyS7k.js → chunk-oJRyTNTL.js} +1 -1
- package/dist/plugin-sdk/command-status.js +26 -26
- package/dist/plugin-sdk/{commands-registry-COIbIjGO.js → commands-registry-Cjo7OjIf.js} +2 -2
- package/dist/plugin-sdk/{common-LMHJe8KW.js → common-Dx4sUa9f.js} +1 -1
- package/dist/plugin-sdk/{config-ZMbTT0kM.js → config-DdS0zHiU.js} +79 -3
- package/dist/plugin-sdk/{config-schema-Cku0a8Tm.js → config-schema-BJQEjMPz.js} +2001 -449
- package/dist/plugin-sdk/device-pair.d.ts +1 -1
- package/dist/plugin-sdk/discord.d.ts +4 -4
- package/dist/plugin-sdk/discord.js +19 -19
- package/dist/plugin-sdk/{handle-action-C8ZZfORB.js → handle-action-wR0x9b0c.js} +13 -13
- package/dist/plugin-sdk/{helpers-vfzH9tBn.js → helpers-DkauqZNP.js} +1 -1
- package/dist/plugin-sdk/{image-ops-BnOmQA5d.js → image-ops-DmSjpAeh.js} +1 -1
- package/dist/plugin-sdk/index.d.ts +18 -18
- package/dist/plugin-sdk/index.js +28 -28
- package/dist/plugin-sdk/json-store.js +6 -6
- package/dist/plugin-sdk/{login-C73Wpiw8.js → login-DB9LIbi8.js} +3 -3
- package/dist/plugin-sdk/{login-qr-CRKHA7i8.js → login-qr-CDhMa-c7.js} +3 -3
- package/dist/plugin-sdk/{manager-CHYhpKHn.js → manager-DGZsMQWR.js} +2 -2
- package/dist/plugin-sdk/{markdown-tables-B84dPWNG.js → markdown-tables-BX7JXDUV.js} +1 -1
- package/dist/plugin-sdk/{media-4daDcNER.js → media-DyzsScOp.js} +2 -2
- package/dist/plugin-sdk/{monitor-DJhU-J5u.js → monitor-B91PZ2mD.js} +31 -31
- package/dist/plugin-sdk/{monitor-CChc6bQV.js → monitor-BH9rTJFq.js} +30 -30
- package/dist/plugin-sdk/{openresponses-http-Dvyczr35.js → openresponses-http-CmBLZ9bH.js} +26 -26
- package/dist/plugin-sdk/{optional-runtime-dependency-BFpqaCzp.js → optional-runtime-dependency-DaMkPVe_.js} +1 -1
- package/dist/plugin-sdk/{outbound-C1xBxfNb.js → outbound-X-m2mBZn.js} +6 -6
- package/dist/plugin-sdk/{outbound-attachment-DvcxPP7b.js → outbound-attachment-M0NCUSG-.js} +2 -2
- package/dist/plugin-sdk/{pairing-message-DWXHX-jt.d.ts → pairing-message-BaQiXKLE.d.ts} +1 -1
- package/dist/plugin-sdk/{pairing-message-DpYT614h.js → pairing-message-hnmpJlW2.js} +1 -1
- package/dist/plugin-sdk/{pairing-store-CprpGco9.js → pairing-store-DyghUm9G.js} +2 -2
- package/dist/plugin-sdk/{pi-model-discovery-BQ6fFRBA.js → pi-model-discovery-ReorOh7W.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-runtime-BF_89lVj.js → pi-model-discovery-runtime-C-CHZo03.js} +2 -2
- package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
- package/dist/plugin-sdk/{pw-ai-xgpIbHOr.js → pw-ai-D_gli3_r.js} +3 -3
- package/dist/plugin-sdk/{replies-AzJ6U6Ut.js → replies-Djyehmcu.js} +2 -2
- package/dist/plugin-sdk/{resolve-outbound-target-COo_TR7B.js → resolve-outbound-target-Chznq8rS.js} +1 -1
- package/dist/plugin-sdk/{resolve-route-CZFzHOIe.js → resolve-route-Ce08Fx-G.js} +1 -1
- package/dist/plugin-sdk/{retry-policy-BSdqqXsI.js → retry-policy-eS25atAo.js} +1 -1
- package/dist/plugin-sdk/{runtime-CeoGffDi.js → runtime-Cv3gX3Wc.js} +3 -3
- package/dist/plugin-sdk/{runtime-dependency-Cvbs0GXf.js → runtime-dependency-p_iKbESf.js} +2 -2
- package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
- package/dist/plugin-sdk/sat-runtime.js +5 -5
- package/dist/plugin-sdk/{send-B_-UtG9F.js → send-B3RAELvw.js} +6 -6
- package/dist/plugin-sdk/{send-C0Q1u7N1.js → send-BuPGxx3-.js} +8 -8
- package/dist/plugin-sdk/{send-CGE7OgsA.js → send-C-jaxZJG.js} +5 -5
- package/dist/plugin-sdk/{send-DCxAv7bV.js → send-CSob7dn9.js} +6 -6
- package/dist/plugin-sdk/{send-DVpCBUuL.js → send-CsLJsIvv.js} +7 -7
- package/dist/plugin-sdk/{session-ETYBbhLn.js → session-DKJGakm1.js} +2 -2
- package/dist/plugin-sdk/{skill-commands-BQL6TBIv.js → skill-commands-BqpZG5nW.js} +2 -2
- package/dist/plugin-sdk/{slack-Bs_4uivd.js → slack-CQqN9uBH.js} +38 -38
- package/dist/plugin-sdk/{slack-actions-CBPZkfTS.js → slack-actions-DlbVH5SS.js} +11 -11
- package/dist/plugin-sdk/slack.d.ts +4 -4
- package/dist/plugin-sdk/slack.js +9 -9
- package/dist/plugin-sdk/{sticker-cache-BBZMp-oQ.js → sticker-cache-CDyt2ZMh.js} +3 -3
- package/dist/plugin-sdk/{tables-B-G7Bb0l.js → tables-Cij4iAXw.js} +1 -1
- package/dist/plugin-sdk/{targets-D8UaoWHd.js → targets-VrYeAmeT.js} +1 -1
- package/dist/plugin-sdk/{telegram-actions-BARLx9zc.js → telegram-actions-ZwUBOkwa.js} +29 -29
- package/dist/plugin-sdk/telegram.d.ts +4 -4
- package/dist/plugin-sdk/telegram.js +8 -8
- package/dist/plugin-sdk/{thread-bindings.lifecycle-DwYKCLLq.js → thread-bindings.lifecycle-BWIzwpPM.js} +3 -3
- package/dist/plugin-sdk/{thread-bindings.state-BNWfHA0f.js → thread-bindings.state-CpAQrGco.js} +2 -2
- package/dist/plugin-sdk/{tmp-fased-dir-Be1wBhVz.d.ts → tmp-fased-dir-DLba1ePP.d.ts} +1 -1
- package/dist/plugin-sdk/{types-CXLEOrJX.d.ts → types-CKR2Lvsa.d.ts} +1 -1
- package/dist/plugin-sdk/{types-CJGVZX6j.d.ts → types-NR-f-rw-.d.ts} +3 -3
- package/dist/plugin-sdk/{wallet-status-Coekn_SJ.js → wallet-status-ClmXigGN.js} +3 -3
- package/dist/plugin-sdk/{web-BwolzGVF.js → web-BK2j9z6c.js} +31 -31
- package/dist/plugin-sdk/{whatsapp-actions-CSvf6eev.js → whatsapp-actions-CaenMy79.js} +13 -13
- package/dist/plugin-sdk/{whatsapp-heartbeat-Bw7OtTe6.js → whatsapp-heartbeat-Cr9K5Sil.js} +2 -2
- package/dist/plugin-sdk/whatsapp.d.ts +9 -9
- package/dist/plugin-sdk/whatsapp.js +12 -12
- package/dist/plugin-sdk/{wsl-By1Mc-oS.js → wsl-D_I-iL4U.js} +3 -3
- package/dist/plugin-sdk/{zod-schema.providers-core-TI6sL-6B.d.ts → zod-schema.providers-core-CIzCjXH9.d.ts} +75 -75
- package/dist/plugins/bundled-dir.js +3 -3
- 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/status-cache.js +10 -10
- package/dist/plugins/update.js +3 -3
- package/dist/plugins/web-search-install-catalog.js +3 -3
- package/dist/providers/refresh.js +1 -1
- package/dist/providers/refreshed-model-capabilities.js +1935 -406
- package/dist/providers/registry.js +13 -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/scan-paths.js +2 -2
- package/dist/shared/config-eval.js +2 -2
- package/dist/shared/pid-alive.js +2 -2
- 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/token.js +5 -5
- package/dist/utils.js +5 -5
- package/dist/wallet/local-socket-signer-broker.js +16 -16
- package/dist/wallet/providers/embedded-keystore-adapter.js +5 -5
- package/dist/wallet/providers/local-socket-signer-adapter.js +2 -2
- package/dist/wallet/wallet-approval-auth.js +5 -5
- package/dist/wallet/wallet-audit-log.js +5 -5
- package/dist/wallet/wallet-custody.js +21 -21
- package/dist/wallet/wallet-inbound-events.js +5 -5
- package/dist/wallet/wallet-observability.js +5 -5
- package/dist/wallet/wallet-policy.js +9 -9
- package/dist/wallet/wallet-provider-registry.js +7 -7
- 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 +5 -5
- package/dist/wallet/wallet-settlement-links.js +5 -5
- package/dist/web/accounts.js +3 -3
- package/dist/web/auth-store.js +18 -18
- package/dist/web/session.js +4 -4
- package/dist/wizard/host-security-capability.js +2 -2
- package/dist/wizard/onboarding.host-security.js +7 -7
- package/dist/wizard/onboarding.js +7 -7
- package/dist/wizard/onboarding.wallet.js +44 -44
- 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/package.json +1 -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/scripts/start-managed.sh +14 -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 fs 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,11 +65,11 @@ async function resolveSessionTranscriptFile(params) {
|
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
function ensureSessionTranscriptHeader(params) {
|
|
68
|
-
if (
|
|
68
|
+
if (fs.existsSync(params.sessionFile)) {
|
|
69
69
|
return { created: false };
|
|
70
70
|
}
|
|
71
71
|
try {
|
|
72
|
-
|
|
72
|
+
fs.mkdirSync(path.dirname(params.sessionFile), { recursive: true });
|
|
73
73
|
const header = {
|
|
74
74
|
type: "session",
|
|
75
75
|
version: CURRENT_SESSION_VERSION,
|
|
@@ -77,7 +77,7 @@ function ensureSessionTranscriptHeader(params) {
|
|
|
77
77
|
timestamp: new Date().toISOString(),
|
|
78
78
|
cwd: process.cwd()
|
|
79
79
|
};
|
|
80
|
-
|
|
80
|
+
fs.writeFileSync(params.sessionFile, `${JSON.stringify(header)}\n`, {
|
|
81
81
|
encoding: "utf-8",
|
|
82
82
|
mode: 384
|
|
83
83
|
});
|
package/dist/config/talk.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { coerceSecretRef } from "./types.secrets.js";
|
|
2
|
-
import
|
|
2
|
+
import fs 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 ?? fs;
|
|
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-CU5Zi8Dh.js","./icons-D3-vEvih.js","./open-external-url-DwSiwMPl.js","./providers-
|
|
2
|
-
import{n as e,t}from"./index-CNFgocD9.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-C6CFR-GR.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 _e,S as ve,T as ye,_ as be,a as xe,b as Se,c as Ce,d as we,f as Te,g as Ee,h as De,i as Oe,l as ke,m as Ae,n as je,o as Me,p as Ne,r as Pe,s as Fe,t as Ie,u as Le,v as Re,w as ze,x as Be,y as Ve}from"./mining-commit-R-6nu87p.js";import{n as He,t as Ue}from"./task-ledger-source-route-C-yTp0QU.js";import{d as We,f as Ge,h as Ke,i as qe,l as Je,m as Ye,n as Xe,o as Ze,p as Qe,r as $e,s as et,u as tt}from"./wallet-policy-C3ZS66Rl.js";var nt=e=>(t,n)=>{n===void 0?customElements.define(e,t):n.addInitializer(()=>{customElements.define(e,t)})},rt={attribute:!0,type:String,converter:a,reflect:!1,hasChanged:r},it=(e=rt,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 at(e){return(t,n)=>typeof n==`object`?it(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 N(e){return at({...e,state:!0,attribute:!1})}function ot(e,t){return`${e}:${t??``}`}function st(e){return`install:${e}`}function ct(e,t){return`qr:${e}:${t??``}`}function lt(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}var ut={whatsapp:`WhatsApp`,zalouser:`Zalo Personal`};function dt(e,t){return e?.channelLabels?.[t]??ut[t]??t}function ft(e,t){let n=e?.channels?.[t];if(!lt(n)||!lt(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 pt(e,t,n){let r=String(e);if(r.includes(`web login provider is not available`)){let e=t?dt(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 mt(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 ht(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=pt(t)}finally{e.channelsLoading=!1}}}async function gt(e,t,n,r){if(!e.client||!e.connected)return;let i=ot(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 ht(e,!1)}catch(t){e.channelsError=pt(t)}finally{let t={...e.channelRuntimeBusy};delete t[i],e.channelRuntimeBusy=t}}}async function _t(e,t,n){await gt(e,`channels.start`,t,n)}async function vt(e,t,n){await gt(e,`channels.stop`,t,n)}async function yt(e,t,n){if(!e.client||!e.connected)return;let r=ot(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 ht(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=pt(t)}finally{let t={...e.channelRuntimeBusy};delete t[r],e.channelRuntimeBusy=t}}}async function bt(e,t){if(!e.client||!e.connected)return;let n=st(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 ht(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=`${pt(n)}. Manual install: ${ft(e.channelsSnapshot,t)}. Restart the gateway after install.`}finally{let t={...e.channelRuntimeBusy};delete t[n],e.channelRuntimeBusy=t}}}async function xt(e,t,n=!1,r){let i=ct(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}:{}});mt(e,t,{message:i.message??null,qrDataUrl:i.qrDataUrl??null,connected:null})}catch(n){mt(e,t,{message:pt(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 St(e,t,n){let r=ct(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}:{}});mt(e,t,{message:r.message??null,connected:r.connected??null}),r.connected&&(mt(e,t,{qrDataUrl:null}),await ht(e,!0))}catch(n){mt(e,t,{message:pt(n,t,e.channelsSnapshot),connected:null})}finally{let n={...e.channelRuntimeBusy};delete n[r],e.channelRuntimeBusy=n,t===`whatsapp`&&(e.whatsappBusy=!1)}}}async function Ct(e,t){await xt(e,`whatsapp`,t)}async function wt(e){await St(e,`whatsapp`)}async function Tt(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=pt(t,`whatsapp`,e.channelsSnapshot)}finally{e.whatsappBusy=!1}}}function Et(e,t){let n=e.trim();if(n===``)return;let r=Number(n);return!Number.isFinite(r)||t&&!Number.isInteger(r)?e:r}function Dt(e){let t=e.trim();return t===`true`?!0:t===`false`?!1:e}function Ot(e,t){if(e==null)return e;if(t.allOf&&t.allOf.length>0){let n=e;for(let e of t.allOf)n=Ot(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 Ot(e,n[0]);if(typeof e==`string`)for(let t of n){let n=p(t);if(n===`number`||n===`integer`){let t=Et(e,n===`integer`);if(t===void 0||typeof t==`number`)return t}if(n===`boolean`){let t=Dt(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 Ot(e,t)}return e}if(n===`number`||n===`integer`){if(typeof e==`string`){let t=Et(e,n===`integer`);if(t===void 0||typeof t==`number`)return t}return e}if(n===`boolean`){if(typeof e==`string`){let t=Dt(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?Ot(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?Ot(e,r):e})}let n=t.items;return n?e.map(e=>Ot(e,n)).filter(e=>e!==void 0):e}return e}function kt(e){return typeof structuredClone==`function`?structuredClone(e):JSON.parse(JSON.stringify(e))}function At(e){return`${JSON.stringify(e,null,2).trimEnd()}\n`}var jt=new Set([`__proto__`,`prototype`,`constructor`]);function Mt(e){return typeof e==`string`&&jt.has(e)}function Nt(e,t,n){if(t.length===0||t.some(Mt))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 Pt(e,t,n){let r=Nt(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 Ft(e,t){let n=Nt(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 It(e,t){e.configAuthAction=t}function Lt(e){let t=String(e).trim();return t.startsWith(`Error: `)?t.slice(7):t}function Rt(e,t){let n=Lt(e);return n.includes(`models.auth.interactive.start`)&&n.includes(t)&&n.includes(`unexpected property`)}function zt(e){return Rt(e,`replaceRunning`)}function Bt(e){return Rt(e,`browserLocal`)}function Vt(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 Ht(e,t){let n=e.configAuthPromptResolver;e.configAuthPromptResolver=null,n?.({cancelled:!1,value:t})}function Ut(e){let t=e.configAuthPromptResolver;e.configAuthPromptResolver=null,t?.({cancelled:!0})}function Wt(e){let t=e.configAuthPromptResolver;e.configAuthPromptResolver=null,e.configAuthActionRunId=(e.configAuthActionRunId??0)+1,It(e,null),t?.({cancelled:!0})}function Gt(e,t,n){let r=Yt(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 Vt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,stepType:t.type,active:!0,hasUrl:i,url:r});case`confirm`:return Vt({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 Vt({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 Vt({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 Vt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,stepType:t.type,active:!0,hasUrl:i,url:r})}}async function P(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;rn(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 Kt(e,t){if(!e.client||!e.connected)return!1;e.configAuthActionBusyProfileId=t.profileId,It(e,Vt({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 It(e,Vt({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 P(e),!0}catch(n){return It(e,Vt({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:Lt(n),retryable:!0})),e.lastError=String(n),!1}finally{e.configAuthActionBusyProfileId=null}}async function qt(e,t){if(!e.client||!e.connected)return!1;let n=t.provider.trim(),r=t.profileId?.trim()||`${n}:default`;e.configAuthActionBusyProfileId=r,It(e,Vt({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 It(e,Vt({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 P(e),!0}catch(t){return It(e,Vt({profileId:r,provider:n,actionKind:`store`,tone:`danger`,title:`Failed to configure ${n}`,message:`The provider-specific setup path did not complete.`,detail:Lt(t),retryable:!0})),e.lastError=String(t),!1}finally{e.configAuthActionBusyProfileId=null}}async function Jt(e,t){if(!e.client||!e.connected)return!1;e.configAuthActionBusyProfileId=t,It(e,Vt({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 It(e,Vt({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 P(e),!0}catch(n){return It(e,Vt({profileId:t,actionKind:`clear`,tone:`danger`,title:`Failed to clear credential for ${t}`,message:`The stored credential could not be removed.`,detail:Lt(n),retryable:!0})),e.lastError=String(n),!1}finally{e.configAuthActionBusyProfileId=null}}function Yt(e){return`${e.title??``}\n${e.message??``}`.match(/https?:\/\/\S+/u)?.[0]??null}function Xt(e){let t=e.title?.trim(),n=e.message?.trim();return t&&n?`${t}\n\n${n}`:t||n||`Continue provider sign-in.`}function Zt(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 Qt(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=Zt(e,t);if(n===void 0)return;i.push(n)}return i}async function $t(e,t,n){if(t.type===`note`||t.type===`action`)return{cancelled:!1,value:null};if(n===`modal`)return await new Promise(n=>{e.configAuthPromptResolver=n;let r=e.configAuthAction;It(e,Vt({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:Xt(t),...t.placeholder?{placeholder:t.placeholder}:{},...t.initialValue===void 0?{}:{initialValue:t.initialValue},...t.options?{options:t.options}:{}}}))});if(typeof window>`u`)throw Error(`Interactive provider auth requires a browser environment.`);if(t.type===`confirm`)return{cancelled:!1,value:window.confirm(Xt(t))};if(t.type===`text`){let e=window.prompt(Xt(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-CU5Zi8Dh.js","./icons-D3-vEvih.js","./open-external-url-DwSiwMPl.js","./providers-C0DEXi8e.js","./chat-model-ref-Cs2TTOtF.js","./federation-D10Q4eP_.js","./marketplace-order-evidence-DkR0ZRHa.js","./task-ledger-source-route-C-yTp0QU.js","./wallet-C2g294QT.js","./wallet-policy-C3ZS66Rl.js","./mining-BdhMn18r.js","./mining-commit-R-6nu87p.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e,t}from"./index-vTDTf5Zv.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-Cs2TTOtF.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 _e,S as ve,T as ye,_ as be,a as xe,b as Se,c as Ce,d as we,f as Te,g as Ee,h as De,i as Oe,l as ke,m as Ae,n as je,o as Me,p as Ne,r as Pe,s as Fe,t as Ie,u as Le,v as Re,w as ze,x as Be,y as Ve}from"./mining-commit-R-6nu87p.js";import{n as He,t as Ue}from"./task-ledger-source-route-C-yTp0QU.js";import{d as We,f as Ge,h as Ke,i as qe,l as Je,m as Ye,n as Xe,o as Ze,p as Qe,r as $e,s as et,u as tt}from"./wallet-policy-C3ZS66Rl.js";var nt=e=>(t,n)=>{n===void 0?customElements.define(e,t):n.addInitializer(()=>{customElements.define(e,t)})},rt={attribute:!0,type:String,converter:a,reflect:!1,hasChanged:r},it=(e=rt,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 at(e){return(t,n)=>typeof n==`object`?it(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 N(e){return at({...e,state:!0,attribute:!1})}function ot(e,t){return`${e}:${t??``}`}function st(e){return`install:${e}`}function ct(e,t){return`qr:${e}:${t??``}`}function lt(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}var ut={whatsapp:`WhatsApp`,zalouser:`Zalo Personal`};function dt(e,t){return e?.channelLabels?.[t]??ut[t]??t}function ft(e,t){let n=e?.channels?.[t];if(!lt(n)||!lt(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 pt(e,t,n){let r=String(e);if(r.includes(`web login provider is not available`)){let e=t?dt(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 mt(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 ht(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=pt(t)}finally{e.channelsLoading=!1}}}async function gt(e,t,n,r){if(!e.client||!e.connected)return;let i=ot(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 ht(e,!1)}catch(t){e.channelsError=pt(t)}finally{let t={...e.channelRuntimeBusy};delete t[i],e.channelRuntimeBusy=t}}}async function _t(e,t,n){await gt(e,`channels.start`,t,n)}async function vt(e,t,n){await gt(e,`channels.stop`,t,n)}async function yt(e,t,n){if(!e.client||!e.connected)return;let r=ot(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 ht(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=pt(t)}finally{let t={...e.channelRuntimeBusy};delete t[r],e.channelRuntimeBusy=t}}}async function bt(e,t){if(!e.client||!e.connected)return;let n=st(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 ht(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=`${pt(n)}. Manual install: ${ft(e.channelsSnapshot,t)}. Restart the gateway after install.`}finally{let t={...e.channelRuntimeBusy};delete t[n],e.channelRuntimeBusy=t}}}async function xt(e,t,n=!1,r){let i=ct(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}:{}});mt(e,t,{message:i.message??null,qrDataUrl:i.qrDataUrl??null,connected:null})}catch(n){mt(e,t,{message:pt(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 St(e,t,n){let r=ct(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}:{}});mt(e,t,{message:r.message??null,connected:r.connected??null}),r.connected&&(mt(e,t,{qrDataUrl:null}),await ht(e,!0))}catch(n){mt(e,t,{message:pt(n,t,e.channelsSnapshot),connected:null})}finally{let n={...e.channelRuntimeBusy};delete n[r],e.channelRuntimeBusy=n,t===`whatsapp`&&(e.whatsappBusy=!1)}}}async function Ct(e,t){await xt(e,`whatsapp`,t)}async function wt(e){await St(e,`whatsapp`)}async function Tt(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=pt(t,`whatsapp`,e.channelsSnapshot)}finally{e.whatsappBusy=!1}}}function Et(e,t){let n=e.trim();if(n===``)return;let r=Number(n);return!Number.isFinite(r)||t&&!Number.isInteger(r)?e:r}function Dt(e){let t=e.trim();return t===`true`?!0:t===`false`?!1:e}function Ot(e,t){if(e==null)return e;if(t.allOf&&t.allOf.length>0){let n=e;for(let e of t.allOf)n=Ot(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 Ot(e,n[0]);if(typeof e==`string`)for(let t of n){let n=p(t);if(n===`number`||n===`integer`){let t=Et(e,n===`integer`);if(t===void 0||typeof t==`number`)return t}if(n===`boolean`){let t=Dt(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 Ot(e,t)}return e}if(n===`number`||n===`integer`){if(typeof e==`string`){let t=Et(e,n===`integer`);if(t===void 0||typeof t==`number`)return t}return e}if(n===`boolean`){if(typeof e==`string`){let t=Dt(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?Ot(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?Ot(e,r):e})}let n=t.items;return n?e.map(e=>Ot(e,n)).filter(e=>e!==void 0):e}return e}function kt(e){return typeof structuredClone==`function`?structuredClone(e):JSON.parse(JSON.stringify(e))}function At(e){return`${JSON.stringify(e,null,2).trimEnd()}\n`}var jt=new Set([`__proto__`,`prototype`,`constructor`]);function Mt(e){return typeof e==`string`&&jt.has(e)}function Nt(e,t,n){if(t.length===0||t.some(Mt))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 Pt(e,t,n){let r=Nt(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 Ft(e,t){let n=Nt(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 It(e,t){e.configAuthAction=t}function Lt(e){let t=String(e).trim();return t.startsWith(`Error: `)?t.slice(7):t}function Rt(e,t){let n=Lt(e);return n.includes(`models.auth.interactive.start`)&&n.includes(t)&&n.includes(`unexpected property`)}function zt(e){return Rt(e,`replaceRunning`)}function Bt(e){return Rt(e,`browserLocal`)}function Vt(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 Ht(e,t){let n=e.configAuthPromptResolver;e.configAuthPromptResolver=null,n?.({cancelled:!1,value:t})}function Ut(e){let t=e.configAuthPromptResolver;e.configAuthPromptResolver=null,t?.({cancelled:!0})}function Wt(e){let t=e.configAuthPromptResolver;e.configAuthPromptResolver=null,e.configAuthActionRunId=(e.configAuthActionRunId??0)+1,It(e,null),t?.({cancelled:!0})}function Gt(e,t,n){let r=Yt(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 Vt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,stepType:t.type,active:!0,hasUrl:i,url:r});case`confirm`:return Vt({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 Vt({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 Vt({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 Vt({profileId:e,provider:n,actionKind:`interactive`,tone:`info`,title:a,message:s,stepType:t.type,active:!0,hasUrl:i,url:r})}}async function P(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;rn(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 Kt(e,t){if(!e.client||!e.connected)return!1;e.configAuthActionBusyProfileId=t.profileId,It(e,Vt({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 It(e,Vt({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 P(e),!0}catch(n){return It(e,Vt({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:Lt(n),retryable:!0})),e.lastError=String(n),!1}finally{e.configAuthActionBusyProfileId=null}}async function qt(e,t){if(!e.client||!e.connected)return!1;let n=t.provider.trim(),r=t.profileId?.trim()||`${n}:default`;e.configAuthActionBusyProfileId=r,It(e,Vt({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 It(e,Vt({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 P(e),!0}catch(t){return It(e,Vt({profileId:r,provider:n,actionKind:`store`,tone:`danger`,title:`Failed to configure ${n}`,message:`The provider-specific setup path did not complete.`,detail:Lt(t),retryable:!0})),e.lastError=String(t),!1}finally{e.configAuthActionBusyProfileId=null}}async function Jt(e,t){if(!e.client||!e.connected)return!1;e.configAuthActionBusyProfileId=t,It(e,Vt({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 It(e,Vt({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 P(e),!0}catch(n){return It(e,Vt({profileId:t,actionKind:`clear`,tone:`danger`,title:`Failed to clear credential for ${t}`,message:`The stored credential could not be removed.`,detail:Lt(n),retryable:!0})),e.lastError=String(n),!1}finally{e.configAuthActionBusyProfileId=null}}function Yt(e){return`${e.title??``}\n${e.message??``}`.match(/https?:\/\/\S+/u)?.[0]??null}function Xt(e){let t=e.title?.trim(),n=e.message?.trim();return t&&n?`${t}\n\n${n}`:t||n||`Continue provider sign-in.`}function Zt(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 Qt(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=Zt(e,t);if(n===void 0)return;i.push(n)}return i}async function $t(e,t,n){if(t.type===`note`||t.type===`action`)return{cancelled:!1,value:null};if(n===`modal`)return await new Promise(n=>{e.configAuthPromptResolver=n;let r=e.configAuthAction;It(e,Vt({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:Xt(t),...t.placeholder?{placeholder:t.placeholder}:{},...t.initialValue===void 0?{}:{initialValue:t.initialValue},...t.options?{options:t.options}:{}}}))});if(typeof window>`u`)throw Error(`Interactive provider auth requires a browser environment.`);if(t.type===`confirm`)return{cancelled:!1,value:window.confirm(Xt(t))};if(t.type===`text`){let e=window.prompt(Xt(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(`${Xt(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=Zt(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(`${Xt(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=Qt(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 en(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;It(e,Vt({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(Bt(r))try{n=await e.client.request(`models.auth.interactive.start`,{provider:t.provider,...t.methodId?{methodId:t.methodId}:{},replaceRunning:!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 if(zt(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(!Bt(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=Gt(t.profileId,o,t.provider);s.url&&(i=s.url),It(e,s.url||!i?s:{...s,hasUrl:!0,url:i});let c=await $t(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&&It(e,Vt({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,It(e,r()?Vt({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 P(e),!0}catch(n){if(a&&e.client&&e.connected)try{await e.client.request(`wizard.cancel`,{sessionId:a})}catch{}return r()&&It(e,Vt({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:Lt(n),url:i,hasUrl:!!i,retryable:!0})),e.lastError=String(n),!1}finally{r()&&(e.configAuthActionBusyProfileId=null)}}async function tn(e){if(!(!e.client||!e.connected)&&!e.configSchemaLoading){e.configSchemaLoading=!0;try{nn(e,await e.client.request(`config.schema`,{}))}catch(t){e.lastError=String(t)}finally{e.configSchemaLoading=!1}}}function nn(e,t){e.configSchema=t.schema??null,e.configUiHints=t.uiHints??{},e.configSchemaVersion=t.version??null}function rn(e,t){e.configSnapshot=t;let n=typeof t.raw==`string`,r=n?String(t.raw):t.config&&typeof t.config==`object`?At(t.config):e.configRaw??``;n||(e.configFormMode=`form`),!e.configFormDirty||e.configFormMode===`raw`?e.configRaw=r:e.configForm?e.configRaw=At(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=kt(t.config??{}),e.configFormOriginal=kt(t.config??{}),e.configRawOriginal=r)}function an(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function on(e){if(e.configFormMode!==`form`||!e.configForm)return e.configRaw;let t=an(e.configSchema);return At(t?Ot(e.configForm,t):e.configForm)}function sn(e){let t=Lt(e).toLowerCase();return t.includes(`config changed since last load`)||t.includes(`config base hash required`)||t.includes(`config base hash unavailable`)}async function cn(e){if(!e.client||!e.connected)return null;let t=await e.client.request(`config.get`,{});return rn(e,t),typeof t.hash==`string`&&t.hash.trim()?t.hash:null}async function ln(e){if(!(!e.client||!e.connected)){e.configSaving=!0,e.lastError=null;try{let t=on(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(!sn(n))throw n;let r=await cn(e);if(!r)throw n;await e.client.request(`config.set`,{raw:t,baseHash:r})}e.configFormDirty=!1,await P(e)}catch(t){e.lastError=String(t)}finally{e.configSaving=!1}}}async function un(e){if(!(!e.client||!e.connected)){e.configApplying=!0,e.lastError=null;try{let t=on(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(!sn(n))throw n;let r=await cn(e);if(!r)throw n;await e.client.request(`config.apply`,{raw:t,baseHash:r,sessionKey:e.applySessionKey})}e.configFormDirty=!1,await P(e)}catch(t){e.lastError=String(t)}finally{e.configApplying=!1}}}function F(e,t,n){let r=kt(e.configForm??e.configSnapshot?.config??{});Pt(r,t,n),e.configForm=r,e.configFormDirty=!0,e.configFormMode===`form`&&(e.configRaw=At(r))}function dn(e,t){let n=kt(e.configForm??e.configSnapshot?.config??{});Ft(n,t),e.configForm=n,e.configFormDirty=!0,e.configFormMode===`form`&&(e.configRaw=At(n))}function fn(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 pn(e){let{state:t,callbacks:r,accountId:i}=e,a=fn(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;">
|
|
@@ -24056,7 +24056,7 @@ ${e.pluginDescription}</pre
|
|
|
24056
24056
|
</section>
|
|
24057
24057
|
</section>
|
|
24058
24058
|
</section>
|
|
24059
|
-
`}var KK=/^data:/i,qK=[{tab:`config`,label:`Config`,icon:u.settings},{tab:`debug`,label:`Debug`,icon:u.bug},{tab:`nodes`,label:`Nodes`,icon:u.monitor}],JK=new Set([`agents`,`chat`,`config`,`debug`,`federation`,`logs`,`marketplace`,`mining`,`nodes`,`notifications`,`skills`,`usage`,`wallet`]),YK=/^https?:\/\//i,XK={config:()=>t(()=>import(`./config-CU5Zi8Dh.js`),__vite__mapDeps([0,1,2]),import.meta.url),providers:()=>t(()=>import(`./providers-WTJ1kMKy.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-BdhMn18r.js`),__vite__mapDeps([10,1,11,7]),import.meta.url)},ZK={},QK=new Map,$K={};function eq(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 tq(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 nq(e){let t=e.agentsList?.agents??[],n=Rn(e.sessionKey)?.agentId??e.agentsList?.defaultId??`main`,r=t.find(e=>e.id===n),i=jq(e,n).entry?.identity,a=e.agentIdentityById[n],o=i?.avatar??a?.avatar??aq(n)??r?.identity?.avatarUrl??r?.identity?.avatar;if(o)return KK.test(o)||YK.test(o)?o:r?.identity?.avatarUrl}var rq=`fased.agentAvatar.`;function iq(e){return`${rq}${encodeURIComponent(e)}`}function aq(e){if(!(typeof window>`u`))try{return window.localStorage.getItem(iq(e))?.trim()||void 0}catch{return}}function oq(e,t){if(!(typeof window>`u`))try{let n=t.trim();n?window.localStorage.setItem(iq(e),n):window.localStorage.removeItem(iq(e))}catch{}}function sq(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)=>{cq(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 Mq(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 cq(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(F(e,i,r.trim()?JSON.parse(r):{}),await ln(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 lq(e){return e.chatScheduleDraft.agentId?.trim()||Rn(e.sessionKey)?.agentId?.trim()||e.agentsSelectedId?.trim()||e.agentsList?.defaultId?.trim()||`main`}function uq(e,t){let n=t.trim()||lq(e),r=Rn(e.sessionKey);return!r||!r.rest?`agent:${n}:${e.agentsList?.mainKey?.trim()||`main`}`:r.agentId===n?e.sessionKey:`agent:${n}:${r.rest}`}function dq(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 fq(e){let t=dq(e);e.chatScheduleDraft=Kf(e.chatMessage,{agentId:lq(e),deliveryMode:t?`channel`:`local`})}function pq(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(),pm(e),nv(e),rv(e),Hv(e))}function mq(e){typeof window>`u`||!e||(window.location.hash=e,window.requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`center`})}))}function hq(e,t,n){let r=t.trim();if(!r)return;pq(e,r);let i=n?`#${n}`:``;window.history.pushState({},``,`${e.basePath}/chat?session=${encodeURIComponent(r)}${i}`),e.tab=`chat`}function gq(e,t){let n=Ue(t);if(n.sessionKey){hq(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),mq(n.hash),n.loadChannels&&ht(e,!1),n.loadCron&&e.loadCron()}function _q(e,t){t.sessionKey&&pq(e,t.sessionKey),e.chatScheduleDraft=Qf(t),e.tab=`chat`}function vq(e,t){ed(e,t),e.agentTaskEditingJobId=null,e.agentTaskForm={...Dd,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 yq(e,t){t.agentId&&ed(e,t.agentId),e.agentTaskEditingJobId=t.id,e.agentTaskForm=pf(t,{...Dd,agentId:t.agentId??``}),e.agentTaskFieldErrors={},e.agentTaskError=null,e.agentTaskDialogOpen=!0}function bq(e){vq(e,e.agentsList?.defaultId??e.agentsList?.mainKey??`main`)}function xq(e){vq(e,e.agentsList?.defaultId??e.agentsList?.mainKey??`main`),Cq(e,qd(`aom-strategy`))}function Sq(e){e.agentTaskDialogOpen=!1,e.agentTaskEditingJobId=null,e.agentTaskFieldErrors={},e.agentTaskError=null}function Cq(e,t){e.agentTaskForm={...e.agentTaskForm,...t},e.agentTaskFieldErrors=Qd(e.agentTaskForm),e.agentTaskError=null}function wq(e){return M(e).value}function Tq(e,t){let n=t.find(t=>wq(t)===e);return n?M(n).label:se(e)||e}function Eq(e,t){return t?.trim()||e.agentsList?.defaultId||e.agentsList?.mainKey||`main`}function Dq(e,t){let n=Eq(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 Oq(e,t){let n=Eq(e,t),r=e.agentsList?.agents?.find(e=>e.id===n),i=Dq(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:Tq(t,e.chatModelCatalog??[])}))}function kq(e,t){let n=Eq(e,t),r=e.agentsList?.agents?.find(e=>e.id===n),i=Dq(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 Aq(e,t){let n=t?.trim();return n?Tq(n,e.chatModelCatalog??[]):`Default`}function jq(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 Mq(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}=jq(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(F(e,[...a,`skills`],[...s,r]),await ln(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 Nq(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 Pq(e,t){return e.channelsSnapshot?.channelMeta?.find(e=>e.id===t)?.label||e.channelsSnapshot?.channelLabels?.[t]||t}function Fq(e){return encodeURIComponent(e)}function Iq(e){try{return decodeURIComponent(e)}catch{return e}}function Lq(e,t){return`channel:${Fq(e)}:${Fq(t)}`}function Rq(e){return e.deliveryMode===`webhook`?`webhook`:e.deliveryMode===`announce`?Lq(e.deliveryChannel.trim()||`last`,e.deliveryAccountId.trim()):`none`}function zq(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(!Nq(r))continue;let t=r.accountId?.trim()||``,o=Lq(a,t);if(i.has(o))continue;i.add(o);let s=Pq(e,a),c=r.name?.trim()||t||`default`;n.push({value:o,label:`${s} · ${c}`,detail:t})}}}let a=Rq(t);return!i.has(a)&&t.deliveryMode===`announce`&&n.push({value:a,label:`${Pq(e,t.deliveryChannel)} · current account`,detail:t.deliveryAccountId}),n}function Bq(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=Iq(n[1]??``),i=Iq(n[2]??``);e({deliveryMode:`announce`,deliveryChannel:r||`last`,deliveryAccountId:i,deliveryTo:``})}function Vq(e){Sq(e),e.tab=`agents`,e.agentsPanel=`channels`}function Hq(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 Uq(e){let t=e.agentsList?.agents??[];return t.length>0?t.map(e=>({id:e.id,label:ky(e)})):[{id:`main`,label:`Assistant`}]}function Wq(e){return Array.from(new Set(e.split(`,`).map(e=>e.trim()).filter(Boolean)))}function Gq(e,t,n){t({allowedSkills:Array.from(new Set([...Wq(e.agentTaskForm.allowedSkills),n.trim()].filter(Boolean))).join(`, `),skillScope:`selected`})}function Kq(e,t,n){t({allowedSkills:Wq(e.allowedSkills).filter(e=>e!==n).join(`, `)})}function qq(e,t){return t.find(t=>t.id===e)?.label??e}function Jq(e,t,n){let r=Dq(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 Yq(e){let t=Jq(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`
|
|
24059
|
+
`}var KK=/^data:/i,qK=[{tab:`config`,label:`Config`,icon:u.settings},{tab:`debug`,label:`Debug`,icon:u.bug},{tab:`nodes`,label:`Nodes`,icon:u.monitor}],JK=new Set([`agents`,`chat`,`config`,`debug`,`federation`,`logs`,`marketplace`,`mining`,`nodes`,`notifications`,`skills`,`usage`,`wallet`]),YK=/^https?:\/\//i,XK={config:()=>t(()=>import(`./config-CU5Zi8Dh.js`),__vite__mapDeps([0,1,2]),import.meta.url),providers:()=>t(()=>import(`./providers-C0DEXi8e.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-BdhMn18r.js`),__vite__mapDeps([10,1,11,7]),import.meta.url)},ZK={},QK=new Map,$K={};function eq(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 tq(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 nq(e){let t=e.agentsList?.agents??[],n=Rn(e.sessionKey)?.agentId??e.agentsList?.defaultId??`main`,r=t.find(e=>e.id===n),i=jq(e,n).entry?.identity,a=e.agentIdentityById[n],o=i?.avatar??a?.avatar??aq(n)??r?.identity?.avatarUrl??r?.identity?.avatar;if(o)return KK.test(o)||YK.test(o)?o:r?.identity?.avatarUrl}var rq=`fased.agentAvatar.`;function iq(e){return`${rq}${encodeURIComponent(e)}`}function aq(e){if(!(typeof window>`u`))try{return window.localStorage.getItem(iq(e))?.trim()||void 0}catch{return}}function oq(e,t){if(!(typeof window>`u`))try{let n=t.trim();n?window.localStorage.setItem(iq(e),n):window.localStorage.removeItem(iq(e))}catch{}}function sq(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)=>{cq(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 Mq(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 cq(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(F(e,i,r.trim()?JSON.parse(r):{}),await ln(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 lq(e){return e.chatScheduleDraft.agentId?.trim()||Rn(e.sessionKey)?.agentId?.trim()||e.agentsSelectedId?.trim()||e.agentsList?.defaultId?.trim()||`main`}function uq(e,t){let n=t.trim()||lq(e),r=Rn(e.sessionKey);return!r||!r.rest?`agent:${n}:${e.agentsList?.mainKey?.trim()||`main`}`:r.agentId===n?e.sessionKey:`agent:${n}:${r.rest}`}function dq(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 fq(e){let t=dq(e);e.chatScheduleDraft=Kf(e.chatMessage,{agentId:lq(e),deliveryMode:t?`channel`:`local`})}function pq(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(),pm(e),nv(e),rv(e),Hv(e))}function mq(e){typeof window>`u`||!e||(window.location.hash=e,window.requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`center`})}))}function hq(e,t,n){let r=t.trim();if(!r)return;pq(e,r);let i=n?`#${n}`:``;window.history.pushState({},``,`${e.basePath}/chat?session=${encodeURIComponent(r)}${i}`),e.tab=`chat`}function gq(e,t){let n=Ue(t);if(n.sessionKey){hq(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),mq(n.hash),n.loadChannels&&ht(e,!1),n.loadCron&&e.loadCron()}function _q(e,t){t.sessionKey&&pq(e,t.sessionKey),e.chatScheduleDraft=Qf(t),e.tab=`chat`}function vq(e,t){ed(e,t),e.agentTaskEditingJobId=null,e.agentTaskForm={...Dd,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 yq(e,t){t.agentId&&ed(e,t.agentId),e.agentTaskEditingJobId=t.id,e.agentTaskForm=pf(t,{...Dd,agentId:t.agentId??``}),e.agentTaskFieldErrors={},e.agentTaskError=null,e.agentTaskDialogOpen=!0}function bq(e){vq(e,e.agentsList?.defaultId??e.agentsList?.mainKey??`main`)}function xq(e){vq(e,e.agentsList?.defaultId??e.agentsList?.mainKey??`main`),Cq(e,qd(`aom-strategy`))}function Sq(e){e.agentTaskDialogOpen=!1,e.agentTaskEditingJobId=null,e.agentTaskFieldErrors={},e.agentTaskError=null}function Cq(e,t){e.agentTaskForm={...e.agentTaskForm,...t},e.agentTaskFieldErrors=Qd(e.agentTaskForm),e.agentTaskError=null}function wq(e){return M(e).value}function Tq(e,t){let n=t.find(t=>wq(t)===e);return n?M(n).label:se(e)||e}function Eq(e,t){return t?.trim()||e.agentsList?.defaultId||e.agentsList?.mainKey||`main`}function Dq(e,t){let n=Eq(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 Oq(e,t){let n=Eq(e,t),r=e.agentsList?.agents?.find(e=>e.id===n),i=Dq(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:Tq(t,e.chatModelCatalog??[])}))}function kq(e,t){let n=Eq(e,t),r=e.agentsList?.agents?.find(e=>e.id===n),i=Dq(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 Aq(e,t){let n=t?.trim();return n?Tq(n,e.chatModelCatalog??[]):`Default`}function jq(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 Mq(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}=jq(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(F(e,[...a,`skills`],[...s,r]),await ln(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 Nq(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 Pq(e,t){return e.channelsSnapshot?.channelMeta?.find(e=>e.id===t)?.label||e.channelsSnapshot?.channelLabels?.[t]||t}function Fq(e){return encodeURIComponent(e)}function Iq(e){try{return decodeURIComponent(e)}catch{return e}}function Lq(e,t){return`channel:${Fq(e)}:${Fq(t)}`}function Rq(e){return e.deliveryMode===`webhook`?`webhook`:e.deliveryMode===`announce`?Lq(e.deliveryChannel.trim()||`last`,e.deliveryAccountId.trim()):`none`}function zq(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(!Nq(r))continue;let t=r.accountId?.trim()||``,o=Lq(a,t);if(i.has(o))continue;i.add(o);let s=Pq(e,a),c=r.name?.trim()||t||`default`;n.push({value:o,label:`${s} · ${c}`,detail:t})}}}let a=Rq(t);return!i.has(a)&&t.deliveryMode===`announce`&&n.push({value:a,label:`${Pq(e,t.deliveryChannel)} · current account`,detail:t.deliveryAccountId}),n}function Bq(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=Iq(n[1]??``),i=Iq(n[2]??``);e({deliveryMode:`announce`,deliveryChannel:r||`last`,deliveryAccountId:i,deliveryTo:``})}function Vq(e){Sq(e),e.tab=`agents`,e.agentsPanel=`channels`}function Hq(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 Uq(e){let t=e.agentsList?.agents??[];return t.length>0?t.map(e=>({id:e.id,label:ky(e)})):[{id:`main`,label:`Assistant`}]}function Wq(e){return Array.from(new Set(e.split(`,`).map(e=>e.trim()).filter(Boolean)))}function Gq(e,t,n){t({allowedSkills:Array.from(new Set([...Wq(e.agentTaskForm.allowedSkills),n.trim()].filter(Boolean))).join(`, `),skillScope:`selected`})}function Kq(e,t,n){t({allowedSkills:Wq(e.allowedSkills).filter(e=>e!==n).join(`, `)})}function qq(e,t){return t.find(t=>t.id===e)?.label??e}function Jq(e,t,n){let r=Dq(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 Yq(e){let t=Jq(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`
|
|
24060
24060
|
<div class="agent-task-dialog__skill-summary" data-state="none">
|
|
24061
24061
|
<div>
|
|
24062
24062
|
<strong>No skills for this task</strong>
|
|
@@ -25429,4 +25429,4 @@ Payload:
|
|
|
25429
25429
|
<li>After replacement, revoke devices that are lost, stale, or no longer operator-controlled.</li>
|
|
25430
25430
|
</ul>
|
|
25431
25431
|
`),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 Ir(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 Lr(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 Br({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 Vr({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 Hr({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 Fr(i.approvalToken,a,e,rX(this.walletCustodyUnlockMinutes));this.walletCustodyDeviceShare=a;let s=e?await this.persistWalletCustodyDeviceShareIfNeeded(e,a,i):null,c=tX(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 Rr(n,t,rX(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 ${tX(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 zr(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 hn(this,e)}async handleWhatsAppWait(){await gn(this)}async handleWhatsAppLogout(){await _n(this)}async handleChannelQrStart(e,t=!1,n){await vn(this,e,t,n)}async handleChannelQrWait(e,t){await yn(this,e,t)}async handleChannelLogout(e,t){await bn(this,e,t)}async handleChannelInstall(e){await xn(this,e)}cancelChannelConfirmAction(){Sn(this)}async confirmChannelAction(){await Cn(this)}async handleChannelEnable(e){await wn(this,e)}async handleChannelConfigSave(){await Tn(this)}async handleChannelConfigReload(){await En(this)}handleNostrProfileEdit(e,t){Mn(this,e,t)}handleNostrProfileCancel(){Nn(this)}handleNostrProfileFieldChange(e,t){Pn(this,e,t)}async handleNostrProfileSave(){await In(this)}async handleNostrProfileImport(){await Ln(this)}handleNostrProfileToggleAdvanced(){Fn(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 xJ(this)}catch(e){let t=e instanceof Error?e.stack??e.message:String(e);return queueMicrotask(()=>this.reportUiRuntimeError(t)),this.renderUiRuntimeError(t)}}};G([N()],$.prototype,`settings`,void 0),G([N()],$.prototype,`password`,void 0),G([N()],$.prototype,`loginShowGatewayToken`,void 0),G([N()],$.prototype,`loginShowGatewayPassword`,void 0),G([N()],$.prototype,`tab`,void 0),G([N()],$.prototype,`onboarding`,void 0),G([N()],$.prototype,`connected`,void 0),G([N()],$.prototype,`theme`,void 0),G([N()],$.prototype,`themeResolved`,void 0),G([N()],$.prototype,`hello`,void 0),G([N()],$.prototype,`lastError`,void 0),G([N()],$.prototype,`lastErrorCode`,void 0),G([N()],$.prototype,`uiRuntimeError`,void 0),G([N()],$.prototype,`eventLog`,void 0),G([N()],$.prototype,`serverVersion`,void 0),G([N()],$.prototype,`updateAvailable`,void 0),G([N()],$.prototype,`assistantName`,void 0),G([N()],$.prototype,`assistantAvatar`,void 0),G([N()],$.prototype,`assistantAgentId`,void 0),G([N()],$.prototype,`sessionKey`,void 0),G([N()],$.prototype,`sessionsSubscriptionActive`,void 0),G([N()],$.prototype,`sessionsLastEventAt`,void 0),G([N()],$.prototype,`sessionMessagesSubscriptionActive`,void 0),G([N()],$.prototype,`subscribedSessionMessageKey`,void 0),G([N()],$.prototype,`sessionMessageLastEventAt`,void 0),G([N()],$.prototype,`chatLoading`,void 0),G([N()],$.prototype,`chatSending`,void 0),G([N()],$.prototype,`chatMessage`,void 0),G([N()],$.prototype,`chatMessages`,void 0),G([N()],$.prototype,`chatToolMessages`,void 0),G([N()],$.prototype,`chatStream`,void 0),G([N()],$.prototype,`chatStreamSegments`,void 0),G([N()],$.prototype,`chatStreamStartedAt`,void 0),G([N()],$.prototype,`chatRunId`,void 0),G([N()],$.prototype,`compactionStatus`,void 0),G([N()],$.prototype,`fallbackStatus`,void 0),G([N()],$.prototype,`chatAvatarUrl`,void 0),G([N()],$.prototype,`chatThinkingLevel`,void 0),G([N()],$.prototype,`chatQueue`,void 0),G([N()],$.prototype,`chatAttachments`,void 0),G([N()],$.prototype,`chatManualRefreshInFlight`,void 0),G([N()],$.prototype,`chatModelsLoading`,void 0),G([N()],$.prototype,`chatModelCatalog`,void 0),G([N()],$.prototype,`providerModelCatalog`,void 0),G([N()],$.prototype,`chatModelOverrides`,void 0),G([N()],$.prototype,`chatModelPatchInFlight`,void 0),G([N()],$.prototype,`chatModelPatchSessionKey`,void 0),G([N()],$.prototype,`chatModelPatchLabel`,void 0),G([N()],$.prototype,`chatSessionSearch`,void 0),G([N()],$.prototype,`chatSessionSearchOpen`,void 0),G([N()],$.prototype,`chatSessionListLimit`,void 0),G([N()],$.prototype,`chatTranscriptSearch`,void 0),G([N()],$.prototype,`chatTranscriptSearchIndex`,void 0),G([N()],$.prototype,`chatScheduleDraft`,void 0),G([N()],$.prototype,`chatSessionUsage`,void 0),G([N()],$.prototype,`chatSessionUsageLoading`,void 0),G([N()],$.prototype,`chatSessionUsageError`,void 0),G([N()],$.prototype,`sidebarOpen`,void 0),G([N()],$.prototype,`sidebarContent`,void 0),G([N()],$.prototype,`sidebarError`,void 0),G([N()],$.prototype,`splitRatio`,void 0),G([N()],$.prototype,`nodesLoading`,void 0),G([N()],$.prototype,`nodes`,void 0),G([N()],$.prototype,`commandsCatalogLoading`,void 0),G([N()],$.prototype,`commandsCatalogError`,void 0),G([N()],$.prototype,`commandsCatalog`,void 0),G([N()],$.prototype,`commandsCatalogScope`,void 0),G([N()],$.prototype,`devicesLoading`,void 0),G([N()],$.prototype,`devicesError`,void 0),G([N()],$.prototype,`devicesList`,void 0),G([N()],$.prototype,`execApprovalsLoading`,void 0),G([N()],$.prototype,`execApprovalsSaving`,void 0),G([N()],$.prototype,`execApprovalsDirty`,void 0),G([N()],$.prototype,`execApprovalsSnapshot`,void 0),G([N()],$.prototype,`sendModalVisible`,void 0),G([N()],$.prototype,`execApprovalsForm`,void 0),G([N()],$.prototype,`execApprovalsSelectedAgent`,void 0),G([N()],$.prototype,`execApprovalsTarget`,void 0),G([N()],$.prototype,`execApprovalsTargetNodeId`,void 0),G([N()],$.prototype,`execApprovalQueue`,void 0),G([N()],$.prototype,`execApprovalBusy`,void 0),G([N()],$.prototype,`execApprovalError`,void 0),G([N()],$.prototype,`pendingGatewayUrl`,void 0),G([N()],$.prototype,`pendingGatewayToken`,void 0),G([N()],$.prototype,`loginGrantInput`,void 0),G([N()],$.prototype,`loginGrantPending`,void 0),G([N()],$.prototype,`loginGrantError`,void 0),G([N()],$.prototype,`loginTokenPending`,void 0),G([N()],$.prototype,`loginTokenError`,void 0),G([N()],$.prototype,`loginTokenCandidate`,void 0),G([N()],$.prototype,`authBootstrapPending`,void 0),G([N()],$.prototype,`authNotice`,void 0),G([N()],$.prototype,`authSessionExpiresAt`,void 0),G([N()],$.prototype,`authSessionIdleTimeoutSeconds`,void 0),G([N()],$.prototype,`overviewAdvancedUnlocked`,void 0),G([N()],$.prototype,`overviewSecretsRevealUntilMs`,void 0),G([N()],$.prototype,`dashboardLayout`,void 0),G([N()],$.prototype,`dashboardWidgetDrawerOpen`,void 0),G([N()],$.prototype,`configLoading`,void 0),G([N()],$.prototype,`configRaw`,void 0),G([N()],$.prototype,`configRawOriginal`,void 0),G([N()],$.prototype,`configValid`,void 0),G([N()],$.prototype,`configIssues`,void 0),G([N()],$.prototype,`configSaving`,void 0),G([N()],$.prototype,`configApplying`,void 0),G([N()],$.prototype,`updateRunning`,void 0),G([N()],$.prototype,`applySessionKey`,void 0),G([N()],$.prototype,`configSnapshot`,void 0),G([N()],$.prototype,`configAuthStatus`,void 0),G([N()],$.prototype,`configModelCatalogStatus`,void 0),G([N()],$.prototype,`configAuthActionBusyProfileId`,void 0),G([N()],$.prototype,`configAuthAction`,void 0),G([N()],$.prototype,`configSchema`,void 0),G([N()],$.prototype,`configSchemaVersion`,void 0),G([N()],$.prototype,`configSchemaLoading`,void 0),G([N()],$.prototype,`configUiHints`,void 0),G([N()],$.prototype,`configForm`,void 0),G([N()],$.prototype,`configFormOriginal`,void 0),G([N()],$.prototype,`configFormDirty`,void 0),G([N()],$.prototype,`configFormMode`,void 0),G([N()],$.prototype,`configSearchQuery`,void 0),G([N()],$.prototype,`configActiveSection`,void 0),G([N()],$.prototype,`configActiveSubsection`,void 0),G([N()],$.prototype,`servicesWebSearchTesting`,void 0),G([N()],$.prototype,`servicesWebSearchTestMessage`,void 0),G([N()],$.prototype,`servicesCapabilities`,void 0),G([N()],$.prototype,`servicesCapabilitiesLoading`,void 0),G([N()],$.prototype,`servicesWebSearchProviders`,void 0),G([N()],$.prototype,`servicesWebSearchProvidersLoading`,void 0),G([N()],$.prototype,`servicesGmailProvisioning`,void 0),G([N()],$.prototype,`servicesGmailProvisionMessage`,void 0),G([N()],$.prototype,`channelsLoading`,void 0),G([N()],$.prototype,`channelsSnapshot`,void 0),G([N()],$.prototype,`channelsError`,void 0),G([N()],$.prototype,`channelsNotice`,void 0),G([N()],$.prototype,`channelsLastSuccess`,void 0),G([N()],$.prototype,`channelsView`,void 0),G([N()],$.prototype,`channelRuntimeBusy`,void 0),G([N()],$.prototype,`channelConfirmAction`,void 0),G([N()],$.prototype,`channelQrLogin`,void 0),G([N()],$.prototype,`whatsappLoginMessage`,void 0),G([N()],$.prototype,`whatsappLoginQrDataUrl`,void 0),G([N()],$.prototype,`whatsappLoginConnected`,void 0),G([N()],$.prototype,`whatsappBusy`,void 0),G([N()],$.prototype,`nostrProfileFormState`,void 0),G([N()],$.prototype,`nostrProfileAccountId`,void 0),G([N()],$.prototype,`presenceLoading`,void 0),G([N()],$.prototype,`presenceEntries`,void 0),G([N()],$.prototype,`presenceError`,void 0),G([N()],$.prototype,`presenceStatus`,void 0),G([N()],$.prototype,`agentsLoading`,void 0),G([N()],$.prototype,`agentsList`,void 0),G([N()],$.prototype,`agentsError`,void 0),G([N()],$.prototype,`agentsSelectedId`,void 0),G([N()],$.prototype,`agentsCreateBusy`,void 0),G([N()],$.prototype,`agentsCreateMessage`,void 0),G([N()],$.prototype,`agentsPanel`,void 0),G([N()],$.prototype,`agentFilesLoading`,void 0),G([N()],$.prototype,`agentFilesError`,void 0),G([N()],$.prototype,`agentFilesList`,void 0),G([N()],$.prototype,`agentFileContents`,void 0),G([N()],$.prototype,`agentFileDrafts`,void 0),G([N()],$.prototype,`agentFileActive`,void 0),G([N()],$.prototype,`agentFileSaving`,void 0),G([N()],$.prototype,`agentIdentityLoading`,void 0),G([N()],$.prototype,`agentIdentityError`,void 0),G([N()],$.prototype,`agentIdentityById`,void 0),G([N()],$.prototype,`agentSkillsLoading`,void 0),G([N()],$.prototype,`agentSkillsError`,void 0),G([N()],$.prototype,`agentSkillsReport`,void 0),G([N()],$.prototype,`agentSkillsAgentId`,void 0),G([N()],$.prototype,`toolsCatalogLoading`,void 0),G([N()],$.prototype,`toolsCatalogError`,void 0),G([N()],$.prototype,`toolsCatalogResult`,void 0),G([N()],$.prototype,`toolsEffectiveLoading`,void 0),G([N()],$.prototype,`toolsEffectiveError`,void 0),G([N()],$.prototype,`toolsEffectiveResult`,void 0),G([N()],$.prototype,`sessionsLoading`,void 0),G([N()],$.prototype,`sessionsResult`,void 0),G([N()],$.prototype,`sessionsError`,void 0),G([N()],$.prototype,`sessionsFilterActive`,void 0),G([N()],$.prototype,`sessionsFilterLimit`,void 0),G([N()],$.prototype,`sessionsFilterSearch`,void 0),G([N()],$.prototype,`sessionsIncludeGlobal`,void 0),G([N()],$.prototype,`sessionsIncludeUnknown`,void 0),G([N()],$.prototype,`sessionsHideCron`,void 0),G([N()],$.prototype,`usageLoading`,void 0),G([N()],$.prototype,`usageResult`,void 0),G([N()],$.prototype,`usageCostSummary`,void 0),G([N()],$.prototype,`usageError`,void 0),G([N()],$.prototype,`usageStartDate`,void 0),G([N()],$.prototype,`usageEndDate`,void 0),G([N()],$.prototype,`usageSelectedSessions`,void 0),G([N()],$.prototype,`usageSelectedDays`,void 0),G([N()],$.prototype,`usageSelectedHours`,void 0),G([N()],$.prototype,`usageChartMode`,void 0),G([N()],$.prototype,`usageDailyChartMode`,void 0),G([N()],$.prototype,`usageTimeSeriesMode`,void 0),G([N()],$.prototype,`usageTimeSeriesBreakdownMode`,void 0),G([N()],$.prototype,`usageTimeSeries`,void 0),G([N()],$.prototype,`usageTimeSeriesLoading`,void 0),G([N()],$.prototype,`usageTimeSeriesCursorStart`,void 0),G([N()],$.prototype,`usageTimeSeriesCursorEnd`,void 0),G([N()],$.prototype,`usageSessionLogs`,void 0),G([N()],$.prototype,`usageSessionLogsLoading`,void 0),G([N()],$.prototype,`usageSessionLogsExpanded`,void 0),G([N()],$.prototype,`usageQuery`,void 0),G([N()],$.prototype,`usageQueryDraft`,void 0),G([N()],$.prototype,`usageSessionSort`,void 0),G([N()],$.prototype,`usageSessionSortDir`,void 0),G([N()],$.prototype,`usageRecentSessions`,void 0),G([N()],$.prototype,`usageTimeZone`,void 0),G([N()],$.prototype,`usageContextExpanded`,void 0),G([N()],$.prototype,`usageHeaderPinned`,void 0),G([N()],$.prototype,`usageSessionsTab`,void 0),G([N()],$.prototype,`usageVisibleColumns`,void 0),G([N()],$.prototype,`usageLogFilterRoles`,void 0),G([N()],$.prototype,`usageLogFilterTools`,void 0),G([N()],$.prototype,`usageLogFilterHasTools`,void 0),G([N()],$.prototype,`usageLogFilterQuery`,void 0),G([N()],$.prototype,`cronLoading`,void 0),G([N()],$.prototype,`cronJobsLoadingMore`,void 0),G([N()],$.prototype,`cronJobs`,void 0),G([N()],$.prototype,`cronJobsTotal`,void 0),G([N()],$.prototype,`cronJobsHasMore`,void 0),G([N()],$.prototype,`cronJobsNextOffset`,void 0),G([N()],$.prototype,`cronJobsLimit`,void 0),G([N()],$.prototype,`cronJobsQuery`,void 0),G([N()],$.prototype,`cronJobsEnabledFilter`,void 0),G([N()],$.prototype,`cronJobsScheduleKindFilter`,void 0),G([N()],$.prototype,`cronJobsLastStatusFilter`,void 0),G([N()],$.prototype,`cronJobsAdaptiveRouteFilter`,void 0),G([N()],$.prototype,`cronJobsSortBy`,void 0),G([N()],$.prototype,`cronJobsSortDir`,void 0),G([N()],$.prototype,`cronStatus`,void 0),G([N()],$.prototype,`cronError`,void 0),G([N()],$.prototype,`cronForm`,void 0),G([N()],$.prototype,`cronFieldErrors`,void 0),G([N()],$.prototype,`agentTaskDialogOpen`,void 0),G([N()],$.prototype,`agentTaskForm`,void 0),G([N()],$.prototype,`agentTaskFieldErrors`,void 0),G([N()],$.prototype,`agentTaskEditingJobId`,void 0),G([N()],$.prototype,`agentTaskError`,void 0),G([N()],$.prototype,`agentTaskBusy`,void 0),G([N()],$.prototype,`agentTaskQuery`,void 0),G([N()],$.prototype,`agentTaskStatusFilter`,void 0),G([N()],$.prototype,`agentTaskAdaptiveRouteFilter`,void 0),G([N()],$.prototype,`agentTaskSortDir`,void 0),G([N()],$.prototype,`taskLedgerLoading`,void 0),G([N()],$.prototype,`taskLedgerBusy`,void 0),G([N()],$.prototype,`taskLedgerError`,void 0),G([N()],$.prototype,`taskLedgerMaintenanceMessage`,void 0),G([N()],$.prototype,`taskLedger`,void 0),G([N()],$.prototype,`taskLedgerOffset`,void 0),G([N()],$.prototype,`taskLedgerSourceFilter`,void 0),G([N()],$.prototype,`taskLedgerTypeFilter`,void 0),G([N()],$.prototype,`taskLedgerStatusFilter`,void 0),G([N()],$.prototype,`taskLedgerDetails`,void 0),G([N()],$.prototype,`taskLedgerDetailLoading`,void 0),G([N()],$.prototype,`taskLedgerDetailErrors`,void 0),G([N()],$.prototype,`taskWorkflowDraft`,void 0),G([N()],$.prototype,`taskWorkflowGraphDraft`,void 0),G([N()],$.prototype,`taskWorkflowBusy`,void 0),G([N()],$.prototype,`taskWorkflowError`,void 0),G([N()],$.prototype,`taskWorkflowMessage`,void 0),G([N()],$.prototype,`taskWorkflowDefinitionsLoading`,void 0),G([N()],$.prototype,`taskWorkflowDefinitionsBusy`,void 0),G([N()],$.prototype,`taskWorkflowDefinitionsError`,void 0),G([N()],$.prototype,`taskWorkflowDefinitions`,void 0),G([N()],$.prototype,`taskWorkflowTemplatesLoading`,void 0),G([N()],$.prototype,`taskWorkflowTemplatesError`,void 0),G([N()],$.prototype,`taskWorkflowTemplates`,void 0),G([N()],$.prototype,`taskStandingOrdersLoading`,void 0),G([N()],$.prototype,`taskStandingOrdersBusy`,void 0),G([N()],$.prototype,`taskStandingOrdersError`,void 0),G([N()],$.prototype,`taskStandingOrdersMessage`,void 0),G([N()],$.prototype,`taskStandingOrders`,void 0),G([N()],$.prototype,`taskStandingOrderDraft`,void 0),G([N()],$.prototype,`taskFlowRunsLoading`,void 0),G([N()],$.prototype,`taskFlowRunsBusy`,void 0),G([N()],$.prototype,`taskFlowRunsError`,void 0),G([N()],$.prototype,`taskFlowRuns`,void 0),G([N()],$.prototype,`webhookTriggersLoading`,void 0),G([N()],$.prototype,`webhookTriggersBusy`,void 0),G([N()],$.prototype,`webhookTriggersError`,void 0),G([N()],$.prototype,`webhookTriggersMessage`,void 0),G([N()],$.prototype,`webhookTriggers`,void 0),G([N()],$.prototype,`webhookTriggerDraft`,void 0),G([N()],$.prototype,`cronEditingJobId`,void 0),G([N()],$.prototype,`cronRunsJobId`,void 0),G([N()],$.prototype,`cronRunsLoadingMore`,void 0),G([N()],$.prototype,`cronRuns`,void 0),G([N()],$.prototype,`cronRunsTotal`,void 0),G([N()],$.prototype,`cronRunsHasMore`,void 0),G([N()],$.prototype,`cronRunsNextOffset`,void 0),G([N()],$.prototype,`cronRunsLimit`,void 0),G([N()],$.prototype,`cronRunsScope`,void 0),G([N()],$.prototype,`cronRunsStatuses`,void 0),G([N()],$.prototype,`cronRunsDeliveryStatuses`,void 0),G([N()],$.prototype,`cronRunsStatusFilter`,void 0),G([N()],$.prototype,`cronRunsQuery`,void 0),G([N()],$.prototype,`cronRunsSortDir`,void 0),G([N()],$.prototype,`cronRunDetail`,void 0),G([N()],$.prototype,`cronRunDetailLoading`,void 0),G([N()],$.prototype,`cronRunDetailError`,void 0),G([N()],$.prototype,`cronBusy`,void 0),G([N()],$.prototype,`federationLoading`,void 0),G([N()],$.prototype,`federationError`,void 0),G([N()],$.prototype,`federationMessage`,void 0),G([N()],$.prototype,`federationDirectory`,void 0),G([N()],$.prototype,`federationHandle`,void 0),G([N()],$.prototype,`federationNodeEndpoint`,void 0),G([N()],$.prototype,`federationToken`,void 0),G([N()],$.prototype,`federationStatus`,void 0),G([N()],$.prototype,`federationManagedMode`,void 0),G([N()],$.prototype,`federationAdminToken`,void 0),G([N()],$.prototype,`federationReviewReason`,void 0),G([N()],$.prototype,`federationReviewBusyHandle`,void 0),G([N()],$.prototype,`federationBondWalletIdDraft`,void 0),G([N()],$.prototype,`federationBondAmountDraft`,void 0),G([N()],$.prototype,`federationBondTierDraft`,void 0),G([N()],$.prototype,`federationBondAutoSubmitProof`,void 0),G([N()],$.prototype,`federationBondActionBusy`,void 0),G([N()],$.prototype,`federationBondBusyAction`,void 0),G([N()],$.prototype,`federationOperatorEconomyLoading`,void 0),G([N()],$.prototype,`federationOperatorEconomyError`,void 0),G([N()],$.prototype,`federationOperatorEconomyCollectionStatus`,void 0),G([N()],$.prototype,`federationOperatorEconomyFeeObjects`,void 0),G([N()],$.prototype,`federationOperatorEconomyBucketJournal`,void 0),G([N()],$.prototype,`federationOperatorEconomyBucketBalances`,void 0),G([N()],$.prototype,`federationOperatorEconomyReconciliationReports`,void 0),G([N()],$.prototype,`federationOperatorEconomyAutoFeeDecisions`,void 0),G([N()],$.prototype,`federationOperatorEconomyShowcase`,void 0),G([N()],$.prototype,`federationLocalOffers`,void 0),G([N()],$.prototype,`federationLocalRequests`,void 0),G([N()],$.prototype,`federationLocalOrders`,void 0),G([N()],$.prototype,`federationLocalOffersLoading`,void 0),G([N()],$.prototype,`federationLocalRequestsLoading`,void 0),G([N()],$.prototype,`federationLocalOrdersLoading`,void 0),G([N()],$.prototype,`federationLocalRequestsError`,void 0),G([N()],$.prototype,`federationLocalOrdersError`,void 0),G([N()],$.prototype,`federationLocalOffersError`,void 0),G([N()],$.prototype,`federationLocalOffersMessage`,void 0),G([N()],$.prototype,`federationLocalOfferBusy`,void 0),G([N()],$.prototype,`federationLocalOrderBusy`,void 0),G([N()],$.prototype,`federationEscrowBusyOrderId`,void 0),G([N()],$.prototype,`federationEscrowError`,void 0),G([N()],$.prototype,`federationEscrowMessage`,void 0),G([N()],$.prototype,`federationMarketplaceOrderDeliveryDraftOrderId`,void 0),G([N()],$.prototype,`federationMarketplaceOrderDeliveryKindDraft`,void 0),G([N()],$.prototype,`federationMarketplaceOrderDeliveryWebhookUrlDraft`,void 0),G([N()],$.prototype,`federationMarketplaceOrderDeliveryBusyOrderId`,void 0),G([N()],$.prototype,`federationMarketplaceOrderDeliveryError`,void 0),G([N()],$.prototype,`federationMarketplaceOrderDeliveryMessage`,void 0),G([N()],$.prototype,`federationMarketplaceManualOrderBusyId`,void 0),G([N()],$.prototype,`federationMarketplaceManualOrderError`,void 0),G([N()],$.prototype,`federationMarketplaceManualOrderMessage`,void 0),G([N()],$.prototype,`federationMarketplaceCapabilityOrderBusyId`,void 0),G([N()],$.prototype,`federationMarketplaceCapabilityOrderError`,void 0),G([N()],$.prototype,`federationMarketplaceCapabilityOrderMessage`,void 0),G([N()],$.prototype,`federationLocalOfferDraftOpen`,void 0),G([N()],$.prototype,`federationLocalListingDraftKind`,void 0),G([N()],$.prototype,`federationLocalOfferEditingId`,void 0),G([N()],$.prototype,`federationLocalRequestEditingId`,void 0),G([N()],$.prototype,`federationLocalOfferEnabledDraft`,void 0),G([N()],$.prototype,`federationLocalOfferTitleDraft`,void 0),G([N()],$.prototype,`federationLocalOfferSummaryDraft`,void 0),G([N()],$.prototype,`federationLocalOfferServiceKindDraft`,void 0),G([N()],$.prototype,`federationLocalOfferInputShapeDraft`,void 0),G([N()],$.prototype,`federationLocalOfferDeliveryShapeDraft`,void 0),G([N()],$.prototype,`federationLocalOfferCapabilitiesDraft`,void 0),G([N()],$.prototype,`federationLocalOfferPriceAmountDraft`,void 0),G([N()],$.prototype,`federationLocalOfferPricingModelDraft`,void 0),G([N()],$.prototype,`federationLocalOfferPriceUnitDraft`,void 0),G([N()],$.prototype,`federationLocalOfferCurrencyDraft`,void 0),G([N()],$.prototype,`federationLocalOfferFulfillmentModeDraft`,void 0),G([N()],$.prototype,`federationLocalOfferAcceptedAssetsDraft`,void 0),G([N()],$.prototype,`federationLocalOfferPaymentRailsDraft`,void 0),G([N()],$.prototype,`federationOffersLoading`,void 0),G([N()],$.prototype,`federationOffersError`,void 0),G([N()],$.prototype,`federationOffersHint`,void 0),G([N()],$.prototype,`federationOffers`,void 0),G([N()],$.prototype,`federationOffersQuery`,void 0),G([N()],$.prototype,`federationOffersServiceKindFilter`,void 0),G([N()],$.prototype,`federationMarketplaceSection`,void 0),G([N()],$.prototype,`federationMarketplaceKindFilter`,void 0),G([N()],$.prototype,`federationMarketplaceTrustFilter`,void 0),G([N()],$.prototype,`federationMarketplaceStatusFilter`,void 0),G([N()],$.prototype,`federationMarketplaceDateFromFilter`,void 0),G([N()],$.prototype,`federationMarketplaceDateToFilter`,void 0),G([N()],$.prototype,`federationMarketplaceSort`,void 0),G([N()],$.prototype,`federationSelectedOfferId`,void 0),G([N()],$.prototype,`federationMarketplaceIndexLoading`,void 0),G([N()],$.prototype,`federationMarketplaceIndexPublishing`,void 0),G([N()],$.prototype,`federationMarketplaceIndexError`,void 0),G([N()],$.prototype,`federationMarketplaceIndexMessage`,void 0),G([N()],$.prototype,`federationMarketplaceIndexPreview`,void 0),G([N()],$.prototype,`federationMarketplaceIndexEntries`,void 0),G([N()],$.prototype,`federationMarketplaceIndexSelectedEntryId`,void 0),G([N()],$.prototype,`federationMarketplaceIndexDetailTab`,void 0),G([N()],$.prototype,`federationMarketplaceFeedbackOrderId`,void 0),G([N()],$.prototype,`federationMarketplaceSellerProfileHandle`,void 0),G([N()],$.prototype,`federationMarketplaceSellerProfileTab`,void 0),G([N()],$.prototype,`federationMarketplaceSellerProfileLoading`,void 0),G([N()],$.prototype,`federationMarketplaceSellerProfileError`,void 0),G([N()],$.prototype,`federationMarketplaceSellerProfileEntries`,void 0),G([N()],$.prototype,`federationMarketplaceSellerProfileReviews`,void 0),G([N()],$.prototype,`federationMarketplaceSellerProfileDisputes`,void 0),G([N()],$.prototype,`federationMarketplaceSellerProfileNotaryRecords`,void 0),G([N()],$.prototype,`federationOfferReviewsLoading`,void 0),G([N()],$.prototype,`federationOfferReviewsError`,void 0),G([N()],$.prototype,`federationOfferReviews`,void 0),G([N()],$.prototype,`federationOfferDisputesLoading`,void 0),G([N()],$.prototype,`federationOfferDisputesError`,void 0),G([N()],$.prototype,`federationOfferDisputes`,void 0),G([N()],$.prototype,`federationOfferFeedbackBusy`,void 0),G([N()],$.prototype,`federationOfferFeedbackError`,void 0),G([N()],$.prototype,`federationOfferFeedbackMessage`,void 0),G([N()],$.prototype,`federationOfferFeedbackTab`,void 0),G([N()],$.prototype,`federationSummarizeSourceText`,void 0),G([N()],$.prototype,`federationSummarizeStyle`,void 0),G([N()],$.prototype,`federationSummarizeMaxSentences`,void 0),G([N()],$.prototype,`federationSummarizeBusy`,void 0),G([N()],$.prototype,`federationSummarizeError`,void 0),G([N()],$.prototype,`federationPaidSummarizeBusy`,void 0),G([N()],$.prototype,`federationPaidSummarizeError`,void 0),G([N()],$.prototype,`federationSummarizeResult`,void 0),G([N()],$.prototype,`federationPaidQuoteAmountDraft`,void 0),G([N()],$.prototype,`federationPaidQuoteAssetDecimalsDraft`,void 0),G([N()],$.prototype,`federationPaidQuoteCurrencyDraft`,void 0),G([N()],$.prototype,`federationPaidQuoteChainDraft`,void 0),G([N()],$.prototype,`federationPaidQuoteAssetKindDraft`,void 0),G([N()],$.prototype,`federationPaidQuoteAssetAddressDraft`,void 0),G([N()],$.prototype,`federationPaidQuotePayeeAddressDraft`,void 0),G([N()],$.prototype,`federationPaidQuoteExpiresMinutesDraft`,void 0),G([N()],$.prototype,`federationReviewRatingDraft`,void 0),G([N()],$.prototype,`federationReviewOutcomeDraft`,void 0),G([N()],$.prototype,`federationReviewPaymentStatusDraft`,void 0),G([N()],$.prototype,`federationReviewInvoiceIdDraft`,void 0),G([N()],$.prototype,`federationReviewReceiptIdDraft`,void 0),G([N()],$.prototype,`federationReviewSummaryDraft`,void 0),G([N()],$.prototype,`federationDisputeReasonCodeDraft`,void 0),G([N()],$.prototype,`federationDisputePaymentStatusDraft`,void 0),G([N()],$.prototype,`federationDisputeInvoiceIdDraft`,void 0),G([N()],$.prototype,`federationDisputeReceiptIdDraft`,void 0),G([N()],$.prototype,`federationDisputeSummaryDraft`,void 0),G([N()],$.prototype,`federationOperatorDisputesLoading`,void 0),G([N()],$.prototype,`federationOperatorDisputesError`,void 0),G([N()],$.prototype,`federationOperatorDisputes`,void 0),G([N()],$.prototype,`federationOperatorDisputeProviderFilter`,void 0),G([N()],$.prototype,`federationOperatorDisputeOfferIdFilter`,void 0),G([N()],$.prototype,`federationOperatorDisputeStatusFilter`,void 0),G([N()],$.prototype,`federationOperatorDisputePaymentStatusFilter`,void 0),G([N()],$.prototype,`federationOperatorSelectedCaseId`,void 0),G([N()],$.prototype,`federationOperatorDisputeReviewStatusDraft`,void 0),G([N()],$.prototype,`federationOperatorDisputeResolutionDraft`,void 0),G([N()],$.prototype,`federationOperatorDisputeReviewBusy`,void 0),G([N()],$.prototype,`federationOperatorDisputeReviewError`,void 0),G([N()],$.prototype,`federationOperatorDisputeReviewMessage`,void 0),G([N()],$.prototype,`federationDisputeNotaryRecordsLoading`,void 0),G([N()],$.prototype,`federationDisputeNotaryRecordsError`,void 0),G([N()],$.prototype,`federationDisputeNotaryRecords`,void 0),G([N()],$.prototype,`federationDisputeNotaryOpinionDraft`,void 0),G([N()],$.prototype,`federationDisputeNotaryConfidenceDraft`,void 0),G([N()],$.prototype,`federationDisputeNotaryRecommendedResolutionDraft`,void 0),G([N()],$.prototype,`federationDisputeNotarySummaryDraft`,void 0),G([N()],$.prototype,`federationDisputeNotaryBusy`,void 0),G([N()],$.prototype,`federationDisputeNotaryError`,void 0),G([N()],$.prototype,`federationDisputeNotaryMessage`,void 0),G([N()],$.prototype,`walletLoading`,void 0),G([N()],$.prototype,`walletError`,void 0),G([N()],$.prototype,`walletStatus`,void 0),G([N()],$.prototype,`walletCustodyByWalletId`,void 0),G([N()],$.prototype,`walletBalancesLoading`,void 0),G([N()],$.prototype,`walletBalancesError`,void 0),G([N()],$.prototype,`walletBalances`,void 0),G([N()],$.prototype,`miningLoading`,void 0),G([N()],$.prototype,`miningSaving`,void 0),G([N()],$.prototype,`miningActionBusy`,void 0),G([N()],$.prototype,`miningCapitalActionBusy`,void 0),G([N()],$.prototype,`miningPendingAction`,void 0),G([N()],$.prototype,`miningError`,void 0),G([N()],$.prototype,`miningMessage`,void 0),G([N()],$.prototype,`miningWallets`,void 0),G([N()],$.prototype,`miningAttachedWalletId`,void 0),G([N()],$.prototype,`miningProfile`,void 0),G([N()],$.prototype,`miningSavedProfiles`,void 0),G([N()],$.prototype,`miningSelectedSavedProfileId`,void 0),G([N()],$.prototype,`miningSaveProfileName`,void 0),G([N()],$.prototype,`miningCapitalDepositDraft`,void 0),G([N()],$.prototype,`miningCapitalWithdrawDraft`,void 0),G([N()],$.prototype,`miningReadiness`,void 0),G([N()],$.prototype,`miningStatus`,void 0),G([N()],$.prototype,`miningMainnetSync`,void 0),G([N()],$.prototype,`miningMainnetSyncBusy`,void 0),G([N()],$.prototype,`miningHistoryLoading`,void 0),G([N()],$.prototype,`miningHistoryError`,void 0),G([N()],$.prototype,`miningHistory`,void 0),G([N()],$.prototype,`miningRecovery`,void 0),G([N()],$.prototype,`miningRecoveryDisputeAuthority`,void 0),G([N()],$.prototype,`miningRecoveryTargetAuthority`,void 0),G([N()],$.prototype,`miningRecoveryEpochId`,void 0),G([N()],$.prototype,`miningRecoveryMicroRoundId`,void 0),G([N()],$.prototype,`miningRecoveryStatusFlag`,void 0),G([N()],$.prototype,`miningRecoveryBoardRoot`,void 0),G([N()],$.prototype,`miningRecoveryScoreRoot`,void 0),G([N()],$.prototype,`miningRecoveryCoordinationRoot`,void 0),G([N()],$.prototype,`miningRecoveryDraftRestored`,void 0),G([N()],$.prototype,`miningRecoveryDraftUpdatedAt`,void 0),G([N()],$.prototype,`miningRecoveryDraftSavedHint`,void 0),G([N()],$.prototype,`miningLastNotifiedAction`,void 0),G([N()],$.prototype,`miningNotifications`,void 0),G([N()],$.prototype,`notifications`,void 0),G([N()],$.prototype,`miningConfirmClearHistory`,void 0),G([N()],$.prototype,`miningRecentActionsPage`,void 0),G([N()],$.prototype,`miningHistoryModalOpen`,void 0),G([N()],$.prototype,`miningActivityFilter`,void 0),G([N()],$.prototype,`miningActivityWindow`,void 0),G([N()],$.prototype,`miningPlannerWindow`,void 0),G([N()],$.prototype,`miningChartMetric`,void 0),G([N()],$.prototype,`miningNowMs`,void 0),G([N()],$.prototype,`walletSettingsLoading`,void 0),G([N()],$.prototype,`walletSettingsBusy`,void 0),G([N()],$.prototype,`walletSettingsError`,void 0),G([N()],$.prototype,`walletSettingsMessage`,void 0),G([N()],$.prototype,`walletSettings`,void 0),G([N()],$.prototype,`walletSettingsValidation`,void 0),G([N()],$.prototype,`walletSkillGrantsLoading`,void 0),G([N()],$.prototype,`walletSkillGrantsError`,void 0),G([N()],$.prototype,`walletSkillGrantsMessage`,void 0),G([N()],$.prototype,`walletSkillGrantsWorkspace`,void 0),G([N()],$.prototype,`walletSkillGrantRows`,void 0),G([N()],$.prototype,`walletSkillGrantDraft`,void 0),G([N()],$.prototype,`walletSkillGrantBusy`,void 0),G([N()],$.prototype,`walletProvidersLoading`,void 0),G([N()],$.prototype,`walletProviders`,void 0),G([N()],$.prototype,`walletNamedWallets`,void 0),G([N()],$.prototype,`walletAssignments`,void 0),G([N()],$.prototype,`walletDefaultWalletId`,void 0),G([N()],$.prototype,`walletProviderSelection`,void 0),G([N()],$.prototype,`walletProviderTab`,void 0),G([N()],$.prototype,`walletMainPanel`,void 0),G([N()],$.prototype,`walletDetailsWalletId`,void 0),G([N()],$.prototype,`walletBalanceWalletId`,void 0),G([N()],$.prototype,`walletExpandedPanelWalletId`,void 0),G([N()],$.prototype,`walletExpandedPanel`,void 0),G([N()],$.prototype,`walletPolicyPanel`,void 0),G([N()],$.prototype,`walletCreateName`,void 0),G([N()],$.prototype,`walletCreateId`,void 0),G([N()],$.prototype,`walletCreateProvider`,void 0),G([N()],$.prototype,`walletAssignAgentId`,void 0),G([N()],$.prototype,`walletAssignWalletId`,void 0),G([N()],$.prototype,`walletRpcChain`,void 0),G([N()],$.prototype,`walletPolicyCapsEnabled`,void 0),G([N()],$.prototype,`walletPolicyAutoEnabled`,void 0),G([N()],$.prototype,`walletPolicySkillsEnabled`,void 0),G([N()],$.prototype,`walletPolicySolMaxPerTx`,void 0),G([N()],$.prototype,`walletPolicySolMaxDaily`,void 0),G([N()],$.prototype,`walletPolicySolanaAllowPrograms`,void 0),G([N()],$.prototype,`walletPolicySolanaTokenCaps`,void 0),G([N()],$.prototype,`walletPolicyTokenCapMint`,void 0),G([N()],$.prototype,`walletPolicyTokenCapDecimals`,void 0),G([N()],$.prototype,`walletPolicyTokenCapMaxPerTx`,void 0),G([N()],$.prototype,`walletPolicyTokenCapMaxDaily`,void 0),G([N()],$.prototype,`walletPolicyTokenSearchQuery`,void 0),G([N()],$.prototype,`walletPolicyTokenSearchLoading`,void 0),G([N()],$.prototype,`walletPolicyTokenSearchError`,void 0),G([N()],$.prototype,`walletPolicyTokenSearchResults`,void 0),G([N()],$.prototype,`walletRecurringTransferEnabled`,void 0),G([N()],$.prototype,`walletRecurringTransferDestination`,void 0),G([N()],$.prototype,`walletRecurringTransferMint`,void 0),G([N()],$.prototype,`walletRecurringTransferAmountMode`,void 0),G([N()],$.prototype,`walletRecurringTransferAmount`,void 0),G([N()],$.prototype,`walletRecurringTransferPercentage`,void 0),G([N()],$.prototype,`walletRecurringTransferMinAmount`,void 0),G([N()],$.prototype,`walletRecurringTransferKeepAmount`,void 0),G([N()],$.prototype,`walletRecurringTransferDecimals`,void 0),G([N()],$.prototype,`walletRecurringTransferCron`,void 0),G([N()],$.prototype,`walletRecurringTransferTz`,void 0),G([N()],$.prototype,`walletRecurringTransferName`,void 0),G([N()],$.prototype,`walletSecuritySetupWalletId`,void 0),G([N()],$.prototype,`walletSecuritySetupRole`,void 0),G([N()],$.prototype,`walletRpcProvider`,void 0),G([N()],$.prototype,`walletRpcApiKey`,void 0),G([N()],$.prototype,`walletRpcUrl`,void 0),G([N()],$.prototype,`walletProviderApiKey`,void 0),G([N()],$.prototype,`walletProviderServerSignerAccessKey`,void 0),G([N()],$.prototype,`walletProviderServerSignerAccountId`,void 0),G([N()],$.prototype,`walletProviderWalletApiBaseUrl`,void 0),G([N()],$.prototype,`walletProviderSignerApiBaseUrl`,void 0),G([N()],$.prototype,`walletProviderDefaultSolanaAddress`,void 0),G([N()],$.prototype,`walletProviderCredentialsJson`,void 0),G([N()],$.prototype,`walletActionBusy`,void 0),G([N()],$.prototype,`walletActionMessage`,void 0),G([N()],$.prototype,`walletApprovalsLoading`,void 0),G([N()],$.prototype,`walletApprovalsBusyId`,void 0),G([N()],$.prototype,`walletApprovalsError`,void 0),G([N()],$.prototype,`walletApprovalsFilter`,void 0),G([N()],$.prototype,`walletApprovals`,void 0),G([N()],$.prototype,`walletAuditLoading`,void 0),G([N()],$.prototype,`walletAuditError`,void 0),G([N()],$.prototype,`walletAuditEntries`,void 0),G([N()],$.prototype,`walletActivityPage`,void 0),G([N()],$.prototype,`walletResetConfirmText`,void 0),G([N()],$.prototype,`walletSendCreateBusy`,void 0),G([N()],$.prototype,`walletSendCreateError`,void 0),G([N()],$.prototype,`walletSendCreateForm`,void 0),G([N()],$.prototype,`walletPasskeyBusy`,void 0),G([N()],$.prototype,`walletPasskeyError`,void 0),G([N()],$.prototype,`walletPasskeyLabel`,void 0),G([N()],$.prototype,`walletCustodyClientCompatibility`,void 0),G([N()],$.prototype,`walletCustodyClientCompatibilityError`,void 0),G([N()],$.prototype,`walletCustodyDeviceShare`,void 0),G([N()],$.prototype,`walletCustodyRecoveryShare`,void 0),G([N()],$.prototype,`walletCustodyRecoveryInput`,void 0),G([N()],$.prototype,`walletCustodyEnrollLabel`,void 0),G([N()],$.prototype,`walletCustodyEnrolledDeviceShare`,void 0),G([N()],$.prototype,`walletCustodyRememberDeviceShare`,void 0),G([N()],$.prototype,`walletCustodyDeviceShareStored`,void 0),G([N()],$.prototype,`walletCustodyUnlockMinutes`,void 0),G([N()],$.prototype,`skillsLoading`,void 0),G([N()],$.prototype,`skillsReport`,void 0),G([N()],$.prototype,`skillsError`,void 0),G([N()],$.prototype,`skillsFilter`,void 0),G([N()],$.prototype,`skillsStatusFilter`,void 0),G([N()],$.prototype,`skillsLibraryPanel`,void 0),G([N()],$.prototype,`skillEdits`,void 0),G([N()],$.prototype,`skillsBusyKey`,void 0),G([N()],$.prototype,`skillMessages`,void 0),G([N()],$.prototype,`skillEnvEdits`,void 0),G([N()],$.prototype,`skillConfigEdits`,void 0),G([N()],$.prototype,`skillCreateOpen`,void 0),G([N()],$.prototype,`skillCreateName`,void 0),G([N()],$.prototype,`skillCreateDescription`,void 0),G([N()],$.prototype,`skillCreateAgentId`,void 0),G([N()],$.prototype,`skillCreateTemplate`,void 0),G([N()],$.prototype,`skillCreateBusy`,void 0),G([N()],$.prototype,`skillCreateError`,void 0),G([N()],$.prototype,`skillEditor`,void 0),G([N()],$.prototype,`skillEditorDraft`,void 0),G([N()],$.prototype,`skillEditorLoading`,void 0),G([N()],$.prototype,`skillEditorSaving`,void 0),G([N()],$.prototype,`skillEditorError`,void 0),G([N()],$.prototype,`skillsDetailKey`,void 0),G([N()],$.prototype,`skillsAttachAgentId`,void 0),G([N()],$.prototype,`clawhubSearchQuery`,void 0),G([N()],$.prototype,`clawhubSearchResults`,void 0),G([N()],$.prototype,`clawhubSearchLoading`,void 0),G([N()],$.prototype,`clawhubSearchError`,void 0),G([N()],$.prototype,`clawhubDetail`,void 0),G([N()],$.prototype,`clawhubDetailSlug`,void 0),G([N()],$.prototype,`clawhubDetailLoading`,void 0),G([N()],$.prototype,`clawhubDetailError`,void 0),G([N()],$.prototype,`clawhubInstallSlug`,void 0),G([N()],$.prototype,`clawhubInstallMessage`,void 0),G([N()],$.prototype,`clawhubReview`,void 0),G([N()],$.prototype,`clawhubReviewLoading`,void 0),G([N()],$.prototype,`clawhubReviewError`,void 0),G([N()],$.prototype,`clawhubInstallTarget`,void 0),G([N()],$.prototype,`pluginsMarketplaceLoading`,void 0),G([N()],$.prototype,`pluginsMarketplaceDetailLoading`,void 0),G([N()],$.prototype,`pluginsMarketplaceError`,void 0),G([N()],$.prototype,`pluginsMarketplaceList`,void 0),G([N()],$.prototype,`pluginsMarketplaceSelectedId`,void 0),G([N()],$.prototype,`pluginsMarketplaceDetail`,void 0),G([N()],$.prototype,`pluginsMarketplaceActionBusy`,void 0),G([N()],$.prototype,`pluginsMarketplaceMessage`,void 0),G([N()],$.prototype,`pluginsMarketplaceRemediation`,void 0),G([N()],$.prototype,`extensionsHooksLoading`,void 0),G([N()],$.prototype,`extensionsHooksError`,void 0),G([N()],$.prototype,`extensionsHooksStatus`,void 0),G([N()],$.prototype,`extensionsHooksBusyKey`,void 0),G([N()],$.prototype,`extensionsHooksMessage`,void 0),G([N()],$.prototype,`memoryLoading`,void 0),G([N()],$.prototype,`memoryError`,void 0),G([N()],$.prototype,`memoryInventory`,void 0),G([N()],$.prototype,`memoryValidation`,void 0),G([N()],$.prototype,`memoryWiki`,void 0),G([N()],$.prototype,`memoryWikiRebuilding`,void 0),G([N()],$.prototype,`memoryWikiError`,void 0),G([N()],$.prototype,`dreamingStatusLoading`,void 0),G([N()],$.prototype,`dreamingStatusError`,void 0),G([N()],$.prototype,`dreamingStatus`,void 0),G([N()],$.prototype,`dreamingModeSaving`,void 0),G([N()],$.prototype,`dreamDiaryLoading`,void 0),G([N()],$.prototype,`dreamDiaryError`,void 0),G([N()],$.prototype,`dreamDiaryPath`,void 0),G([N()],$.prototype,`dreamDiaryContent`,void 0),G([N()],$.prototype,`debugLoading`,void 0),G([N()],$.prototype,`debugStatus`,void 0),G([N()],$.prototype,`debugHealth`,void 0),G([N()],$.prototype,`debugModels`,void 0),G([N()],$.prototype,`debugModelCatalogStatus`,void 0),G([N()],$.prototype,`debugCommandsCatalog`,void 0),G([N()],$.prototype,`debugUpdateStatus`,void 0),G([N()],$.prototype,`debugPluginsMarketplace`,void 0),G([N()],$.prototype,`debugDiagnosticsStability`,void 0),G([N()],$.prototype,`debugMemoryInventory`,void 0),G([N()],$.prototype,`debugMemoryValidation`,void 0),G([N()],$.prototype,`debugMemoryRepairPreview`,void 0),G([N()],$.prototype,`debugHeartbeat`,void 0),G([N()],$.prototype,`debugCallMethod`,void 0),G([N()],$.prototype,`debugCallParams`,void 0),G([N()],$.prototype,`debugCallResult`,void 0),G([N()],$.prototype,`debugCallError`,void 0),G([N()],$.prototype,`debugAdminRpcBusy`,void 0),G([N()],$.prototype,`debugAdminRpcResult`,void 0),G([N()],$.prototype,`debugAdminRpcError`,void 0),G([N()],$.prototype,`debugAdminChatSessionKey`,void 0),G([N()],$.prototype,`debugAdminChatMessage`,void 0),G([N()],$.prototype,`debugAdminPushNodeId`,void 0),G([N()],$.prototype,`debugAdminPushTitle`,void 0),G([N()],$.prototype,`debugAdminPushBody`,void 0),G([N()],$.prototype,`debugAdminWebAccountId`,void 0),G([N()],$.prototype,`debugAcpxBridgeConfigBusy`,void 0),G([N()],$.prototype,`debugAcpxBridgeConfigResult`,void 0),G([N()],$.prototype,`debugAcpxBridgeConfigError`,void 0),G([N()],$.prototype,`debugAcpxPushTestBusy`,void 0),G([N()],$.prototype,`debugAcpxPushTestPreview`,void 0),G([N()],$.prototype,`debugAcpxPushTestAuditHistory`,void 0),G([N()],$.prototype,`debugAcpxPushTestResult`,void 0),G([N()],$.prototype,`debugAcpxPushTestError`,void 0),G([N()],$.prototype,`debugSatProtocolMaintenanceBusy`,void 0),G([N()],$.prototype,`debugSatProtocolMaintenanceResult`,void 0),G([N()],$.prototype,`debugSatProtocolMaintenanceError`,void 0),G([N()],$.prototype,`logsLoading`,void 0),G([N()],$.prototype,`logsError`,void 0),G([N()],$.prototype,`logsFile`,void 0),G([N()],$.prototype,`logsEntries`,void 0),G([N()],$.prototype,`logsFilterText`,void 0),G([N()],$.prototype,`logsLevelFilters`,void 0),G([N()],$.prototype,`logsAutoFollow`,void 0),G([N()],$.prototype,`logsTruncated`,void 0),G([N()],$.prototype,`logsCursor`,void 0),G([N()],$.prototype,`logsLastFetchAt`,void 0),G([N()],$.prototype,`logsLimit`,void 0),G([N()],$.prototype,`logsMaxBytes`,void 0),G([N()],$.prototype,`logsAtBottom`,void 0),G([N()],$.prototype,`chatNewMessagesBelow`,void 0),$=G([nt(`fased-app`)],$);
|
|
25432
|
-
//# sourceMappingURL=app-
|
|
25432
|
+
//# sourceMappingURL=app-wJm5kuje.js.map
|