@nextclaw/ui 0.13.12 → 0.14.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/CHANGELOG.md +43 -0
- package/dist/assets/{api-DmxQnm30.js → api-B50yVdT8.js} +7 -7
- package/dist/assets/app-presenter-provider-BI-ewLbO.js +3 -0
- package/dist/assets/arrow-left-BOCJyLbQ.js +1 -0
- package/dist/assets/book-open-Bd2Xbrrc.js +1 -0
- package/dist/assets/channels-list-page-moJkpxtU.js +8 -0
- package/dist/assets/chat-page-CO27cl4v.js +105 -0
- package/dist/assets/config-split-page-CsQ2rIdq.js +1 -0
- package/dist/assets/{confirm-dialog-BWRNsRgb.js → confirm-dialog-DRSelLdI.js} +2 -2
- package/dist/assets/desktop-update-config-qa-SynOc.js +1 -0
- package/dist/assets/{dist-DzM2ZEVN.js → dist-D19wiQwB.js} +1 -1
- package/dist/assets/{dist-CyWdaJvr.js → dist-NZRV-BxD.js} +1 -1
- package/dist/assets/doc-browser-2ddUJCA0.js +1 -0
- package/dist/assets/doc-browser-BjHUczQb.js +1 -0
- package/dist/assets/doc-browser-context-C8KPbj-p.js +1 -0
- package/dist/assets/{ellipsis-BDgTYNDX.js → ellipsis-BYy8TP0A.js} +1 -1
- package/dist/assets/{es2015-WqekV0OK.js → es2015-BUIIKCNh.js} +1 -1
- package/dist/assets/{external-link-BLjo8z2a.js → external-link-528k6MDD.js} +1 -1
- package/dist/assets/host-capabilities-9bB_998Z.js +1 -0
- package/dist/assets/index-CMNrRhnG.js +101 -0
- package/dist/assets/index-UTmTW1eU.css +1 -0
- package/dist/assets/{key-round-Du8x3sWa.js → key-round-D3vD9dj7.js} +1 -1
- package/dist/assets/loader-circle-DV9TSRns.js +1 -0
- package/dist/assets/mcp-marketplace-page-CS5Lh3oA.js +1 -0
- package/dist/assets/mcp-marketplace-page-DEOMcWb0.js +40 -0
- package/dist/assets/model-config-page-BSc4o7pb.js +1 -0
- package/dist/assets/{notice-card-3a7FmAz-.js → notice-card-qqlbsOoR.js} +1 -1
- package/dist/assets/plus-Bf9qhPDO.js +1 -0
- package/dist/assets/{popover-BlJLguiZ.js → popover-BnmPOXe3.js} +1 -1
- package/dist/assets/provider-scoped-model-input-Ca56s475.js +1 -0
- package/dist/assets/providers-config-page-D8Kf4U3u.js +1 -0
- package/dist/assets/{react-BVjl1ZaK.js → react-Dsotw5vM.js} +1 -1
- package/dist/assets/{refresh-cw-DFR87zei.js → refresh-cw-Bmx4wc9P.js} +1 -1
- package/dist/assets/remote-DNMEy_c4.js +1 -0
- package/dist/assets/rotate-cw-CL0sVBel.js +1 -0
- package/dist/assets/runtime-config-page-CUFtKr0U.js +1 -0
- package/dist/assets/{save-BDmIlHvN.js → save-CHDnDTok.js} +1 -1
- package/dist/assets/search-D7L-TCH-.js +1 -0
- package/dist/assets/search-config-page-CA3RVAef.js +1 -0
- package/dist/assets/secrets-config-page-95yaH1fa.js +3 -0
- package/dist/assets/{status-dot-SVPjIyG5.js → status-dot-Dm4h-bjn.js} +1 -1
- package/dist/assets/tabs-CJvw5Lqp.js +1 -0
- package/dist/assets/{tag-chip-Cdwb3JSH.js → tag-chip-Cr8GwpRE.js} +1 -1
- package/dist/assets/{tooltip-CKGxLGnG.js → tooltip-Bxzi6aDL.js} +1 -1
- package/dist/assets/{trash-2-yLA8BEcE.js → trash-2-CSfX-BvU.js} +1 -1
- package/dist/assets/use-config-TzwzTgg0.js +1 -0
- package/dist/assets/x-fkIWvi07.js +1 -0
- package/dist/index.html +27 -25
- package/package.json +9 -8
- package/src/app/index.tsx +8 -4
- package/src/features/account/components/account-panel.tsx +3 -3
- package/src/features/account/hooks/{use-auth.test.ts → __tests__/use-auth.test.ts} +1 -1
- package/src/features/account/managers/account.manager.ts +6 -5
- package/src/features/agents/components/{agents-page.test.tsx → __tests__/agents-page.test.tsx} +41 -2
- package/src/features/agents/components/agent-dialogs.tsx +2 -2
- package/src/features/agents/components/agents-page.tsx +1 -1
- package/src/features/channels/components/config/channel-form.tsx +1 -1
- package/src/features/channels/pages/channels-list-page.tsx +18 -15
- package/src/features/channels/utils/{channel-form-fields.utils.test.ts → __tests__/channel-form-fields.utils.test.ts} +1 -1
- package/src/features/chat/components/{chat-welcome.test.tsx → __tests__/chat-welcome.test.tsx} +1 -1
- package/src/features/chat/components/conversation/{chat-conversation-header.test.tsx → __tests__/chat-conversation-header.test.tsx} +25 -32
- package/src/features/chat/components/conversation/{chat-conversation-panel.test.tsx → __tests__/chat-conversation-panel.test.tsx} +201 -37
- package/src/features/chat/components/conversation/chat-conversation-alerts.tsx +37 -0
- package/src/features/chat/components/conversation/chat-conversation-content.tsx +91 -0
- package/src/features/chat/components/conversation/chat-conversation-header-section.tsx +151 -0
- package/src/features/chat/components/conversation/chat-conversation-header.tsx +26 -89
- package/src/features/chat/components/conversation/chat-conversation-panel.tsx +13 -376
- package/src/features/chat/components/conversation/chat-conversation-parent-banner.tsx +16 -0
- package/src/features/chat/components/conversation/chat-conversation-skeleton.tsx +86 -0
- package/src/features/chat/components/conversation/chat-conversation-workspace-section.tsx +42 -0
- package/src/features/chat/components/layout/{chat-page-shell.test.tsx → __tests__/chat-page-shell.test.tsx} +1 -1
- package/src/features/chat/components/layout/__tests__/chat-sidebar-read-state.test.tsx +167 -0
- package/src/features/chat/components/layout/__tests__/chat-sidebar.test.tsx +834 -0
- package/src/features/chat/components/layout/chat-page-shell.tsx +11 -30
- package/src/features/chat/components/layout/chat-sidebar-toolbar.tsx +33 -53
- package/src/features/chat/components/layout/chat-sidebar-utility-menu.tsx +1 -1
- package/src/features/chat/components/layout/chat-sidebar.tsx +156 -202
- package/src/features/chat/components/providers/chat-presenter.provider.tsx +13 -44
- package/src/features/chat/{components/conversation → features/input/components/__tests__}/chat-attachment-upload-limit.test.ts +1 -1
- package/src/features/chat/{components/conversation → features/input/components}/chat-input-bar.container.tsx +133 -31
- package/src/features/chat/{hooks → features/input/hooks/__tests__}/use-chat-input-bar-controller.test.tsx +1 -1
- package/src/features/chat/{utils → features/input/utils/__tests__}/chat-composer-state.utils.test.ts +1 -1
- package/src/features/chat/{utils → features/input/utils/__tests__}/chat-inline-token.utils.test.ts +1 -1
- package/src/features/chat/{utils → features/input/utils/__tests__}/chat-input-bar.utils.test.ts +2 -2
- package/src/features/chat/{utils → features/input/utils/__tests__}/ncp-chat-input-availability.utils.test.ts +2 -1
- package/src/features/chat/{utils → features/input/utils}/ncp-chat-input-availability.utils.ts +6 -6
- package/src/features/chat/{components/conversation → features/message/components/__tests__}/chat-message-list.container.test.tsx +38 -3
- package/src/features/chat/{components/conversation → features/message/components}/chat-message-list.container.tsx +9 -13
- package/src/features/chat/{utils → features/message/utils/__tests__}/chat-message-invalid-tool-arguments.utils.test.ts +2 -2
- package/src/features/chat/{utils → features/message/utils/__tests__}/chat-message-session-spawn-tool-card.utils.test.ts +2 -2
- package/src/features/chat/features/message/utils/__tests__/chat-message-show-content-tool-card.utils.test.ts +54 -0
- package/src/features/chat/{utils → features/message/utils/__tests__}/chat-message-summary-truncation.utils.test.ts +2 -2
- package/src/features/chat/{utils → features/message/utils/__tests__}/chat-message-tool-agent-id.utils.test.ts +1 -1
- package/src/features/chat/{utils → features/message/utils/__tests__}/chat-message.utils.test.ts +2 -2
- package/src/features/chat/{utils → features/message/utils}/chat-message-inline-content.utils.ts +1 -1
- package/src/features/chat/{utils → features/message/utils}/chat-message-part.utils.ts +15 -2
- package/src/features/chat/{utils → features/message/utils}/chat-message-session-request-tool-card.utils.ts +1 -1
- package/src/features/chat/features/message/utils/chat-message-show-content-tool-card.utils.ts +165 -0
- package/src/features/chat/{utils → features/message/utils}/chat-message-tool-card.utils.ts +1 -1
- package/src/features/chat/{utils → features/message/utils}/chat-message.utils.ts +1 -1
- package/src/features/chat/features/ncp/hooks/__tests__/use-hydrated-ncp-agent.test.tsx +57 -0
- package/src/features/chat/{hooks → features/ncp/hooks/__tests__}/use-ncp-agent-runtime.test.tsx +2 -2
- package/src/features/chat/features/ncp/hooks/__tests__/use-ncp-chat-derived-state.test.tsx +22 -0
- package/src/features/chat/features/ncp/hooks/__tests__/use-ncp-chat-query-store-sync.test.tsx +101 -0
- package/src/features/chat/{hooks → features/ncp/hooks/__tests__}/use-ncp-session-conversation.test.tsx +1 -1
- package/src/features/chat/features/ncp/hooks/__tests__/use-ui-show-content-event.test.tsx +52 -0
- package/src/features/chat/features/ncp/hooks/use-ncp-chat-derived-state.ts +37 -0
- package/src/features/chat/features/ncp/hooks/use-ncp-chat-query-store-sync.ts +28 -0
- package/src/features/chat/{hooks → features/ncp/hooks}/use-ncp-child-session-tabs-view.ts +4 -4
- package/src/features/chat/{hooks → features/ncp/hooks}/use-ncp-session-conversation.ts +1 -1
- package/src/features/chat/{hooks → features/ncp/hooks}/use-ncp-session-list-view.ts +3 -3
- package/src/features/chat/features/ncp/hooks/use-ncp-session-queries.ts +32 -0
- package/src/features/chat/features/ncp/hooks/use-ui-show-content-event.ts +14 -0
- package/src/features/chat/features/ncp/utils/ncp-chat-query-derived.utils.ts +77 -0
- package/src/features/chat/{utils → features/runtime/utils/__tests__}/ncp-app-client-fetch.utils.test.ts +1 -1
- package/src/features/chat/{utils → features/runtime/utils/__tests__}/ncp-chat-runtime-availability.utils.test.ts +1 -1
- package/src/features/chat/{utils → features/runtime/utils}/chat-runtime.utils.ts +1 -1
- package/src/features/chat/{components → features/session/components}/chat-sidebar-project-groups.tsx +21 -42
- package/src/features/chat/{components/layout → features/session/components}/chat-sidebar-session-entry.tsx +40 -13
- package/src/features/chat/{components → features/session/components}/chat-sidebar-session-item.tsx +36 -44
- package/src/features/chat/features/session/components/chat-sidebar-session-list.tsx +78 -0
- package/src/features/chat/{components/session → features/session/components}/session-context-icon.tsx +1 -1
- package/src/features/chat/{components/conversation/session-header → features/session/components/session-header/__tests__}/chat-session-header-actions.test.tsx +3 -3
- package/src/features/chat/{components/conversation/session-header → features/session/components/session-header/__tests__}/chat-session-project-badge.test.tsx +3 -3
- package/src/features/chat/{components/conversation → features/session/components}/session-header/chat-session-header-actions.tsx +15 -27
- package/src/features/chat/{components/conversation → features/session/components}/session-header/chat-session-project-badge.tsx +1 -1
- package/src/features/chat/{hooks → features/session/hooks/__tests__}/use-chat-session-project.test.tsx +2 -2
- package/src/features/chat/{hooks → features/session/hooks/__tests__}/use-chat-session-update.test.tsx +1 -1
- package/src/features/chat/{hooks → features/session/hooks}/use-chat-session-project.ts +1 -1
- package/src/features/chat/{hooks → features/session/hooks}/use-chat-session-update.ts +17 -0
- package/src/features/chat/{hooks → features/session/hooks}/use-chat-sidebar-session-label-editor.ts +1 -1
- package/src/features/chat/{hooks → features/session/hooks}/use-selected-session-context-window-indicator.ts +1 -1
- package/src/features/chat/{utils → features/session/utils/__tests__}/chat-session-display.utils.test.ts +1 -1
- package/src/features/chat/{utils → features/session/utils/__tests__}/chat-session-route.utils.test.ts +1 -1
- package/src/features/chat/{utils → features/session/utils/__tests__}/ncp-session-adapter.utils.cancelled-tool.test.ts +2 -2
- package/src/features/chat/{utils → features/session/utils/__tests__}/ncp-session-adapter.utils.test.ts +2 -2
- package/src/features/chat/{utils → features/session/utils/__tests__}/session-context.utils.test.ts +1 -1
- package/src/features/chat/features/session/utils/chat-run-metadata.utils.ts +60 -0
- package/src/features/chat/{utils → features/session/utils}/chat-session-preference-governance.utils.ts +0 -128
- package/src/features/chat/features/session/utils/chat-sidebar-session-groups.utils.ts +144 -0
- package/src/features/chat/{components → features/session-type/components/__tests__}/chat-session-type-option-item.test.tsx +1 -1
- package/src/features/chat/{components → features/session-type/components}/chat-session-type-option-item.tsx +7 -16
- package/src/features/chat/features/session-type/components/chat-sidebar-create-menu.tsx +42 -0
- package/src/features/chat/{hooks → features/session-type/hooks/__tests__}/use-chat-session-type-state.test.tsx +1 -1
- package/src/features/chat/{hooks → features/session-type/hooks}/use-chat-session-type-state.ts +23 -94
- package/src/features/chat/features/session-type/utils/chat-session-type.utils.ts +105 -0
- package/src/features/chat/{components → features/workspace/components/__tests__}/chat-session-workspace-file-preview.test.tsx +1 -1
- package/src/features/chat/{components → features/workspace/components}/chat-session-workspace-file-preview.tsx +2 -2
- package/src/features/chat/features/workspace/components/chat-session-workspace-panel-content.tsx +156 -0
- package/src/features/chat/features/workspace/components/chat-session-workspace-panel-nav.tsx +84 -0
- package/src/features/chat/features/workspace/components/chat-session-workspace-panel.tsx +138 -0
- package/src/features/chat/{components/workspace → features/workspace/components}/session-cron-job-content.tsx +1 -1
- package/src/features/chat/features/workspace/hooks/use-chat-conversation-workspace-state.ts +63 -0
- package/src/features/chat/features/workspace/utils/__tests__/chat-workspace-panel-view-model.utils.test.ts +103 -0
- package/src/features/chat/features/workspace/utils/chat-workspace-panel-view-model.utils.ts +183 -0
- package/src/features/chat/index.ts +16 -6
- package/src/features/chat/managers/__tests__/chat-input.manager.test.ts +355 -0
- package/src/features/chat/managers/__tests__/chat-query.manager.test.ts +39 -0
- package/src/features/chat/managers/__tests__/chat-run.manager.test.ts +202 -0
- package/src/features/chat/managers/{chat-session-list.manager.test.ts → __tests__/chat-session-list.manager.test.ts} +98 -74
- package/src/features/chat/managers/{chat-session-preference-sync.manager.test.ts → __tests__/chat-session-preference-sync.manager.test.ts} +1 -1
- package/src/features/chat/managers/__tests__/chat-thread.manager.test.ts +622 -0
- package/src/features/chat/managers/__tests__/chat-ui.manager.test.ts +126 -0
- package/src/features/chat/managers/{recent-selection.manager.test.ts → __tests__/recent-selection.manager.test.ts} +1 -1
- package/src/features/chat/managers/{ncp-chat-input.manager.ts → chat-input.manager.ts} +108 -35
- package/src/features/chat/managers/chat-query.manager.ts +48 -0
- package/src/features/chat/managers/chat-run.manager.ts +107 -0
- package/src/features/chat/managers/chat-session-list.manager.ts +47 -15
- package/src/features/chat/managers/chat-session-preference-sync.manager.ts +60 -5
- package/src/features/chat/managers/{ncp-chat-thread.manager.ts → chat-thread.manager.ts} +210 -37
- package/src/features/chat/managers/chat-ui.manager.ts +55 -9
- package/src/features/chat/pages/{ncp-chat-page.test.ts → __tests__/ncp-chat-page.test.ts} +49 -12
- package/src/features/chat/pages/ncp-chat-page.tsx +123 -399
- package/src/features/chat/presenters/chat.presenter.ts +39 -0
- package/src/features/chat/stores/__tests__/chat-thread.store.test.ts +148 -0
- package/src/features/chat/stores/chat-input.store.ts +5 -1
- package/src/features/chat/stores/chat-thread.store.ts +287 -28
- package/src/features/chat/stores/ncp-chat-query.store.ts +25 -0
- package/src/features/chat/types/chat-input.types.ts +1 -0
- package/src/features/chat/types/chat-message.types.ts +1 -0
- package/src/features/chat/types/chat-run.types.ts +41 -0
- package/src/{shared → features/cron}/components/cron-config.tsx +1 -1
- package/src/features/cron/hooks/use-cron-jobs.ts +58 -0
- package/src/features/cron/index.ts +7 -0
- package/src/features/marketplace/components/{marketplace-page.test.tsx → __tests__/marketplace-page.test.tsx} +37 -1
- package/src/features/marketplace/components/curated-shelves/marketplace-curated-shelves.tsx +15 -61
- package/src/features/marketplace/components/marketplace-external-skill-source-action.tsx +14 -0
- package/src/features/marketplace/components/marketplace-item-list-view.tsx +167 -0
- package/src/features/marketplace/components/marketplace-list-card.tsx +27 -31
- package/src/features/marketplace/components/marketplace-page-data.ts +0 -6
- package/src/features/marketplace/components/marketplace-page-parts.tsx +10 -2
- package/src/features/marketplace/components/marketplace-page.tsx +110 -434
- package/src/features/marketplace/components/mcp/mcp-marketplace-card.tsx +1 -1
- package/src/features/marketplace/components/mcp/mcp-marketplace-dialogs.tsx +1 -1
- package/src/features/marketplace/components/mcp/mcp-marketplace-page.tsx +2 -1
- package/src/features/marketplace/hooks/__tests__/use-marketplace.test.tsx +109 -0
- package/src/features/marketplace/hooks/use-marketplace-item-actions.ts +101 -0
- package/src/features/marketplace/hooks/use-marketplace-item-detail.ts +109 -0
- package/src/features/marketplace/hooks/use-marketplace-list-model.ts +160 -0
- package/src/features/marketplace/hooks/use-marketplace.ts +3 -5
- package/src/features/marketplace/utils/{marketplace-installed-cache.utils.test.ts → __tests__/marketplace-installed-cache.utils.test.ts} +1 -1
- package/src/features/panel-apps/components/{panel-app-list-item.test.tsx → __tests__/panel-app-list-item.test.tsx} +1 -1
- package/src/features/panel-apps/components/{panel-app-toolbar.test.tsx → __tests__/panel-app-toolbar.test.tsx} +1 -1
- package/src/features/panel-apps/utils/{panel-app-view.utils.test.ts → __tests__/panel-app-view.utils.test.ts} +1 -1
- package/src/features/pwa/managers/{pwa-service-worker-cache.manager.test.ts → __tests__/pwa-service-worker-cache.manager.test.ts} +1 -1
- package/src/features/remote/components/remote-access-page.tsx +2 -2
- package/src/features/remote/services/{remote-access-feedback.service.test.ts → __tests__/remote-access-feedback.service.test.ts} +1 -1
- package/src/{shared → features/settings}/components/config/provider-form.tsx +7 -7
- package/src/{shared/components → features/settings/components/config}/provider-status-badge.tsx +1 -1
- package/src/{shared/components/model-config.test.tsx → features/settings/pages/__tests__/model-config-page.test.tsx} +40 -5
- package/src/{shared/components/config/providers-list.test.tsx → features/settings/pages/__tests__/providers-config-page.test.tsx} +48 -5
- package/src/{shared/components/search-config.test.tsx → features/settings/pages/__tests__/search-config-page.test.tsx} +3 -3
- package/src/{shared/components/config/secrets-config.test.tsx → features/settings/pages/__tests__/secrets-config-page.test.tsx} +3 -3
- package/src/{shared/components/model-config.tsx → features/settings/pages/model-config-page.tsx} +1 -1
- package/src/{shared/components/config/providers-list.tsx → features/settings/pages/providers-config-page.tsx} +3 -3
- package/src/{shared/components/search-config.tsx → features/settings/pages/search-config-page.tsx} +1 -1
- package/src/{shared/components/config/secrets-config.tsx → features/settings/pages/secrets-config-page.tsx} +2 -2
- package/src/{shared/components/config/provider-form-support.test.ts → features/settings/utils/__tests__/provider-form-support.utils.test.ts} +1 -1
- package/src/features/side-dock/components/{side-dock.test.tsx → __tests__/side-dock.test.tsx} +25 -0
- package/src/features/side-dock/components/side-dock.tsx +13 -0
- package/src/features/system-status/components/{runtime-control-card.test.tsx → __tests__/runtime-control-card.test.tsx} +1 -1
- package/src/features/system-status/components/{runtime-presence-card.test.tsx → __tests__/runtime-presence-card.test.tsx} +1 -1
- package/src/features/system-status/components/desktop-update-config.tsx +2 -1
- package/src/features/system-status/components/runtime-presence-card.tsx +2 -2
- package/src/features/system-status/managers/{system-status.manager.bootstrap-polling.test.ts → __tests__/system-status.manager.bootstrap-polling.test.ts} +1 -1
- package/src/features/system-status/managers/{system-status.manager.test.ts → __tests__/system-status.manager.test.ts} +1 -1
- package/src/features/system-status/utils/{system-status.utils.test.ts → __tests__/system-status.utils.test.ts} +1 -1
- package/src/platforms/desktop/types/desktop-update.types.ts +9 -0
- package/src/shared/components/actions/action-link.tsx +49 -0
- package/src/shared/components/common/{agent-avatar.test.tsx → __tests__/agent-avatar.test.tsx} +1 -1
- package/src/shared/components/common/agent-identity/use-agent-identity.ts +3 -8
- package/src/shared/components/common/brand-header.tsx +1 -1
- package/src/shared/components/common/tag-input.tsx +1 -1
- package/src/shared/components/doc-browser/{doc-browser-context.test.tsx → __tests__/doc-browser-context.test.tsx} +1 -1
- package/src/shared/components/doc-browser/doc-browser-tab-strip.tsx +64 -161
- package/src/shared/components/doc-browser/doc-browser.tsx +4 -4
- package/src/shared/components/doc-browser/managers/doc-browser.manager.ts +39 -32
- package/src/shared/components/resizable-right-panel/__tests__/resizable-right-panel.test.tsx +66 -0
- package/src/shared/components/resizable-right-panel/resizable-right-panel.tsx +11 -8
- package/src/shared/components/ui/actions/icon-action-button.tsx +53 -0
- package/src/shared/components/ui/tab-strip/__tests__/compact-tab-strip.test.tsx +52 -0
- package/src/shared/components/ui/tab-strip/compact-tab-strip.tsx +228 -0
- package/src/shared/hooks/use-app-meta.ts +10 -0
- package/src/shared/hooks/use-config.ts +1 -148
- package/src/shared/lib/api/{ncp-session.test.ts → __tests__/ncp-session.test.ts} +3 -3
- package/src/shared/lib/api/{raw-client.test.ts → __tests__/raw-client.test.ts} +1 -1
- package/src/shared/lib/api/chat-session-type.types.ts +3 -0
- package/src/shared/lib/cadence/services/{adaptive-cadence.service.test.ts → __tests__/adaptive-cadence.service.test.ts} +1 -1
- package/src/shared/lib/host-capabilities/__tests__/host-capability.manager.test.ts +50 -0
- package/src/shared/lib/host-capabilities/host-capability.manager.ts +62 -0
- package/src/shared/lib/host-capabilities/index.ts +1 -0
- package/src/shared/lib/i18n/README.md +16 -3
- package/src/shared/lib/i18n/index.ts +93 -426
- package/src/shared/lib/i18n/locales/en-US/agents.json +49 -0
- package/src/shared/lib/i18n/locales/en-US/channel-auth.json +51 -0
- package/src/shared/lib/i18n/locales/en-US/channels.json +50 -0
- package/src/shared/lib/i18n/locales/en-US/chat.json +183 -0
- package/src/shared/lib/i18n/locales/en-US/core.json +311 -0
- package/src/shared/lib/i18n/locales/en-US/cron.json +32 -0
- package/src/shared/lib/i18n/locales/en-US/desktop-update.json +90 -0
- package/src/shared/lib/i18n/locales/en-US/doc-browser.json +87 -0
- package/src/shared/lib/i18n/locales/en-US/marketplace.json +72 -0
- package/src/shared/lib/i18n/locales/en-US/path-picker.json +12 -0
- package/src/shared/lib/i18n/locales/en-US/pwa.json +26 -0
- package/src/shared/lib/i18n/locales/en-US/remote.json +168 -0
- package/src/shared/lib/i18n/locales/en-US/runtime-control.json +105 -0
- package/src/shared/lib/i18n/locales/en-US/search.json +28 -0
- package/src/shared/lib/i18n/locales/zh-CN/agents.json +49 -0
- package/src/shared/lib/i18n/locales/zh-CN/channel-auth.json +51 -0
- package/src/shared/lib/i18n/locales/zh-CN/channels.json +50 -0
- package/src/shared/lib/i18n/locales/zh-CN/chat.json +183 -0
- package/src/shared/lib/i18n/locales/zh-CN/core.json +311 -0
- package/src/shared/lib/i18n/locales/zh-CN/cron.json +32 -0
- package/src/shared/lib/i18n/locales/zh-CN/desktop-update.json +90 -0
- package/src/shared/lib/i18n/locales/zh-CN/doc-browser.json +87 -0
- package/src/shared/lib/i18n/locales/zh-CN/marketplace.json +72 -0
- package/src/shared/lib/i18n/locales/zh-CN/path-picker.json +12 -0
- package/src/shared/lib/i18n/locales/zh-CN/pwa.json +26 -0
- package/src/shared/lib/i18n/locales/zh-CN/remote.json +168 -0
- package/src/shared/lib/i18n/locales/zh-CN/runtime-control.json +105 -0
- package/src/shared/lib/i18n/locales/zh-CN/search.json +28 -0
- package/src/shared/lib/i18n/runtime/{i18n-language-owner.test.ts → __tests__/i18n-language-owner.test.ts} +2 -2
- package/src/shared/lib/navigation-history/__tests__/navigation-history.utils.test.ts +60 -0
- package/src/shared/lib/navigation-history/index.ts +1 -0
- package/src/shared/lib/navigation-history/navigation-history.utils.ts +105 -0
- package/src/shared/lib/provider-models/{index.test.ts → __tests__/index.test.ts} +1 -1
- package/src/shared/lib/transport/{app-client.test.ts → __tests__/app-client.test.ts} +3 -3
- package/src/shared/lib/transport/{remote.transport.test.ts → __tests__/remote.transport.test.ts} +1 -1
- package/src/shared/lib/transport/{sse-stream.test.ts → __tests__/sse-stream.test.ts} +1 -1
- package/tsconfig.json +2 -5
- package/vite.config.ts +4 -4
- package/vitest.config.ts +4 -0
- package/dist/assets/app-presenter-provider-CDSjiqfE.js +0 -3
- package/dist/assets/arrow-left-Dd45Mvr1.js +0 -1
- package/dist/assets/channels-list-page-D-WYFmcG.js +0 -8
- package/dist/assets/chat-page-D1X8YNTC.js +0 -105
- package/dist/assets/config-split-page-CdJEkWxv.js +0 -1
- package/dist/assets/desktop-update-config-DOi5R1fX.js +0 -1
- package/dist/assets/doc-browser-D5FJcAyz.js +0 -1
- package/dist/assets/doc-browser-DewXa6oX.js +0 -1
- package/dist/assets/doc-browser-context-CpL2m4Sp.js +0 -1
- package/dist/assets/index-Q891JiF_.css +0 -1
- package/dist/assets/index-ZDJP_uJc.js +0 -101
- package/dist/assets/loader-circle-Dz4FssYC.js +0 -1
- package/dist/assets/mcp-marketplace-page-LmMhKH5a.js +0 -1
- package/dist/assets/mcp-marketplace-page-RqISBSqO.js +0 -40
- package/dist/assets/model-config-JUsW1Khb.js +0 -1
- package/dist/assets/play-BziM-Y34.js +0 -1
- package/dist/assets/plus-DrpyArC8.js +0 -1
- package/dist/assets/provider-models-C_yOh6DE.js +0 -1
- package/dist/assets/provider-scoped-model-input-IMD4W0jD.js +0 -1
- package/dist/assets/providers-list-BsDpxNzy.js +0 -1
- package/dist/assets/remote-DjhVMpVd.js +0 -1
- package/dist/assets/rotate-cw-DMBnsYKm.js +0 -1
- package/dist/assets/runtime-config-page-DzbTVebD.js +0 -1
- package/dist/assets/search-CjHGYvTI.js +0 -1
- package/dist/assets/search-config-CJ6OPxAf.js +0 -1
- package/dist/assets/secrets-config-CYOHWL7P.js +0 -3
- package/dist/assets/tabs-Czd2mj6z.js +0 -1
- package/dist/assets/tabs-custom-Ix4nkp2h.js +0 -1
- package/dist/assets/x-dpDISboO.js +0 -1
- package/src/features/chat/components/chat-session-workspace-panel-nav.tsx +0 -232
- package/src/features/chat/components/chat-session-workspace-panel.tsx +0 -371
- package/src/features/chat/components/layout/chat-sidebar-read-state.test.tsx +0 -145
- package/src/features/chat/components/layout/chat-sidebar.test.tsx +0 -896
- package/src/features/chat/hooks/use-chat-session-label.ts +0 -18
- package/src/features/chat/hooks/use-hydrated-ncp-agent.test.tsx +0 -90
- package/src/features/chat/hooks/use-ncp-chat-derived-state.ts +0 -181
- package/src/features/chat/hooks/use-ncp-chat-page-data.test.tsx +0 -70
- package/src/features/chat/hooks/use-ncp-chat-page-data.ts +0 -260
- package/src/features/chat/managers/chat-stream-actions.manager.ts +0 -35
- package/src/features/chat/managers/ncp-chat-input.manager.test.ts +0 -232
- package/src/features/chat/managers/ncp-chat-presenter.manager.ts +0 -28
- package/src/features/chat/managers/ncp-chat-thread.manager.test.ts +0 -241
- package/src/features/chat/types/chat-stream.types.ts +0 -32
- package/src/features/chat/utils/chat-session-preference-governance.utils.test.tsx +0 -114
- package/src/features/marketplace/components/marketplace-catalog-grid.tsx +0 -114
- package/src/shared/components/resizable-right-panel/resizable-right-panel.test.tsx +0 -38
- package/src/shared/components/ui/action-link.tsx +0 -27
- package/src/shared/components/ui/config-card.tsx +0 -71
- package/src/shared/components/ui/highlight-card.tsx +0 -40
- package/src/shared/components/ui/tabs-custom.tsx +0 -49
- package/src/shared/lib/i18n/agents.ts +0 -85
- package/src/shared/lib/i18n/channel-auth.constants.ts +0 -87
- package/src/shared/lib/i18n/channels.ts +0 -53
- package/src/shared/lib/i18n/chat-labels.utils.ts +0 -206
- package/src/shared/lib/i18n/cron-labels.utils.ts +0 -32
- package/src/shared/lib/i18n/desktop-update-labels.utils.ts +0 -165
- package/src/shared/lib/i18n/marketplace-labels.utils.ts +0 -78
- package/src/shared/lib/i18n/pwa.ts +0 -62
- package/src/shared/lib/i18n/remote.ts +0 -273
- package/src/shared/lib/i18n/runtime/doc-browser-labels.utils.ts +0 -120
- package/src/shared/lib/i18n/runtime/i18n.path-picker.ts +0 -12
- package/src/shared/lib/i18n/runtime-control-labels.utils.ts +0 -180
- package/src/shared/lib/i18n/search.ts +0 -37
- /package/dist/assets/{config-hints-Ceiol9x4.js → config-hints-Cl2XAhzV.js} +0 -0
- /package/src/{app.test.tsx → __tests__/app.test.tsx} +0 -0
- /package/src/app/components/layout/{app-layout.test.tsx → __tests__/app-layout.test.tsx} +0 -0
- /package/src/app/components/layout/{runtime-status-entry.test.tsx → __tests__/runtime-status-entry.test.tsx} +0 -0
- /package/src/app/components/layout/{settings-entry-page.test.tsx → __tests__/settings-entry-page.test.tsx} +0 -0
- /package/src/app/components/layout/{sidebar.layout.test.tsx → __tests__/sidebar.layout.test.tsx} +0 -0
- /package/src/features/channels/components/config/{channel-form.test.tsx → __tests__/channel-form.test.tsx} +0 -0
- /package/src/features/channels/components/config/{weixin-channel-auth-section.test.tsx → __tests__/weixin-channel-auth-section.test.tsx} +0 -0
- /package/src/features/channels/pages/{channels-list-page.test.tsx → __tests__/channels-list-page.test.tsx} +0 -0
- /package/src/features/chat/{hooks → features/input/hooks}/use-chat-input-bar-controller.ts +0 -0
- /package/src/features/chat/{utils → features/input/utils}/chat-composer-state.utils.ts +0 -0
- /package/src/features/chat/{utils → features/input/utils}/chat-inline-token.utils.ts +0 -0
- /package/src/features/chat/{utils → features/input/utils}/chat-input-bar.utils.ts +0 -0
- /package/src/features/chat/{utils → features/input/utils}/chat-input-toolbar.utils.ts +0 -0
- /package/src/features/chat/{utils → features/message/utils}/chat-message-core.utils.ts +0 -0
- /package/src/features/chat/{utils → features/message/utils}/chat-message-partial-json.utils.ts +0 -0
- /package/src/features/chat/{utils → features/message/utils}/chat-message-tool-agent-id.utils.ts +0 -0
- /package/src/features/chat/{utils → features/message/utils}/file-operation/card.utils.ts +0 -0
- /package/src/features/chat/{utils → features/message/utils}/file-operation/diff.utils.ts +0 -0
- /package/src/features/chat/{utils → features/message/utils}/file-operation/line-builder.utils.ts +0 -0
- /package/src/features/chat/{utils → features/message/utils}/file-operation/parsed-block.utils.ts +0 -0
- /package/src/features/chat/{utils → features/message/utils}/file-operation/record-readers.utils.ts +0 -0
- /package/src/features/chat/{utils → features/runtime/utils}/ncp-app-client-fetch.utils.ts +0 -0
- /package/src/features/chat/{utils → features/runtime/utils}/ncp-chat-runtime-availability.utils.ts +0 -0
- /package/src/features/chat/{components/conversation → features/session/components}/session-header/chat-session-header-menu-item.tsx +0 -0
- /package/src/features/chat/{components/conversation → features/session/components}/session-header/chat-session-project-dialog.tsx +0 -0
- /package/src/features/chat/{components/session → features/session/components}/session-run-badge.tsx +0 -0
- /package/src/features/chat/{utils → features/session/utils}/chat-context-window-indicator.utils.ts +0 -0
- /package/src/features/chat/{utils → features/session/utils}/chat-session-display.utils.ts +0 -0
- /package/src/features/chat/{utils → features/session/utils}/chat-session-route.utils.ts +0 -0
- /package/src/features/chat/{utils → features/session/utils}/ncp-session-adapter.utils.ts +0 -0
- /package/src/features/chat/{utils → features/session/utils}/ncp-session-context-metadata.utils.ts +0 -0
- /package/src/features/chat/{utils → features/session/utils}/session-context.utils.ts +0 -0
- /package/src/features/chat/{hooks → features/session-type/hooks}/use-ncp-chat-session-types.ts +0 -0
- /package/src/features/chat/{components/workspace → features/workspace/components}/chat-session-workspace-file-breadcrumbs.tsx +0 -0
- /package/src/features/marketplace/components/{marketplace-page-detail.test.tsx → __tests__/marketplace-page-detail.test.tsx} +0 -0
- /package/src/features/marketplace/components/curated-shelves/{marketplace-curated-scene-route.test.tsx → __tests__/marketplace-curated-scene-route.test.tsx} +0 -0
- /package/src/features/marketplace/components/detail-doc/{marketplace-detail-doc.test.ts → __tests__/marketplace-detail-doc.test.ts} +0 -0
- /package/src/features/marketplace/components/mcp/{mcp-marketplace-page.test.tsx → __tests__/mcp-marketplace-page.test.tsx} +0 -0
- /package/src/features/panel-apps/managers/{panel-app-bridge.manager.test.ts → __tests__/panel-app-bridge.manager.test.ts} +0 -0
- /package/src/features/panel-apps/utils/{panel-app-doc-browser.utils.test.ts → __tests__/panel-app-doc-browser.utils.test.ts} +0 -0
- /package/src/features/pwa/components/{pwa-install-entry.test.tsx → __tests__/pwa-install-entry.test.tsx} +0 -0
- /package/src/features/pwa/managers/{pwa-install.manager.test.ts → __tests__/pwa-install.manager.test.ts} +0 -0
- /package/src/features/pwa/managers/{pwa-shell-theme.manager.test.ts → __tests__/pwa-shell-theme.manager.test.ts} +0 -0
- /package/src/features/remote/components/{remote-access-page.test.tsx → __tests__/remote-access-page.test.tsx} +0 -0
- /package/src/features/right-panel-resources/utils/{right-panel-resource-route-resolver.utils.test.ts → __tests__/right-panel-resource-route-resolver.utils.test.ts} +0 -0
- /package/src/features/right-panel-resources/utils/{right-panel-resource-uri.utils.test.ts → __tests__/right-panel-resource-uri.utils.test.ts} +0 -0
- /package/src/features/service-apps/components/{service-apps-panel.test.tsx → __tests__/service-apps-panel.test.tsx} +0 -0
- /package/src/{shared/components → features/settings/components/config}/provider-advanced-settings-section.tsx +0 -0
- /package/src/{shared/components → features/settings/components/config}/provider-auth-section.tsx +0 -0
- /package/src/{shared → features/settings}/components/config/provider-models-section.tsx +0 -0
- /package/src/{shared/components → features/settings/components/config}/provider-pill-selector.tsx +0 -0
- /package/src/{shared → features/settings}/components/config/secrets-config-form.tsx +0 -0
- /package/src/features/settings/pages/{language-settings-page.test.tsx → __tests__/language-settings-page.test.tsx} +0 -0
- /package/src/{shared/components/config/provider-form-support.ts → features/settings/utils/provider-form-support.utils.ts} +0 -0
- /package/src/features/side-dock/managers/{side-dock.manager.test.ts → __tests__/side-dock.manager.test.ts} +0 -0
- /package/src/features/side-dock/utils/{side-dock-item.utils.test.ts → __tests__/side-dock-item.utils.test.ts} +0 -0
- /package/src/features/system-status/components/{desktop-update-config.test.tsx → __tests__/desktop-update-config.test.tsx} +0 -0
- /package/src/features/system-status/pages/{runtime-config-page.test.tsx → __tests__/runtime-config-page.test.tsx} +0 -0
- /package/src/platforms/desktop/components/{desktop-app-shell.test.tsx → __tests__/desktop-app-shell.test.tsx} +0 -0
- /package/src/platforms/mobile/components/{mobile-app-shell.test.tsx → __tests__/mobile-app-shell.test.tsx} +0 -0
- /package/src/platforms/mobile/components/{mobile-bottom-nav.test.tsx → __tests__/mobile-bottom-nav.test.tsx} +0 -0
- /package/src/shared/components/common/{brand-header.test.tsx → __tests__/brand-header.test.tsx} +0 -0
- /package/src/shared/components/doc-browser/{doc-browser.test.tsx → __tests__/doc-browser.test.tsx} +0 -0
- /package/src/shared/components/{ui → feedback}/notice-card.tsx +0 -0
- /package/src/shared/components/path-picker/{server-path-picker-dialog.test.tsx → __tests__/server-path-picker-dialog.test.tsx} +0 -0
- /package/src/shared/components/{ui → settings}/setting-row.tsx +0 -0
- /package/src/shared/components/{ui → status}/status-dot.tsx +0 -0
- /package/src/shared/components/{ui → tags}/tag-chip.tsx +0 -0
- /package/src/shared/lib/api/{api-base.test.ts → __tests__/api-base.test.ts} +0 -0
- /package/src/shared/lib/api/{client.test.ts → __tests__/client.test.ts} +0 -0
- /package/src/shared/lib/api/{ncp-session-query-cache.utils.test.ts → __tests__/ncp-session-query-cache.utils.test.ts} +0 -0
- /package/src/shared/lib/app-resource-uri/{app-resource-uri.test.ts → __tests__/app-resource-uri.test.ts} +0 -0
- /package/src/shared/lib/resource-uri/utils/{resource-uri-resolver.utils.test.ts → __tests__/resource-uri-resolver.utils.test.ts} +0 -0
- /package/src/shared/lib/session-project/{workspace-file-breadcrumb.test.ts → __tests__/workspace-file-breadcrumb.test.ts} +0 -0
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
export const REMOTE_LABELS: Record<string, { zh: string; en: string }> = {
|
|
2
|
-
remotePageTitle: { zh: '远程访问', en: 'Remote Access' },
|
|
3
|
-
remotePageDescription: {
|
|
4
|
-
zh: '让这台设备出现在 NextClaw Platform 的设备列表里,并从网页中打开它。',
|
|
5
|
-
en: 'Make this device appear in your NextClaw Platform device list and open it from the web.'
|
|
6
|
-
},
|
|
7
|
-
remoteOpenWeb: { zh: '前往 NextClaw Web', en: 'Open NextClaw Web' },
|
|
8
|
-
remoteOpenDeviceList: { zh: '前往 NextClaw Web', en: 'Open NextClaw Web' },
|
|
9
|
-
remoteOpenWebHint: {
|
|
10
|
-
zh: '开启后,这台设备会出现在 NextClaw Web 中,你可以在那里点击打开并继续使用。',
|
|
11
|
-
en: 'Once enabled, this device appears in NextClaw Web, where you can open it and keep working.'
|
|
12
|
-
},
|
|
13
|
-
remoteOpenWebUnavailable: {
|
|
14
|
-
zh: '暂时还没有可用的平台地址,请先完成登录。',
|
|
15
|
-
en: 'No platform URL is available yet. Sign in first.'
|
|
16
|
-
},
|
|
17
|
-
remoteLoading: { zh: '正在加载远程访问状态...', en: 'Loading remote access status...' },
|
|
18
|
-
remoteStatusNeedsSignIn: { zh: '先登录 NextClaw', en: 'Sign in to NextClaw first' },
|
|
19
|
-
remoteStatusNeedsSignInDescription: {
|
|
20
|
-
zh: '远程访问依赖 NextClaw 账号。登录后,这台设备才能和网页版关联起来。',
|
|
21
|
-
en: 'Remote access depends on your NextClaw account. Sign in first to link this device to the web app.'
|
|
22
|
-
},
|
|
23
|
-
remoteStatusNeedsEnable: { zh: '还没有开启远程访问', en: 'Remote access is not enabled yet' },
|
|
24
|
-
remoteStatusNeedsEnableDescription: {
|
|
25
|
-
zh: '你已经登录 NextClaw。开启后,这台设备会出现在网页版的设备列表中。',
|
|
26
|
-
en: 'You are already signed in. Enable remote access and this device will appear in your web device list.'
|
|
27
|
-
},
|
|
28
|
-
remoteStatusConnectingTitle: { zh: '正在把这台设备接入 NextClaw Web', en: 'Connecting this device to NextClaw Web' },
|
|
29
|
-
remoteStatusConnectingDescription: {
|
|
30
|
-
zh: '后台服务正在建立连接,几秒后刷新即可看到最新状态。',
|
|
31
|
-
en: 'The managed service is establishing the connection. Refresh in a few seconds to see the latest state.'
|
|
32
|
-
},
|
|
33
|
-
remoteStatusReadyTitle: { zh: '这台设备已经可在网页中打开', en: 'This device is ready in the web app' },
|
|
34
|
-
remoteStatusReadyDescription: {
|
|
35
|
-
zh: '你现在可以前往 NextClaw Web,在设备列表中点击打开,继续这条 Agent 链路。',
|
|
36
|
-
en: 'You can now open NextClaw Web, find this device in the list, and continue your agent workflow there.'
|
|
37
|
-
},
|
|
38
|
-
remoteStatusNeedsServiceTitle: { zh: '需要拉起后台服务', en: 'The managed service needs to run' },
|
|
39
|
-
remoteStatusNeedsServiceDescription: {
|
|
40
|
-
zh: '远程访问已经开启,但后台服务没有运行。拉起后才会真正连到网页版。',
|
|
41
|
-
en: 'Remote access is enabled, but the managed service is not running yet. Start it to connect to the web app.'
|
|
42
|
-
},
|
|
43
|
-
remoteStatusReauthorizationTitle: { zh: '登录已过期,请重新登录 NextClaw', en: 'Your sign-in expired. Sign in to NextClaw again.' },
|
|
44
|
-
remoteStatusReauthorizationDescription: {
|
|
45
|
-
zh: '为了保护你的账号安全,远程访问已暂停。重新登录后会自动恢复,不需要重新配置设备。',
|
|
46
|
-
en: 'Remote access is paused to protect your account. Sign in again and it will recover automatically without reconfiguring this device.'
|
|
47
|
-
},
|
|
48
|
-
remoteStatusIssueTitle: { zh: '远程访问暂时没有连上', en: 'Remote access is temporarily offline' },
|
|
49
|
-
remoteStatusIssueDescription: {
|
|
50
|
-
zh: '设备配置还在,但当前没有稳定连上平台。你可以先重新连接;如果问题持续,再重新登录或稍后再试。',
|
|
51
|
-
en: 'Your device settings are still there, but this device is not stably connected to the platform right now. Reconnect first, then sign in again or try later if it keeps happening.'
|
|
52
|
-
},
|
|
53
|
-
remoteStatusIssueDetailTitle: { zh: '下一步', en: 'Next Step' },
|
|
54
|
-
remoteStatusRecoveryTitle: { zh: '推荐操作', en: 'Recommended Next Step' },
|
|
55
|
-
remoteStatusIssueDetailGeneric: {
|
|
56
|
-
zh: '远程访问暂时不可用。你可以先重新连接;如果问题持续,再重新登录或稍后再试。',
|
|
57
|
-
en: 'Remote access is temporarily unavailable. Reconnect first, then sign in again or try later if the issue continues.'
|
|
58
|
-
},
|
|
59
|
-
remoteStatusIssueDetailServiceStopped: {
|
|
60
|
-
zh: '后台服务当前没有运行。启动后,这台设备才会重新出现在网页版设备列表里。',
|
|
61
|
-
en: 'The managed service is not running right now. Start it so this device can show up in the web device list again.'
|
|
62
|
-
},
|
|
63
|
-
remoteStatusReauthorizationHint: {
|
|
64
|
-
zh: '点击下方按钮后会打开登录页。完成登录后,这台设备会自动恢复远程访问,不需要重新配置。',
|
|
65
|
-
en: 'Use the button below to open the sign-in page. Once you finish signing in, this device will recover remote access automatically.'
|
|
66
|
-
},
|
|
67
|
-
remoteSignInAndEnable: { zh: '登录并开启远程访问', en: 'Sign In and Enable Remote Access' },
|
|
68
|
-
remoteEnableNow: { zh: '开启远程访问', en: 'Enable Remote Access' },
|
|
69
|
-
remoteReconnectNow: { zh: '重新连接', en: 'Reconnect' },
|
|
70
|
-
remoteReauthorizeNow: { zh: '重新登录并恢复远程访问', en: 'Sign In Again and Restore Remote Access' },
|
|
71
|
-
remoteDisable: { zh: '关闭远程访问', en: 'Disable Remote Access' },
|
|
72
|
-
remoteDeviceSummaryTitle: { zh: '当前设备', en: 'This Device' },
|
|
73
|
-
remoteDeviceSummaryDescription: {
|
|
74
|
-
zh: '普通用户只需要关心账号、设备名、连接状态和网页版入口。',
|
|
75
|
-
en: 'Users only need the account, device name, connection state, and web entry.'
|
|
76
|
-
},
|
|
77
|
-
remoteSignedInAccount: { zh: '当前账号', en: 'Signed-in Account' },
|
|
78
|
-
remoteConnectionStatus: { zh: '连接状态', en: 'Connection Status' },
|
|
79
|
-
remoteAdvancedTitle: { zh: '高级设置', en: 'Advanced Settings' },
|
|
80
|
-
remoteAdvancedDescription: {
|
|
81
|
-
zh: '只有在排查或自定义平台地址时,才需要打开这一层。',
|
|
82
|
-
en: 'Only open this section when you need diagnostics or a custom platform API base.'
|
|
83
|
-
},
|
|
84
|
-
remoteAdvancedToggleOpen: { zh: '展开高级设置', en: 'Show Advanced Settings' },
|
|
85
|
-
remoteAdvancedToggleClose: { zh: '收起高级设置', en: 'Hide Advanced Settings' },
|
|
86
|
-
remoteAdvancedSaved: { zh: '高级设置已保存', en: 'Advanced settings saved' },
|
|
87
|
-
remoteEnabledReady: { zh: '远程访问已开启,现在可以前往 NextClaw Web 使用', en: 'Remote access is enabled. You can now use NextClaw Web.' },
|
|
88
|
-
remoteDisabledDone: { zh: '远程访问已关闭', en: 'Remote access is disabled' },
|
|
89
|
-
remoteServiceRecovered: { zh: '后台服务已重新接上远程访问', en: 'The managed service is connected again' },
|
|
90
|
-
remoteActionEnabling: { zh: '正在开启远程访问...', en: 'Enabling remote access...' },
|
|
91
|
-
remoteActionDisabling: { zh: '正在关闭远程访问...', en: 'Disabling remote access...' },
|
|
92
|
-
remoteActionSavingAdvanced: { zh: '正在保存高级设置...', en: 'Saving advanced settings...' },
|
|
93
|
-
remoteActionStarting: { zh: '正在启动后台服务...', en: 'Starting the managed service...' },
|
|
94
|
-
remoteActionRestarting: { zh: '正在重启后台服务...', en: 'Restarting the managed service...' },
|
|
95
|
-
remoteActionStopping: { zh: '正在停止后台服务...', en: 'Stopping the managed service...' },
|
|
96
|
-
remoteAccountEntryTitle: { zh: 'NextClaw 账号', en: 'NextClaw Account' },
|
|
97
|
-
remoteAccountEntryDisconnected: { zh: '未登录,点击连接', en: 'Not signed in. Click to connect.' },
|
|
98
|
-
remoteAccountEntryConnected: { zh: '已连接到 NextClaw', en: 'Connected to NextClaw' },
|
|
99
|
-
remoteAccountEntryManage: { zh: '账号', en: 'Account' },
|
|
100
|
-
accountPanelTitle: { zh: 'NextClaw 账号', en: 'NextClaw Account' },
|
|
101
|
-
accountPanelDescription: {
|
|
102
|
-
zh: '远程访问依赖这个账号登录。后续 token、授权和更多云端能力也会基于它展开。',
|
|
103
|
-
en: 'Remote access depends on this account. Tokens, authorization, and future cloud capabilities will build on it.'
|
|
104
|
-
},
|
|
105
|
-
accountPanelSignedInTitle: { zh: '账号已连接', en: 'Account Connected' },
|
|
106
|
-
accountPanelSignedInDescription: {
|
|
107
|
-
zh: '这台设备已经和你的 NextClaw 账号关联,可以直接去网页版查看设备。',
|
|
108
|
-
en: 'This device is linked to your NextClaw account. You can go to the web app and open the device there.'
|
|
109
|
-
},
|
|
110
|
-
accountPanelSignedOutTitle: { zh: '通过浏览器完成登录', en: 'Continue Sign-In in Your Browser' },
|
|
111
|
-
accountPanelSignedOutDescription: {
|
|
112
|
-
zh: '点击下方按钮后会打开 NextClaw 网页,在网页中登录或注册,当前设备会自动接入。',
|
|
113
|
-
en: 'Click the button below to open NextClaw Web, sign in or create an account there, and this device will attach automatically.'
|
|
114
|
-
},
|
|
115
|
-
remoteOverviewTitle: { zh: '连接总览', en: 'Connection Overview' },
|
|
116
|
-
remoteOverviewDescription: {
|
|
117
|
-
zh: '只保留普通用户真正需要知道的信息。',
|
|
118
|
-
en: 'Keep only the information ordinary users actually need.'
|
|
119
|
-
},
|
|
120
|
-
remoteAccountConnected: { zh: '平台已登录', en: 'Platform Connected' },
|
|
121
|
-
remoteAccountNotConnected: { zh: '平台未登录', en: 'Platform Not Connected' },
|
|
122
|
-
remoteRuntimeMissing: { zh: '连接器未运行', en: 'Connector Not Running' },
|
|
123
|
-
remoteStateConnected: { zh: '已连接', en: 'Connected' },
|
|
124
|
-
remoteStateConnecting: { zh: '连接中', en: 'Connecting' },
|
|
125
|
-
remoteStateError: { zh: '连接异常', en: 'Error' },
|
|
126
|
-
remoteStateDisconnected: { zh: '已断开', en: 'Disconnected' },
|
|
127
|
-
remoteStateDisabled: { zh: '未启用', en: 'Disabled' },
|
|
128
|
-
remoteStateReauthorizationRequired: { zh: '需要重新登录', en: 'Sign-In Required' },
|
|
129
|
-
remoteLocalOrigin: { zh: '本地服务地址', en: 'Local Origin' },
|
|
130
|
-
remotePublicPlatform: { zh: '平台地址', en: 'Platform Base' },
|
|
131
|
-
remoteDeviceId: { zh: '设备 ID', en: 'Device ID' },
|
|
132
|
-
remoteRuntimeUpdatedAt: { zh: '状态更新时间', en: 'Status Updated At' },
|
|
133
|
-
remoteLastConnectedAt: { zh: '上次连接时间', en: 'Last Connected At' },
|
|
134
|
-
remoteLastError: { zh: '最近错误', en: 'Last Error' },
|
|
135
|
-
remoteDeviceTitle: { zh: '设备配置', en: 'Device Settings' },
|
|
136
|
-
remoteDeviceDescription: {
|
|
137
|
-
zh: '保存远程访问开关、设备名和平台 API Base。',
|
|
138
|
-
en: 'Save remote access state, device name, and platform API base.'
|
|
139
|
-
},
|
|
140
|
-
remoteDeviceSectionTitle: { zh: '设备信息', en: 'Device Info' },
|
|
141
|
-
remoteDeviceSectionDescription: {
|
|
142
|
-
zh: '开启之后,这台设备会在平台网页的设备列表中出现。',
|
|
143
|
-
en: 'Once enabled, this device will appear in the platform web device list.'
|
|
144
|
-
},
|
|
145
|
-
remoteDeviceNameAuto: { zh: '未命名设备', en: 'Unnamed Device' },
|
|
146
|
-
remoteEnabled: { zh: '启用远程访问', en: 'Enable Remote Access' },
|
|
147
|
-
remoteEnabledHelp: {
|
|
148
|
-
zh: '保存后需要启动或重启后台服务,新的远程配置才会真正生效。',
|
|
149
|
-
en: 'After saving, start or restart the managed service to apply the new remote configuration.'
|
|
150
|
-
},
|
|
151
|
-
remoteDeviceName: { zh: '设备名称', en: 'Device Name' },
|
|
152
|
-
remoteDeviceNamePlaceholder: { zh: '例如:PeideMacBook-Pro', en: 'For example: PeideMacBook-Pro' },
|
|
153
|
-
remotePlatformApiBase: { zh: '平台 API Base', en: 'Platform API Base' },
|
|
154
|
-
remotePlatformApiBaseHelp: {
|
|
155
|
-
zh: '留空可回退到登录时写入的 providers.nextclaw.apiBase。',
|
|
156
|
-
en: 'Leave empty to fall back to providers.nextclaw.apiBase saved at login time.'
|
|
157
|
-
},
|
|
158
|
-
remoteSaveSettings: { zh: '保存设置', en: 'Save Settings' },
|
|
159
|
-
remoteSettingsSaved: { zh: '远程设置已保存', en: 'Remote settings saved' },
|
|
160
|
-
remoteSettingsSaveFailed: { zh: '远程设置保存失败', en: 'Failed to save remote settings' },
|
|
161
|
-
remoteSaveHint: {
|
|
162
|
-
zh: '推荐流程:先保存设置,再启动或重启服务,最后运行诊断确认。',
|
|
163
|
-
en: 'Recommended flow: save settings, start or restart the service, then run diagnostics.'
|
|
164
|
-
},
|
|
165
|
-
remoteAccountTitle: { zh: '平台账号', en: 'Platform Account' },
|
|
166
|
-
remoteAccountDescription: {
|
|
167
|
-
zh: '通过浏览器授权把当前设备安全连接到 NextClaw 平台。',
|
|
168
|
-
en: 'Authorize this device in your browser and connect it to the NextClaw platform.'
|
|
169
|
-
},
|
|
170
|
-
remoteAccountEmail: { zh: '邮箱', en: 'Email' },
|
|
171
|
-
remoteAccountUsername: { zh: '用户名', en: 'Username' },
|
|
172
|
-
remoteAccountUsernameRequiredTitle: { zh: '发布 skill 前需要先设置用户名', en: 'Set a username before publishing skills' },
|
|
173
|
-
remoteAccountUsernameRequiredDescription: {
|
|
174
|
-
zh: '平台账号已经登录,但还没有正式用户名。设置后,你的个人 skill 会使用 `@username/skill-name` 作为发布标识。',
|
|
175
|
-
en: 'Your platform account is already signed in, but it does not have a username yet. Once set, your personal skills will publish as `@username/skill-name`.'
|
|
176
|
-
},
|
|
177
|
-
remoteAccountUsernamePlaceholder: { zh: '例如:alice-dev', en: 'For example: alice-dev' },
|
|
178
|
-
remoteAccountUsernameSave: { zh: '保存用户名', en: 'Save Username' },
|
|
179
|
-
remoteAccountUsernameSaving: { zh: '保存中...', en: 'Saving...' },
|
|
180
|
-
remoteAccountUsernameSetSuccess: { zh: '用户名已保存', en: 'Username saved' },
|
|
181
|
-
remoteAccountUsernameSetFailed: { zh: '用户名保存失败', en: 'Failed to save username' },
|
|
182
|
-
remoteAccountUsernameLockedHelp: {
|
|
183
|
-
zh: '当前版本先支持首次设置用户名;设置后暂不支持改名。',
|
|
184
|
-
en: 'This version supports initial username setup only. Renaming is not available yet.'
|
|
185
|
-
},
|
|
186
|
-
remoteAccountRole: { zh: '角色', en: 'Role' },
|
|
187
|
-
remoteApiBase: { zh: 'API Base', en: 'API Base' },
|
|
188
|
-
remoteBrowserAuthTitle: { zh: '浏览器授权登录', en: 'Browser Authorization' },
|
|
189
|
-
remoteBrowserAuthDescription: {
|
|
190
|
-
zh: '点击后会打开平台授权页,在浏览器内登录或注册并授权当前设备。',
|
|
191
|
-
en: 'Open the platform authorization page in your browser, then sign in or create an account there.'
|
|
192
|
-
},
|
|
193
|
-
remoteBrowserAuthAction: { zh: '前往浏览器授权', en: 'Continue in Browser' },
|
|
194
|
-
remoteBrowserAuthActionRetry: { zh: '重新发起浏览器登录', en: 'Restart Browser Sign-In' },
|
|
195
|
-
remoteBrowserAuthResume: { zh: '重新打开授权页', en: 'Reopen Authorization Page' },
|
|
196
|
-
remoteBrowserAuthStarting: { zh: '正在创建授权会话...', en: 'Starting authorization...' },
|
|
197
|
-
remoteBrowserAuthAuthorizing: { zh: '等待浏览器完成授权...', en: 'Waiting for browser authorization...' },
|
|
198
|
-
remoteBrowserAuthWaiting: {
|
|
199
|
-
zh: '浏览器授权页已打开。请在网页中完成登录或注册,然后此页面会自动接入。',
|
|
200
|
-
en: 'The authorization page is open. Complete sign in or registration there and this page will connect automatically.'
|
|
201
|
-
},
|
|
202
|
-
remoteBrowserAuthCompleted: { zh: '浏览器授权完成,正在刷新登录状态。', en: 'Authorization completed. Refreshing account status.' },
|
|
203
|
-
remoteBrowserAuthExpired: { zh: '授权会话已过期,请重新发起。', en: 'Authorization session expired. Start again.' },
|
|
204
|
-
remoteBrowserAuthPopupBlocked: {
|
|
205
|
-
zh: '浏览器没有自动打开,请点击“重新打开授权页”。',
|
|
206
|
-
en: 'Your browser did not open automatically. Use "Reopen Authorization Page".'
|
|
207
|
-
},
|
|
208
|
-
remoteBrowserAuthSession: { zh: '授权会话', en: 'Auth Session' },
|
|
209
|
-
remoteBrowserAuthExpiresAt: { zh: '授权过期时间', en: 'Auth Expires At' },
|
|
210
|
-
remoteBrowserAuthHint: {
|
|
211
|
-
zh: '如果你刚修改了上方 Platform API Base,建议先保存设置;未保存时当前页面也会沿用你输入的新地址发起授权。',
|
|
212
|
-
en: 'If you just changed the Platform API Base above, saving settings is recommended. This page will still use the current value for browser authorization.'
|
|
213
|
-
},
|
|
214
|
-
remoteBrowserAuthStartFailed: { zh: '启动浏览器授权失败', en: 'Failed to start browser authorization' },
|
|
215
|
-
remoteBrowserAuthPollFailed: { zh: '浏览器授权状态检查失败', en: 'Failed to check browser authorization status' },
|
|
216
|
-
remoteEmail: { zh: '邮箱', en: 'Email' },
|
|
217
|
-
remotePassword: { zh: '密码', en: 'Password' },
|
|
218
|
-
remotePasswordPlaceholder: { zh: '请输入你的平台密码', en: 'Enter your platform password' },
|
|
219
|
-
remoteRegisterIfNeeded: { zh: '首次验证自动创建账号', en: 'Auto-create on First Verification' },
|
|
220
|
-
remoteRegisterIfNeededHelp: {
|
|
221
|
-
zh: '如果邮箱还没有对应账号,平台会在验证码验证成功后自动创建账号并保存登录态。',
|
|
222
|
-
en: 'When enabled, the UI will sign in on the platform and then save the resulting login token.'
|
|
223
|
-
},
|
|
224
|
-
remoteLogin: { zh: '登录平台', en: 'Login to Platform' },
|
|
225
|
-
remoteCreateAccount: { zh: '注册并登录', en: 'Create Account & Login' },
|
|
226
|
-
remoteLoggingIn: { zh: '登录中...', en: 'Logging in...' },
|
|
227
|
-
remoteLoginSuccess: { zh: '平台登录成功', en: 'Platform login succeeded' },
|
|
228
|
-
remoteLoginFailed: { zh: '平台登录失败', en: 'Platform login failed' },
|
|
229
|
-
remoteLogout: { zh: '退出登录', en: 'Logout' },
|
|
230
|
-
remoteLoggingOut: { zh: '退出中...', en: 'Logging out...' },
|
|
231
|
-
remoteLogoutSuccess: { zh: '已退出平台登录', en: 'Logged out from platform' },
|
|
232
|
-
remoteLogoutFailed: { zh: '退出登录失败', en: 'Failed to logout' },
|
|
233
|
-
remoteServiceTitle: { zh: '后台服务', en: 'Managed Service' },
|
|
234
|
-
remoteServiceDescription: {
|
|
235
|
-
zh: '直接控制托管当前 UI 的后台服务。',
|
|
236
|
-
en: 'Directly control the managed service that hosts the current UI.'
|
|
237
|
-
},
|
|
238
|
-
remoteServiceRunning: { zh: '服务运行中', en: 'Service Running' },
|
|
239
|
-
remoteServiceManagedRunning: { zh: '当前就是托管服务', en: 'Current Managed Service' },
|
|
240
|
-
remoteServiceStopped: { zh: '服务未运行', en: 'Service Stopped' },
|
|
241
|
-
remoteServicePid: { zh: '进程 PID', en: 'Process PID' },
|
|
242
|
-
remoteServiceUiUrl: { zh: 'UI 地址', en: 'UI URL' },
|
|
243
|
-
remoteServiceCurrentProcess: { zh: '当前页面是否由该服务提供', en: 'Current Page Served By It' },
|
|
244
|
-
remoteStartService: { zh: '启动服务', en: 'Start Service' },
|
|
245
|
-
remoteRestartService: { zh: '重启服务', en: 'Restart Service' },
|
|
246
|
-
remoteStopService: { zh: '停止服务', en: 'Stop Service' },
|
|
247
|
-
remoteServiceHint: {
|
|
248
|
-
zh: '如果当前页面本身就是托管服务,停止或重启时页面会短暂断开,这是预期行为。',
|
|
249
|
-
en: 'If this page is served by the managed service itself, stop/restart may briefly disconnect the page.'
|
|
250
|
-
},
|
|
251
|
-
remoteServiceActionFailed: { zh: '服务操作失败', en: 'Service action failed' },
|
|
252
|
-
remoteDoctorTitle: { zh: '远程诊断', en: 'Remote Diagnostics' },
|
|
253
|
-
remoteDoctorDescription: {
|
|
254
|
-
zh: '检查开关、平台登录、本地 UI 健康和连接器状态。',
|
|
255
|
-
en: 'Check config state, platform login, local UI health, and connector status.'
|
|
256
|
-
},
|
|
257
|
-
remoteRunDoctor: { zh: '运行诊断', en: 'Run Diagnostics' },
|
|
258
|
-
remoteDoctorRunning: { zh: '诊断中...', en: 'Running diagnostics...' },
|
|
259
|
-
remoteDoctorCompleted: { zh: '诊断完成', en: 'Diagnostics completed' },
|
|
260
|
-
remoteDoctorFailed: { zh: '诊断失败', en: 'Diagnostics failed' },
|
|
261
|
-
remoteDoctorGeneratedAt: { zh: '生成时间', en: 'Generated At' },
|
|
262
|
-
remoteDoctorEmpty: { zh: '点击上方按钮运行一次诊断。', en: 'Run diagnostics to see the latest checks here.' },
|
|
263
|
-
remoteCheckPassed: { zh: '通过', en: 'Passed' },
|
|
264
|
-
remoteCheckFailed: { zh: '失败', en: 'Failed' },
|
|
265
|
-
connected: { zh: '已连接', en: 'Connected' },
|
|
266
|
-
disconnected: { zh: '未连接', en: 'Disconnected' },
|
|
267
|
-
connecting: { zh: '连接中...', en: 'Connecting...' },
|
|
268
|
-
feishuConnecting: { zh: '验证 / 连接中...', en: 'Verifying / connecting...' },
|
|
269
|
-
statusReady: { zh: '就绪', en: 'Ready' },
|
|
270
|
-
statusSetup: { zh: '待配置', en: 'Setup' },
|
|
271
|
-
statusActive: { zh: '活跃', en: 'Active' },
|
|
272
|
-
statusInactive: { zh: '未启用', en: 'Inactive' }
|
|
273
|
-
};
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
export const DOC_BROWSER_LABELS = {
|
|
2
|
-
docBrowserTitle: { zh: '内嵌浏览器', en: 'Embedded Browser' },
|
|
3
|
-
docBrowserSearchPlaceholder: { zh: '搜索,也可以输入文档地址直接打开', en: 'Search, or enter a doc URL to open' },
|
|
4
|
-
docBrowserUrlPlaceholder: { zh: '输入文档路径,如 /guide/channels', en: 'Enter a doc path, e.g. /guide/channels' },
|
|
5
|
-
docBrowserOpenExternal: { zh: '文档中心打开', en: 'Open in Docs' },
|
|
6
|
-
docBrowserFloatMode: { zh: '悬浮窗口', en: 'Float Window' },
|
|
7
|
-
docBrowserDockMode: { zh: '固定到侧栏', en: 'Dock to Sidebar' },
|
|
8
|
-
docBrowserClose: { zh: '关闭', en: 'Close' },
|
|
9
|
-
docBrowserHelp: { zh: '帮助文档', en: 'Help Docs' },
|
|
10
|
-
docBrowserBack: { zh: '后退', en: 'Back' },
|
|
11
|
-
docBrowserForward: { zh: '前进', en: 'Forward' },
|
|
12
|
-
docBrowserNewTab: { zh: '新建标签', en: 'New Tab' },
|
|
13
|
-
docBrowserHomeTitle: { zh: '导航页', en: 'Start Page' },
|
|
14
|
-
docBrowserCloseTab: { zh: '关闭标签', en: 'Close Tab' },
|
|
15
|
-
docBrowserTabUntitled: { zh: '未命名', en: 'Untitled' },
|
|
16
|
-
sideDockPinCurrent: { zh: '固定到快捷栏', en: 'Pin to SideDock' },
|
|
17
|
-
sideDockUnpinCurrent: { zh: '从快捷栏移除', en: 'Remove from SideDock' },
|
|
18
|
-
sideDockBuiltInDocked: { zh: '内置快捷入口', en: 'Built-in shortcut' },
|
|
19
|
-
sideDockUnpinItem: { zh: '移除快捷入口', en: 'Remove shortcut' },
|
|
20
|
-
appsTitle: { zh: '应用', en: 'Apps' },
|
|
21
|
-
panelAppsTitle: { zh: '面板应用', en: 'Panel Apps' },
|
|
22
|
-
panelAppsLoading: { zh: '加载面板应用中...', en: 'Loading panel apps...' },
|
|
23
|
-
panelAppsLoadFailed: { zh: '面板应用加载失败', en: 'Failed to load panel apps' },
|
|
24
|
-
panelAppsEmpty: { zh: '暂无面板应用', en: 'No panel apps yet' },
|
|
25
|
-
panelAppsRefresh: { zh: '刷新面板应用', en: 'Refresh panel apps' },
|
|
26
|
-
panelAppsRefreshCurrent: { zh: '刷新当前面板应用', en: 'Refresh current panel app' },
|
|
27
|
-
panelAppsSortLabel: { zh: '排序', en: 'Sort' },
|
|
28
|
-
panelAppsSortSmart: { zh: '智能排序', en: 'Smart' },
|
|
29
|
-
panelAppsFavorites: { zh: '收藏', en: 'Favorites' },
|
|
30
|
-
panelAppsSortRecentOpen: { zh: '最近打开', en: 'Recently Opened' },
|
|
31
|
-
panelAppsSortUpdated: { zh: '最近更新', en: 'Recently Updated' },
|
|
32
|
-
panelAppsSortName: { zh: '名称', en: 'Name' },
|
|
33
|
-
panelAppsFavorite: { zh: '收藏面板应用', en: 'Favorite panel app' },
|
|
34
|
-
panelAppsUnfavorite: { zh: '取消收藏面板应用', en: 'Unfavorite panel app' },
|
|
35
|
-
panelAppsMoreActions: { zh: '更多面板应用操作', en: 'More panel app actions' },
|
|
36
|
-
panelAppsDelete: { zh: '删除面板应用', en: 'Delete panel app' },
|
|
37
|
-
panelAppsDeleteConfirmTitle: { zh: '删除面板应用?', en: 'Delete panel app?' },
|
|
38
|
-
panelAppsDeleteConfirmDescription: {
|
|
39
|
-
zh: '将删除这个面板应用文件,删除后不可恢复。',
|
|
40
|
-
en: 'This will delete the panel app file and cannot be undone.',
|
|
41
|
-
},
|
|
42
|
-
panelAppsClientGrantTitle: { zh: 'NextClaw Client SDK', en: 'NextClaw Client SDK' },
|
|
43
|
-
panelAppsClientGrantDescription: {
|
|
44
|
-
zh: '允许这个面板应用使用完整 NextClaw Client SDK。',
|
|
45
|
-
en: 'Allow this panel app to use the full NextClaw Client SDK.',
|
|
46
|
-
},
|
|
47
|
-
panelAppsLastOpened: { zh: '上次打开', en: 'Last opened' },
|
|
48
|
-
panelAppsUpdated: { zh: '更新于', en: 'Updated' },
|
|
49
|
-
serviceAppsTitle: { zh: '服务应用', en: 'Service Apps' },
|
|
50
|
-
serviceAppsLoading: { zh: '加载服务应用中...', en: 'Loading service apps...' },
|
|
51
|
-
serviceAppsLoadFailed: { zh: '服务应用加载失败', en: 'Failed to load service apps' },
|
|
52
|
-
serviceAppsEmpty: { zh: '暂无服务应用', en: 'No service apps yet' },
|
|
53
|
-
serviceAppsRefresh: { zh: '刷新服务应用', en: 'Refresh service apps' },
|
|
54
|
-
serviceAppsDiscoverActions: { zh: '连接并发现动作', en: 'Connect and discover actions' },
|
|
55
|
-
serviceAppsDiscoverActionsHint: {
|
|
56
|
-
zh: '连接服务应用运行时,并发现它当前可用的动作。',
|
|
57
|
-
en: 'Connect to the service app runtime and discover its available actions.',
|
|
58
|
-
},
|
|
59
|
-
serviceAppsDisconnectRuntime: { zh: '断开连接', en: 'Disconnect runtime' },
|
|
60
|
-
serviceAppsDisconnectRuntimeHint: {
|
|
61
|
-
zh: '断开当前运行时连接,并将服务应用恢复为未连接状态。',
|
|
62
|
-
en: 'Close the current runtime connection and return the service app to not connected.',
|
|
63
|
-
},
|
|
64
|
-
serviceAppsMoreActions: { zh: '更多操作', en: 'More actions' },
|
|
65
|
-
serviceAppsDelete: { zh: '删除服务应用', en: 'Delete service app' },
|
|
66
|
-
serviceAppsDeleteConfirmTitle: { zh: '删除服务应用?', en: 'Delete service app?' },
|
|
67
|
-
serviceAppsDeleteConfirmDescription: {
|
|
68
|
-
zh: '这会删除服务应用目录,且无法撤销。',
|
|
69
|
-
en: 'This will delete the service app directory and cannot be undone.',
|
|
70
|
-
},
|
|
71
|
-
serviceAppsStatus_idle: { zh: '未连接', en: 'Not connected' },
|
|
72
|
-
serviceAppsStatus_starting: { zh: '连接中', en: 'Connecting' },
|
|
73
|
-
serviceAppsStatus_running: { zh: '已连接', en: 'Connected' },
|
|
74
|
-
serviceAppsStatus_failed: { zh: '连接失败', en: 'Connection failed' },
|
|
75
|
-
serviceAppsStatus_stopped: { zh: '已停止', en: 'Stopped' },
|
|
76
|
-
serviceAppsStatusHint_idle: {
|
|
77
|
-
zh: '运行时尚未连接;执行连接并发现动作会启动连接。',
|
|
78
|
-
en: 'The runtime is not connected yet; connecting and discovering actions will start it.',
|
|
79
|
-
},
|
|
80
|
-
serviceAppsStatusHint_starting: {
|
|
81
|
-
zh: '正在连接服务应用运行时。',
|
|
82
|
-
en: 'Connecting to the service app runtime.',
|
|
83
|
-
},
|
|
84
|
-
serviceAppsStatusHint_running: {
|
|
85
|
-
zh: '服务应用运行时已连接,可用于发现或调用动作。',
|
|
86
|
-
en: 'The service app runtime is connected and ready for action discovery or invocation.',
|
|
87
|
-
},
|
|
88
|
-
serviceAppsStatusHint_failed: {
|
|
89
|
-
zh: '运行时连接失败,请查看错误信息或断开连接后重试。',
|
|
90
|
-
en: 'The runtime connection failed; check the error or disconnect and try again.',
|
|
91
|
-
},
|
|
92
|
-
serviceAppsStatusHint_stopped: {
|
|
93
|
-
zh: '服务应用已停止。',
|
|
94
|
-
en: 'The service app is stopped.',
|
|
95
|
-
},
|
|
96
|
-
serviceAppsGrantedTo: { zh: '已授权给', en: 'Granted to' },
|
|
97
|
-
serviceAppsRevokeGrant: { zh: '撤销授权', en: 'Revoke grant' },
|
|
98
|
-
serviceAppsRuntimeState_matched: { zh: '已匹配', en: 'Matched' },
|
|
99
|
-
serviceAppsRuntimeState_missing: { zh: '运行时缺失', en: 'Missing' },
|
|
100
|
-
serviceAppsRuntimeState_undeclared: { zh: '未声明', en: 'Undeclared' },
|
|
101
|
-
serviceAppsCommand: { zh: '命令', en: 'Command' },
|
|
102
|
-
serviceAppsCwd: { zh: '工作目录', en: 'Working directory' },
|
|
103
|
-
serviceAppsManifest: { zh: 'Manifest', en: 'Manifest' },
|
|
104
|
-
serviceAppsLastStarted: { zh: '上次启动', en: 'Last started' },
|
|
105
|
-
serviceAppsLastReady: { zh: '上次就绪', en: 'Last ready' },
|
|
106
|
-
serviceAppsLastFailed: { zh: '上次失败', en: 'Last failed' },
|
|
107
|
-
serviceActionAuthorizationTitle: { zh: '授权服务动作', en: 'Authorize service actions' },
|
|
108
|
-
serviceActionAuthorizationDescription: {
|
|
109
|
-
zh: '此面板应用正在请求调用本地服务应用动作。允许后,这些动作会为该面板应用记住授权。',
|
|
110
|
-
en: 'This panel app is requesting local service actions. If allowed, these actions will stay granted for this panel app.',
|
|
111
|
-
},
|
|
112
|
-
serviceActionAuthorizationSource: { zh: '来源', en: 'Source' },
|
|
113
|
-
serviceActionAuthorizationAction: { zh: '动作', en: 'Action' },
|
|
114
|
-
serviceActionAuthorizationActions: { zh: '动作', en: 'Actions' },
|
|
115
|
-
serviceActionAuthorizationPurpose: { zh: '用途', en: 'Purpose' },
|
|
116
|
-
serviceActionAuthorizationRisk: { zh: '风险', en: 'Risk' },
|
|
117
|
-
serviceActionAuthorizationInput: { zh: '输入', en: 'Input' },
|
|
118
|
-
serviceActionAuthorizationReject: { zh: '拒绝', en: 'Reject' },
|
|
119
|
-
serviceActionAuthorizationAllow: { zh: '允许', en: 'Allow' },
|
|
120
|
-
} as const;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export const PATH_PICKER_LABELS: Record<string, { zh: string; en: string }> = {
|
|
2
|
-
browse: { zh: '浏览', en: 'Browse' },
|
|
3
|
-
openPath: { zh: '打开', en: 'Open' },
|
|
4
|
-
homeDirectory: { zh: '主目录', en: 'Home' },
|
|
5
|
-
currentDirectory: { zh: '当前目录', en: 'Current Directory' },
|
|
6
|
-
parentDirectory: { zh: '上一级', en: 'Up' },
|
|
7
|
-
pathPickerSearchPlaceholder: { zh: '搜索当前目录', en: 'Search current directory' },
|
|
8
|
-
pathPickerSearchEmpty: { zh: '当前目录下没有匹配结果。', en: 'No matching entries in the current directory.' },
|
|
9
|
-
selectCurrentDirectory: { zh: '选择当前目录', en: 'Select Current Directory' },
|
|
10
|
-
emptyDirectory: { zh: '当前目录下暂无可浏览项。', en: 'No entries in the current directory.' },
|
|
11
|
-
pathBrowseFailed: { zh: '读取目录失败', en: 'Failed to load directory' },
|
|
12
|
-
};
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
export const RUNTIME_CONTROL_LABELS: Record<string, { zh: string; en: string }> = {
|
|
2
|
-
runtimePageTitle: { zh: '路由与运行时', en: 'Routing & Runtime' },
|
|
3
|
-
runtimePageDescription: {
|
|
4
|
-
zh: '对齐 OpenClaw 的多智能体路由:绑定规则、智能体池、私聊范围。',
|
|
5
|
-
en: 'Align multi-agent routing with OpenClaw: bindings, agent pool, and DM scope.'
|
|
6
|
-
},
|
|
7
|
-
dmScopeMain: { zh: '统一到主会话', en: 'Main session' },
|
|
8
|
-
dmScopePerPeer: { zh: '按对端隔离', en: 'Per peer' },
|
|
9
|
-
dmScopePerChannelPeer: { zh: '按渠道和对端隔离', en: 'Per channel and peer' },
|
|
10
|
-
dmScopePerAccountChannelPeer: { zh: '按账号、渠道和对端隔离', en: 'Per account, channel, and peer' },
|
|
11
|
-
runtimeEntries: { zh: '运行时入口', en: 'Runtime Entries' },
|
|
12
|
-
runtimeEntriesHelp: { zh: '统一管理可见的运行时入口与其配置。', en: 'Manage visible runtime entries and their configuration in one place.' },
|
|
13
|
-
runtimeEntryIdPlaceholder: { zh: '入口 ID,例如 hermes', en: 'Entry ID, for example hermes' },
|
|
14
|
-
runtimeEntryLabelPlaceholder: { zh: '展示名称,例如 Hermes', en: 'Display name, for example Hermes' },
|
|
15
|
-
runtimeEntryTypePlaceholder: { zh: '运行时类型,例如 narp-stdio', en: 'Runtime type, for example narp-stdio' },
|
|
16
|
-
runtimeEntryConfigJson: { zh: '配置 JSON', en: 'Config JSON' },
|
|
17
|
-
addRuntimeEntry: { zh: '添加运行时入口', en: 'Add Runtime Entry' },
|
|
18
|
-
runtimeEntryIdRequired: { zh: '运行时入口 ID 必填,位置:{index}', en: 'Runtime entry id is required at index {index}.' },
|
|
19
|
-
runtimeEntryTypeRequired: { zh: '运行时入口 "{id}" 的类型必填', en: 'Runtime entry type is required for "{id}".' },
|
|
20
|
-
runtimeEntryDuplicate: { zh: '重复的运行时入口 ID', en: 'Duplicate runtime entry id' },
|
|
21
|
-
runtimeEntryConfigObjectRequired: { zh: '运行时入口 "{id}" 的配置必须是 JSON 对象。', en: 'Runtime entry config for "{id}" must be a JSON object.' },
|
|
22
|
-
peerKindDirect: { zh: '私聊', en: 'Direct' },
|
|
23
|
-
peerKindGroup: { zh: '群组', en: 'Group' },
|
|
24
|
-
peerKindChannel: { zh: '频道', en: 'Channel' },
|
|
25
|
-
runtimeLoading: { zh: '加载运行时配置中...', en: 'Loading runtime settings...' },
|
|
26
|
-
runtimeControlTitle: { zh: '服务管理', en: 'Service Management' },
|
|
27
|
-
runtimeControlDescription: {
|
|
28
|
-
zh: '明确当前服务状态,并在宿主允许的范围内执行启动、重启、停止或桌面应用重启。',
|
|
29
|
-
en: 'Make the current service state explicit and manage start, restart, stop, or full desktop app restart when the host allows it.'
|
|
30
|
-
},
|
|
31
|
-
runtimePresenceTitle: { zh: '运行形态与常驻', en: 'Presence & Lifecycle' },
|
|
32
|
-
runtimePresenceDescription: {
|
|
33
|
-
zh: '明确当前环境里“关闭窗口/页面”会发生什么,以及哪些后台能力由宿主层负责。',
|
|
34
|
-
en: 'Make the current environment explicit: what happens when the window or page closes, and which background behaviors belong to the host.'
|
|
35
|
-
},
|
|
36
|
-
runtimePresenceLoading: { zh: '正在读取常驻状态...', en: 'Loading presence settings...' },
|
|
37
|
-
runtimePresenceLoadFailed: { zh: '读取桌面端常驻状态失败', en: 'Failed to load desktop presence settings' },
|
|
38
|
-
runtimePresenceBehaviorLabel: { zh: '当前关闭行为', en: 'Current Close Behavior' },
|
|
39
|
-
runtimePresenceBehaviorBackground: { zh: '关闭窗口时隐藏到后台', en: 'Closing the window hides it to the background' },
|
|
40
|
-
runtimePresenceBehaviorQuit: { zh: '关闭窗口时退出应用', en: 'Closing the window quits the app' },
|
|
41
|
-
runtimePresenceCloseToBackground: { zh: '关闭窗口时继续在后台运行', en: 'Keep running in background when closing the window' },
|
|
42
|
-
runtimePresenceCloseToBackgroundHelp: {
|
|
43
|
-
zh: '开启后,关闭桌面窗口只会隐藏到托盘,不会停止本地 NextClaw 服务。',
|
|
44
|
-
en: 'When enabled, closing the desktop window hides it to the tray instead of stopping the local NextClaw service.'
|
|
45
|
-
},
|
|
46
|
-
runtimePresenceLaunchAtLogin: { zh: '登录系统时自动启动 NextClaw', en: 'Launch NextClaw at login' },
|
|
47
|
-
runtimePresenceLaunchAtLoginHelp: {
|
|
48
|
-
zh: '开启后,桌面端会在登录系统后自动启动,并默认保持后台运行。',
|
|
49
|
-
en: 'When enabled, the desktop app starts automatically after login and stays in the background by default.'
|
|
50
|
-
},
|
|
51
|
-
runtimePresenceLaunchAtLoginUnavailable: {
|
|
52
|
-
zh: '当前环境暂不支持在这里配置开机自启。',
|
|
53
|
-
en: 'Launch-at-login is not configurable in this environment yet.'
|
|
54
|
-
},
|
|
55
|
-
runtimePresenceSaved: { zh: '桌面端常驻设置已保存', en: 'Desktop presence settings saved' },
|
|
56
|
-
runtimePresenceSaveFailed: { zh: '保存桌面端常驻设置失败', en: 'Failed to save desktop presence settings' },
|
|
57
|
-
runtimePresenceManagedLocalTitle: { zh: '浏览器只是本地服务控制面', en: 'The browser is only a control surface for the local service' },
|
|
58
|
-
runtimePresenceManagedLocalDescription: {
|
|
59
|
-
zh: '关闭浏览器标签页不会停止本地 NextClaw 服务。服务生命周期由本地受管服务负责,而不是由页面生命周期决定。',
|
|
60
|
-
en: 'Closing the browser tab does not stop the local NextClaw service. The local managed service owns the lifecycle, not the page.'
|
|
61
|
-
},
|
|
62
|
-
runtimePresenceSelfHostedTitle: { zh: '页面不拥有自托管服务生命周期', en: 'The page does not own the self-hosted service lifecycle' },
|
|
63
|
-
runtimePresenceSelfHostedDescription: {
|
|
64
|
-
zh: '关闭浏览器页面不会影响自托管实例。服务启停和开机常驻应由宿主环境或部署层管理。',
|
|
65
|
-
en: 'Closing the browser page does not affect the self-hosted instance. Service start, stop, and auto-start belong to the host environment or deployment layer.'
|
|
66
|
-
},
|
|
67
|
-
runtimePresenceSharedTitle: { zh: '共享网页端只暴露状态,不暴露进程控制', en: 'Shared web exposes service state, not process ownership' },
|
|
68
|
-
runtimePresenceSharedDescription: {
|
|
69
|
-
zh: '关闭页面只会结束当前连接或会话,不会影响共享服务本体。服务生命周期由平台托管层负责。',
|
|
70
|
-
en: 'Closing the page only ends the current connection or session, not the shared service itself. The platform owns the lifecycle.'
|
|
71
|
-
},
|
|
72
|
-
runtimeControlLoading: { zh: '读取运行时控制能力中...', en: 'Loading runtime control capabilities...' },
|
|
73
|
-
runtimeControlLoadFailed: { zh: '读取运行时控制状态失败', en: 'Failed to load runtime control state' },
|
|
74
|
-
runtimeControlManagedLocalMessage: { zh: '使用此页面管理本地 NextClaw 服务。关闭浏览器不会停止服务。', en: 'Use this page to manage the local NextClaw service. Closing the browser does not stop the service.' },
|
|
75
|
-
runtimeControlManagedLocalHint: { zh: '此页面由正在运行的本地服务提供。关闭浏览器不会停止它。', en: 'This page is served by the running local service. Closing the browser does not stop it.' },
|
|
76
|
-
runtimeControlManagedLocalHintShort: { zh: '此页面由正在运行的本地服务提供。', en: 'This page is served by the running local service.' },
|
|
77
|
-
runtimeControlStartUnavailableHosted: { zh: '当前页面已经由运行中的本地服务托管。', en: 'This page is already hosted by the running local service.' },
|
|
78
|
-
runtimeControlRestartAppDesktopOnly: { zh: '只有桌面壳环境支持重启整个应用。', en: 'App restart is only available in the desktop shell.' },
|
|
79
|
-
runtimeControlServiceNotRunning: { zh: '本地服务未运行。', en: 'The local service is not running.' },
|
|
80
|
-
runtimeControlServiceAlreadyStopped: { zh: '本地服务已经停止。', en: 'The local service is already stopped.' },
|
|
81
|
-
runtimeControlManagedServiceStarted: { zh: '本地服务已启动。', en: 'Managed service started.' },
|
|
82
|
-
runtimeControlManagedServiceStartScheduled: { zh: '本地服务启动已安排。', en: 'Managed service start scheduled.' },
|
|
83
|
-
runtimeControlRestartScheduled: { zh: '重启已安排。此页面可能会短暂断开。', en: 'Restart scheduled. This page may disconnect for a few seconds.' },
|
|
84
|
-
runtimeControlStopScheduled: { zh: '停止已安排。此页面即将断开。', en: 'Stop scheduled. This page will disconnect shortly.' },
|
|
85
|
-
runtimeControlServiceRunning: { zh: '服务运行中', en: 'Service running' },
|
|
86
|
-
runtimeControlServiceStopped: { zh: '服务已停止', en: 'Service stopped' },
|
|
87
|
-
runtimeControlServiceStarting: { zh: '正在启动服务', en: 'Starting service' },
|
|
88
|
-
runtimeControlServiceStopping: { zh: '正在停止服务', en: 'Stopping service' },
|
|
89
|
-
runtimeControlServiceRestarting: { zh: '正在重启服务', en: 'Restarting service' },
|
|
90
|
-
runtimeControlServiceUnknown: { zh: '服务状态未知', en: 'Service state unknown' },
|
|
91
|
-
runtimeControlHealthy: { zh: '运行时正常', en: 'Runtime healthy' },
|
|
92
|
-
runtimeControlStartingService: { zh: '正在启动服务', en: 'Starting service' },
|
|
93
|
-
runtimeControlRestartingService: { zh: '正在重启服务', en: 'Restarting service' },
|
|
94
|
-
runtimeControlStoppingService: { zh: '正在停止服务', en: 'Stopping service' },
|
|
95
|
-
runtimeControlRestartingApp: { zh: '正在重启应用', en: 'Restarting app' },
|
|
96
|
-
runtimeControlRecovering: { zh: '正在恢复连接', en: 'Recovering connection' },
|
|
97
|
-
runtimeControlFailed: { zh: '重启失败', en: 'Restart failed' },
|
|
98
|
-
runtimeControlUnavailable: { zh: '当前不可用', en: 'Currently unavailable' },
|
|
99
|
-
runtimeControlEnvironmentDesktop: { zh: '桌面端内嵌运行时', en: 'Desktop embedded runtime' },
|
|
100
|
-
runtimeControlEnvironmentManagedService: { zh: '本地托管服务', en: 'Managed local service' },
|
|
101
|
-
runtimeControlEnvironmentSelfHosted: { zh: '自托管网页端', en: 'Self-hosted web' },
|
|
102
|
-
runtimeControlEnvironmentSharedWeb: { zh: '共享网页端', en: 'Shared web' },
|
|
103
|
-
runtimeControlStartService: { zh: '启动服务', en: 'Start Service' },
|
|
104
|
-
runtimeControlRestartService: { zh: '重启服务', en: 'Restart Service' },
|
|
105
|
-
runtimeControlStopService: { zh: '停止服务', en: 'Stop Service' },
|
|
106
|
-
runtimeControlRestartApp: { zh: '重启应用', en: 'Restart App' },
|
|
107
|
-
runtimeControlPendingRestartTitle: { zh: '待重启', en: 'Pending Restart' },
|
|
108
|
-
runtimeControlPendingRestartDescription: {
|
|
109
|
-
zh: '这次改动已经保存,但系统不会自动重启。请在你方便的时候手动重启,重启完成后该提示会自动清空。',
|
|
110
|
-
en: 'These changes are saved, but the system will not restart automatically. Restart manually when you are ready, and this notice clears after the restart finishes.'
|
|
111
|
-
},
|
|
112
|
-
runtimeControlPendingRestartPaths: { zh: '待生效项', en: 'Changes Waiting For Restart' },
|
|
113
|
-
runtimeStatusLoadingTitle: { zh: '读取状态中', en: 'Loading status' },
|
|
114
|
-
runtimeStatusLoadingDescription: {
|
|
115
|
-
zh: '正在读取当前系统状态。',
|
|
116
|
-
en: 'Loading the current system status.'
|
|
117
|
-
},
|
|
118
|
-
runtimeStatusHealthyTitle: { zh: '系统正常', en: 'System healthy' },
|
|
119
|
-
runtimeStatusHealthyDescription: {
|
|
120
|
-
zh: '当前没有需要你立即处理的系统动作。',
|
|
121
|
-
en: 'There is no system action that needs your attention right now.'
|
|
122
|
-
},
|
|
123
|
-
runtimeStatusPendingRestartTitle: { zh: '待重启', en: 'Restart required' },
|
|
124
|
-
runtimeStatusPendingRestartDescription: {
|
|
125
|
-
zh: '这些改动已经保存,但不会自动重启。你可以在这里查看原因,并在方便的时候手动重启。',
|
|
126
|
-
en: 'These changes are saved, but the system will not restart automatically. Review the reason here and restart when you are ready.'
|
|
127
|
-
},
|
|
128
|
-
runtimeStatusPendingRestartReasonItem: {
|
|
129
|
-
zh: '{path} 改动将在重启后生效。',
|
|
130
|
-
en: 'Changes in {path} will apply after restart.'
|
|
131
|
-
},
|
|
132
|
-
runtimeStatusActionHint: {
|
|
133
|
-
zh: '准备好时再执行',
|
|
134
|
-
en: 'Run when you are ready'
|
|
135
|
-
},
|
|
136
|
-
runtimeStatusRestartAction: { zh: '立即重启', en: 'Restart now' },
|
|
137
|
-
runtimeStatusRestartingAction: { zh: '重启中...', en: 'Restarting...' },
|
|
138
|
-
runtimeControlStartingServiceHelp: {
|
|
139
|
-
zh: '正在启动 NextClaw 服务,页面可能会在服务恢复后重新连接。',
|
|
140
|
-
en: 'Starting the NextClaw service. The page may reconnect after the service becomes available.'
|
|
141
|
-
},
|
|
142
|
-
runtimeControlRestartingServiceHelp: {
|
|
143
|
-
zh: '正在重启 NextClaw 服务,页面可能会短暂断开。',
|
|
144
|
-
en: 'Restarting the NextClaw service. The page may disconnect briefly.'
|
|
145
|
-
},
|
|
146
|
-
runtimeControlStoppingServiceHelp: {
|
|
147
|
-
zh: '正在停止 NextClaw 服务,当前页面会很快断开。',
|
|
148
|
-
en: 'Stopping the NextClaw service. This page will disconnect shortly.'
|
|
149
|
-
},
|
|
150
|
-
runtimeControlRestartingAppHelp: {
|
|
151
|
-
zh: '正在重新启动桌面应用,当前窗口会短暂关闭并立即拉起。',
|
|
152
|
-
en: 'Restarting the desktop app. The current window will close briefly and relaunch.'
|
|
153
|
-
},
|
|
154
|
-
runtimeControlRecoveringHelp: {
|
|
155
|
-
zh: '正在等待服务恢复连接...',
|
|
156
|
-
en: 'Waiting for the service to come back...'
|
|
157
|
-
},
|
|
158
|
-
runtimeControlRecovered: { zh: '运行时已恢复连接', en: 'Runtime connection restored' },
|
|
159
|
-
runtimeControlActionFailed: { zh: '服务管理动作失败', en: 'Service management action failed' },
|
|
160
|
-
runtimeControlRestartAppConfirm: {
|
|
161
|
-
zh: '这会重启整个 NextClaw 桌面应用,并中断当前窗口。确定继续吗?',
|
|
162
|
-
en: 'This restarts the entire NextClaw desktop app and interrupts the current window. Continue?'
|
|
163
|
-
},
|
|
164
|
-
runtimeControlStopServiceConfirm: {
|
|
165
|
-
zh: '这会停止当前 NextClaw 服务,当前页面会立即断开。确定继续吗?',
|
|
166
|
-
en: 'This stops the current NextClaw service and disconnects the page immediately. Continue?'
|
|
167
|
-
},
|
|
168
|
-
runtimeRestartAppUnavailable: {
|
|
169
|
-
zh: '当前环境不支持从前端重启整个应用。',
|
|
170
|
-
en: 'This environment does not support restarting the entire app from the UI.'
|
|
171
|
-
},
|
|
172
|
-
runtimeControlDesktopServiceHint: {
|
|
173
|
-
zh: '桌面端由 Launcher 持有应用生命周期;普通用户无需单独停止内嵌服务。',
|
|
174
|
-
en: 'The desktop launcher owns the app lifecycle, so end users do not stop the embedded service separately.'
|
|
175
|
-
},
|
|
176
|
-
runtimeRecoveryTimedOut: {
|
|
177
|
-
zh: '等待运行时恢复超时,请稍后重试或查看日志。',
|
|
178
|
-
en: 'Timed out waiting for the runtime to recover. Try again or inspect the logs.'
|
|
179
|
-
}
|
|
180
|
-
};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
export const SEARCH_LABELS: Record<string, { zh: string; en: string }> = {
|
|
2
|
-
searchPageTitle: { zh: '搜索渠道', en: 'Search Channels' },
|
|
3
|
-
searchPageDescription: { zh: '配置网页搜索提供商', en: 'Configure web search providers.' },
|
|
4
|
-
searchActiveProvider: { zh: '当前搜索提供商', en: 'Active Search Provider' },
|
|
5
|
-
searchDefaultMaxResults: { zh: '默认返回条数', en: 'Default Result Count' },
|
|
6
|
-
searchProviderSummary: { zh: '结果摘要', en: 'Result Summary' },
|
|
7
|
-
searchProviderFreshness: { zh: '时间范围', en: 'Freshness' },
|
|
8
|
-
searchProviderSearchDepth: { zh: '搜索深度', en: 'Search Depth' },
|
|
9
|
-
searchProviderIncludeAnswer: { zh: '包含回答', en: 'Include Answer' },
|
|
10
|
-
searchProviderBaseUrl: { zh: '接口地址', en: 'API Base URL' },
|
|
11
|
-
searchProviderOpenDocs: { zh: '查看文档', en: 'Open Docs' },
|
|
12
|
-
searchProviderActivate: { zh: '激活', en: 'Activate' },
|
|
13
|
-
searchProviderActivated: { zh: '已激活', en: 'Activated' },
|
|
14
|
-
searchProviderDeactivate: { zh: '取消激活', en: 'Deactivate' },
|
|
15
|
-
searchProviderBochaDescription: {
|
|
16
|
-
zh: '更适合中国大陆用户的 AI 搜索。',
|
|
17
|
-
en: 'AI-ready search that works better for mainland China users.'
|
|
18
|
-
},
|
|
19
|
-
searchProviderTavilyDescription: {
|
|
20
|
-
zh: '更适合调研和网页信息整合的搜索 provider。',
|
|
21
|
-
en: 'Research-focused search with configurable answer synthesis.'
|
|
22
|
-
},
|
|
23
|
-
searchProviderBraveDescription: {
|
|
24
|
-
zh: '保留 Brave 作为可选 provider。',
|
|
25
|
-
en: 'Keep Brave as an optional provider.'
|
|
26
|
-
},
|
|
27
|
-
searchStatusConfigured: { zh: '已配置', en: 'Configured' },
|
|
28
|
-
searchStatusNeedsSetup: { zh: '待配置', en: 'Needs Setup' },
|
|
29
|
-
searchFreshnessNoLimit: { zh: '不限', en: 'No Limit' },
|
|
30
|
-
searchFreshnessOneDay: { zh: '一天内', en: 'One Day' },
|
|
31
|
-
searchFreshnessOneWeek: { zh: '一周内', en: 'One Week' },
|
|
32
|
-
searchFreshnessOneMonth: { zh: '一个月内', en: 'One Month' },
|
|
33
|
-
searchFreshnessOneYear: { zh: '一年内', en: 'One Year' },
|
|
34
|
-
searchDepthBasic: { zh: '基础', en: 'Basic' },
|
|
35
|
-
searchDepthAdvanced: { zh: '高级', en: 'Advanced' },
|
|
36
|
-
searchNoProviderSelected: { zh: '请选择左侧搜索 provider', en: 'Select a search provider from the left.' }
|
|
37
|
-
};
|