@agentprojectcontext/apx 1.25.0 → 1.27.1
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/package.json +42 -12
- package/skills/apx/SKILL.md +50 -119
- package/skills/apx-agency-agents/SKILL.md +141 -0
- package/skills/apx-agent/SKILL.md +100 -0
- package/skills/apx-mcp/SKILL.md +114 -0
- package/skills/apx-mcp-builder/SKILL.md +186 -0
- package/skills/apx-project/SKILL.md +100 -0
- package/skills/apx-routine/SKILL.md +138 -0
- package/skills/apx-runtime/SKILL.md +115 -0
- package/skills/apx-sessions/SKILL.md +281 -0
- package/skills/apx-skill-builder/SKILL.md +149 -0
- package/skills/apx-task/SKILL.md +95 -0
- package/skills/apx-telegram/SKILL.md +115 -0
- package/skills/apx-voice/SKILL.md +135 -0
- package/src/core/agent/constants.js +3 -0
- package/src/core/agent/ghost-guard.js +24 -0
- package/src/core/agent/index.js +35 -0
- package/src/core/agent/model-router.js +257 -0
- package/src/core/agent/prompt-builder.js +313 -0
- package/src/core/agent/prompts/channels/api.md +7 -0
- package/src/core/agent/prompts/channels/cli.md +6 -0
- package/src/core/agent/prompts/channels/code.md +20 -0
- package/src/core/agent/prompts/channels/deck.md +6 -0
- package/src/core/agent/prompts/channels/desktop.md +24 -0
- package/src/core/agent/prompts/channels/routine.md +9 -0
- package/src/core/agent/prompts/channels/telegram.md +9 -0
- package/src/core/agent/prompts/channels/terminal.md +16 -0
- package/src/core/agent/prompts/channels/web.md +7 -0
- package/src/core/agent/prompts/channels/web_sidebar.md +7 -0
- package/src/core/agent/prompts/modes/voice.md +4 -0
- package/src/core/agent/prompts/super-agent-base.md +42 -0
- package/src/core/agent/pseudo-tools.js +40 -0
- package/src/core/agent/retry.js +85 -0
- package/src/core/agent/run-agent.js +423 -0
- package/src/core/agent/self-memory.js +155 -0
- package/src/{daemon → core/agent}/tool-call-parser.js +83 -10
- package/src/core/agent/tools-overlap.js +66 -0
- package/src/core/apc-skill-sync.js +97 -0
- package/src/core/code-sessions-store.js +150 -0
- package/src/core/config.js +473 -11
- package/src/core/desktop/autostart.js +162 -0
- package/src/core/engines/_health.js +63 -0
- package/src/{daemon → core}/engines/anthropic.js +16 -0
- package/src/core/engines/gemini.js +168 -0
- package/src/core/engines/groq.js +8 -0
- package/src/{daemon → core}/engines/index.js +3 -1
- package/src/{daemon → core}/engines/mock.js +22 -0
- package/src/{daemon → core}/engines/ollama.js +35 -0
- package/src/core/engines/openai-compatible.js +145 -0
- package/src/core/engines/openai.js +8 -0
- package/src/core/engines/openrouter.js +8 -0
- package/src/core/git-baseline.js +147 -0
- package/src/core/identity.js +21 -0
- package/src/core/logging.js +1 -1
- package/src/core/mcp/index.js +14 -0
- package/src/{daemon/mcp-runner.js → core/mcp/runner.js} +18 -6
- package/src/core/mcp/sources.js +246 -0
- package/src/core/memory/active-threads.js +124 -0
- package/src/core/memory/broker.js +144 -0
- package/src/core/memory/compactor.js +186 -0
- package/src/core/memory/embed-engines/gemini.js +62 -0
- package/src/core/memory/embed-engines/index.js +148 -0
- package/src/core/memory/embed-engines/ollama.js +55 -0
- package/src/core/memory/embed-engines/openai.js +64 -0
- package/src/core/memory/embed-engines/tf.js +20 -0
- package/src/core/memory/embeddings.js +132 -0
- package/src/core/memory/index.js +161 -0
- package/src/core/memory/indexer.js +257 -0
- package/src/core/memory/store.js +231 -0
- package/src/core/messages-store.js +143 -25
- package/src/core/parser.js +78 -16
- package/src/core/scaffold.js +175 -79
- package/src/core/tasks-store.js +264 -0
- package/src/core/telegram-identity.js +126 -0
- package/src/core/tools/index.js +6 -0
- package/src/core/voice/engines/elevenlabs.js +96 -0
- package/src/core/voice/engines/gemini.js +148 -0
- package/src/core/voice/engines/index.js +144 -0
- package/src/core/voice/engines/mock.js +59 -0
- package/src/core/voice/engines/openai.js +82 -0
- package/src/core/voice/engines/piper.js +93 -0
- package/src/core/voice/index.js +3 -0
- package/src/core/voice/tts.js +89 -0
- package/src/{daemon → host/daemon}/apc-runtime-context.js +1 -1
- package/src/host/daemon/api/admin-config.js +159 -0
- package/src/host/daemon/api/admin.js +72 -0
- package/src/host/daemon/api/agents.js +284 -0
- package/src/host/daemon/api/artifacts.js +52 -0
- package/src/host/daemon/api/code.js +351 -0
- package/src/host/daemon/api/config.js +104 -0
- package/src/host/daemon/api/connections.js +42 -0
- package/src/host/daemon/api/conversations.js +161 -0
- package/src/host/daemon/api/deck.js +511 -0
- package/src/host/daemon/api/desktop.js +71 -0
- package/src/host/daemon/api/embeddings.js +65 -0
- package/src/host/daemon/api/engines.js +80 -0
- package/src/host/daemon/api/exec.js +193 -0
- package/src/host/daemon/api/health.js +10 -0
- package/src/host/daemon/api/identity.js +36 -0
- package/src/host/daemon/api/mcps.js +205 -0
- package/src/host/daemon/api/messages.js +83 -0
- package/src/host/daemon/api/pairing.js +194 -0
- package/src/host/daemon/api/plugins.js +19 -0
- package/src/host/daemon/api/projects.js +35 -0
- package/src/host/daemon/api/routines.js +84 -0
- package/src/host/daemon/api/run.js +55 -0
- package/src/host/daemon/api/runtimes.js +219 -0
- package/src/host/daemon/api/sessions-search.js +177 -0
- package/src/host/daemon/api/sessions.js +115 -0
- package/src/host/daemon/api/shared.js +217 -0
- package/src/host/daemon/api/super-agent.js +208 -0
- package/src/host/daemon/api/tasks.js +118 -0
- package/src/host/daemon/api/telegram.js +325 -0
- package/src/host/daemon/api/tools.js +21 -0
- package/src/host/daemon/api/top-level.js +131 -0
- package/src/host/daemon/api/transcribe.js +35 -0
- package/src/host/daemon/api/tts.js +44 -0
- package/src/host/daemon/api/voice.js +519 -0
- package/src/host/daemon/api/web.js +123 -0
- package/src/host/daemon/api.js +152 -0
- package/src/{daemon → host/daemon}/compact.js +1 -1
- package/src/{daemon → host/daemon}/db.js +19 -5
- package/src/{daemon/overlay-ws.js → host/daemon/desktop-ws.js} +7 -7
- package/src/host/daemon/engine-sessions.js +245 -0
- package/src/{daemon → host/daemon}/index.js +27 -10
- package/src/{daemon/plugins/overlay.js → host/daemon/plugins/desktop.js} +36 -28
- package/src/{daemon → host/daemon}/plugins/index.js +2 -2
- package/src/{daemon → host/daemon}/plugins/telegram.js +165 -33
- package/src/{daemon → host/daemon}/project-config.js +31 -7
- package/src/{daemon → host/daemon}/routines.js +27 -8
- package/src/{daemon → host/daemon}/skills-loader.js +4 -2
- package/src/{daemon → host/daemon}/smoke.js +9 -5
- package/src/{daemon → host/daemon}/super-agent-tools/helpers.js +1 -1
- package/src/host/daemon/super-agent-tools/index.js +157 -0
- package/src/{daemon → host/daemon}/super-agent-tools/registry-bridge.js +1 -1
- package/src/{daemon → host/daemon}/super-agent-tools/tools/add-project.js +2 -2
- package/src/{daemon → host/daemon}/super-agent-tools/tools/ask-questions.js +4 -0
- package/src/{daemon → host/daemon}/super-agent-tools/tools/call-agent.js +5 -2
- package/src/{daemon → host/daemon}/super-agent-tools/tools/call-runtime.js +117 -8
- package/src/host/daemon/super-agent-tools/tools/create-task.js +52 -0
- package/src/{daemon → host/daemon}/super-agent-tools/tools/import-agent.js +2 -3
- package/src/{daemon → host/daemon}/super-agent-tools/tools/list-agents.js +1 -1
- package/src/host/daemon/super-agent-tools/tools/list-tasks.js +52 -0
- package/src/{daemon → host/daemon}/super-agent-tools/tools/list-vault-agents.js +1 -1
- package/src/host/daemon/super-agent-tools/tools/read-self-memory.js +21 -0
- package/src/host/daemon/super-agent-tools/tools/remember.js +40 -0
- package/src/{daemon → host/daemon}/super-agent-tools/tools/search-messages.js +1 -1
- package/src/host/daemon/super-agent-tools/tools/search-sessions.js +134 -0
- package/src/{daemon → host/daemon}/super-agent-tools/tools/send-telegram.js +2 -2
- package/src/{daemon → host/daemon}/super-agent-tools/tools/set-identity.js +1 -1
- package/src/{daemon → host/daemon}/super-agent-tools/tools/set-permission-mode.js +1 -1
- package/src/{daemon → host/daemon}/super-agent-tools/tools/tail-messages.js +1 -1
- package/src/host/daemon/super-agent.js +129 -0
- package/src/host/daemon/token-store.js +118 -0
- package/src/host/daemon/tool-call-parser.js +2 -0
- package/src/{daemon → host/daemon}/transcription.js +1 -1
- package/src/{daemon → host/daemon}/wakeup.js +2 -2
- package/src/interfaces/cli/claude-permissions.js +33 -0
- package/src/{cli → interfaces/cli}/commands/agent.js +43 -8
- package/src/{cli → interfaces/cli}/commands/command.js +1 -1
- package/src/{cli → interfaces/cli}/commands/config.js +1 -1
- package/src/{cli → interfaces/cli}/commands/daemon.js +67 -0
- package/src/interfaces/cli/commands/desktop.js +335 -0
- package/src/interfaces/cli/commands/exec.js +92 -0
- package/src/{cli → interfaces/cli}/commands/identity.js +6 -63
- package/src/{cli → interfaces/cli}/commands/init.js +1 -1
- package/src/{cli → interfaces/cli}/commands/mcp.js +69 -10
- package/src/{cli → interfaces/cli}/commands/memory.js +2 -2
- package/src/interfaces/cli/commands/model.js +136 -0
- package/src/interfaces/cli/commands/pair.js +170 -0
- package/src/interfaces/cli/commands/project-config.js +131 -0
- package/src/{cli → interfaces/cli}/commands/project.js +1 -1
- package/src/{cli → interfaces/cli}/commands/search.js +1 -1
- package/src/interfaces/cli/commands/session.js +892 -0
- package/src/interfaces/cli/commands/sessions.js +997 -0
- package/src/{cli → interfaces/cli}/commands/setup.js +98 -4
- package/src/{cli → interfaces/cli}/commands/skills.js +117 -9
- package/src/{cli → interfaces/cli}/commands/status.js +9 -1
- package/src/{cli → interfaces/cli}/commands/sys.js +96 -17
- package/src/interfaces/cli/commands/task.js +179 -0
- package/src/interfaces/cli/commands/telegram.js +366 -0
- package/src/{cli → interfaces/cli}/commands/update.js +1 -1
- package/src/interfaces/cli/commands/voice.js +258 -0
- package/src/{cli → interfaces/cli}/http.js +6 -2
- package/src/{cli → interfaces/cli}/index.js +955 -63
- package/src/interfaces/cli/postinstall.js +34 -0
- package/src/interfaces/desktop/assets/app-icon-180.png +0 -0
- package/src/interfaces/desktop/assets/app-icon-32.png +0 -0
- package/src/interfaces/desktop/assets/app-icon.png +0 -0
- package/src/interfaces/desktop/assets/apx-logo.png +0 -0
- package/src/interfaces/desktop/assets/superagent.png +0 -0
- package/src/interfaces/desktop/assets/tray-icon.png +0 -0
- package/src/interfaces/desktop/index.html +18 -0
- package/src/interfaces/desktop/main.js +652 -0
- package/src/interfaces/desktop/preload.js +48 -0
- package/src/interfaces/desktop/renderer.js +1006 -0
- package/src/interfaces/desktop/style.css +400 -0
- package/src/{mcp → interfaces/mcp-server}/index.js +2 -2
- package/src/interfaces/tui/_shims/util-which.ts +53 -0
- package/src/{tui → interfaces/tui}/app.tsx +2 -2
- package/src/{tui → interfaces/tui}/component/prompt/index.tsx +4 -1
- package/src/{tui → interfaces/tui}/context/sdk-apx.tsx +84 -16
- package/src/interfaces/tui/context/sync-apx.tsx +398 -0
- package/src/interfaces/tui/routes/session/index.tsx +368 -0
- package/src/interfaces/tui/routes/session/message-actions.tsx +58 -0
- package/src/interfaces/tui/routes/session/sidebar-apx.tsx +114 -0
- package/src/{tui → interfaces/tui}/tsconfig.json +1 -0
- package/src/{tui → interfaces/tui}/util/clipboard.ts +1 -1
- package/src/interfaces/web/README.md +102 -0
- package/src/interfaces/web/coming-soon.html +65 -0
- package/src/interfaces/web/components.json +25 -0
- package/src/interfaces/web/dist/assets/index-BDUsA6L6.css +1 -0
- package/src/interfaces/web/dist/assets/index-CfWyjPBa.js +548 -0
- package/src/interfaces/web/dist/assets/index-CfWyjPBa.js.map +1 -0
- package/src/interfaces/web/dist/favicon/dark/android-chrome-192x192.png +0 -0
- package/src/interfaces/web/dist/favicon/dark/android-chrome-512x512.png +0 -0
- package/src/interfaces/web/dist/favicon/dark/apple-touch-icon.png +0 -0
- package/src/interfaces/web/dist/favicon/dark/favicon-16x16.png +0 -0
- package/src/interfaces/web/dist/favicon/dark/favicon-32x32.png +0 -0
- package/src/interfaces/web/dist/favicon/dark/favicon-48x48.png +0 -0
- package/src/interfaces/web/dist/favicon/dark/favicon.ico +0 -0
- package/src/interfaces/web/dist/favicon/dark/favicon.webp +0 -0
- package/src/interfaces/web/dist/favicon/dark/site.webmanifest +18 -0
- package/src/interfaces/web/dist/favicon/white/android-chrome-192x192.png +0 -0
- package/src/interfaces/web/dist/favicon/white/android-chrome-512x512.png +0 -0
- package/src/interfaces/web/dist/favicon/white/apple-touch-icon.png +0 -0
- package/src/interfaces/web/dist/favicon/white/favicon-16x16.png +0 -0
- package/src/interfaces/web/dist/favicon/white/favicon-32x32.png +0 -0
- package/src/interfaces/web/dist/favicon/white/favicon-48x48.png +0 -0
- package/src/interfaces/web/dist/favicon/white/favicon.ico +0 -0
- package/src/interfaces/web/dist/favicon/white/favicon.webp +0 -0
- package/src/interfaces/web/dist/favicon/white/site.webmanifest +18 -0
- package/src/interfaces/web/dist/index.html +27 -0
- package/src/interfaces/web/dist/logo/logo_dark.webp +0 -0
- package/src/interfaces/web/dist/logo/logo_only_dark.webp +0 -0
- package/src/interfaces/web/dist/logo/logo_only_white.webp +0 -0
- package/src/interfaces/web/dist/logo/logo_vertical_dark.webp +0 -0
- package/src/interfaces/web/dist/logo/logo_vertical_white.webp +0 -0
- package/src/interfaces/web/dist/logo/logo_white.webp +0 -0
- package/src/interfaces/web/dist/modules/superagent.png +0 -0
- package/src/interfaces/web/index.html +26 -0
- package/src/interfaces/web/package-lock.json +4253 -0
- package/src/interfaces/web/package.json +55 -0
- package/src/interfaces/web/playwright.config.ts +45 -0
- package/src/interfaces/web/pnpm-lock.yaml +2946 -0
- package/src/interfaces/web/public/favicon/dark/android-chrome-192x192.png +0 -0
- package/src/interfaces/web/public/favicon/dark/android-chrome-512x512.png +0 -0
- package/src/interfaces/web/public/favicon/dark/apple-touch-icon.png +0 -0
- package/src/interfaces/web/public/favicon/dark/favicon-16x16.png +0 -0
- package/src/interfaces/web/public/favicon/dark/favicon-32x32.png +0 -0
- package/src/interfaces/web/public/favicon/dark/favicon-48x48.png +0 -0
- package/src/interfaces/web/public/favicon/dark/favicon.ico +0 -0
- package/src/interfaces/web/public/favicon/dark/favicon.webp +0 -0
- package/src/interfaces/web/public/favicon/dark/site.webmanifest +18 -0
- package/src/interfaces/web/public/favicon/white/android-chrome-192x192.png +0 -0
- package/src/interfaces/web/public/favicon/white/android-chrome-512x512.png +0 -0
- package/src/interfaces/web/public/favicon/white/apple-touch-icon.png +0 -0
- package/src/interfaces/web/public/favicon/white/favicon-16x16.png +0 -0
- package/src/interfaces/web/public/favicon/white/favicon-32x32.png +0 -0
- package/src/interfaces/web/public/favicon/white/favicon-48x48.png +0 -0
- package/src/interfaces/web/public/favicon/white/favicon.ico +0 -0
- package/src/interfaces/web/public/favicon/white/favicon.webp +0 -0
- package/src/interfaces/web/public/favicon/white/site.webmanifest +18 -0
- package/src/interfaces/web/public/logo/logo_dark.webp +0 -0
- package/src/interfaces/web/public/logo/logo_only_dark.webp +0 -0
- package/src/interfaces/web/public/logo/logo_only_white.webp +0 -0
- package/src/interfaces/web/public/logo/logo_vertical_dark.webp +0 -0
- package/src/interfaces/web/public/logo/logo_vertical_white.webp +0 -0
- package/src/interfaces/web/public/logo/logo_white.webp +0 -0
- package/src/interfaces/web/public/modules/superagent.png +0 -0
- package/src/interfaces/web/src/App.tsx +199 -0
- package/src/interfaces/web/src/components/AddProjectDialog.tsx +121 -0
- package/src/interfaces/web/src/components/ModelCombobox.tsx +96 -0
- package/src/interfaces/web/src/components/RobyBubble.tsx +213 -0
- package/src/interfaces/web/src/components/Section.tsx +44 -0
- package/src/interfaces/web/src/components/TelegramChannelDialog.tsx +97 -0
- package/src/interfaces/web/src/components/TelegramSendDialog.tsx +48 -0
- package/src/interfaces/web/src/components/Toast.tsx +84 -0
- package/src/interfaces/web/src/components/UiSelect.tsx +74 -0
- package/src/interfaces/web/src/components/chat/Composer.tsx +43 -0
- package/src/interfaces/web/src/components/chat/ContextBar.tsx +111 -0
- package/src/interfaces/web/src/components/chat/MessageBubble.tsx +95 -0
- package/src/interfaces/web/src/components/chat/MessageList.tsx +35 -0
- package/src/interfaces/web/src/components/chat/ModelPicker.tsx +145 -0
- package/src/interfaces/web/src/components/chat/ToolCall.tsx +141 -0
- package/src/interfaces/web/src/components/code/CodeChangesTab.tsx +87 -0
- package/src/interfaces/web/src/components/code/CodeComposer.tsx +87 -0
- package/src/interfaces/web/src/components/code/CodeContextTab.tsx +83 -0
- package/src/interfaces/web/src/components/code/CodeProjectPicker.tsx +39 -0
- package/src/interfaces/web/src/components/code/CodeSessionList.tsx +97 -0
- package/src/interfaces/web/src/components/code/CodeSidePanel.tsx +44 -0
- package/src/interfaces/web/src/components/code/CodeToolTrail.tsx +29 -0
- package/src/interfaces/web/src/components/code/DiffView.tsx +67 -0
- package/src/interfaces/web/src/components/common/Qr.tsx +27 -0
- package/src/interfaces/web/src/components/common/TabLayout.tsx +46 -0
- package/src/interfaces/web/src/components/common/TabNav.tsx +113 -0
- package/src/interfaces/web/src/components/config/ConfigTabsEditor.tsx +202 -0
- package/src/interfaces/web/src/components/config/GlobalConfigEditor.tsx +42 -0
- package/src/interfaces/web/src/components/config/global-config-sections.ts +60 -0
- package/src/interfaces/web/src/components/config/project-config-sections.ts +58 -0
- package/src/interfaces/web/src/components/deck/DaemonCard.tsx +58 -0
- package/src/interfaces/web/src/components/deck/DesktopGroup.tsx +33 -0
- package/src/interfaces/web/src/components/deck/WidgetRow.tsx +100 -0
- package/src/interfaces/web/src/components/layout/Logo.tsx +59 -0
- package/src/interfaces/web/src/components/layout/ProjectAvatar.tsx +116 -0
- package/src/interfaces/web/src/components/layout/ProjectSidebar.tsx +151 -0
- package/src/interfaces/web/src/components/settings/AdvancedPanel.tsx +45 -0
- package/src/interfaces/web/src/components/settings/AppearancePanel.tsx +72 -0
- package/src/interfaces/web/src/components/settings/DefaultRouterCard.tsx +232 -0
- package/src/interfaces/web/src/components/settings/DevicesPanel.tsx +60 -0
- package/src/interfaces/web/src/components/settings/EnginesPanel.tsx +127 -0
- package/src/interfaces/web/src/components/settings/IdentityPanel.tsx +69 -0
- package/src/interfaces/web/src/components/settings/MemoryPanel.tsx +226 -0
- package/src/interfaces/web/src/components/settings/PairDeviceDialog.tsx +175 -0
- package/src/interfaces/web/src/components/settings/SuperAgentPanel.tsx +93 -0
- package/src/interfaces/web/src/components/settings/TelegramChannelsPanel.tsx +90 -0
- package/src/interfaces/web/src/components/settings/TelegramContactsPanel.tsx +101 -0
- package/src/interfaces/web/src/components/settings/TelegramGlobalPanel.tsx +100 -0
- package/src/interfaces/web/src/components/settings/TelegramRolesPanel.tsx +108 -0
- package/src/interfaces/web/src/components/settings/TelegramSettingsTabs.tsx +55 -0
- package/src/interfaces/web/src/components/settings/providers/ProviderCard.tsx +95 -0
- package/src/interfaces/web/src/components/settings/providers/ProviderModal.tsx +405 -0
- package/src/interfaces/web/src/components/settings/providers/typeStyles.ts +155 -0
- package/src/interfaces/web/src/components/settings/providers/types.ts +26 -0
- package/src/interfaces/web/src/components/ui/accordion.tsx +72 -0
- package/src/interfaces/web/src/components/ui/alert-dialog.tsx +187 -0
- package/src/interfaces/web/src/components/ui/alert.tsx +76 -0
- package/src/interfaces/web/src/components/ui/aspect-ratio.tsx +22 -0
- package/src/interfaces/web/src/components/ui/avatar.tsx +107 -0
- package/src/interfaces/web/src/components/ui/badge.tsx +52 -0
- package/src/interfaces/web/src/components/ui/breadcrumb.tsx +125 -0
- package/src/interfaces/web/src/components/ui/button-group.tsx +87 -0
- package/src/interfaces/web/src/components/ui/button.tsx +58 -0
- package/src/interfaces/web/src/components/ui/calendar.tsx +221 -0
- package/src/interfaces/web/src/components/ui/card.tsx +103 -0
- package/src/interfaces/web/src/components/ui/carousel.tsx +242 -0
- package/src/interfaces/web/src/components/ui/chart.tsx +371 -0
- package/src/interfaces/web/src/components/ui/chat-input.tsx +122 -0
- package/src/interfaces/web/src/components/ui/checkbox.tsx +29 -0
- package/src/interfaces/web/src/components/ui/collapsible.tsx +19 -0
- package/src/interfaces/web/src/components/ui/combobox.tsx +295 -0
- package/src/interfaces/web/src/components/ui/command.tsx +196 -0
- package/src/interfaces/web/src/components/ui/context-menu.tsx +271 -0
- package/src/interfaces/web/src/components/ui/dialog.tsx +158 -0
- package/src/interfaces/web/src/components/ui/direction.tsx +4 -0
- package/src/interfaces/web/src/components/ui/drawer.tsx +134 -0
- package/src/interfaces/web/src/components/ui/dropdown-menu.tsx +266 -0
- package/src/interfaces/web/src/components/ui/empty.tsx +104 -0
- package/src/interfaces/web/src/components/ui/field.tsx +236 -0
- package/src/interfaces/web/src/components/ui/hover-card.tsx +51 -0
- package/src/interfaces/web/src/components/ui/input-group.tsx +158 -0
- package/src/interfaces/web/src/components/ui/input-otp.tsx +85 -0
- package/src/interfaces/web/src/components/ui/input.tsx +20 -0
- package/src/interfaces/web/src/components/ui/item.tsx +201 -0
- package/src/interfaces/web/src/components/ui/kbd.tsx +26 -0
- package/src/interfaces/web/src/components/ui/label.tsx +20 -0
- package/src/interfaces/web/src/components/ui/menubar.tsx +280 -0
- package/src/interfaces/web/src/components/ui/native-select.tsx +61 -0
- package/src/interfaces/web/src/components/ui/navigation-menu.tsx +168 -0
- package/src/interfaces/web/src/components/ui/pagination.tsx +130 -0
- package/src/interfaces/web/src/components/ui/popover.tsx +88 -0
- package/src/interfaces/web/src/components/ui/progress.tsx +83 -0
- package/src/interfaces/web/src/components/ui/radio-group.tsx +36 -0
- package/src/interfaces/web/src/components/ui/resizable.tsx +50 -0
- package/src/interfaces/web/src/components/ui/scroll-area.tsx +53 -0
- package/src/interfaces/web/src/components/ui/select.tsx +201 -0
- package/src/interfaces/web/src/components/ui/separator.tsx +23 -0
- package/src/interfaces/web/src/components/ui/sheet.tsx +138 -0
- package/src/interfaces/web/src/components/ui/sidebar.tsx +723 -0
- package/src/interfaces/web/src/components/ui/skeleton.tsx +13 -0
- package/src/interfaces/web/src/components/ui/slider.tsx +52 -0
- package/src/interfaces/web/src/components/ui/sonner.tsx +49 -0
- package/src/interfaces/web/src/components/ui/spinner.tsx +10 -0
- package/src/interfaces/web/src/components/ui/switch.tsx +30 -0
- package/src/interfaces/web/src/components/ui/table.tsx +116 -0
- package/src/interfaces/web/src/components/ui/tabs.tsx +72 -0
- package/src/interfaces/web/src/components/ui/textarea.tsx +18 -0
- package/src/interfaces/web/src/components/ui/tip.tsx +21 -0
- package/src/interfaces/web/src/components/ui/toggle-group.tsx +87 -0
- package/src/interfaces/web/src/components/ui/toggle.tsx +45 -0
- package/src/interfaces/web/src/components/ui/tooltip.tsx +64 -0
- package/src/interfaces/web/src/components/ui.tsx +211 -0
- package/src/interfaces/web/src/components/voice/VoiceProviderList.tsx +197 -0
- package/src/interfaces/web/src/components/voice/VoiceProviderModal.tsx +213 -0
- package/src/interfaces/web/src/components/voice/VoiceSttCard.tsx +72 -0
- package/src/interfaces/web/src/components/voice/VoiceTestCard.tsx +112 -0
- package/src/interfaces/web/src/components/voice/useTtsPlayer.ts +59 -0
- package/src/interfaces/web/src/constants/index.ts +91 -0
- package/src/interfaces/web/src/hooks/use-mobile.ts +19 -0
- package/src/interfaces/web/src/hooks/useChat.ts +276 -0
- package/src/interfaces/web/src/hooks/useDaemonStatus.ts +12 -0
- package/src/interfaces/web/src/hooks/useDevices.ts +12 -0
- package/src/interfaces/web/src/hooks/useEngines.ts +10 -0
- package/src/interfaces/web/src/hooks/useGlobalConfig.ts +24 -0
- package/src/interfaces/web/src/hooks/useIdentity.ts +16 -0
- package/src/interfaces/web/src/hooks/useProjects.ts +27 -0
- package/src/interfaces/web/src/hooks/useTelegram.ts +35 -0
- package/src/interfaces/web/src/hooks/useTheme.tsx +57 -0
- package/src/interfaces/web/src/hooks/useTokenBootstrap.ts +122 -0
- package/src/interfaces/web/src/i18n/en.ts +767 -0
- package/src/interfaces/web/src/i18n/es.ts +770 -0
- package/src/interfaces/web/src/i18n/index.ts +86 -0
- package/src/interfaces/web/src/lib/api/admin.ts +30 -0
- package/src/interfaces/web/src/lib/api/agents.ts +46 -0
- package/src/interfaces/web/src/lib/api/code.ts +122 -0
- package/src/interfaces/web/src/lib/api/conversations.ts +16 -0
- package/src/interfaces/web/src/lib/api/deck.ts +106 -0
- package/src/interfaces/web/src/lib/api/desktop.ts +54 -0
- package/src/interfaces/web/src/lib/api/embeddings.ts +44 -0
- package/src/interfaces/web/src/lib/api/engines.ts +17 -0
- package/src/interfaces/web/src/lib/api/filesystem.ts +12 -0
- package/src/interfaces/web/src/lib/api/health.ts +6 -0
- package/src/interfaces/web/src/lib/api/identity.ts +7 -0
- package/src/interfaces/web/src/lib/api/mcps.ts +29 -0
- package/src/interfaces/web/src/lib/api/messages.ts +24 -0
- package/src/interfaces/web/src/lib/api/projects.ts +29 -0
- package/src/interfaces/web/src/lib/api/routines.ts +14 -0
- package/src/interfaces/web/src/lib/api/sessions.ts +16 -0
- package/src/interfaces/web/src/lib/api/super_agent.ts +29 -0
- package/src/interfaces/web/src/lib/api/tasks.ts +19 -0
- package/src/interfaces/web/src/lib/api/telegram.ts +57 -0
- package/src/interfaces/web/src/lib/api/tools.ts +13 -0
- package/src/interfaces/web/src/lib/api/voice.ts +169 -0
- package/src/interfaces/web/src/lib/api.ts +48 -0
- package/src/interfaces/web/src/lib/cn.ts +6 -0
- package/src/interfaces/web/src/lib/code-context.ts +83 -0
- package/src/interfaces/web/src/lib/config-values.ts +29 -0
- package/src/interfaces/web/src/lib/device.ts +10 -0
- package/src/interfaces/web/src/lib/http.ts +104 -0
- package/src/interfaces/web/src/lib/secrets.ts +15 -0
- package/src/interfaces/web/src/lib/utils.ts +6 -0
- package/src/interfaces/web/src/main.tsx +16 -0
- package/src/interfaces/web/src/screens/ApxAdminScreen.tsx +174 -0
- package/src/interfaces/web/src/screens/PairingScreen.tsx +105 -0
- package/src/interfaces/web/src/screens/ProjectScreen.tsx +178 -0
- package/src/interfaces/web/src/screens/SettingsScreen.tsx +111 -0
- package/src/interfaces/web/src/screens/base/AgentDefaultsTab.tsx +274 -0
- package/src/interfaces/web/src/screens/base/ComingSoon.tsx +16 -0
- package/src/interfaces/web/src/screens/base/GlobalTasksTab.tsx +53 -0
- package/src/interfaces/web/src/screens/base/LogsTab.tsx +188 -0
- package/src/interfaces/web/src/screens/base/ModelsTab.tsx +13 -0
- package/src/interfaces/web/src/screens/base/SessionsTab.tsx +58 -0
- package/src/interfaces/web/src/screens/base/WorkspacesTab.tsx +49 -0
- package/src/interfaces/web/src/screens/modules/CodeScreen.tsx +295 -0
- package/src/interfaces/web/src/screens/modules/DeckScreen.tsx +173 -0
- package/src/interfaces/web/src/screens/modules/DesktopScreen.tsx +304 -0
- package/src/interfaces/web/src/screens/modules/VoiceScreen.tsx +174 -0
- package/src/interfaces/web/src/screens/project/AgentBrainGraph.tsx +152 -0
- package/src/interfaces/web/src/screens/project/AgentDetailScreen.tsx +455 -0
- package/src/interfaces/web/src/screens/project/AgentsTab.tsx +364 -0
- package/src/interfaces/web/src/screens/project/ChatTab.tsx +198 -0
- package/src/interfaces/web/src/screens/project/ConfigTab.tsx +94 -0
- package/src/interfaces/web/src/screens/project/McpsTab.tsx +149 -0
- package/src/interfaces/web/src/screens/project/MemoriesTab.tsx +134 -0
- package/src/interfaces/web/src/screens/project/Overview.tsx +37 -0
- package/src/interfaces/web/src/screens/project/RoutinesTab.tsx +386 -0
- package/src/interfaces/web/src/screens/project/TasksTab.tsx +116 -0
- package/src/interfaces/web/src/screens/project/TelegramTab.tsx +126 -0
- package/src/interfaces/web/src/screens/project/ThreadsTab.tsx +100 -0
- package/src/interfaces/web/src/styles.css +128 -0
- package/src/interfaces/web/src/types/daemon.ts +289 -0
- package/src/interfaces/web/tailwind.config.js +53 -0
- package/src/interfaces/web/tsconfig.json +24 -0
- package/src/interfaces/web/vite.config.ts +50 -0
- package/src/cli/commands/exec.js +0 -56
- package/src/cli/commands/overlay.js +0 -253
- package/src/cli/commands/session.js +0 -395
- package/src/cli/commands/sessions.js +0 -517
- package/src/cli/commands/telegram.js +0 -77
- package/src/cli/postinstall.js +0 -75
- package/src/cli-ts/commands/agent.ts +0 -173
- package/src/cli-ts/commands/chat.ts +0 -119
- package/src/cli-ts/commands/daemon.ts +0 -112
- package/src/cli-ts/commands/exec.ts +0 -109
- package/src/cli-ts/commands/mcp.ts +0 -235
- package/src/cli-ts/commands/session.ts +0 -224
- package/src/cli-ts/commands/status.ts +0 -61
- package/src/cli-ts/http.ts +0 -36
- package/src/cli-ts/index.ts +0 -73
- package/src/cli-ts/ui.ts +0 -107
- package/src/daemon/api.js +0 -1558
- package/src/daemon/engines/gemini.js +0 -56
- package/src/daemon/engines/openai.js +0 -79
- package/src/daemon/mcp-sources.js +0 -114
- package/src/daemon/super-agent-tools/index.js +0 -84
- package/src/daemon/super-agent-tools.js +0 -1
- package/src/daemon/super-agent.js +0 -541
- package/src/overlay/index.html +0 -44
- package/src/overlay/main.js +0 -480
- package/src/overlay/preload.js +0 -34
- package/src/overlay/renderer.js +0 -371
- package/src/overlay/style.css +0 -250
- package/src/tui/context/sync-apx.tsx +0 -284
- package/src/tui/routes/session/index.tsx +0 -274
- package/src/tui/routes/session/sidebar-apx.tsx +0 -90
- /package/src/{daemon → core}/tools/browser.js +0 -0
- /package/src/{daemon → core}/tools/fetch.js +0 -0
- /package/src/{daemon → core}/tools/glob.js +0 -0
- /package/src/{daemon → core}/tools/grep.js +0 -0
- /package/src/{daemon → core}/tools/registry.js +0 -0
- /package/src/{daemon → core}/tools/search.js +0 -0
- /package/src/{daemon → host/daemon}/conversations.js +0 -0
- /package/src/{daemon → host/daemon}/env-detect.js +0 -0
- /package/src/{daemon → host/daemon}/runtimes/_spawn.js +0 -0
- /package/src/{daemon → host/daemon}/runtimes/aider.js +0 -0
- /package/src/{daemon → host/daemon}/runtimes/claude-code.js +0 -0
- /package/src/{daemon → host/daemon}/runtimes/codex.js +0 -0
- /package/src/{daemon → host/daemon}/runtimes/cursor-agent.js +0 -0
- /package/src/{daemon → host/daemon}/runtimes/gemini-cli.js +0 -0
- /package/src/{daemon → host/daemon}/runtimes/index.js +0 -0
- /package/src/{daemon → host/daemon}/runtimes/opencode.js +0 -0
- /package/src/{daemon → host/daemon}/runtimes/qwen-code.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/call-mcp.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/edit-file.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/list-files.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/list-mcps.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/list-projects.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/list-skills.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/load-skill.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/read-agent-memory.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/read-file.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/run-shell.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/search-files.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/transcribe-audio.js +0 -0
- /package/src/{daemon → host/daemon}/super-agent-tools/tools/write-file.js +0 -0
- /package/src/{daemon → host/daemon}/thinking.js +0 -0
- /package/src/{daemon → host/daemon}/whisper-server.py +0 -0
- /package/src/{daemon → host/daemon}/whisper-transcribe.py +0 -0
- /package/src/{cli → interfaces/cli}/commands/a2a.js +0 -0
- /package/src/{cli → interfaces/cli}/commands/artifact.js +0 -0
- /package/src/{cli → interfaces/cli}/commands/chat.js +0 -0
- /package/src/{cli → interfaces/cli}/commands/log.js +0 -0
- /package/src/{cli → interfaces/cli}/commands/messages.js +0 -0
- /package/src/{cli → interfaces/cli}/commands/plugins.js +0 -0
- /package/src/{cli → interfaces/cli}/commands/routine.js +0 -0
- /package/src/{cli → interfaces/cli}/commands/runtime.js +0 -0
- /package/src/{cli → interfaces/cli}/terminal-chat/renderer.js +0 -0
- /package/src/{overlay → interfaces/desktop}/package.json +0 -0
- /package/src/{tui → interfaces/tui}/_shims/cli-error.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/cli-logo.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/cli-ui.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/config-console-state.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/core-any.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/core-binary.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/core-flag.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/core-log.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/lsp-language.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/opencode-any.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/opencode-sdk-v2.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/plugin-tui.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/prompt-display.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/provider-provider.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/session-retry.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/session-schema.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/session-session.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/snapshot.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/tool-any.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/util-error.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/util-filesystem.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/util-format.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/util-iife.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/util-locale.ts +0 -0
- /package/src/{tui → interfaces/tui}/_shims/util-process.ts +0 -0
- /package/src/{tui → interfaces/tui}/asset/charge.wav +0 -0
- /package/src/{tui → interfaces/tui}/asset/pulse-a.wav +0 -0
- /package/src/{tui → interfaces/tui}/asset/pulse-b.wav +0 -0
- /package/src/{tui → interfaces/tui}/asset/pulse-c.wav +0 -0
- /package/src/{tui → interfaces/tui}/attach.ts +0 -0
- /package/src/{tui → interfaces/tui}/component/bg-pulse-render.ts +0 -0
- /package/src/{tui → interfaces/tui}/component/bg-pulse.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/border.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-agent.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-console-org.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-mcp.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-model.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-provider.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-retry-action.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-session-delete-failed.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-session-list.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-session-rename.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-skill.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-stash.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-status.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-tag.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-theme-list.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-variant.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-workspace-create.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-workspace-file-changes.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/dialog-workspace-unavailable.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/error-component.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/logo.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/plugin-route-missing.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/prompt/autocomplete.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/prompt/cwd.ts +0 -0
- /package/src/{tui → interfaces/tui}/component/prompt/frecency.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/prompt/history.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/prompt/part.ts +0 -0
- /package/src/{tui → interfaces/tui}/component/prompt/stash.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/prompt/traits.ts +0 -0
- /package/src/{tui → interfaces/tui}/component/spinner.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/startup-loading.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/todo-item.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/use-connected.tsx +0 -0
- /package/src/{tui → interfaces/tui}/component/workspace-label.tsx +0 -0
- /package/src/{tui → interfaces/tui}/config/cwd.ts +0 -0
- /package/src/{tui → interfaces/tui}/config/keybind.ts +0 -0
- /package/src/{tui → interfaces/tui}/config/tui-migrate.ts +0 -0
- /package/src/{tui → interfaces/tui}/config/tui-schema.ts +0 -0
- /package/src/{tui → interfaces/tui}/config/tui.ts +0 -0
- /package/src/{tui → interfaces/tui}/context/aggregate-failures.ts +0 -0
- /package/src/{tui → interfaces/tui}/context/args.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/command-palette.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/directory.ts +0 -0
- /package/src/{tui → interfaces/tui}/context/editor-zed.ts +0 -0
- /package/src/{tui → interfaces/tui}/context/editor.ts +0 -0
- /package/src/{tui → interfaces/tui}/context/event-apx.ts +0 -0
- /package/src/{tui → interfaces/tui}/context/event.ts +0 -0
- /package/src/{tui → interfaces/tui}/context/exit.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/helper.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/kv.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/local.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/path-format.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/project-apx.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/project.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/prompt.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/route.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/sdk.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/sync-v2.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/sync.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/aura.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/ayu.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/carbonfox.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/catppuccin-frappe.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/catppuccin-macchiato.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/catppuccin.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/cobalt2.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/cursor.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/dracula.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/everforest.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/flexoki.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/github.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/gruvbox.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/kanagawa.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/lucent-orng.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/material.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/matrix.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/mercury.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/monokai.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/nightowl.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/nord.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/one-dark.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/opencode.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/orng.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/osaka-jade.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/palenight.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/rosepine.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/solarized.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/synthwave84.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/tokyonight.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/vercel.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/vesper.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme/zenburn.json +0 -0
- /package/src/{tui → interfaces/tui}/context/theme.tsx +0 -0
- /package/src/{tui → interfaces/tui}/context/tui-config.tsx +0 -0
- /package/src/{tui → interfaces/tui}/event.ts +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/home/footer.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/home/tips-view.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/home/tips.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/sidebar/context.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/sidebar/files.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/sidebar/footer.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/sidebar/lsp.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/sidebar/mcp.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/sidebar/todo.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/system/plugins.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/system/session-v2.tsx +0 -0
- /package/src/{tui → interfaces/tui}/feature-plugins/system/which-key.tsx +0 -0
- /package/src/{tui → interfaces/tui}/keymap.tsx +0 -0
- /package/src/{tui → interfaces/tui}/layer.ts +0 -0
- /package/src/{tui → interfaces/tui}/plugin/api.tsx +0 -0
- /package/src/{tui → interfaces/tui}/plugin/command-shim.ts +0 -0
- /package/src/{tui → interfaces/tui}/plugin/internal.ts +0 -0
- /package/src/{tui → interfaces/tui}/plugin/runtime.ts +0 -0
- /package/src/{tui → interfaces/tui}/plugin/slots.tsx +0 -0
- /package/src/{tui → interfaces/tui}/routes/home.tsx +0 -0
- /package/src/{tui → interfaces/tui}/routes/session/dialog-fork-from-timeline.tsx +0 -0
- /package/src/{tui → interfaces/tui}/routes/session/dialog-message.tsx +0 -0
- /package/src/{tui → interfaces/tui}/routes/session/dialog-subagent.tsx +0 -0
- /package/src/{tui → interfaces/tui}/routes/session/dialog-timeline.tsx +0 -0
- /package/src/{tui → interfaces/tui}/routes/session/footer.tsx +0 -0
- /package/src/{tui → interfaces/tui}/routes/session/permission.tsx +0 -0
- /package/src/{tui → interfaces/tui}/routes/session/question.tsx +0 -0
- /package/src/{tui → interfaces/tui}/routes/session/sidebar.tsx +0 -0
- /package/src/{tui → interfaces/tui}/routes/session/subagent-footer.tsx +0 -0
- /package/src/{tui → interfaces/tui}/run.ts +0 -0
- /package/src/{tui → interfaces/tui}/thread.ts +0 -0
- /package/src/{tui → interfaces/tui}/ui/dialog-alert.tsx +0 -0
- /package/src/{tui → interfaces/tui}/ui/dialog-confirm.tsx +0 -0
- /package/src/{tui → interfaces/tui}/ui/dialog-export-options.tsx +0 -0
- /package/src/{tui → interfaces/tui}/ui/dialog-help.tsx +0 -0
- /package/src/{tui → interfaces/tui}/ui/dialog-prompt.tsx +0 -0
- /package/src/{tui → interfaces/tui}/ui/dialog-select.tsx +0 -0
- /package/src/{tui → interfaces/tui}/ui/dialog.tsx +0 -0
- /package/src/{tui → interfaces/tui}/ui/link.tsx +0 -0
- /package/src/{tui → interfaces/tui}/ui/spinner.ts +0 -0
- /package/src/{tui → interfaces/tui}/ui/toast.tsx +0 -0
- /package/src/{tui → interfaces/tui}/util/editor.ts +0 -0
- /package/src/{tui → interfaces/tui}/util/model.ts +0 -0
- /package/src/{tui → interfaces/tui}/util/provider-origin.ts +0 -0
- /package/src/{tui → interfaces/tui}/util/revert-diff.ts +0 -0
- /package/src/{tui → interfaces/tui}/util/scroll.ts +0 -0
- /package/src/{tui → interfaces/tui}/util/selection.ts +0 -0
- /package/src/{tui → interfaces/tui}/util/signal.ts +0 -0
- /package/src/{tui → interfaces/tui}/util/sound.ts +0 -0
- /package/src/{tui → interfaces/tui}/util/transcript.ts +0 -0
- /package/src/{tui → interfaces/tui}/validate-session.ts +0 -0
- /package/src/{tui → interfaces/tui}/win32.ts +0 -0
- /package/src/{tui → interfaces/tui}/worker.ts +0 -0
|
@@ -0,0 +1,767 @@
|
|
|
1
|
+
// English locale — mirrors the es.ts key structure exactly.
|
|
2
|
+
// Keep entries in the same order as es.ts so diffs stay readable.
|
|
3
|
+
|
|
4
|
+
export const en = {
|
|
5
|
+
common: {
|
|
6
|
+
loading: "Loading…",
|
|
7
|
+
saving: "Saving…",
|
|
8
|
+
cancel: "Cancel",
|
|
9
|
+
save: "Save",
|
|
10
|
+
delete: "Delete",
|
|
11
|
+
edit: "Edit",
|
|
12
|
+
create: "Create",
|
|
13
|
+
add: "Add",
|
|
14
|
+
remove: "Remove",
|
|
15
|
+
reload: "Reload",
|
|
16
|
+
shutdown: "Shut down",
|
|
17
|
+
enabled: "Enabled",
|
|
18
|
+
disabled: "Disabled",
|
|
19
|
+
enable: "Enable",
|
|
20
|
+
disable: "Disable",
|
|
21
|
+
open: "Open",
|
|
22
|
+
close: "Close",
|
|
23
|
+
confirm: "Confirm",
|
|
24
|
+
optional: "(optional)",
|
|
25
|
+
none: "—",
|
|
26
|
+
none_yet: "Nothing here yet.",
|
|
27
|
+
error_generic:"Something went wrong.",
|
|
28
|
+
search: "Search",
|
|
29
|
+
new: "New",
|
|
30
|
+
restore: "Restore",
|
|
31
|
+
show: "Show",
|
|
32
|
+
hide: "Hide",
|
|
33
|
+
copy: "Copy",
|
|
34
|
+
run: "Run",
|
|
35
|
+
},
|
|
36
|
+
daemon: {
|
|
37
|
+
connecting: "Connecting to the daemon…",
|
|
38
|
+
unreachable: "Could not reach the daemon at localhost:7430.",
|
|
39
|
+
unreachable_hint:"Start APX with `apx daemon start` and refresh.",
|
|
40
|
+
version: "Version",
|
|
41
|
+
uptime: "Uptime",
|
|
42
|
+
status: "Status",
|
|
43
|
+
running: "running",
|
|
44
|
+
down: "down",
|
|
45
|
+
reload_hint: "POST /admin/reload — reloads ~/.apx/config.json without restarting.",
|
|
46
|
+
shutdown_confirm: "Shut down the daemon? Upcoming requests will fail until it restarts.",
|
|
47
|
+
shutdown_done: "Daemon stopped.",
|
|
48
|
+
},
|
|
49
|
+
pairing: {
|
|
50
|
+
title: "Pair this device",
|
|
51
|
+
subtitle: "You are connecting from outside this machine. For security, pair this browser with a pairing code.",
|
|
52
|
+
steps_title: "How to get the code",
|
|
53
|
+
step_1: "On the PC where APX is running, open a terminal.",
|
|
54
|
+
step_2: "Run `apx pair` (or scan the QR with APX Deck).",
|
|
55
|
+
step_3: "Copy the code shown below the QR and paste it here.",
|
|
56
|
+
code_label: "Pairing code",
|
|
57
|
+
code_ph: "e.g. 7f3a1c9e-…",
|
|
58
|
+
label_label: "Device name",
|
|
59
|
+
label_ph: "e.g. Living room laptop",
|
|
60
|
+
submit: "Pair",
|
|
61
|
+
linking: "Pairing…",
|
|
62
|
+
success: "Device paired ✓",
|
|
63
|
+
err_required: "Paste the pairing code.",
|
|
64
|
+
err_expired: "The code expired. Run `apx pair` again and try again.",
|
|
65
|
+
err_unknown: "Unknown or already-used code. Generate a new one with `apx pair`.",
|
|
66
|
+
err_generic: "Could not pair. Check the code and try again.",
|
|
67
|
+
revoke_hint: "You can revoke this device at any time from Settings or with `apx pair revoke`.",
|
|
68
|
+
},
|
|
69
|
+
nav: {
|
|
70
|
+
apx_admin: "APX",
|
|
71
|
+
settings: "Settings",
|
|
72
|
+
project: "Project",
|
|
73
|
+
add_project: "Add project",
|
|
74
|
+
modules: {
|
|
75
|
+
voice: "Voices",
|
|
76
|
+
desktop: "Desktop",
|
|
77
|
+
deck: "Deck",
|
|
78
|
+
code: "Code",
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
topbar: {
|
|
82
|
+
breadcrumb_root: "APX",
|
|
83
|
+
breadcrumb_settings: "APX › Settings",
|
|
84
|
+
breadcrumb_project: "APX › Project",
|
|
85
|
+
breadcrumb_base: "Base",
|
|
86
|
+
breadcrumb_projects: "Projects",
|
|
87
|
+
light: "Switch to light",
|
|
88
|
+
dark: "Switch to dark",
|
|
89
|
+
lang_toggle: "Language",
|
|
90
|
+
},
|
|
91
|
+
admin: {
|
|
92
|
+
title: "APX",
|
|
93
|
+
subtitle: "Admin panel. Global config, channels and projects.",
|
|
94
|
+
engines_title: "Engines",
|
|
95
|
+
engines_subtitle: "Available LLM adapters. API keys live in ~/.apx/config.json.",
|
|
96
|
+
telegram_title: "Telegram",
|
|
97
|
+
telegram_subtitle: "Configured channels. Each one can be pinned to a project.",
|
|
98
|
+
telegram_polling_on: "Polling active",
|
|
99
|
+
telegram_polling_off: "Disabled",
|
|
100
|
+
telegram_add_channel: "Channel",
|
|
101
|
+
telegram_send_test: "Test",
|
|
102
|
+
telegram_send_test_title: "Send to",
|
|
103
|
+
telegram_default_message: "Test message from APX panel ✅",
|
|
104
|
+
projects_title: "Registered projects",
|
|
105
|
+
projects_subtitle: "Click a project to open its panel.",
|
|
106
|
+
unregister: "Unregister",
|
|
107
|
+
unregister_confirm:"Remove {label} from APX? The folder is not deleted; only unregistered.",
|
|
108
|
+
reload_success: "Config reloaded.",
|
|
109
|
+
telegram_polling_started: "Polling started.",
|
|
110
|
+
telegram_polling_stopped: "Polling stopped.",
|
|
111
|
+
telegram_channel_removed: "Channel deleted.",
|
|
112
|
+
agents_badge: "agents",
|
|
113
|
+
engine_badge: "yes",
|
|
114
|
+
engine_badge_no: "no",
|
|
115
|
+
base_label: "Base",
|
|
116
|
+
},
|
|
117
|
+
add_project: {
|
|
118
|
+
title: "Add project",
|
|
119
|
+
subtitle: "APX will index .apc/, agents and AGENTS.md in that folder.",
|
|
120
|
+
path_label: "Absolute path",
|
|
121
|
+
path_hint: "Equivalent to apx project add /path/to/project",
|
|
122
|
+
path_placeholder: "/path/to/my-project",
|
|
123
|
+
register: "Register",
|
|
124
|
+
path_required: "Path required.",
|
|
125
|
+
registered: "Project #{id} registered.",
|
|
126
|
+
search_btn: "Browse",
|
|
127
|
+
browser_unavailable: "Browser unavailable until daemon restarts. Paste path manually.",
|
|
128
|
+
no_folders: "No folders.",
|
|
129
|
+
},
|
|
130
|
+
settings: {
|
|
131
|
+
title: "Settings",
|
|
132
|
+
subtitle: "Panel preferences + local daemon diagnostics.",
|
|
133
|
+
appearance: "Appearance",
|
|
134
|
+
light_mode: "Light",
|
|
135
|
+
dark_mode: "Dark",
|
|
136
|
+
language: "Language",
|
|
137
|
+
daemon: "Daemon",
|
|
138
|
+
daemon_sub: "Status of the local process that serves this web and orchestrates agents.",
|
|
139
|
+
engines: "Available engines",
|
|
140
|
+
engines_sub: "LLM adapters compiled with the daemon.",
|
|
141
|
+
token: "Session token",
|
|
142
|
+
token_sub: "If this web could not auto-load the token, paste it here.",
|
|
143
|
+
token_active:"(token already active)",
|
|
144
|
+
token_paste: "Paste daemon bearer",
|
|
145
|
+
token_saved: "Token saved.",
|
|
146
|
+
devices: "Paired devices",
|
|
147
|
+
devices_sub: "GET /pair/list. Revoking invalidates that bearer on the daemon.",
|
|
148
|
+
devices_empty: "No paired clients yet.",
|
|
149
|
+
devices_revoke_confirm: "Revoke client {id}?",
|
|
150
|
+
devices_revoke_success: "Client revoked.",
|
|
151
|
+
devices_pair_btn: "Pair device",
|
|
152
|
+
devices_pair_title: "Pair device",
|
|
153
|
+
devices_pair_desc: "Scan the QR with your phone camera to open the web already paired, or paste the code on another PC.",
|
|
154
|
+
devices_pair_scan: "Scan with your phone camera — opens the web already paired.",
|
|
155
|
+
devices_pair_code: "Or paste this code on the pairing screen:",
|
|
156
|
+
devices_pair_url: "Access URL",
|
|
157
|
+
devices_pair_link: "Or copy this link and open it on the other device (enters automatically):",
|
|
158
|
+
devices_pair_copy: "Copy",
|
|
159
|
+
devices_pair_copied: "Link copied to clipboard.",
|
|
160
|
+
devices_pair_copied_code: "Code copied.",
|
|
161
|
+
devices_pair_expires: "Expires in {s}s",
|
|
162
|
+
devices_pair_expired: "The code expired.",
|
|
163
|
+
devices_pair_regen: "Generate another",
|
|
164
|
+
devices_pair_waiting: "Waiting for device to confirm…",
|
|
165
|
+
devices_pair_done: "Device paired ✓",
|
|
166
|
+
devices_pair_localhost_only: "Codes can only be generated from the daemon's PC (localhost).",
|
|
167
|
+
devices_last_seen: "seen:",
|
|
168
|
+
devices_never: "never",
|
|
169
|
+
devices_revoke: "Revoke",
|
|
170
|
+
account_section: "Account",
|
|
171
|
+
agents_section: "Agents & models",
|
|
172
|
+
channels_section: "Channels & devices",
|
|
173
|
+
advanced_section: "Advanced",
|
|
174
|
+
|
|
175
|
+
tabs: {
|
|
176
|
+
identity: "Identity",
|
|
177
|
+
super_agent: "Super-agent",
|
|
178
|
+
engines: "Engines & models",
|
|
179
|
+
telegram: "Telegram",
|
|
180
|
+
devices: "Devices",
|
|
181
|
+
advanced: "Advanced",
|
|
182
|
+
},
|
|
183
|
+
|
|
184
|
+
identity: {
|
|
185
|
+
title: "Identity",
|
|
186
|
+
subtitle: "User data. Agent configuration goes in Super-agent.",
|
|
187
|
+
agent_name: "Agent name",
|
|
188
|
+
owner_name: "Your name",
|
|
189
|
+
personality: "Personality",
|
|
190
|
+
owner_context: "Owner context",
|
|
191
|
+
owner_context_hint: "Who you are, what you work on, what the agent should know about you.",
|
|
192
|
+
language: "Preferred language",
|
|
193
|
+
timezone: "Timezone (IANA)",
|
|
194
|
+
timezone_hint: "e.g. America/New_York",
|
|
195
|
+
saved: "Identity saved.",
|
|
196
|
+
},
|
|
197
|
+
|
|
198
|
+
super_agent: {
|
|
199
|
+
title: "Super-agent",
|
|
200
|
+
subtitle: "Personality, model, prompt and modes of the super-agent.",
|
|
201
|
+
personality: "Personality",
|
|
202
|
+
model: "Active model",
|
|
203
|
+
model_hint: "E.g.: anthropic:claude-sonnet-4.5, ollama:gemma2:9b",
|
|
204
|
+
permission_mode: "Permission mode",
|
|
205
|
+
system: "Extra prompt (system)",
|
|
206
|
+
system_hint: "Text prepended to the base system prompt.",
|
|
207
|
+
fallback_title: "Fallback chain",
|
|
208
|
+
fallback_hint: "If the active model fails, these are tried in order.",
|
|
209
|
+
fallback_add: "Add model to chain",
|
|
210
|
+
saved: "Super-agent saved.",
|
|
211
|
+
enabled_label: "Super-agent enabled",
|
|
212
|
+
model_active: "Active model (router)",
|
|
213
|
+
model_configure: "Configure in Models",
|
|
214
|
+
behavior_subtitle: "Super-agent behavior. Model and fallback chain are configured in the Model Router.",
|
|
215
|
+
},
|
|
216
|
+
|
|
217
|
+
engines_keys: {
|
|
218
|
+
title: "Model API keys",
|
|
219
|
+
subtitle: "Each engine stores its key in ~/.apx/config.json. Already-set values show a safe suffix.",
|
|
220
|
+
ollama_url: "Ollama URL",
|
|
221
|
+
ollama_hint: "Default: http://127.0.0.1:11434",
|
|
222
|
+
key_label: "API key",
|
|
223
|
+
key_placeholder: "(not set)",
|
|
224
|
+
clear: "Clear key",
|
|
225
|
+
saved: "Key saved.",
|
|
226
|
+
cleared: "Key cleared.",
|
|
227
|
+
},
|
|
228
|
+
|
|
229
|
+
telegram_global: {
|
|
230
|
+
title: "Telegram (default)",
|
|
231
|
+
subtitle: "Default channel — projects can override with their own channel.",
|
|
232
|
+
bot_token: "Bot token",
|
|
233
|
+
chat_id: "Default chat ID",
|
|
234
|
+
poll_interval: "Poll interval (ms)",
|
|
235
|
+
respond_with_engine: "Respond with engine",
|
|
236
|
+
enabled: "Polling enabled",
|
|
237
|
+
saved: "Telegram saved.",
|
|
238
|
+
},
|
|
239
|
+
|
|
240
|
+
advanced: {
|
|
241
|
+
title: "Advanced",
|
|
242
|
+
subtitle: "Raw editor for ~/.apx/config.json. Secrets show as *** set *** but you can write a new one.",
|
|
243
|
+
write: "Apply changes",
|
|
244
|
+
written: "Config applied and daemon reloaded.",
|
|
245
|
+
reload_success: "Config reloaded.",
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
project: {
|
|
249
|
+
not_found: "Project {pid} not found.",
|
|
250
|
+
rebuild: "Rebuild context",
|
|
251
|
+
rebuild_done: "Rebuild OK.",
|
|
252
|
+
unregister_confirm: "Unregister {label}? The folder is not deleted.",
|
|
253
|
+
unregistered: "Unregistered.",
|
|
254
|
+
base_subtitle: "General workspace · super-agent",
|
|
255
|
+
|
|
256
|
+
nav: {
|
|
257
|
+
overview: "Overview",
|
|
258
|
+
chat: "Chat",
|
|
259
|
+
config: "Config",
|
|
260
|
+
telegram: "Telegram",
|
|
261
|
+
agents: "Agents",
|
|
262
|
+
routines: "Routines",
|
|
263
|
+
tasks: "Tasks",
|
|
264
|
+
mcps: "MCPs",
|
|
265
|
+
threads: "Chats",
|
|
266
|
+
logs: "Logs",
|
|
267
|
+
memories: "Memories",
|
|
268
|
+
},
|
|
269
|
+
|
|
270
|
+
sections: {
|
|
271
|
+
workspace: "Workspace",
|
|
272
|
+
automation: "Automation",
|
|
273
|
+
knowledge: "Conversations",
|
|
274
|
+
config: "Config",
|
|
275
|
+
},
|
|
276
|
+
|
|
277
|
+
overview: {
|
|
278
|
+
tasks_open: "Open tasks",
|
|
279
|
+
routines: "Routines",
|
|
280
|
+
agents: "Agents",
|
|
281
|
+
mcps: "MCPs",
|
|
282
|
+
chat: "Chat (super-agent)",
|
|
283
|
+
chat_value: "open",
|
|
284
|
+
},
|
|
285
|
+
|
|
286
|
+
chat: {
|
|
287
|
+
title: "Chat with agent",
|
|
288
|
+
subtitle: "Direct conversations with project agents. The super-agent does not intervene.",
|
|
289
|
+
roby_title: "Chat with Roby",
|
|
290
|
+
roby_subtitle: "Chat with Roby — the APX super-agent. Can use tools (projects, tasks, mcps, agents).",
|
|
291
|
+
empty: "Send a message to start the conversation.",
|
|
292
|
+
placeholder: "Type something and press enter to send (shift+enter = new line)",
|
|
293
|
+
send: "Send",
|
|
294
|
+
stop: "Stop",
|
|
295
|
+
clear: "Clear",
|
|
296
|
+
copy: "copy",
|
|
297
|
+
copied: "Copied.",
|
|
298
|
+
stopped_marker: " [stopped]",
|
|
299
|
+
create_agent: "Create agent",
|
|
300
|
+
create_agent_title: "Create agent",
|
|
301
|
+
create_agent_desc: "Required to start a chat in this project.",
|
|
302
|
+
role_label: "role",
|
|
303
|
+
model_label: "model",
|
|
304
|
+
model_hint: "e.g. openai:gpt-5, groq:llama-3.3-70b-versatile",
|
|
305
|
+
master_label: "Master agent",
|
|
306
|
+
},
|
|
307
|
+
|
|
308
|
+
tasks: {
|
|
309
|
+
title: "Tasks (TODOs)",
|
|
310
|
+
subtitle: "Append-only JSONL in ~/.apx/projects/<id>/tasks/.",
|
|
311
|
+
add: "add",
|
|
312
|
+
add_label: "New task",
|
|
313
|
+
add_placeholder: "e.g. fix scroll bug",
|
|
314
|
+
empty: "No {state} tasks.",
|
|
315
|
+
empty_open: "No open tasks.",
|
|
316
|
+
created: "Task created.",
|
|
317
|
+
create_error: "could not create task",
|
|
318
|
+
done: "✓ done",
|
|
319
|
+
drop: "✗ drop",
|
|
320
|
+
reopen: "↻ reopen",
|
|
321
|
+
due: "due",
|
|
322
|
+
via: "via",
|
|
323
|
+
aria_done: "mark done",
|
|
324
|
+
aria_drop: "discard task",
|
|
325
|
+
aria_reopen: "reopen task",
|
|
326
|
+
},
|
|
327
|
+
|
|
328
|
+
global_tasks: {
|
|
329
|
+
title: "Tasks (all projects)",
|
|
330
|
+
subtitle: "Aggregated tasks from all registered projects.",
|
|
331
|
+
empty: "No tasks.",
|
|
332
|
+
due: "due",
|
|
333
|
+
go_project: "Go to project",
|
|
334
|
+
},
|
|
335
|
+
|
|
336
|
+
routines: {
|
|
337
|
+
title: "Heartbeats / Routines",
|
|
338
|
+
subtitle: "Cron, every:Nm, once:ISO. Each routine fires an agent or a shell.",
|
|
339
|
+
empty: "No routines. Create one above.",
|
|
340
|
+
new: "new",
|
|
341
|
+
new_btn: "New",
|
|
342
|
+
delete_confirm: "Delete routine {name}?",
|
|
343
|
+
saved: "Routine saved.",
|
|
344
|
+
paused: "paused",
|
|
345
|
+
next_run: "next:",
|
|
346
|
+
last_run: "last:",
|
|
347
|
+
enabled_hint: "Active · runs on schedule",
|
|
348
|
+
disabled_hint: "Paused · only via Run button",
|
|
349
|
+
enabled_label: "Enabled",
|
|
350
|
+
new_title: "New routine",
|
|
351
|
+
edit_title: "Edit {name}",
|
|
352
|
+
dialog_desc: "Saved in .apc/routines.json. The routine runs while the daemon is active.",
|
|
353
|
+
name_field: "Name",
|
|
354
|
+
name_no_edit: "Cannot be changed when editing.",
|
|
355
|
+
kind_field: "Action (kind)",
|
|
356
|
+
schedule_field: "Interval (schedule)",
|
|
357
|
+
schedule_hint: "Choose a preset or type manually. Manual = only runs via Run button.",
|
|
358
|
+
vars_title: "Available variables",
|
|
359
|
+
what_happens: "What will happen",
|
|
360
|
+
agent_field: "Agent (spec.agent)",
|
|
361
|
+
agent_hint: "Who executes the routine.",
|
|
362
|
+
agent_loading: "loading…",
|
|
363
|
+
agent_pick: "— pick an agent —",
|
|
364
|
+
prompt_exec: "Prompt (spec.prompt)",
|
|
365
|
+
prompt_exec_ph: "what is pending for today?",
|
|
366
|
+
prompt_super: "Prompt (spec.prompt)",
|
|
367
|
+
prompt_super_ph: "summarize the project status",
|
|
368
|
+
pre_field: "Pre-commands (pre_commands)",
|
|
369
|
+
pre_hint: "Shell BEFORE the prompt. One per line.",
|
|
370
|
+
post_field: "Post-commands (post_commands)",
|
|
371
|
+
post_hint: "Shell AFTER the prompt. One per line.",
|
|
372
|
+
tg_channel: "Channel (spec.channel)",
|
|
373
|
+
tg_chat_id: "Chat ID (spec.chat_id)",
|
|
374
|
+
tg_text: "Text (spec.text)",
|
|
375
|
+
tg_text_hint: "Fixed message to send. Does not use a model.",
|
|
376
|
+
shell_field: "Command (spec.command)",
|
|
377
|
+
shell_hint: "Runs as-is in the shell. No prompt, no pre/post.",
|
|
378
|
+
hb_channel: "Channel (spec.channel)",
|
|
379
|
+
hb_message: "Message (spec.message)",
|
|
380
|
+
name_required: "name required",
|
|
381
|
+
save_error: "save failed",
|
|
382
|
+
run_error: "run failed",
|
|
383
|
+
toggle_error: "toggle failed",
|
|
384
|
+
delete_error: "delete failed",
|
|
385
|
+
run_success: "{name} fired.",
|
|
386
|
+
delete_success: "deleted.",
|
|
387
|
+
},
|
|
388
|
+
|
|
389
|
+
agents: {
|
|
390
|
+
title: "Agents",
|
|
391
|
+
subtitle: "Defined in AGENTS.md + .apc/agents/<slug>/.",
|
|
392
|
+
subtitle_full: "Defined in AGENTS.md + .apc/agents/<slug>/. Hierarchy (orchestrator → sub-agents) lives in frontmatter (Master / Parent).",
|
|
393
|
+
empty: "No agents. Add one with <code>apx agent add</code> or the button.",
|
|
394
|
+
empty_text: "No agents. Add one with `apx agent add` or the button above.",
|
|
395
|
+
new: "Agent",
|
|
396
|
+
created: "Agent {slug} created.",
|
|
397
|
+
slug_invalid: "slug must match /^[a-z][a-z0-9_-]*$/",
|
|
398
|
+
hierarchy: "Hierarchy",
|
|
399
|
+
list_view: "List",
|
|
400
|
+
import: "Import",
|
|
401
|
+
chat: "Chat",
|
|
402
|
+
view: "View",
|
|
403
|
+
orchestrator: "Orchestrator",
|
|
404
|
+
new_title: "New agent",
|
|
405
|
+
new_desc: "POST /projects/:pid/agents — writes .apc/agents/<slug>.md.",
|
|
406
|
+
slug_label: "slug",
|
|
407
|
+
slug_ph: "cody",
|
|
408
|
+
role_label: "role (optional)",
|
|
409
|
+
role_ph: "code refactor",
|
|
410
|
+
model_label: "model (optional)",
|
|
411
|
+
model_hint: "e.g. claude-sonnet-4.5, ollama:gemma2:9b",
|
|
412
|
+
lang_label: "language (optional)",
|
|
413
|
+
desc_label: "description (optional)",
|
|
414
|
+
desc_ph: "What does this agent do…",
|
|
415
|
+
skills_label: "skills (comma)",
|
|
416
|
+
skills_ph: "skill-a, skill-b",
|
|
417
|
+
tools_label: "tools (comma)",
|
|
418
|
+
tools_ph: "tool-a, tool-b",
|
|
419
|
+
parent_label: "reports to (parent, optional)",
|
|
420
|
+
parent_hint: "Sub-agent of an orchestrator.",
|
|
421
|
+
none_parent: "— none —",
|
|
422
|
+
master_label: "Orchestrator (master)",
|
|
423
|
+
create_success: "Agent {slug} created.",
|
|
424
|
+
create_error: "create failed",
|
|
425
|
+
import_title: "Import from vault",
|
|
426
|
+
import_desc: "Templates in ~/.apx/agents. Copied to this project (.apc/agents/).",
|
|
427
|
+
import_empty: "No templates in the vault.",
|
|
428
|
+
import_success: "Imported: {slug}",
|
|
429
|
+
import_already: "already here",
|
|
430
|
+
import_btn: "Import",
|
|
431
|
+
},
|
|
432
|
+
|
|
433
|
+
agent_detail: {
|
|
434
|
+
not_found: "Agent not found.",
|
|
435
|
+
chat_btn: "Chat with {slug}",
|
|
436
|
+
reports_to: "↳ reports to",
|
|
437
|
+
no_threads: "No threads.",
|
|
438
|
+
no_activity: "No recorded activity.",
|
|
439
|
+
threads_recent: "Recent threads",
|
|
440
|
+
subagents: "Sub-agents",
|
|
441
|
+
subagents_desc: "Agents that report to this orchestrator.",
|
|
442
|
+
config_title: "Agent configuration",
|
|
443
|
+
type_label: "Type",
|
|
444
|
+
area_label: "Area",
|
|
445
|
+
area_hint: "e.g. operations, marketing",
|
|
446
|
+
area_ph: "operations",
|
|
447
|
+
role_label: "Role",
|
|
448
|
+
parent_label: "Reports to (parent)",
|
|
449
|
+
none_parent: "— none —",
|
|
450
|
+
model_label: "Base model",
|
|
451
|
+
model_hint: "Empty = uses the Router model (default). Set only to force a model for this agent.",
|
|
452
|
+
model_ph: "(empty = router default)",
|
|
453
|
+
skills_label: "Skills (comma)",
|
|
454
|
+
bio_label: "Bio / description",
|
|
455
|
+
system_label: "System prompt",
|
|
456
|
+
system_hint: "Defines personality and behavior (body of AGENT.md).",
|
|
457
|
+
master_label: "Orchestrator (master)",
|
|
458
|
+
delete_btn: "Delete agent",
|
|
459
|
+
save_btn: "Save changes",
|
|
460
|
+
delete_confirm: "Delete agent \"{slug}\"? Removes .apc/agents/{slug}.md and its folder.",
|
|
461
|
+
update_success: "Agent updated.",
|
|
462
|
+
delete_success: "Agent deleted.",
|
|
463
|
+
tools_hint: "Which tools this agent can use. Tap to toggle; or edit the list below.",
|
|
464
|
+
tools_custom_ph: "list (comma): echo, http_fetch",
|
|
465
|
+
memory_title: "Agent memory",
|
|
466
|
+
memory_empty: "(empty memory)",
|
|
467
|
+
memory_saved: "Memory saved.",
|
|
468
|
+
records_title: "Records",
|
|
469
|
+
records_desc: "Agent activity log (messages/actions). Newest first.",
|
|
470
|
+
sleep_title: "Sleep / Heartbeat",
|
|
471
|
+
sleep_desc: "Agent execution status, derived from its routines.",
|
|
472
|
+
sleep_deep: "Deep sleep · no heartbeat",
|
|
473
|
+
sleep_deep_desc: "This agent has no routine that triggers it. It does not run autonomously; it only responds when invoked (chat / task).",
|
|
474
|
+
brain_title: "Brain",
|
|
475
|
+
brain_desc: "Real relationship graph of the agent: memory, threads, tasks, heartbeats and hierarchy. (first version — will be refined)",
|
|
476
|
+
brain_empty: "No relationships to graph yet (no memory, threads, tasks or routines).",
|
|
477
|
+
msgs_count: "msgs",
|
|
478
|
+
},
|
|
479
|
+
|
|
480
|
+
mcps: {
|
|
481
|
+
title: "MCP servers",
|
|
482
|
+
subtitle: "3 scopes: runtime > shared > global. Conflicts shown above if any.",
|
|
483
|
+
empty: "No MCPs configured.",
|
|
484
|
+
new: "MCP",
|
|
485
|
+
delete_confirm: "Delete MCP {name} from scope {scope}?",
|
|
486
|
+
conflicts: "⚠ Conflicts: {names}",
|
|
487
|
+
new_title: "New MCP",
|
|
488
|
+
new_desc: "POST /projects/:pid/mcps?scope=…",
|
|
489
|
+
scope_label: "scope",
|
|
490
|
+
transport_label: "transport",
|
|
491
|
+
name_label: "name",
|
|
492
|
+
name_ph: "filesystem",
|
|
493
|
+
cmd_label: "command",
|
|
494
|
+
cmd_ph: "npx",
|
|
495
|
+
args_label: "args",
|
|
496
|
+
args_hint: "space-separated",
|
|
497
|
+
args_ph: "-y @modelcontextprotocol/server-filesystem /tmp",
|
|
498
|
+
env_label: "env (JSON, optional)",
|
|
499
|
+
url_label: "url",
|
|
500
|
+
url_ph: "https://example.com/mcp",
|
|
501
|
+
enabled_label: "Enabled",
|
|
502
|
+
add_btn: "Add",
|
|
503
|
+
name_required: "name required",
|
|
504
|
+
env_invalid: "env must be valid JSON",
|
|
505
|
+
removed: "removed",
|
|
506
|
+
added: "MCP added.",
|
|
507
|
+
},
|
|
508
|
+
|
|
509
|
+
threads: {
|
|
510
|
+
title: "Chats",
|
|
511
|
+
subtitle: "Conversations per agent (empty = no logs persisted yet).",
|
|
512
|
+
no_agents: "No agents. Conversations require a configured agent.",
|
|
513
|
+
pick: "Pick an agent to view its conversations.",
|
|
514
|
+
empty: "No conversations for {slug}.",
|
|
515
|
+
conversation_title: "Conversation {id}",
|
|
516
|
+
messages: "messages",
|
|
517
|
+
via: "via",
|
|
518
|
+
},
|
|
519
|
+
|
|
520
|
+
config: {
|
|
521
|
+
title: "Quick config",
|
|
522
|
+
subtitle: "Project override. Written to {path}.",
|
|
523
|
+
model: "super_agent.model",
|
|
524
|
+
model_hint: "e.g. anthropic:claude-sonnet-4.5, ollama:gemma2:9b",
|
|
525
|
+
perm: "super_agent.permission_mode",
|
|
526
|
+
route: "route_to_agent",
|
|
527
|
+
route_hint: "Slug of the agent that handles this project by default.",
|
|
528
|
+
use_global: "(uses global)",
|
|
529
|
+
saved: "Saved.",
|
|
530
|
+
nothing: "Nothing to save.",
|
|
531
|
+
raw_title: "Config (raw JSON)",
|
|
532
|
+
raw_subtitle:"Paste the entire object — equivalent to PUT the file.",
|
|
533
|
+
raw_save: "Replace config",
|
|
534
|
+
raw_done: "Config overwritten.",
|
|
535
|
+
effective: "Effective config (read-only)",
|
|
536
|
+
effective_sub: "What the daemon actually sees (global ⊕ override).",
|
|
537
|
+
section_title: "Project config",
|
|
538
|
+
section_desc: "APC metadata and overrides separated. General APX lives in Settings > Config.",
|
|
539
|
+
effective_read: "Read: global APX + project override.",
|
|
540
|
+
save_project: ".apc/project.json saved.",
|
|
541
|
+
save_override: ".apc/config.json saved.",
|
|
542
|
+
save_fields_success: "Overrides saved.",
|
|
543
|
+
save_meta_success: "Project metadata saved.",
|
|
544
|
+
no_data: "No data.",
|
|
545
|
+
},
|
|
546
|
+
|
|
547
|
+
telegram: {
|
|
548
|
+
title: "Telegram channel (override)",
|
|
549
|
+
subtitle: "If you set a channel here, messages from this project go there instead of the default.",
|
|
550
|
+
use_default: "Use default channel",
|
|
551
|
+
bot_token: "Bot token (override)",
|
|
552
|
+
chat_id: "Chat ID (override)",
|
|
553
|
+
saved: "Override saved.",
|
|
554
|
+
cleared: "Override removed — falls back to default.",
|
|
555
|
+
override_active: "override active",
|
|
556
|
+
channel_badge: "Channel {name}",
|
|
557
|
+
no_override: "No override. Messages from this project go to the default channel.",
|
|
558
|
+
respond_engine: "Respond with engine",
|
|
559
|
+
route_agent: "route_to_agent",
|
|
560
|
+
route_hint: "Slug of the agent that handles messages (empty = super-agent).",
|
|
561
|
+
bot_hint_none: "If empty, inherits from default.",
|
|
562
|
+
},
|
|
563
|
+
|
|
564
|
+
memories: {
|
|
565
|
+
project_title: "Project memory",
|
|
566
|
+
project_desc: "Durable facts at the project level. .apc/memory.md — read by agents and the super-agent.",
|
|
567
|
+
project_ph: "# Project Memory\n\nStable facts that any agent should know…",
|
|
568
|
+
agents_title: "Agent memories",
|
|
569
|
+
agents_desc: "Individual memory per agent. .apc/agents/<slug>/memory.md",
|
|
570
|
+
no_agents: "No agents in this project.",
|
|
571
|
+
saved: "Memory saved.",
|
|
572
|
+
empty: "(empty memory)",
|
|
573
|
+
chars: "chars · Markdown",
|
|
574
|
+
save_btn: "Save",
|
|
575
|
+
},
|
|
576
|
+
},
|
|
577
|
+
|
|
578
|
+
base: {
|
|
579
|
+
title: "Base",
|
|
580
|
+
subtitle: "General workspace · super-agent",
|
|
581
|
+
nav_general: "General",
|
|
582
|
+
nav_activity: "Activity",
|
|
583
|
+
nav_system: "System",
|
|
584
|
+
workspaces_title: "Workspaces",
|
|
585
|
+
workspaces_desc: "All projects registered in APX.",
|
|
586
|
+
workspaces_new: "New project",
|
|
587
|
+
workspaces_empty: "No projects. Add one with the button above.",
|
|
588
|
+
sessions_title: "Sessions",
|
|
589
|
+
sessions_desc: "Sessions from all engines (apx · claude · codex), newest first.",
|
|
590
|
+
sessions_all: "All engines",
|
|
591
|
+
sessions_empty: "No sessions.",
|
|
592
|
+
sessions_error: "Could not read sessions: {msg}",
|
|
593
|
+
defaults_title: "Agent defaults",
|
|
594
|
+
defaults_desc: "Global vault templates. Bundled ones come with APX and are always present; ones you create or edit go in ~/.apx/agents and override. Import them into a project from Agents › Import.",
|
|
595
|
+
defaults_show_removed: "Show removed",
|
|
596
|
+
defaults_new: "New",
|
|
597
|
+
defaults_empty: "No templates in the vault.",
|
|
598
|
+
defaults_hide: "Hide",
|
|
599
|
+
defaults_restore: "Restore",
|
|
600
|
+
defaults_edit: "Edit",
|
|
601
|
+
defaults_remove: "Hide",
|
|
602
|
+
defaults_delete: "Delete",
|
|
603
|
+
defaults_tombstone_msg: "Hide the default \"{slug}\"? It's bundled — tombstoned and recoverable with Restore.",
|
|
604
|
+
defaults_delete_msg: "Delete the template \"{slug}\"?",
|
|
605
|
+
defaults_hidden: "Hidden.",
|
|
606
|
+
defaults_deleted: "Deleted.",
|
|
607
|
+
defaults_restored: "Restored.",
|
|
608
|
+
defaults_new_title: "New template",
|
|
609
|
+
defaults_new_desc: "POST /agents/vault — saved to ~/.apx/agents/<slug>.md",
|
|
610
|
+
defaults_edit_title: "Edit \"{slug}\"",
|
|
611
|
+
defaults_bundled_desc: "This is a bundled default. Saving does a copy-on-write to ~/.apx/agents/<slug>.md (becomes an override).",
|
|
612
|
+
defaults_user_desc: "PATCH /agents/vault/:slug — edits the file in ~/.apx/agents.",
|
|
613
|
+
defaults_master_label: "Master agent",
|
|
614
|
+
defaults_slug_invalid: "invalid slug (must match /^[a-z][a-z0-9_-]*$/)",
|
|
615
|
+
defaults_created: "Template \"{slug}\" created.",
|
|
616
|
+
defaults_saved: "Template \"{slug}\" saved.",
|
|
617
|
+
},
|
|
618
|
+
|
|
619
|
+
logs: {
|
|
620
|
+
title: "Logs",
|
|
621
|
+
desc_global: "Daemon activity (global channels: telegram, direct…). ~/.apx/messages/<channel>/.",
|
|
622
|
+
desc_project: "Project activity. ~/.apx/projects/<id>/messages/.",
|
|
623
|
+
filter_channel: "filter channel (e.g. telegram)",
|
|
624
|
+
filter_dir: "direction",
|
|
625
|
+
all_directions: "All directions",
|
|
626
|
+
in: "Incoming (in)",
|
|
627
|
+
out: "Outgoing (out)",
|
|
628
|
+
filter_type: "type",
|
|
629
|
+
all_types: "All types",
|
|
630
|
+
search_text: "search text…",
|
|
631
|
+
count_of: "of",
|
|
632
|
+
no_activity: "No activity.",
|
|
633
|
+
no_activity_ch: "No activity in channel \"{ch}\".",
|
|
634
|
+
error: "Could not read messages: {msg}",
|
|
635
|
+
show_more: "show more",
|
|
636
|
+
show_less: "show less",
|
|
637
|
+
daemon_errors: "Daemon errors (~/.apx/logs/errors.jsonl)",
|
|
638
|
+
no_errors: "No errors recorded. 🎉",
|
|
639
|
+
},
|
|
640
|
+
|
|
641
|
+
telegram_contacts: {
|
|
642
|
+
title: "Telegram contacts",
|
|
643
|
+
desc: "Who writes to the bots. The role defines which tools they can use; a guest has no permissions until you assign a role.",
|
|
644
|
+
empty: "No contacts yet — they register automatically when someone writes to a bot.",
|
|
645
|
+
owner_badge: "owner",
|
|
646
|
+
assign_role: "Assign role",
|
|
647
|
+
owner_hint: "Channel owner — change it from the channel",
|
|
648
|
+
removed: "Contact deleted.",
|
|
649
|
+
delete_confirm: "Delete contact {name}?",
|
|
650
|
+
last_seen: "seen:",
|
|
651
|
+
tools_all: "tools: all",
|
|
652
|
+
tools_none: "tools: none",
|
|
653
|
+
tools_label: "tools:",
|
|
654
|
+
},
|
|
655
|
+
|
|
656
|
+
telegram_channels: {
|
|
657
|
+
title: "Channels",
|
|
658
|
+
desc: "Each channel is a bot the daemon polls. Here you can add/remove channels, change the answering agent, the project it belongs to and its owner.",
|
|
659
|
+
new_btn: "New channel",
|
|
660
|
+
empty: "No channels yet — add the first one.",
|
|
661
|
+
removed: "Channel deleted.",
|
|
662
|
+
delete_confirm: "Delete channel {name}?",
|
|
663
|
+
no_owner: "no owner (claimed on first DM)",
|
|
664
|
+
owner_label: "owner:",
|
|
665
|
+
},
|
|
666
|
+
|
|
667
|
+
telegram_channel_dialog: {
|
|
668
|
+
new_title: "New Telegram channel",
|
|
669
|
+
edit_title: "Edit channel: {name}",
|
|
670
|
+
name_label: "name (internal slug)",
|
|
671
|
+
token_label: "bot_token",
|
|
672
|
+
chat_id: "chat_id",
|
|
673
|
+
project_label: "project",
|
|
674
|
+
project_hint: "Slug or id of the project to pin this channel to (optional).",
|
|
675
|
+
route_label: "route_to_agent",
|
|
676
|
+
route_hint: "Answering agent; empty = APX super-agent.",
|
|
677
|
+
owner_label: "owner_user_id",
|
|
678
|
+
owner_hint: "Telegram user_id of the channel owner. Overrides global role to 'owner' here. Leave empty — first private message claims it.",
|
|
679
|
+
owner_ph: "889721252",
|
|
680
|
+
respond_label: "Respond with engine (not echo)",
|
|
681
|
+
name_required: "name required",
|
|
682
|
+
saved: "Channel saved.",
|
|
683
|
+
},
|
|
684
|
+
|
|
685
|
+
telegram_send_dialog: {
|
|
686
|
+
title: "Send to {name}",
|
|
687
|
+
default_msg: "Test message from APX panel ✅",
|
|
688
|
+
},
|
|
689
|
+
|
|
690
|
+
telegram_roles: {
|
|
691
|
+
title: "Roles",
|
|
692
|
+
desc: "Each role defines which super-agent tools the assigned user can invoke. 'owner' always = all; 'guest' always = none (chat only).",
|
|
693
|
+
empty: "No roles defined.",
|
|
694
|
+
tools_all: "all tools",
|
|
695
|
+
tools_none: "no tools",
|
|
696
|
+
builtin: "built-in",
|
|
697
|
+
delete_confirm: "Delete role \"{name}\"?",
|
|
698
|
+
removed: "Role deleted.",
|
|
699
|
+
saved: "Role \"{name}\" saved.",
|
|
700
|
+
name_required: "Name required.",
|
|
701
|
+
builtin_error: "\"{name}\" is a built-in role.",
|
|
702
|
+
new_title: "New role or replace a custom one",
|
|
703
|
+
name_label: "Name",
|
|
704
|
+
name_ph: "editor",
|
|
705
|
+
tools_label: "Tools (comma-separated)",
|
|
706
|
+
tools_hint: "Empty = none. Examples: call_agent, list_tasks, create_task.",
|
|
707
|
+
tools_ph: "call_agent, list_tasks",
|
|
708
|
+
full_access: "Full access (all tools)",
|
|
709
|
+
save_btn: "Save role",
|
|
710
|
+
delete_btn: "Delete",
|
|
711
|
+
},
|
|
712
|
+
|
|
713
|
+
roby: {
|
|
714
|
+
title: "Roby",
|
|
715
|
+
badge: "super-agent · APX",
|
|
716
|
+
desc: "Quick chat with your super-agent. Has access to tools (projects, tasks, mcps, agents); for a longer persistent thread, open Chats.",
|
|
717
|
+
empty: "Send Roby a message to get started.",
|
|
718
|
+
thinking: "Roby is thinking…",
|
|
719
|
+
talk: "Talk to Roby",
|
|
720
|
+
new_chat: "New chat",
|
|
721
|
+
placeholder: "Type and press enter to send (shift+enter = new line)…",
|
|
722
|
+
},
|
|
723
|
+
|
|
724
|
+
not_found: {
|
|
725
|
+
title: "404",
|
|
726
|
+
message: "That route does not exist.",
|
|
727
|
+
},
|
|
728
|
+
|
|
729
|
+
code_module: {
|
|
730
|
+
title: "Code",
|
|
731
|
+
badge: "super-agent",
|
|
732
|
+
desc: "OpenCode-style coding sessions. Pick a project, open a session, and ask it to read, plan, edit or run.",
|
|
733
|
+
no_projects: "No registered projects. Register one with `apx project add` to use Code.",
|
|
734
|
+
sessions: "Sessions",
|
|
735
|
+
new_session: "New session",
|
|
736
|
+
untitled: "New session",
|
|
737
|
+
no_sessions: "No sessions yet — create one to start coding.",
|
|
738
|
+
pick_project: "Pick a project to see its sessions.",
|
|
739
|
+
rename: "Rename",
|
|
740
|
+
delete: "Delete",
|
|
741
|
+
delete_confirm: "Delete this session? The transcript is removed; your files are untouched.",
|
|
742
|
+
empty_chat: "Send a coding instruction to get started.",
|
|
743
|
+
placeholder: "Ask for a change… (enter sends, shift+enter = new line)",
|
|
744
|
+
mode_build: "Build",
|
|
745
|
+
mode_plan: "Plan",
|
|
746
|
+
mode_build_hint: "Build — edits files and runs commands",
|
|
747
|
+
mode_plan_hint: "Plan — read-only, proposes changes without touching files",
|
|
748
|
+
tab_context: "Context",
|
|
749
|
+
tab_changes: "Changes",
|
|
750
|
+
ctx_model: "Model",
|
|
751
|
+
ctx_tokens: "Tokens",
|
|
752
|
+
ctx_input: "Input",
|
|
753
|
+
ctx_output: "Output",
|
|
754
|
+
ctx_messages: "Messages",
|
|
755
|
+
ctx_breakdown: "Context breakdown",
|
|
756
|
+
ctx_none: "No usage yet — send a turn to see tokens.",
|
|
757
|
+
seg_system: "System",
|
|
758
|
+
seg_user: "User",
|
|
759
|
+
seg_assistant: "Assistant",
|
|
760
|
+
seg_tool: "Tools",
|
|
761
|
+
seg_other: "Other",
|
|
762
|
+
changes_none: "No changes in this session yet.",
|
|
763
|
+
changes_no_git: "Changes need a git repository. This project isn't one.",
|
|
764
|
+
changes_files: "{n} file(s) changed",
|
|
765
|
+
stopped: "[stopped]",
|
|
766
|
+
},
|
|
767
|
+
} as const;
|