@maudecode/talaria-web 1.20.0 → 1.22.0
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/_release.json +8 -8
- package/dist/api/automation-router.d.ts +319 -14
- package/dist/api/automation-router.js +21 -1
- package/dist/api/automation-router.js.map +1 -1
- package/dist/api/chat-router.d.ts +615 -69
- package/dist/api/chat-router.js +22 -170
- package/dist/api/chat-router.js.map +1 -1
- package/dist/api/git-router.d.ts +50 -0
- package/dist/api/git-router.js +17 -4
- package/dist/api/git-router.js.map +1 -1
- package/dist/api/groups-router.d.ts +764 -0
- package/dist/api/groups-router.js +79 -0
- package/dist/api/groups-router.js.map +1 -0
- package/dist/api/raw-routes.js +3 -1
- package/dist/api/raw-routes.js.map +1 -1
- package/dist/api/router.d.ts +1 -1
- package/dist/api/sessions-router.d.ts +1675 -167
- package/dist/api/sessions-router.js +67 -53
- package/dist/api/sessions-router.js.map +1 -1
- package/dist/api/settings-router.d.ts +911 -1
- package/dist/api/settings-router.js +53 -2
- package/dist/api/settings-router.js.map +1 -1
- package/dist/api/sse-routes.d.ts +1 -1
- package/dist/api/sse-routes.js +15 -5
- package/dist/api/sse-routes.js.map +1 -1
- package/dist/api/tools-raw.js +27 -136
- package/dist/api/tools-raw.js.map +1 -1
- package/dist/api/tools-router.d.ts +588 -51
- package/dist/api/tools-router.js +98 -16
- package/dist/api/tools-router.js.map +1 -1
- package/dist/app.js +5 -1
- package/dist/app.js.map +1 -1
- package/dist/auth/gate.js +5 -1
- package/dist/auth/gate.js.map +1 -1
- package/dist/config/agent-config.d.ts +6 -1
- package/dist/config/agent-config.js +75 -3
- package/dist/config/agent-config.js.map +1 -1
- package/dist/feedback.d.ts +18 -0
- package/dist/feedback.js +145 -0
- package/dist/feedback.js.map +1 -0
- package/dist/fs/stat.d.ts +2 -0
- package/dist/fs/stat.js +4 -0
- package/dist/fs/stat.js.map +1 -1
- package/dist/http/context.d.ts +9 -0
- package/dist/http/context.js +0 -6
- package/dist/http/context.js.map +1 -1
- package/dist/http/pinned.js +19 -8
- package/dist/http/pinned.js.map +1 -1
- package/dist/providers/catalog.d.ts +9 -1
- package/dist/providers/catalog.js +86 -6
- package/dist/providers/catalog.js.map +1 -1
- package/dist/redact.d.ts +2 -0
- package/dist/redact.js +26 -5
- package/dist/redact.js.map +1 -1
- package/dist/runtime.js +62 -11
- package/dist/runtime.js.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/sessions/admission.d.ts +21 -0
- package/dist/sessions/admission.js +176 -0
- package/dist/sessions/admission.js.map +1 -0
- package/dist/sessions/anchor.d.ts +5 -2
- package/dist/sessions/anchor.js +14 -13
- package/dist/sessions/anchor.js.map +1 -1
- package/dist/sessions/background-tasks.d.ts +19 -1
- package/dist/sessions/background-tasks.js +36 -6
- package/dist/sessions/background-tasks.js.map +1 -1
- package/dist/sessions/cli-sessions.js +11 -6
- package/dist/sessions/cli-sessions.js.map +1 -1
- package/dist/sessions/compress.d.ts +10 -9
- package/dist/sessions/compress.js +31 -20
- package/dist/sessions/compress.js.map +1 -1
- package/dist/sessions/events.d.ts +3 -0
- package/dist/sessions/events.js +4 -0
- package/dist/sessions/events.js.map +1 -1
- package/dist/sessions/gateway-sessions.d.ts +61 -2
- package/dist/sessions/gateway-sessions.js +223 -35
- package/dist/sessions/gateway-sessions.js.map +1 -1
- package/dist/sessions/gateway-watcher.js +8 -4
- package/dist/sessions/gateway-watcher.js.map +1 -1
- package/dist/sessions/groups.d.ts +60 -0
- package/dist/sessions/groups.js +339 -0
- package/dist/sessions/groups.js.map +1 -0
- package/dist/sessions/list.d.ts +7 -2
- package/dist/sessions/list.js +13 -4
- package/dist/sessions/list.js.map +1 -1
- package/dist/sessions/merge.d.ts +15 -5
- package/dist/sessions/merge.js +49 -15
- package/dist/sessions/merge.js.map +1 -1
- package/dist/sessions/pending.d.ts +1 -1
- package/dist/sessions/pending.js +15 -6
- package/dist/sessions/pending.js.map +1 -1
- package/dist/sessions/prefix-index.d.ts +9 -14
- package/dist/sessions/prefix-index.js +14 -52
- package/dist/sessions/prefix-index.js.map +1 -1
- package/dist/sessions/prompt-queues.d.ts +36 -0
- package/dist/sessions/prompt-queues.js +318 -0
- package/dist/sessions/prompt-queues.js.map +1 -0
- package/dist/sessions/reasoning-display.d.ts +2 -0
- package/dist/sessions/reasoning-display.js +31 -0
- package/dist/sessions/reasoning-display.js.map +1 -0
- package/dist/sessions/relay.d.ts +16 -2
- package/dist/sessions/relay.js +119 -24
- package/dist/sessions/relay.js.map +1 -1
- package/dist/sessions/service.d.ts +33 -3
- package/dist/sessions/service.js +304 -70
- package/dist/sessions/service.js.map +1 -1
- package/dist/sessions/session.d.ts +6 -0
- package/dist/sessions/session.js +14 -0
- package/dist/sessions/session.js.map +1 -1
- package/dist/sessions/shares.d.ts +1 -1
- package/dist/sessions/shares.js +13 -4
- package/dist/sessions/shares.js.map +1 -1
- package/dist/sessions/state-db.d.ts +2 -1
- package/dist/sessions/state-db.js +7 -3
- package/dist/sessions/state-db.js.map +1 -1
- package/dist/sessions/storage/json-documents.js +3 -0
- package/dist/sessions/storage/json-documents.js.map +1 -1
- package/dist/sessions/store.d.ts +2 -0
- package/dist/sessions/store.js +11 -3
- package/dist/sessions/store.js.map +1 -1
- package/dist/sessions/streams.d.ts +4 -0
- package/dist/sessions/streams.js +12 -0
- package/dist/sessions/streams.js.map +1 -1
- package/dist/sessions/todo.js +10 -1
- package/dist/sessions/todo.js.map +1 -1
- package/dist/sessions/tool-display.d.ts +8 -1
- package/dist/sessions/tool-display.js +39 -4
- package/dist/sessions/tool-display.js.map +1 -1
- package/dist/sessions/turn.d.ts +4 -1
- package/dist/sessions/turn.js +53 -22
- package/dist/sessions/turn.js.map +1 -1
- package/dist/settings.js +2 -1
- package/dist/settings.js.map +1 -1
- package/dist/spa.js +1 -1
- package/dist/spa.js.map +1 -1
- package/dist/test/group-fixture.d.ts +66 -0
- package/dist/test/group-fixture.js +89 -0
- package/dist/test/group-fixture.js.map +1 -0
- package/dist/test/harness.d.ts +3 -0
- package/dist/test/harness.js +3 -0
- package/dist/test/harness.js.map +1 -1
- package/dist/tools/connectors.d.ts +9 -1
- package/dist/tools/connectors.js +48 -0
- package/dist/tools/connectors.js.map +1 -1
- package/dist/tools/kanban.d.ts +10 -1
- package/dist/tools/kanban.js +73 -1
- package/dist/tools/kanban.js.map +1 -1
- package/dist/tools/mcp.d.ts +3 -1
- package/dist/tools/mcp.js +73 -0
- package/dist/tools/mcp.js.map +1 -1
- package/dist/tools/memory.d.ts +28 -0
- package/dist/tools/memory.js +120 -14
- package/dist/tools/memory.js.map +1 -1
- package/dist/tools/skills.d.ts +6 -0
- package/dist/tools/skills.js +17 -0
- package/dist/tools/skills.js.map +1 -1
- package/dist/tools/update-notifications.d.ts +12 -10
- package/dist/tools/update-notifications.js +124 -14
- package/dist/tools/update-notifications.js.map +1 -1
- package/dist/tools/updates.d.ts +38 -12
- package/dist/tools/updates.js +180 -44
- package/dist/tools/updates.js.map +1 -1
- package/dist/workspace/fs.d.ts +2 -0
- package/dist/workspace/fs.js +63 -1
- package/dist/workspace/fs.js.map +1 -1
- package/dist/workspace/managed-buffers.d.ts +58 -0
- package/dist/workspace/managed-buffers.js +76 -0
- package/dist/workspace/managed-buffers.js.map +1 -0
- package/dist/workspace/rollback.js +1 -1
- package/dist/workspace/rollback.js.map +1 -1
- package/dist/workspace/upload.d.ts +1 -1
- package/dist/workspace/upload.js +52 -37
- package/dist/workspace/upload.js.map +1 -1
- package/dist/workspace/workspaces.d.ts +5 -1
- package/dist/workspace/workspaces.js +32 -6
- package/dist/workspace/workspaces.js.map +1 -1
- package/package.json +2 -2
- package/sidecar/agent_dependency.json +4 -4
- package/sidecar/agent_importer.json +8 -0
- package/sidecar/agent_support.json +20 -8
- package/sidecar/scripts/agent_importer_contract.py +19 -0
- package/sidecar/scripts/test.sh +3 -1
- package/sidecar/talaria_sidecar/__init__.py +1 -1
- package/sidecar/talaria_sidecar/agent_mutation.py +87 -9
- package/sidecar/talaria_sidecar/agent_services.py +83 -23
- package/sidecar/talaria_sidecar/home.py +12 -5
- package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
- package/sidecar/talaria_sidecar/methods/agent_imports.py +346 -0
- package/sidecar/talaria_sidecar/methods/chat.py +141 -58
- package/sidecar/talaria_sidecar/methods/commands.py +6 -4
- package/sidecar/talaria_sidecar/methods/config.py +8 -3
- package/sidecar/talaria_sidecar/methods/connectors.py +138 -4
- package/sidecar/talaria_sidecar/methods/dashboard_plugins.py +25 -4
- package/sidecar/talaria_sidecar/methods/delegation.py +126 -0
- package/sidecar/talaria_sidecar/methods/gateway.py +5 -0
- package/sidecar/talaria_sidecar/methods/gateway_sessions.py +142 -23
- package/sidecar/talaria_sidecar/methods/groups.py +120 -0
- package/sidecar/talaria_sidecar/methods/kanban.py +48 -0
- package/sidecar/talaria_sidecar/methods/managed_buffers.py +110 -0
- package/sidecar/talaria_sidecar/methods/mcp.py +55 -0
- package/sidecar/talaria_sidecar/methods/memory.py +27 -3
- package/sidecar/talaria_sidecar/methods/nous_account.py +130 -0
- package/sidecar/talaria_sidecar/methods/oauth.py +25 -4
- package/sidecar/talaria_sidecar/methods/outbound_drafts.py +147 -0
- package/sidecar/talaria_sidecar/methods/plugin_catalog.py +73 -2
- package/sidecar/talaria_sidecar/methods/providers.py +51 -1
- package/sidecar/talaria_sidecar/methods/skill_revisions.py +177 -0
- package/sidecar/talaria_sidecar/methods/skills.py +10 -0
- package/sidecar/talaria_sidecar/methods/tts.py +67 -0
- package/sidecar/talaria_sidecar/rpc.py +11 -2
- package/static/dist/FILES.txt +155 -144
- package/static/dist/THIRD_PARTY_LICENSES.md +1 -1
- package/static/dist/assets/AppShell-hvysbd9x.js +8 -0
- package/static/dist/assets/Button-dlsibkzq.js +1 -0
- package/static/dist/assets/ChatPage-jikwrwfd.js +2 -0
- package/static/dist/assets/Composer-mnke8ss2.js +5 -0
- package/static/dist/assets/ConnectTargets-ejplzo4q.js +1 -0
- package/static/dist/assets/Dialog-rksfyyq5.js +1 -0
- package/static/dist/assets/{ExtensionRoute-zrhjn0wm.js → ExtensionRoute-igk5h0rj.js} +1 -1
- package/static/dist/assets/HubRoute-eooassx4.js +2 -0
- package/static/dist/assets/Markdown-m5pzgvtx.js +2 -0
- package/static/dist/assets/{MarkdownRenderer-fbswsgld.js → MarkdownRenderer-74ysuomr.js} +18 -18
- package/static/dist/assets/OAuthSignIn-i4flsuq2.js +1 -0
- package/static/dist/assets/QueueCard-msz9wd1m.js +1 -0
- package/static/dist/assets/ResourceSwitch-b70zg4xd.js +1 -0
- package/static/dist/assets/RightPanel-f5v61m8j.js +1 -0
- package/static/dist/assets/Select-f3l897pt.js +1 -0
- package/static/dist/assets/SessionListPanel-brnzacw9.js +1 -0
- package/static/dist/assets/SettingsLayout-f4akmrt2.js +1 -0
- package/static/dist/assets/States-msohx3c0.js +1 -0
- package/static/dist/assets/TerminalPanel-bnu5xawo.js +16 -0
- package/static/dist/assets/Toaster-d6col3ch.js +1 -0
- package/static/dist/assets/_app-lrjgufcy.js +1 -0
- package/static/dist/assets/{_app.ext._extensionId-na62087t.js → _app.ext._extensionId-k3xitxr1.js} +1 -1
- package/static/dist/assets/_app.groups-bt4wdwnd.js +1 -0
- package/static/dist/assets/{_app.index-jypgdqoi.js → _app.index-n3otiki0.js} +1 -1
- package/static/dist/assets/{_app.insights-kabejdtm.js → _app.insights-b0mzlh6m.js} +1 -1
- package/static/dist/assets/{_app.kanban-m19kfcmx.js → _app.kanban-d923g7j5.js} +1 -1
- package/static/dist/assets/{_app.logs-iw4m96sz.js → _app.logs-donegue1.js} +1 -1
- package/static/dist/assets/{_app.memory-jq5frwcg.js → _app.memory-hdnled08.js} +1 -1
- package/static/dist/assets/{_app.profiles-kwa3m7rp.js → _app.profiles-fumot3jk.js} +1 -1
- package/static/dist/assets/{_app.session._sessionId-o5lyeipj.js → _app.session._sessionId-crmdl2ux.js} +1 -1
- package/static/dist/assets/{_app.settings-ckl8hdll.js → _app.settings-jui8iesz.js} +1 -1
- package/static/dist/assets/_app.settings._section-do84hsqw.js +3 -0
- package/static/dist/assets/{_app.skills-n016rihd.js → _app.skills-heqcn21m.js} +1 -1
- package/static/dist/assets/_app.tasks-jiudtutt.js +1 -0
- package/static/dist/assets/{_app.todos-btew5v2s.js → _app.todos-bl6kk2zq.js} +1 -1
- package/static/dist/assets/{_app.workspaces-lnfk95ch.js → _app.workspaces-frvh3o7w.js} +1 -1
- package/static/dist/assets/_delete-qnxuo87s.js +1 -0
- package/static/dist/assets/{abnfDiagram-VCTEODGH-dttheegb.js → abnfDiagram-VCTEODGH-dppg3yfx.js} +1 -1
- package/static/dist/assets/{architecture-7GRP2DOG-ic435919.js → architecture-7GRP2DOG-gbajejh3.js} +1 -1
- package/static/dist/assets/{architectureDiagram-5GKGNRK7-8r3glgiq.js → architectureDiagram-5GKGNRK7-bzrxyais.js} +1 -1
- package/static/dist/assets/archive-yhdyz231.js +1 -0
- package/static/dist/assets/autoReadClaim-nlyv8tu9.js +1 -0
- package/static/dist/assets/{blockDiagram-I7D4REHJ-jenyos6c.js → blockDiagram-I7D4REHJ-gmk9koab.js} +1 -1
- package/static/dist/assets/{c4Diagram-7LVT6UL2-nzlx7yc4.js → c4Diagram-7LVT6UL2-bfqiqqcz.js} +1 -1
- package/static/dist/assets/channel-grt3rob4.js +1 -0
- package/static/dist/assets/{chunk-4HAMMTFA-g0cru63b.js → chunk-4HAMMTFA-i9s6h4wv.js} +1 -1
- package/static/dist/assets/{chunk-75Z2AOVW-7rkswkjw.js → chunk-75Z2AOVW-gnt6pnso.js} +1 -1
- package/static/dist/assets/{chunk-DU6HZSFF-fn73jzdo.js → chunk-DU6HZSFF-gq439wot.js} +3 -3
- package/static/dist/assets/{chunk-F27PBJKO-oey8e72m.js → chunk-F27PBJKO-wvx90pbt.js} +1 -1
- package/static/dist/assets/{chunk-GMAD6QVW-l2a32wiy.js → chunk-GMAD6QVW-mc2gu30k.js} +1 -1
- package/static/dist/assets/{chunk-GVQU2GXP-o9dwzh8h.js → chunk-GVQU2GXP-f8fxa2ym.js} +1 -1
- package/static/dist/assets/{chunk-IMKFNOWR-eblwj20b.js → chunk-IMKFNOWR-lnsl31hj.js} +1 -1
- package/static/dist/assets/{chunk-L3NEJ4N5-o2mufspb.js → chunk-L3NEJ4N5-kbfdidwu.js} +1 -1
- package/static/dist/assets/{chunk-OSK3NFVY-ijp9pw29.js → chunk-OSK3NFVY-dvxsduj6.js} +1 -1
- package/static/dist/assets/{chunk-P2QGCYS3-hs9hqwl4.js → chunk-P2QGCYS3-ivo3i1wf.js} +1 -1
- package/static/dist/assets/{chunk-POPQ4Y6H-bp9rsqez.js → chunk-POPQ4Y6H-i0gfu0hx.js} +1 -1
- package/static/dist/assets/{chunk-PWAF6VOD-brkprov6.js → chunk-PWAF6VOD-jb0fdyb0.js} +1 -1
- package/static/dist/assets/{chunk-SHT3W25Y-gmpv0pxz.js → chunk-SHT3W25Y-b7ou2xsp.js} +1 -1
- package/static/dist/assets/{chunk-SVP7TREG-oldm08fu.js → chunk-SVP7TREG-e2v7me5v.js} +1 -1
- package/static/dist/assets/{chunk-TICWLB2K-ooqilfv7.js → chunk-TICWLB2K-e5zlai62.js} +1 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-nnsp49jr.js +1 -0
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-nnsp49jr.js +1 -0
- package/static/dist/assets/completionAudio-c5at041z.js +1 -0
- package/static/dist/assets/{copy-jo006coq.js → copy-jj3oiw13.js} +1 -1
- package/static/dist/assets/{cynefin-OW5HDTMX-d47op7qs.js → cynefin-OW5HDTMX-n5n1ck70.js} +1 -1
- package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-doa7594y.js → cynefinDiagram-5FMLGOSQ-b33npu4f.js} +1 -1
- package/static/dist/assets/{dagre-GXQ25YYZ-os768dp4.js → dagre-GXQ25YYZ-miwvae07.js} +1 -1
- package/static/dist/assets/{diagram-S7CK7UJ4-fyi81nxd.js → diagram-S7CK7UJ4-j8fphsp4.js} +1 -1
- package/static/dist/assets/{diagram-UQ7AKVKN-j3exggaq.js → diagram-UQ7AKVKN-5cixo166.js} +1 -1
- package/static/dist/assets/{diagram-VSXAHHWV-omo1en2l.js → diagram-VSXAHHWV-ii3bf92m.js} +1 -1
- package/static/dist/assets/{diagram-VX7I27RA-oro2cyu0.js → diagram-VX7I27RA-b3cfgx81.js} +1 -1
- package/static/dist/assets/{diagram-Z3DM3KII-byt9vdb7.js → diagram-Z3DM3KII-bey9lqr8.js} +1 -1
- package/static/dist/assets/{dist-etpoyscq.js → dist-cb8um5dh.js} +4 -4
- package/static/dist/assets/{dist-crc46di9.js → dist-kpg5ccm9.js} +1 -1
- package/static/dist/assets/{ebnfDiagram-PWID7BFC-ee3haugh.js → ebnfDiagram-PWID7BFC-2m4wrnqc.js} +1 -1
- package/static/dist/assets/{erDiagram-RLTQ6QDP-d1e93yff.js → erDiagram-RLTQ6QDP-kak5te0n.js} +1 -1
- package/static/dist/assets/{eventmodeling-NTZA5JFV-i1ihb40c.js → eventmodeling-NTZA5JFV-ojcc486t.js} +1 -1
- package/static/dist/assets/flowDiagram-HODETNUW-kxr9sicu.js +1 -0
- package/static/dist/assets/folder-plus-fk6j7tlv.js +1 -0
- package/static/dist/assets/{ganttDiagram-EL5Y4UJY-m7g0jud4.js → ganttDiagram-EL5Y4UJY-k6nfmhrh.js} +1 -1
- package/static/dist/assets/getPseudoElementBounds-mwj3vqni.js +1 -0
- package/static/dist/assets/{gitGraph-4MIJSDKK-hzdj07yy.js → gitGraph-4MIJSDKK-bxq1lbhy.js} +1 -1
- package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-dm9agbna.js → gitGraphDiagram-WWUBYQGX-ehvoankt.js} +1 -1
- package/static/dist/assets/group_discussions-fk5hry4l.js +1 -0
- package/static/dist/assets/{highlighted-body-KPVGNVTW-mmgz2czu.js → highlighted-body-KPVGNVTW-nr4nfdq7.js} +1 -1
- package/static/dist/assets/{host-fr6lni1p.js → host-dhgqiozp.js} +1 -1
- package/static/dist/assets/index-hx7z4wdj.js +13 -0
- package/static/dist/assets/index-o8ebuc5x.css +2 -0
- package/static/dist/assets/{info-A6RAGUB7-lll1dqmm.js → info-A6RAGUB7-dtsj0ybw.js} +1 -1
- package/static/dist/assets/{infoDiagram-27XIBGKW-k7esc639.js → infoDiagram-27XIBGKW-jena90ao.js} +1 -1
- package/static/dist/assets/{ishikawaDiagram-5VMMS53U-lgr6k9wo.js → ishikawaDiagram-5VMMS53U-kia6bn5u.js} +1 -1
- package/static/dist/assets/{journeyDiagram-3NMN7TZE-ndmbxuqk.js → journeyDiagram-3NMN7TZE-ipsa6icb.js} +1 -1
- package/static/dist/assets/{kanban-definition-UXKFOSKX-mjxym0jp.js → kanban-definition-UXKFOSKX-moxx59kp.js} +1 -1
- package/static/dist/assets/katex-ic33v820.js +257 -0
- package/static/dist/assets/katex-qcv7xo0t.css +1 -0
- package/static/dist/assets/{lazyRouteComponent-cwb6l7xh.js → lazyRouteComponent-i74ujrfk.js} +1 -1
- package/static/dist/assets/{line-mtr5k6il.js → line-lgrkg9no.js} +1 -1
- package/static/dist/assets/link-2-fp49mwl2.js +1 -0
- package/static/dist/assets/{link-iadw4ghw.js → link-es18mse1.js} +2 -2
- package/static/dist/assets/{locale-cs-n41hptse.js → locale-cs-brltdkcp.js} +1 -1
- package/static/dist/assets/{locale-de-k7ht47ew.js → locale-de-h6e9oq6v.js} +1 -1
- package/static/dist/assets/{locale-es-ih078lco.js → locale-es-oklmh80f.js} +1 -1
- package/static/dist/assets/{locale-fr-ojabnf41.js → locale-fr-b17ozoi2.js} +1 -1
- package/static/dist/assets/{locale-it-kb96jufy.js → locale-it-whe01eef.js} +1 -1
- package/static/dist/assets/{locale-ja-jpsp3xs1.js → locale-ja-g1s0rtpc.js} +1 -1
- package/static/dist/assets/{locale-pl-dbap4leu.js → locale-pl-d9p3lqcb.js} +1 -1
- package/static/dist/assets/{locale-pt-nci7w72x.js → locale-pt-l75on74f.js} +1 -1
- package/static/dist/assets/{locale-ru-soghe4cs.js → locale-ru-wl3mbsaw.js} +1 -1
- package/static/dist/assets/{locale-tr-ks00mu68.js → locale-tr-cz87itrq.js} +1 -1
- package/static/dist/assets/{locale-vi-ij7twfm6.js → locale-vi-elqj1y4k.js} +1 -1
- package/static/dist/assets/{locale-zh-Hant-feakwr7a.js → locale-zh-Hant-hf8gqm7d.js} +1 -1
- package/static/dist/assets/{locale-zh-ren0vjyv.js → locale-zh-cdckwb0u.js} +1 -1
- package/static/dist/assets/login-o6gfl4gy.js +1 -0
- package/static/dist/assets/mermaid-HWGCJPDP-n2kbzsao.js +1 -0
- package/static/dist/assets/{mermaid-parser.core-k91vdnvi.js → mermaid-parser.core-fflovwf2.js} +3 -3
- package/static/dist/assets/{mindmap-definition-YA3MSWOX-ehztfea4.js → mindmap-definition-YA3MSWOX-ic8l9whi.js} +1 -1
- package/static/dist/assets/onboarding-bxm7gdrr.js +1 -0
- package/static/dist/assets/{packet-AYTQ26CC-ok2xrblz.js → packet-AYTQ26CC-ntci3088.js} +1 -1
- package/static/dist/assets/{pegDiagram-XKGWAZYB-ec3rpj0m.js → pegDiagram-XKGWAZYB-e3btz04w.js} +1 -1
- package/static/dist/assets/{pie-WAS4IAKB-iwkir23u.js → pie-WAS4IAKB-o2dc7l36.js} +1 -1
- package/static/dist/assets/{pieDiagram-E7YTZNPT-fcpqpekh.js → pieDiagram-E7YTZNPT-gro55rrw.js} +1 -1
- package/static/dist/assets/presence-lq6m12ga.js +1 -0
- package/static/dist/assets/prompt_queue_cancelled-cebcuagu.js +1 -0
- package/static/dist/assets/{quadrantDiagram-AXDQQJYC-lqsync43.js → quadrantDiagram-AXDQQJYC-fxulmd7d.js} +1 -1
- package/static/dist/assets/queryKeys-cnvn6pea.js +9 -0
- package/static/dist/assets/{radar-RG4KPBEZ-hje4jbk6.js → radar-RG4KPBEZ-9pcospra.js} +1 -1
- package/static/dist/assets/{railroad-74A4TZTK-gll9n6qi.js → railroad-74A4TZTK-nzdga12j.js} +1 -1
- package/static/dist/assets/{railroad-abnf-HS5TGJTU-o6h6lpn4.js → railroad-abnf-HS5TGJTU-ep3ytel0.js} +1 -1
- package/static/dist/assets/{railroad-ebnf-LZEXJU2U-juaefj6o.js → railroad-ebnf-LZEXJU2U-iw7uc1wy.js} +1 -1
- package/static/dist/assets/{railroad-peg-WCYAUIDC-cgfhvpah.js → railroad-peg-WCYAUIDC-fo3b3gme.js} +1 -1
- package/static/dist/assets/{railroadDiagram-O6MQD6OU-lp3w7awf.js → railroadDiagram-O6MQD6OU-lxpxf8f0.js} +1 -1
- package/static/dist/assets/{refresh-cw-iccm7a4e.js → refresh-cw-d14h79x5.js} +1 -1
- package/static/dist/assets/rename-ccd52yws.js +1 -0
- package/static/dist/assets/{requirementDiagram-BXWQKSXE-ha8eibcf.js → requirementDiagram-BXWQKSXE-lrozucd2.js} +1 -1
- package/static/dist/assets/{sankeyDiagram-P5KCCOFB-oxf31pr9.js → sankeyDiagram-P5KCCOFB-iusxy9mq.js} +1 -1
- package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-jiq8lhyo.js → sequenceDiagram-WJ2MYXX4-o987q8ti.js} +1 -1
- package/static/dist/assets/{share._token-o76ki0ly.js → share._token-bfw7f9m5.js} +1 -1
- package/static/dist/assets/sliders-horizontal-l65hoa3x.js +1 -0
- package/static/dist/assets/{stateDiagram-D77RDMKH-f3fslnon.js → stateDiagram-D77RDMKH-hh23v7y5.js} +1 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-jukr0d8h.js +1 -0
- package/static/dist/assets/{swimlanes-42K2YHIH-k1hmk7jf.js → swimlanes-42K2YHIH-gj2t3rm8.js} +1 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-ik9m9j2m.js +8 -0
- package/static/dist/assets/{timeline-definition-24CTP7MA-n3ncfy9r.js → timeline-definition-24CTP7MA-84s2w2sr.js} +1 -1
- package/static/dist/assets/toast-gqqcvxiy.js +56 -0
- package/static/dist/assets/{treeView-Q6P3EWNA-l3y2pejt.js → treeView-Q6P3EWNA-cmuj50l7.js} +1 -1
- package/static/dist/assets/{treemap-WGGIJYW6-jown9axh.js → treemap-WGGIJYW6-dpjlg0xc.js} +1 -1
- package/static/dist/assets/tts-jw84jlqy.js +1 -0
- package/static/dist/assets/{useForm-o4uu74mx.js → useForm-lxzhiqao.js} +1 -1
- package/static/dist/assets/{useParams-ftsveu84.js → useParams-dt6gkoq7.js} +1 -1
- package/static/dist/assets/{useSearch-crqueqga.js → useSearch-o8t49csk.js} +1 -1
- package/static/dist/assets/useTranscript-gx9umcc2.js +1 -0
- package/static/dist/assets/{vennDiagram-4TSXK5OY-dh59uq1c.js → vennDiagram-4TSXK5OY-g9g5o8vy.js} +1 -1
- package/static/dist/assets/{wardley-WFR3VGLG-e6d74b0j.js → wardley-WFR3VGLG-ij35obrl.js} +1 -1
- package/static/dist/assets/{wardleyDiagram-VM6X3IG4-hnofh78f.js → wardleyDiagram-VM6X3IG4-f9my7q7w.js} +1 -1
- package/static/dist/assets/{xychartDiagram-S5SC5T6Z-bpymjelb.js → xychartDiagram-S5SC5T6Z-olqx1s1p.js} +1 -1
- package/static/dist/index.html +1 -1
- package/static/dist/sw.js +1 -1
- package/static/dist/assets/AppShell-3isgvoro.js +0 -8
- package/static/dist/assets/Button-f4n6dapf.js +0 -1
- package/static/dist/assets/ChatPage-k7b6xfax.js +0 -4
- package/static/dist/assets/ConnectTargets-juqvt5lm.js +0 -1
- package/static/dist/assets/Dialog-hta5utr3.js +0 -1
- package/static/dist/assets/Field-b6ez48oz.js +0 -1
- package/static/dist/assets/HubRoute-iwvso2tz.js +0 -2
- package/static/dist/assets/Markdown-jdeth7zq.js +0 -2
- package/static/dist/assets/OAuthSignIn-bpd8hom3.js +0 -1
- package/static/dist/assets/ResourceSwitch-odi6dy2o.js +0 -1
- package/static/dist/assets/RightPanel-eu6enlo6.js +0 -1
- package/static/dist/assets/Select-kr07928w.js +0 -1
- package/static/dist/assets/SessionListPanel-etb2i54l.js +0 -1
- package/static/dist/assets/SettingsLayout-eu3xxp23.js +0 -1
- package/static/dist/assets/States-icab19yg.js +0 -1
- package/static/dist/assets/TerminalPanel-hngmsr8b.js +0 -16
- package/static/dist/assets/Toaster-nb2uzjw1.js +0 -1
- package/static/dist/assets/_app-ga1moszl.js +0 -1
- package/static/dist/assets/_app.settings._section-dtdjk98a.js +0 -3
- package/static/dist/assets/_app.tasks-n8zuqsqe.js +0 -1
- package/static/dist/assets/archive-il7c6053.js +0 -1
- package/static/dist/assets/cancel-bsnfo36u.js +0 -1
- package/static/dist/assets/channel-dsbtk01y.js +0 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-fvgcv24g.js +0 -1
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-fvgcv24g.js +0 -1
- package/static/dist/assets/flowDiagram-HODETNUW-jahfpiod.js +0 -1
- package/static/dist/assets/folder-plus-ivoglq98.js +0 -1
- package/static/dist/assets/index-73649w7o.js +0 -10
- package/static/dist/assets/index-lhf1fsdf.css +0 -2
- package/static/dist/assets/katex-cbdd1ohw.css +0 -1
- package/static/dist/assets/katex-pbij2oo6.js +0 -257
- package/static/dist/assets/login-lkhtzfcl.js +0 -1
- package/static/dist/assets/mermaid-HWGCJPDP-jx0q5dm2.js +0 -1
- package/static/dist/assets/onboarding-f67z0a2r.js +0 -1
- package/static/dist/assets/queryKeys-ed4n2egc.js +0 -9
- package/static/dist/assets/refresh-i9ya9dvl.js +0 -1
- package/static/dist/assets/sliders-horizontal-ddcs88av.js +0 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-hlt6yphw.js +0 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-hd5t9tnt.js +0 -8
- package/static/dist/assets/toast-liparz2j.js +0 -56
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./registry-g7w3353u.js";var t=import.meta.url,n={_default:()=>`默认`,_import:()=>`导入`,active_conversation_meta:t=>(e(`zh`,t?.count,{}),`${t?.title} · ${t?.count} 条消息`),active_conversation_none:()=>`当前未选择活动会话。`,add:()=>`添加`,add_failed:()=>`添加失败:`,agent_soul:()=>`智能体灵魂`,all_uploads_failed:e=>`${e?.n} 个文件全部上传失败`,approval_btn_always:()=>`始终允许`,approval_btn_always_title:()=>`始终允许此命令模式`,approval_btn_deny:()=>`拒绝`,approval_btn_deny_title:()=>`拒绝 — 不执行此命令`,approval_btn_once:()=>`允许一次`,approval_btn_once_title:()=>`允许执行此命令一次(Enter)`,approval_btn_session:()=>`本次允许`,approval_btn_session_title:()=>`本次会话期间允许`,approval_desc_prefix:()=>`检测到危险命令`,approval_gateway_unsupported:()=>`批准操作需要更新版本的网关。请升级已连接的Hermes网关以实现此功能。`,approval_gateway_unsupported_label:()=>`不支持批准`,approval_heading:()=>`需要审批`,approval_more:()=>`更多选项`,approval_pending_count:e=>e?.n===1||e?.n===`1`?`${e?.n} 个待处理中的第 ${e?.n} 个`:`${e?.n} 个待处理中的第 1 个`,approval_responding:()=>`处理中…`,approval_skip_all:()=>`⚡ 本次会话全部跳过`,approval_skip_all_title:()=>`跳过本次会话的所有审批提示`,archive_extracted:e=>`从 ${e?.c} 个压缩包中解压了 ${e?.n} 个文件`,auth_ack_save_failed:()=>`更新确认状态失败:`,auth_acknowledged_label:()=>`我已查看此风险;显示较低优先级的导航警告。`,auth_disabled:()=>`认证已停用,密码保护已移除`,auth_disabled_warning_message:()=>`此实例无需认证即可访问。`,auth_status_passkey_only:()=>`仅通行密钥`,auth_status_password:()=>`密码认证`,auth_status_unauthenticated:()=>`未认证`,auth_warning_badge:()=>`认证已禁用`,auto_compress_label:()=>`自动压缩`,available_commands:()=>`可用命令:`,available_personalities:()=>`可用人设:`,background_line_agent_completed:e=>`代理“${e?.goal}”已完成`,background_line_agent_failed:e=>`代理“${e?.goal}”失败`,background_line_command_failed:e=>`后台命令 ${e?.command} 失败`,background_line_command_failed_exit:e=>`后台命令 ${e?.command} 失败(退出码 ${e?.code})`,background_line_command_finished:e=>`后台命令 ${e?.command} 已结束`,background_review_failed:()=>`任务或父代理审阅失败。`,background_review_parent:e=>`父代理审阅:${e?.state}`,background_review_reviewed:()=>`父代理已审阅此结果。`,background_review_reviewing:()=>`父代理正在审阅此结果。`,background_review_unknown:()=>`任务或父代理审阅的结果未知。`,background_review_waiting:()=>`等待父代理审阅此结果。`,background_update_details:()=>`显示完整的后台结果`,bg_agents_failed:e=>`${e?.n} 个失败`,bg_agents_progress:e=>`已完成 ${e?.done}/${e?.total}`,bg_card_title:()=>`后台工作`,bg_error_multi:e=>`${e?.count} 个会话出现错误`,bg_error_single:e=>`“${e?.title}”出现错误`,bg_hide_result:()=>`隐藏结果`,bg_kind_background_command:()=>`后台任务`,bg_kind_delegation:()=>`代理`,bg_kind_process:()=>`命令`,bg_result_unavailable:()=>`结果已不可用。`,bg_show_result:()=>`显示结果`,bg_status_attention:()=>`需要关注`,bg_status_cancelled:()=>`已停止`,bg_status_completed:()=>`完成`,bg_status_failed:()=>`失败`,bg_status_running:()=>`运行中`,bg_status_unknown:()=>`状态未知`,bg_usage:()=>`用法:/background <消息>`,branch_failed:()=>`分叉失败:`,branch_forked:()=>`已创建新分叉`,busy_interrupt_confirm:()=>`已中断 — 正在发送新消息`,busy_steer_fallback:()=>`Steer 不可用 — 草稿已恢复`,cancel:()=>`取消`,cancel_failed:()=>`取消失败。`,cancelling:()=>`正在取消...`,checkpoint_date:()=>`日期`,checkpoint_diff_files_changed:t=>(e(`zh`,t?.n,{}),`${t?.n} 个文件已更改`),checkpoint_diff_no_changes:()=>`此检查点与当前工作区之间无差异。`,checkpoint_diff_title:()=>`检查点变更`,checkpoint_empty:()=>`此工作区未找到检查点。`,checkpoint_error:()=>`加载检查点失败`,checkpoint_files:()=>`文件`,checkpoint_kept_user_edits:e=>`已保留你的编辑:${e?.files}`,checkpoint_loading:()=>`加载检查点中…`,checkpoint_message:()=>`消息`,checkpoint_restore:()=>`恢复`,checkpoint_restore_confirm_message:e=>`恢复智能体自检查点“${e?.ckpt}”以来更改的文件?在其最后一次写入后你手动编辑的文件将保持不变。`,checkpoint_restore_confirm_title:()=>`恢复检查点?`,checkpoint_restore_everything:()=>`全部恢复`,checkpoint_restored:()=>`检查点已恢复`,checkpoint_skipped_oversize:e=>`文件过大,无法恢复:${e?.files}`,checkpoint_title:()=>`检查点`,checkpoint_view_diff:()=>`查看差异`,clarify_composer_placeholder:()=>`输入你的回答…`,clarify_composer_placeholder_choices:()=>`选择上方选项,或输入你的回答…`,clarify_heading:()=>`需要澄清`,clarify_hint:()=>`请选择一个选项,或在下方输入你自己的回答。`,clarify_other:()=>`其他`,clarify_progress:e=>`第 ${e?.a0} 题,共 ${e?.a1} 题`,clarify_responding:()=>`处理中…`,clarify_send:()=>`发送`,clear:()=>`清空`,clear_conversation_btn_tooltip:()=>`清空此会话中的所有消息`,clear_conversation_message:()=>`要清空所有消息吗?此操作无法撤销。`,clear_conversation_title:()=>`清空对话`,clear_failed:()=>`清空失败:`,close_menu:()=>`关闭菜单`,cmd_branch:()=>`将此对话分叉到新会话`,cmd_branch_usage:()=>`/branch [名称] — 分叉会话(可选择添加名称)`,cmd_clear:()=>`清空当前对话消息`,cmd_compact_alias:()=>`旧别名:/compress`,cmd_compress:()=>`手动压缩对话上下文(用法:/compress [主题])`,cmd_goal:()=>`设置或查看持久目标`,cmd_help:()=>`查看可用命令`,cmd_interrupt:()=>`取消当前回合并发送新消息`,cmd_interrupt_confirm:()=>`已中断 — 正在发送新消息`,cmd_interrupt_no_msg:()=>`用法:/interrupt <消息>`,cmd_model:()=>`切换模型(例如 /model gpt-4o)`,cmd_new:()=>`新建聊天会话`,cmd_personality:()=>`切换 Agent 人设`,cmd_queue:()=>`将消息加入下一轮的队列`,cmd_queue_confirm:()=>`消息已加入队列`,cmd_queue_no_msg:()=>`用法:/queue <消息>`,cmd_queue_not_busy:()=>`没有活动任务 — 直接发送即可`,cmd_reasoning:()=>`切换思维可见性(显示/隐藏)、设置工作强度或查看当前状态`,cmd_skills:()=>`列出可用的 Hermes 技能`,cmd_steer:()=>`用纠正信息引导代理(回退为中断)`,cmd_steer_fallback:()=>`Steer 不可用 — 草稿已恢复`,cmd_steer_no_msg:()=>`用法:/steer <消息>`,cmd_terminal:()=>`打开工作区 Terminal`,cmd_theme:()=>`切换外观(主题:system/dark/light,皮肤:default/ares/mono/graphite/slate/poseidon/sisyphus/charizard/sienna/catppuccin/nous/geist-contrast/zeus/verdigris)`,cmd_usage:()=>`切换 token 用量显示`,cmd_use:()=>`为下一条消息强制使用技能`,cmd_workspace:()=>`按名称切换工作区`,cmd_yolo:()=>`YOLO 模式切换`,collapse_all:()=>`全部折叠`,command_label:()=>`命令`,composer_clarify:()=>`发送回答`,composer_clarify_next:()=>`下一题`,composer_compression_will_queue:()=>`输入一条消息 — 它会排队并在压缩后发送。`,composer_control_attach:()=>`附加`,composer_control_bg_badge:()=>`背景徽章`,composer_control_context:()=>`上下文`,composer_control_mobile_config:()=>`移动设备配置`,composer_control_model:()=>`模型`,composer_control_profile:()=>`配置`,composer_control_quota_chip:()=>`配额标识`,composer_control_reasoning:()=>`推理`,composer_control_saved_prompts:()=>`已保存的提示词`,composer_control_status:()=>`状态`,composer_control_toolsets:()=>`工具集`,composer_control_voice_mode:()=>`语音模式`,composer_control_workspace:()=>`工作区`,composer_disabled_clarify:()=>`请回复上方的澄清请求`,composer_disabled_compression:()=>`等待压缩完成`,composer_disabled_empty:()=>`请输入消息后发送`,composer_interrupt:()=>`中断并发送`,composer_mobile_context:()=>`上下文`,composer_mobile_model:()=>`模型`,composer_mobile_quota:()=>`配额`,composer_mobile_reasoning:()=>`推理`,composer_mobile_workspace:()=>`工作区`,composer_placeholder_busy_interrupt:()=>`Enter = 中断 | /queue | /background | /steer`,composer_placeholder_busy_queue:()=>`Enter = 队列 | /interrupt | /background | /steer`,composer_placeholder_busy_steer:()=>`Enter = 引导 | /queue | /background | /interrupt`,composer_queue:()=>`消息加入队列`,composer_send:()=>`发送消息`,composer_steer:()=>`引导当前响应`,composer_stop:()=>`停止生成`,compress_complete_label:()=>`压缩完成`,compress_failed_label:()=>`压缩失败`,compress_running_label:()=>`压缩中`,compressing:()=>`正在请求压缩上下文...`,content_required:()=>`内容不能为空`,context_block_flush_aria:()=>`发送时将包含上下文块`,context_block_name_default:()=>`上下文`,context_block_remove:()=>`移除上下文块`,context_block_rename_aria:()=>`重命名上下文块`,context_block_rename_hint:()=>`点击或按 Enter 重命名`,context_compaction_label:()=>`上下文压缩`,conversation_cleared:()=>`对话已清空`,copied:()=>`已复制`,copy:()=>`复制`,copy_failed:()=>`复制失败`,copy_file_path:()=>`复制文件路径`,copy_relative_path:()=>`复制相对路径`,create:()=>`创建`,create_failed:()=>`创建失败:`,create_job:()=>`创建任务`,created:()=>`已创建 `,cron_advanced_label:()=>`高级`,cron_all_runs:()=>`全部运行记录`,cron_attention_copy_diagnostics:()=>`复制诊断信息`,cron_attention_croniter_hint:()=>`Gateway 运行环境可能缺少 croniter 包。请用支持 cron 的环境重启 Gateway,然后恢复这个任务。`,cron_attention_desc:()=>`这个重复定时任务没有下次运行时间。调度器可能没能计算出下一次运行。`,cron_attention_resume:()=>`恢复并重新计算`,cron_attention_run_once:()=>`立即运行一次`,cron_collapse_output:()=>`收起输出`,cron_collapse_prompt:()=>`收起提示词`,cron_completion_status:e=>`定时任务“${e?.name}”${e?.status}`,cron_context_from_empty_hint:()=>`暂时没有其他可串联的计划任务。`,cron_context_from_hint:()=>`每次运行都将这些任务的最新输出作为上下文注入(任务 A 收集,任务 B 处理)。`,cron_context_from_label:()=>`上下文来源任务`,cron_continuity_hint:()=>`每次运行都能看到该任务上一次的输出,从而去重并接着上次的进度继续。`,cron_continuity_label:()=>`连续性`,cron_delete_confirm_message:()=>`此操作无法撤销。`,cron_delete_confirm_title:()=>`删除定时任务`,cron_deliver_custom:()=>`自定义推送目标`,cron_deliver_label:()=>`输出位置`,cron_deliver_local:()=>`本地(仅保存输出)`,cron_diagnostics_copied:()=>`定时任务诊断信息已复制`,cron_duplicate:()=>`复制`,cron_duplicated:()=>`任务已复制(已暂停)`,cron_expand_output:()=>`展开输出`,cron_expand_prompt:()=>`展开提示词`,cron_hide_runs:()=>`隐藏记录`,cron_job_created:()=>`任务已创建`,cron_job_deleted:()=>`任务已删除`,cron_job_name_placeholder:()=>`任务名称`,cron_job_paused:()=>`任务已暂停`,cron_job_resumed:()=>`任务已恢复`,cron_job_triggered:()=>`任务已触发`,cron_job_updated:()=>`任务已更新`,cron_jobs_project:()=>`定时任务`,cron_last:()=>`上次`,cron_last_output:()=>`最近输出`,cron_mode_agent:()=>`代理`,cron_mode_label:()=>`模式`,cron_mode_script:()=>`脚本`,cron_model_hint:()=>`覆盖此任务的默认模型。`,cron_model_label:()=>`模型覆盖`,cron_model_no_agent_hint:()=>`无智能体任务直接运行已配置的脚本,模型未使用。`,cron_model_use_default:()=>`默认(使用配置/系统默认)`,cron_monitor_hint:()=>`可选的 http(s) 网址或脚本路径,每个周期检查一次。输出相同则跳过本次运行;输出变化则带上差异唤醒代理。`,cron_monitor_label:()=>`监控源`,cron_monitor_no_agent_conflict:()=>`监控不能与纯脚本任务同时使用。`,cron_monitor_no_agent_hint:()=>`纯脚本任务不可用:监控的作用是唤醒或抑制代理。`,cron_monitor_placeholder:()=>`https://example.com/status — 或 — check-feed.sh`,cron_name_label:()=>`名称`,cron_name_placeholder:()=>`可选`,cron_next:()=>`下次`,cron_no_agent_hint:()=>`不使用大模型,直接运行脚本并原样投递其标准输出。需要填写脚本路径。`,cron_no_agent_label:()=>`纯脚本任务`,cron_no_agent_script_required:()=>`纯脚本任务需要脚本路径。`,cron_no_jobs:()=>`未找到定时任务。`,cron_no_runs_yet:()=>`(暂无运行记录)`,cron_pause:()=>`暂停`,cron_profile_label:()=>`配置档`,cron_profile_server_default:()=>`服务器默认`,cron_profile_server_default_hint:()=>`运行时使用 WebUI 服务器默认配置档。没有配置档的现有作业会保留此旧行为。`,cron_prompt_label:()=>`提示词`,cron_prompt_placeholder:()=>`提示词`,cron_prompt_required:()=>`必须填写提示词`,cron_reasoning_effort_default:()=>`默认(遵循配置)`,cron_reasoning_effort_hint:()=>`将该任务固定到某一推理级别,运行时优先于全局设置和按模型的设置。`,cron_reasoning_effort_label:()=>`推理强度`,cron_reasoning_effort_no_agent_hint:()=>`纯脚本任务中不生效:没有需要配置的大模型调用。`,cron_repeat_hint:()=>`任务停止前运行的次数。留空则保持默认:一次性任务运行一次,周期任务一直运行。仅在创建时设置。`,cron_repeat_invalid:()=>`重复次数必须是不小于 1 的整数。`,cron_repeat_label:()=>`重复次数`,cron_repeat_placeholder:()=>`留空表示使用默认值`,cron_resume:()=>`恢复`,cron_run_now:()=>`立即运行`,cron_schedule_conj_at:()=>`在`,cron_schedule_conj_at_minute:()=>`指定分钟数`,cron_schedule_conj_on:()=>`在`,cron_schedule_conj_on_day:()=>`指定天数`,cron_schedule_hint:()=>`循环任务请用 'every 1h' 或 Cron 表达式。像 '30m' 这样的裸时长只会运行一次。`,cron_schedule_hour_label:()=>`小时`,cron_schedule_label:()=>`计划`,cron_schedule_minute_label:()=>`分钟`,cron_schedule_month_day_label:()=>`日期`,cron_schedule_once_warning:()=>`像 '30m' 这样的时长写法只会运行一次,并在运行后移除。要保留循环任务,请使用 'every 30m'。`,cron_schedule_placeholder:()=>`调度表达式`,cron_schedule_preset_custom:()=>`自定义`,cron_schedule_preset_daily:()=>`每天`,cron_schedule_preset_hourly:()=>`每小时`,cron_schedule_preset_label:()=>`预设`,cron_schedule_preset_monthly:()=>`每月`,cron_schedule_preset_weekdays:()=>`工作日`,cron_schedule_preset_weekly:()=>`每周`,cron_schedule_required:()=>`必须填写调度`,cron_schedule_required_example:()=>`必须填写调度(例如 "0 9 * * *" 或 "every 1h")`,cron_schedule_time_hint:()=>`时间以服务器时间为准;cron 在服务器端运行。`,cron_schedule_time_label:()=>`时间`,cron_schedule_weekday_label:()=>`星期 (0-6,周日-周六)`,cron_script_badge_title:()=>`脚本任务(无代理)`,cron_script_card_title:()=>`脚本`,cron_script_context_hint:()=>`可选。每个周期运行一次,其标准输出会作为上下文注入提示词。相对路径在 ~/.hermes/scripts/ 下解析。`,cron_script_job_banner:()=>`按计划运行脚本,stdout 会投递到目标。不使用代理、提示词或技能。`,cron_script_output:()=>`脚本输出`,cron_script_path_hint:()=>`除非是绝对路径,否则在 ~/.hermes/scripts/ 下解析。请在服务器上编辑脚本文件以更改行为。`,cron_script_path_label:()=>`脚本路径`,cron_skills_edit_hint:()=>`创建后无法再编辑技能列表。`,cron_skills_label:()=>`技能`,cron_skills_placeholder:()=>`添加技能(可选)…`,cron_status_active:()=>`已启用`,cron_status_error:()=>`错误`,cron_status_needs_attention:()=>`需要处理`,cron_status_off:()=>`关闭`,cron_status_paused:()=>`暂停`,cron_status_running:()=>`执行中…`,cron_toast_notifications_disabled:()=>`已禁用`,cron_toast_notifications_enabled:()=>`已启用`,cron_toast_notifications_hint:()=>`此 Cron 完成时显示 toast。关闭后,任务徽标和新运行标记仍会更新。`,cron_toast_notifications_label:()=>`完成提示`,cron_view_full_output:()=>`查看完整输出`,cron_weekday_fri:()=>`星期五`,cron_weekday_mon:()=>`星期一`,cron_weekday_sat:()=>`星期六`,cron_weekday_sun:()=>`星期日`,cron_weekday_thu:()=>`星期四`,cron_weekday_tue:()=>`星期二`,cron_weekday_wed:()=>`星期三`,cron_workdir_label:()=>`工作目录`,csv_error:()=>`加载 CSV 文件失败`,csv_header_note:()=>`第一行显示为表格标题`,csv_loading:()=>`加载 CSV`,csv_no_data:()=>`CSV 文件数据不足,无法渲染为表格`,csv_too_large:()=>`CSV 文件过大,无法内联渲染`,ctx_compress_action:()=>`⚠ 立即压缩以释放上下文`,ctx_compress_hint:()=>`压缩上下文以释放空间 →`,current_password_incorrect:()=>`当前密码不正确。`,current_password_label:()=>`当前密码`,current_password_placeholder:()=>`输入当前密码…`,current_password_required:()=>`更改或禁用认证需要当前密码。`,current_task_list:()=>`当前任务列表`,dashboard_loopback_warning:()=>`仪表盘在服务器上仅限 loopback 访问。请从服务器本机浏览,或使用 --host 0.0.0.0 重启(不安全)。`,delete_confirm:e=>`要删除 ${e?.name} 吗?`,delete_dir_confirm:e=>`删除文件夹 "${e?.name}" 及其所有内容?`,delete_failed:()=>`删除失败:`,delete_title:()=>`删除`,deleted:()=>`已删除 `,dialog_confirm_btn:()=>`确认`,dialog_confirm_title:()=>`确认操作`,dialog_prompt_title:()=>`输入内容`,dictation_append_desc:()=>`启用时,听写文本会追加到输入框已有内容之后(必要时插入空格)。关闭时,听写文本会替换输入框内容。`,dictation_append_label:()=>`将听写追加到输入框`,diff_error:()=>`无法加载 patch 文件`,diff_loading:()=>`加载 diff`,diff_too_large:()=>`Patch 文件过大,无法内联显示`,disable:()=>`停用`,disable_auth:()=>`停用认证`,disable_auth_confirm_message:()=>`任何人都可以访问此实例。`,disable_auth_confirm_title:()=>`停用密码保护`,disable_auth_failed:()=>`停用认证失败:`,disable_auth_typed_confirm:()=>`输入 DISABLE AUTH 以确认`,discard:()=>`放弃`,discard_file_edits_message:()=>`切换工作区将丢弃预览区未保存的文件修改。`,discard_file_edits_title:()=>`放弃文件编辑?`,dismiss:()=>`忽略`,done:()=>`完成`,double_click_rename:()=>`双击重命名`,download_folder:()=>`下载文件夹`,download_transcript:()=>`下载为 Markdown`,downloading:e=>`正在下载 ${e?.name}...`,edit:()=>`编辑`,edit_failed:()=>`编辑失败:`,edit_message:()=>`编辑消息`,edit_title:()=>`编辑此文件`,editing:()=>`编辑中`,empty_dir:()=>`(空)`,empty_hero_title:()=>`我们来做点什么?`,empty_hero_title_workspace:e=>`在 ${e?.a0} 中我们来做点什么?`,error_prefix:()=>`错误:`,excalidraw_download:()=>`下载`,excalidraw_empty:()=>`空图表`,excalidraw_error:()=>`加载 Excalidraw 文件失败`,excalidraw_invalid:()=>`无效的 Excalidraw 文件格式`,excalidraw_label:()=>`图表`,excalidraw_loading:()=>`加载图表`,excalidraw_render_error:()=>`渲染图表失败`,excalidraw_simplified:()=>`简化 SVG 预览 — 与 Excalidraw 画布不完全相同`,excalidraw_too_large:()=>`Excalidraw 文件过大,无法内联渲染`,expand_all:()=>`全部展开`,export_session_html_tooltip:()=>`导出为独立的 HTML 网页(双击即可在浏览器打开)`,export_session_json_tooltip:()=>`将会话完整导出为 JSON`,ext_configure:()=>`配置`,ext_configure_failed:()=>`扩展配置失败。`,ext_configure_opening:()=>`正在打开…`,ext_gallery_after_install:()=>`安装后`,ext_gallery_author:()=>`作者`,ext_gallery_capabilities:()=>`能力`,ext_gallery_install:()=>`安装`,ext_gallery_install_followup:()=>`扩展已安装。请查看卡片中的后续步骤。`,ext_gallery_install_ok:()=>`扩展安装成功。`,ext_gallery_install_restart_required:()=>`扩展已安装。需要重启后生效。`,ext_gallery_installed:()=>`已安装`,ext_gallery_installing:()=>`安装中…`,ext_gallery_local_app_label:()=>`本地应用`,ext_gallery_local_component_required:()=>`此扩展包含本地组件。安装后请启动所需的本地应用或 sidecar。`,ext_gallery_native_host_required:()=>`需要原生主机`,ext_gallery_next_step:()=>`下一步`,ext_gallery_open_setup_guide:()=>`打开设置指南`,ext_gallery_permissions_empty:()=>`未声明额外权限。`,ext_gallery_permissions_hide:()=>`隐藏权限`,ext_gallery_permissions_show:()=>`权限`,ext_gallery_required_suffix:e=>`需要 ${e?.a0}`,ext_gallery_restart_required:()=>`需要重启`,ext_gallery_sidecar_required:()=>`需要 sidecar`,ext_gallery_uninstall:()=>`卸载`,ext_gallery_uninstall_ok:()=>`扩展已卸载。`,ext_gallery_uninstalling:()=>`卸载中…`,ext_gallery_version:()=>`版本`,external_link_grant_expired:()=>`此外部视图已过期。重新打开转义目标符号链接以再次授权。`,external_link_open_confirm:()=>`此符号链接指向工作区外部。是否在本次浏览器会话的只读外部视图中打开它?`,external_link_read_only:()=>`此外部视图为只读。此处创建、重命名、移动、删除、上传、显示及编辑操作均处于禁用状态。`,external_notes_auto_recall_hint:()=>`自动会话召回保持不变;这个抽屉只显示已配置的来源和可用的读取/搜索工具。`,external_notes_configured_hint:()=>`此已配置来源应提供工具名称;当 WebUI 运行时暴露实时 schema 后会显示在这里。`,external_notes_empty:()=>`还没有可见的笔记或知识 MCP 来源。配置 Joplin、Obsidian、Notion、llm-wiki 或其他笔记服务器后会显示在这里。`,external_notes_no_tools:()=>`此来源当前没有可见的读取/搜索工具。`,external_notes_recent_ai:()=>`AI 最近使用`,external_notes_recent_ai_reason:()=>`自动召回`,external_notes_search_empty:()=>`搜索已配置的笔记来源后,可在这里预览笔记。`,external_notes_search_placeholder:()=>`搜索笔记…`,external_notes_sources:()=>`第三方笔记`,external_notes_tool_count:t=>(e(`zh`,t?.count,{}),`${t?.count} 个笔记工具可用`),failed_colon:()=>`失败:`,file_open_failed:()=>`无法打开文件`,filter_conversations:()=>`筛选对话…`,first_token_time:()=>`首个令牌生成时间`,focus_label:()=>`主题`,folder_add_as_space_btn:()=>`添加为工作区`,folder_add_as_space_msg:()=>`是否将此文件夹添加为新的工作区?`,folder_add_as_space_title:()=>`添加为工作区?`,folder_create_failed:()=>`创建文件夹失败:`,folder_created:()=>`已创建文件夹 `,font_size_default:()=>`默认`,font_size_large:()=>`大`,font_size_small:()=>`小`,font_size_xlarge:()=>`超大`,fork_from_here:()=>`从此处分叉`,forked_from:()=>`分叉自`,gateway_auth_label:()=>`Gateway 身份验证失败`,gateway_endpoint_unreachable:()=>`网关端点无法访问`,gateway_last_active:()=>`最后活跃时间:`,gateway_load_failed:()=>`无法加载网关状态`,gateway_metadata_stale:()=>`网关元数据已过时`,gateway_not_configured:()=>`网关未配置`,gateway_not_running:()=>`网关未运行`,gateway_restart:()=>`重启`,gateway_restart_failed:()=>`网关重启失败`,gateway_restart_success:()=>`网关重启完成。`,gateway_running:()=>`运行中`,gateway_running_label:()=>`运行中`,gateway_session:()=>`会话`,gateway_session_count:t=>(e(`zh`,t?.n,{}),`${t?.n} 个会话`),gateway_sessions:()=>`会话`,gateway_start:()=>`启动`,gateway_start_failed:()=>`网关启动失败`,gateway_start_success:()=>`网关启动完成。`,gateway_status_load_failed:()=>`加载网关状态失败`,gateway_stop:()=>`停止`,gateway_stop_failed:()=>`网关停止失败`,gateway_stop_success:()=>`网关停止完成。`,goal_achieved:e=>`✓ 目标已达成: ${e?.reason}`,goal_cleared:()=>`目标已清除。`,goal_continuing:e=>`↻ 继续完成目标 (${e?.turns}/${e?.max_turns}): ${e?.reason}`,goal_continuing_toast:()=>`继续朝着目标前进…`,goal_evaluating_progress:()=>`正在评估目标进展情况…`,goal_no_goal:()=>`无激活目标。`,goal_paused:e=>`⏸ 目标暂停: ${e?.goal}`,goal_paused_budget_exhausted:e=>`⏸ 目标已暂停 — ${e?.turns}/${e?.max_turns} 回合已使用。使用 /goal resume 以继续, 或者 /goal clear 以停止。`,goal_resumed:e=>`▶ 目标恢复: ${e?.goal}`,goal_set:e=>`⊙ 目标设置 (${e?.turns}-回合预算): ${e?.goal}`,goal_status_active:e=>`⊙ 目标 (进行中, ${e?.turns}/${e?.max_turns} 回合): ${e?.goal}`,goal_status_done:e=>`✓ 目标完成 (${e?.turns}/${e?.max_turns}): ${e?.goal}`,goal_status_none:()=>`无当前活动目标。请使用 /goal <文本> 设置一个目标。`,goal_status_paused:e=>`⏸ 目标 (已暂停, ${e?.turns}/${e?.max_turns}${e?.reason_suffix}): ${e?.goal}`,goal_working_toward:()=>`正朝着目标努力推进…`,html_error:()=>`HTML 预览加载失败`,html_loading:()=>`正在加载 HTML 预览…`,html_open_full:()=>`打开完整页面`,html_sandbox_label:()=>`HTML 预览`,html_too_large:()=>`HTML 文件过大,无法内联预览`,image_load_failed:()=>`图片加载失败`,image_pasted:()=>`已粘贴图片:`,import_failed:()=>`导入失败:`,import_invalid_json:()=>`JSON 无效`,import_session_json_tooltip:()=>`从 JSON 导入会话`,insights_activity_by_day:()=>`按日活动`,insights_activity_by_hour:()=>`按时活动`,insights_cache_hit:()=>`提示缓存命中率`,insights_cost:()=>`预估费用`,insights_daily_tokens:()=>`每日令牌`,insights_footer:e=>`显示最近 ${e?.days} 天的数据`,insights_input_tokens:()=>`输入`,insights_messages:()=>`消息`,insights_model_cache:()=>`缓存`,insights_model_cost:()=>`费用`,insights_model_health_cost_per_m:()=>`花费 / 1M`,insights_model_health_provider:()=>`供应商`,insights_model_health_replacement:()=>`替换指南`,insights_model_health_title:()=>`模型健康状况比较`,insights_model_name:()=>`模型`,insights_model_sessions:()=>`会话`,insights_model_share:()=>`占比`,insights_model_tokens:()=>`令牌`,insights_models:()=>`模型`,insights_no_usage_data:()=>`暂无使用数据`,insights_output_tokens:()=>`输出`,insights_peak_hour:e=>`高峰:${e?.hour}时`,insights_sessions:()=>`会话`,insights_skill_usage_col_patches:()=>`补丁`,insights_skill_usage_col_share:()=>`使用占比`,insights_skill_usage_col_skill:()=>`技能`,insights_skill_usage_col_uses:()=>`使用次数`,insights_skill_usage_col_views:()=>`查看次数`,insights_skill_usage_footer:()=>`数据来源于 ~/.hermes/skills/`,insights_skill_usage_no_data:()=>`暂无技能使用数据`,insights_skill_usage_no_data_hint:()=>`在对话中使用技能后,数据将在此显示。`,insights_skill_usage_skills_used:()=>`已使用技能`,insights_skill_usage_sub:()=>`工具调用频次`,insights_skill_usage_title:()=>`技能使用统计`,insights_skill_usage_total:()=>`总调用次数`,insights_title:()=>`使用分析`,insights_token_breakdown:()=>`令牌分解`,insights_tokens:()=>`令牌`,insights_total:()=>`总计`,jump_to_question:()=>`回到回答`,jump_to_question_label:()=>`跳转到这条回答的开头`,kanban_add_comment:()=>`添加评论`,kanban_add_dependency:()=>`添加依赖项`,kanban_all_assignees:()=>`所有负责人`,kanban_all_tenants:()=>`所有租户`,kanban_archive_board:()=>`归档当前看板…`,kanban_archive_board_confirm:e=>`归档看板 "${e?.name}"?任务仍保存在磁盘上,并且可以从 kanban/boards/_archived/ 恢复该看板。`,kanban_assignee:()=>`负责人`,kanban_assignee_other_label:()=>`其他 (CLI 通道 / 已删除的配置)`,kanban_assignee_placeholder:()=>`可选 — 留空表示任意工作器`,kanban_assignee_profiles_label:()=>`Hermes 配置`,kanban_assignee_unassigned:()=>`— 未分配 (不会自动运行) —`,kanban_back_to_board:()=>`返回看板`,kanban_block:()=>`阻塞`,kanban_board:()=>`看板`,kanban_board_archived:()=>`看板已归档`,kanban_board_color:()=>`颜色(可选)`,kanban_board_default_workdir:()=>`默认工作区路径`,kanban_board_default_workdir_placeholder:()=>`工作区路径(可选)`,kanban_board_description:()=>`描述(可选)`,kanban_board_icon:()=>`图标(emoji,可选)`,kanban_board_name:()=>`名称`,kanban_board_name_required:()=>`名称为必填`,kanban_board_settings:()=>`看板设置`,kanban_board_slug:()=>`标识(小写,连字符)`,kanban_board_slug_required:()=>`标识为必填`,kanban_bulk_action:()=>`批量操作`,kanban_card_archive:()=>`归档`,kanban_card_complete:()=>`完成`,kanban_children:()=>`子任务`,kanban_clear_filters:()=>`清除筛选条件`,kanban_comments_count:e=>`评论 (${e?.a0})`,kanban_dependency_placeholder:()=>`要链接的任务ID`,kanban_dependency_self:()=>`任务不能依赖自身`,kanban_description:()=>`描述`,kanban_description_placeholder:()=>`可选 — 需要做什么、验收标准、链接`,kanban_dispatch_auto_blocked:()=>`自动阻止`,kanban_dispatch_crashed:()=>`崩溃`,kanban_dispatch_preview_prefix:()=>`预览:`,kanban_dispatch_promoted:()=>`已提升`,kanban_dispatch_reclaimed:()=>`已收回`,kanban_dispatch_run_prefix:()=>`已调度:`,kanban_dispatch_skipped_nonspawnable:()=>`跳过 (未知配置)`,kanban_dispatch_skipped_unassigned:()=>`跳过 (未分配)`,kanban_dispatch_spawned:()=>`已启动`,kanban_dispatch_timed_out:()=>`超时`,kanban_edit_task:()=>`编辑任务`,kanban_empty:()=>`空`,kanban_events_count:e=>`事件 (${e?.a0})`,kanban_include_archived:()=>`包含已归档`,kanban_lanes_by_profile:()=>`按配置文件分列`,kanban_links:()=>`链接`,kanban_max_runtime_hint:()=>`留空则表示无限制。`,kanban_max_runtime_invalid:()=>`最长运行时间必须是大于0的整数秒数。`,kanban_max_runtime_seconds:()=>`最长运行时间(秒)`,kanban_new_board:()=>`新建看板…`,kanban_new_task:()=>`新建任务`,kanban_no_comments:()=>`无评论`,kanban_no_data:()=>`无看板数据`,kanban_no_description:()=>`无描述`,kanban_no_events:()=>`无事件`,kanban_no_matching_tasks:()=>`没有匹配的任务`,kanban_no_runs:()=>`无运行记录`,kanban_nudge_dispatcher:()=>`提醒调度器`,kanban_only_mine:()=>`仅我的`,kanban_parents:()=>`父任务`,kanban_parents_modal:()=>`父依赖项`,kanban_parents_placeholder:()=>`父任务 ID`,kanban_priority:()=>`优先级`,kanban_priority_hint:()=>`数值越高越先执行,默认为 0。`,kanban_read_only:()=>`只读视图`,kanban_ready_needs_assignee:()=>`您选择了「未分配」+「Ready」。调度器将跳过此任务。再次提交以确认,或选择一个配置。`,kanban_refresh:()=>`刷新`,kanban_remove_dependency:()=>`移除依赖项`,kanban_rename_board:()=>`看板设置…`,kanban_run_dispatcher:()=>`运行调度器`,kanban_run_dispatcher_confirm:()=>`将认领此看板的 Ready 任务并生成工作子进程(每次点击最多 8 个)。是否继续?`,kanban_runs_count:e=>`运行 (${e?.a0})`,kanban_search_tasks:()=>`搜索任务`,kanban_skills:()=>`技能`,kanban_skills_placeholder:()=>`以逗号分隔的技能名称,例如python,git`,kanban_stats:()=>`统计`,kanban_status:()=>`状态`,kanban_status_archived:()=>`已归档`,kanban_status_blocked:()=>`阻塞`,kanban_status_done:()=>`完成`,kanban_status_original_hint:e=>`实际状态:${e?.a0}。此对话框仅支持编辑 Triage/Todo/Ready。`,kanban_status_ready:()=>`就绪`,kanban_status_running:()=>`进行中`,kanban_status_todo:()=>`待办`,kanban_status_triage:()=>`待分类`,kanban_task:()=>`任务`,kanban_tasks_hidden_by_filters:()=>`被筛选器隐藏的任务`,kanban_tenant:()=>`租户`,kanban_tenant_placeholder:()=>`可选 — 项目或团队标识`,kanban_title:()=>`标题`,kanban_title_required:()=>`标题为必填项。`,kanban_unassigned:()=>`未分配`,kanban_unavailable:()=>`看板不可用`,kanban_unblock:()=>`解除阻塞`,kanban_view_consolidated:()=>`合并视图`,kanban_view_consolidated_saved:()=>`看板视图:已合并`,kanban_view_lanes:()=>`按配置文件分列`,kanban_view_lanes_saved:()=>`看板视图:按配置文件分列`,kanban_view_update_failed:()=>`无法更新看板视图:`,kanban_visible_tasks:e=>`${e?.a0} 个可见任务`,kanban_work_queue_hint:()=>`这是 Hermes Agent 的工作队列。创建或分类任务,分配任务,将其移至”就绪”状态,然后让调度员认领任务。`,kanban_worker_log:()=>`工作日志`,kanban_workspace_dir:()=>`目录`,kanban_workspace_kind:()=>`工作区类型`,kanban_workspace_path:()=>`工作区路径`,kanban_workspace_path_placeholder:()=>`工作区路径`,kanban_workspace_path_required:()=>`非暂存工作区需要设置工作区路径。`,kanban_workspace_scratch:()=>`暂存区`,kanban_workspace_worktree:()=>`工作树`,linked_files:()=>`关联文件`,live_background:()=>`正在处理后台结果`,load_older_messages:()=>`↑ 向上滚动或点击加载更早的消息`,loading:()=>`加载中…`,login_btn:()=>`登录`,login_conn_failed:()=>`连接失败`,login_invalid_pw:()=>`密码错误`,login_placeholder:()=>`密码`,login_subtitle:()=>`输入密码继续使用`,login_title:()=>`登录`,logs_auto_refresh:()=>`自动刷新(5秒)`,logs_copied:()=>`日志已复制`,logs_copy_all:()=>`全部复制`,logs_empty:()=>`暂无日志。`,logs_file:()=>`文件`,logs_filter_active:()=>`已显示(筛选器已启用)`,logs_load_failed:()=>`日志加载失败`,logs_loading:()=>`加载日志中…`,logs_no_mtime:()=>`尚未写入`,logs_severity:()=>`严重性`,logs_severity_all:()=>`全部`,logs_severity_errors:()=>`错误`,logs_severity_warnings:()=>`警告+`,logs_status_idle:()=>`选择日志文件以查看最新内容。`,logs_tail:()=>`末尾`,logs_title:()=>`日志`,logs_truncated_hint:()=>`此处显示的是日志文件的末尾内容。为节省内存,已省略较早的数据。`,logs_wrap:()=>`自动换行`,manage_profiles:()=>`管理配置档`,markdown_table_filter:()=>`筛选表格`,markdown_table_sort_column:()=>`列排序`,marker_context_compaction:()=>`上下文压实`,marker_preserved_task_list:()=>`已保留任务列表`,mcp_add_server:()=>`+ 添加服务器`,mcp_cancel:()=>`取消`,mcp_command_required:()=>`stdio 传输需要命令。`,mcp_delete_confirm_message:e=>`确定删除 MCP 服务器「${e?.a0}」吗?此操作不可撤销。`,mcp_delete_confirm_title:()=>`删除 MCP 服务器`,mcp_delete_failed:()=>`MCP 服务器删除失败。`,mcp_deleted:()=>`MCP 服务器已删除。`,mcp_disable_server:()=>`禁用此 MCP 服务器`,mcp_disabled_toast:e=>`MCP 服务器「${e?.name}」已禁用。`,mcp_enable_server:()=>`启用此 MCP 服务器`,mcp_enabled_no:()=>`已禁用`,mcp_enabled_toast:e=>`MCP 服务器「${e?.name}」已启用。`,mcp_enabled_yes:()=>`已启用`,mcp_field_args:()=>`参数(逗号分隔)`,mcp_field_command:()=>`命令`,mcp_field_name:()=>`服务器名称`,mcp_field_timeout:()=>`超时(秒)`,mcp_health_needs_auth:()=>`需要重新登录`,mcp_health_unhealthy:()=>`无法连接`,mcp_load_failed:()=>`MCP 服务器加载失败。`,mcp_name_required:()=>`服务器名称为必填项。`,mcp_no_servers:()=>`未配置 MCP 服务器。`,mcp_restart_hint:()=>`服务器更改目前为只读。请编辑 config.yaml 并重启 Hermes。`,mcp_save:()=>`保存`,mcp_save_failed:()=>`MCP 服务器保存失败。`,mcp_saved:()=>`MCP 服务器已保存。`,mcp_servers_desc:()=>`管理 config.yaml 中配置的 MCP 服务器。`,mcp_servers_title:()=>`MCP 服务器`,mcp_status_active:()=>`运行中`,mcp_status_configured:()=>`已配置`,mcp_status_disabled:()=>`已禁用`,mcp_status_invalid_config:()=>`配置无效`,mcp_status_unknown:()=>`未知`,mcp_toggle_failed:()=>`更新 MCP 服务器失败。`,mcp_toggle_followup:()=>`在 MCP 的重新加载规范明确之前,我们有意暂缓启用/禁用的切换。`,mcp_tool_count:e=>`${e?.a0} 个工具`,mcp_tools_desc:()=>`搜索活跃 MCP 服务器中的已知工具。`,mcp_tools_inactive_configured_servers:e=>`已配置但在此 WebUI 运行环境中未激活:${e?.servers}。`,mcp_tools_load_failed:()=>`加载 MCP 工具失败。`,mcp_tools_next_page:()=>`下一页 ›`,mcp_tools_next_page_aria:()=>`下一页 MCP 工具`,mcp_tools_no_matches:()=>`没有匹配的 MCP 工具。`,mcp_tools_no_tools:()=>`当前运行时清单中没有可用的 MCP 工具。`,mcp_tools_page_size_prefix:()=>`每页显示`,mcp_tools_page_size_suffix:()=>`个`,mcp_tools_pagination_label:()=>`MCP 工具分页`,mcp_tools_per_page_aria:()=>`每页 MCP 工具数`,mcp_tools_previous_page:()=>`‹ 上一页`,mcp_tools_previous_page_aria:()=>`上一页 MCP 工具`,mcp_tools_runtime_note:()=>`工具清单仅使用已知的活跃 MCP 运行时数据;WebUI 不会启动或探测服务器。`,mcp_tools_schema_empty:()=>`无参数。`,mcp_tools_search_placeholder:()=>`按名称、服务器或描述搜索工具…`,mcp_tools_summary_matching:e=>` 匹配「${e?.query}」`,mcp_tools_summary_no_matches:e=>`没有匹配「${e?.query}」的 MCP 工具(共 ${e?.total} 个)。`,mcp_tools_summary_none:()=>`没有 MCP 工具可显示。`,mcp_tools_summary_showing:e=>`显示第 ${e?.start}-${e?.end} 个,共 ${e?.filtered} 个 MCP 工具${e?.searchNote}${e?.totalNote}。第 ${e?.page}/${e?.pages} 页。`,mcp_tools_summary_total_note:e=>`(共 ${e?.total} 个)`,mcp_tools_title:()=>`MCP 工具`,mcp_transport_label:()=>`传输类型`,mcp_url_required:()=>`HTTP 传输需要 URL。`,media_audio_label:()=>`音频`,media_download:()=>`下载`,media_svg_label:()=>`图表`,media_video_label:()=>`视频`,memory_notes_label:()=>`记忆(备注)`,memory_saved:()=>`记忆已保存`,mic_denied:()=>`麦克风访问被拒绝,请检查浏览器权限。`,mic_error:()=>`语音输入出错:`,mic_insecure_origin:()=>`语音输入需要安全连接。请通过 HTTPS 协议或从本地主机打开Hermes,以便使用麦克风。`,mic_network:()=>`语音识别当前不可用。`,mic_no_speech:()=>`没有检测到语音,请再试一次。`,model_badge_selected:()=>`已选择`,model_custom_label:()=>`自定义模型 ID`,model_custom_placeholder:()=>`例如 openai/gpt-5.4`,model_did_you_mean:e=>`,您是否想选择“${e?.m}”?`,model_group_configured:()=>`已配置`,model_not_found_label:()=>`未找到模型`,model_scope_advisory:()=>`从下一条消息起应用于当前对话。`,model_scope_toast:()=>`从下一条消息起应用于当前对话。`,model_search_no_results:()=>`未找到模型`,model_search_placeholder:()=>`搜索模型…`,model_show_all_models:e=>`显示全部 ${e?.a0} 个模型`,model_unavailable:()=>`(不可用)`,model_unavailable_title:()=>`这个模型已经不在当前 provider 列表中`,model_usage:()=>`用法:/model <name>`,more_actions:()=>`更多操作`,move_failed:()=>`移动失败:`,moved_to:()=>`已移动到 `,my_notes:()=>`我的备注`,n_messages:t=>(e(`zh`,t?.n,{}),`${t?.n} 条消息`),name_required:()=>`名称不能为空`,never:()=>`从未`,new_conversation:()=>`新建对话`,new_file:()=>`新建文件`,new_file_prompt:()=>`新文件名(例如 notes.md):`,new_file_prompt_title:e=>`在 ${e?.a0} 中新建文件名:`,new_folder:()=>`新建文件夹`,new_folder_prompt:()=>`新文件夹名称:`,new_folder_prompt_title:e=>`在 ${e?.a0} 中新建文件夹名称:`,new_job:()=>`新任务`,new_profile:()=>`新配置`,new_session:()=>`已新建会话`,new_session_creating:()=>`正在创建新会话…`,new_session_workspace_announce:e=>`已在工作区 ${e?.a0} 中开始新聊天。`,new_skill:()=>`新技能`,no_active_session:()=>`当前没有活动会话`,no_model_match:()=>`没有匹配“`,no_notes_yet:()=>`暂无备注。`,no_personalities:()=>`没有找到人设(可添加到 config.yaml → agent.personalities)`,no_profile_yet:()=>`暂无用户画像。`,no_soul_yet:()=>`暂无灵魂定义。`,no_workspace:()=>`未选择工作区`,no_workspace_match:()=>`没有匹配“`,not_available:()=>`无`,notifications_denied:()=>`此浏览器中通知功能被阻止。请在浏览器设置中启用。`,notifications_enable_btn:()=>`启用通知`,notifications_enabled_toast:()=>`通知已启用。`,notifications_permission_status:e=>`权限: ${e?.status}`,notifications_test_btn:()=>`发送测试`,notifications_unsupported:()=>`此浏览器不支持通知功能。`,oauth_codex_error:()=>`OAuth 登录失败`,oauth_codex_expired:()=>`代码已过期,请重试`,oauth_codex_polling:()=>`等待授权…`,oauth_codex_step1:()=>`步骤 1:访问此 URL 并输入代码`,oauth_codex_step2:()=>`步骤 2:在页面上输入此代码`,oauth_codex_success:()=>`Codex OAuth 登录成功!`,oauth_login_codex:()=>`使用 Codex (ChatGPT) 登录`,offline_autorefresh:()=>`当 Hermes 可访问时,我会自动刷新此页面。`,offline_browser_detail:()=>`浏览器报告此设备当前离线。`,offline_check_now:()=>`立即检查`,offline_checking:()=>`正在检查…`,offline_network_detail:()=>`此浏览器当前无法连接到 Hermes。`,offline_stream_waiting:()=>`连接已断开。正在等待刷新…`,offline_title:()=>`连接已断开`,onboarding_api_key_help_keyless:()=>`大多数 LM Studio / Ollama / vLLM 安装无需密钥即可运行。`,onboarding_api_key_help_prefix:()=>`会作为密钥保存到 Hermes .env 文件中,变量名为`,onboarding_api_key_label_optional:()=>`API 密钥(可选)`,onboarding_api_key_placeholder:()=>`留空可保留已保存的 key`,onboarding_api_key_placeholder_optional:()=>`留空用于无需密钥的服务器`,onboarding_back:()=>`返回`,onboarding_badge:()=>`首次运行`,onboarding_base_url_help:()=>`用于 OpenAI 兼容路由、自托管服务、LiteLLM、Ollama、LM Studio、vLLM 或类似端点。`,onboarding_check_agent_missing:()=>`缺失或仅部分可导入`,onboarding_check_agent_ready:()=>`已检测且可导入`,onboarding_check_password:()=>`密码`,onboarding_check_password_disabled:()=>`尚未启用`,onboarding_check_password_enabled:()=>`已启用`,onboarding_check_provider:()=>`提供商配置`,onboarding_check_provider_partial:()=>`已保存但不完整`,onboarding_check_provider_pending:()=>`需要验证`,onboarding_check_provider_ready:()=>`可开始聊天`,onboarding_complete:()=>`引导完成`,onboarding_config_file:()=>`配置文件:`,onboarding_continue:()=>`继续`,onboarding_current_provider:()=>`当前配置:`,onboarding_custom_model_help:()=>`对于自定义端点,请填写服务端要求的精确模型 ID。`,onboarding_env_file:()=>`.env 文件:`,onboarding_error_base_url_required:()=>`自定义端点必须填写 Base URL。`,onboarding_error_choose_model:()=>`继续前请先选择模型。`,onboarding_error_choose_workspace:()=>`继续前请先选择工作区。`,onboarding_error_model_required:()=>`必须填写模型。`,onboarding_error_probe_failed:()=>`无法验证配置的基础 URL。`,onboarding_error_provider_required:()=>`继续前请先选择设置模式。`,onboarding_error_workspace_required:()=>`必须填写工作区。`,onboarding_finish_help:()=>`完成后会在设置中写入 <code>onboarding_completed</code>,并进入常规应用界面。`,onboarding_lead:()=>`快速引导将验证 Hermes、保存真实的提供商配置、选择工作区和模型,并可选设置密码保护应用。`,onboarding_missing_imports:()=>`缺失导入:`,onboarding_model_label:()=>`默认模型`,onboarding_not_set:()=>`未设置`,onboarding_notice_custom_base_url_required:()=>`Hermes 已保存提供商/模型选择,但自定义提供商仍需要 Base URL。如果该服务器要求 API 密钥,也请一并添加。`,onboarding_notice_finish:()=>`你之后仍可在设置中修改这些选项。`,onboarding_notice_password_enabled:()=>`已配置密码。仅在你想替换时输入新密码。`,onboarding_notice_password_recommended:()=>`可选,但如果你会把 UI 暴露到 localhost 之外,建议设置。`,onboarding_notice_provider_api_key_required:()=>`Hermes 已保存提供商/模型选择,但聊天仍需要相应的 API 密钥。`,onboarding_notice_provider_auth_required:e=>`提供商“${e?.a0}”已配置但尚未认证。请在终端运行 "hermes auth" 或 "hermes model" 完成设置,然后重新加载 Web UI。`,onboarding_notice_provider_choice_required:()=>`Hermes 已安装,但仍需选择提供商并保存可用凭据。`,onboarding_notice_setup_already_ready:()=>`已检测到可用的 Hermes 提供商配置。你可以保留它,或在这里替换。`,onboarding_notice_setup_required:()=>`请先在此选择一个简单的提供商路径。高级 OAuth 流程暂时仍建议在 Hermes CLI 中完成。`,onboarding_notice_system_ready:()=>`Hermes Agent 看起来可从 Web UI 访问。`,onboarding_notice_system_unavailable:()=>`Hermes Agent 尚未完全可用。Bootstrap 可以安装它,但提供商设置可能仍需要终端。`,onboarding_notice_workspace:()=>`这些值复用与正式应用相同的设置 API。`,onboarding_oauth_provider_not_ready_body:e=>`此实例已配置为使用 <strong>${e?.provider}</strong>,该提供商使用 OAuth 而非 API key。请在终端运行 <code>hermes auth</code> 或 <code>hermes model</code> 完成认证,然后重新加载 Web UI。`,onboarding_oauth_provider_not_ready_title:()=>`OAuth 提供商尚未认证`,onboarding_oauth_provider_ready_body:e=>`此实例已配置为使用通过 Hermes CLI 设置的 OAuth 提供商(<strong>${e?.provider}</strong>)。这里不需要 API key,点击继续即可完成设置。`,onboarding_oauth_provider_ready_title:()=>`提供商已完成认证`,onboarding_oauth_switch_hint:()=>`或者在下方选择其他提供商,切换到 API key 配置:`,onboarding_open:()=>`打开 Hermes`,onboarding_password_help:()=>`密码通过现有设置 API 保存,并在服务端进行哈希处理。`,onboarding_password_keep_existing:()=>`保留当前密码`,onboarding_password_label:()=>`密码(可选)`,onboarding_password_placeholder:()=>`留空则跳过`,onboarding_password_remains_disabled:()=>`将保持禁用`,onboarding_password_skipped:()=>`暂时跳过`,onboarding_password_will_enable:()=>`将启用`,onboarding_password_will_replace:()=>`将被替换`,onboarding_probe_error_connect_refused:()=>`连接被拒绝 — 该地址上可能没有运行服务器。在 Docker 容器内,请使用主机 IP 而非 localhost。`,onboarding_probe_error_dns:()=>`无法解析主机名。请检查 URL,或在 Docker 中使用主机 IP 而非 localhost。`,onboarding_probe_error_generic:()=>`无法访问配置的基础 URL。`,onboarding_probe_error_http_4xx:()=>`端点返回客户端错误。请检查认证信息和 URL 路径(通常以 /v1 结尾)。`,onboarding_probe_error_http_5xx:()=>`端点返回服务器错误。请检查 LM Studio / Ollama 服务器日志。`,onboarding_probe_error_invalid_url:()=>`基础 URL 必须以 http:// 或 https:// 开头。`,onboarding_probe_error_parse:()=>`端点未返回预期的模型列表格式。请确认 URL 指向 OpenAI 兼容的 API 根路径。`,onboarding_probe_error_timeout:()=>`端点未及时响应。请确认服务器正在运行且 URL 正确。`,onboarding_probe_error_unreachable:()=>`无法访问配置的基础 URL。`,onboarding_probe_ok:e=>`已连接。${e?.n} 个模型可用。`,onboarding_probe_probing:()=>`正在测试连接…`,onboarding_probe_test_button:()=>`测试连接`,onboarding_provider_label:()=>`设置模式`,onboarding_quick_setup_badge:()=>`快速设置`,onboarding_skip:()=>`跳过设置`,onboarding_skipped:()=>`设置已跳过 — 使用现有配置。`,onboarding_step_finish_desc:()=>`确认信息并进入应用。`,onboarding_step_finish_title:()=>`完成`,onboarding_step_password_desc:()=>`在分享前为 Web UI 添加保护。`,onboarding_step_password_title:()=>`可选密码`,onboarding_step_setup_desc:()=>`保存最小可用的 Hermes 提供商配置。`,onboarding_step_setup_title:()=>`提供商设置`,onboarding_step_system_desc:()=>`验证 Hermes Agent 与配置可见性。`,onboarding_step_system_title:()=>`系统检查`,onboarding_step_workspace_desc:()=>`为新会话和聊天选择默认值。`,onboarding_step_workspace_title:()=>`工作区 + 模型`,onboarding_title:()=>`欢迎使用 Talaria Web`,onboarding_unknown:()=>`未知`,onboarding_workspace_help:()=>`选择设置完成后 Hermes 在新聊天中使用的模型。`,onboarding_workspace_label:()=>`工作区`,onboarding_workspace_or_path:()=>`或输入工作区路径`,open_in_browser:()=>`在浏览器中打开`,open_in_vscode:()=>`在VS Code中打开`,open_in_vscode_failed:()=>`在VS Code中打开失败:`,outline_empty:()=>`暂无问题。`,outline_loading:()=>`加载中…`,outline_minimap_label:()=>`对话时间线`,outline_minimap_mark:e=>`问题 ${e?.a0}: ${e?.a1}`,outline_title:()=>`大纲`,panel_agents:()=>`代理`,panel_agents_empty:()=>`此对话中尚无代理运行。`,panel_agents_transcript:()=>`打开对话记录`,panel_agents_transcript_for:e=>`对话记录:${e?.goal}`,panel_agents_unavailable:()=>`代理目前无法报告状态。`,panel_agents_updated:e=>`更新于 ${e?.time}`,panel_files_unavailable:()=>`此对话没有工作区。`,panel_label:()=>`侧边面板`,parse_failed_note:()=>`解析失败`,password_env_var_locked:()=>`当前已设置 HERMES_WEBUI_PASSWORD 环境变量并具有优先级。请取消该变量并重启服务器,才能在此管理密码。`,password_env_var_locked_placeholder:()=>`已锁定:已设置 HERMES_WEBUI_PASSWORD 环境变量`,password_placeholder:()=>`输入新密码…`,path_copied:()=>`文件路径已复制到剪贴板`,path_copy_failed:()=>`复制路径失败:`,pdf_download:()=>`下载 PDF`,pdf_error:()=>`PDF 加载失败`,pdf_loading:e=>`正在加载 PDF ${e?.a0}…`,pdf_no_pages:()=>`无法渲染 PDF 预览`,pdf_too_large:()=>`PDF 文件过大,无法内联预览`,pdf_truncated:e=>`显示前 ${e?.a0} 页,共 ${e?.a1} 页 — 下载查看完整文档`,personal_memory:()=>`个人记忆`,personalities_load_failed:()=>`加载人设失败`,personality_cleared:()=>`人设已清空`,personality_set:()=>`当前人设:`,personality_switch_hint:()=>"\n\n使用 `/personality <name>` 切换,或用 `/personality none` 清空。",plugins_active_provider:()=>`激活(提供方)`,plugins_disabled:()=>`已禁用`,plugins_enable_toggle:()=>`启用`,plugins_enabled:()=>`已启用`,plugins_load_failed:()=>`加载插件失败:`,plugins_no_description:()=>`未提供描述信息。`,plugins_no_hooks:()=>`未注册生命周期挂钩`,plugins_provider_no_hooks:()=>`提供方插件 — 无代理可见挂钩`,plugins_registered_hooks:()=>`已注册的挂钩`,plugins_unnamed:()=>`未命名插件`,preserved_task_list_label:()=>`保留的任务列表`,primary_navigation:()=>`主导航`,process_wakeup_label:()=>`后台唤醒`,process_wakeup_matched:()=>`监视模式已匹配`,profile_active:()=>`当前`,profile_api_key_label:()=>`API 密钥`,profile_api_key_placeholder:()=>`API 密钥(可选)`,profile_api_keys_configured:()=>`已配置 API 密钥`,profile_base_url_label:()=>`基础 URL`,profile_base_url_placeholder:()=>`Base URL(可选,例如 http://localhost:11434)`,profile_base_url_rule:()=>`Base URL 必须以 http:// 或 https:// 开头`,profile_clone_label:()=>`复制当前配置档的配置`,profile_created:e=>`配置档已创建:${e?.name}`,profile_default_label:()=>`(默认)`,profile_delete_confirm_message:()=>`该配置档的所有会话、配置、技能和记忆将被永久删除。此操作无法撤销。`,profile_delete_confirm_title:e=>`删除配置档“${e?.name}”?`,profile_delete_title:()=>`删除此配置档`,profile_deleted:e=>`配置档已删除:${e?.name}`,profile_gateway_running:()=>`网关运行中`,profile_gateway_stopped:()=>`网关已停止`,profile_model_hint:()=>`为这个新配置档选择已配置的提供商和模型。`,profile_model_label:()=>`模型 / 提供商`,profile_model_use_default:()=>`使用当前配置档默认值`,profile_name_label:()=>`名称`,profile_name_placeholder:()=>`配置档名称(小写字母、a-z、0-9、连字符)`,profile_name_rule:()=>`仅允许小写字母、数字、连字符和下划线`,profile_no_configuration:()=>`无配置`,profile_skill_count:t=>(e(`zh`,t?.count,{}),`${t?.count} 个技能`),profile_switch_title:()=>`切换到此配置档`,profile_switched:e=>`已切换到配置档:${e?.name}`,profile_switched_new_conversation:e=>`已切换到配置档:${e?.name},并新建对话`,profile_use:()=>`使用`,profiles_empty_sub:()=>`从侧边栏中选择一个代理配置文件以查看和编辑其设置,或创建一个新配置文件。`,profiles_empty_title:()=>`选择一个配置文件`,profiles_load_failed:()=>`加载配置档失败`,profiles_no_profiles:()=>`未找到配置档。`,project_name_prompt:()=>`项目名称:`,provider_category_easy_start:()=>`快速开始`,provider_category_self_hosted:()=>`本地 / 开源`,provider_category_specialized:()=>`专业服务`,provider_cost_budget_clear:()=>`清除`,provider_cost_budget_label:()=>`月度预算`,provider_cost_budget_pct:e=>`每月预算 $${e?.a1} 的 ${e?.a0}%(按每月进度)`,provider_cost_budget_placeholder:()=>`例如:50.00`,provider_cost_budget_save_failed:()=>`预算保存失败。`,provider_cost_budget_set:()=>`设置`,provider_cost_chart_title:e=>`${e?.n} 天支出`,provider_cost_monthly_pace:e=>`月度速度:${e?.amount}`,provider_cost_no_baseline:()=>`无基准`,provider_cost_not_enough_data:()=>`数据尚不足。积累 2 个每日快照后将生成图表。`,provider_mismatch_label:()=>`提供商不匹配`,provider_mismatch_warning:e=>`"${e?.m}" 可能无法在当前配置的提供商 (${e?.p}) 下工作。直接发送,或在终端运行 \`hermes model\` 切换。`,provider_quota_account_limits_loaded:()=>`账户限制已加载。`,provider_quota_active_provider:()=>`当前提供商`,provider_quota_budget_day:e=>`预算 ${e?.percent} / 天`,provider_quota_budget_hour:e=>`预算 ${e?.percent} / 小时`,provider_quota_burn:e=>`消耗 ${e?.rate}`,provider_quota_credential_label:e=>`凭据 ${e?.a0}`,provider_quota_credential_pool:()=>`凭据池`,provider_quota_empty_early:e=>`提前 ${e?.duration} 用完`,provider_quota_forecast_unavailable:()=>`预测不可用`,provider_quota_last_checked:e=>`上次检查 ${e?.a0}`,provider_quota_last_checked_after_refresh:()=>`刷新后检查`,provider_quota_lasts_through_reset:()=>`可撑到重置`,provider_quota_metric_limit:()=>`限额`,provider_quota_metric_remaining:()=>`剩余`,provider_quota_metric_used:()=>`已用`,provider_quota_on_pace:()=>`符合速度`,provider_quota_over_pace:e=>`超出速度 ${e?.percent}`,provider_quota_pace_unavailable:()=>`速度不可用`,provider_quota_pool_no_windows:()=>`未报告账户限制窗口。`,provider_quota_pool_plans:e=>`方案:${e?.a0}`,provider_quota_pool_summary_available:e=>`${e?.a0}/${e?.a1} 可用`,provider_quota_pool_summary_checked:e=>`已检查 ${e?.a0} 个`,provider_quota_pool_summary_exhausted:e=>`${e?.a0} 个已耗尽`,provider_quota_pool_summary_failed:e=>`${e?.a0} 个失败`,provider_quota_refresh_failed:()=>`提供商用量刷新失败`,provider_quota_refresh_succeeded:()=>`提供商用量已刷新`,provider_quota_refresh_title:()=>`立即刷新提供商用量限制`,provider_quota_refresh_usage:()=>`刷新用量`,provider_quota_refreshing:()=>`正在刷新...`,provider_quota_remaining:e=>`剩余 ${e?.percent}`,provider_quota_resets:e=>`重置于 ${e?.time}`,provider_quota_resets_meta:e=>`重置于 ${e?.a0}`,provider_quota_retry_after:e=>`重试时间 ${e?.a0}`,provider_quota_session_limit:()=>`5 小时限制`,provider_quota_status_available:()=>`可用`,provider_quota_status_checked:()=>`已检查`,provider_quota_status_exhausted:()=>`已耗尽`,provider_quota_status_failed:()=>`失败`,provider_quota_status_invalid_key:()=>`无效密钥`,provider_quota_status_no_key:()=>`无密钥`,provider_quota_status_removed:()=>`已移除`,provider_quota_status_stale:()=>`已过期`,provider_quota_status_unavailable:()=>`不可用`,provider_quota_status_unsupported:()=>`不支持`,provider_quota_title:()=>`提供商配额`,provider_quota_unavailable:()=>`配额状态不可用`,provider_quota_under_pace:e=>`低于速度 ${e?.percent}`,provider_quota_used_meta:e=>`已用 ${e?.a0}`,provider_quota_weekly_limit:()=>`每周限制`,provider_quota_window_fallback:()=>`窗口`,providers_empty:()=>`未找到可配置的提供商。`,providers_enter_key:()=>`请输入 API 密钥`,providers_key_placeholder_replace:()=>`输入新密钥以替换…`,providers_key_removed:()=>`API 密钥已移除`,providers_key_updated:()=>`API 密钥已保存`,providers_models_refreshed:()=>`模型已刷新`,providers_oauth_config_yaml_hint:()=>`通过 config.yaml 配置的令牌。如需更新,请编辑 config.yaml 中的 providers 部分或运行 hermes auth。`,providers_oauth_hint:()=>`通过 OAuth 认证。无需 API 密钥。`,providers_oauth_not_configured_hint:()=>`未认证。在终端中运行 hermes auth 以配置此提供商。`,providers_refresh_models:()=>`刷新模型`,providers_refreshing:()=>`正在刷新…`,providers_remove:()=>`移除`,providers_removing:()=>`移除中…`,providers_save:()=>`保存`,providers_saving:()=>`保存中…`,providers_section_meta:()=>`管理 AI 提供商的 API 密钥。更改立即生效。`,providers_section_title:()=>`提供商`,providers_status_api_key:()=>`API 密钥`,providers_status_configured:()=>`API 密钥已配置`,providers_status_model:()=>`模型`,providers_status_not_configured:()=>`无 API 密钥`,providers_status_not_configured_label:()=>`未配置`,providers_tab_title:()=>`提供商`,queued_cancel:()=>`取消排队消息`,queued_count:e=>`${e?.n} 条排队`,queued_label:()=>`响应后发送`,raw_view:()=>`原始`,reconnect_active:()=>`回复仍在生成中,准备好后要重新加载吗?`,reconnect_finished:()=>`你离开时有回复正在生成,消息内容可能已经更新。`,reference_only_label:()=>`仅供参考`,regen_failed:()=>`重新生成失败:`,regenerate:()=>`重新生成回复`,remove:()=>`移除`,remove_failed:()=>`移除失败:`,remove_title:()=>`移除`,rename_failed:()=>`重命名失败:`,rename_prompt:()=>`新名称:`,rename_title:()=>`重命名`,renamed_to:()=>`已重命名为 `,retrieval_context_label:()=>`已索引上下文`,retrieval_context_preview:()=>`较早消息已存储,可通过上下文工具检索`,reveal_failed:()=>`显示失败:`,reveal_in_finder:()=>`在文件管理器中显示`,runtime_notice_region:()=>`连接与运行状态`,runtime_notice_reload_title:()=>`要重新加载消息吗?`,runtime_notice_restart_slow_title:()=>`服务器响应时间超出预期`,runtime_notice_restarting_title:()=>`正在重启…`,runtime_notice_restored_detail:()=>`Hermes 已重新可用,正在重新接入此对话。`,runtime_notice_restored_title:()=>`连接已恢复`,save:()=>`保存`,save_failed:()=>`保存失败:`,save_skill:()=>`保存技能`,save_title:()=>`保存修改`,saved:()=>`已保存`,saved_prompts_delete:()=>`删除提示`,saved_prompts_empty:()=>`暂无保存的提示。`,saved_prompts_empty_input:()=>`请先输入要保存的提示`,saved_prompts_save_current:()=>`将当前输入保存为提示`,saved_prompts_saved:()=>`提示已保存`,scheduled_jobs:()=>`定时任务`,search:()=>`搜索`,search_skills:()=>`搜索技能…`,selected_text_refine:()=>`润色`,selected_text_refine_instruction:()=>`润色说明:`,selected_text_refine_title:()=>`根据所选内容开始可编辑的润色草稿`,selected_text_reply:()=>`用所选内容回复`,selected_text_reply_appended:()=>`已将所选文本添加到输入框`,selected_text_reply_title:()=>`将所选聊天文本作为引用上下文追加`,session_archive:()=>`归档会话`,session_archive_desc:()=>`隐藏此会话,直到显示归档`,session_archive_failed:()=>`归档失败:`,session_archive_worktree_desc:()=>`隐藏此会话;保留磁盘上的 worktree`,session_archived:()=>`会话已归档`,session_archived_worktree:()=>`会话已归档。Worktree 仍保留在磁盘上。`,session_attention_approval:e=>e?.n===1||e?.n===`1`?`审批`:`${e?.n} 个审批`,session_attention_approval_title:()=>`等待权限决定`,session_attention_clarify:t=>(e(`zh`,t?.n,{}),t?.n===1||t?.n===`1`?`问题`:`${t?.n} 个问题`),session_attention_clarify_title:()=>`等待你的回答`,session_attention_generic_title:()=>`等待用户操作`,session_batch_archive:()=>`归档`,session_batch_archive_confirm:e=>`归档 ${e?.a0} 个会话?`,session_batch_archive_worktree_confirm:e=>`归档 ${e?.a0} 个会话?其中 ${e?.a1} 个 worktree 会话会把 worktree 目录保留在磁盘上。`,session_batch_delete:()=>`删除`,session_batch_delete_confirm:e=>`删除 ${e?.a0} 个会话?`,session_batch_delete_worktree_confirm:e=>`删除 ${e?.a0} 个会话?其中 ${e?.a1} 个 worktree 会话会把 worktree 目录保留在磁盘上。`,session_batch_move:()=>`移动到项目`,session_child_toggle_hint:e=>`${e?.a0} — 从此会话派生的子对话。点击显示或隐藏。`,session_copy_link:()=>`复制对话链接`,session_copy_link_desc:()=>`复制此对话的直接链接`,session_delete:()=>`删除会话`,session_delete_confirm:()=>`删除此会话?`,session_delete_desc:()=>`永久删除此会话`,session_delete_worktree_confirm:e=>`删除此会话?位于 ${e?.path} 的 worktree 将保留在磁盘上。`,session_delete_worktree_desc:()=>`仅删除 WebUI 会话;保留磁盘上的 worktree`,session_deleted:()=>`会话已删除`,session_deleted_worktree:()=>`会话已删除。Worktree 仍保留在磁盘上。`,session_deselect_all:()=>`取消全选`,session_duplicate:()=>`复制会话`,session_duplicate_desc:()=>`用相同工作区和模型创建副本`,session_duplicate_failed:()=>`复制失败:`,session_duplicated:()=>`会话已复制`,session_export_html:()=>`导出为 HTML`,session_export_html_desc:()=>`将此对话下载为一个独立的HTML文件`,session_hidden:()=>`已从列表中隐藏会话`,session_hide_external:()=>`从列表中隐藏`,session_hide_external_desc:()=>`从 WebUI 列表中隐藏此导入的会话,不删除原始历史记录。`,session_imported:()=>`会话已导入`,session_jump_end:()=>`结尾`,session_jump_end_label:()=>`跳转到会话结尾`,session_jump_start:()=>`开头`,session_jump_start_label:()=>`跳转到会话开头`,session_lineage_segment_open:()=>`打开脉络段`,session_lineage_segment_untitled:()=>`未命名段`,session_lineage_static_hint:e=>`${e?.a0} — 较早的上下文轮次已折叠在这里。`,session_lineage_toggle_hint:e=>`${e?.a0} — 较早的上下文轮次已折叠在这里。点击显示或隐藏。`,session_link_copied:()=>`对话链接已复制到剪贴板`,session_link_copy_failed:()=>`无法复制对话链接:`,session_meta_children:t=>(e(`zh`,t?.n,{}),`${t?.n} 子会话`),session_meta_messages:t=>(e(`zh`,t?.n,{}),`${t?.n} 条消息`),session_meta_segments:t=>(e(`zh`,t?.n,{}),`${t?.n} 段`),session_move_project:()=>`移至项目`,session_move_project_desc_has:()=>`更改此会话的项目`,session_move_project_desc_none:()=>`为此会话分配项目`,session_new_message:()=>`新消息`,session_new_message_label:()=>`有新消息,跳转到结尾`,session_no_selection:()=>`未选择任何会话`,session_pin:()=>`置顶会话`,session_pin_desc:()=>`将此会话保持在顶部`,session_pin_failed:()=>`置顶失败:`,session_readonly_title_hint:e=>`只读导入会话 — ${e?.a0}`,session_rename:()=>`重命名对话`,session_rename_desc:()=>`编辑此对话的标题`,session_rename_failed_no_row:()=>`无法开始重命名操作 — 未找到相应行。`,session_restore:()=>`恢复会话`,session_restore_desc:()=>`将会话恢复到主列表`,session_restored:()=>`会话已恢复`,session_select_all:()=>`全选`,session_select_mode:()=>`选择`,session_select_mode_desc:()=>`选择会话以批量管理`,session_selected_count:e=>`已选 ${e?.a0} 个`,session_stop_response:()=>`停止回复`,session_stop_response_desc:()=>`取消此会话正在进行的回复`,session_time_bucket_last_week:()=>`上周`,session_time_bucket_older:()=>`更早`,session_time_bucket_this_week:()=>`本周`,session_time_bucket_today:()=>`今天`,session_time_bucket_yesterday:()=>`昨天`,session_time_days_ago:e=>`${e?.n}天前`,session_time_hours_ago:e=>`${e?.n}小时前`,session_time_last_week:()=>`上周`,session_time_minutes_ago:e=>`${e?.n}分钟前`,session_time_unknown:()=>`未知`,session_title_regenerate:()=>`重新生成标题`,session_title_regenerate_desc:()=>`让 Hermes 根据对话生成新的标题`,session_title_regenerate_failed:()=>`重新生成标题失败:`,session_title_regenerated:e=>`标题已重新生成:${e?.title}`,session_title_regenerating:()=>`正在重新生成标题…`,session_toolsets:()=>`Session 工具集`,session_toolsets_applied:()=>`工具集已更新`,session_toolsets_apply:()=>`应用`,session_toolsets_clear:()=>`使用默认`,session_toolsets_cleared:()=>`正在使用当前配置档默认`,session_toolsets_configured_servers:()=>`已配置 MCP 服务器`,session_toolsets_custom:()=>`自定义覆盖`,session_toolsets_desc:()=>`使用当前配置档默认工具,或为此会话选择自定义工具集`,session_toolsets_failed:()=>`更新工具集失败:`,session_toolsets_global:()=>`当前配置档默认`,session_toolsets_loading_servers:()=>`正在加载已配置服务器...`,session_toolsets_no_configured_servers:()=>`没有已配置的 MCP 服务器`,session_toolsets_profile_defaults:()=>`当前配置档默认`,session_toolsets_use_profile_defaults:()=>`使用当前配置档默认`,session_unpin:()=>`取消置顶`,session_unpin_desc:()=>`从置顶中移除`,session_worktree_remove:()=>`删除 worktree`,session_worktree_remove_ahead_warning:t=>(e(`zh`,t?.ahead,{}),`${t?.ahead} 个未推送的提交将丢失。`),session_worktree_remove_confirm:e=>`确定从磁盘删除 git worktree?
|
|
1
|
+
import{t as e}from"./registry-g7w3353u.js";var t=import.meta.url,n={_default:()=>`默认`,_import:()=>`导入`,active_conversation_meta:t=>(e(`zh`,t?.count,{}),`${t?.title} · ${t?.count} 条消息`),active_conversation_none:()=>`当前未选择活动会话。`,add:()=>`添加`,add_failed:()=>`添加失败:`,agent_soul:()=>`智能体灵魂`,all_uploads_failed:e=>`${e?.n} 个文件全部上传失败`,approval_btn_always:()=>`始终允许`,approval_btn_always_title:()=>`始终允许此命令模式`,approval_btn_deny:()=>`拒绝`,approval_btn_deny_title:()=>`拒绝 — 不执行此命令`,approval_btn_once:()=>`允许一次`,approval_btn_once_title:()=>`允许执行此命令一次(Enter)`,approval_btn_session:()=>`本次允许`,approval_btn_session_title:()=>`本次会话期间允许`,approval_desc_prefix:()=>`检测到危险命令`,approval_gateway_unsupported:()=>`批准操作需要更新版本的网关。请升级已连接的Hermes网关以实现此功能。`,approval_gateway_unsupported_label:()=>`不支持批准`,approval_heading:()=>`需要审批`,approval_more:()=>`更多选项`,approval_pending_count:e=>e?.n===1||e?.n===`1`?`${e?.n} 个待处理中的第 ${e?.n} 个`:`${e?.n} 个待处理中的第 1 个`,approval_responding:()=>`处理中…`,approval_skip_all:()=>`⚡ 本次会话全部跳过`,approval_skip_all_title:()=>`跳过本次会话的所有审批提示`,archive_extracted:e=>`从 ${e?.c} 个压缩包中解压了 ${e?.n} 个文件`,auth_ack_save_failed:()=>`更新确认状态失败:`,auth_acknowledged_label:()=>`我已查看此风险;显示较低优先级的导航警告。`,auth_disabled:()=>`认证已停用,密码保护已移除`,auth_disabled_warning_message:()=>`此实例无需认证即可访问。`,auth_status_passkey_only:()=>`仅通行密钥`,auth_status_password:()=>`密码认证`,auth_status_unauthenticated:()=>`未认证`,auth_warning_badge:()=>`认证已禁用`,auto_compress_label:()=>`自动压缩`,available_commands:()=>`可用命令:`,available_personalities:()=>`可用人设:`,background_line_agent_completed:e=>`代理“${e?.goal}”已完成`,background_line_agent_failed:e=>`代理“${e?.goal}”失败`,background_line_command_failed:e=>`后台命令 ${e?.command} 失败`,background_line_command_failed_exit:e=>`后台命令 ${e?.command} 失败(退出码 ${e?.code})`,background_line_command_finished:e=>`后台命令 ${e?.command} 已结束`,background_review_failed:()=>`任务或父代理审阅失败。`,background_review_parent:e=>`父代理审阅:${e?.state}`,background_review_reviewed:()=>`父代理已审阅此结果。`,background_review_reviewing:()=>`父代理正在审阅此结果。`,background_review_unknown:()=>`任务或父代理审阅的结果未知。`,background_review_waiting:()=>`等待父代理审阅此结果。`,background_update_details:()=>`显示完整的后台结果`,bg_agents_failed:e=>`${e?.n} 个失败`,bg_agents_progress:e=>`已完成 ${e?.done}/${e?.total}`,bg_card_title:()=>`后台工作`,bg_error_multi:e=>`${e?.count} 个会话出现错误`,bg_error_single:e=>`“${e?.title}”出现错误`,bg_hide_result:()=>`隐藏结果`,bg_kind_background_command:()=>`后台任务`,bg_kind_delegation:()=>`代理`,bg_kind_process:()=>`命令`,bg_result_unavailable:()=>`结果已不可用。`,bg_show_result:()=>`显示结果`,bg_status_attention:()=>`需要关注`,bg_status_cancelled:()=>`已停止`,bg_status_completed:()=>`完成`,bg_status_failed:()=>`失败`,bg_status_running:()=>`运行中`,bg_status_unknown:()=>`状态未知`,bg_usage:()=>`用法:/background <消息>`,branch_failed:()=>`分叉失败:`,branch_forked:()=>`已创建新分叉`,busy_interrupt_confirm:()=>`已中断 — 正在发送新消息`,busy_steer_fallback:()=>`Steer 不可用 — 草稿已恢复`,cancel:()=>`取消`,cancel_failed:()=>`取消失败。`,cancelling:()=>`正在取消...`,checkpoint_date:()=>`日期`,checkpoint_diff_files_changed:t=>(e(`zh`,t?.n,{}),`${t?.n} 个文件已更改`),checkpoint_diff_no_changes:()=>`此检查点与当前工作区之间无差异。`,checkpoint_diff_title:()=>`检查点变更`,checkpoint_empty:()=>`此工作区未找到检查点。`,checkpoint_error:()=>`加载检查点失败`,checkpoint_files:()=>`文件`,checkpoint_kept_user_edits:e=>`已保留你的编辑:${e?.files}`,checkpoint_loading:()=>`加载检查点中…`,checkpoint_message:()=>`消息`,checkpoint_restore:()=>`恢复`,checkpoint_restore_confirm_message:e=>`恢复智能体自检查点“${e?.ckpt}”以来更改的文件?在其最后一次写入后你手动编辑的文件将保持不变。`,checkpoint_restore_confirm_title:()=>`恢复检查点?`,checkpoint_restore_everything:()=>`全部恢复`,checkpoint_restored:()=>`检查点已恢复`,checkpoint_skipped_oversize:e=>`文件过大,无法恢复:${e?.files}`,checkpoint_title:()=>`检查点`,checkpoint_view_diff:()=>`查看差异`,clarify_composer_placeholder:()=>`输入你的回答…`,clarify_composer_placeholder_choices:()=>`选择上方选项,或输入你的回答…`,clarify_heading:()=>`需要澄清`,clarify_hint:()=>`请选择一个选项,或在下方输入你自己的回答。`,clarify_other:()=>`其他`,clarify_progress:e=>`第 ${e?.a0} 题,共 ${e?.a1} 题`,clarify_responding:()=>`处理中…`,clarify_send:()=>`发送`,clear:()=>`清空`,clear_conversation_btn_tooltip:()=>`清空此会话中的所有消息`,clear_conversation_message:()=>`要清空所有消息吗?此操作无法撤销。`,clear_conversation_title:()=>`清空对话`,clear_failed:()=>`清空失败:`,close_menu:()=>`关闭菜单`,cmd_branch:()=>`将此对话分叉到新会话`,cmd_branch_usage:()=>`/branch [名称] — 分叉会话(可选择添加名称)`,cmd_clear:()=>`清空当前对话消息`,cmd_compact_alias:()=>`旧别名:/compress`,cmd_compress:()=>`手动压缩对话上下文(用法:/compress [主题])`,cmd_goal:()=>`设置或查看持久目标`,cmd_help:()=>`查看可用命令`,cmd_interrupt:()=>`取消当前回合并发送新消息`,cmd_interrupt_confirm:()=>`已中断 — 正在发送新消息`,cmd_interrupt_no_msg:()=>`用法:/interrupt <消息>`,cmd_model:()=>`切换模型(例如 /model gpt-4o)`,cmd_new:()=>`新建聊天会话`,cmd_personality:()=>`切换 Agent 人设`,cmd_queue:()=>`将消息加入下一轮的队列`,cmd_queue_confirm:()=>`消息已加入队列`,cmd_queue_no_msg:()=>`用法:/queue <消息>`,cmd_queue_not_busy:()=>`没有活动任务 — 直接发送即可`,cmd_reasoning:()=>`切换思维可见性(显示/隐藏)、设置工作强度或查看当前状态`,cmd_skills:()=>`列出可用的 Hermes 技能`,cmd_steer:()=>`用纠正信息引导代理(回退为中断)`,cmd_steer_fallback:()=>`Steer 不可用 — 草稿已恢复`,cmd_steer_no_msg:()=>`用法:/steer <消息>`,cmd_terminal:()=>`打开工作区 Terminal`,cmd_theme:()=>`切换外观(主题:system/dark/light,皮肤:default/ares/mono/graphite/slate/poseidon/sisyphus/charizard/sienna/catppuccin/nous/geist-contrast/zeus/verdigris)`,cmd_usage:()=>`切换 token 用量显示`,cmd_use:()=>`为下一条消息强制使用技能`,cmd_workspace:()=>`按名称切换工作区`,cmd_yolo:()=>`YOLO 模式切换`,collapse_all:()=>`全部折叠`,command_label:()=>`命令`,composer_clarify:()=>`发送回答`,composer_clarify_next:()=>`下一题`,composer_compression_will_queue:()=>`输入一条消息 — 它会排队并在压缩后发送。`,composer_control_attach:()=>`附加`,composer_control_bg_badge:()=>`背景徽章`,composer_control_context:()=>`上下文`,composer_control_mobile_config:()=>`移动设备配置`,composer_control_model:()=>`模型`,composer_control_profile:()=>`配置`,composer_control_quota_chip:()=>`配额标识`,composer_control_reasoning:()=>`推理`,composer_control_saved_prompts:()=>`已保存的提示词`,composer_control_status:()=>`状态`,composer_control_toolsets:()=>`工具集`,composer_control_voice_mode:()=>`语音模式`,composer_control_workspace:()=>`工作区`,composer_disabled_clarify:()=>`请回复上方的澄清请求`,composer_disabled_compression:()=>`等待压缩完成`,composer_disabled_empty:()=>`请输入消息后发送`,composer_interrupt:()=>`中断并发送`,composer_mobile_context:()=>`上下文`,composer_mobile_model:()=>`模型`,composer_mobile_quota:()=>`配额`,composer_mobile_reasoning:()=>`推理`,composer_mobile_workspace:()=>`工作区`,composer_placeholder_busy_interrupt:()=>`Enter = 中断 | /queue | /background | /steer`,composer_placeholder_busy_queue:()=>`Enter = 队列 | /interrupt | /background | /steer`,composer_placeholder_busy_steer:()=>`Enter = 引导 | /queue | /background | /interrupt`,composer_queue:()=>`消息加入队列`,composer_send:()=>`发送消息`,composer_steer:()=>`引导当前响应`,composer_stop:()=>`停止生成`,compress_complete_label:()=>`压缩完成`,compress_failed_label:()=>`压缩失败`,compress_running_label:()=>`压缩中`,compressing:()=>`正在请求压缩上下文...`,content_required:()=>`内容不能为空`,context_block_flush_aria:()=>`发送时将包含上下文块`,context_block_name_default:()=>`上下文`,context_block_remove:()=>`移除上下文块`,context_block_rename_aria:()=>`重命名上下文块`,context_block_rename_hint:()=>`点击或按 Enter 重命名`,context_compaction_label:()=>`上下文压缩`,conversation_cleared:()=>`对话已清空`,copied:()=>`已复制`,copy:()=>`复制`,copy_failed:()=>`复制失败`,copy_file_path:()=>`复制文件路径`,copy_relative_path:()=>`复制相对路径`,create:()=>`创建`,create_failed:()=>`创建失败:`,create_job:()=>`创建任务`,created:()=>`已创建 `,cron_advanced_label:()=>`高级`,cron_all_runs:()=>`全部运行记录`,cron_attention_copy_diagnostics:()=>`复制诊断信息`,cron_attention_croniter_hint:()=>`Gateway 运行环境可能缺少 croniter 包。请用支持 cron 的环境重启 Gateway,然后恢复这个任务。`,cron_attention_desc:()=>`这个重复定时任务没有下次运行时间。调度器可能没能计算出下一次运行。`,cron_attention_resume:()=>`恢复并重新计算`,cron_attention_run_once:()=>`立即运行一次`,cron_collapse_output:()=>`收起输出`,cron_collapse_prompt:()=>`收起提示词`,cron_completion_status:e=>`定时任务“${e?.name}”${e?.status}`,cron_context_from_empty_hint:()=>`暂时没有其他可串联的计划任务。`,cron_context_from_hint:()=>`每次运行都将这些任务的最新输出作为上下文注入(任务 A 收集,任务 B 处理)。`,cron_context_from_label:()=>`上下文来源任务`,cron_continuity_hint:()=>`每次运行都能看到该任务上一次的输出,从而去重并接着上次的进度继续。`,cron_continuity_label:()=>`连续性`,cron_delete_confirm_message:()=>`此操作无法撤销。`,cron_delete_confirm_title:()=>`删除定时任务`,cron_deliver_custom:()=>`自定义推送目标`,cron_deliver_label:()=>`输出位置`,cron_deliver_local:()=>`本地(仅保存输出)`,cron_diagnostics_copied:()=>`定时任务诊断信息已复制`,cron_duplicate:()=>`复制`,cron_duplicated:()=>`任务已复制(已暂停)`,cron_expand_output:()=>`展开输出`,cron_expand_prompt:()=>`展开提示词`,cron_hide_runs:()=>`隐藏记录`,cron_job_created:()=>`任务已创建`,cron_job_deleted:()=>`任务已删除`,cron_job_name_placeholder:()=>`任务名称`,cron_job_paused:()=>`任务已暂停`,cron_job_resumed:()=>`任务已恢复`,cron_job_triggered:()=>`任务已触发`,cron_job_updated:()=>`任务已更新`,cron_jobs_project:()=>`定时任务`,cron_last:()=>`上次`,cron_last_output:()=>`最近输出`,cron_mode_agent:()=>`代理`,cron_mode_label:()=>`模式`,cron_mode_script:()=>`脚本`,cron_model_hint:()=>`覆盖此任务的默认模型。`,cron_model_label:()=>`模型覆盖`,cron_model_no_agent_hint:()=>`无智能体任务直接运行已配置的脚本,模型未使用。`,cron_model_use_default:()=>`默认(使用配置/系统默认)`,cron_monitor_hint:()=>`可选的 http(s) 网址或脚本路径,每个周期检查一次。输出相同则跳过本次运行;输出变化则带上差异唤醒代理。`,cron_monitor_label:()=>`监控源`,cron_monitor_no_agent_conflict:()=>`监控不能与纯脚本任务同时使用。`,cron_monitor_no_agent_hint:()=>`纯脚本任务不可用:监控的作用是唤醒或抑制代理。`,cron_monitor_placeholder:()=>`https://example.com/status — 或 — check-feed.sh`,cron_name_label:()=>`名称`,cron_name_placeholder:()=>`可选`,cron_next:()=>`下次`,cron_no_agent_hint:()=>`不使用大模型,直接运行脚本并原样投递其标准输出。需要填写脚本路径。`,cron_no_agent_label:()=>`纯脚本任务`,cron_no_agent_script_required:()=>`纯脚本任务需要脚本路径。`,cron_no_jobs:()=>`未找到定时任务。`,cron_no_runs_yet:()=>`(暂无运行记录)`,cron_pause:()=>`暂停`,cron_profile_label:()=>`配置档`,cron_profile_server_default:()=>`服务器默认`,cron_profile_server_default_hint:()=>`运行时使用 WebUI 服务器默认配置档。没有配置档的现有作业会保留此旧行为。`,cron_prompt_label:()=>`提示词`,cron_prompt_placeholder:()=>`提示词`,cron_prompt_required:()=>`必须填写提示词`,cron_reasoning_effort_default:()=>`默认(遵循配置)`,cron_reasoning_effort_hint:()=>`将该任务固定到某一推理级别,运行时优先于全局设置和按模型的设置。`,cron_reasoning_effort_label:()=>`推理强度`,cron_reasoning_effort_no_agent_hint:()=>`纯脚本任务中不生效:没有需要配置的大模型调用。`,cron_repeat_hint:()=>`任务停止前运行的次数。留空则保持默认:一次性任务运行一次,周期任务一直运行。仅在创建时设置。`,cron_repeat_invalid:()=>`重复次数必须是不小于 1 的整数。`,cron_repeat_label:()=>`重复次数`,cron_repeat_placeholder:()=>`留空表示使用默认值`,cron_resume:()=>`恢复`,cron_run_now:()=>`立即运行`,cron_schedule_conj_at:()=>`在`,cron_schedule_conj_at_minute:()=>`指定分钟数`,cron_schedule_conj_on:()=>`在`,cron_schedule_conj_on_day:()=>`指定天数`,cron_schedule_hint:()=>`循环任务请用 'every 1h' 或 Cron 表达式。像 '30m' 这样的裸时长只会运行一次。`,cron_schedule_hour_label:()=>`小时`,cron_schedule_label:()=>`计划`,cron_schedule_minute_label:()=>`分钟`,cron_schedule_month_day_label:()=>`日期`,cron_schedule_once_warning:()=>`像 '30m' 这样的时长写法只会运行一次,并在运行后移除。要保留循环任务,请使用 'every 30m'。`,cron_schedule_placeholder:()=>`调度表达式`,cron_schedule_preset_custom:()=>`自定义`,cron_schedule_preset_daily:()=>`每天`,cron_schedule_preset_hourly:()=>`每小时`,cron_schedule_preset_label:()=>`预设`,cron_schedule_preset_monthly:()=>`每月`,cron_schedule_preset_weekdays:()=>`工作日`,cron_schedule_preset_weekly:()=>`每周`,cron_schedule_required:()=>`必须填写调度`,cron_schedule_required_example:()=>`必须填写调度(例如 "0 9 * * *" 或 "every 1h")`,cron_schedule_time_hint:()=>`时间以服务器时间为准;cron 在服务器端运行。`,cron_schedule_time_label:()=>`时间`,cron_schedule_weekday_label:()=>`星期 (0-6,周日-周六)`,cron_script_badge_title:()=>`脚本任务(无代理)`,cron_script_card_title:()=>`脚本`,cron_script_context_hint:()=>`可选。每个周期运行一次,其标准输出会作为上下文注入提示词。相对路径在 ~/.hermes/scripts/ 下解析。`,cron_script_job_banner:()=>`按计划运行脚本,stdout 会投递到目标。不使用代理、提示词或技能。`,cron_script_output:()=>`脚本输出`,cron_script_path_hint:()=>`除非是绝对路径,否则在 ~/.hermes/scripts/ 下解析。请在服务器上编辑脚本文件以更改行为。`,cron_script_path_label:()=>`脚本路径`,cron_skills_edit_hint:()=>`创建后无法再编辑技能列表。`,cron_skills_label:()=>`技能`,cron_skills_placeholder:()=>`添加技能(可选)…`,cron_status_active:()=>`已启用`,cron_status_error:()=>`错误`,cron_status_needs_attention:()=>`需要处理`,cron_status_off:()=>`关闭`,cron_status_paused:()=>`暂停`,cron_status_running:()=>`执行中…`,cron_toast_notifications_disabled:()=>`已禁用`,cron_toast_notifications_enabled:()=>`已启用`,cron_toast_notifications_hint:()=>`此 Cron 完成时显示 toast。关闭后,任务徽标和新运行标记仍会更新。`,cron_toast_notifications_label:()=>`完成提示`,cron_view_full_output:()=>`查看完整输出`,cron_weekday_fri:()=>`星期五`,cron_weekday_mon:()=>`星期一`,cron_weekday_sat:()=>`星期六`,cron_weekday_sun:()=>`星期日`,cron_weekday_thu:()=>`星期四`,cron_weekday_tue:()=>`星期二`,cron_weekday_wed:()=>`星期三`,cron_workdir_label:()=>`工作目录`,csv_error:()=>`加载 CSV 文件失败`,csv_header_note:()=>`第一行显示为表格标题`,csv_loading:()=>`加载 CSV`,csv_no_data:()=>`CSV 文件数据不足,无法渲染为表格`,csv_too_large:()=>`CSV 文件过大,无法内联渲染`,ctx_compress_action:()=>`⚠ 立即压缩以释放上下文`,ctx_compress_hint:()=>`压缩上下文以释放空间 →`,current_password_incorrect:()=>`当前密码不正确。`,current_password_label:()=>`当前密码`,current_password_placeholder:()=>`输入当前密码…`,current_password_required:()=>`更改或禁用认证需要当前密码。`,current_task_list:()=>`当前任务列表`,dashboard_loopback_warning:()=>`仪表盘在服务器上仅限 loopback 访问。请从服务器本机浏览,或使用 --host 0.0.0.0 重启(不安全)。`,delete_confirm:e=>`要删除 ${e?.name} 吗?`,delete_dir_confirm:e=>`删除文件夹 "${e?.name}" 及其所有内容?`,delete_failed:()=>`删除失败:`,delete_title:()=>`删除`,deleted:()=>`已删除 `,dialog_confirm_btn:()=>`确认`,dialog_confirm_title:()=>`确认操作`,dialog_prompt_title:()=>`输入内容`,dictation_append_desc:()=>`启用时,听写文本会追加到输入框已有内容之后(必要时插入空格)。关闭时,听写文本会替换输入框内容。`,dictation_append_label:()=>`将听写追加到输入框`,diff_error:()=>`无法加载 patch 文件`,diff_loading:()=>`加载 diff`,diff_too_large:()=>`Patch 文件过大,无法内联显示`,disable:()=>`停用`,disable_auth:()=>`停用认证`,disable_auth_confirm_message:()=>`任何人都可以访问此实例。`,disable_auth_confirm_title:()=>`停用密码保护`,disable_auth_failed:()=>`停用认证失败:`,disable_auth_typed_confirm:()=>`输入 DISABLE AUTH 以确认`,discard:()=>`放弃`,discard_file_edits_message:()=>`切换工作区将丢弃预览区未保存的文件修改。`,discard_file_edits_title:()=>`放弃文件编辑?`,dismiss:()=>`忽略`,done:()=>`完成`,double_click_rename:()=>`双击重命名`,download_folder:()=>`下载文件夹`,download_transcript:()=>`下载为 Markdown`,downloading:e=>`正在下载 ${e?.name}...`,edit:()=>`编辑`,edit_failed:()=>`编辑失败:`,edit_message:()=>`编辑消息`,edit_title:()=>`编辑此文件`,editing:()=>`编辑中`,empty_dir:()=>`(空)`,empty_hero_title:()=>`我们来做点什么?`,empty_hero_title_workspace:e=>`在 ${e?.a0} 中我们来做点什么?`,error_prefix:()=>`错误:`,excalidraw_download:()=>`下载`,excalidraw_empty:()=>`空图表`,excalidraw_error:()=>`加载 Excalidraw 文件失败`,excalidraw_invalid:()=>`无效的 Excalidraw 文件格式`,excalidraw_label:()=>`图表`,excalidraw_loading:()=>`加载图表`,excalidraw_render_error:()=>`渲染图表失败`,excalidraw_simplified:()=>`简化 SVG 预览 — 与 Excalidraw 画布不完全相同`,excalidraw_too_large:()=>`Excalidraw 文件过大,无法内联渲染`,expand_all:()=>`全部展开`,export_session_html_tooltip:()=>`导出为独立的 HTML 网页(双击即可在浏览器打开)`,export_session_json_tooltip:()=>`将会话完整导出为 JSON`,ext_configure:()=>`配置`,ext_configure_failed:()=>`扩展配置失败。`,ext_configure_opening:()=>`正在打开…`,ext_gallery_after_install:()=>`安装后`,ext_gallery_author:()=>`作者`,ext_gallery_capabilities:()=>`能力`,ext_gallery_install:()=>`安装`,ext_gallery_install_followup:()=>`扩展已安装。请查看卡片中的后续步骤。`,ext_gallery_install_ok:()=>`扩展安装成功。`,ext_gallery_install_restart_required:()=>`扩展已安装。需要重启后生效。`,ext_gallery_installed:()=>`已安装`,ext_gallery_installing:()=>`安装中…`,ext_gallery_local_app_label:()=>`本地应用`,ext_gallery_local_component_required:()=>`此扩展包含本地组件。安装后请启动所需的本地应用或 sidecar。`,ext_gallery_native_host_required:()=>`需要原生主机`,ext_gallery_next_step:()=>`下一步`,ext_gallery_open_setup_guide:()=>`打开设置指南`,ext_gallery_permissions_empty:()=>`未声明额外权限。`,ext_gallery_permissions_hide:()=>`隐藏权限`,ext_gallery_permissions_show:()=>`权限`,ext_gallery_required_suffix:e=>`需要 ${e?.a0}`,ext_gallery_restart_required:()=>`需要重启`,ext_gallery_sidecar_required:()=>`需要 sidecar`,ext_gallery_uninstall:()=>`卸载`,ext_gallery_uninstall_ok:()=>`扩展已卸载。`,ext_gallery_uninstalling:()=>`卸载中…`,ext_gallery_version:()=>`版本`,external_link_grant_expired:()=>`此外部视图已过期。重新打开转义目标符号链接以再次授权。`,external_link_open_confirm:()=>`此符号链接指向工作区外部。是否在本次浏览器会话的只读外部视图中打开它?`,external_link_read_only:()=>`此外部视图为只读。此处创建、重命名、移动、删除、上传、显示及编辑操作均处于禁用状态。`,external_notes_auto_recall_hint:()=>`自动会话召回保持不变;这个抽屉只显示已配置的来源和可用的读取/搜索工具。`,external_notes_configured_hint:()=>`此已配置来源应提供工具名称;当 WebUI 运行时暴露实时 schema 后会显示在这里。`,external_notes_empty:()=>`还没有可见的笔记或知识 MCP 来源。配置 Joplin、Obsidian、Notion、llm-wiki 或其他笔记服务器后会显示在这里。`,external_notes_no_tools:()=>`此来源当前没有可见的读取/搜索工具。`,external_notes_recent_ai:()=>`AI 最近使用`,external_notes_recent_ai_reason:()=>`自动召回`,external_notes_search_empty:()=>`搜索已配置的笔记来源后,可在这里预览笔记。`,external_notes_search_placeholder:()=>`搜索笔记…`,external_notes_sources:()=>`第三方笔记`,external_notes_tool_count:t=>(e(`zh`,t?.count,{}),`${t?.count} 个笔记工具可用`),failed_colon:()=>`失败:`,file_open_failed:()=>`无法打开文件`,filter_conversations:()=>`筛选对话…`,first_token_time:()=>`首个令牌生成时间`,focus_label:()=>`主题`,folder_add_as_space_btn:()=>`添加为工作区`,folder_add_as_space_msg:()=>`是否将此文件夹添加为新的工作区?`,folder_add_as_space_title:()=>`添加为工作区?`,folder_create_failed:()=>`创建文件夹失败:`,folder_created:()=>`已创建文件夹 `,font_size_default:()=>`默认`,font_size_large:()=>`大`,font_size_small:()=>`小`,font_size_xlarge:()=>`超大`,fork_from_here:()=>`从此处分叉`,forked_from:()=>`分叉自`,gateway_auth_label:()=>`Gateway 身份验证失败`,gateway_endpoint_unreachable:()=>`网关端点无法访问`,gateway_last_active:()=>`最后活跃时间:`,gateway_load_failed:()=>`无法加载网关状态`,gateway_metadata_stale:()=>`网关元数据已过时`,gateway_not_configured:()=>`网关未配置`,gateway_not_running:()=>`网关未运行`,gateway_restart:()=>`重启`,gateway_restart_failed:()=>`网关重启失败`,gateway_restart_success:()=>`网关重启完成。`,gateway_running:()=>`运行中`,gateway_running_label:()=>`运行中`,gateway_session:()=>`会话`,gateway_session_count:t=>(e(`zh`,t?.n,{}),`${t?.n} 个会话`),gateway_sessions:()=>`会话`,gateway_start:()=>`启动`,gateway_start_failed:()=>`网关启动失败`,gateway_start_success:()=>`网关启动完成。`,gateway_status_load_failed:()=>`加载网关状态失败`,gateway_stop:()=>`停止`,gateway_stop_failed:()=>`网关停止失败`,gateway_stop_success:()=>`网关停止完成。`,goal_achieved:e=>`✓ 目标已达成: ${e?.reason}`,goal_cleared:()=>`目标已清除。`,goal_continuing:e=>`↻ 继续完成目标 (${e?.turns}/${e?.max_turns}): ${e?.reason}`,goal_continuing_toast:()=>`继续朝着目标前进…`,goal_evaluating_progress:()=>`正在评估目标进展情况…`,goal_no_goal:()=>`无激活目标。`,goal_paused:e=>`⏸ 目标暂停: ${e?.goal}`,goal_paused_budget_exhausted:e=>`⏸ 目标已暂停 — ${e?.turns}/${e?.max_turns} 回合已使用。使用 /goal resume 以继续, 或者 /goal clear 以停止。`,goal_resumed:e=>`▶ 目标恢复: ${e?.goal}`,goal_set:e=>`⊙ 目标设置 (${e?.turns}-回合预算): ${e?.goal}`,goal_status_active:e=>`⊙ 目标 (进行中, ${e?.turns}/${e?.max_turns} 回合): ${e?.goal}`,goal_status_done:e=>`✓ 目标完成 (${e?.turns}/${e?.max_turns}): ${e?.goal}`,goal_status_none:()=>`无当前活动目标。请使用 /goal <文本> 设置一个目标。`,goal_status_paused:e=>`⏸ 目标 (已暂停, ${e?.turns}/${e?.max_turns}${e?.reason_suffix}): ${e?.goal}`,goal_working_toward:()=>`正朝着目标努力推进…`,html_error:()=>`HTML 预览加载失败`,html_loading:()=>`正在加载 HTML 预览…`,html_open_full:()=>`打开完整页面`,html_sandbox_label:()=>`HTML 预览`,html_too_large:()=>`HTML 文件过大,无法内联预览`,image_load_failed:()=>`图片加载失败`,image_pasted:()=>`已粘贴图片:`,import_failed:()=>`导入失败:`,import_invalid_json:()=>`JSON 无效`,import_session_json_tooltip:()=>`从 JSON 导入会话`,insights_activity_by_day:()=>`按日活动`,insights_activity_by_hour:()=>`按时活动`,insights_cache_hit:()=>`提示缓存命中率`,insights_cost:()=>`预估费用`,insights_daily_tokens:()=>`每日令牌`,insights_footer:e=>`显示最近 ${e?.days} 天的数据`,insights_input_tokens:()=>`输入`,insights_messages:()=>`消息`,insights_model_cache:()=>`缓存`,insights_model_cost:()=>`费用`,insights_model_health_cost_per_m:()=>`花费 / 1M`,insights_model_health_provider:()=>`供应商`,insights_model_health_replacement:()=>`替换指南`,insights_model_health_title:()=>`模型健康状况比较`,insights_model_name:()=>`模型`,insights_model_sessions:()=>`会话`,insights_model_share:()=>`占比`,insights_model_tokens:()=>`令牌`,insights_models:()=>`模型`,insights_no_usage_data:()=>`暂无使用数据`,insights_output_tokens:()=>`输出`,insights_peak_hour:e=>`高峰:${e?.hour}时`,insights_sessions:()=>`会话`,insights_skill_usage_col_patches:()=>`补丁`,insights_skill_usage_col_share:()=>`使用占比`,insights_skill_usage_col_skill:()=>`技能`,insights_skill_usage_col_uses:()=>`使用次数`,insights_skill_usage_col_views:()=>`查看次数`,insights_skill_usage_footer:()=>`数据来源于 ~/.hermes/skills/`,insights_skill_usage_no_data:()=>`暂无技能使用数据`,insights_skill_usage_no_data_hint:()=>`在对话中使用技能后,数据将在此显示。`,insights_skill_usage_skills_used:()=>`已使用技能`,insights_skill_usage_sub:()=>`工具调用频次`,insights_skill_usage_title:()=>`技能使用统计`,insights_skill_usage_total:()=>`总调用次数`,insights_title:()=>`使用分析`,insights_token_breakdown:()=>`令牌分解`,insights_tokens:()=>`令牌`,insights_total:()=>`总计`,jump_to_question:()=>`回到回答`,jump_to_question_label:()=>`跳转到这条回答的开头`,kanban_add_comment:()=>`添加评论`,kanban_add_dependency:()=>`添加依赖项`,kanban_all_assignees:()=>`所有负责人`,kanban_all_tenants:()=>`所有租户`,kanban_archive_board:()=>`归档当前看板…`,kanban_archive_board_confirm:e=>`归档看板 "${e?.name}"?任务仍保存在磁盘上,并且可以从 kanban/boards/_archived/ 恢复该看板。`,kanban_assignee:()=>`负责人`,kanban_assignee_other_label:()=>`其他 (CLI 通道 / 已删除的配置)`,kanban_assignee_placeholder:()=>`可选 — 留空表示任意工作器`,kanban_assignee_profiles_label:()=>`Hermes 配置`,kanban_assignee_unassigned:()=>`— 未分配 (不会自动运行) —`,kanban_back_to_board:()=>`返回看板`,kanban_block:()=>`阻塞`,kanban_board:()=>`看板`,kanban_board_archived:()=>`看板已归档`,kanban_board_color:()=>`颜色(可选)`,kanban_board_default_workdir:()=>`默认工作区路径`,kanban_board_default_workdir_placeholder:()=>`工作区路径(可选)`,kanban_board_description:()=>`描述(可选)`,kanban_board_icon:()=>`图标(emoji,可选)`,kanban_board_name:()=>`名称`,kanban_board_name_required:()=>`名称为必填`,kanban_board_settings:()=>`看板设置`,kanban_board_slug:()=>`标识(小写,连字符)`,kanban_board_slug_required:()=>`标识为必填`,kanban_bulk_action:()=>`批量操作`,kanban_card_archive:()=>`归档`,kanban_card_complete:()=>`完成`,kanban_children:()=>`子任务`,kanban_clear_filters:()=>`清除筛选条件`,kanban_comments_count:e=>`评论 (${e?.a0})`,kanban_dependency_placeholder:()=>`要链接的任务ID`,kanban_dependency_self:()=>`任务不能依赖自身`,kanban_description:()=>`描述`,kanban_description_placeholder:()=>`可选 — 需要做什么、验收标准、链接`,kanban_dispatch_auto_blocked:()=>`自动阻止`,kanban_dispatch_crashed:()=>`崩溃`,kanban_dispatch_preview_prefix:()=>`预览:`,kanban_dispatch_promoted:()=>`已提升`,kanban_dispatch_reclaimed:()=>`已收回`,kanban_dispatch_run_prefix:()=>`已调度:`,kanban_dispatch_skipped_nonspawnable:()=>`跳过 (未知配置)`,kanban_dispatch_skipped_unassigned:()=>`跳过 (未分配)`,kanban_dispatch_spawned:()=>`已启动`,kanban_dispatch_timed_out:()=>`超时`,kanban_edit_task:()=>`编辑任务`,kanban_empty:()=>`空`,kanban_events_count:e=>`事件 (${e?.a0})`,kanban_include_archived:()=>`包含已归档`,kanban_lanes_by_profile:()=>`按配置文件分列`,kanban_links:()=>`链接`,kanban_max_runtime_hint:()=>`留空则表示无限制。`,kanban_max_runtime_invalid:()=>`最长运行时间必须是大于0的整数秒数。`,kanban_max_runtime_seconds:()=>`最长运行时间(秒)`,kanban_new_board:()=>`新建看板…`,kanban_new_task:()=>`新建任务`,kanban_no_comments:()=>`无评论`,kanban_no_data:()=>`无看板数据`,kanban_no_description:()=>`无描述`,kanban_no_events:()=>`无事件`,kanban_no_matching_tasks:()=>`没有匹配的任务`,kanban_no_runs:()=>`无运行记录`,kanban_nudge_dispatcher:()=>`提醒调度器`,kanban_only_mine:()=>`仅我的`,kanban_parents:()=>`父任务`,kanban_parents_modal:()=>`父依赖项`,kanban_parents_placeholder:()=>`父任务 ID`,kanban_priority:()=>`优先级`,kanban_priority_hint:()=>`数值越高越先执行,默认为 0。`,kanban_read_only:()=>`只读视图`,kanban_ready_needs_assignee:()=>`您选择了「未分配」+「Ready」。调度器将跳过此任务。再次提交以确认,或选择一个配置。`,kanban_refresh:()=>`刷新`,kanban_remove_dependency:()=>`移除依赖项`,kanban_rename_board:()=>`看板设置…`,kanban_run_dispatcher:()=>`运行调度器`,kanban_run_dispatcher_confirm:()=>`将认领此看板的 Ready 任务并生成工作子进程(每次点击最多 8 个)。是否继续?`,kanban_runs_count:e=>`运行 (${e?.a0})`,kanban_search_tasks:()=>`搜索任务`,kanban_skills:()=>`技能`,kanban_skills_placeholder:()=>`以逗号分隔的技能名称,例如python,git`,kanban_stats:()=>`统计`,kanban_status:()=>`状态`,kanban_status_archived:()=>`已归档`,kanban_status_blocked:()=>`阻塞`,kanban_status_done:()=>`完成`,kanban_status_original_hint:e=>`实际状态:${e?.a0}。此对话框仅支持编辑 Triage/Todo/Ready。`,kanban_status_ready:()=>`就绪`,kanban_status_running:()=>`进行中`,kanban_status_todo:()=>`待办`,kanban_status_triage:()=>`待分类`,kanban_task:()=>`任务`,kanban_tasks_hidden_by_filters:()=>`被筛选器隐藏的任务`,kanban_tenant:()=>`租户`,kanban_tenant_placeholder:()=>`可选 — 项目或团队标识`,kanban_title:()=>`标题`,kanban_title_required:()=>`标题为必填项。`,kanban_unassigned:()=>`未分配`,kanban_unavailable:()=>`看板不可用`,kanban_unblock:()=>`解除阻塞`,kanban_view_consolidated:()=>`合并视图`,kanban_view_consolidated_saved:()=>`看板视图:已合并`,kanban_view_lanes:()=>`按配置文件分列`,kanban_view_lanes_saved:()=>`看板视图:按配置文件分列`,kanban_view_update_failed:()=>`无法更新看板视图:`,kanban_visible_tasks:e=>`${e?.a0} 个可见任务`,kanban_work_queue_hint:()=>`这是 Hermes Agent 的工作队列。创建或分类任务,分配任务,将其移至”就绪”状态,然后让调度员认领任务。`,kanban_worker_log:()=>`工作日志`,kanban_workspace_dir:()=>`目录`,kanban_workspace_kind:()=>`工作区类型`,kanban_workspace_path:()=>`工作区路径`,kanban_workspace_path_placeholder:()=>`工作区路径`,kanban_workspace_path_required:()=>`非暂存工作区需要设置工作区路径。`,kanban_workspace_scratch:()=>`暂存区`,kanban_workspace_worktree:()=>`工作树`,linked_files:()=>`关联文件`,live_background:()=>`正在处理后台结果`,load_older_messages:()=>`↑ 向上滚动或点击加载更早的消息`,loading:()=>`加载中…`,login_btn:()=>`登录`,login_conn_failed:()=>`连接失败`,login_invalid_pw:()=>`密码错误`,login_placeholder:()=>`密码`,login_subtitle:()=>`输入密码继续使用`,login_title:()=>`登录`,logs_auto_refresh:()=>`自动刷新(5秒)`,logs_copied:()=>`日志已复制`,logs_copy_all:()=>`全部复制`,logs_empty:()=>`暂无日志。`,logs_file:()=>`文件`,logs_filter_active:()=>`已显示(筛选器已启用)`,logs_load_failed:()=>`日志加载失败`,logs_loading:()=>`加载日志中…`,logs_no_mtime:()=>`尚未写入`,logs_severity:()=>`严重性`,logs_severity_all:()=>`全部`,logs_severity_errors:()=>`错误`,logs_severity_warnings:()=>`警告+`,logs_status_idle:()=>`选择日志文件以查看最新内容。`,logs_tail:()=>`末尾`,logs_title:()=>`日志`,logs_truncated_hint:()=>`此处显示的是日志文件的末尾内容。为节省内存,已省略较早的数据。`,logs_wrap:()=>`自动换行`,manage_profiles:()=>`管理配置档`,markdown_table_filter:()=>`筛选表格`,markdown_table_sort_column:()=>`列排序`,marker_context_compaction:()=>`上下文压实`,marker_preserved_task_list:()=>`已保留任务列表`,mcp_add_server:()=>`+ 添加服务器`,mcp_cancel:()=>`取消`,mcp_command_required:()=>`stdio 传输需要命令。`,mcp_delete_confirm_message:e=>`确定删除 MCP 服务器「${e?.a0}」吗?此操作不可撤销。`,mcp_delete_confirm_title:()=>`删除 MCP 服务器`,mcp_delete_failed:()=>`MCP 服务器删除失败。`,mcp_deleted:()=>`MCP 服务器已删除。`,mcp_disable_server:()=>`禁用此 MCP 服务器`,mcp_disabled_toast:e=>`MCP 服务器「${e?.name}」已禁用。`,mcp_enable_server:()=>`启用此 MCP 服务器`,mcp_enabled_no:()=>`已禁用`,mcp_enabled_toast:e=>`MCP 服务器「${e?.name}」已启用。`,mcp_enabled_yes:()=>`已启用`,mcp_field_args:()=>`参数(逗号分隔)`,mcp_field_command:()=>`命令`,mcp_field_name:()=>`服务器名称`,mcp_field_timeout:()=>`超时(秒)`,mcp_health_needs_auth:()=>`需要重新登录`,mcp_health_unhealthy:()=>`无法连接`,mcp_load_failed:()=>`MCP 服务器加载失败。`,mcp_name_required:()=>`服务器名称为必填项。`,mcp_no_servers:()=>`未配置 MCP 服务器。`,mcp_restart_hint:()=>`服务器更改目前为只读。请编辑 config.yaml 并重启 Hermes。`,mcp_save:()=>`保存`,mcp_save_failed:()=>`MCP 服务器保存失败。`,mcp_saved:()=>`MCP 服务器已保存。`,mcp_servers_desc:()=>`管理 config.yaml 中配置的 MCP 服务器。`,mcp_servers_title:()=>`MCP 服务器`,mcp_status_active:()=>`运行中`,mcp_status_configured:()=>`已配置`,mcp_status_disabled:()=>`已禁用`,mcp_status_invalid_config:()=>`配置无效`,mcp_status_unknown:()=>`未知`,mcp_toggle_failed:()=>`更新 MCP 服务器失败。`,mcp_toggle_followup:()=>`在 MCP 的重新加载规范明确之前,我们有意暂缓启用/禁用的切换。`,mcp_tool_count:e=>`${e?.a0} 个工具`,mcp_tools_desc:()=>`搜索活跃 MCP 服务器中的已知工具。`,mcp_tools_inactive_configured_servers:e=>`已配置但在此 WebUI 运行环境中未激活:${e?.servers}。`,mcp_tools_load_failed:()=>`加载 MCP 工具失败。`,mcp_tools_next_page:()=>`下一页 ›`,mcp_tools_next_page_aria:()=>`下一页 MCP 工具`,mcp_tools_no_matches:()=>`没有匹配的 MCP 工具。`,mcp_tools_no_tools:()=>`当前运行时清单中没有可用的 MCP 工具。`,mcp_tools_page_size_prefix:()=>`每页显示`,mcp_tools_page_size_suffix:()=>`个`,mcp_tools_pagination_label:()=>`MCP 工具分页`,mcp_tools_per_page_aria:()=>`每页 MCP 工具数`,mcp_tools_previous_page:()=>`‹ 上一页`,mcp_tools_previous_page_aria:()=>`上一页 MCP 工具`,mcp_tools_runtime_note:()=>`工具清单仅使用已知的活跃 MCP 运行时数据;WebUI 不会启动或探测服务器。`,mcp_tools_schema_empty:()=>`无参数。`,mcp_tools_search_placeholder:()=>`按名称、服务器或描述搜索工具…`,mcp_tools_summary_matching:e=>` 匹配「${e?.query}」`,mcp_tools_summary_no_matches:e=>`没有匹配「${e?.query}」的 MCP 工具(共 ${e?.total} 个)。`,mcp_tools_summary_none:()=>`没有 MCP 工具可显示。`,mcp_tools_summary_showing:e=>`显示第 ${e?.start}-${e?.end} 个,共 ${e?.filtered} 个 MCP 工具${e?.searchNote}${e?.totalNote}。第 ${e?.page}/${e?.pages} 页。`,mcp_tools_summary_total_note:e=>`(共 ${e?.total} 个)`,mcp_tools_title:()=>`MCP 工具`,mcp_transport_label:()=>`传输类型`,mcp_url_required:()=>`HTTP 传输需要 URL。`,media_audio_label:()=>`音频`,media_download:()=>`下载`,media_svg_label:()=>`图表`,media_video_label:()=>`视频`,memory_notes_label:()=>`记忆(备注)`,memory_saved:()=>`记忆已保存`,mic_denied:()=>`麦克风访问被拒绝,请检查浏览器权限。`,mic_error:()=>`语音输入出错:`,mic_insecure_origin:()=>`语音输入需要安全连接。请通过 HTTPS 协议或从本地主机打开Hermes,以便使用麦克风。`,mic_network:()=>`语音识别当前不可用。`,mic_no_speech:()=>`没有检测到语音,请再试一次。`,model_badge_selected:()=>`已选择`,model_custom_label:()=>`自定义模型 ID`,model_custom_placeholder:()=>`例如 openai/gpt-5.4`,model_did_you_mean:e=>`,您是否想选择“${e?.m}”?`,model_group_configured:()=>`已配置`,model_not_found_label:()=>`未找到模型`,model_scope_advisory:()=>`从下一条消息起应用于当前对话。`,model_scope_toast:()=>`从下一条消息起应用于当前对话。`,model_search_no_results:()=>`未找到模型`,model_search_placeholder:()=>`搜索模型…`,model_show_all_models:e=>`显示全部 ${e?.a0} 个模型`,model_unavailable:()=>`(不可用)`,model_unavailable_title:()=>`这个模型已经不在当前 provider 列表中`,model_usage:()=>`用法:/model <name>`,more_actions:()=>`更多操作`,move_failed:()=>`移动失败:`,moved_to:()=>`已移动到 `,my_notes:()=>`我的备注`,n_messages:t=>(e(`zh`,t?.n,{}),`${t?.n} 条消息`),name_required:()=>`名称不能为空`,never:()=>`从未`,new_conversation:()=>`新建对话`,new_file:()=>`新建文件`,new_file_prompt:()=>`新文件名(例如 notes.md):`,new_file_prompt_title:e=>`在 ${e?.a0} 中新建文件名:`,new_folder:()=>`新建文件夹`,new_folder_prompt:()=>`新文件夹名称:`,new_folder_prompt_title:e=>`在 ${e?.a0} 中新建文件夹名称:`,new_job:()=>`新任务`,new_profile:()=>`新配置`,new_session:()=>`已新建会话`,new_session_creating:()=>`正在创建新会话…`,new_session_workspace_announce:e=>`已在工作区 ${e?.a0} 中开始新聊天。`,new_skill:()=>`新技能`,no_active_session:()=>`当前没有活动会话`,no_model_match:()=>`没有匹配“`,no_notes_yet:()=>`暂无备注。`,no_personalities:()=>`没有找到人设(可添加到 config.yaml → agent.personalities)`,no_profile_yet:()=>`暂无用户画像。`,no_soul_yet:()=>`暂无灵魂定义。`,no_workspace:()=>`未选择工作区`,no_workspace_match:()=>`没有匹配“`,not_available:()=>`无`,notifications_denied:()=>`此浏览器中通知功能被阻止。请在浏览器设置中启用。`,notifications_enable_btn:()=>`启用通知`,notifications_enabled_toast:()=>`通知已启用。`,notifications_permission_status:e=>`权限: ${e?.status}`,notifications_test_btn:()=>`发送测试`,notifications_unsupported:()=>`此浏览器不支持通知功能。`,oauth_codex_error:()=>`OAuth 登录失败`,oauth_codex_expired:()=>`代码已过期,请重试`,oauth_codex_polling:()=>`等待授权…`,oauth_codex_step1:()=>`步骤 1:访问此 URL 并输入代码`,oauth_codex_step2:()=>`步骤 2:在页面上输入此代码`,oauth_codex_success:()=>`Codex OAuth 登录成功!`,oauth_login_codex:()=>`使用 Codex (ChatGPT) 登录`,offline_autorefresh:()=>`当 Hermes 可访问时,我会自动刷新此页面。`,offline_browser_detail:()=>`浏览器报告此设备当前离线。`,offline_check_now:()=>`立即检查`,offline_checking:()=>`正在检查…`,offline_network_detail:()=>`此浏览器当前无法连接到 Hermes。`,offline_stream_waiting:()=>`连接已断开。正在等待刷新…`,offline_title:()=>`连接已断开`,onboarding_api_key_help_keyless:()=>`大多数 LM Studio / Ollama / vLLM 安装无需密钥即可运行。`,onboarding_api_key_help_prefix:()=>`会作为密钥保存到 Hermes .env 文件中,变量名为`,onboarding_api_key_label_optional:()=>`API 密钥(可选)`,onboarding_api_key_placeholder:()=>`留空可保留已保存的 key`,onboarding_api_key_placeholder_optional:()=>`留空用于无需密钥的服务器`,onboarding_back:()=>`返回`,onboarding_badge:()=>`首次运行`,onboarding_base_url_help:()=>`用于 OpenAI 兼容路由、自托管服务、LiteLLM、Ollama、LM Studio、vLLM 或类似端点。`,onboarding_check_agent_missing:()=>`缺失或仅部分可导入`,onboarding_check_agent_ready:()=>`已检测且可导入`,onboarding_check_password:()=>`密码`,onboarding_check_password_disabled:()=>`尚未启用`,onboarding_check_password_enabled:()=>`已启用`,onboarding_check_provider:()=>`提供商配置`,onboarding_check_provider_partial:()=>`已保存但不完整`,onboarding_check_provider_pending:()=>`需要验证`,onboarding_check_provider_ready:()=>`可开始聊天`,onboarding_complete:()=>`引导完成`,onboarding_config_file:()=>`配置文件:`,onboarding_continue:()=>`继续`,onboarding_current_provider:()=>`当前配置:`,onboarding_custom_model_help:()=>`对于自定义端点,请填写服务端要求的精确模型 ID。`,onboarding_env_file:()=>`.env 文件:`,onboarding_error_base_url_required:()=>`自定义端点必须填写 Base URL。`,onboarding_error_choose_model:()=>`继续前请先选择模型。`,onboarding_error_choose_workspace:()=>`继续前请先选择工作区。`,onboarding_error_model_required:()=>`必须填写模型。`,onboarding_error_probe_failed:()=>`无法验证配置的基础 URL。`,onboarding_error_provider_required:()=>`继续前请先选择设置模式。`,onboarding_error_workspace_required:()=>`必须填写工作区。`,onboarding_finish_help:()=>`完成后会在设置中写入 <code>onboarding_completed</code>,并进入常规应用界面。`,onboarding_lead:()=>`快速引导将验证 Hermes、保存真实的提供商配置、选择工作区和模型,并可选设置密码保护应用。`,onboarding_missing_imports:()=>`缺失导入:`,onboarding_model_label:()=>`默认模型`,onboarding_not_set:()=>`未设置`,onboarding_notice_custom_base_url_required:()=>`Hermes 已保存提供商/模型选择,但自定义提供商仍需要 Base URL。如果该服务器要求 API 密钥,也请一并添加。`,onboarding_notice_finish:()=>`你之后仍可在设置中修改这些选项。`,onboarding_notice_password_enabled:()=>`已配置密码。仅在你想替换时输入新密码。`,onboarding_notice_password_recommended:()=>`可选,但如果你会把 UI 暴露到 localhost 之外,建议设置。`,onboarding_notice_provider_api_key_required:()=>`Hermes 已保存提供商/模型选择,但聊天仍需要相应的 API 密钥。`,onboarding_notice_provider_auth_required:e=>`提供商“${e?.a0}”已配置但尚未认证。请在终端运行 "hermes auth" 或 "hermes model" 完成设置,然后重新加载 Web UI。`,onboarding_notice_provider_choice_required:()=>`Hermes 已安装,但仍需选择提供商并保存可用凭据。`,onboarding_notice_setup_already_ready:()=>`已检测到可用的 Hermes 提供商配置。你可以保留它,或在这里替换。`,onboarding_notice_setup_required:()=>`请先在此选择一个简单的提供商路径。高级 OAuth 流程暂时仍建议在 Hermes CLI 中完成。`,onboarding_notice_system_ready:()=>`Hermes Agent 看起来可从 Web UI 访问。`,onboarding_notice_system_unavailable:()=>`Hermes Agent 尚未完全可用。Bootstrap 可以安装它,但提供商设置可能仍需要终端。`,onboarding_notice_workspace:()=>`这些值复用与正式应用相同的设置 API。`,onboarding_oauth_provider_not_ready_body:e=>`此实例已配置为使用 <strong>${e?.provider}</strong>,该提供商使用 OAuth 而非 API key。请在终端运行 <code>hermes auth</code> 或 <code>hermes model</code> 完成认证,然后重新加载 Web UI。`,onboarding_oauth_provider_not_ready_title:()=>`OAuth 提供商尚未认证`,onboarding_oauth_provider_ready_body:e=>`此实例已配置为使用通过 Hermes CLI 设置的 OAuth 提供商(<strong>${e?.provider}</strong>)。这里不需要 API key,点击继续即可完成设置。`,onboarding_oauth_provider_ready_title:()=>`提供商已完成认证`,onboarding_oauth_switch_hint:()=>`或者在下方选择其他提供商,切换到 API key 配置:`,onboarding_open:()=>`打开 Hermes`,onboarding_password_help:()=>`密码通过现有设置 API 保存,并在服务端进行哈希处理。`,onboarding_password_keep_existing:()=>`保留当前密码`,onboarding_password_label:()=>`密码(可选)`,onboarding_password_placeholder:()=>`留空则跳过`,onboarding_password_remains_disabled:()=>`将保持禁用`,onboarding_password_skipped:()=>`暂时跳过`,onboarding_password_will_enable:()=>`将启用`,onboarding_password_will_replace:()=>`将被替换`,onboarding_probe_error_connect_refused:()=>`连接被拒绝 — 该地址上可能没有运行服务器。在 Docker 容器内,请使用主机 IP 而非 localhost。`,onboarding_probe_error_dns:()=>`无法解析主机名。请检查 URL,或在 Docker 中使用主机 IP 而非 localhost。`,onboarding_probe_error_generic:()=>`无法访问配置的基础 URL。`,onboarding_probe_error_http_4xx:()=>`端点返回客户端错误。请检查认证信息和 URL 路径(通常以 /v1 结尾)。`,onboarding_probe_error_http_5xx:()=>`端点返回服务器错误。请检查 LM Studio / Ollama 服务器日志。`,onboarding_probe_error_invalid_url:()=>`基础 URL 必须以 http:// 或 https:// 开头。`,onboarding_probe_error_parse:()=>`端点未返回预期的模型列表格式。请确认 URL 指向 OpenAI 兼容的 API 根路径。`,onboarding_probe_error_timeout:()=>`端点未及时响应。请确认服务器正在运行且 URL 正确。`,onboarding_probe_error_unreachable:()=>`无法访问配置的基础 URL。`,onboarding_probe_ok:e=>`已连接。${e?.n} 个模型可用。`,onboarding_probe_probing:()=>`正在测试连接…`,onboarding_probe_test_button:()=>`测试连接`,onboarding_provider_label:()=>`设置模式`,onboarding_quick_setup_badge:()=>`快速设置`,onboarding_skip:()=>`跳过设置`,onboarding_skipped:()=>`设置已跳过 — 使用现有配置。`,onboarding_step_finish_desc:()=>`确认信息并进入应用。`,onboarding_step_finish_title:()=>`完成`,onboarding_step_password_desc:()=>`在分享前为 Web UI 添加保护。`,onboarding_step_password_title:()=>`可选密码`,onboarding_step_setup_desc:()=>`保存最小可用的 Hermes 提供商配置。`,onboarding_step_setup_title:()=>`提供商设置`,onboarding_step_system_desc:()=>`验证 Hermes Agent 与配置可见性。`,onboarding_step_system_title:()=>`系统检查`,onboarding_step_workspace_desc:()=>`为新会话和聊天选择默认值。`,onboarding_step_workspace_title:()=>`工作区 + 模型`,onboarding_title:()=>`欢迎使用 Talaria Web`,onboarding_unknown:()=>`未知`,onboarding_workspace_help:()=>`选择设置完成后 Hermes 在新聊天中使用的模型。`,onboarding_workspace_label:()=>`工作区`,onboarding_workspace_or_path:()=>`或输入工作区路径`,open_in_browser:()=>`在浏览器中打开`,open_in_vscode:()=>`在VS Code中打开`,open_in_vscode_failed:()=>`在VS Code中打开失败:`,outline_empty:()=>`暂无问题。`,outline_loading:()=>`加载中…`,outline_minimap_label:()=>`对话时间线`,outline_minimap_mark:e=>`问题 ${e?.a0}: ${e?.a1}`,outline_title:()=>`大纲`,panel_agents:()=>`代理`,panel_agents_empty:()=>`此对话中尚无代理运行。`,panel_agents_transcript:()=>`打开对话记录`,panel_agents_transcript_for:e=>`对话记录:${e?.goal}`,panel_agents_unavailable:()=>`代理目前无法报告状态。`,panel_agents_updated:e=>`更新于 ${e?.time}`,panel_files_unavailable:()=>`此对话没有工作区。`,panel_label:()=>`侧边面板`,parse_failed_note:()=>`解析失败`,password_env_var_locked:()=>`当前已设置 HERMES_WEBUI_PASSWORD 环境变量并具有优先级。请取消该变量并重启服务器,才能在此管理密码。`,password_env_var_locked_placeholder:()=>`已锁定:已设置 HERMES_WEBUI_PASSWORD 环境变量`,password_placeholder:()=>`输入新密码…`,path_copied:()=>`文件路径已复制到剪贴板`,path_copy_failed:()=>`复制路径失败:`,pdf_download:()=>`下载 PDF`,pdf_error:()=>`PDF 加载失败`,pdf_loading:e=>`正在加载 PDF ${e?.a0}…`,pdf_no_pages:()=>`无法渲染 PDF 预览`,pdf_too_large:()=>`PDF 文件过大,无法内联预览`,pdf_truncated:e=>`显示前 ${e?.a0} 页,共 ${e?.a1} 页 — 下载查看完整文档`,personal_memory:()=>`个人记忆`,personalities_load_failed:()=>`加载人设失败`,personality_cleared:()=>`人设已清空`,personality_set:()=>`当前人设:`,personality_switch_hint:()=>"\n\n使用 `/personality <name>` 切换,或用 `/personality none` 清空。",plugins_active_provider:()=>`激活(提供方)`,plugins_disabled:()=>`已禁用`,plugins_enable_toggle:()=>`启用`,plugins_enabled:()=>`已启用`,plugins_load_failed:()=>`加载插件失败:`,plugins_no_description:()=>`未提供描述信息。`,plugins_no_hooks:()=>`未注册生命周期挂钩`,plugins_provider_no_hooks:()=>`提供方插件 — 无代理可见挂钩`,plugins_registered_hooks:()=>`已注册的挂钩`,plugins_unnamed:()=>`未命名插件`,preserved_task_list_label:()=>`保留的任务列表`,primary_navigation:()=>`主导航`,process_wakeup_label:()=>`后台唤醒`,process_wakeup_matched:()=>`监视模式已匹配`,profile_active:()=>`当前`,profile_api_key_label:()=>`API 密钥`,profile_api_key_placeholder:()=>`API 密钥(可选)`,profile_api_keys_configured:()=>`已配置 API 密钥`,profile_base_url_label:()=>`基础 URL`,profile_base_url_placeholder:()=>`Base URL(可选,例如 http://localhost:11434)`,profile_base_url_rule:()=>`Base URL 必须以 http:// 或 https:// 开头`,profile_clone_label:()=>`复制当前配置档的配置`,profile_created:e=>`配置档已创建:${e?.name}`,profile_default_label:()=>`(默认)`,profile_delete_confirm_message:()=>`该配置档的所有会话、配置、技能和记忆将被永久删除。此操作无法撤销。`,profile_delete_confirm_title:e=>`删除配置档“${e?.name}”?`,profile_delete_title:()=>`删除此配置档`,profile_deleted:e=>`配置档已删除:${e?.name}`,profile_gateway_running:()=>`网关运行中`,profile_gateway_stopped:()=>`网关已停止`,profile_model_hint:()=>`为这个新配置档选择已配置的提供商和模型。`,profile_model_label:()=>`模型 / 提供商`,profile_model_use_default:()=>`使用当前配置档默认值`,profile_name_label:()=>`名称`,profile_name_placeholder:()=>`配置档名称(小写字母、a-z、0-9、连字符)`,profile_name_rule:()=>`仅允许小写字母、数字、连字符和下划线`,profile_no_configuration:()=>`无配置`,profile_skill_count:t=>(e(`zh`,t?.count,{}),`${t?.count} 个技能`),profile_switch_title:()=>`切换到此配置档`,profile_switched:e=>`已切换到配置档:${e?.name}`,profile_switched_new_conversation:e=>`已切换到配置档:${e?.name},并新建对话`,profile_use:()=>`使用`,profiles_empty_sub:()=>`从侧边栏中选择一个代理配置文件以查看和编辑其设置,或创建一个新配置文件。`,profiles_empty_title:()=>`选择一个配置文件`,profiles_load_failed:()=>`加载配置档失败`,profiles_no_profiles:()=>`未找到配置档。`,project_name_prompt:()=>`项目名称:`,provider_category_easy_start:()=>`快速开始`,provider_category_self_hosted:()=>`本地 / 开源`,provider_category_specialized:()=>`专业服务`,provider_cost_budget_clear:()=>`清除`,provider_cost_budget_label:()=>`月度预算`,provider_cost_budget_pct:e=>`每月预算 $${e?.a1} 的 ${e?.a0}%(按每月进度)`,provider_cost_budget_placeholder:()=>`例如:50.00`,provider_cost_budget_save_failed:()=>`预算保存失败。`,provider_cost_budget_set:()=>`设置`,provider_cost_chart_title:e=>`${e?.n} 天支出`,provider_cost_monthly_pace:e=>`月度速度:${e?.amount}`,provider_cost_no_baseline:()=>`无基准`,provider_cost_not_enough_data:()=>`数据尚不足。积累 2 个每日快照后将生成图表。`,provider_mismatch_label:()=>`提供商不匹配`,provider_mismatch_warning:e=>`"${e?.m}" 可能无法在当前配置的提供商 (${e?.p}) 下工作。直接发送,或在终端运行 \`hermes model\` 切换。`,provider_quota_account_limits_loaded:()=>`账户限制已加载。`,provider_quota_active_provider:()=>`当前提供商`,provider_quota_budget_day:e=>`预算 ${e?.percent} / 天`,provider_quota_budget_hour:e=>`预算 ${e?.percent} / 小时`,provider_quota_burn:e=>`消耗 ${e?.rate}`,provider_quota_credential_label:e=>`凭据 ${e?.a0}`,provider_quota_credential_pool:()=>`凭据池`,provider_quota_empty_early:e=>`提前 ${e?.duration} 用完`,provider_quota_forecast_unavailable:()=>`预测不可用`,provider_quota_last_checked:e=>`上次检查 ${e?.a0}`,provider_quota_last_checked_after_refresh:()=>`刷新后检查`,provider_quota_lasts_through_reset:()=>`可撑到重置`,provider_quota_metric_limit:()=>`限额`,provider_quota_metric_remaining:()=>`剩余`,provider_quota_metric_used:()=>`已用`,provider_quota_on_pace:()=>`符合速度`,provider_quota_over_pace:e=>`超出速度 ${e?.percent}`,provider_quota_pace_unavailable:()=>`速度不可用`,provider_quota_pool_no_windows:()=>`未报告账户限制窗口。`,provider_quota_pool_plans:e=>`方案:${e?.a0}`,provider_quota_pool_summary_available:e=>`${e?.a0}/${e?.a1} 可用`,provider_quota_pool_summary_checked:e=>`已检查 ${e?.a0} 个`,provider_quota_pool_summary_exhausted:e=>`${e?.a0} 个已耗尽`,provider_quota_pool_summary_failed:e=>`${e?.a0} 个失败`,provider_quota_refresh_failed:()=>`提供商用量刷新失败`,provider_quota_refresh_succeeded:()=>`提供商用量已刷新`,provider_quota_refresh_title:()=>`立即刷新提供商用量限制`,provider_quota_refresh_usage:()=>`刷新用量`,provider_quota_refreshing:()=>`正在刷新...`,provider_quota_remaining:e=>`剩余 ${e?.percent}`,provider_quota_resets:e=>`重置于 ${e?.time}`,provider_quota_resets_meta:e=>`重置于 ${e?.a0}`,provider_quota_retry_after:e=>`重试时间 ${e?.a0}`,provider_quota_session_limit:()=>`5 小时限制`,provider_quota_status_available:()=>`可用`,provider_quota_status_checked:()=>`已检查`,provider_quota_status_exhausted:()=>`已耗尽`,provider_quota_status_failed:()=>`失败`,provider_quota_status_invalid_key:()=>`无效密钥`,provider_quota_status_no_key:()=>`无密钥`,provider_quota_status_removed:()=>`已移除`,provider_quota_status_stale:()=>`已过期`,provider_quota_status_unavailable:()=>`不可用`,provider_quota_status_unsupported:()=>`不支持`,provider_quota_title:()=>`提供商配额`,provider_quota_unavailable:()=>`配额状态不可用`,provider_quota_under_pace:e=>`低于速度 ${e?.percent}`,provider_quota_used_meta:e=>`已用 ${e?.a0}`,provider_quota_weekly_limit:()=>`每周限制`,provider_quota_window_fallback:()=>`窗口`,providers_empty:()=>`未找到可配置的提供商。`,providers_enter_key:()=>`请输入 API 密钥`,providers_key_placeholder_replace:()=>`输入新密钥以替换…`,providers_key_removed:()=>`API 密钥已移除`,providers_key_updated:()=>`API 密钥已保存`,providers_models_refreshed:()=>`模型已刷新`,providers_oauth_config_yaml_hint:()=>`通过 config.yaml 配置的令牌。如需更新,请编辑 config.yaml 中的 providers 部分或运行 hermes auth。`,providers_oauth_hint:()=>`通过 OAuth 认证。无需 API 密钥。`,providers_oauth_not_configured_hint:()=>`未认证。在终端中运行 hermes auth 以配置此提供商。`,providers_refresh_models:()=>`刷新模型`,providers_refreshing:()=>`正在刷新…`,providers_remove:()=>`移除`,providers_removing:()=>`移除中…`,providers_save:()=>`保存`,providers_saving:()=>`保存中…`,providers_section_meta:()=>`管理 AI 提供商的 API 密钥。更改立即生效。`,providers_section_title:()=>`提供商`,providers_status_api_key:()=>`API 密钥`,providers_status_configured:()=>`API 密钥已配置`,providers_status_model:()=>`模型`,providers_status_not_configured:()=>`无 API 密钥`,providers_status_not_configured_label:()=>`未配置`,providers_tab_title:()=>`提供商`,queued_cancel:()=>`取消排队消息`,queued_count:e=>`${e?.n} 条排队`,queued_label:()=>`响应后发送`,raw_view:()=>`原始`,reconnect_active:()=>`回复仍在生成中,准备好后要重新加载吗?`,reconnect_finished:()=>`你离开时有回复正在生成,消息内容可能已经更新。`,regen_failed:()=>`重新生成失败:`,regenerate:()=>`重新生成回复`,remove:()=>`移除`,remove_failed:()=>`移除失败:`,remove_title:()=>`移除`,rename_failed:()=>`重命名失败:`,rename_prompt:()=>`新名称:`,rename_title:()=>`重命名`,renamed_to:()=>`已重命名为 `,retrieval_context_label:()=>`已索引上下文`,retrieval_context_preview:()=>`较早消息已存储,可通过上下文工具检索`,reveal_failed:()=>`显示失败:`,reveal_in_finder:()=>`在文件管理器中显示`,runtime_notice_region:()=>`连接与运行状态`,runtime_notice_reload_title:()=>`要重新加载消息吗?`,runtime_notice_restart_slow_title:()=>`服务器响应时间超出预期`,runtime_notice_restarting_title:()=>`正在重启…`,runtime_notice_restored_detail:()=>`Hermes 已重新可用,正在重新接入此对话。`,runtime_notice_restored_title:()=>`连接已恢复`,save:()=>`保存`,save_failed:()=>`保存失败:`,save_skill:()=>`保存技能`,save_title:()=>`保存修改`,saved:()=>`已保存`,saved_prompts_delete:()=>`删除提示`,saved_prompts_empty:()=>`暂无保存的提示。`,saved_prompts_empty_input:()=>`请先输入要保存的提示`,saved_prompts_save_current:()=>`将当前输入保存为提示`,saved_prompts_saved:()=>`提示已保存`,scheduled_jobs:()=>`定时任务`,search:()=>`搜索`,search_skills:()=>`搜索技能…`,selected_text_refine:()=>`润色`,selected_text_refine_instruction:()=>`润色说明:`,selected_text_refine_title:()=>`根据所选内容开始可编辑的润色草稿`,selected_text_reply:()=>`用所选内容回复`,selected_text_reply_appended:()=>`已将所选文本添加到输入框`,selected_text_reply_title:()=>`将所选聊天文本作为引用上下文追加`,session_archive:()=>`归档会话`,session_archive_desc:()=>`隐藏此会话,直到显示归档`,session_archive_failed:()=>`归档失败:`,session_archive_worktree_desc:()=>`隐藏此会话;保留磁盘上的 worktree`,session_archived:()=>`会话已归档`,session_archived_worktree:()=>`会话已归档。Worktree 仍保留在磁盘上。`,session_attention_approval:e=>e?.n===1||e?.n===`1`?`审批`:`${e?.n} 个审批`,session_attention_approval_title:()=>`等待权限决定`,session_attention_clarify:t=>(e(`zh`,t?.n,{}),t?.n===1||t?.n===`1`?`问题`:`${t?.n} 个问题`),session_attention_clarify_title:()=>`等待你的回答`,session_attention_generic_title:()=>`等待用户操作`,session_batch_archive:()=>`归档`,session_batch_archive_confirm:e=>`归档 ${e?.a0} 个会话?`,session_batch_archive_worktree_confirm:e=>`归档 ${e?.a0} 个会话?其中 ${e?.a1} 个 worktree 会话会把 worktree 目录保留在磁盘上。`,session_batch_delete:()=>`删除`,session_batch_delete_confirm:e=>`删除 ${e?.a0} 个会话?`,session_batch_delete_worktree_confirm:e=>`删除 ${e?.a0} 个会话?其中 ${e?.a1} 个 worktree 会话会把 worktree 目录保留在磁盘上。`,session_batch_move:()=>`移动到项目`,session_child_toggle_hint:e=>`${e?.a0} — 从此会话派生的子对话。点击显示或隐藏。`,session_copy_link:()=>`复制对话链接`,session_copy_link_desc:()=>`复制此对话的直接链接`,session_delete:()=>`删除会话`,session_delete_confirm:()=>`删除此会话?`,session_delete_desc:()=>`永久删除此会话`,session_delete_worktree_confirm:e=>`删除此会话?位于 ${e?.path} 的 worktree 将保留在磁盘上。`,session_delete_worktree_desc:()=>`仅删除 WebUI 会话;保留磁盘上的 worktree`,session_deleted:()=>`会话已删除`,session_deleted_worktree:()=>`会话已删除。Worktree 仍保留在磁盘上。`,session_deselect_all:()=>`取消全选`,session_duplicate:()=>`复制会话`,session_duplicate_desc:()=>`用相同工作区和模型创建副本`,session_duplicate_failed:()=>`复制失败:`,session_duplicated:()=>`会话已复制`,session_export_html:()=>`导出为 HTML`,session_export_html_desc:()=>`将此对话下载为一个独立的HTML文件`,session_hidden:()=>`已从列表中隐藏会话`,session_hide_external:()=>`从列表中隐藏`,session_hide_external_desc:()=>`从 WebUI 列表中隐藏此导入的会话,不删除原始历史记录。`,session_imported:()=>`会话已导入`,session_jump_end:()=>`结尾`,session_jump_end_label:()=>`跳转到会话结尾`,session_jump_start:()=>`开头`,session_jump_start_label:()=>`跳转到会话开头`,session_lineage_segment_open:()=>`打开脉络段`,session_lineage_segment_untitled:()=>`未命名段`,session_lineage_static_hint:e=>`${e?.a0} — 较早的上下文轮次已折叠在这里。`,session_lineage_toggle_hint:e=>`${e?.a0} — 较早的上下文轮次已折叠在这里。点击显示或隐藏。`,session_link_copied:()=>`对话链接已复制到剪贴板`,session_link_copy_failed:()=>`无法复制对话链接:`,session_meta_children:t=>(e(`zh`,t?.n,{}),`${t?.n} 子会话`),session_meta_messages:t=>(e(`zh`,t?.n,{}),`${t?.n} 条消息`),session_meta_segments:t=>(e(`zh`,t?.n,{}),`${t?.n} 段`),session_move_project:()=>`移至项目`,session_move_project_desc_has:()=>`更改此会话的项目`,session_move_project_desc_none:()=>`为此会话分配项目`,session_new_message:()=>`新消息`,session_new_message_label:()=>`有新消息,跳转到结尾`,session_no_selection:()=>`未选择任何会话`,session_pin:()=>`置顶会话`,session_pin_desc:()=>`将此会话保持在顶部`,session_pin_failed:()=>`置顶失败:`,session_readonly_title_hint:e=>`只读导入会话 — ${e?.a0}`,session_rename:()=>`重命名对话`,session_rename_desc:()=>`编辑此对话的标题`,session_rename_failed_no_row:()=>`无法开始重命名操作 — 未找到相应行。`,session_restore:()=>`恢复会话`,session_restore_desc:()=>`将会话恢复到主列表`,session_restored:()=>`会话已恢复`,session_select_all:()=>`全选`,session_select_mode:()=>`选择`,session_select_mode_desc:()=>`选择会话以批量管理`,session_selected_count:e=>`已选 ${e?.a0} 个`,session_stop_response:()=>`停止回复`,session_stop_response_desc:()=>`取消此会话正在进行的回复`,session_time_bucket_last_week:()=>`上周`,session_time_bucket_older:()=>`更早`,session_time_bucket_this_week:()=>`本周`,session_time_bucket_today:()=>`今天`,session_time_bucket_yesterday:()=>`昨天`,session_time_days_ago:e=>`${e?.n}天前`,session_time_hours_ago:e=>`${e?.n}小时前`,session_time_last_week:()=>`上周`,session_time_minutes_ago:e=>`${e?.n}分钟前`,session_time_unknown:()=>`未知`,session_title_regenerate:()=>`重新生成标题`,session_title_regenerate_desc:()=>`让 Hermes 根据对话生成新的标题`,session_title_regenerate_failed:()=>`重新生成标题失败:`,session_title_regenerated:e=>`标题已重新生成:${e?.title}`,session_title_regenerating:()=>`正在重新生成标题…`,session_toolsets:()=>`Session 工具集`,session_toolsets_applied:()=>`工具集已更新`,session_toolsets_apply:()=>`应用`,session_toolsets_clear:()=>`使用默认`,session_toolsets_cleared:()=>`正在使用当前配置档默认`,session_toolsets_configured_servers:()=>`已配置 MCP 服务器`,session_toolsets_custom:()=>`自定义覆盖`,session_toolsets_desc:()=>`使用当前配置档默认工具,或为此会话选择自定义工具集`,session_toolsets_failed:()=>`更新工具集失败:`,session_toolsets_global:()=>`当前配置档默认`,session_toolsets_loading_servers:()=>`正在加载已配置服务器...`,session_toolsets_no_configured_servers:()=>`没有已配置的 MCP 服务器`,session_toolsets_profile_defaults:()=>`当前配置档默认`,session_toolsets_use_profile_defaults:()=>`使用当前配置档默认`,session_unpin:()=>`取消置顶`,session_unpin_desc:()=>`从置顶中移除`,session_worktree_remove:()=>`删除 worktree`,session_worktree_remove_ahead_warning:t=>(e(`zh`,t?.ahead,{}),`${t?.ahead} 个未推送的提交将丢失。`),session_worktree_remove_confirm:e=>`确定从磁盘删除 git worktree?
|
|
2
2
|
|
|
3
3
|
路径:${e?.path}
|
|
4
4
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-bnnw9q4a.js";import{n as t,t as n}from"./jsx-runtime-o40ukmjl.js";import{l as r,o as i,r as a,t as o}from"./runtime-nlxpnegr.js";import{Bn as s,Tn as c,Vn as l}from"./queryKeys-cnvn6pea.js";import{g as u}from"./toast-gqqcvxiy.js";import{$ as d,q as f,r as p}from"./index-hx7z4wdj.js";import{a as m,n as h,r as g}from"./passkeys-ktie3sr0.js";var _=()=>`Sign in`,v=((e={},t={})=>{let n=t.locale??o(),r=a[n]?.login_btn;return r?r(e):_(e)}),y=()=>`Connection failed`,b=((e={},t={})=>{let n=t.locale??o(),r=a[n]?.login_conn_failed;return r?r(e):y(e)}),x=()=>`Invalid password`,S=((e={},t={})=>{let n=t.locale??o(),r=a[n]?.login_invalid_pw;return r?r(e):x(e)}),C=()=>`Password`,w=((e={},t={})=>{let n=t.locale??o(),r=a[n]?.login_placeholder;return r?r(e):C(e)}),T=()=>`SSO is temporarily unavailable.`,E=((e={},t={})=>{let n=t.locale??o(),r=a[n]?.login_sso_unavailable;return r?r(e):T(e)}),D=()=>`Enter your password to continue`,O=((e={},t={})=>{let n=t.locale??o(),r=a[n]?.login_subtitle;return r?r(e):D(e)}),k=e(t(),1),A=r();function j(e){if(!e||!e.startsWith(`/`)||e.charAt(1)===`/`||e.charAt(1)===`\\`||/[\x00-\x1f\x7f\s]/.test(e)||e.length>2048)return`./`;let t=e,n=!1;for(let e=0;e<8;e++){let e=(t.split(`?`)[0]??``).split(`#`)[0]?.split(`&`)[0]?.replace(/\/+$/,``)??``;if(e===`/login`||e.endsWith(`/login`))return`./`;let r;try{r=decodeURIComponent(t)}catch{n=!0;break}if(r===t){n=!0;break}t=r}return n?e:`./`}var M=n();function N(e){let t=(0,A.c)(42),{next:n}=e,r=p(),[a,o]=(0,k.useState)(``),[d,_]=(0,k.useState)(null),[y,x]=(0,k.useState)(!1),C;t[0]===n?C=t[1]:(C=j(n),t[0]=n,t[1]=C);let T=C,D;t[2]===T?D=t[3]:(D=()=>{f(),window.location.assign(T===`./`?i(``).href:i(T).href)},t[2]=T,t[3]=D);let N=D,P;t[4]!==N||t[5]!==a?(P=async e=>{e.preventDefault(),_(null),x(!0);try{await c(a),N()}catch(e){let t=e;_(u(t)&&t.kind===`http`?t.message||S():b())}x(!1)},t[4]=N,t[5]=a,t[6]=P):P=t[6];let F=P,I;t[7]===N?I=t[8]:(I=async()=>{if(m()){_(null),x(!0);try{let e=await l(),t=await navigator.credentials.get({publicKey:h(e.publicKey)});t?(await s(g(t)),N()):_(`Passkey cancelled`)}catch(e){let t=e;_(t instanceof Error?t.message:b())}x(!1)}},t[7]=N,t[8]=I);let L=I,R=`api/auth/oidc/start${T===`./`?``:`?next=${encodeURIComponent(T)}`}`,z;t[9]===R?z=t[10]:(z=i(R),t[9]=R,t[10]=z);let B=z.href,V=r.auth.password_auth_enabled&&!r.auth.passwordless_enabled,H;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,M.jsx)(`div`,{className:`brandmark mx-auto mb-3 h-12 w-12`,"aria-hidden":`true`}),t[11]=H):H=t[11];let U;t[12]===r.bot_name?U=t[13]:(U=(0,M.jsx)(`h1`,{className:`mb-1 text-lg font-semibold text-strong`,children:r.bot_name}),t[12]=r.bot_name,t[13]=U);let W;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,M.jsx)(`p`,{className:`mb-6 text-xs text-muted`,children:O()}),t[14]=W):W=t[14];let G;t[15]===F?G=t[16]:(G=e=>{F(e)},t[15]=F,t[16]=G);let K;t[17]!==y||t[18]!==a||t[19]!==V?(K=V&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`label`,{htmlFor:`pw`,className:`sr-only`,children:w()}),(0,M.jsx)(`input`,{id:`pw`,type:`password`,autoComplete:`current-password`,autoFocus:!0,value:a,onChange:e=>o(e.target.value),placeholder:w(),className:`w-full rounded-lg border border-border bg-input px-3.5 py-2.5 text-sm text-text focus:border-accent`}),(0,M.jsx)(`button`,{type:`submit`,disabled:y,className:`w-full rounded-lg border border-accent-bg-strong bg-accent-bg px-3 py-2.5 text-sm font-semibold text-accent-text hover:bg-accent-bg-strong disabled:opacity-60`,children:v()})]}),t[17]=y,t[18]=a,t[19]=V,t[20]=K):K=t[20];let q;t[21]!==r.auth.passkeys_enabled||t[22]!==y||t[23]!==L?(q=r.auth.passkeys_enabled&&m()&&(0,M.jsx)(`button`,{type:`button`,disabled:y,onClick:()=>{L()},className:`w-full rounded-lg border border-warning bg-input px-3 py-2.5 text-sm font-semibold text-warning`,children:`Sign in with passkey`}),t[21]=r.auth.passkeys_enabled,t[22]=y,t[23]=L,t[24]=q):q=t[24];let J;t[25]!==r.auth.oidc_enabled||t[26]!==B?(J=r.auth.oidc_enabled&&(0,M.jsx)(`a`,{id:`oidc-login`,href:B,className:`block w-full rounded-lg border border-success bg-input px-3 py-2.5 text-sm font-semibold text-success no-underline`,children:`Sign in with SSO`}),t[25]=r.auth.oidc_enabled,t[26]=B,t[27]=J):J=t[27];let Y;t[28]!==G||t[29]!==K||t[30]!==q||t[31]!==J?(Y=(0,M.jsxs)(`form`,{onSubmit:G,className:`flex flex-col gap-3`,children:[K,q,J]}),t[28]=G,t[29]=K,t[30]=q,t[31]=J,t[32]=Y):Y=t[32];let X;t[33]===r.auth.oidc_unavailable?X=t[34]:(X=r.auth.oidc_unavailable&&(0,M.jsx)(`p`,{role:`status`,className:`mt-3 text-xs text-muted`,children:E()}),t[33]=r.auth.oidc_unavailable,t[34]=X);let Z;t[35]===d?Z=t[36]:(Z=d&&(0,M.jsx)(`div`,{role:`alert`,className:`mt-3 text-xs text-error`,children:d}),t[35]=d,t[36]=Z);let Q;return t[37]!==Y||t[38]!==X||t[39]!==Z||t[40]!==U?(Q=(0,M.jsx)(`main`,{className:`flex h-full items-center justify-center bg-bg p-4 text-text`,children:(0,M.jsxs)(`div`,{className:`w-80 rounded-2xl border border-border bg-surface p-8 text-center shadow-md`,children:[H,U,W,Y,X,Z]})}),t[37]=Y,t[38]=X,t[39]=Z,t[40]=U,t[41]=Q):Q=t[41],Q}function P(){let e=(0,A.c)(2),{next:t}=d.useSearch(),n;return e[0]===t?n=e[1]:(n=(0,M.jsx)(N,{next:t}),e[0]=t,e[1]=n),n}export{P as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{i as Mermaid}from"./MarkdownRenderer-74ysuomr.js";
|
package/static/dist/assets/{mermaid-parser.core-k91vdnvi.js → mermaid-parser.core-fflovwf2.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./info-A6RAGUB7-
|
|
2
|
-
import{
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./info-A6RAGUB7-dtsj0ybw.js","./chunk-FOHPRMQF-ipewusgj.js","./packet-AYTQ26CC-ntci3088.js","./pie-WAS4IAKB-o2dc7l36.js","./treeView-Q6P3EWNA-cmuj50l7.js","./architecture-7GRP2DOG-gbajejh3.js","./gitGraph-4MIJSDKK-bxq1lbhy.js","./eventmodeling-NTZA5JFV-ojcc486t.js","./radar-RG4KPBEZ-9pcospra.js","./railroad-74A4TZTK-nzdga12j.js","./railroad-ebnf-LZEXJU2U-iw7uc1wy.js","./railroad-abnf-HS5TGJTU-ep3ytel0.js","./railroad-peg-WCYAUIDC-fo3b3gme.js","./treemap-WGGIJYW6-dpjlg0xc.js","./wardley-WFR3VGLG-ij35obrl.js","./cynefin-OW5HDTMX-n5n1ck70.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{rt as e}from"./index-hx7z4wdj.js";import{C as t,S as n,_ as r,a as i,b as a,c as o,d as ee,f as te,g as ne,h as re,i as s,l as ie,m as ae,n as c,o as l,p as oe,r as se,s as ce,t as u,u as d,v as le,w as f,x as p,y as ue}from"./chunk-FOHPRMQF-ipewusgj.js";var de=class extends u{static{p(this,`ArchitectureTokenBuilder`)}constructor(){super([`architecture`])}},fe=class extends c{static{p(this,`ArchitectureValueConverter`)}runCustomConverter(e,t,n){if(e.name===`ARCH_ICON`)return t.replace(/[()]/g,``).trim();if(e.name===`ARCH_TEXT_ICON`)return t.replace(/["()]/g,``);if(e.name===`ARCH_TITLE`){let e=t.replace(/^\[|]$/g,``).trim();return(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))&&(e=e.slice(1,-1),e=e.replace(/\\"/g,`"`).replace(/\\'/g,`'`)),e.trim()}}},m={parser:{TokenBuilder:p(()=>new de,`TokenBuilder`),ValueConverter:p(()=>new fe,`ValueConverter`)}};function h(e=l){let r=f(t(e),d),i=f(n({shared:r}),se,m);return r.ServiceRegistry.register(i),{shared:r,Architecture:i}}p(h,`createArchitectureServices`);var pe=class extends u{static{p(this,`CynefinTokenBuilder`)}constructor(){super([`cynefin-beta`])}},g={parser:{TokenBuilder:p(()=>new pe,`TokenBuilder`),ValueConverter:p(()=>new s,`ValueConverter`)}};function _(e=l){let r=f(t(e),d),a=f(n({shared:r}),i,g);return r.ServiceRegistry.register(a),{shared:r,Cynefin:a}}p(_,`createCynefinServices`);var me=class extends u{static{p(this,`EventModelingTokenBuilder`)}constructor(){super([`eventmodeling`])}},v=new Set([`cmd`,`command`]),y=new Set([`evt`,`event`]),b=new Set([`rmo`,`readmodel`]),x=new Set([`pcr`,`processor`]),S=new Set([`ui`]);function C(e){let t=e.validation.EventModelingValidator,n=e.validation.ValidationRegistry;if(n){let e={EmTimeFrame:t.checkSourceFrameTypes.bind(t),EmResetFrame:t.checkSourceFrameTypes.bind(t)};n.register(e,t)}}p(C,`registerValidationChecks`);var he=class{static{p(this,`EventModelingValidator`)}checkSourceFrameTypes(e,t){e.sourceFrames.length!==0&&(v.has(e.modelEntityType)?this.validateSources(e,new Set([...S,...x]),`command`,`ui or processor`,t):y.has(e.modelEntityType)?this.validateSources(e,v,`event`,`command`,t):b.has(e.modelEntityType)?this.validateSources(e,y,`read model`,`event`,t):x.has(e.modelEntityType)?this.validateSources(e,b,`processor`,`read model`,t):S.has(e.modelEntityType)&&this.validateSources(e,b,`ui`,`read model`,t))}validateSources(e,t,n,r,i){for(let a of e.sourceFrames){let o=a.ref;o!==void 0&&!t.has(o.modelEntityType)&&i(`error`,`A ${n} can only receive input from a ${r}, not from '${o.modelEntityType}'.`,{node:e,property:`sourceFrames`})}}},w={parser:{TokenBuilder:p(()=>new me,`TokenBuilder`),ValueConverter:p(()=>new s,`ValueConverter`)},validation:{EventModelingValidator:p(()=>new he,`EventModelingValidator`)}};function T(e=l){let r=f(t(e),d),i=f(n({shared:r}),ce,w);return r.ServiceRegistry.register(i),C(i),{shared:r,EventModel:i}}p(T,`createEventModelingServices`);var ge=class extends u{static{p(this,`GitGraphTokenBuilder`)}constructor(){super([`gitGraph`])}},E={parser:{TokenBuilder:p(()=>new ge,`TokenBuilder`),ValueConverter:p(()=>new s,`ValueConverter`)}};function D(e=l){let r=f(t(e),d),i=f(n({shared:r}),o,E);return r.ServiceRegistry.register(i),{shared:r,GitGraph:i}}p(D,`createGitGraphServices`);var _e=class extends u{static{p(this,`InfoTokenBuilder`)}constructor(){super([`info`,`showInfo`])}},O={parser:{TokenBuilder:p(()=>new _e,`TokenBuilder`),ValueConverter:p(()=>new s,`ValueConverter`)}};function k(e=l){let r=f(t(e),d),i=f(n({shared:r}),ie,O);return r.ServiceRegistry.register(i),{shared:r,Info:i}}p(k,`createInfoServices`);var ve=class extends u{static{p(this,`PacketTokenBuilder`)}constructor(){super([`packet`])}},A={parser:{TokenBuilder:p(()=>new ve,`TokenBuilder`),ValueConverter:p(()=>new s,`ValueConverter`)}};function j(e=l){let r=f(t(e),d),i=f(n({shared:r}),ee,A);return r.ServiceRegistry.register(i),{shared:r,Packet:i}}p(j,`createPacketServices`);var ye=class extends u{static{p(this,`PieTokenBuilder`)}constructor(){super([`pie`,`showData`])}},be=class extends c{static{p(this,`PieValueConverter`)}runCustomConverter(e,t,n){if(e.name===`PIE_SECTION_LABEL`)return t.replace(/"/g,``).trim()}},M={parser:{TokenBuilder:p(()=>new ye,`TokenBuilder`),ValueConverter:p(()=>new be,`ValueConverter`)}};function N(e=l){let r=f(t(e),d),i=f(n({shared:r}),te,M);return r.ServiceRegistry.register(i),{shared:r,Pie:i}}p(N,`createPieServices`);var xe=class extends u{static{p(this,`RadarTokenBuilder`)}constructor(){super([`radar-beta`])}},P={parser:{TokenBuilder:p(()=>new xe,`TokenBuilder`),ValueConverter:p(()=>new s,`ValueConverter`)}};function F(e=l){let r=f(t(e),d),i=f(n({shared:r}),oe,P);return r.ServiceRegistry.register(i),{shared:r,Radar:i}}p(F,`createRadarServices`);var Se=class extends u{static{p(this,`RailroadTokenBuilder`)}constructor(){super([`railroad-beta`])}},I=p(e=>{let t=e.slice(1,-1),n=``;for(let e=0;e<t.length;e++){let r=t[e];if(r===`\\`&&e+1<t.length){e++;let r=t[e];switch(r){case`n`:n+=`
|
|
3
3
|
`;break;case`r`:n+=`\r`;break;case`t`:n+=` `;break;default:n+=r}}else n+=r}return n},`decodeEscapedString`),Ce=class extends c{static{p(this,`RailroadValueConverter`)}runConverter(e,t,n){let r=super.runConverter(e,t,n);if(e.name===`TITLE`&&typeof r==`string`){let e=r.trim();if(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))return I(e)}return r}runCustomConverter(e,t,n){if(e.name===`RR_STRING`)return I(t)}},L={parser:{TokenBuilder:p(()=>new Se,`TokenBuilder`),ValueConverter:p(()=>new Ce,`ValueConverter`)}};function we(e=l){let r=f(t(e),d),i=f(n({shared:r}),ne,L);return r.ServiceRegistry.register(i),{shared:r,Railroad:i}}p(we,`createRailroadServices`);var Te=class extends u{static{p(this,`RailroadAbnfTokenBuilder`)}constructor(){super([`railroad-abnf-beta`])}},Ee=class extends c{static{p(this,`RailroadAbnfValueConverter`)}runConverter(e,t,n){let r=super.runConverter(e,t,n);if(e.name===`TITLE`&&typeof r==`string`){let e=r.trim();if(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))return e.slice(1,-1)}return r}runCustomConverter(e,t,n){if(e.name===`ABNF_STRING`)return t.slice(1,-1)}},R={parser:{TokenBuilder:p(()=>new Te,`TokenBuilder`),ValueConverter:p(()=>new Ee,`ValueConverter`)}};function z(e=l){let r=f(t(e),d),i=f(n({shared:r}),ae,R);return r.ServiceRegistry.register(i),{shared:r,RailroadAbnf:i}}p(z,`createRailroadAbnfServices`);var De=class extends u{static{p(this,`RailroadEbnfTokenBuilder`)}constructor(){super([`railroad-ebnf-beta`])}},B=p(e=>{let t=e.slice(1,-1),n=``;for(let e=0;e<t.length;e++){let r=t[e];if(r===`\\`&&e+1<t.length){e++;let r=t[e];switch(r){case`n`:n+=`
|
|
4
4
|
`;break;case`r`:n+=`\r`;break;case`t`:n+=` `;break;default:n+=r}}else n+=r}return n},`decodeEscapedString`),Oe=class extends c{static{p(this,`RailroadEbnfValueConverter`)}runConverter(e,t,n){let r=super.runConverter(e,t,n);if(e.name===`TITLE`&&typeof r==`string`){let e=r.trim();if(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))return B(e)}return r}runCustomConverter(e,t,n){if(e.name===`EBNF_STRING`)return B(t);if(e.name===`EBNF_SPECIAL_SEQUENCE`)return t.slice(1,-1).trim()}},V={parser:{TokenBuilder:p(()=>new De,`TokenBuilder`),ValueConverter:p(()=>new Oe,`ValueConverter`)}};function H(e=l){let r=f(t(e),d),i=f(n({shared:r}),re,V);return r.ServiceRegistry.register(i),{shared:r,RailroadEbnf:i}}p(H,`createRailroadEbnfServices`);var ke=class extends u{static{p(this,`RailroadPegTokenBuilder`)}constructor(){super([`railroad-peg-beta`])}},U=p(e=>{let t=e.slice(1,-1),n=``;for(let e=0;e<t.length;e++){let r=t[e];if(r===`\\`&&e+1<t.length){e++;let r=t[e];switch(r){case`n`:n+=`
|
|
5
|
-
`;break;case`r`:n+=`\r`;break;case`t`:n+=` `;break;default:n+=r}}else n+=r}return n},`decodeEscapedString`),Ae=class extends c{static{p(this,`RailroadPegValueConverter`)}runConverter(e,t,n){let r=super.runConverter(e,t,n);if(e.name===`TITLE`&&typeof r==`string`){let e=r.trim();if(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))return U(e)}return r}runCustomConverter(e,t,n){if(e.name===`PEG_STRING`)return U(t)}},W={parser:{TokenBuilder:p(()=>new ke,`TokenBuilder`),ValueConverter:p(()=>new Ae,`ValueConverter`)}};function G(e=l){let i=f(t(e),d),a=f(n({shared:i}),r,W);return i.ServiceRegistry.register(a),{shared:i,RailroadPeg:a}}p(G,`createRailroadPegServices`);var je=class extends c{static{p(this,`TreeViewValueConverter`)}runCustomConverter(e,t,n){if(e.name===`INDENTATION`)return t?.length||0;if(e.name===`QUOTED_NAME`)return t.substring(1,t.length-1);if(e.name===`BARE_NAME`)return t.replace(/[\t ]+$/,``);if(e.name===`CLASS_ANNOTATION`)return t.trim().substring(3).trim();if(e.name===`ICON_ANNOTATION`){let e=t.trim();return e.substring(5,e.length-1)}if(e.name===`DESC_ANNOTATION`)return t.trim().substring(2).trim()}},Me=class extends u{static{p(this,`TreeViewTokenBuilder`)}constructor(){super([`treeView-beta`])}},K={parser:{TokenBuilder:p(()=>new Me,`TokenBuilder`),ValueConverter:p(()=>new je,`ValueConverter`)}};function q(e=l){let r=f(t(e),d),i=f(n({shared:r}),le,K);return r.ServiceRegistry.register(i),{shared:r,TreeView:i}}p(q,`createTreeViewServices`);var Ne=class extends u{static{p(this,`TreemapTokenBuilder`)}constructor(){super([`treemap`])}},Pe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Fe=class extends c{static{p(this,`TreemapValueConverter`)}runCustomConverter(e,t,n){if(e.name===`NUMBER2`)return parseFloat(t.replace(/,/g,``));if(e.name===`SEPARATOR`||e.name===`STRING2`)return t.substring(1,t.length-1);if(e.name===`INDENTATION`)return t.length;if(e.name===`ClassDef`){if(typeof t!=`string`)return t;let e=Pe.exec(t);if(e)return{$type:`ClassDefStatement`,className:e[1],styleText:e[2]||void 0}}}};function J(e){let t=e.validation.TreemapValidator,n=e.validation.ValidationRegistry;if(n){let e={Treemap:t.checkSingleRoot.bind(t)};n.register(e,t)}}p(J,`registerValidationChecks`);var Ie=class{static{p(this,`TreemapValidator`)}checkSingleRoot(e,t){let n;for(let r of e.TreemapRows)r.item&&(n===void 0&&r.indent===void 0?n=0:(r.indent===void 0||n!==void 0&&n>=parseInt(r.indent,10))&&t(`error`,`Multiple root nodes are not allowed in a treemap.`,{node:r,property:`item`}))}},Y={parser:{TokenBuilder:p(()=>new Ne,`TokenBuilder`),ValueConverter:p(()=>new Fe,`ValueConverter`)},validation:{TreemapValidator:p(()=>new Ie,`TreemapValidator`)}};function X(e=l){let r=f(t(e),d),i=f(n({shared:r}),ue,Y);return r.ServiceRegistry.register(i),J(i),{shared:r,Treemap:i}}p(X,`createTreemapServices`);var Le=class extends c{static{p(this,`WardleyValueConverter`)}runCustomConverter(e,t,n){switch(e.name.toUpperCase()){case`LINK_LABEL`:return t.substring(1).trim();default:return}}},Z={parser:{ValueConverter:p(()=>new Le,`ValueConverter`)}};function Q(e=l){let r=f(t(e),d),i=f(n({shared:r}),a,Z);return r.ServiceRegistry.register(i),{shared:r,Wardley:i}}p(Q,`createWardleyServices`);var $={},Re={info:p(async()=>{let{createInfoServices:t}=await e(async()=>{let{createInfoServices:e}=await import(`./info-A6RAGUB7-
|
|
5
|
+
`;break;case`r`:n+=`\r`;break;case`t`:n+=` `;break;default:n+=r}}else n+=r}return n},`decodeEscapedString`),Ae=class extends c{static{p(this,`RailroadPegValueConverter`)}runConverter(e,t,n){let r=super.runConverter(e,t,n);if(e.name===`TITLE`&&typeof r==`string`){let e=r.trim();if(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))return U(e)}return r}runCustomConverter(e,t,n){if(e.name===`PEG_STRING`)return U(t)}},W={parser:{TokenBuilder:p(()=>new ke,`TokenBuilder`),ValueConverter:p(()=>new Ae,`ValueConverter`)}};function G(e=l){let i=f(t(e),d),a=f(n({shared:i}),r,W);return i.ServiceRegistry.register(a),{shared:i,RailroadPeg:a}}p(G,`createRailroadPegServices`);var je=class extends c{static{p(this,`TreeViewValueConverter`)}runCustomConverter(e,t,n){if(e.name===`INDENTATION`)return t?.length||0;if(e.name===`QUOTED_NAME`)return t.substring(1,t.length-1);if(e.name===`BARE_NAME`)return t.replace(/[\t ]+$/,``);if(e.name===`CLASS_ANNOTATION`)return t.trim().substring(3).trim();if(e.name===`ICON_ANNOTATION`){let e=t.trim();return e.substring(5,e.length-1)}if(e.name===`DESC_ANNOTATION`)return t.trim().substring(2).trim()}},Me=class extends u{static{p(this,`TreeViewTokenBuilder`)}constructor(){super([`treeView-beta`])}},K={parser:{TokenBuilder:p(()=>new Me,`TokenBuilder`),ValueConverter:p(()=>new je,`ValueConverter`)}};function q(e=l){let r=f(t(e),d),i=f(n({shared:r}),le,K);return r.ServiceRegistry.register(i),{shared:r,TreeView:i}}p(q,`createTreeViewServices`);var Ne=class extends u{static{p(this,`TreemapTokenBuilder`)}constructor(){super([`treemap`])}},Pe=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Fe=class extends c{static{p(this,`TreemapValueConverter`)}runCustomConverter(e,t,n){if(e.name===`NUMBER2`)return parseFloat(t.replace(/,/g,``));if(e.name===`SEPARATOR`||e.name===`STRING2`)return t.substring(1,t.length-1);if(e.name===`INDENTATION`)return t.length;if(e.name===`ClassDef`){if(typeof t!=`string`)return t;let e=Pe.exec(t);if(e)return{$type:`ClassDefStatement`,className:e[1],styleText:e[2]||void 0}}}};function J(e){let t=e.validation.TreemapValidator,n=e.validation.ValidationRegistry;if(n){let e={Treemap:t.checkSingleRoot.bind(t)};n.register(e,t)}}p(J,`registerValidationChecks`);var Ie=class{static{p(this,`TreemapValidator`)}checkSingleRoot(e,t){let n;for(let r of e.TreemapRows)r.item&&(n===void 0&&r.indent===void 0?n=0:(r.indent===void 0||n!==void 0&&n>=parseInt(r.indent,10))&&t(`error`,`Multiple root nodes are not allowed in a treemap.`,{node:r,property:`item`}))}},Y={parser:{TokenBuilder:p(()=>new Ne,`TokenBuilder`),ValueConverter:p(()=>new Fe,`ValueConverter`)},validation:{TreemapValidator:p(()=>new Ie,`TreemapValidator`)}};function X(e=l){let r=f(t(e),d),i=f(n({shared:r}),ue,Y);return r.ServiceRegistry.register(i),J(i),{shared:r,Treemap:i}}p(X,`createTreemapServices`);var Le=class extends c{static{p(this,`WardleyValueConverter`)}runCustomConverter(e,t,n){switch(e.name.toUpperCase()){case`LINK_LABEL`:return t.substring(1).trim();default:return}}},Z={parser:{ValueConverter:p(()=>new Le,`ValueConverter`)}};function Q(e=l){let r=f(t(e),d),i=f(n({shared:r}),a,Z);return r.ServiceRegistry.register(i),{shared:r,Wardley:i}}p(Q,`createWardleyServices`);var $={},Re={info:p(async()=>{let{createInfoServices:t}=await e(async()=>{let{createInfoServices:e}=await import(`./info-A6RAGUB7-dtsj0ybw.js`);return{createInfoServices:e}},__vite__mapDeps([0,1]),import.meta.url);$.info=t().Info.parser.LangiumParser},`info`),packet:p(async()=>{let{createPacketServices:t}=await e(async()=>{let{createPacketServices:e}=await import(`./packet-AYTQ26CC-ntci3088.js`);return{createPacketServices:e}},__vite__mapDeps([2,1]),import.meta.url);$.packet=t().Packet.parser.LangiumParser},`packet`),pie:p(async()=>{let{createPieServices:t}=await e(async()=>{let{createPieServices:e}=await import(`./pie-WAS4IAKB-o2dc7l36.js`);return{createPieServices:e}},__vite__mapDeps([3,1]),import.meta.url);$.pie=t().Pie.parser.LangiumParser},`pie`),treeView:p(async()=>{let{createTreeViewServices:t}=await e(async()=>{let{createTreeViewServices:e}=await import(`./treeView-Q6P3EWNA-cmuj50l7.js`);return{createTreeViewServices:e}},__vite__mapDeps([4,1]),import.meta.url);$.treeView=t().TreeView.parser.LangiumParser},`treeView`),architecture:p(async()=>{let{createArchitectureServices:t}=await e(async()=>{let{createArchitectureServices:e}=await import(`./architecture-7GRP2DOG-gbajejh3.js`);return{createArchitectureServices:e}},__vite__mapDeps([5,1]),import.meta.url);$.architecture=t().Architecture.parser.LangiumParser},`architecture`),gitGraph:p(async()=>{let{createGitGraphServices:t}=await e(async()=>{let{createGitGraphServices:e}=await import(`./gitGraph-4MIJSDKK-bxq1lbhy.js`);return{createGitGraphServices:e}},__vite__mapDeps([6,1]),import.meta.url);$.gitGraph=t().GitGraph.parser.LangiumParser},`gitGraph`),eventmodeling:p(async()=>{let{createEventModelingServices:t}=await e(async()=>{let{createEventModelingServices:e}=await import(`./eventmodeling-NTZA5JFV-ojcc486t.js`);return{createEventModelingServices:e}},__vite__mapDeps([7,1]),import.meta.url);$.eventmodeling=t().EventModel.parser.LangiumParser},`eventmodeling`),radar:p(async()=>{let{createRadarServices:t}=await e(async()=>{let{createRadarServices:e}=await import(`./radar-RG4KPBEZ-9pcospra.js`);return{createRadarServices:e}},__vite__mapDeps([8,1]),import.meta.url);$.radar=t().Radar.parser.LangiumParser},`radar`),railroad:p(async()=>{let{createRailroadServices:t}=await e(async()=>{let{createRailroadServices:e}=await import(`./railroad-74A4TZTK-nzdga12j.js`);return{createRailroadServices:e}},__vite__mapDeps([9,1]),import.meta.url);$.railroad=t().Railroad.parser.LangiumParser},`railroad`),railroadEbnf:p(async()=>{let{createRailroadEbnfServices:t}=await e(async()=>{let{createRailroadEbnfServices:e}=await import(`./railroad-ebnf-LZEXJU2U-iw7uc1wy.js`);return{createRailroadEbnfServices:e}},__vite__mapDeps([10,1]),import.meta.url);$.railroadEbnf=t().RailroadEbnf.parser.LangiumParser},`railroadEbnf`),railroadAbnf:p(async()=>{let{createRailroadAbnfServices:t}=await e(async()=>{let{createRailroadAbnfServices:e}=await import(`./railroad-abnf-HS5TGJTU-ep3ytel0.js`);return{createRailroadAbnfServices:e}},__vite__mapDeps([11,1]),import.meta.url);$.railroadAbnf=t().RailroadAbnf.parser.LangiumParser},`railroadAbnf`),railroadPeg:p(async()=>{let{createRailroadPegServices:t}=await e(async()=>{let{createRailroadPegServices:e}=await import(`./railroad-peg-WCYAUIDC-fo3b3gme.js`);return{createRailroadPegServices:e}},__vite__mapDeps([12,1]),import.meta.url);$.railroadPeg=t().RailroadPeg.parser.LangiumParser},`railroadPeg`),treemap:p(async()=>{let{createTreemapServices:t}=await e(async()=>{let{createTreemapServices:e}=await import(`./treemap-WGGIJYW6-dpjlg0xc.js`);return{createTreemapServices:e}},__vite__mapDeps([13,1]),import.meta.url);$.treemap=t().Treemap.parser.LangiumParser},`treemap`),wardley:p(async()=>{let{createWardleyServices:t}=await e(async()=>{let{createWardleyServices:e}=await import(`./wardley-WFR3VGLG-ij35obrl.js`);return{createWardleyServices:e}},__vite__mapDeps([14,1]),import.meta.url);$.wardley=t().Wardley.parser.LangiumParser},`wardley`),cynefin:p(async()=>{let{createCynefinServices:t}=await e(async()=>{let{createCynefinServices:e}=await import(`./cynefin-OW5HDTMX-n5n1ck70.js`);return{createCynefinServices:e}},__vite__mapDeps([15,1]),import.meta.url);$.cynefin=t().Cynefin.parser.LangiumParser},`cynefin`)};async function ze(e,t){let n=Re[e];if(!n)throw Error(`Unknown diagram type: ${e}`);$[e]||await n();let r=$[e].parse(t);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new Be(r);return r.value}p(ze,`parse`);var Be=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>`Lexer error on line ${e.line!==void 0&&!isNaN(e.line)?e.line:`?`}, column ${e.column!==void 0&&!isNaN(e.column)?e.column:`?`}: ${e.message}`).join(`
|
|
6
6
|
`),n=e.parserErrors.map(e=>`Parse error on line ${e.token.startLine!==void 0&&!isNaN(e.token.startLine)?e.token.startLine:`?`}, column ${e.token.startColumn!==void 0&&!isNaN(e.token.startColumn)?e.token.startColumn:`?`}: ${e.message}`).join(`
|
|
7
7
|
`);super(`Parsing failed: ${t} ${n}`),this.result=e}static{p(this,`MermaidParseError`)}};export{_ as A,O as C,w as D,D as E,h as M,T as O,j as S,E as T,P as _,Y as a,N as b,q as c,V as d,H as f,we as g,L as h,Q as i,m as j,g as k,W as l,z as m,ze as n,X as o,R as p,Z as r,K as s,Be as t,G as u,F as v,k as w,A as x,M as y};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-n9gs7k4d.js";import{m as t}from"./src-h89s0hs4.js";import{b as n,et as r,f as i,k as a,rt as o,tt as s,x as c,z as l}from"./chunk-DU6HZSFF-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-n9gs7k4d.js";import{m as t}from"./src-h89s0hs4.js";import{b as n,et as r,f as i,k as a,rt as o,tt as s,x as c,z as l}from"./chunk-DU6HZSFF-gq439wot.js";import"./chunk-75Z2AOVW-gnt6pnso.js";import"./chunk-P2QGCYS3-ivo3i1wf.js";import"./chunk-PWAF6VOD-jb0fdyb0.js";import"./chunk-GMAD6QVW-mc2gu30k.js";import"./chunk-4HAMMTFA-i9s6h4wv.js";import"./chunk-GVQU2GXP-f8fxa2ym.js";import"./chunk-L3NEJ4N5-kbfdidwu.js";import"./chunk-OSK3NFVY-dvxsduj6.js";import{n as u,t as d}from"./dist-cb8um5dh.js";import{t as f}from"./chunk-XXDRQBXY-jkmnqu65.js";import{t as p}from"./chunk-POPQ4Y6H-i0gfu0hx.js";var m=[];for(let e=0;e<256;++e)m.push((e+256).toString(16).slice(1));function h(e,t=0){return(m[e[t+0]]+m[e[t+1]]+m[e[t+2]]+m[e[t+3]]+`-`+m[e[t+4]]+m[e[t+5]]+`-`+m[e[t+6]]+m[e[t+7]]+`-`+m[e[t+8]]+m[e[t+9]]+`-`+m[e[t+10]]+m[e[t+11]]+m[e[t+12]]+m[e[t+13]]+m[e[t+14]]+m[e[t+15]]).toLowerCase()}var g=new Uint8Array(16);function _(){return crypto.getRandomValues(g)}function v(e,t,n){return!t&&!e&&crypto.randomUUID?crypto.randomUUID():y(e,t,n)}function y(e,t,n){e||={};let r=e.random??e.rng?.()??_();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return h(r)}var b=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,4],r=[1,13],i=[1,12],a=[1,15],o=[1,16],s=[1,20],c=[1,19],l=[6,7,8],u=[1,26],d=[1,24],f=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],h=[1,33],g=[1,34],_=[1,6,7,11,13,15,16,19,22],v={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:`error`,6:`SPACELINE`,7:`NL`,8:`MINDMAP`,11:`EOF`,13:`SPACELIST`,15:`ICON`,16:`CLASS`,19:`NODE_DSTART`,20:`NODE_DESCR`,21:`NODE_DEND`,22:`NODE_ID`},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 6:case 7:return r;case 8:r.getLogger().trace(`Stop NL `);break;case 9:r.getLogger().trace(`Stop EOF `);break;case 11:r.getLogger().trace(`Stop NL2 `);break;case 12:r.getLogger().trace(`Stop EOF2 `);break;case 15:r.getLogger().info(`Node: `,a[s].id),r.addNode(a[s-1].length,a[s].id,a[s].descr,a[s].type);break;case 16:r.getLogger().trace(`Icon: `,a[s]),r.decorateNode({icon:a[s]});break;case 17:case 21:r.decorateNode({class:a[s]});break;case 18:r.getLogger().trace(`SPACELIST`);break;case 19:r.getLogger().trace(`Node: `,a[s].id),r.addNode(0,a[s].id,a[s].descr,a[s].type);break;case 20:r.decorateNode({icon:a[s]});break;case 25:r.getLogger().trace(`node found ..`,a[s-2]),this.$={id:a[s-1],descr:a[s-1],type:r.getType(a[s-2],a[s])};break;case 26:this.$={id:a[s],descr:a[s],type:r.nodeType.DEFAULT};break;case 27:r.getLogger().trace(`node found ..`,a[s-3]),this.$={id:a[s-3],descr:a[s-1],type:r.getType(a[s-2],a[s])}}},`anonymous`),table:[{3:1,4:2,5:3,6:[1,5],8:n},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:n},{6:r,7:[1,10],9:9,12:11,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},{6:r,9:22,12:11,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},{6:u,7:d,10:23,11:f},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:c}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:d,10:32,11:f},{1:[2,7],6:r,12:21,13:i,14:14,15:a,16:o,17:17,18:18,19:s,22:c},t(m,[2,14],{7:h,11:g}),t(_,[2,8]),t(_,[2,9]),t(_,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:h,11:g}),t(_,[2,11]),t(_,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
2
2
|
`+h.showPosition()+`
|
|
3
3
|
Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};v.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-bnnw9q4a.js";import{n as t,t as n}from"./jsx-runtime-o40ukmjl.js";import{l as r,r as i,t as a}from"./runtime-nlxpnegr.js";import{Fn as o,In as s,aa as c,jn as l,r as ee,t as te}from"./queryKeys-cnvn6pea.js";import{t as ne}from"./useForm-lxzhiqao.js";import{i as re,t as ie}from"./Toaster-d6col3ch.js";import{G as ae,I as oe,s as u}from"./getPseudoElementBounds-mwj3vqni.js";import{Pt as se,i as ce,jt as le}from"./toast-gqqcvxiy.js";import{t as ue}from"./Button-dlsibkzq.js";import{i as de,n as fe,r as pe,t as me}from"./OAuthSignIn-i4flsuq2.js";import{bt as he,ct as ge,et as _e,n as ve,st as ye}from"./index-hx7z4wdj.js";import{t as be}from"./Select-f3l897pt.js";var xe=()=>`API key`,d=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_api_key_label;return r?r(e):xe(e)}),Se=()=>`Leave blank to keep an existing saved key`,f=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_api_key_placeholder;return r?r(e):Se(e)}),p=()=>`Back`,Ce=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_back;return r?r(e):p(e)}),m=()=>`FIRST RUN`,we=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_badge;return r?r(e):m(e)}),h=()=>`Hermes Agent`,Te=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_check_agent;return r?r(e):h(e)}),g=()=>`Missing or partially importable`,Ee=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_check_agent_missing;return r?r(e):g(e)}),De=()=>`Detected and importable`,Oe=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_check_agent_ready;return r?r(e):De(e)}),_=()=>`Password`,ke=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_check_password;return r?r(e):_(e)}),v=()=>`Not enabled yet`,Ae=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_check_password_disabled;return r?r(e):v(e)}),y=()=>`Already enabled`,je=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_check_password_enabled;return r?r(e):y(e)}),b=()=>`Provider config`,Me=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_check_provider;return r?r(e):b(e)}),x=()=>`Saved but incomplete`,S=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_check_provider_partial;return r?r(e):x(e)}),C=()=>`Needs verification`,w=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_check_provider_pending;return r?r(e):C(e)}),T=()=>`Ready to chat`,E=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_check_provider_ready;return r?r(e):T(e)}),D=()=>`Onboarding complete`,Ne=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_complete;return r?r(e):D(e)}),O=()=>`Config file:`,Pe=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_config_file;return r?r(e):O(e)}),k=()=>`Continue`,Fe=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_continue;return r?r(e):k(e)}),Ie=()=>`.env file:`,Le=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_env_file;return r?r(e):Ie(e)}),Re=()=>`Base URL is required for custom endpoints.`,ze=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_error_base_url_required;return r?r(e):Re(e)}),A=()=>`Choose a model before continuing.`,Be=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_error_choose_model;return r?r(e):A(e)}),j=()=>`Choose a workspace before continuing.`,Ve=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_error_choose_workspace;return r?r(e):j(e)}),M=()=>`Model is required.`,He=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_error_model_required;return r?r(e):M(e)}),Ue=()=>`Could not validate the configured base URL.`,We=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_error_probe_failed;return r?r(e):Ue(e)}),N=()=>`Choose a setup mode before continuing.`,Ge=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_error_provider_required;return r?r(e):N(e)}),Ke=()=>`Sign in to this provider to continue.`,qe=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_error_sign_in_required;return r?r(e):Ke(e)}),P=()=>`Workspace is required.`,Je=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_error_workspace_required;return r?r(e):P(e)}),Ye=()=>`Finishing stores <code>onboarding_completed</code> in settings and drops you into the normal app.`,Xe=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_finish_help;return r?r(e):Ye(e)}),F=()=>`A quick guided setup will verify Hermes, save a real provider configuration, choose a workspace and model, and optionally protect the app with a password.`,Ze=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_lead;return r?r(e):F(e)}),I=()=>`Missing imports:`,Qe=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_missing_imports;return r?r(e):I(e)}),$e=()=>`Not set`,et=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_not_set;return r?r(e):$e(e)}),L=()=>`You can reopen Settings later to change any of this.`,tt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_notice_finish;return r?r(e):L(e)}),nt=()=>`A password is already configured. Enter a new one only if you want to replace it.`,rt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_notice_password_enabled;return r?r(e):nt(e)}),R=()=>`Optional but recommended if you will expose the UI beyond localhost.`,it=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_notice_password_recommended;return r?r(e):R(e)}),z=()=>`A working Hermes provider setup is already detected. You can keep it or replace it here.`,at=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_notice_setup_already_ready;return r?r(e):z(e)}),ot=()=>`Choose a provider. Some take an API key; others give you a code to approve in your browser.`,st=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_notice_setup_choose;return r?r(e):ot(e)}),B=()=>`Hermes Agent looks reachable from the Web UI.`,ct=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_notice_system_ready;return r?r(e):B(e)}),V=()=>`Hermes Agent is not fully available yet. Bootstrap can install it, but provider setup may still require a terminal.`,lt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_notice_system_unavailable;return r?r(e):V(e)}),H=()=>`These values reuse the same settings APIs as the normal app.`,ut=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_notice_workspace;return r?r(e):H(e)}),U=()=>`Open Hermes`,dt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_open;return r?r(e):U(e)}),W=()=>`Passwords are stored through the existing settings API and hashed server-side.`,G=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_password_help;return r?r(e):W(e)}),K=()=>`Password (optional)`,q=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_password_label;return r?r(e):K(e)}),J=()=>`Leave blank to skip`,Y=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_password_placeholder;return r?r(e):J(e)}),X=()=>`Will be set`,ft=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_password_summary_set;return r?r(e):X(e)}),Z=()=>`Setup mode`,pt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_provider_label;return r?r(e):Z(e)}),mt=()=>`Skip setup`,ht=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_skip;return r?r(e):mt(e)}),gt=()=>`Setup skipped — using existing config.`,_t=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_skipped;return r?r(e):gt(e)}),vt=()=>`Review and enter the app.`,yt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_step_finish_desc;return r?r(e):vt(e)}),bt=()=>`Finish`,xt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_step_finish_title;return r?r(e):bt(e)}),St=()=>`Protect the Web UI before sharing it.`,Ct=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_step_password_desc;return r?r(e):St(e)}),wt=()=>`Optional password`,Tt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_step_password_title;return r?r(e):wt(e)}),Et=()=>`Save the minimum Hermes provider config.`,Dt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_step_setup_desc;return r?r(e):Et(e)}),Ot=()=>`Provider setup`,kt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_step_setup_title;return r?r(e):Ot(e)}),At=()=>`Verify Hermes Agent and config visibility.`,jt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_step_system_desc;return r?r(e):At(e)}),Mt=()=>`System check`,Nt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_step_system_title;return r?r(e):Mt(e)}),Pt=()=>`Pick defaults for new sessions and chat.`,Ft=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_step_workspace_desc;return r?r(e):Pt(e)}),It=()=>`Workspace + model`,Lt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_step_workspace_title;return r?r(e):It(e)}),Rt=()=>`Welcome to Talaria Web`,zt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_title;return r?r(e):Rt(e)}),Bt=()=>`Unknown`,Vt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_unknown;return r?r(e):Bt(e)}),Ht=()=>`Workspace`,Ut=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_workspace_label;return r?r(e):Ht(e)}),Wt=()=>`Or enter a workspace path`,Gt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_workspace_or_path;return r?r(e):Wt(e)}),Kt=()=>`/home/you/workspace`,qt=((e={},t={})=>{let n=t.locale??a(),r=i[n]?.onboarding_workspace_placeholder;return r?r(e):Kt(e)}),Jt=r(),Q=e(t(),1),$=n(),Yt=[`system`,`setup`,`workspace`,`password`,`finish`],Xt=se({requires_base_url:le().optional()});function Zt(e){switch(e){case`system`:return{title:Nt(),desc:jt()};case`setup`:return{title:kt(),desc:Dt()};case`workspace`:return{title:Lt(),desc:Ft()};case`password`:return{title:Tt(),desc:Ct()};case`finish`:return{title:xt(),desc:yt()}}}function Qt(e){return e.chat_ready?E():e.provider_configured?S():w()}function $t(){let e=(0,Jt.c)(99);_e();let t=oe(),n=c(),r=he(),i=ae(),[a,se]=(0,Q.useState)(0),[le,de]=(0,Q.useState)(null),[pe,xe]=(0,Q.useState)(!1),d=t.data,Se;e[0]===d?.setup?.providers?Se=e[1]:(Se=d?.setup?.providers??[],e[0]=d?.setup?.providers,e[1]=Se);let f=Se,p;e[2]===d?.workspaces?.items?p=e[3]:(p=d?.workspaces?.items??[],e[2]=d?.workspaces?.items,e[3]=p);let m=p,h;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(h={provider:`openrouter`,apiKey:``,baseUrl:``,workspace:``,model:``,password:``},e[4]=h):h=e[4];let g=ne({defaultValues:h,onSubmit:async e=>{let{value:t}=e;await F(t)}}),De=(0,Q.useRef)(!1),_,v;e[5]!==d||e[6]!==g||e[7]!==n?(_=()=>{if(d){if(!De.current){De.current=!0;let e=d.setup?.current??{};g.setFieldValue(`provider`,e.provider??`openrouter`),g.setFieldValue(`workspace`,d.workspaces?.last??d.settings?.default_workspace??``),g.setFieldValue(`model`,d.settings?.default_model??e.model??``),g.setFieldValue(`baseUrl`,e.base_url??``)}d.completed&&n({to:`/`})}},v=[d,g,n],e[5]=d,e[6]=g,e[7]=n,e[8]=_,e[9]=v):(_=e[8],v=e[9]),(0,Q.useEffect)(_,v);let y=Yt[a]??`system`,b;e[10]===d?.system?b=e[11]:(b=d?.system??{},e[10]=d?.system,e[11]=b);let x=b,S;e[12]===d?.settings?S=e[13]:(S=d?.settings??{},e[12]=d?.settings,e[13]=S);let C=S,w;bb0:{if(!d){w=null;break bb0}if(y===`system`){let t=!!x.chat_ready,n;e[14]===t?n=e[15]:(n=t?ct():lt(),e[14]=t,e[15]=n);let r=n,i=x.provider_note===void 0||x.provider_note===``?r:x.provider_note,a=t?`success`:x.hermes_found&&x.imports_ok?`info`:`warn`,o;e[16]!==i||e[17]!==a?(o={text:i,kind:a},e[16]=i,e[17]=a,e[18]=o):o=e[18],w=o;break bb0}if(y===`setup`){let t;e[19]===x.chat_ready?t=e[20]:(t=x.chat_ready?at():st(),e[19]=x.chat_ready,e[20]=t);let n=x.chat_ready?`success`:`info`,r;e[21]!==n||e[22]!==t?(r={text:t,kind:n},e[21]=n,e[22]=t,e[23]=r):r=e[23],w=r;break bb0}if(y===`workspace`){let t;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(t={text:ut(),kind:`info`},e[24]=t):t=e[24],w=t;break bb0}if(y===`password`){let t;e[25]===C.password_enabled?t=e[26]:(t=C.password_enabled?rt():it(),e[25]=C.password_enabled,e[26]=t);let n=C.password_enabled?`success`:`info`,r;e[27]!==n||e[28]!==t?(r={text:t,kind:n},e[27]=n,e[28]=t,e[29]=r):r=e[29],w=r;break bb0}let t;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(t={text:tt(),kind:`success`},e[30]=t):t=e[30],w=t}let T=le??w,E;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>de(e),e[31]=E):E=e[31];let D=E,O;e[32]===f?O=e[33]:(O=e=>f.find(t=>t.id===e)??null,e[32]=f,e[33]=O);let k=O,[Ie,Re]=(0,Q.useState)(dn),A;e[34]===Ie?A=e[35]:(A=e=>!!e&&(!!e.signed_in||Ie.has(e.id)),e[34]=Ie,e[35]=A);let j=A,M;e[36]===r?M=e[37]:(M=e=>{Re(t=>t.has(e)?t:new Set(t).add(e)),r.invalidateQueries({queryKey:te.onboarding})},e[36]=r,e[37]=M);let Ue=M,N;e[38]!==d?.setup?.current||e[39]!==d?.setup?.current_is_oauth||e[40]!==x?(N=async function(e){let t=d?.setup?.current??{},n=t.provider===e.provider&&(t.model??``)===e.model&&(t.base_url??``)===e.baseUrl,r=!!d?.setup?.current_is_oauth;if(n&&!e.apiKey&&(x.chat_ready||r))return;let i={provider:e.provider,model:e.model};e.apiKey&&(i.api_key=e.apiKey),e.baseUrl&&(i.base_url=e.baseUrl),await s(i)},e[38]=d?.setup?.current,e[39]=d?.setup?.current_is_oauth,e[40]=x,e[41]=N):N=e[41];let Ke=N,P;e[42]!==i||e[43]!==m?(P=async function(e){if(!e.workspace)throw Error(Ve());if(!e.model)throw Error(Be());m.some(t=>t.path===e.workspace)||await ee(e.workspace);let t={default_workspace:e.workspace};e.password&&(t._set_password=e.password),await i.mutateAsync(t)},e[42]=i,e[43]=m,e[44]=P):P=e[44];let Ye=P;async function F(e){await Ke(e),await Ye(e),await l(),ce(Ne()),await ve(),await r.invalidateQueries(),await n({to:`/`,search:{action:`new-chat`}})}let I;e[45]!==F||e[46]!==g.state.values||e[47]!==y||e[48]!==k||e[49]!==D||e[50]!==j||e[51]!==a?(I=async function(){xe(!0),await(async()=>{let e=g.state.values;if(y===`setup`){if(!e.provider)throw Error(Ge());let t=k(e.provider);if(t?.oauth_flow&&!j(t))throw Error(qe());let n=t?Xt.safeParse(t):null,r=!!(n?.success&&n.data.requires_base_url);if((e.provider===`custom`||r)&&!e.baseUrl)throw Error(ze());if(r){let t=await o({provider:e.provider,base_url:e.baseUrl,api_key:e.apiKey});if(!(t.ok??t.success))throw Error(t.error??t.message??We())}}if(y===`workspace`){if(!e.workspace)throw Error(Je());if(!e.model)throw Error(He())}a===Yt.length-1?await F(e):(de(null),se(a+1))})().catch(e=>{D({text:e instanceof Error?e.message:String(e),kind:`warn`})}),xe(!1)},e[45]=F,e[46]=g.state.values,e[47]=y,e[48]=k,e[49]=D,e[50]=j,e[51]=a,e[52]=I):I=e[52];let $e=I,L;e[53]!==n||e[54]!==D?(L=async function(){try{await l(),ce(_t()),await ve(),await n({to:`/`})}catch(e){let t=e;D({text:t instanceof Error?t.message:String(t),kind:`warn`})}},e[53]=n,e[54]=D,e[55]=L):L=e[55];let nt=L,R=g.state.values.provider,z;e[56]!==d?.models?.groups||e[57]!==R?(z=(d?.models?.groups.find(e=>e.provider_id===R||e.provider===R))?.models.map(un)??d?.models?.groups.flatMap(cn)??[],e[56]=d?.models?.groups,e[57]=R,e[58]=z):z=e[58];let ot=z,B;e[59]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(`div`,{className:`inline-flex rounded-full border border-border2 bg-surface-subtle px-2.5 py-1 text-[10px] font-semibold uppercase tracking-wider text-muted`,children:we()}),e[59]=B):B=e[59];let V;e[60]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(`h1`,{className:`mt-3 text-xl font-semibold text-strong`,id:`onboardingTitle`,children:zt()}),e[60]=V):V=e[60];let H;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(`p`,{className:`mt-2 text-sm text-muted`,id:`onboardingLead`,children:Ze()}),e[61]=H):H=e[61];let U;e[62]===a?U=e[63]:(U=Yt.map((e,t)=>{let n=Zt(e);return(0,$.jsxs)(`li`,{className:re(`onboarding-step flex gap-3 rounded-lg px-2 py-2`,t===a&&`active bg-accent-bg`,t<a&&`done opacity-70`),"aria-current":t===a?`step`:void 0,children:[(0,$.jsx)(`div`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-border text-xs`,children:t+1}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-sm font-medium text-text`,children:n.title}),(0,$.jsx)(`div`,{className:`text-xs text-muted`,children:n.desc})]})]},e)}),e[62]=a,e[63]=U);let W;e[64]===U?W=e[65]:(W=(0,$.jsxs)(`aside`,{children:[B,V,H,(0,$.jsx)(`ol`,{className:`mt-5 flex flex-col gap-2`,id:`onboardingSteps`,children:U})]}),e[64]=U,e[65]=W);let G;e[66]===T?G=e[67]:(G=T&&(0,$.jsx)(`div`,{className:re(`mb-4 rounded-lg border px-3 py-2 text-sm`,T.kind===`success`&&`border-success text-success`,T.kind===`warn`&&`border-warning text-warning`,T.kind===`info`&&`border-border text-muted`),role:T.kind===`warn`?`alert`:`status`,id:`onboardingNotice`,children:T.text}),e[66]=T,e[67]=G);let K;e[68]===t.isPending?K=e[69]:(K=t.isPending&&(0,$.jsx)(`p`,{className:`text-sm text-muted`,children:ye()}),e[68]=t.isPending,e[69]=K);let q;e[70]===t.isError?q=e[71]:(q=t.isError&&(0,$.jsx)(`p`,{className:`text-sm text-error`,role:`alert`,children:ge()}),e[70]=t.isError,e[71]=q);let J;e[72]!==pe||e[73]!==d||e[74]!==g||e[75]!==y||e[76]!==ot||e[77]!==$e||e[78]!==Ue||e[79]!==f||e[80]!==k||e[81]!==C||e[82]!==j||e[83]!==nt||e[84]!==a||e[85]!==x||e[86]!==m?(J=d&&(0,$.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),$e()},className:`flex min-h-[260px] flex-1 flex-col gap-3`,id:`onboardingBody`,autoComplete:`off`,children:[y===`system`&&(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[(0,$.jsx)(fn,{ok:!!(x.hermes_found&&x.imports_ok),label:Te(),value:x.hermes_found&&x.imports_ok?Oe():Ee()}),(0,$.jsx)(fn,{ok:!!x.chat_ready,muted:!x.provider_configured,label:Me(),value:Qt(x)}),(0,$.jsx)(fn,{ok:!!C.password_enabled,muted:!C.password_enabled,label:ke(),value:C.password_enabled?je():Ae()}),(0,$.jsxs)(`div`,{className:`onboarding-copy col-span-full text-sm text-muted`,children:[(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{className:`text-text`,children:Pe()}),` `,x.config_path??Vt()]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{className:`text-text`,children:Le()}),` `,x.env_path??Vt()]}),x.missing_modules&&x.missing_modules.length>0&&(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{className:`text-text`,children:Qe()}),` `,x.missing_modules.join(`, `)]})]})]}),y===`setup`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(g.Field,{name:`provider`,children:e=>(0,$.jsxs)(`label`,{className:`onboarding-field flex flex-col gap-1 text-sm`,children:[(0,$.jsx)(`span`,{children:pt()}),(0,$.jsxs)(be,{id:`onboardingProviderSelect`,value:e.state.value,onValueChange:t=>{e.handleChange(t),g.setFieldValue(`model`,k(t)?.default_model??``)},children:[f.map(sn),f.length===0&&(0,$.jsx)(`option`,{value:e.state.value,children:e.state.value})]})]})}),(0,$.jsx)(g.Subscribe,{selector:on,children:e=>{let t=k(e);return t?.oauth_flow?(0,$.jsx)(me,{provider:t.id,label:t.oauth_label||t.label||t.id,signedIn:j(t),onApproved:Ue},t.id):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(g.Field,{name:`apiKey`,children:an}),(0,$.jsx)(g.Field,{name:`baseUrl`,children:rn})]})}}),(0,$.jsx)(`p`,{className:`text-xs text-muted`,children:d.setup?.unsupported_note??``})]}),y===`workspace`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(g.Field,{name:`workspace`,children:e=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`label`,{className:`onboarding-field flex flex-col gap-1 text-sm`,children:[(0,$.jsx)(`span`,{children:Ut()}),(0,$.jsxs)(be,{id:`onboardingWorkspaceSelect`,value:m.some(t=>t.path===e.state.value)?e.state.value:``,onValueChange:t=>e.handleChange(t),children:[(0,$.jsx)(`option`,{value:``,children:`—`}),m.map(nn)]})]}),(0,$.jsxs)(`label`,{className:`onboarding-field flex flex-col gap-1 text-sm`,children:[(0,$.jsx)(`span`,{children:Gt()}),(0,$.jsx)(u,{id:`onboardingWorkspaceInput`,value:e.state.value,onChange:t=>e.handleChange(t.target.value),placeholder:qt()})]})]})}),(0,$.jsx)(g.Field,{name:`model`,children:e=>(0,$.jsxs)(`label`,{className:`onboarding-field flex flex-col gap-1 text-sm`,children:[(0,$.jsx)(`span`,{children:fe()}),(0,$.jsx)(u,{id:`onboardingModelInput`,list:`onboardingModelChoices`,value:e.state.value,onChange:t=>e.handleChange(t.target.value)}),(0,$.jsx)(`datalist`,{id:`onboardingModelChoices`,children:ot.map(tn)})]})})]}),y===`password`&&(0,$.jsx)(g.Field,{name:`password`,children:en}),y===`finish`&&(0,$.jsxs)(`div`,{className:`onboarding-summary grid gap-2 text-sm`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`strong`,{className:`text-text`,children:pt()}),` `,(0,$.jsx)(`span`,{className:`text-muted`,children:k(g.state.values.provider)?.label??g.state.values.provider??et()})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`strong`,{className:`text-text`,children:fe()}),` `,(0,$.jsx)(`span`,{className:`text-muted`,children:g.state.values.model||et()})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`strong`,{className:`text-text`,children:Ut()}),` `,(0,$.jsx)(`span`,{className:`text-muted`,children:g.state.values.workspace||et()})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`strong`,{className:`text-text`,children:ke()}),` `,(0,$.jsx)(`span`,{className:`text-muted`,children:g.state.values.password?ft():C.password_enabled?je():Ae()})]}),(0,$.jsx)(`p`,{className:`text-xs text-muted`,children:Xe()})]}),(0,$.jsxs)(`div`,{className:`mt-auto flex items-center justify-between gap-2 pt-4`,children:[(0,$.jsx)(ue,{variant:`ghost`,onClick:()=>{nt()},id:`onboardingSkipBtn`,children:ht()}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[a>0&&(0,$.jsx)(ue,{onClick:()=>se(a-1),id:`onboardingBackBtn`,children:Ce()}),(0,$.jsx)(ue,{variant:`primary`,type:`submit`,disabled:pe,id:`onboardingNextBtn`,children:y===`finish`?dt():Fe()})]})]})]}),e[72]=pe,e[73]=d,e[74]=g,e[75]=y,e[76]=ot,e[77]=$e,e[78]=Ue,e[79]=f,e[80]=k,e[81]=C,e[82]=j,e[83]=nt,e[84]=a,e[85]=x,e[86]=m,e[87]=J):J=e[87];let Y;e[88]!==G||e[89]!==K||e[90]!==q||e[91]!==J?(Y=(0,$.jsxs)(`section`,{className:`flex min-w-0 flex-col`,children:[G,K,q,J]}),e[88]=G,e[89]=K,e[90]=q,e[91]=J,e[92]=Y):Y=e[92];let X;e[93]!==W||e[94]!==Y?(X=(0,$.jsxs)(`div`,{className:`onboarding-card grid w-[min(1040px,100%)] gap-6 rounded-2xl border border-border bg-surface p-6 shadow-md md:grid-cols-[260px_1fr]`,children:[W,Y]}),e[93]=W,e[94]=Y,e[95]=X):X=e[95];let Z;e[96]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,$.jsx)(ie,{}),e[96]=Z):Z=e[96];let mt;return e[97]===X?mt=e[98]:(mt=(0,$.jsxs)(`main`,{className:`onboarding-overlay flex min-h-full items-start justify-center overflow-y-auto bg-bg p-4 text-text md:items-center`,id:`onboardingOverlay`,children:[X,Z]}),e[97]=X,e[98]=mt),mt}function en(e){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`label`,{className:`onboarding-field flex flex-col gap-1 text-sm`,children:[(0,$.jsx)(`span`,{children:q()}),(0,$.jsx)(u,{id:`onboardingPasswordInput`,type:`password`,autoComplete:`new-password`,value:e.state.value,onChange:t=>e.handleChange(t.target.value),placeholder:Y()})]}),(0,$.jsx)(`p`,{className:`text-xs text-muted`,children:G()})]})}function tn(e){return(0,$.jsx)(`option`,{value:e},e)}function nn(e){return(0,$.jsxs)(`option`,{value:e.path,children:[e.name,` — `,e.path]},e.path)}function rn(e){return(0,$.jsxs)(`label`,{className:`onboarding-field flex flex-col gap-1 text-sm`,children:[(0,$.jsx)(`span`,{children:de()}),(0,$.jsx)(u,{id:`onboardingBaseUrlInput`,value:e.state.value,onChange:t=>e.handleChange(t.target.value),placeholder:pe()})]})}function an(e){return(0,$.jsxs)(`label`,{className:`onboarding-field flex flex-col gap-1 text-sm`,children:[(0,$.jsx)(`span`,{children:d()}),(0,$.jsx)(u,{id:`onboardingApiKeyInput`,type:`password`,autoComplete:`off`,value:e.state.value,onChange:t=>e.handleChange(t.target.value),placeholder:f()})]})}function on(e){return e.values.provider}function sn(e){return(0,$.jsx)(`option`,{value:e.id,children:e.label??e.name??e.id},e.id)}function cn(e){return e.models.map(ln)}function ln(e){return e.id}function un(e){return e.id}function dn(){return new Set}function fn(e){let t=(0,Jt.c)(10),{ok:n,muted:r,label:i,value:a}=e,o=n?`border-success`:r?`border-border text-muted`:`border-warning`,s;t[0]===o?s=t[1]:(s=re(`onboarding-check rounded-lg border px-3 py-2 text-sm`,o),t[0]=o,t[1]=s);let c;t[2]===i?c=t[3]:(c=(0,$.jsx)(`strong`,{className:`block text-text`,children:i}),t[2]=i,t[3]=c);let l;t[4]===a?l=t[5]:(l=(0,$.jsx)(`span`,{className:`text-muted`,children:a}),t[4]=a,t[5]=l);let ee;return t[6]!==s||t[7]!==c||t[8]!==l?(ee=(0,$.jsxs)(`div`,{className:s,children:[c,l]}),t[6]=s,t[7]=c,t[8]=l,t[9]=ee):ee=t[9],ee}var pn=$t;export{pn as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-FOHPRMQF-ipewusgj.js";export{S as createPacketServices}from"./mermaid-parser.core-
|
|
1
|
+
import"./chunk-FOHPRMQF-ipewusgj.js";export{S as createPacketServices}from"./mermaid-parser.core-fflovwf2.js";
|
package/static/dist/assets/{pegDiagram-XKGWAZYB-ec3rpj0m.js → pegDiagram-XKGWAZYB-e3btz04w.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e,u as t}from"./mermaid-parser.core-
|
|
1
|
+
import{t as e,u as t}from"./mermaid-parser.core-fflovwf2.js";import{n}from"./chunk-Y2CYZVJY-n9gs7k4d.js";import{m as r}from"./src-h89s0hs4.js";import"./chunk-DU6HZSFF-gq439wot.js";import"./dist-cb8um5dh.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-e2v7me5v.js";import{t as s}from"./chunk-JWPE2WC7-mw03m5s9.js";var c=t().RailroadPeg.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformOrderedChoice`),u=n(e=>{let t=e.elements.map(d);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformSequence`),d=n(e=>{let t=p(e.suffix);return e.operator?{type:`special`,text:e.operator===`&`?`&${f(t)}`:`!${f(t)}`}:t},`transformPrefix`),f=n(e=>{switch(e.type){case`terminal`:return`"${e.value}"`;case`nonterminal`:return e.name;case`special`:return e.text;default:return`(...)`}},`nodeToLabel`),p=n(e=>{let t=m(e.primary);if(!e.operator)return t;switch(e.operator){case`?`:return{type:`optional`,element:t};case`*`:return{type:`repetition`,element:t,min:0,max:1/0};case`+`:return{type:`repetition`,element:t,min:1,max:1/0};default:throw Error(`Unsupported PEG suffix operator: ${e.operator}`)}},`transformSuffix`),m=n(e=>{switch(e.$type){case`PegLiteral`:return{type:`terminal`,value:e.value};case`PegIdentifier`:return{type:`nonterminal`,name:e.name};case`PegGroup`:return l(e.element);case`PegAny`:return{type:`special`,text:e.dot};default:throw Error(`Unsupported PEG primary node: ${e.$type}`)}},`transformPrimary`),h=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),g=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(h(e)))},`populateDb`),_={parser:{parse:n(t=>{o.clear(),r.debug(`[PEG Parser] Starting Langium parse`);let n=c.parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new e(n);let i=n.value;r.debug(`[PEG Parser] Parsed rules:`,i.rules.length),g(i),r.debug(`[PEG Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{_ as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-FOHPRMQF-ipewusgj.js";export{b as createPieServices}from"./mermaid-parser.core-
|
|
1
|
+
import"./chunk-FOHPRMQF-ipewusgj.js";export{b as createPieServices}from"./mermaid-parser.core-fflovwf2.js";
|
package/static/dist/assets/{pieDiagram-E7YTZNPT-fcpqpekh.js → pieDiagram-E7YTZNPT-gro55rrw.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./mermaid-parser.core-
|
|
1
|
+
import{n as e}from"./mermaid-parser.core-fflovwf2.js";import{n as t}from"./chunk-Y2CYZVJY-n9gs7k4d.js";import{m as n}from"./src-h89s0hs4.js";import{H as r,K as i,U as a,a as o,c as s,f as c,v as l,w as u,x as d,y as f}from"./chunk-DU6HZSFF-gq439wot.js";import{t as p}from"./ordinal-d88pfdla.js";import{n as m}from"./path-b509aej0.js";import{m as h}from"./dist-nb670eu6.js";import{t as g}from"./arc-fk1b21lm.js";import{t as _}from"./array-f36850hm.js";import{i as v,p as y}from"./chunk-75Z2AOVW-gnt6pnso.js";import{f as b}from"./dist-cb8um5dh.js";import{t as x}from"./chunk-JWPE2WC7-mw03m5s9.js";function S(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function C(e){return e}function w(){var e=C,t=S,n=null,r=m(0),i=m(h),a=m(0);function o(o){var s,c=(o=_(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),g=Math.min(h,Math.max(-h,i.apply(this,arguments)-m)),v,y=Math.min(Math.abs(g)/c,a.apply(this,arguments)),b=y*(g<0?-1:1),x;for(s=0;s<c;++s)(x=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=x);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(g-c*b)/d:0;s<c;++s,m=v)l=f[s],x=p[l],v=m+(x>0?x*u:0)+b,p[l]={data:o[l],index:s,value:x,startAngle:m,endAngle:v,padAngle:y};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:m(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:m(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:m(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:m(+e),o):a},o}var T=c.pie,E={sections:new Map,showData:!1,config:T},D=E.sections,O=E.showData,k=structuredClone(T),A={getConfig:t(()=>structuredClone(k),`getConfig`),clear:t(()=>{D=new Map,O=E.showData,o()},`clear`),setDiagramTitle:i,getDiagramTitle:u,setAccTitle:a,getAccTitle:f,setAccDescription:r,getAccDescription:l,addSection:t(({label:e,value:t})=>{if(t<0)throw Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);D.has(e)||(D.set(e,t),n.debug(`added new section: ${e}, with value: ${t}`))},`addSection`),getSections:t(()=>D,`getSections`),setShowData:t(e=>{O=e},`setShowData`),getShowData:t(()=>O,`getShowData`)},j=t((e,t)=>{x(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},`populateDb`),M={parse:t(async t=>{let r=await e(`pie`,t);n.debug(r),j(r,A)},`parse`)},N=t(e=>`
|
|
2
2
|
.pieCircle{
|
|
3
3
|
stroke: ${e.pieStrokeColor};
|
|
4
4
|
stroke-width : ${e.pieStrokeWidth};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{li as e}from"./queryKeys-cnvn6pea.js";import{Ft as t,It as n,Nt as r,l as i}from"./toast-gqqcvxiy.js";var a=12e4,o=3e4,s=n({ok:r(!0),lease_seconds:t()}),c=[`pointerdown`,`pointermove`,`keydown`,`wheel`,`touchstart`],l=!1,u;function d(e){l!==e&&(l=e,u?.())}function f(){let t=Date.now(),n=Date.now(),r=0,d=!1,f,p=(n,a=!1)=>{d=n,r=Date.now(),t+=1,i(`api/talaria/presence`,{tab_id:e,active:n,seq:t},s,{retries:0,redirect401:!1,keepalive:a}).catch(()=>void 0)},m=()=>document.visibilityState===`visible`&&document.hasFocus(),h=()=>{clearTimeout(f);let e=Date.now();!m()||!l&&e-n>=12e4?d&&p(!1):((!d||e-r>=3e4)&&p(!0),f=setTimeout(h,Math.max(0,Math.min(r+o,l?1/0:n+a)-Date.now())))},g=()=>{m()&&(n=Date.now(),d||h())},_=()=>{m()&&(n=Date.now()),h()},v=()=>{clearTimeout(f),d&&p(!1,!0)};u=()=>{n=Date.now(),h()};for(let e of c)window.addEventListener(e,g,{capture:!0,passive:!0});return window.addEventListener(`focus`,_),window.addEventListener(`blur`,h),window.addEventListener(`pagehide`,v),document.addEventListener(`visibilitychange`,_),h(),()=>{u=void 0;for(let e of c)window.removeEventListener(e,g,{capture:!0});window.removeEventListener(`focus`,_),window.removeEventListener(`blur`,h),window.removeEventListener(`pagehide`,v),document.removeEventListener(`visibilitychange`,_),v()}}export{f as n,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,t}from"./runtime-nlxpnegr.js";var n=()=>`Cancelled`,r=((r={},i={})=>{let a=i.locale??t(),o=e[a]?.prompt_queue_cancelled;return o?o(r):n(r)});export{r as t};
|