@deadragdoll/tellymcp 0.0.10 → 0.0.12
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/.env.example.client +42 -52
- package/.env.example.gateway +48 -62
- package/CHANGELOG.md +3 -3
- package/README-ru.md +226 -376
- package/README.md +213 -1184
- package/TOOLS.md +320 -377
- package/VERSION.md +13 -13
- package/config/codex/plugins/telly-workflows/.codex-plugin/plugin.json +18 -0
- package/config/codex/plugins/telly-workflows/references/invariants.md +10 -0
- package/config/codex/plugins/telly-workflows/skills/telly-browser-screenshot/SKILL.md +27 -0
- package/config/codex/plugins/telly-workflows/skills/telly-collab-artifact/SKILL.md +22 -0
- package/config/codex/plugins/telly-workflows/skills/telly-human-telegram/SKILL.md +31 -0
- package/config/codex/plugins/telly-workflows/skills/telly-partner-note/SKILL.md +36 -0
- package/config/templates/env.both.template +39 -20
- package/config/templates/env.client.template +34 -19
- package/config/templates/env.gateway.template +37 -22
- package/dist/cli.js +322 -75
- package/dist/codexPluginInstaller.js +215 -0
- package/dist/lib/mixins/session.errors.js +34 -1
- package/dist/lib/pinoTargets.js +2 -2
- package/dist/moleculer.config.js +7 -5
- package/dist/services/features/telegram-mcp/browser.service.js +94 -1
- package/dist/services/features/telegram-mcp/collaboration.service.js +40 -3
- package/dist/services/features/telegram-mcp/ensuredb.service.js +145 -26
- package/dist/services/features/telegram-mcp/gateway-delivery.service.js +285 -103
- package/dist/services/features/telegram-mcp/gateway-socket.service.js +907 -85
- package/dist/services/features/telegram-mcp/gateway.service.js +876 -81
- package/dist/services/features/telegram-mcp/mcp-http.service.js +8 -0
- package/dist/services/features/telegram-mcp/mcp-server.service.js +17 -26
- package/dist/services/features/telegram-mcp/notify.service.js +127 -1
- package/dist/services/features/telegram-mcp/session-context.service.js +28 -1
- package/dist/services/features/telegram-mcp/src/app/bootstrap/runtime.js +132 -10
- package/dist/services/features/telegram-mcp/src/app/config/env.js +158 -52
- package/dist/services/features/telegram-mcp/src/app/http.js +375 -42
- package/dist/services/features/telegram-mcp/src/app/webapp/assets.js +386 -58
- package/dist/services/features/telegram-mcp/src/app/webapp/auth.js +3 -0
- package/dist/services/features/telegram-mcp/src/app/webapp/terminal.js +12 -0
- package/dist/services/features/telegram-mcp/src/entities/request/model/schema.js +120 -104
- package/dist/services/features/telegram-mcp/src/entities/xchange/model/types.js +2 -0
- package/dist/services/features/telegram-mcp/src/features/ask-user/model/askUserTelegram.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/browser/model/browserOpenTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/browser/model/browserScreenshotTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/browser/model/browserService.js +306 -26
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/gatewaySessionsService.js +71 -0
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/listGatewaySessionsTool.js +33 -0
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/localCollaborationBackend.js +93 -82
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerFileService.js +47 -5
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerFileTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/collaboration/model/sendPartnerNoteTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/distributed-client/model/gatewayClientAccess.js +82 -0
- package/dist/services/features/telegram-mcp/src/features/distributed-client/model/gatewayCollaborationBackend.js +22 -14
- package/dist/services/features/telegram-mcp/src/features/distributed-gateway/model/gatewayHttpService.js +697 -75
- package/dist/services/features/telegram-mcp/src/features/distributed-gateway/model/remoteConsoleActionClient.js +76 -0
- package/dist/services/features/telegram-mcp/src/features/embedded-runtime/model/embeddedRuntimeBroker.js +92 -0
- package/dist/services/features/telegram-mcp/src/features/foreground-terminal/model/foregroundTerminalRuntime.js +192 -0
- package/dist/services/features/telegram-mcp/src/features/notify/model/notifyService.js +382 -3
- package/dist/services/features/telegram-mcp/src/features/notify/model/notifyTelegramTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/notify/model/sendFileToTelegramTool.js +33 -0
- package/dist/services/features/telegram-mcp/src/features/session-context/model/clearSessionContextTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/session-context/model/getSessionContextTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/session-context/model/renameSessionTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/session-context/model/sessionContextService.js +42 -200
- package/dist/services/features/telegram-mcp/src/features/session-context/model/setSessionContextTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/terminal-buffer/model/terminalBufferService.js +96 -0
- package/dist/services/features/telegram-mcp/src/features/terminal-input/model/terminalInputService.js +97 -0
- package/dist/services/features/telegram-mcp/src/features/tools-sync/model/refreshToolsMarkdownService.js +107 -58
- package/dist/services/features/telegram-mcp/src/features/tools-sync/model/refreshToolsMarkdownTool.js +1 -1
- package/dist/services/features/telegram-mcp/src/features/xchange/model/getXchangeRecordTool.js +28 -0
- package/dist/services/features/telegram-mcp/src/features/xchange/model/listXchangeRecordsTool.js +28 -0
- package/dist/services/features/telegram-mcp/src/features/xchange/model/markXchangeRecordReadTool.js +28 -0
- package/dist/services/features/telegram-mcp/src/features/xchange/model/xchangeService.js +169 -0
- package/dist/services/features/telegram-mcp/src/processes/human-approval/model/orchestrator.js +5 -4
- package/dist/services/features/telegram-mcp/src/shared/i18n/resources/en.js +143 -42
- package/dist/services/features/telegram-mcp/src/shared/i18n/resources/ru.js +139 -38
- package/dist/services/features/telegram-mcp/src/shared/integrations/memory/processLocalSessionStore.js +27 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/object-storage/minioExchangeStore.js +11 -8
- package/dist/services/features/telegram-mcp/src/shared/integrations/redis/stateStore.js +69 -70
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/proxyFetch.js +21 -22
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transport.js +444 -7093
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportAttachmentStore.js +93 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportBroadcastActions.js +385 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportConsoleRegistry.js +149 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportConstructorWiring.js +642 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportContent.js +84 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportContext.js +78 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportDocumentActions.js +36 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportEventActions.js +292 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportFileHandoffActions.js +352 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportFormatting.js +75 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportGatewayActions.js +44 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLifecycleActions.js +161 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLive.js +56 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportLiveActions.js +77 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuCallbacks.js +254 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFactories.js +538 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFingerprints.js +93 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuFlow.js +344 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuShell.js +65 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuState.js +408 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMenuText.js +216 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportMessageFlow.js +452 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportOutputActions.js +189 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportPartnerActions.js +286 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportPayloadState.js +108 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectActions.js +463 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectEntryActions.js +202 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectEvents.js +99 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectMenus.js +138 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectState.js +308 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportProjectView.js +426 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportRequestFlow.js +278 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportSessionActions.js +143 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTerminalActions.js +665 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTerminalRuntime.js +226 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportTypes.js +2 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportUtils.js +330 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/telegram/transportXchangeState.js +107 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/terminal/client.js +255 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/terminal/ptyRegistry.js +543 -0
- package/dist/services/features/telegram-mcp/src/shared/integrations/xchange/sqliteRecordStore.js +223 -0
- package/dist/services/features/telegram-mcp/src/shared/lib/gatewayScope.js +24 -0
- package/dist/services/features/telegram-mcp/src/shared/lib/logger/logger.js +6 -0
- package/dist/services/features/telegram-mcp/src/shared/lib/project-identity/projectIdentity.js +147 -76
- package/dist/services/features/telegram-mcp/src/shared/lib/telegramXchangeRecords.js +72 -0
- package/dist/services/features/telegram-mcp/src/shared/lib/terminalPromptDetection.js +409 -0
- package/dist/services/features/telegram-mcp/src/shared/lib/version/versionHandshake.js +129 -1
- package/dist/services/features/telegram-mcp/src/shared/lib/xchangeRecordHints.js +98 -0
- package/dist/services/features/telegram-mcp/standalone-http.service.js +12 -0
- package/dist/services/features/telegram-mcp/terminal-buffer.service.js +42 -0
- package/dist/services/features/telegram-mcp/terminal-input.service.js +41 -0
- package/dist/services/features/telegram-mcp/tools-sync.service.js +15 -1
- package/dist/services/features/telegram-mcp/xchange.service.js +123 -0
- package/docs/STANDALONE-ru.md +172 -0
- package/docs/STANDALONE.md +172 -0
- package/package.json +10 -5
- package/scripts/build-package-artifact.sh +27 -0
- package/scripts/deploy-gateway.sh +64 -0
- package/scripts/deploy-onebot-branch.sh +27 -0
- package/scripts/postinstall.js +11 -36
- package/STANDALONE-ru.md +0 -274
- package/STANDALONE.md +0 -274
- package/dist/services/features/telegram-mcp/inbox.service.js +0 -33
- package/dist/services/features/telegram-mcp/pair.service.js +0 -33
- package/dist/services/features/telegram-mcp/src/app/webapp/tmux.js +0 -10
- package/dist/services/features/telegram-mcp/src/features/inbox/model/deleteTelegramInboxMessageTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/inbox/model/getTelegramInboxCountTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/inbox/model/getTelegramInboxTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/inbox/model/inboxService.js +0 -77
- package/dist/services/features/telegram-mcp/src/features/pair-session/model/clearSessionPairingTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/pair-session/model/createSessionPairCodeTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/pair-session/model/generatePairCode.js +0 -202
- package/dist/services/features/telegram-mcp/src/features/session-context/model/getTmuxTargetTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/features/session-context/model/setTmuxTargetTool.js +0 -33
- package/dist/services/features/telegram-mcp/src/shared/integrations/tmux/client.js +0 -363
|
@@ -46,7 +46,7 @@ exports.enMenu = {
|
|
|
46
46
|
partner: "🤝 Partner: <b><i>{{partnerName}}</i></b>",
|
|
47
47
|
partner_hint: "Share API details, what's new, errors, and git changes with your teammate.",
|
|
48
48
|
link_hint: "🔗 Link a partner session to coordinate through shared notes and files.",
|
|
49
|
-
|
|
49
|
+
terminal_mode_direct: "🖧 Terminal mode: direct",
|
|
50
50
|
},
|
|
51
51
|
},
|
|
52
52
|
sessions: {
|
|
@@ -55,15 +55,15 @@ exports.enMenu = {
|
|
|
55
55
|
last_worked: "🕘 Last worked: <i>{{sessionName}}</i>",
|
|
56
56
|
updated: "⏱ Updated: <i>{{timestamp}}</i>",
|
|
57
57
|
current_active: "📌 Current active: <b>{{sessionName}}</b>",
|
|
58
|
-
no_linked_sessions: "No
|
|
58
|
+
no_linked_sessions: "No visible sessions found for this Telegram identity.",
|
|
59
59
|
},
|
|
60
60
|
labels: {
|
|
61
|
-
no_linked_sessions: "🫥 No
|
|
61
|
+
no_linked_sessions: "🫥 No visible sessions",
|
|
62
62
|
unavailable: "⚠ Sessions unavailable",
|
|
63
63
|
tools: "🛠 Tools",
|
|
64
64
|
},
|
|
65
65
|
actions: {
|
|
66
|
-
no_linked_sessions: "No
|
|
66
|
+
no_linked_sessions: "No visible sessions found for this Telegram identity.",
|
|
67
67
|
unavailable: "Sessions menu is temporarily unavailable.",
|
|
68
68
|
refreshed: "Sessions refreshed.",
|
|
69
69
|
open_tools: "Opening tools menu.",
|
|
@@ -97,9 +97,9 @@ exports.enMenu = {
|
|
|
97
97
|
screen: {
|
|
98
98
|
title: "📄 Content",
|
|
99
99
|
active_session: "📌 Active session: {{sessionName}}",
|
|
100
|
-
|
|
100
|
+
terminal_target: "🖥 terminal target: {{terminalTarget}}",
|
|
101
101
|
export_hint: "Choose how much pane history to export as a Markdown file.",
|
|
102
|
-
export_modes: "Visible is the current
|
|
102
|
+
export_modes: "Visible is the current terminal viewport. Full exports the whole available terminal history.",
|
|
103
103
|
},
|
|
104
104
|
},
|
|
105
105
|
browser: {
|
|
@@ -163,10 +163,10 @@ exports.enMenu = {
|
|
|
163
163
|
info: "ℹ Info",
|
|
164
164
|
rename: "✏ Rename",
|
|
165
165
|
unpair: "🗑 Unpair",
|
|
166
|
-
confirm_unpair: "⚠ Confirm
|
|
166
|
+
confirm_unpair: "⚠ Confirm route removal",
|
|
167
167
|
},
|
|
168
168
|
actions: {
|
|
169
|
-
confirm_unpair: "Confirm
|
|
169
|
+
confirm_unpair: "Confirm route removal.",
|
|
170
170
|
back_to_settings: "Back to settings.",
|
|
171
171
|
rename_prompt: "Send the new session title.",
|
|
172
172
|
rename_body: "Send the next text message as the new title for the active session.\nCommands like /menu or /help cancel rename mode.",
|
|
@@ -174,7 +174,7 @@ exports.enMenu = {
|
|
|
174
174
|
screen: {
|
|
175
175
|
title: "⚙ Settings",
|
|
176
176
|
active_session: "📌 Active session: {{sessionName}}",
|
|
177
|
-
hint: "Open
|
|
177
|
+
hint: "Open console info, rename it, or remove its Telegram route.",
|
|
178
178
|
},
|
|
179
179
|
},
|
|
180
180
|
local: {
|
|
@@ -193,9 +193,9 @@ exports.enMenu = {
|
|
|
193
193
|
link_status: "🤝 Link: {{linkedSessionName}}",
|
|
194
194
|
link_status_none: "🤝 Link: not configured",
|
|
195
195
|
hint_title: "Local collaboration inside one bot lives here:",
|
|
196
|
-
hint_body: "
|
|
196
|
+
hint_body: "console linking, note exchange, and file handoff without a gateway.",
|
|
197
197
|
unavailable: "Local collaboration is unavailable for this chat.",
|
|
198
|
-
no_active_session: "No active
|
|
198
|
+
no_active_session: "No active console is selected. Open /menu and choose one first.",
|
|
199
199
|
},
|
|
200
200
|
},
|
|
201
201
|
link: {
|
|
@@ -302,7 +302,7 @@ exports.enMenu = {
|
|
|
302
302
|
how_it_works: "How it works:",
|
|
303
303
|
step_choose: "- choose the active session",
|
|
304
304
|
step_inbox: "- ordinary Telegram messages go to that session inbox",
|
|
305
|
-
step_nudge: "- if a
|
|
305
|
+
step_nudge: "- if a terminal target is configured, the service nudges the agent automatically",
|
|
306
306
|
step_tools: "- the agent then reads the inbox batch through MCP tools",
|
|
307
307
|
},
|
|
308
308
|
live: {
|
|
@@ -341,6 +341,16 @@ exports.enMenu = {
|
|
|
341
341
|
},
|
|
342
342
|
},
|
|
343
343
|
notices: {
|
|
344
|
+
admin: {
|
|
345
|
+
gateway_client_registered_title: "🆕 New gateway client registered",
|
|
346
|
+
gateway_session_registered_title: "🆕 New gateway session registered",
|
|
347
|
+
gateway_client_uuid: "Client UUID: {{value}}",
|
|
348
|
+
gateway_node_id: "Node: {{value}}",
|
|
349
|
+
gateway_package_version: "Package: {{value}}",
|
|
350
|
+
gateway_session_count: "Sessions in hello: {{count}}",
|
|
351
|
+
gateway_new_sessions: "New sessions:",
|
|
352
|
+
gateway_session_item: "• {{label}} ({{localSessionId}})",
|
|
353
|
+
},
|
|
344
354
|
startup: {
|
|
345
355
|
title: "✅ TellyMCP is running.",
|
|
346
356
|
version: "Version: {{packageVersion}}",
|
|
@@ -354,6 +364,8 @@ exports.enMenu = {
|
|
|
354
364
|
gateway: "Gateway: {{url}}",
|
|
355
365
|
gateway_ws: "Gateway WS: {{url}}",
|
|
356
366
|
browser: "Browser: {{status}}",
|
|
367
|
+
update_available: "Update available: {{currentVersion}} -> {{latestVersion}}",
|
|
368
|
+
update_command: "Update command: npm install -g {{packageName}}@{{latestVersion}}",
|
|
357
369
|
hint: "Send /menu to open the session menu.",
|
|
358
370
|
},
|
|
359
371
|
project: {
|
|
@@ -364,9 +376,9 @@ exports.enMenu = {
|
|
|
364
376
|
member: "Participant",
|
|
365
377
|
},
|
|
366
378
|
tools: {
|
|
367
|
-
changed: "Gateway TOOLS.md changed or is
|
|
379
|
+
changed: "Gateway TOOLS.md changed or the current session hash is unknown.",
|
|
368
380
|
session: "Session: {{sessionName}}",
|
|
369
|
-
action_required: "Action required: call refresh_tools_markdown
|
|
381
|
+
action_required: "Action required: call refresh_tools_markdown with the current known hash. If changed=true, read and apply the returned content before continuing work.",
|
|
370
382
|
},
|
|
371
383
|
version: {
|
|
372
384
|
reject: "Gateway and client are protocol-incompatible. Transport for this session is blocked.",
|
|
@@ -375,22 +387,112 @@ exports.enMenu = {
|
|
|
375
387
|
client: "Client: {{packageVersion}} / protocol {{protocolVersion}}",
|
|
376
388
|
gateway: "Gateway: {{packageVersion}} / protocol {{protocolVersion}}",
|
|
377
389
|
},
|
|
378
|
-
|
|
379
|
-
target_invalid_title: "⚠ Automatic
|
|
380
|
-
target_invalid_target: "Saved
|
|
381
|
-
target_invalid_action: "Rebind the
|
|
382
|
-
unavailable_title: "⚠ Automatic
|
|
383
|
-
unavailable_body: "
|
|
384
|
-
unavailable_target: "
|
|
385
|
-
unavailable_reason: "This usually means the
|
|
386
|
-
unavailable_action: "
|
|
390
|
+
terminal: {
|
|
391
|
+
target_invalid_title: "⚠ Automatic terminal nudge failed for session {{sessionName}}.",
|
|
392
|
+
target_invalid_target: "Saved terminal target is no longer valid: {{terminalTarget}}",
|
|
393
|
+
target_invalid_action: "Rebind the terminal target for this session.",
|
|
394
|
+
unavailable_title: "⚠ Automatic terminal nudge was skipped for session {{sessionName}}.",
|
|
395
|
+
unavailable_body: "Terminal runtime is unavailable on this machine right now.",
|
|
396
|
+
unavailable_target: "terminal target: {{terminalTarget}}",
|
|
397
|
+
unavailable_reason: "This usually means the terminal runtime is not running or is unreachable for the current target.",
|
|
398
|
+
unavailable_action: "Restart the terminal runtime for this console, or update/remove the terminal target for this session.",
|
|
399
|
+
prompt_detected_title: "🛎 Possible blocker in {{sessionName}}",
|
|
400
|
+
prompt_detected_score: "Detection score: {{score}}",
|
|
401
|
+
prompt_detected_target: "terminal target: {{terminalTarget}}",
|
|
402
|
+
prompt_detected_hint: "Open Live or answer in the terminal if this prompt really needs you.",
|
|
403
|
+
prompt_detected_excerpt: "Recent prompt lines:",
|
|
404
|
+
prompt_action_sent: "Sent {{action}} to terminal.",
|
|
405
|
+
prompt_action_stale: "This blocker action is no longer available.",
|
|
406
|
+
prompt_action_failed: "Failed to send the action to terminal.",
|
|
407
|
+
prompt_action_invalid: "Invalid blocker action.",
|
|
408
|
+
},
|
|
409
|
+
},
|
|
410
|
+
admin: {
|
|
411
|
+
auth: {
|
|
412
|
+
prompt: "Gateway admin access is locked. Send /auth <token> to continue.",
|
|
413
|
+
help: "This gateway bot requires admin authentication first. Send /auth <token>.",
|
|
414
|
+
required_callback: "Authenticate first with /auth <token>.",
|
|
415
|
+
invalid: "Admin token is invalid.",
|
|
416
|
+
success: "Gateway admin authentication accepted. You can continue with commands and menus.",
|
|
417
|
+
disabled: "Gateway admin authentication is not enabled.",
|
|
418
|
+
},
|
|
419
|
+
buttons: {
|
|
420
|
+
clients: "Clients",
|
|
421
|
+
tools: "Tools",
|
|
422
|
+
client_env: "Client .env",
|
|
423
|
+
},
|
|
424
|
+
actions: {
|
|
425
|
+
open_clients: "Opening clients.",
|
|
426
|
+
open_client_sessions: "Opening client sessions.",
|
|
427
|
+
open_client_session: "Opening session.",
|
|
428
|
+
open_tools: "Opening tools.",
|
|
429
|
+
back_to_admin: "Back to admin.",
|
|
430
|
+
back_to_clients: "Back to clients.",
|
|
431
|
+
back_to_client_sessions: "Back to client sessions.",
|
|
432
|
+
},
|
|
433
|
+
screen: {
|
|
434
|
+
title: "🛡 Gateway Admin",
|
|
435
|
+
help: "Use the admin menu to inspect gateway clients and export a client .env.",
|
|
436
|
+
gateway_clients: "Known clients: {{count}}",
|
|
437
|
+
gateway_clients_connected: "Connected via gateway WS: {{count}}",
|
|
438
|
+
gateway_clients_registered: "Registered active sessions: {{count}}",
|
|
439
|
+
gateway_clients_unavailable: "Known clients: unavailable right now.",
|
|
440
|
+
hint: "Choose a section below.",
|
|
441
|
+
},
|
|
442
|
+
clients: {
|
|
443
|
+
title: "🖥 Gateway Clients",
|
|
444
|
+
empty: "The gateway does not know any clients yet.",
|
|
445
|
+
unavailable: "The gateway client list is unavailable right now.",
|
|
446
|
+
connected_count: "Connected via gateway WS: {{count}}",
|
|
447
|
+
registered_count: "Registered active sessions: {{count}}",
|
|
448
|
+
legend: "Legend: 🟢 connected right now, 🗂 has registered active sessions.",
|
|
449
|
+
item: "• {{label}}",
|
|
450
|
+
bot: " Bot: {{botUsername}}",
|
|
451
|
+
sessions: " Sessions: {{count}}",
|
|
452
|
+
last_seen: " Last seen: {{value}}",
|
|
453
|
+
},
|
|
454
|
+
client_sessions: {
|
|
455
|
+
buttons: {
|
|
456
|
+
collab: "👥 Collab",
|
|
457
|
+
all: "🗂 All",
|
|
458
|
+
},
|
|
459
|
+
title: "🧩 Client Sessions",
|
|
460
|
+
client: "Client: <b>{{client}}</b>",
|
|
461
|
+
total: "Sessions: {{count}}",
|
|
462
|
+
choose: "Choose a session below.",
|
|
463
|
+
choose_scope: "Choose which sessions to inspect.",
|
|
464
|
+
scope_collab: "Scope: Collab",
|
|
465
|
+
scope_all: "Scope: All known sessions",
|
|
466
|
+
empty: "This client has no active sessions.",
|
|
467
|
+
empty_all: "This client has no known sessions right now.",
|
|
468
|
+
unavailable: "The client session list is unavailable right now.",
|
|
469
|
+
updated: " Updated: {{timestamp}}",
|
|
470
|
+
project: " Project: <b>{{projectName}}</b>",
|
|
471
|
+
no_client_selected: "Choose a client first.",
|
|
472
|
+
invalid_action: "Invalid client action.",
|
|
473
|
+
not_found: "The selected client is no longer available.",
|
|
474
|
+
back_to_scope: "⬅ Back to views",
|
|
475
|
+
},
|
|
476
|
+
client_session_detail: {
|
|
477
|
+
title: "🖥 Client Session",
|
|
478
|
+
session: "Session: <b>{{sessionName}}</b>",
|
|
479
|
+
project: "Project: <b>{{projectName}}</b>",
|
|
480
|
+
bind: "🔗 Link here",
|
|
481
|
+
bound: "Session linked: {{sessionName}}",
|
|
482
|
+
back_to_sessions: "⬅ Back to sessions",
|
|
483
|
+
},
|
|
484
|
+
tools: {
|
|
485
|
+
title: "🛠 Admin Tools",
|
|
486
|
+
client_env_help: "Export a ready-to-edit .env-client built from the current gateway URLs and runtime settings.",
|
|
487
|
+
client_env_caption: "Generated .env-client from current gateway settings.",
|
|
488
|
+
client_env_sent: "Client .env sent.",
|
|
387
489
|
},
|
|
388
490
|
},
|
|
389
491
|
developer: {
|
|
390
492
|
screen: {
|
|
391
493
|
title: "🛠 Tools",
|
|
392
|
-
linked_sessions: "
|
|
393
|
-
broadcast_help: "Broadcast writes your next text message into every linked session inbox and nudges every configured
|
|
494
|
+
linked_sessions: "🗂 Visible sessions: {{count}}",
|
|
495
|
+
broadcast_help: "Broadcast writes your next text message into every linked session inbox and nudges every configured terminal target.",
|
|
394
496
|
prune_help: "Prune all clears every Redis key under this Telegram MCP namespace.",
|
|
395
497
|
},
|
|
396
498
|
},
|
|
@@ -400,30 +502,27 @@ exports.enMenu = {
|
|
|
400
502
|
label: "📌 Label: {{value}}",
|
|
401
503
|
session_id: "🆔 Session ID: {{value}}",
|
|
402
504
|
inbox_count: "📥 Inbox count: {{count}}",
|
|
403
|
-
|
|
505
|
+
route: "🔗 Telegram route: {{value}}",
|
|
404
506
|
partner: "🤝 Partner: {{value}}",
|
|
405
|
-
|
|
406
|
-
tmux_session: "📺 tmux session: {{value}}",
|
|
407
|
-
tmux_window: "🪟 tmux window: {{value}}",
|
|
408
|
-
tmux_pane: "🔹 tmux pane: {{value}}",
|
|
507
|
+
terminal_target: "🖥 terminal target: {{value}}",
|
|
409
508
|
yes: "yes",
|
|
410
509
|
no: "no",
|
|
411
510
|
not_linked: "not linked",
|
|
412
511
|
not_set: "not set",
|
|
413
512
|
},
|
|
414
513
|
unpair: {
|
|
415
|
-
title: "⚠ Confirm
|
|
514
|
+
title: "⚠ Confirm route removal",
|
|
416
515
|
active_session: "📌 Active session: {{sessionName}}",
|
|
417
|
-
body_1: "This removes the Telegram
|
|
516
|
+
body_1: "This removes the active Telegram route for the selected console.",
|
|
418
517
|
body_2: "Session metadata and inbox records remain in Redis until you delete them separately.",
|
|
419
|
-
done: "
|
|
420
|
-
shown: "
|
|
518
|
+
done: "Telegram route removed: {{sessionName}}",
|
|
519
|
+
shown: "Telegram route removed: {{sessionName}}",
|
|
421
520
|
},
|
|
422
521
|
prune: {
|
|
423
522
|
title: "⚠ Confirm prune",
|
|
424
|
-
linked_sessions: "
|
|
523
|
+
linked_sessions: "🗂 Visible sessions here: {{count}}",
|
|
425
524
|
body_1: "This clears every Redis key under the telegram-mcp namespace.",
|
|
426
|
-
body_2: "
|
|
525
|
+
body_2: "Bindings, sessions, inbox, menu payloads, and pending requests will all be deleted.",
|
|
427
526
|
done: "Prune complete. Deleted {{count}} Redis keys.",
|
|
428
527
|
},
|
|
429
528
|
history: {
|
|
@@ -436,8 +535,8 @@ exports.enMenu = {
|
|
|
436
535
|
broadcast: {
|
|
437
536
|
begin: "Broadcast to {{count}} sessions.",
|
|
438
537
|
title: "📣 Broadcast",
|
|
439
|
-
body: "Send the next text message to broadcast it to all {{count}}
|
|
440
|
-
hint: "The message will be stored in every session inbox and the service will nudge every configured
|
|
538
|
+
body: "Send the next text message to broadcast it to all {{count}} visible sessions.",
|
|
539
|
+
hint: "The message will be stored in every session inbox and the service will nudge every configured terminal target.",
|
|
441
540
|
cancel_hint: "Commands like /menu or /help cancel broadcast mode.",
|
|
442
541
|
collab_begin: "Broadcast to {{count}} collab sessions.",
|
|
443
542
|
collab_title: "📣 Collab Broadcast",
|
|
@@ -445,13 +544,13 @@ exports.enMenu = {
|
|
|
445
544
|
collab_sessions: "Unique sessions: {{count}}",
|
|
446
545
|
collab_body: "Send the next text message to broadcast it to all Collab sessions across bots without duplication.",
|
|
447
546
|
collab_hint: "Local sessions receive an inbox message, remote sessions receive a gateway delivery.",
|
|
448
|
-
no_linked_sessions: "No
|
|
547
|
+
no_linked_sessions: "No visible sessions found.",
|
|
449
548
|
no_collab_targets: "No Collab sessions are available for broadcast.",
|
|
450
549
|
no_projects_first: "Create a project or join an existing one first.",
|
|
451
550
|
mode_not_active: "Broadcast mode is not active.",
|
|
452
551
|
cancelled: "Broadcast cancelled.",
|
|
453
|
-
cancelled_no_sessions: "Broadcast was cancelled because no
|
|
454
|
-
completed_linked: "Broadcast completed for {{count}}
|
|
552
|
+
cancelled_no_sessions: "Broadcast was cancelled because no visible sessions were found.",
|
|
553
|
+
completed_linked: "Broadcast completed for {{count}} visible sessions.",
|
|
455
554
|
completed_collab: "Broadcast completed for {{count}} Collab sessions.",
|
|
456
555
|
completed_collab_local: "Local inbox: {{count}}",
|
|
457
556
|
completed_collab_remote: "Remote deliveries: {{count}}",
|
|
@@ -549,7 +648,9 @@ exports.enMenu = {
|
|
|
549
648
|
},
|
|
550
649
|
system: {
|
|
551
650
|
sessions_menu_unavailable: "Sessions menu is temporarily unavailable. Try /menu again.",
|
|
651
|
+
gateway_relay_inbox_sent: "Message routed to session {{sessionName}} through the gateway.",
|
|
652
|
+
gateway_relay_inbox_failed: "Failed to route the message to the selected gateway session.",
|
|
552
653
|
error_prefix: "Error: {{message}}",
|
|
553
|
-
|
|
654
|
+
terminal_recreated_hint: "This usually means the pane/window/session was recreated.",
|
|
554
655
|
},
|
|
555
656
|
};
|
|
@@ -46,7 +46,7 @@ exports.ruMenu = {
|
|
|
46
46
|
partner: "🤝 Напарник: <b><i>{{partnerName}}</i></b>",
|
|
47
47
|
partner_hint: "Делись с напарником деталями API, изменениями, ошибками и git-контекстом.",
|
|
48
48
|
link_hint: "🔗 Свяжи напарника, чтобы координироваться через общие заметки и файлы.",
|
|
49
|
-
|
|
49
|
+
terminal_mode_direct: "🖧 Режим терминала: direct",
|
|
50
50
|
},
|
|
51
51
|
},
|
|
52
52
|
sessions: {
|
|
@@ -55,15 +55,15 @@ exports.ruMenu = {
|
|
|
55
55
|
last_worked: "🕘 Последняя работа: <i>{{sessionName}}</i>",
|
|
56
56
|
updated: "⏱ Обновлено: <i>{{timestamp}}</i>",
|
|
57
57
|
current_active: "📌 Текущая активная: <b>{{sessionName}}</b>",
|
|
58
|
-
no_linked_sessions: "Для этой Telegram identity не найдено
|
|
58
|
+
no_linked_sessions: "Для этой Telegram identity не найдено видимых сессий.",
|
|
59
59
|
},
|
|
60
60
|
labels: {
|
|
61
|
-
no_linked_sessions: "🫥 Нет
|
|
61
|
+
no_linked_sessions: "🫥 Нет видимых сессий",
|
|
62
62
|
unavailable: "⚠ Сессии недоступны",
|
|
63
63
|
tools: "🛠 Tools",
|
|
64
64
|
},
|
|
65
65
|
actions: {
|
|
66
|
-
no_linked_sessions: "Для этой Telegram identity не найдено
|
|
66
|
+
no_linked_sessions: "Для этой Telegram identity не найдено видимых сессий.",
|
|
67
67
|
unavailable: "Меню сессий временно недоступно.",
|
|
68
68
|
refreshed: "Список сессий обновлён.",
|
|
69
69
|
open_tools: "Открываю инструменты.",
|
|
@@ -97,9 +97,9 @@ exports.ruMenu = {
|
|
|
97
97
|
screen: {
|
|
98
98
|
title: "📄 Content",
|
|
99
99
|
active_session: "📌 Активная сессия: {{sessionName}}",
|
|
100
|
-
|
|
100
|
+
terminal_target: "🖥 terminal target: {{terminalTarget}}",
|
|
101
101
|
export_hint: "Выбери, сколько истории pane экспортировать в Markdown-файл.",
|
|
102
|
-
export_modes: "Visible отдаёт текущий viewport
|
|
102
|
+
export_modes: "Visible отдаёт текущий viewport терминала. Full экспортирует всю доступную историю терминала.",
|
|
103
103
|
},
|
|
104
104
|
},
|
|
105
105
|
browser: {
|
|
@@ -163,10 +163,10 @@ exports.ruMenu = {
|
|
|
163
163
|
info: "ℹ Info",
|
|
164
164
|
rename: "✏ Rename",
|
|
165
165
|
unpair: "🗑 Unpair",
|
|
166
|
-
confirm_unpair: "⚠ Подтвердить
|
|
166
|
+
confirm_unpair: "⚠ Подтвердить удаление маршрута",
|
|
167
167
|
},
|
|
168
168
|
actions: {
|
|
169
|
-
confirm_unpair: "Подтверди
|
|
169
|
+
confirm_unpair: "Подтверди удаление маршрута.",
|
|
170
170
|
back_to_settings: "Назад к настройкам.",
|
|
171
171
|
rename_prompt: "Отправь новое название сессии.",
|
|
172
172
|
rename_body: "Отправь следующим текстовым сообщением новое название активной сессии.\nКоманды вроде /menu или /help отменят режим переименования.",
|
|
@@ -302,7 +302,7 @@ exports.ruMenu = {
|
|
|
302
302
|
how_it_works: "Как это работает:",
|
|
303
303
|
step_choose: "- выбери активную сессию",
|
|
304
304
|
step_inbox: "- обычные Telegram-сообщения попадают в inbox этой сессии",
|
|
305
|
-
step_nudge: "- если настроен
|
|
305
|
+
step_nudge: "- если настроен terminal target, сервис автоматически будит агента",
|
|
306
306
|
step_tools: "- затем агент читает batch inbox через MCP tools",
|
|
307
307
|
},
|
|
308
308
|
live: {
|
|
@@ -341,6 +341,16 @@ exports.ruMenu = {
|
|
|
341
341
|
},
|
|
342
342
|
},
|
|
343
343
|
notices: {
|
|
344
|
+
admin: {
|
|
345
|
+
gateway_client_registered_title: "🆕 Зарегистрирован новый gateway client",
|
|
346
|
+
gateway_session_registered_title: "🆕 Зарегистрирована новая gateway session",
|
|
347
|
+
gateway_client_uuid: "Client UUID: {{value}}",
|
|
348
|
+
gateway_node_id: "Node: {{value}}",
|
|
349
|
+
gateway_package_version: "Package: {{value}}",
|
|
350
|
+
gateway_session_count: "Сессий в hello: {{count}}",
|
|
351
|
+
gateway_new_sessions: "Новые сессии:",
|
|
352
|
+
gateway_session_item: "• {{label}} ({{localSessionId}})",
|
|
353
|
+
},
|
|
344
354
|
startup: {
|
|
345
355
|
title: "✅ TellyMCP запущен.",
|
|
346
356
|
version: "Версия: {{packageVersion}}",
|
|
@@ -354,6 +364,8 @@ exports.ruMenu = {
|
|
|
354
364
|
gateway: "Gateway: {{url}}",
|
|
355
365
|
gateway_ws: "Gateway WS: {{url}}",
|
|
356
366
|
browser: "Browser: {{status}}",
|
|
367
|
+
update_available: "Доступно обновление: {{currentVersion}} -> {{latestVersion}}",
|
|
368
|
+
update_command: "Команда обновления: npm install -g {{packageName}}@{{latestVersion}}",
|
|
357
369
|
hint: "Напиши /menu, чтобы открыть меню сессий.",
|
|
358
370
|
},
|
|
359
371
|
project: {
|
|
@@ -364,9 +376,9 @@ exports.ruMenu = {
|
|
|
364
376
|
member: "Участник",
|
|
365
377
|
},
|
|
366
378
|
tools: {
|
|
367
|
-
changed: "TOOLS.md обновлён на шлюзе или
|
|
379
|
+
changed: "TOOLS.md обновлён на шлюзе или хэш текущей сессии ещё неизвестен.",
|
|
368
380
|
session: "Сессия: {{sessionName}}",
|
|
369
|
-
action_required: "Действие обязательно: вызови refresh_tools_markdown
|
|
381
|
+
action_required: "Действие обязательно: вызови refresh_tools_markdown с текущим known hash. Если changed=true, прочитай и примени возвращённый content перед продолжением работы.",
|
|
370
382
|
},
|
|
371
383
|
version: {
|
|
372
384
|
reject: "Шлюз и клиент несовместимы по протоколу. Транспорт этой сессии заблокирован.",
|
|
@@ -375,22 +387,112 @@ exports.ruMenu = {
|
|
|
375
387
|
client: "Клиент: {{packageVersion}} / protocol {{protocolVersion}}",
|
|
376
388
|
gateway: "Шлюз: {{packageVersion}} / protocol {{protocolVersion}}",
|
|
377
389
|
},
|
|
378
|
-
|
|
379
|
-
target_invalid_title: "⚠ Автоматический
|
|
380
|
-
target_invalid_target: "Сохранённый
|
|
381
|
-
target_invalid_action: "Перепривяжи
|
|
382
|
-
unavailable_title: "⚠ Автоматический
|
|
383
|
-
unavailable_body: "
|
|
384
|
-
unavailable_target: "
|
|
385
|
-
unavailable_reason: "Обычно это значит, что
|
|
386
|
-
unavailable_action: "
|
|
390
|
+
terminal: {
|
|
391
|
+
target_invalid_title: "⚠ Автоматический nudge терминала для сессии {{sessionName}} не сработал.",
|
|
392
|
+
target_invalid_target: "Сохранённый terminal target больше недействителен: {{terminalTarget}}",
|
|
393
|
+
target_invalid_action: "Перепривяжи terminal target для этой сессии.",
|
|
394
|
+
unavailable_title: "⚠ Автоматический nudge терминала для сессии {{sessionName}} пропущен.",
|
|
395
|
+
unavailable_body: "Терминальный runtime сейчас недоступен на этой машине.",
|
|
396
|
+
unavailable_target: "terminal target: {{terminalTarget}}",
|
|
397
|
+
unavailable_reason: "Обычно это значит, что терминальный runtime не запущен или недоступен для текущего target.",
|
|
398
|
+
unavailable_action: "Перезапусти терминальный runtime для этой консоли или обнови/сними terminal target для этой сессии.",
|
|
399
|
+
prompt_detected_title: "🛎 Возможный блокер в {{sessionName}}",
|
|
400
|
+
prompt_detected_score: "Сила срабатывания: {{score}}",
|
|
401
|
+
prompt_detected_target: "terminal target: {{terminalTarget}}",
|
|
402
|
+
prompt_detected_hint: "Открой Live или ответь в терминале, если этот prompt действительно требует тебя.",
|
|
403
|
+
prompt_detected_excerpt: "Последние строки prompt:",
|
|
404
|
+
prompt_action_sent: "Отправил {{action}} в терминал.",
|
|
405
|
+
prompt_action_stale: "Это действие для блокера уже недоступно.",
|
|
406
|
+
prompt_action_failed: "Не удалось отправить действие в терминал.",
|
|
407
|
+
prompt_action_invalid: "Некорректное действие блокера.",
|
|
408
|
+
},
|
|
409
|
+
},
|
|
410
|
+
admin: {
|
|
411
|
+
auth: {
|
|
412
|
+
prompt: "Доступ к gateway-боту закрыт. Отправь /auth <token>, чтобы продолжить.",
|
|
413
|
+
help: "Этот gateway-бот требует предварительную admin-аутентификацию. Отправь /auth <token>.",
|
|
414
|
+
required_callback: "Сначала авторизуйся через /auth <token>.",
|
|
415
|
+
invalid: "Admin token неверный.",
|
|
416
|
+
success: "Admin-аутентификация шлюза принята. Теперь можно пользоваться командами и меню.",
|
|
417
|
+
disabled: "Admin-аутентификация шлюза не включена.",
|
|
418
|
+
},
|
|
419
|
+
buttons: {
|
|
420
|
+
clients: "Clients",
|
|
421
|
+
tools: "Tools",
|
|
422
|
+
client_env: "Client .env",
|
|
423
|
+
},
|
|
424
|
+
actions: {
|
|
425
|
+
open_clients: "Открываю список клиентов.",
|
|
426
|
+
open_client_sessions: "Открываю сессии клиента.",
|
|
427
|
+
open_client_session: "Открываю сессию.",
|
|
428
|
+
open_tools: "Открываю инструменты.",
|
|
429
|
+
back_to_admin: "Назад в admin.",
|
|
430
|
+
back_to_clients: "Назад к клиентам.",
|
|
431
|
+
back_to_client_sessions: "Назад к сессиям клиента.",
|
|
432
|
+
},
|
|
433
|
+
screen: {
|
|
434
|
+
title: "🛡 Gateway Admin",
|
|
435
|
+
help: "Используй admin-меню, чтобы смотреть клиентов шлюза и экспортировать клиентский .env.",
|
|
436
|
+
gateway_clients: "Известных клиентов: {{count}}",
|
|
437
|
+
gateway_clients_connected: "Подключены по gateway WS: {{count}}",
|
|
438
|
+
gateway_clients_registered: "Зарегистрированы active sessions: {{count}}",
|
|
439
|
+
gateway_clients_unavailable: "Список клиентов шлюза сейчас недоступен.",
|
|
440
|
+
hint: "Выбери нужный раздел ниже.",
|
|
441
|
+
},
|
|
442
|
+
clients: {
|
|
443
|
+
title: "🖥 Клиенты шлюза",
|
|
444
|
+
empty: "Шлюз пока не знает ни одного клиента.",
|
|
445
|
+
unavailable: "Список клиентов шлюза сейчас недоступен.",
|
|
446
|
+
connected_count: "Подключены по gateway WS: {{count}}",
|
|
447
|
+
registered_count: "Зарегистрированы active sessions: {{count}}",
|
|
448
|
+
legend: "Легенда: 🟢 сейчас подключён, 🗂 есть зарегистрированные active sessions.",
|
|
449
|
+
item: "• {{label}}",
|
|
450
|
+
bot: " Бот: {{botUsername}}",
|
|
451
|
+
sessions: " Сессий: {{count}}",
|
|
452
|
+
last_seen: " Последняя активность: {{value}}",
|
|
453
|
+
},
|
|
454
|
+
client_sessions: {
|
|
455
|
+
buttons: {
|
|
456
|
+
collab: "👥 Collab",
|
|
457
|
+
all: "🗂 All",
|
|
458
|
+
},
|
|
459
|
+
title: "🧩 Сессии клиента",
|
|
460
|
+
client: "Клиент: <b>{{client}}</b>",
|
|
461
|
+
total: "Сессий: {{count}}",
|
|
462
|
+
choose: "Выбери сессию ниже.",
|
|
463
|
+
choose_scope: "Выбери, какой набор сессий смотреть.",
|
|
464
|
+
scope_collab: "Срез: Collab",
|
|
465
|
+
scope_all: "Срез: все известные сессии",
|
|
466
|
+
empty: "У этого клиента нет активных сессий.",
|
|
467
|
+
empty_all: "У этого клиента сейчас нет известных сессий.",
|
|
468
|
+
unavailable: "Список сессий клиента сейчас недоступен.",
|
|
469
|
+
updated: " Обновлено: {{timestamp}}",
|
|
470
|
+
project: " Проект: <b>{{projectName}}</b>",
|
|
471
|
+
no_client_selected: "Сначала выбери клиента.",
|
|
472
|
+
invalid_action: "Некорректное действие с клиентом.",
|
|
473
|
+
not_found: "Выбранный клиент больше недоступен.",
|
|
474
|
+
back_to_scope: "⬅ Назад к видам",
|
|
475
|
+
},
|
|
476
|
+
client_session_detail: {
|
|
477
|
+
title: "🖥 Сессия клиента",
|
|
478
|
+
session: "Сессия: <b>{{sessionName}}</b>",
|
|
479
|
+
project: "Проект: <b>{{projectName}}</b>",
|
|
480
|
+
bind: "🔗 Привязать сюда",
|
|
481
|
+
bound: "Сессия привязана: {{sessionName}}",
|
|
482
|
+
back_to_sessions: "⬅ Назад к сессиям",
|
|
483
|
+
},
|
|
484
|
+
tools: {
|
|
485
|
+
title: "🛠 Admin Tools",
|
|
486
|
+
client_env_help: "Экспортирует готовый к редактированию .env-client, собранный из текущих URL и runtime-настроек шлюза.",
|
|
487
|
+
client_env_caption: "Сгенерированный .env-client из текущих настроек шлюза.",
|
|
488
|
+
client_env_sent: "Client .env отправлен.",
|
|
387
489
|
},
|
|
388
490
|
},
|
|
389
491
|
developer: {
|
|
390
492
|
screen: {
|
|
391
493
|
title: "🛠 Tools",
|
|
392
494
|
linked_sessions: "🔗 Привязанных сессий: {{count}}",
|
|
393
|
-
broadcast_help: "Broadcast записывает твоё следующее текстовое сообщение в inbox каждой привязанной сессии и будит все настроенные
|
|
495
|
+
broadcast_help: "Broadcast записывает твоё следующее текстовое сообщение в inbox каждой привязанной сессии и будит все настроенные terminal target.",
|
|
394
496
|
prune_help: "Prune all очищает каждый Redis key в этом namespace telegram-mcp.",
|
|
395
497
|
},
|
|
396
498
|
},
|
|
@@ -400,30 +502,27 @@ exports.ruMenu = {
|
|
|
400
502
|
label: "📌 Label: {{value}}",
|
|
401
503
|
session_id: "🆔 Session ID: {{value}}",
|
|
402
504
|
inbox_count: "📥 Сообщений в inbox: {{count}}",
|
|
403
|
-
|
|
505
|
+
route: "🔗 Telegram route: {{value}}",
|
|
404
506
|
partner: "🤝 Напарник: {{value}}",
|
|
405
|
-
|
|
406
|
-
tmux_session: "📺 tmux session: {{value}}",
|
|
407
|
-
tmux_window: "🪟 tmux window: {{value}}",
|
|
408
|
-
tmux_pane: "🔹 tmux pane: {{value}}",
|
|
507
|
+
terminal_target: "🖥 terminal target: {{value}}",
|
|
409
508
|
yes: "да",
|
|
410
509
|
no: "нет",
|
|
411
510
|
not_linked: "не связан",
|
|
412
511
|
not_set: "не задан",
|
|
413
512
|
},
|
|
414
513
|
unpair: {
|
|
415
|
-
title: "⚠ Подтверди
|
|
514
|
+
title: "⚠ Подтверди удаление маршрута",
|
|
416
515
|
active_session: "📌 Активная сессия: {{sessionName}}",
|
|
417
|
-
body_1: "Это удалит Telegram
|
|
516
|
+
body_1: "Это удалит активный Telegram route для выбранной консоли.",
|
|
418
517
|
body_2: "Метаданные сессии и записи inbox останутся в Redis, пока ты не удалишь их отдельно.",
|
|
419
|
-
done: "
|
|
420
|
-
shown: "
|
|
518
|
+
done: "Telegram route удалён: {{sessionName}}",
|
|
519
|
+
shown: "Telegram route удалён: {{sessionName}}",
|
|
421
520
|
},
|
|
422
521
|
prune: {
|
|
423
522
|
title: "⚠ Подтверди prune",
|
|
424
|
-
linked_sessions: "
|
|
523
|
+
linked_sessions: "🗂 Видимых здесь сессий: {{count}}",
|
|
425
524
|
body_1: "Это очистит каждый Redis key внутри namespace telegram-mcp.",
|
|
426
|
-
body_2: "Будут удалены
|
|
525
|
+
body_2: "Будут удалены bindings, sessions, inbox, menu payloads и pending requests.",
|
|
427
526
|
done: "Prune завершён. Удалено Redis keys: {{count}}.",
|
|
428
527
|
},
|
|
429
528
|
history: {
|
|
@@ -436,8 +535,8 @@ exports.ruMenu = {
|
|
|
436
535
|
broadcast: {
|
|
437
536
|
begin: "Broadcast в {{count}} сессий.",
|
|
438
537
|
title: "📣 Broadcast",
|
|
439
|
-
body: "Отправь следующее текстовое сообщение, чтобы разослать его всем {{count}}
|
|
440
|
-
hint: "Сообщение будет сохранено в inbox каждой сессии, а сервис разбудит все настроенные
|
|
538
|
+
body: "Отправь следующее текстовое сообщение, чтобы разослать его всем {{count}} видимым сессиям.",
|
|
539
|
+
hint: "Сообщение будет сохранено в inbox каждой сессии, а сервис разбудит все настроенные terminal target.",
|
|
441
540
|
cancel_hint: "Команды вроде /menu или /help отменят режим broadcast.",
|
|
442
541
|
collab_begin: "Broadcast в {{count}} Collab-сессий.",
|
|
443
542
|
collab_title: "📣 Collab Broadcast",
|
|
@@ -445,13 +544,13 @@ exports.ruMenu = {
|
|
|
445
544
|
collab_sessions: "Уникальных сессий: {{count}}",
|
|
446
545
|
collab_body: "Отправь следующее текстовое сообщение, чтобы разослать его всем Collab-сессиям на ботах без дублирования.",
|
|
447
546
|
collab_hint: "Локальные сессии получат inbox message, удалённые — gateway delivery.",
|
|
448
|
-
no_linked_sessions: "
|
|
547
|
+
no_linked_sessions: "Видимых сессий не найдено.",
|
|
449
548
|
no_collab_targets: "Нет доступных Collab-сессий для broadcast.",
|
|
450
549
|
no_projects_first: "Сначала создай проект или войди в существующий.",
|
|
451
550
|
mode_not_active: "Режим broadcast не активен.",
|
|
452
551
|
cancelled: "Broadcast отменён.",
|
|
453
|
-
cancelled_no_sessions: "Broadcast отменён, потому что
|
|
454
|
-
completed_linked: "Broadcast завершён для {{count}}
|
|
552
|
+
cancelled_no_sessions: "Broadcast отменён, потому что видимых сессий не найдено.",
|
|
553
|
+
completed_linked: "Broadcast завершён для {{count}} видимых сессий.",
|
|
455
554
|
completed_collab: "Broadcast завершён для {{count}} Collab-сессий.",
|
|
456
555
|
completed_collab_local: "Локальных inbox: {{count}}",
|
|
457
556
|
completed_collab_remote: "Удалённых deliveries: {{count}}",
|
|
@@ -549,7 +648,9 @@ exports.ruMenu = {
|
|
|
549
648
|
},
|
|
550
649
|
system: {
|
|
551
650
|
sessions_menu_unavailable: "Меню сессий временно недоступно. Попробуй /menu ещё раз.",
|
|
651
|
+
gateway_relay_inbox_sent: "Сообщение отправлено в сессию {{sessionName}} через шлюз.",
|
|
652
|
+
gateway_relay_inbox_failed: "Не удалось отправить сообщение в выбранную gateway-сессию.",
|
|
552
653
|
error_prefix: "Ошибка: {{message}}",
|
|
553
|
-
|
|
654
|
+
terminal_recreated_hint: "Обычно это значит, что pane/window/session был пересоздан.",
|
|
554
655
|
},
|
|
555
656
|
};
|