charness 0.0.0-stage → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +88 -0
- package/DEVELOPMENT.md +110 -0
- package/LICENSE +21 -0
- package/MIGRATION_1_TO_2.md +24 -0
- package/README.md +1196 -2
- package/dist/accessControl.d.ts +71 -0
- package/dist/accessControl.d.ts.map +1 -0
- package/dist/accessControl.js +108 -0
- package/dist/accessControl.js.map +1 -0
- package/dist/adapters/adapterEventRouting.d.ts +51 -0
- package/dist/adapters/adapterEventRouting.d.ts.map +1 -0
- package/dist/adapters/adapterEventRouting.js +74 -0
- package/dist/adapters/adapterEventRouting.js.map +1 -0
- package/dist/adapters/adapterNames.d.ts +19 -0
- package/dist/adapters/adapterNames.d.ts.map +1 -0
- package/dist/adapters/adapterNames.js +25 -0
- package/dist/adapters/adapterNames.js.map +1 -0
- package/dist/adapters/claudeCliAdapter.d.ts +1351 -0
- package/dist/adapters/claudeCliAdapter.d.ts.map +1 -0
- package/dist/adapters/claudeCliAdapter.js +4239 -0
- package/dist/adapters/claudeCliAdapter.js.map +1 -0
- package/dist/adapters/claudeConfigDir.d.ts +40 -0
- package/dist/adapters/claudeConfigDir.d.ts.map +1 -0
- package/dist/adapters/claudeConfigDir.js +3 -0
- package/dist/adapters/claudeConfigDir.js.map +1 -0
- package/dist/adapters/claudeJsonStreamAdapter.d.ts +580 -0
- package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -0
- package/dist/adapters/claudeJsonStreamAdapter.js +1891 -0
- package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -0
- package/dist/adapters/claudePlatformFlags.d.ts +35 -0
- package/dist/adapters/claudePlatformFlags.d.ts.map +1 -0
- package/dist/adapters/claudePlatformFlags.js +46 -0
- package/dist/adapters/claudePlatformFlags.js.map +1 -0
- package/dist/adapters/createAdapter.d.ts +260 -0
- package/dist/adapters/createAdapter.d.ts.map +1 -0
- package/dist/adapters/createAdapter.js +512 -0
- package/dist/adapters/createAdapter.js.map +1 -0
- package/dist/adapters/openCodeAdapter.d.ts +1469 -0
- package/dist/adapters/openCodeAdapter.d.ts.map +1 -0
- package/dist/adapters/openCodeAdapter.js +4623 -0
- package/dist/adapters/openCodeAdapter.js.map +1 -0
- package/dist/adapters/sessionLaunchDefaults.d.ts +28 -0
- package/dist/adapters/sessionLaunchDefaults.d.ts.map +1 -0
- package/dist/adapters/sessionLaunchDefaults.js +15 -0
- package/dist/adapters/sessionLaunchDefaults.js.map +1 -0
- package/dist/adapters/terminalAdapter.d.ts +68 -0
- package/dist/adapters/terminalAdapter.d.ts.map +1 -0
- package/dist/adapters/terminalAdapter.js +371 -0
- package/dist/adapters/terminalAdapter.js.map +1 -0
- package/dist/agentLogin/agentLogin.d.ts +44 -0
- package/dist/agentLogin/agentLogin.d.ts.map +1 -0
- package/dist/agentLogin/agentLogin.js +530 -0
- package/dist/agentLogin/agentLogin.js.map +1 -0
- package/dist/agentTrigger.d.ts +28 -0
- package/dist/agentTrigger.d.ts.map +1 -0
- package/dist/agentTrigger.js +53 -0
- package/dist/agentTrigger.js.map +1 -0
- package/dist/apiErrorRetry.d.ts +214 -0
- package/dist/apiErrorRetry.d.ts.map +1 -0
- package/dist/apiErrorRetry.js +382 -0
- package/dist/apiErrorRetry.js.map +1 -0
- package/dist/apiRetryKick.d.ts +157 -0
- package/dist/apiRetryKick.d.ts.map +1 -0
- package/dist/apiRetryKick.js +174 -0
- package/dist/apiRetryKick.js.map +1 -0
- package/dist/bootClassifier.d.ts +46 -0
- package/dist/bootClassifier.d.ts.map +1 -0
- package/dist/bootClassifier.js +43 -0
- package/dist/bootClassifier.js.map +1 -0
- package/dist/bot.d.ts +207 -0
- package/dist/bot.d.ts.map +1 -0
- package/dist/bot.js +11226 -0
- package/dist/bot.js.map +1 -0
- package/dist/botFileStorage.d.ts +60 -0
- package/dist/botFileStorage.d.ts.map +1 -0
- package/dist/botFileStorage.js +205 -0
- package/dist/botFileStorage.js.map +1 -0
- package/dist/cli/applyDnsFix.d.ts +7 -0
- package/dist/cli/applyDnsFix.d.ts.map +1 -0
- package/dist/cli/applyDnsFix.js +46 -0
- package/dist/cli/applyDnsFix.js.map +1 -0
- package/dist/cli/bot.d.ts +27 -0
- package/dist/cli/bot.d.ts.map +1 -0
- package/dist/cli/bot.js +98 -0
- package/dist/cli/bot.js.map +1 -0
- package/dist/cli/botEntry.d.ts +3 -0
- package/dist/cli/botEntry.d.ts.map +1 -0
- package/dist/cli/botEntry.js +11 -0
- package/dist/cli/botEntry.js.map +1 -0
- package/dist/cli/claudeProfiles.d.ts +42 -0
- package/dist/cli/claudeProfiles.d.ts.map +1 -0
- package/dist/cli/claudeProfiles.js +106 -0
- package/dist/cli/claudeProfiles.js.map +1 -0
- package/dist/cli/connectorGuards.d.ts +31 -0
- package/dist/cli/connectorGuards.d.ts.map +1 -0
- package/dist/cli/connectorGuards.js +159 -0
- package/dist/cli/connectorGuards.js.map +1 -0
- package/dist/cli/envLoader.d.ts +34 -0
- package/dist/cli/envLoader.d.ts.map +1 -0
- package/dist/cli/envLoader.js +132 -0
- package/dist/cli/envLoader.js.map +1 -0
- package/dist/cli/hot.d.ts +82 -0
- package/dist/cli/hot.d.ts.map +1 -0
- package/dist/cli/hot.js +323 -0
- package/dist/cli/hot.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +140 -0
- package/dist/cli.js.map +1 -0
- package/dist/connectors/jira/adf.d.ts +74 -0
- package/dist/connectors/jira/adf.d.ts.map +1 -0
- package/dist/connectors/jira/adf.js +412 -0
- package/dist/connectors/jira/adf.js.map +1 -0
- package/dist/connectors/jira/agentBinaries.d.ts +14 -0
- package/dist/connectors/jira/agentBinaries.d.ts.map +1 -0
- package/dist/connectors/jira/agentBinaries.js +75 -0
- package/dist/connectors/jira/agentBinaries.js.map +1 -0
- package/dist/connectors/jira/answerSink.d.ts +59 -0
- package/dist/connectors/jira/answerSink.d.ts.map +1 -0
- package/dist/connectors/jira/answerSink.js +234 -0
- package/dist/connectors/jira/answerSink.js.map +1 -0
- package/dist/connectors/jira/attachmentDownload.d.ts +41 -0
- package/dist/connectors/jira/attachmentDownload.d.ts.map +1 -0
- package/dist/connectors/jira/attachmentDownload.js +92 -0
- package/dist/connectors/jira/attachmentDownload.js.map +1 -0
- package/dist/connectors/jira/attachmentTool.d.ts +50 -0
- package/dist/connectors/jira/attachmentTool.d.ts.map +1 -0
- package/dist/connectors/jira/attachmentTool.js +166 -0
- package/dist/connectors/jira/attachmentTool.js.map +1 -0
- package/dist/connectors/jira/client.d.ts +522 -0
- package/dist/connectors/jira/client.d.ts.map +1 -0
- package/dist/connectors/jira/client.js +491 -0
- package/dist/connectors/jira/client.js.map +1 -0
- package/dist/connectors/jira/config.d.ts +104 -0
- package/dist/connectors/jira/config.d.ts.map +1 -0
- package/dist/connectors/jira/config.js +323 -0
- package/dist/connectors/jira/config.js.map +1 -0
- package/dist/connectors/jira/configFile.d.ts +10 -0
- package/dist/connectors/jira/configFile.d.ts.map +1 -0
- package/dist/connectors/jira/configFile.js +50 -0
- package/dist/connectors/jira/configFile.js.map +1 -0
- package/dist/connectors/jira/connector.d.ts +71 -0
- package/dist/connectors/jira/connector.d.ts.map +1 -0
- package/dist/connectors/jira/connector.js +312 -0
- package/dist/connectors/jira/connector.js.map +1 -0
- package/dist/connectors/jira/contextLedger.d.ts +60 -0
- package/dist/connectors/jira/contextLedger.d.ts.map +1 -0
- package/dist/connectors/jira/contextLedger.js +196 -0
- package/dist/connectors/jira/contextLedger.js.map +1 -0
- package/dist/connectors/jira/contextPreamble.d.ts +18 -0
- package/dist/connectors/jira/contextPreamble.d.ts.map +1 -0
- package/dist/connectors/jira/contextPreamble.js +31 -0
- package/dist/connectors/jira/contextPreamble.js.map +1 -0
- package/dist/connectors/jira/inbound.d.ts +141 -0
- package/dist/connectors/jira/inbound.d.ts.map +1 -0
- package/dist/connectors/jira/inbound.js +331 -0
- package/dist/connectors/jira/inbound.js.map +1 -0
- package/dist/connectors/jira/issueBlocks.d.ts +74 -0
- package/dist/connectors/jira/issueBlocks.d.ts.map +1 -0
- package/dist/connectors/jira/issueBlocks.js +257 -0
- package/dist/connectors/jira/issueBlocks.js.map +1 -0
- package/dist/connectors/jira/issueContext.d.ts +31 -0
- package/dist/connectors/jira/issueContext.d.ts.map +1 -0
- package/dist/connectors/jira/issueContext.js +70 -0
- package/dist/connectors/jira/issueContext.js.map +1 -0
- package/dist/connectors/jira/issueDelta.d.ts +38 -0
- package/dist/connectors/jira/issueDelta.d.ts.map +1 -0
- package/dist/connectors/jira/issueDelta.js +59 -0
- package/dist/connectors/jira/issueDelta.js.map +1 -0
- package/dist/connectors/jira/mediaPlaceholders.d.ts +22 -0
- package/dist/connectors/jira/mediaPlaceholders.d.ts.map +1 -0
- package/dist/connectors/jira/mediaPlaceholders.js +105 -0
- package/dist/connectors/jira/mediaPlaceholders.js.map +1 -0
- package/dist/connectors/jira/outbound.d.ts +6 -0
- package/dist/connectors/jira/outbound.d.ts.map +1 -0
- package/dist/connectors/jira/outbound.js +38 -0
- package/dist/connectors/jira/outbound.js.map +1 -0
- package/dist/connectors/jira/prompt.d.ts +39 -0
- package/dist/connectors/jira/prompt.d.ts.map +1 -0
- package/dist/connectors/jira/prompt.js +102 -0
- package/dist/connectors/jira/prompt.js.map +1 -0
- package/dist/connectors/jira/promptSpill.d.ts +50 -0
- package/dist/connectors/jira/promptSpill.d.ts.map +1 -0
- package/dist/connectors/jira/promptSpill.js +157 -0
- package/dist/connectors/jira/promptSpill.js.map +1 -0
- package/dist/connectors/jira/promptText.d.ts +7 -0
- package/dist/connectors/jira/promptText.d.ts.map +1 -0
- package/dist/connectors/jira/promptText.js +26 -0
- package/dist/connectors/jira/promptText.js.map +1 -0
- package/dist/connectors/jira/sessionKeyCodec.d.ts +18 -0
- package/dist/connectors/jira/sessionKeyCodec.d.ts.map +1 -0
- package/dist/connectors/jira/sessionKeyCodec.js +106 -0
- package/dist/connectors/jira/sessionKeyCodec.js.map +1 -0
- package/dist/connectors/jira/trigger.d.ts +54 -0
- package/dist/connectors/jira/trigger.d.ts.map +1 -0
- package/dist/connectors/jira/trigger.js +101 -0
- package/dist/connectors/jira/trigger.js.map +1 -0
- package/dist/connectors/jira/triggerLog.d.ts +53 -0
- package/dist/connectors/jira/triggerLog.d.ts.map +1 -0
- package/dist/connectors/jira/triggerLog.js +78 -0
- package/dist/connectors/jira/triggerLog.js.map +1 -0
- package/dist/connectors/jira/trustedGroup.d.ts +54 -0
- package/dist/connectors/jira/trustedGroup.d.ts.map +1 -0
- package/dist/connectors/jira/trustedGroup.js +98 -0
- package/dist/connectors/jira/trustedGroup.js.map +1 -0
- package/dist/connectors/jira/unconfirmedPosts.d.ts +58 -0
- package/dist/connectors/jira/unconfirmedPosts.d.ts.map +1 -0
- package/dist/connectors/jira/unconfirmedPosts.js +105 -0
- package/dist/connectors/jira/unconfirmedPosts.js.map +1 -0
- package/dist/connectors/telegram/answerSink.d.ts +46 -0
- package/dist/connectors/telegram/answerSink.d.ts.map +1 -0
- package/dist/connectors/telegram/answerSink.js +71 -0
- package/dist/connectors/telegram/answerSink.js.map +1 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.d.ts +34 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.js +112 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.js.map +1 -0
- package/dist/connectors/telegram/commands/botCore.d.ts +46 -0
- package/dist/connectors/telegram/commands/botCore.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/botCore.js +3 -0
- package/dist/connectors/telegram/commands/botCore.js.map +1 -0
- package/dist/connectors/telegram/commands/callbackMessage.d.ts +12 -0
- package/dist/connectors/telegram/commands/callbackMessage.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/callbackMessage.js +13 -0
- package/dist/connectors/telegram/commands/callbackMessage.js.map +1 -0
- package/dist/connectors/telegram/commands/claudeAccounts.d.ts +58 -0
- package/dist/connectors/telegram/commands/claudeAccounts.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/claudeAccounts.js +591 -0
- package/dist/connectors/telegram/commands/claudeAccounts.js.map +1 -0
- package/dist/connectors/telegram/commands/compaction.d.ts +47 -0
- package/dist/connectors/telegram/commands/compaction.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/compaction.js +868 -0
- package/dist/connectors/telegram/commands/compaction.js.map +1 -0
- package/dist/connectors/telegram/commands/displayModes.d.ts +13 -0
- package/dist/connectors/telegram/commands/displayModes.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/displayModes.js +335 -0
- package/dist/connectors/telegram/commands/displayModes.js.map +1 -0
- package/dist/connectors/telegram/commands/fallbackChain.d.ts +49 -0
- package/dist/connectors/telegram/commands/fallbackChain.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/fallbackChain.js +624 -0
- package/dist/connectors/telegram/commands/fallbackChain.js.map +1 -0
- package/dist/connectors/telegram/commands/modelProviders.d.ts +117 -0
- package/dist/connectors/telegram/commands/modelProviders.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/modelProviders.js +966 -0
- package/dist/connectors/telegram/commands/modelProviders.js.map +1 -0
- package/dist/connectors/telegram/commands/reminders.d.ts +54 -0
- package/dist/connectors/telegram/commands/reminders.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/reminders.js +624 -0
- package/dist/connectors/telegram/commands/reminders.js.map +1 -0
- package/dist/connectors/telegram/fileIntake.d.ts +166 -0
- package/dist/connectors/telegram/fileIntake.d.ts.map +1 -0
- package/dist/connectors/telegram/fileIntake.js +304 -0
- package/dist/connectors/telegram/fileIntake.js.map +1 -0
- package/dist/connectors/telegram/fileSendGateway.d.ts +57 -0
- package/dist/connectors/telegram/fileSendGateway.d.ts.map +1 -0
- package/dist/connectors/telegram/fileSendGateway.js +221 -0
- package/dist/connectors/telegram/fileSendGateway.js.map +1 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.d.ts +52 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.d.ts.map +1 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.js +71 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.js.map +1 -0
- package/dist/connectors/telegram/inbound.d.ts +131 -0
- package/dist/connectors/telegram/inbound.d.ts.map +1 -0
- package/dist/connectors/telegram/inbound.js +278 -0
- package/dist/connectors/telegram/inbound.js.map +1 -0
- package/dist/connectors/telegram/languagePicker.d.ts +32 -0
- package/dist/connectors/telegram/languagePicker.d.ts.map +1 -0
- package/dist/connectors/telegram/languagePicker.js +55 -0
- package/dist/connectors/telegram/languagePicker.js.map +1 -0
- package/dist/connectors/telegram/messageSplit.d.ts +62 -0
- package/dist/connectors/telegram/messageSplit.d.ts.map +1 -0
- package/dist/connectors/telegram/messageSplit.js +119 -0
- package/dist/connectors/telegram/messageSplit.js.map +1 -0
- package/dist/connectors/telegram/outbound.d.ts +62 -0
- package/dist/connectors/telegram/outbound.d.ts.map +1 -0
- package/dist/connectors/telegram/outbound.js +116 -0
- package/dist/connectors/telegram/outbound.js.map +1 -0
- package/dist/connectors/telegram/output/createOutputTransport.d.ts +34 -0
- package/dist/connectors/telegram/output/createOutputTransport.d.ts.map +1 -0
- package/dist/connectors/telegram/output/createOutputTransport.js +77 -0
- package/dist/connectors/telegram/output/createOutputTransport.js.map +1 -0
- package/dist/connectors/telegram/output/dmOutputTransport.d.ts +47 -0
- package/dist/connectors/telegram/output/dmOutputTransport.d.ts.map +1 -0
- package/dist/connectors/telegram/output/dmOutputTransport.js +412 -0
- package/dist/connectors/telegram/output/dmOutputTransport.js.map +1 -0
- package/dist/connectors/telegram/outputBacklogGlue.d.ts +38 -0
- package/dist/connectors/telegram/outputBacklogGlue.d.ts.map +1 -0
- package/dist/connectors/telegram/outputBacklogGlue.js +49 -0
- package/dist/connectors/telegram/outputBacklogGlue.js.map +1 -0
- package/dist/connectors/telegram/outputFlushPlan.d.ts +93 -0
- package/dist/connectors/telegram/outputFlushPlan.d.ts.map +1 -0
- package/dist/connectors/telegram/outputFlushPlan.js +120 -0
- package/dist/connectors/telegram/outputFlushPlan.js.map +1 -0
- package/dist/connectors/telegram/questionKeyboards.d.ts +30 -0
- package/dist/connectors/telegram/questionKeyboards.d.ts.map +1 -0
- package/dist/connectors/telegram/questionKeyboards.js +37 -0
- package/dist/connectors/telegram/questionKeyboards.js.map +1 -0
- package/dist/connectors/telegram/renderAgentHtml.d.ts +27 -0
- package/dist/connectors/telegram/renderAgentHtml.d.ts.map +1 -0
- package/dist/connectors/telegram/renderAgentHtml.js +97 -0
- package/dist/connectors/telegram/renderAgentHtml.js.map +1 -0
- package/dist/connectors/telegram/sessionKeyCodec.d.ts +28 -0
- package/dist/connectors/telegram/sessionKeyCodec.d.ts.map +1 -0
- package/dist/connectors/telegram/sessionKeyCodec.js +107 -0
- package/dist/connectors/telegram/sessionKeyCodec.js.map +1 -0
- package/dist/connectors/telegram/telegramCallGuard.d.ts +19 -0
- package/dist/connectors/telegram/telegramCallGuard.d.ts.map +1 -0
- package/dist/connectors/telegram/telegramCallGuard.js +35 -0
- package/dist/connectors/telegram/telegramCallGuard.js.map +1 -0
- package/dist/connectors/telegram/timezonePicker.d.ts +85 -0
- package/dist/connectors/telegram/timezonePicker.d.ts.map +1 -0
- package/dist/connectors/telegram/timezonePicker.js +142 -0
- package/dist/connectors/telegram/timezonePicker.js.map +1 -0
- package/dist/connectors/telegram/updateDispatcher.d.ts +85 -0
- package/dist/connectors/telegram/updateDispatcher.d.ts.map +1 -0
- package/dist/connectors/telegram/updateDispatcher.js +159 -0
- package/dist/connectors/telegram/updateDispatcher.js.map +1 -0
- package/dist/connectors/test/connector.d.ts +52 -0
- package/dist/connectors/test/connector.d.ts.map +1 -0
- package/dist/connectors/test/connector.js +143 -0
- package/dist/connectors/test/connector.js.map +1 -0
- package/dist/connectors/test/sessionKeyCodec.d.ts +25 -0
- package/dist/connectors/test/sessionKeyCodec.d.ts.map +1 -0
- package/dist/connectors/test/sessionKeyCodec.js +50 -0
- package/dist/connectors/test/sessionKeyCodec.js.map +1 -0
- package/dist/diagLog.d.ts +6 -0
- package/dist/diagLog.d.ts.map +1 -0
- package/dist/diagLog.js +58 -0
- package/dist/diagLog.js.map +1 -0
- package/dist/effortLevels.d.ts +68 -0
- package/dist/effortLevels.d.ts.map +1 -0
- package/dist/effortLevels.js +114 -0
- package/dist/effortLevels.js.map +1 -0
- package/dist/folderName.d.ts +42 -0
- package/dist/folderName.d.ts.map +1 -0
- package/dist/folderName.js +51 -0
- package/dist/folderName.js.map +1 -0
- package/dist/i18n/de.d.ts +2 -0
- package/dist/i18n/de.d.ts.map +1 -0
- package/dist/i18n/de.js +665 -0
- package/dist/i18n/de.js.map +1 -0
- package/dist/i18n/en.d.ts +7 -0
- package/dist/i18n/en.d.ts.map +1 -0
- package/dist/i18n/en.js +694 -0
- package/dist/i18n/en.js.map +1 -0
- package/dist/i18n/es.d.ts +2 -0
- package/dist/i18n/es.d.ts.map +1 -0
- package/dist/i18n/es.js +665 -0
- package/dist/i18n/es.js.map +1 -0
- package/dist/i18n/fr.d.ts +2 -0
- package/dist/i18n/fr.d.ts.map +1 -0
- package/dist/i18n/fr.js +665 -0
- package/dist/i18n/fr.js.map +1 -0
- package/dist/i18n/hi.d.ts +2 -0
- package/dist/i18n/hi.d.ts.map +1 -0
- package/dist/i18n/hi.js +665 -0
- package/dist/i18n/hi.js.map +1 -0
- package/dist/i18n/ja.d.ts +2 -0
- package/dist/i18n/ja.d.ts.map +1 -0
- package/dist/i18n/ja.js +665 -0
- package/dist/i18n/ja.js.map +1 -0
- package/dist/i18n/ka.d.ts +2 -0
- package/dist/i18n/ka.d.ts.map +1 -0
- package/dist/i18n/ka.js +665 -0
- package/dist/i18n/ka.js.map +1 -0
- package/dist/i18n/pt.d.ts +2 -0
- package/dist/i18n/pt.d.ts.map +1 -0
- package/dist/i18n/pt.js +665 -0
- package/dist/i18n/pt.js.map +1 -0
- package/dist/i18n/ru.d.ts +6 -0
- package/dist/i18n/ru.d.ts.map +1 -0
- package/dist/i18n/ru.js +668 -0
- package/dist/i18n/ru.js.map +1 -0
- package/dist/i18n/uk.d.ts +8 -0
- package/dist/i18n/uk.d.ts.map +1 -0
- package/dist/i18n/uk.js +670 -0
- package/dist/i18n/uk.js.map +1 -0
- package/dist/i18n/uz.d.ts +2 -0
- package/dist/i18n/uz.d.ts.map +1 -0
- package/dist/i18n/uz.js +665 -0
- package/dist/i18n/uz.js.map +1 -0
- package/dist/i18n/zh.d.ts +2 -0
- package/dist/i18n/zh.d.ts.map +1 -0
- package/dist/i18n/zh.js +665 -0
- package/dist/i18n/zh.js.map +1 -0
- package/dist/i18n.d.ts +115 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +233 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/installManager.d.ts +99 -0
- package/dist/installManager.d.ts.map +1 -0
- package/dist/installManager.js +943 -0
- package/dist/installManager.js.map +1 -0
- package/dist/instanceLock.d.ts +161 -0
- package/dist/instanceLock.d.ts.map +1 -0
- package/dist/instanceLock.js +388 -0
- package/dist/instanceLock.js.map +1 -0
- package/dist/mcpConfig.d.ts +76 -0
- package/dist/mcpConfig.d.ts.map +1 -0
- package/dist/mcpConfig.js +270 -0
- package/dist/mcpConfig.js.map +1 -0
- package/dist/openCodeOpenQuestion.d.ts +44 -0
- package/dist/openCodeOpenQuestion.d.ts.map +1 -0
- package/dist/openCodeOpenQuestion.js +64 -0
- package/dist/openCodeOpenQuestion.js.map +1 -0
- package/dist/openCodeQuestionFlow.d.ts +105 -0
- package/dist/openCodeQuestionFlow.d.ts.map +1 -0
- package/dist/openCodeQuestionFlow.js +143 -0
- package/dist/openCodeQuestionFlow.js.map +1 -0
- package/dist/openCodeSessionRouting.d.ts +133 -0
- package/dist/openCodeSessionRouting.d.ts.map +1 -0
- package/dist/openCodeSessionRouting.js +253 -0
- package/dist/openCodeSessionRouting.js.map +1 -0
- package/dist/openCodeSessionTitle.d.ts +50 -0
- package/dist/openCodeSessionTitle.d.ts.map +1 -0
- package/dist/openCodeSessionTitle.js +84 -0
- package/dist/openCodeSessionTitle.js.map +1 -0
- package/dist/outputTrace.d.ts +108 -0
- package/dist/outputTrace.d.ts.map +1 -0
- package/dist/outputTrace.js +430 -0
- package/dist/outputTrace.js.map +1 -0
- package/dist/pendingQuestionRepost.d.ts +47 -0
- package/dist/pendingQuestionRepost.d.ts.map +1 -0
- package/dist/pendingQuestionRepost.js +29 -0
- package/dist/pendingQuestionRepost.js.map +1 -0
- package/dist/pinnedStatus.d.ts +52 -0
- package/dist/pinnedStatus.d.ts.map +1 -0
- package/dist/pinnedStatus.js +36 -0
- package/dist/pinnedStatus.js.map +1 -0
- package/dist/platform/answerSink.d.ts +93 -0
- package/dist/platform/answerSink.d.ts.map +1 -0
- package/dist/platform/answerSink.js +31 -0
- package/dist/platform/answerSink.js.map +1 -0
- package/dist/platform/capabilityFallback.d.ts +39 -0
- package/dist/platform/capabilityFallback.d.ts.map +1 -0
- package/dist/platform/capabilityFallback.js +55 -0
- package/dist/platform/capabilityFallback.js.map +1 -0
- package/dist/platform/commandRouter.d.ts +51 -0
- package/dist/platform/commandRouter.d.ts.map +1 -0
- package/dist/platform/commandRouter.js +53 -0
- package/dist/platform/commandRouter.js.map +1 -0
- package/dist/platform/connectorSet.d.ts +39 -0
- package/dist/platform/connectorSet.d.ts.map +1 -0
- package/dist/platform/connectorSet.js +55 -0
- package/dist/platform/connectorSet.js.map +1 -0
- package/dist/platform/inbound.d.ts +147 -0
- package/dist/platform/inbound.d.ts.map +1 -0
- package/dist/platform/inbound.js +18 -0
- package/dist/platform/inbound.js.map +1 -0
- package/dist/platform/outbound.d.ts +225 -0
- package/dist/platform/outbound.d.ts.map +1 -0
- package/dist/platform/outbound.js +30 -0
- package/dist/platform/outbound.js.map +1 -0
- package/dist/platform/unservedStateGuard.d.ts +27 -0
- package/dist/platform/unservedStateGuard.d.ts.map +1 -0
- package/dist/platform/unservedStateGuard.js +42 -0
- package/dist/platform/unservedStateGuard.js.map +1 -0
- package/dist/postToSession.d.ts +94 -0
- package/dist/postToSession.d.ts.map +1 -0
- package/dist/postToSession.js +56 -0
- package/dist/postToSession.js.map +1 -0
- package/dist/progressLine.d.ts +180 -0
- package/dist/progressLine.d.ts.map +1 -0
- package/dist/progressLine.js +293 -0
- package/dist/progressLine.js.map +1 -0
- package/dist/rateLimiter.d.ts +246 -0
- package/dist/rateLimiter.d.ts.map +1 -0
- package/dist/rateLimiter.js +555 -0
- package/dist/rateLimiter.js.map +1 -0
- package/dist/requests/answerRequest.d.ts +57 -0
- package/dist/requests/answerRequest.d.ts.map +1 -0
- package/dist/requests/answerRequest.js +96 -0
- package/dist/requests/answerRequest.js.map +1 -0
- package/dist/requests/answerTail.d.ts +83 -0
- package/dist/requests/answerTail.d.ts.map +1 -0
- package/dist/requests/answerTail.js +102 -0
- package/dist/requests/answerTail.js.map +1 -0
- package/dist/requests/limitWaitAnswer.d.ts +87 -0
- package/dist/requests/limitWaitAnswer.d.ts.map +1 -0
- package/dist/requests/limitWaitAnswer.js +83 -0
- package/dist/requests/limitWaitAnswer.js.map +1 -0
- package/dist/requests/requestGroup.d.ts +44 -0
- package/dist/requests/requestGroup.d.ts.map +1 -0
- package/dist/requests/requestGroup.js +63 -0
- package/dist/requests/requestGroup.js.map +1 -0
- package/dist/requests/requestHeader.d.ts +70 -0
- package/dist/requests/requestHeader.d.ts.map +1 -0
- package/dist/requests/requestHeader.js +83 -0
- package/dist/requests/requestHeader.js.map +1 -0
- package/dist/requests/requestLedger.d.ts +217 -0
- package/dist/requests/requestLedger.d.ts.map +1 -0
- package/dist/requests/requestLedger.js +468 -0
- package/dist/requests/requestLedger.js.map +1 -0
- package/dist/requests/sessionTurnProbe.d.ts +52 -0
- package/dist/requests/sessionTurnProbe.d.ts.map +1 -0
- package/dist/requests/sessionTurnProbe.js +29 -0
- package/dist/requests/sessionTurnProbe.js.map +1 -0
- package/dist/requests/types.d.ts +181 -0
- package/dist/requests/types.d.ts.map +1 -0
- package/dist/requests/types.js +9 -0
- package/dist/requests/types.js.map +1 -0
- package/dist/requests/wakeUpEngine.d.ts +160 -0
- package/dist/requests/wakeUpEngine.d.ts.map +1 -0
- package/dist/requests/wakeUpEngine.js +399 -0
- package/dist/requests/wakeUpEngine.js.map +1 -0
- package/dist/requests/wakeUpRules.d.ts +151 -0
- package/dist/requests/wakeUpRules.d.ts.map +1 -0
- package/dist/requests/wakeUpRules.js +167 -0
- package/dist/requests/wakeUpRules.js.map +1 -0
- package/dist/resumeContext.d.ts +87 -0
- package/dist/resumeContext.d.ts.map +1 -0
- package/dist/resumeContext.js +114 -0
- package/dist/resumeContext.js.map +1 -0
- package/dist/scheduler/checkRun.d.ts +95 -0
- package/dist/scheduler/checkRun.d.ts.map +1 -0
- package/dist/scheduler/checkRun.js +172 -0
- package/dist/scheduler/checkRun.js.map +1 -0
- package/dist/scheduler/delivery.d.ts +99 -0
- package/dist/scheduler/delivery.d.ts.map +1 -0
- package/dist/scheduler/delivery.js +212 -0
- package/dist/scheduler/delivery.js.map +1 -0
- package/dist/scheduler/deliveryKind.d.ts +29 -0
- package/dist/scheduler/deliveryKind.d.ts.map +1 -0
- package/dist/scheduler/deliveryKind.js +39 -0
- package/dist/scheduler/deliveryKind.js.map +1 -0
- package/dist/scheduler/directoryThreads.d.ts +19 -0
- package/dist/scheduler/directoryThreads.d.ts.map +1 -0
- package/dist/scheduler/directoryThreads.js +28 -0
- package/dist/scheduler/directoryThreads.js.map +1 -0
- package/dist/scheduler/engine.d.ts +77 -0
- package/dist/scheduler/engine.d.ts.map +1 -0
- package/dist/scheduler/engine.js +337 -0
- package/dist/scheduler/engine.js.map +1 -0
- package/dist/scheduler/injection.d.ts +102 -0
- package/dist/scheduler/injection.d.ts.map +1 -0
- package/dist/scheduler/injection.js +122 -0
- package/dist/scheduler/injection.js.map +1 -0
- package/dist/scheduler/mcpBoot.d.ts +65 -0
- package/dist/scheduler/mcpBoot.d.ts.map +1 -0
- package/dist/scheduler/mcpBoot.js +60 -0
- package/dist/scheduler/mcpBoot.js.map +1 -0
- package/dist/scheduler/mcpSurface.d.ts +363 -0
- package/dist/scheduler/mcpSurface.d.ts.map +1 -0
- package/dist/scheduler/mcpSurface.js +1297 -0
- package/dist/scheduler/mcpSurface.js.map +1 -0
- package/dist/scheduler/rebindResume.d.ts +27 -0
- package/dist/scheduler/rebindResume.d.ts.map +1 -0
- package/dist/scheduler/rebindResume.js +17 -0
- package/dist/scheduler/rebindResume.js.map +1 -0
- package/dist/scheduler/recurrence.d.ts +58 -0
- package/dist/scheduler/recurrence.d.ts.map +1 -0
- package/dist/scheduler/recurrence.js +210 -0
- package/dist/scheduler/recurrence.js.map +1 -0
- package/dist/scheduler/runLedger.d.ts +59 -0
- package/dist/scheduler/runLedger.d.ts.map +1 -0
- package/dist/scheduler/runLedger.js +54 -0
- package/dist/scheduler/runLedger.js.map +1 -0
- package/dist/scheduler/store.d.ts +97 -0
- package/dist/scheduler/store.d.ts.map +1 -0
- package/dist/scheduler/store.js +124 -0
- package/dist/scheduler/store.js.map +1 -0
- package/dist/scheduler/timezoneRecompute.d.ts +61 -0
- package/dist/scheduler/timezoneRecompute.d.ts.map +1 -0
- package/dist/scheduler/timezoneRecompute.js +46 -0
- package/dist/scheduler/timezoneRecompute.js.map +1 -0
- package/dist/scheduler/types.d.ts +139 -0
- package/dist/scheduler/types.d.ts.map +1 -0
- package/dist/scheduler/types.js +8 -0
- package/dist/scheduler/types.js.map +1 -0
- package/dist/sendErrorClassifier.d.ts +45 -0
- package/dist/sendErrorClassifier.d.ts.map +1 -0
- package/dist/sendErrorClassifier.js +65 -0
- package/dist/sendErrorClassifier.js.map +1 -0
- package/dist/sessionKey.d.ts +136 -0
- package/dist/sessionKey.d.ts.map +1 -0
- package/dist/sessionKey.js +153 -0
- package/dist/sessionKey.js.map +1 -0
- package/dist/sessionPick.d.ts +42 -0
- package/dist/sessionPick.d.ts.map +1 -0
- package/dist/sessionPick.js +39 -0
- package/dist/sessionPick.js.map +1 -0
- package/dist/shutdown.d.ts +126 -0
- package/dist/shutdown.d.ts.map +1 -0
- package/dist/shutdown.js +164 -0
- package/dist/shutdown.js.map +1 -0
- package/dist/startupPromptBuffer.d.ts +85 -0
- package/dist/startupPromptBuffer.d.ts.map +1 -0
- package/dist/startupPromptBuffer.js +123 -0
- package/dist/startupPromptBuffer.js.map +1 -0
- package/dist/state.d.ts +1416 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +2128 -0
- package/dist/state.js.map +1 -0
- package/dist/threadContextPreamble.d.ts +89 -0
- package/dist/threadContextPreamble.d.ts.map +1 -0
- package/dist/threadContextPreamble.js +102 -0
- package/dist/threadContextPreamble.js.map +1 -0
- package/dist/threadRouting.d.ts +164 -0
- package/dist/threadRouting.d.ts.map +1 -0
- package/dist/threadRouting.js +182 -0
- package/dist/threadRouting.js.map +1 -0
- package/dist/types.d.ts +1022 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/abortableFifo.d.ts +10 -0
- package/dist/utils/abortableFifo.d.ts.map +1 -0
- package/dist/utils/abortableFifo.js +55 -0
- package/dist/utils/abortableFifo.js.map +1 -0
- package/dist/utils/adoptedToolList.d.ts +27 -0
- package/dist/utils/adoptedToolList.d.ts.map +1 -0
- package/dist/utils/adoptedToolList.js +22 -0
- package/dist/utils/adoptedToolList.js.map +1 -0
- package/dist/utils/agentEnvironment.d.ts +42 -0
- package/dist/utils/agentEnvironment.d.ts.map +1 -0
- package/dist/utils/agentEnvironment.js +122 -0
- package/dist/utils/agentEnvironment.js.map +1 -0
- package/dist/utils/ansiClean.d.ts +11 -0
- package/dist/utils/ansiClean.d.ts.map +1 -0
- package/dist/utils/ansiClean.js +139 -0
- package/dist/utils/ansiClean.js.map +1 -0
- package/dist/utils/autoContinueOnLimit.d.ts +56 -0
- package/dist/utils/autoContinueOnLimit.d.ts.map +1 -0
- package/dist/utils/autoContinueOnLimit.js +79 -0
- package/dist/utils/autoContinueOnLimit.js.map +1 -0
- package/dist/utils/canonicalPathContainment.d.ts +7 -0
- package/dist/utils/canonicalPathContainment.d.ts.map +1 -0
- package/dist/utils/canonicalPathContainment.js +48 -0
- package/dist/utils/canonicalPathContainment.js.map +1 -0
- package/dist/utils/claudeAccountPickerPlan.d.ts +85 -0
- package/dist/utils/claudeAccountPickerPlan.d.ts.map +1 -0
- package/dist/utils/claudeAccountPickerPlan.js +123 -0
- package/dist/utils/claudeAccountPickerPlan.js.map +1 -0
- package/dist/utils/claudeAuthLogin.d.ts +71 -0
- package/dist/utils/claudeAuthLogin.d.ts.map +1 -0
- package/dist/utils/claudeAuthLogin.js +93 -0
- package/dist/utils/claudeAuthLogin.js.map +1 -0
- package/dist/utils/claudeChunkClassifier.d.ts +97 -0
- package/dist/utils/claudeChunkClassifier.d.ts.map +1 -0
- package/dist/utils/claudeChunkClassifier.js +254 -0
- package/dist/utils/claudeChunkClassifier.js.map +1 -0
- package/dist/utils/claudeCodeVersion.d.ts +31 -0
- package/dist/utils/claudeCodeVersion.d.ts.map +1 -0
- package/dist/utils/claudeCodeVersion.js +62 -0
- package/dist/utils/claudeCodeVersion.js.map +1 -0
- package/dist/utils/claudeCompactHook.d.ts +64 -0
- package/dist/utils/claudeCompactHook.d.ts.map +1 -0
- package/dist/utils/claudeCompactHook.js +98 -0
- package/dist/utils/claudeCompactHook.js.map +1 -0
- package/dist/utils/claudeLimitSwitch.d.ts +40 -0
- package/dist/utils/claudeLimitSwitch.d.ts.map +1 -0
- package/dist/utils/claudeLimitSwitch.js +54 -0
- package/dist/utils/claudeLimitSwitch.js.map +1 -0
- package/dist/utils/claudeLivenessAction.d.ts +208 -0
- package/dist/utils/claudeLivenessAction.d.ts.map +1 -0
- package/dist/utils/claudeLivenessAction.js +135 -0
- package/dist/utils/claudeLivenessAction.js.map +1 -0
- package/dist/utils/claudeMcpHeal.d.ts +92 -0
- package/dist/utils/claudeMcpHeal.d.ts.map +1 -0
- package/dist/utils/claudeMcpHeal.js +91 -0
- package/dist/utils/claudeMcpHeal.js.map +1 -0
- package/dist/utils/claudeProfileUsageLines.d.ts +15 -0
- package/dist/utils/claudeProfileUsageLines.d.ts.map +1 -0
- package/dist/utils/claudeProfileUsageLines.js +42 -0
- package/dist/utils/claudeProfileUsageLines.js.map +1 -0
- package/dist/utils/claudeProfiles.d.ts +117 -0
- package/dist/utils/claudeProfiles.d.ts.map +1 -0
- package/dist/utils/claudeProfiles.js +285 -0
- package/dist/utils/claudeProfiles.js.map +1 -0
- package/dist/utils/claudeRelayRouting.d.ts +86 -0
- package/dist/utils/claudeRelayRouting.d.ts.map +1 -0
- package/dist/utils/claudeRelayRouting.js +159 -0
- package/dist/utils/claudeRelayRouting.js.map +1 -0
- package/dist/utils/claudeRuntimeInfo.d.ts +26 -0
- package/dist/utils/claudeRuntimeInfo.d.ts.map +1 -0
- package/dist/utils/claudeRuntimeInfo.js +151 -0
- package/dist/utils/claudeRuntimeInfo.js.map +1 -0
- package/dist/utils/claudeScrapeShapes.d.ts +256 -0
- package/dist/utils/claudeScrapeShapes.d.ts.map +1 -0
- package/dist/utils/claudeScrapeShapes.js +290 -0
- package/dist/utils/claudeScrapeShapes.js.map +1 -0
- package/dist/utils/claudeSessionTitle.d.ts +27 -0
- package/dist/utils/claudeSessionTitle.d.ts.map +1 -0
- package/dist/utils/claudeSessionTitle.js +90 -0
- package/dist/utils/claudeSessionTitle.js.map +1 -0
- package/dist/utils/claudeStreamJson.d.ts +214 -0
- package/dist/utils/claudeStreamJson.d.ts.map +1 -0
- package/dist/utils/claudeStreamJson.js +364 -0
- package/dist/utils/claudeStreamJson.js.map +1 -0
- package/dist/utils/claudeSubagentTail.d.ts +93 -0
- package/dist/utils/claudeSubagentTail.d.ts.map +1 -0
- package/dist/utils/claudeSubagentTail.js +136 -0
- package/dist/utils/claudeSubagentTail.js.map +1 -0
- package/dist/utils/claudeUsage.d.ts +209 -0
- package/dist/utils/claudeUsage.d.ts.map +1 -0
- package/dist/utils/claudeUsage.js +413 -0
- package/dist/utils/claudeUsage.js.map +1 -0
- package/dist/utils/claudeUsageRefresher.d.ts +44 -0
- package/dist/utils/claudeUsageRefresher.d.ts.map +1 -0
- package/dist/utils/claudeUsageRefresher.js +95 -0
- package/dist/utils/claudeUsageRefresher.js.map +1 -0
- package/dist/utils/clearThreadOutputQueues.d.ts +43 -0
- package/dist/utils/clearThreadOutputQueues.d.ts.map +1 -0
- package/dist/utils/clearThreadOutputQueues.js +39 -0
- package/dist/utils/clearThreadOutputQueues.js.map +1 -0
- package/dist/utils/compactCommandRoute.d.ts +45 -0
- package/dist/utils/compactCommandRoute.d.ts.map +1 -0
- package/dist/utils/compactCommandRoute.js +36 -0
- package/dist/utils/compactCommandRoute.js.map +1 -0
- package/dist/utils/compactOnIdle.d.ts +329 -0
- package/dist/utils/compactOnIdle.d.ts.map +1 -0
- package/dist/utils/compactOnIdle.js +379 -0
- package/dist/utils/compactOnIdle.js.map +1 -0
- package/dist/utils/consoleFileTap.d.ts +51 -0
- package/dist/utils/consoleFileTap.d.ts.map +1 -0
- package/dist/utils/consoleFileTap.js +86 -0
- package/dist/utils/consoleFileTap.js.map +1 -0
- package/dist/utils/displayVerbosity.d.ts +44 -0
- package/dist/utils/displayVerbosity.d.ts.map +1 -0
- package/dist/utils/displayVerbosity.js +75 -0
- package/dist/utils/displayVerbosity.js.map +1 -0
- package/dist/utils/download.d.ts +72 -0
- package/dist/utils/download.d.ts.map +1 -0
- package/dist/utils/download.js +216 -0
- package/dist/utils/download.js.map +1 -0
- package/dist/utils/draftFinalize.d.ts +110 -0
- package/dist/utils/draftFinalize.d.ts.map +1 -0
- package/dist/utils/draftFinalize.js +100 -0
- package/dist/utils/draftFinalize.js.map +1 -0
- package/dist/utils/draftId.d.ts +36 -0
- package/dist/utils/draftId.d.ts.map +1 -0
- package/dist/utils/draftId.js +46 -0
- package/dist/utils/draftId.js.map +1 -0
- package/dist/utils/draftPacer.d.ts +72 -0
- package/dist/utils/draftPacer.d.ts.map +1 -0
- package/dist/utils/draftPacer.js +53 -0
- package/dist/utils/draftPacer.js.map +1 -0
- package/dist/utils/effortStartupKeystroke.d.ts +20 -0
- package/dist/utils/effortStartupKeystroke.d.ts.map +1 -0
- package/dist/utils/effortStartupKeystroke.js +28 -0
- package/dist/utils/effortStartupKeystroke.js.map +1 -0
- package/dist/utils/ensureSessionPlan.d.ts +70 -0
- package/dist/utils/ensureSessionPlan.d.ts.map +1 -0
- package/dist/utils/ensureSessionPlan.js +54 -0
- package/dist/utils/ensureSessionPlan.js.map +1 -0
- package/dist/utils/fallbackBridge.d.ts +32 -0
- package/dist/utils/fallbackBridge.d.ts.map +1 -0
- package/dist/utils/fallbackBridge.js +62 -0
- package/dist/utils/fallbackBridge.js.map +1 -0
- package/dist/utils/fallbackChain.d.ts +299 -0
- package/dist/utils/fallbackChain.d.ts.map +1 -0
- package/dist/utils/fallbackChain.js +542 -0
- package/dist/utils/fallbackChain.js.map +1 -0
- package/dist/utils/fileSendPlan.d.ts +217 -0
- package/dist/utils/fileSendPlan.d.ts.map +1 -0
- package/dist/utils/fileSendPlan.js +291 -0
- package/dist/utils/fileSendPlan.js.map +1 -0
- package/dist/utils/fileSendService.d.ts +94 -0
- package/dist/utils/fileSendService.d.ts.map +1 -0
- package/dist/utils/fileSendService.js +387 -0
- package/dist/utils/fileSendService.js.map +1 -0
- package/dist/utils/groupFinalizePlan.d.ts +38 -0
- package/dist/utils/groupFinalizePlan.d.ts.map +1 -0
- package/dist/utils/groupFinalizePlan.js +35 -0
- package/dist/utils/groupFinalizePlan.js.map +1 -0
- package/dist/utils/identicalOutputGuard.d.ts +83 -0
- package/dist/utils/identicalOutputGuard.d.ts.map +1 -0
- package/dist/utils/identicalOutputGuard.js +99 -0
- package/dist/utils/identicalOutputGuard.js.map +1 -0
- package/dist/utils/isoTimestamp.d.ts +16 -0
- package/dist/utils/isoTimestamp.d.ts.map +1 -0
- package/dist/utils/isoTimestamp.js +34 -0
- package/dist/utils/isoTimestamp.js.map +1 -0
- package/dist/utils/jsonStreamBusyWatchdog.d.ts +130 -0
- package/dist/utils/jsonStreamBusyWatchdog.d.ts.map +1 -0
- package/dist/utils/jsonStreamBusyWatchdog.js +122 -0
- package/dist/utils/jsonStreamBusyWatchdog.js.map +1 -0
- package/dist/utils/jsonStreamHost.d.ts +238 -0
- package/dist/utils/jsonStreamHost.d.ts.map +1 -0
- package/dist/utils/jsonStreamHost.js +438 -0
- package/dist/utils/jsonStreamHost.js.map +1 -0
- package/dist/utils/keyedTransitionQueue.d.ts +18 -0
- package/dist/utils/keyedTransitionQueue.d.ts.map +1 -0
- package/dist/utils/keyedTransitionQueue.js +34 -0
- package/dist/utils/keyedTransitionQueue.js.map +1 -0
- package/dist/utils/limitEpisodeRecovery.d.ts +92 -0
- package/dist/utils/limitEpisodeRecovery.d.ts.map +1 -0
- package/dist/utils/limitEpisodeRecovery.js +133 -0
- package/dist/utils/limitEpisodeRecovery.js.map +1 -0
- package/dist/utils/limitHeldPromptQueue.d.ts +48 -0
- package/dist/utils/limitHeldPromptQueue.d.ts.map +1 -0
- package/dist/utils/limitHeldPromptQueue.js +59 -0
- package/dist/utils/limitHeldPromptQueue.js.map +1 -0
- package/dist/utils/limitHeldPrompts.d.ts +58 -0
- package/dist/utils/limitHeldPrompts.d.ts.map +1 -0
- package/dist/utils/limitHeldPrompts.js +65 -0
- package/dist/utils/limitHeldPrompts.js.map +1 -0
- package/dist/utils/linkPreviewSuppression.d.ts +18 -0
- package/dist/utils/linkPreviewSuppression.d.ts.map +1 -0
- package/dist/utils/linkPreviewSuppression.js +37 -0
- package/dist/utils/linkPreviewSuppression.js.map +1 -0
- package/dist/utils/localClock.d.ts +15 -0
- package/dist/utils/localClock.d.ts.map +1 -0
- package/dist/utils/localClock.js +29 -0
- package/dist/utils/localClock.js.map +1 -0
- package/dist/utils/markdownTableRender.d.ts +83 -0
- package/dist/utils/markdownTableRender.d.ts.map +1 -0
- package/dist/utils/markdownTableRender.js +298 -0
- package/dist/utils/markdownTableRender.js.map +1 -0
- package/dist/utils/mediaGroupCollector.d.ts +51 -0
- package/dist/utils/mediaGroupCollector.d.ts.map +1 -0
- package/dist/utils/mediaGroupCollector.js +90 -0
- package/dist/utils/mediaGroupCollector.js.map +1 -0
- package/dist/utils/messageSendService.d.ts +136 -0
- package/dist/utils/messageSendService.d.ts.map +1 -0
- package/dist/utils/messageSendService.js +165 -0
- package/dist/utils/messageSendService.js.map +1 -0
- package/dist/utils/minutesOverride.d.ts +7 -0
- package/dist/utils/minutesOverride.d.ts.map +1 -0
- package/dist/utils/minutesOverride.js +16 -0
- package/dist/utils/minutesOverride.js.map +1 -0
- package/dist/utils/modelPickerPlan.d.ts +119 -0
- package/dist/utils/modelPickerPlan.d.ts.map +1 -0
- package/dist/utils/modelPickerPlan.js +171 -0
- package/dist/utils/modelPickerPlan.js.map +1 -0
- package/dist/utils/modelRecentPlan.d.ts +56 -0
- package/dist/utils/modelRecentPlan.d.ts.map +1 -0
- package/dist/utils/modelRecentPlan.js +107 -0
- package/dist/utils/modelRecentPlan.js.map +1 -0
- package/dist/utils/modelSetReplyDecision.d.ts +67 -0
- package/dist/utils/modelSetReplyDecision.d.ts.map +1 -0
- package/dist/utils/modelSetReplyDecision.js +27 -0
- package/dist/utils/modelSetReplyDecision.js.map +1 -0
- package/dist/utils/openCodeAuthLogin.d.ts +181 -0
- package/dist/utils/openCodeAuthLogin.d.ts.map +1 -0
- package/dist/utils/openCodeAuthLogin.js +393 -0
- package/dist/utils/openCodeAuthLogin.js.map +1 -0
- package/dist/utils/openCodeCompactPlugin.d.ts +81 -0
- package/dist/utils/openCodeCompactPlugin.d.ts.map +1 -0
- package/dist/utils/openCodeCompactPlugin.js +146 -0
- package/dist/utils/openCodeCompactPlugin.js.map +1 -0
- package/dist/utils/openCodeTurnActivity.d.ts +67 -0
- package/dist/utils/openCodeTurnActivity.d.ts.map +1 -0
- package/dist/utils/openCodeTurnActivity.js +27 -0
- package/dist/utils/openCodeTurnActivity.js.map +1 -0
- package/dist/utils/outputDebounce.d.ts +24 -0
- package/dist/utils/outputDebounce.d.ts.map +1 -0
- package/dist/utils/outputDebounce.js +30 -0
- package/dist/utils/outputDebounce.js.map +1 -0
- package/dist/utils/outputFlushTiming.d.ts +54 -0
- package/dist/utils/outputFlushTiming.d.ts.map +1 -0
- package/dist/utils/outputFlushTiming.js +48 -0
- package/dist/utils/outputFlushTiming.js.map +1 -0
- package/dist/utils/paginateList.d.ts +25 -0
- package/dist/utils/paginateList.d.ts.map +1 -0
- package/dist/utils/paginateList.js +32 -0
- package/dist/utils/paginateList.js.map +1 -0
- package/dist/utils/paneDiff.d.ts +55 -0
- package/dist/utils/paneDiff.d.ts.map +1 -0
- package/dist/utils/paneDiff.js +88 -0
- package/dist/utils/paneDiff.js.map +1 -0
- package/dist/utils/paneResizeGuard.d.ts +69 -0
- package/dist/utils/paneResizeGuard.d.ts.map +1 -0
- package/dist/utils/paneResizeGuard.js +91 -0
- package/dist/utils/paneResizeGuard.js.map +1 -0
- package/dist/utils/persistAdapterSessionIds.d.ts +39 -0
- package/dist/utils/persistAdapterSessionIds.d.ts.map +1 -0
- package/dist/utils/persistAdapterSessionIds.js +28 -0
- package/dist/utils/persistAdapterSessionIds.js.map +1 -0
- package/dist/utils/pinnedBannerSkipDecision.d.ts +44 -0
- package/dist/utils/pinnedBannerSkipDecision.d.ts.map +1 -0
- package/dist/utils/pinnedBannerSkipDecision.js +20 -0
- package/dist/utils/pinnedBannerSkipDecision.js.map +1 -0
- package/dist/utils/pollBackoff.d.ts +45 -0
- package/dist/utils/pollBackoff.d.ts.map +1 -0
- package/dist/utils/pollBackoff.js +44 -0
- package/dist/utils/pollBackoff.js.map +1 -0
- package/dist/utils/promptDelivery.d.ts +46 -0
- package/dist/utils/promptDelivery.d.ts.map +1 -0
- package/dist/utils/promptDelivery.js +49 -0
- package/dist/utils/promptDelivery.js.map +1 -0
- package/dist/utils/providerDisconnectPlan.d.ts +82 -0
- package/dist/utils/providerDisconnectPlan.d.ts.map +1 -0
- package/dist/utils/providerDisconnectPlan.js +110 -0
- package/dist/utils/providerDisconnectPlan.js.map +1 -0
- package/dist/utils/rateLimitLog.d.ts +48 -0
- package/dist/utils/rateLimitLog.d.ts.map +1 -0
- package/dist/utils/rateLimitLog.js +43 -0
- package/dist/utils/rateLimitLog.js.map +1 -0
- package/dist/utils/recentRelayWindow.d.ts +165 -0
- package/dist/utils/recentRelayWindow.d.ts.map +1 -0
- package/dist/utils/recentRelayWindow.js +284 -0
- package/dist/utils/recentRelayWindow.js.map +1 -0
- package/dist/utils/recvPreviewRedaction.d.ts +23 -0
- package/dist/utils/recvPreviewRedaction.d.ts.map +1 -0
- package/dist/utils/recvPreviewRedaction.js +39 -0
- package/dist/utils/recvPreviewRedaction.js.map +1 -0
- package/dist/utils/reminderFlow.d.ts +148 -0
- package/dist/utils/reminderFlow.d.ts.map +1 -0
- package/dist/utils/reminderFlow.js +122 -0
- package/dist/utils/reminderFlow.js.map +1 -0
- package/dist/utils/reminderScheduleText.d.ts +87 -0
- package/dist/utils/reminderScheduleText.d.ts.map +1 -0
- package/dist/utils/reminderScheduleText.js +135 -0
- package/dist/utils/reminderScheduleText.js.map +1 -0
- package/dist/utils/reminderWizard.d.ts +710 -0
- package/dist/utils/reminderWizard.d.ts.map +1 -0
- package/dist/utils/reminderWizard.js +1164 -0
- package/dist/utils/reminderWizard.js.map +1 -0
- package/dist/utils/replyQuote.d.ts +111 -0
- package/dist/utils/replyQuote.d.ts.map +1 -0
- package/dist/utils/replyQuote.js +122 -0
- package/dist/utils/replyQuote.js.map +1 -0
- package/dist/utils/resolveBinary.d.ts +25 -0
- package/dist/utils/resolveBinary.d.ts.map +1 -0
- package/dist/utils/resolveBinary.js +99 -0
- package/dist/utils/resolveBinary.js.map +1 -0
- package/dist/utils/retryAfterHeader.d.ts +7 -0
- package/dist/utils/retryAfterHeader.d.ts.map +1 -0
- package/dist/utils/retryAfterHeader.js +17 -0
- package/dist/utils/retryAfterHeader.js.map +1 -0
- package/dist/utils/rotatingJsonlFile.d.ts +40 -0
- package/dist/utils/rotatingJsonlFile.d.ts.map +1 -0
- package/dist/utils/rotatingJsonlFile.js +106 -0
- package/dist/utils/rotatingJsonlFile.js.map +1 -0
- package/dist/utils/rotatingLogFile.d.ts +25 -0
- package/dist/utils/rotatingLogFile.d.ts.map +1 -0
- package/dist/utils/rotatingLogFile.js +74 -0
- package/dist/utils/rotatingLogFile.js.map +1 -0
- package/dist/utils/sendRateTracker.d.ts +59 -0
- package/dist/utils/sendRateTracker.d.ts.map +1 -0
- package/dist/utils/sendRateTracker.js +144 -0
- package/dist/utils/sendRateTracker.js.map +1 -0
- package/dist/utils/serialQueue.d.ts +5 -0
- package/dist/utils/serialQueue.d.ts.map +1 -0
- package/dist/utils/serialQueue.js +14 -0
- package/dist/utils/serialQueue.js.map +1 -0
- package/dist/utils/sseStreamLifecycle.d.ts +32 -0
- package/dist/utils/sseStreamLifecycle.d.ts.map +1 -0
- package/dist/utils/sseStreamLifecycle.js +41 -0
- package/dist/utils/sseStreamLifecycle.js.map +1 -0
- package/dist/utils/startupReadiness.d.ts +119 -0
- package/dist/utils/startupReadiness.d.ts.map +1 -0
- package/dist/utils/startupReadiness.js +148 -0
- package/dist/utils/startupReadiness.js.map +1 -0
- package/dist/utils/statusFlushDecision.d.ts +18 -0
- package/dist/utils/statusFlushDecision.d.ts.map +1 -0
- package/dist/utils/statusFlushDecision.js +53 -0
- package/dist/utils/statusFlushDecision.js.map +1 -0
- package/dist/utils/subagentRender.d.ts +52 -0
- package/dist/utils/subagentRender.d.ts.map +1 -0
- package/dist/utils/subagentRender.js +66 -0
- package/dist/utils/subagentRender.js.map +1 -0
- package/dist/utils/subagentStatusRender.d.ts +90 -0
- package/dist/utils/subagentStatusRender.d.ts.map +1 -0
- package/dist/utils/subagentStatusRender.js +124 -0
- package/dist/utils/subagentStatusRender.js.map +1 -0
- package/dist/utils/telegramError.d.ts +2 -0
- package/dist/utils/telegramError.d.ts.map +1 -0
- package/dist/utils/telegramError.js +16 -0
- package/dist/utils/telegramError.js.map +1 -0
- package/dist/utils/terminalEmitPlan.d.ts +74 -0
- package/dist/utils/terminalEmitPlan.d.ts.map +1 -0
- package/dist/utils/terminalEmitPlan.js +86 -0
- package/dist/utils/terminalEmitPlan.js.map +1 -0
- package/dist/utils/thinkingRender.d.ts +74 -0
- package/dist/utils/thinkingRender.d.ts.map +1 -0
- package/dist/utils/thinkingRender.js +85 -0
- package/dist/utils/thinkingRender.js.map +1 -0
- package/dist/utils/threadStatusReport.d.ts +79 -0
- package/dist/utils/threadStatusReport.d.ts.map +1 -0
- package/dist/utils/threadStatusReport.js +88 -0
- package/dist/utils/threadStatusReport.js.map +1 -0
- package/dist/utils/threadToggle.d.ts +29 -0
- package/dist/utils/threadToggle.d.ts.map +1 -0
- package/dist/utils/threadToggle.js +39 -0
- package/dist/utils/threadToggle.js.map +1 -0
- package/dist/utils/timezone.d.ts +125 -0
- package/dist/utils/timezone.d.ts.map +1 -0
- package/dist/utils/timezone.js +278 -0
- package/dist/utils/timezone.js.map +1 -0
- package/dist/utils/tmuxExec.d.ts +61 -0
- package/dist/utils/tmuxExec.d.ts.map +1 -0
- package/dist/utils/tmuxExec.js +109 -0
- package/dist/utils/tmuxExec.js.map +1 -0
- package/dist/utils/tmuxSessionName.d.ts +34 -0
- package/dist/utils/tmuxSessionName.d.ts.map +1 -0
- package/dist/utils/tmuxSessionName.js +51 -0
- package/dist/utils/tmuxSessionName.js.map +1 -0
- package/dist/utils/toolResultRender.d.ts +61 -0
- package/dist/utils/toolResultRender.d.ts.map +1 -0
- package/dist/utils/toolResultRender.js +62 -0
- package/dist/utils/toolResultRender.js.map +1 -0
- package/dist/utils/topicRequest.d.ts +61 -0
- package/dist/utils/topicRequest.d.ts.map +1 -0
- package/dist/utils/topicRequest.js +68 -0
- package/dist/utils/topicRequest.js.map +1 -0
- package/dist/utils/topicView.d.ts +55 -0
- package/dist/utils/topicView.d.ts.map +1 -0
- package/dist/utils/topicView.js +56 -0
- package/dist/utils/topicView.js.map +1 -0
- package/dist/utils/transcribeAudio.d.ts +89 -0
- package/dist/utils/transcribeAudio.d.ts.map +1 -0
- package/dist/utils/transcribeAudio.js +249 -0
- package/dist/utils/transcribeAudio.js.map +1 -0
- package/dist/utils/transientFrames.d.ts +52 -0
- package/dist/utils/transientFrames.d.ts.map +1 -0
- package/dist/utils/transientFrames.js +41 -0
- package/dist/utils/transientFrames.js.map +1 -0
- package/dist/utils/typingActive.d.ts +35 -0
- package/dist/utils/typingActive.d.ts.map +1 -0
- package/dist/utils/typingActive.js +22 -0
- package/dist/utils/typingActive.js.map +1 -0
- package/dist/utils/typingLoopBackstop.d.ts +64 -0
- package/dist/utils/typingLoopBackstop.d.ts.map +1 -0
- package/dist/utils/typingLoopBackstop.js +68 -0
- package/dist/utils/typingLoopBackstop.js.map +1 -0
- package/dist/utils/verbosityRender.d.ts +18 -0
- package/dist/utils/verbosityRender.d.ts.map +1 -0
- package/dist/utils/verbosityRender.js +17 -0
- package/dist/utils/verbosityRender.js.map +1 -0
- package/dist/utils/wedgeRecovery.d.ts +57 -0
- package/dist/utils/wedgeRecovery.d.ts.map +1 -0
- package/dist/utils/wedgeRecovery.js +24 -0
- package/dist/utils/wedgeRecovery.js.map +1 -0
- package/dist/utils.d.ts +30 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +61 -0
- package/dist/utils.js.map +1 -0
- package/dist/validation.d.ts +113 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +226 -0
- package/dist/validation.js.map +1 -0
- package/dist/voiceQueue.d.ts +7 -0
- package/dist/voiceQueue.d.ts.map +1 -0
- package/dist/voiceQueue.js +33 -0
- package/dist/voiceQueue.js.map +1 -0
- package/examples/.env.example +17 -0
- package/examples/docker-compose.yml +36 -0
- package/package.json +83 -4
package/dist/i18n/uk.js
ADDED
|
@@ -0,0 +1,670 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Ukrainian catalog. Hand-translated with full key parity to `en`
|
|
4
|
+
* (the canonical reference). Native review welcome. Agent-facing templates
|
|
5
|
+
* (`schedule.*`, `apiRetry.continueNudge`) follow the `ru` pattern: English
|
|
6
|
+
* instruction skeleton, but the reply-language directive baked as "IN UKRAINIAN".
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ukDict = void 0;
|
|
10
|
+
exports.ukDict = {
|
|
11
|
+
'access.denied': 'Доступ заборонено.',
|
|
12
|
+
'access.group_only': 'Я працюю лише в налаштованій forum-супергрупі.',
|
|
13
|
+
'thread.no_binding': '📁 Цей тред не прив\'язаний до папки. Використай /bind <subdir> або обери зі списку.',
|
|
14
|
+
'thread.bind_required': '📁 Спершу прив\'яжи папку: /bind <subdir>. Агент запускається лише в прив\'язаній папці.',
|
|
15
|
+
'thread.bound': '📁 Прив\'язано до `{subdir}`.\nЗапусти /claude або /opencode.',
|
|
16
|
+
'thread.unbound': '📁 Прив\'язку знято.',
|
|
17
|
+
'thread.general_no_agent': 'General не прив\'язаний до папки — перейди в тематичний тред, щоб поговорити з агентом.',
|
|
18
|
+
'thread.welcome_bound': '👋 Тред створено й автоматично прив\'язано до `{subdir}` (назва теми збіглася з підпапкою).\nЗапусти /claude або /opencode.',
|
|
19
|
+
'thread.welcome_pick': '👋 Тред створено. Прив\'яжи папку: /bind <subdir>, або обери одну нижче.',
|
|
20
|
+
'thread.bind_collision': '⚠️ Папка `{subdir}` вже використовується в тредах: {threads}.\nПрив\'язку додано; сесії лишаються незалежними (власний tmux/SSE).',
|
|
21
|
+
'thread.no_agent_with_binding': '📁 Папка `{subdir}` прив\'язана. Запусти /claude або /opencode, щоб почати діалог.',
|
|
22
|
+
'bind.usage': 'Використання: /bind <subdir>\nПриклад: /bind overview',
|
|
23
|
+
'bind.current': '📂 Зараз прив\'язано: `{subdir}`',
|
|
24
|
+
'bind.current_none': '📂 Ще не прив\'язано',
|
|
25
|
+
'bind.in_general': '/bind працює лише в тематичних тредах, не в General.',
|
|
26
|
+
'bind.invalid_chars': '❌ Назва папки не повинна містити керуючих символів.',
|
|
27
|
+
'bind.not_found': '❌ Папку `{subdir}` не знайдено в `WORK_ROOT` (`{workRoot}`).',
|
|
28
|
+
'bind.outside_root': '❌ Шлях виходить за межі `WORK_ROOT`.',
|
|
29
|
+
'bind.not_directory': '❌ `{subdir}` існує, але це не папка.',
|
|
30
|
+
'bind.leave_button': '⬅️ Покинути поточну папку',
|
|
31
|
+
'bind.create_button': '➕ Створити нову папку',
|
|
32
|
+
'bind.create_prompt': '✏️ Надішли назву нової папки (її буде створено в `WORK_ROOT`). Будь-яка команда скасовує.',
|
|
33
|
+
'bind.create_cb': 'Створюю нову папку…',
|
|
34
|
+
'bind.create_empty': '❌ Назва порожня. Надішли назву папки.',
|
|
35
|
+
'bind.create_separator': '❌ Назва не повинна містити `/` чи `\\`. Надішли просте ім\'я.',
|
|
36
|
+
'bind.create_dot_segment': '❌ `.` та `..` не можна використовувати як назву папки.',
|
|
37
|
+
'bind.create_hidden': '❌ Назва не повинна починатися з крапки.',
|
|
38
|
+
'bind.create_invalid_chars': '❌ Назва папки не повинна містити керуючих символів.',
|
|
39
|
+
'bind.create_exists': '📁 Папка `{subdir}` вже існує — прив\'язуюся до неї.',
|
|
40
|
+
'bind.create_failed': '❌ Не вдалося створити папку: {error}',
|
|
41
|
+
'ls.header': '📁 Підпапки `{workRoot}`:',
|
|
42
|
+
'ls.empty': '📁 У `WORK_ROOT` немає придатних підпапок.',
|
|
43
|
+
'list.header': '🧵 Прив\'язки тредів ({count}):',
|
|
44
|
+
'list.empty': '🧵 Прив\'язок ще немає. Створи тред і виконай /bind.',
|
|
45
|
+
'list.row': '• {threadId}: `{subdir}` · {agent} · {status}',
|
|
46
|
+
'list.row_closed': '• {threadId}: `{subdir}` · {agent} · 🔒 closed',
|
|
47
|
+
'new.general_hint': '/new працює всередині прив\'язаного треда — відкрий тред і виконай /new, щоб перезапустити сесію агента.',
|
|
48
|
+
'help.general': '*Команди в General:*\n' +
|
|
49
|
+
'/ls — підпапки `WORK_ROOT`\n' +
|
|
50
|
+
'/list — список тредів\n' +
|
|
51
|
+
'/status — статус усіх тредів\n' +
|
|
52
|
+
'/quitall — завершити всіх агентів\n' +
|
|
53
|
+
'/whoami /version — debug\n\n' +
|
|
54
|
+
'Щоб поговорити з агентом — відкрий тематичний тред.',
|
|
55
|
+
'help.thread_unbound': '*Тред не прив\'язаний до папки.*\n' +
|
|
56
|
+
'/bind <subdir> — прив\'язати (або обери зі списку)\n' +
|
|
57
|
+
'/ls — підпапки `WORK_ROOT` (в General)',
|
|
58
|
+
'help.thread_bound': '*Тред прив\'язаний до `{subdir}`.*\n' +
|
|
59
|
+
'/claude /opencode — запустити агента\n' +
|
|
60
|
+
'/terminal — відкрити shell у цій папці\n' +
|
|
61
|
+
'/new — перезапустити сесію (стара → /sessions)\n' +
|
|
62
|
+
'/model /sessions — переключення\n' +
|
|
63
|
+
'/effort — рівень reasoning-effort\n' +
|
|
64
|
+
'/verbosity — деталізація виводу і що показує топік (потік / відповіді)\n' +
|
|
65
|
+
'/quit /status /output — контроль\n' +
|
|
66
|
+
'/compact — стиснути контекст агента\n' +
|
|
67
|
+
'/compact_on_idle — авто-стиснення після простою (перемикач)\n' +
|
|
68
|
+
'/limits — що робити при ліміті використання (запасні моделі, перемикання, очікування)\n' +
|
|
69
|
+
'/accounts — облікові записи Claude і провайдери OpenCode (вибір, додати, увійти знову, видалити, підключити, відключити)\n' +
|
|
70
|
+
'/clear — видалити повідомлення треда\n' +
|
|
71
|
+
'/c /y /n /enter /up /down /tab /esc — TUI-клавіші (Claude)\n' +
|
|
72
|
+
'/bind — керування прив\'язкою',
|
|
73
|
+
'doctor.header': '🔍 *Charness Doctor*',
|
|
74
|
+
'doctor.ok': '✅ {label}',
|
|
75
|
+
'doctor.warn': '⚠️ {label} — {hint}',
|
|
76
|
+
'doctor.fail': '❌ {label} — {hint}',
|
|
77
|
+
'doctor.bot_admin': 'Бот — адміністратор групи',
|
|
78
|
+
'doctor.can_manage_topics': 'Право `can_manage_topics` надано',
|
|
79
|
+
'doctor.can_delete_messages': 'Право `can_delete_messages` надано',
|
|
80
|
+
'doctor.can_pin_messages': 'Право `can_pin_messages` надано',
|
|
81
|
+
'doctor.privacy_off': 'Privacy mode вимкнено',
|
|
82
|
+
'doctor.privacy_hint': '@BotFather → /setprivacy → Disable, потім видали й додай бота знову',
|
|
83
|
+
'doctor.workroot_subdirs': '`WORK_ROOT`: `{workRoot}` ({count} підпапок)',
|
|
84
|
+
'doctor.datadir_path': '`DATA_DIR`: `{dataDir}`',
|
|
85
|
+
'doctor.claude_installed': 'claude CLI встановлено',
|
|
86
|
+
'doctor.opencode_installed': 'opencode CLI встановлено',
|
|
87
|
+
'doctor.state_valid': 'state.json валідний ({bindings} bindings, {active} активних)',
|
|
88
|
+
'doctor.state_archived': 'Попередній state.json був пошкоджений, архів: {path}',
|
|
89
|
+
'doctor.cli_missing': 'не знайдено в PATH (auto-install спрацює при /claude чи /opencode)',
|
|
90
|
+
'doctor.no_admin_info': 'не можу прочитати права бота — getChatMember failed',
|
|
91
|
+
'onboarding.welcome': '👋 *Charness 2.0*\n\n' +
|
|
92
|
+
'Чеклист готовності до роботи:\n' +
|
|
93
|
+
'1️⃣ Зроби мене адміністратором групи з правами:\n' +
|
|
94
|
+
' • Manage Topics, Delete Messages, Pin Messages\n' +
|
|
95
|
+
'2️⃣ @BotFather → /setprivacy → Disable, потім видали й додай мене знову\n' +
|
|
96
|
+
'3️⃣ Запусти /doctor, щоб побачити, чого ще бракує\n' +
|
|
97
|
+
'4️⃣ У кожному тематичному треді виконай /bind <subdir> і запусти агента\n\n' +
|
|
98
|
+
'`WORK_ROOT`: `{workRoot}`',
|
|
99
|
+
'binding.welcome.header': '📁 Прив\'язано до `{subdir}`',
|
|
100
|
+
'binding.welcome.claude_md': '• CLAUDE.md: {size}',
|
|
101
|
+
'binding.welcome.mcp_json': '• `.mcp.json`: {count} серверів',
|
|
102
|
+
'binding.welcome.git': '• git: гілка `{branch}`{detail}',
|
|
103
|
+
'binding.welcome.git_clean': ', чисто',
|
|
104
|
+
'binding.welcome.git_dirty': ', незакомічені зміни',
|
|
105
|
+
'binding.welcome.git_none': '• git: не ініціалізовано',
|
|
106
|
+
'binding.welcome.start_prompt': 'Почни розмову:',
|
|
107
|
+
'mcp.header': '🔌 *MCP-сервери для цього треда:*',
|
|
108
|
+
'mcp.row': '• `{name}` — {source}',
|
|
109
|
+
'mcp.empty': '🔌 MCP-сервери не налаштовано.',
|
|
110
|
+
'mcp.source_user': 'user (~/.claude/settings.json)',
|
|
111
|
+
'mcp.source_group': 'group (`DATA_DIR`/mcp.json)',
|
|
112
|
+
'mcp.source_project': 'project (`{workDir}/.mcp.json`)',
|
|
113
|
+
'mcp.source_thread': 'thread (`DATA_DIR`/threads/...)',
|
|
114
|
+
'doctor.pin_hint': 'Закріплений статус треда (Етап 7) буде недоступний',
|
|
115
|
+
'whoami.report': '👤 user: `{userId}`\n💬 chat: `{chatId}`\n🧵 thread: `{threadId}`\n' +
|
|
116
|
+
'🔐 allowed: {allowed}\n📁 binding: {binding}',
|
|
117
|
+
'whoami.binding_unbound': '(немає прив\'язки)',
|
|
118
|
+
'pair.success': '✅ Групу прив\'язано. id: `{groupId}`. Бот тепер обслуговує цю супергрупу.',
|
|
119
|
+
'pair.locked': 'ℹ️ id групи задано через `ALLOWED_GROUP_ID` — авто-прив\'язку вимкнено. ' +
|
|
120
|
+
'Щоб змінити групу, зміни змінну й перезапусти бота.',
|
|
121
|
+
'pair.only_forum': '❌ /pair працює лише в forum-супергрупі (увімкни Topics).',
|
|
122
|
+
'pair.not_admin': '❌ Прив\'язати бота може лише адміністратор або творець групи.',
|
|
123
|
+
'pair.not_paired': 'групу ще не прив\'язано (режим pairing)',
|
|
124
|
+
'pair.dm': 'ℹ️ /pair не потрібен у режимі DM — бот обслуговує твій приватний чат.',
|
|
125
|
+
'version.report': '*Charness {bot}*\n' +
|
|
126
|
+
'Node: {node}\n' +
|
|
127
|
+
'tmux: {tmux}\n' +
|
|
128
|
+
'claude: {claude}\n' +
|
|
129
|
+
'opencode: {opencode}',
|
|
130
|
+
'version.unknown': '(недоступно)',
|
|
131
|
+
'status.global_header': '📊 *Усі треди* ({total}):',
|
|
132
|
+
'status.global_row': '• `{key}` → `{subdir}` · {agent} · {status}',
|
|
133
|
+
'status.global_empty': '📊 Тредів поки немає.',
|
|
134
|
+
'status.thread_report': 'Статус:\n\nАгент: {agent}\nТека: {subdir}\nСесія: {session}',
|
|
135
|
+
'status.thread_view': 'Вигляд: {view}',
|
|
136
|
+
'status.thread_account': 'Обліковий запис: {account}',
|
|
137
|
+
'status.thread_account_limited': ' · ⛔ на ліміті до {until}',
|
|
138
|
+
'status.thread_account_pending': 'Очікує перемикання: {account} — застосується, коли завершиться хід агента або під час наступного запуску',
|
|
139
|
+
'status.thread_model': 'Модель: {model}',
|
|
140
|
+
'status.thread_effort': 'Зусилля: {effort}',
|
|
141
|
+
'status.thread_started': 'Запущено: {started}',
|
|
142
|
+
'status.thread_running': 'працює',
|
|
143
|
+
'status.thread_stopped': 'зупинено',
|
|
144
|
+
'status.thread_sleeping': 'спить — продовжиться з наступним повідомленням',
|
|
145
|
+
'status.thread_no_agent': 'немає (запустіть /claude або /opencode)',
|
|
146
|
+
'status.thread_no_binding': '(без прив\'язки — WORK_ROOT)',
|
|
147
|
+
'status.thread_workdir': 'Робоча тека: {workDir}',
|
|
148
|
+
'status.thread_runtime_version': 'Версія середовища: {version}',
|
|
149
|
+
'status.thread_context': 'Контекст: {used} / {limit} токенів',
|
|
150
|
+
'language.status': '🌐 Мова: {display}',
|
|
151
|
+
'language.set_success': '✅ Мову для цього чату встановлено: `{locale}`.',
|
|
152
|
+
'language.auto_success': '✅ Мову скинуто на авто. Зараз: {display}.',
|
|
153
|
+
'language.invalid': '⚠️ Локаль `{locale}` не підтримується. Доступні: {locales}.',
|
|
154
|
+
'timezone.status': '🌍 Часовий пояс: {zone} — зараз {now}',
|
|
155
|
+
'timezone.usage': 'Використання: /timezone <зона IANA> · /timezone +04:00 · /timezone auto\nАбо надішли /timezone без аргументу, щоб обрати зі списку.',
|
|
156
|
+
'timezone.set_success': '✅ Часовий пояс: {zone} — зараз {now}\nПерераховано розкладів: {count}',
|
|
157
|
+
'timezone.auto_success': '✅ Часовий пояс скинуто на зону хоста: {zone} — зараз {now}\nПерераховано розкладів: {count}',
|
|
158
|
+
'timezone.invalid': '⚠️ Невідомий часовий пояс `{zone}`. Укажи назву IANA (наприклад, `Europe/Moscow`) або фіксоване зміщення (наприклад, `+04:00`). Надішли /timezone, щоб обрати зі списку.',
|
|
159
|
+
'timezone.offset_unsupported': '⚠️ Зміщення `{zone}` застосувати не можна — працюють лише зміщення, кратні цілій годині. Вкажи натомість назву зони IANA (наприклад, `Asia/Kolkata` для +05:30).',
|
|
160
|
+
'timezone.fixed_offset_warning': '⚠️ Фіксоване зміщення не враховує перехід на літній час — пів року воно помилятиметься на годину.',
|
|
161
|
+
'timezone.picker_regions': '🌍 Часовий пояс: {zone}\nЗараз: {now}\n\nОбери регіон:',
|
|
162
|
+
'timezone.picker_zones': '🌍 {region} — сторінка {page}/{total}',
|
|
163
|
+
'timezone.picker_expired': 'Цей список застарів — надішли /timezone ще раз.',
|
|
164
|
+
'agent.ready': '{label} готовий у `{subdir}`{argsSuffix}\n{infoBlock}Надішли повідомлення:',
|
|
165
|
+
'agent.ready_model': '🧠 Модель: {model}',
|
|
166
|
+
'agent.no_session': 'Агент не запущений. /claude або /opencode — щоб запустити.',
|
|
167
|
+
'agent.session_ended': '{label}: сесію завершено',
|
|
168
|
+
'agent.stopped': '{label} зупинено',
|
|
169
|
+
'agent.sleeping_released': 'Сплячу сесію звільнено — наступне повідомлення почне нову.',
|
|
170
|
+
'agent.resume_failed_fresh': '⚠️ Не вдалося відновити попередню розмову — запущено нову сесію.',
|
|
171
|
+
'agent.exit_signal_sent': 'Надіслано подвійний Ctrl+C — {label} завершує роботу',
|
|
172
|
+
'agent.already_active': '{label} вже працює тут. Надішли повідомлення або /quit.',
|
|
173
|
+
'agent.starting': 'Запускаю {label} у `{subdir}`…',
|
|
174
|
+
'agent.queued_starting': '⏳ {label} ще запускається — твоє повідомлення в черзі й буде надіслане, щойно він буде готовий.',
|
|
175
|
+
'agent.question_hint': 'ℹ️ Відповідай номером варіанта (наприклад 1) або y/n. Також: /up /down — рух, /enter — підтвердити, /c — скасувати.',
|
|
176
|
+
'agent.start_failed': 'Не вдалося запустити {label}: {error}',
|
|
177
|
+
'agent.no_response': '⚠️ Агент прийняв запит, але так і не почав відповідати — можливо, сесія зависла. Надішліть ще раз або /new для нової сесії.',
|
|
178
|
+
'agent.session_restarting': '⚠️ Агент не відповів — сесія зависла. Перезапускаю її та повторюю запит…',
|
|
179
|
+
'agent.session_recovering': '⚠️ Агент не відповів — відновлюю (діалог збережено) і повторюю запит…',
|
|
180
|
+
'agent.question_cancelled_for_prompt': '⚠️ Попереднє питання скасовано — виконую твій новий запит.',
|
|
181
|
+
'agent.question_cancelled_msg_label': '❌ Питання скасовано: {header}',
|
|
182
|
+
'agent.login_code_relayed': '🔐 Код входу передано в Claude — повідомлення з токеном видалено з історії.',
|
|
183
|
+
'agent.login_url': '🔐 Щоб увійти в Claude, відкрийте це посилання, завершіть вхід і вставте код сюди:\n{url}',
|
|
184
|
+
'agent.login_success': '✅ Вхід у Claude виконано.',
|
|
185
|
+
'agent.login_failed': '⚠️ Не вдалося увійти в Claude. Запустіть /login, щоб повторити.',
|
|
186
|
+
'login.esc_hint': '/esc — скасувати',
|
|
187
|
+
'login.waiting_code': '⏳ Чекаю код входу — надішліть код із посилання для входу наступним повідомленням.',
|
|
188
|
+
'login.cancelled': '✖ Вхід скасовано. Повідомлення знову йдуть агенту.',
|
|
189
|
+
'agent.workingIndicator': '{glyph} працюю…',
|
|
190
|
+
'terminal.ready': '🖥 Термінал готовий у `{subdir}`{argsSuffix}\nКожне повідомлення виконується як команда. /c — Ctrl+C, /up /down — історія, /tab — автодоповнення, /quit — закрити.',
|
|
191
|
+
'effort.choose': '⚙️ Поточний effort: {current}\nОбери рівень:',
|
|
192
|
+
'effort.current_none': 'не задано',
|
|
193
|
+
'effort.set_success': '✅ Effort: {level}',
|
|
194
|
+
'effort.current_hint': '⚙️ Effort: {effort}\nЗмінити — /effort',
|
|
195
|
+
'effort.invalid_level': '⚠️ Рівень `{level}` недопустимий. Доступні: {valid}.',
|
|
196
|
+
'effort.not_available': 'ℹ️ Для поточної моделі рівні reasoning effort недоступні.',
|
|
197
|
+
'effort.not_supported': 'ℹ️ Модель `{model}` не має рівнів reasoning effort.',
|
|
198
|
+
'effort.start_agent_first': 'ℹ️ Рівень збережено. Агент не запущений — застосується при наступному старті.',
|
|
199
|
+
'effort.cleared_on_model_switch': 'ℹ️ Effort `{level}` скинуто: нова модель `{model}` його не підтримує.',
|
|
200
|
+
'effort.unsupported_backend': 'Керування effort не підтримується для {label}.',
|
|
201
|
+
'effort.no_session': 'Агент не запущений. Спершу /claude чи /opencode.',
|
|
202
|
+
'thinking.live': '•••',
|
|
203
|
+
'thinking.thoughtForSeconds': '💭 думав {seconds} с',
|
|
204
|
+
'thinking.choose': '☁️ Поточний режим розмірковувань: {current}\nОбери режим:',
|
|
205
|
+
'thinking.set_success': '✅ Режим розмірковувань: {mode}',
|
|
206
|
+
'thinking.invalid_mode': '⚠️ Режим `{mode}` недопустимий. Доступні: {valid}.',
|
|
207
|
+
'thinking.mode.minimal': 'мінімум',
|
|
208
|
+
'thinking.mode.short': 'коротко',
|
|
209
|
+
'thinking.mode.full': 'докладно',
|
|
210
|
+
'toolResults.choose': '🔧 Поточний режим результатів інструментів: {current}\nОбери режим:',
|
|
211
|
+
'toolResults.set_success': '✅ Режим результатів інструментів: {mode}',
|
|
212
|
+
'toolResults.invalid_mode': '⚠️ Режим `{mode}` недопустимий. Доступні: {valid}.',
|
|
213
|
+
'toolResults.mode.minimal': 'мінімум',
|
|
214
|
+
'toolResults.mode.short': 'коротко',
|
|
215
|
+
'toolResults.mode.full': 'докладно',
|
|
216
|
+
'toolResults.truncated_footer': '… (обрізано, /tool_results full)',
|
|
217
|
+
'toolResults.activity_status': '🔧 {tool} …',
|
|
218
|
+
'toolResults.activity_fallback': 'інструмент',
|
|
219
|
+
'subagent.status_elapsed': '🤖 суб-агент: {title} · {elapsed}',
|
|
220
|
+
'subagent.panel_fold_status': '🤖 суб-агент працює …',
|
|
221
|
+
'subagent.delegating_status': '🤖 Делегую: {title} …',
|
|
222
|
+
'subagent.chunk_prefix': '🤖 ⤷',
|
|
223
|
+
'subagent.fallback_title': 'суб-агент',
|
|
224
|
+
'subagent.choose': '🤖 Поточний режим суб-агентів: {current}\nОбери режим:',
|
|
225
|
+
'subagent.set_success': '✅ Режим суб-агентів: {mode}',
|
|
226
|
+
'subagent.invalid_mode': '⚠️ Режим `{mode}` недопустимий. Доступні: {valid}.',
|
|
227
|
+
'subagent.mode.minimal': 'мінімум',
|
|
228
|
+
'subagent.mode.short': 'коротко',
|
|
229
|
+
'subagent.mode.full': 'докладно',
|
|
230
|
+
'verbosity.choose': '🔊 Вивід — деталізація: {current} · вигляд: {view}\nРяд 1 — деталізація потоку · Ряд 2 — що показує цей топік:',
|
|
231
|
+
'verbosity.set_success': '✅ Деталізація виводу: {mode} (розмірковування, інструменти, суб-агенти)',
|
|
232
|
+
'verbosity.invalid_mode': '⚠️ `{mode}` неприпустимо. Рівні деталізації: {valid}. Вигляди: {views}.',
|
|
233
|
+
'verbosity.custom': 'змішаний (розмірковування: {thinking} · інструменти: {toolResults} · суб-агенти: {subagent})',
|
|
234
|
+
'verbosity.mode.minimal': 'мінімум',
|
|
235
|
+
'verbosity.mode.short': 'коротко',
|
|
236
|
+
'verbosity.mode.full': 'докладно',
|
|
237
|
+
'verbosity.view.stream': 'Лише потік',
|
|
238
|
+
'verbosity.view.streamAnswers': 'Потік + відповіді',
|
|
239
|
+
'verbosity.view.answers': 'Лише відповіді',
|
|
240
|
+
'verbosity.view_set_success': '✅ Цей топік показує: {view} (з наступного повідомлення)',
|
|
241
|
+
'model.set_success': '🧠 Модель обрано: {model}',
|
|
242
|
+
'model.saved_for_next_start': 'Модель збережено: {model} — застосується при старті агента.',
|
|
243
|
+
'model.start_agent_first': 'Немає активної сесії. Спершу запусти агента.',
|
|
244
|
+
'model.current_default': 'за замовчуванням',
|
|
245
|
+
'model.none_available': '🧠 Поточна: {current}\n\nМоделей немає. Задай модель вручну: /model <provider/model>.',
|
|
246
|
+
'model.invalid_number': '❌ Невірний номер. Запусти /model, щоб побачити список.',
|
|
247
|
+
'model.pick_provider': '🧠 Поточна: {current}\n\nОбери провайдера:',
|
|
248
|
+
'model.all_hidden': '🧠 Поточна: {current}\n\nУсі провайдери приховані. Натисни 👁, щоб повернути одного з них.',
|
|
249
|
+
'model.hidden_header': '🙈 Приховано з цього списку — натисни 👁, щоб повернути.',
|
|
250
|
+
'model.provider_button': '📦 {provider} ({count})',
|
|
251
|
+
'model.hidden_provider_button': '🙈 {provider} ({count})',
|
|
252
|
+
'model.hide_button': '🙈',
|
|
253
|
+
'model.show_button': '👁',
|
|
254
|
+
'model.back_button': '⬅️ провайдери',
|
|
255
|
+
'model.recent_button': '🕘 Нещодавні ({count})',
|
|
256
|
+
'model.recent_header': '🧠 Нещодавні — моделей: {count}\nПоточна: {current}',
|
|
257
|
+
'model.prev_button': '⬅️ Назад',
|
|
258
|
+
'model.next_button': 'Далі ➡️',
|
|
259
|
+
'model.page_button': '{page}/{totalPages}',
|
|
260
|
+
'model.page_header': '🧠 {provider} — моделей: {count} · сторінка {page}/{totalPages}\nПоточна: {current}',
|
|
261
|
+
'model.page_hint': 'Відповідай номером, щоб обрати, або /model <назва> для пошуку.',
|
|
262
|
+
'model.page_hint_buttons_only': 'Натисни на модель, щоб перемкнути, або /model <назва> для пошуку.',
|
|
263
|
+
'disconnect.unsupported_backend': 'Відключення провайдерів OpenCode недоступне в цій збірці.',
|
|
264
|
+
'disconnect.invalid_provider': '❌ Невірний id провайдера {provider}. Приклад: /disconnect openrouter',
|
|
265
|
+
'disconnect.no_providers': 'Немає провайдерів для відключення.',
|
|
266
|
+
'disconnect.pick_provider': 'Обери провайдера для відключення — збережені облікові дані буде видалено:',
|
|
267
|
+
'disconnect.provider_button': '🔌 {provider}',
|
|
268
|
+
'disconnect.success': '✅ Провайдера {provider} відключено — збережені облікові дані видалено.',
|
|
269
|
+
'disconnect.still_active_env': '⚠️ Збережені облікові дані {provider} видалено, але провайдер усе ще активний: OpenCode вмикає його через змінну середовища. Прибери цю змінну та перезапусти OpenCode, або сховай провайдера в /model.',
|
|
270
|
+
'disconnect.failed': '⚠️ Не вдалося відключити {provider}: {reason}',
|
|
271
|
+
'rename_session.usage': 'Використання: /rename_session <нова назва>',
|
|
272
|
+
'rename_session.start_agent_first': 'Немає активної сесії. Спершу запусти агента (/claude чи /opencode).',
|
|
273
|
+
'rename_session.unsupported_backend': 'Перейменування сесії не підтримується для {label}.',
|
|
274
|
+
'rename_session.success': '✅ Сесію перейменовано: {title}',
|
|
275
|
+
'rename_session.failed': '⚠️ Не вдалося перейменувати сесію: {reason}',
|
|
276
|
+
'compact.started': '🧹 Стискаю контекст сесії — агент продовжить із короткого підсумку.',
|
|
277
|
+
'compact.done': '✅ Контекст стиснуто.',
|
|
278
|
+
'compact.done_tokens': '✅ Контекст стиснуто: {pre} → {post} токенів.',
|
|
279
|
+
'compact.summaryHeader': '📄 Підсумок після стиснення:',
|
|
280
|
+
'compact.start_agent_first': 'Немає активної сесії. Спершу запусти агента (/claude чи /opencode).',
|
|
281
|
+
'compact.unsupported_backend': 'Стиснення контексту не підтримується для {label}.',
|
|
282
|
+
'compact.model_unresolved': '⚠️ Не можу стиснути: для цієї сесії не визначено модель. Вибери її через /model і спробуй знову.',
|
|
283
|
+
'compact.failed': '⚠️ Не вдалося стиснути контекст сесії: {reason}',
|
|
284
|
+
'compact.busy': '⚠️ Агент зараз зайнятий — запусти /compact знову, коли поточний хід завершиться.',
|
|
285
|
+
'compact.closingSectionInstruction': 'After the summary, append a final section wrapped EXACTLY between a line containing only {startMarker} and a line containing only {endMarker}. Inside that section, write IN UKRAINIAN: (1) one or two terse sentences on what we were doing and the immediate next step; (2) if you asked the user a question that is still unanswered, restate that question and list its answer options. Write nothing after {endMarker}.',
|
|
286
|
+
'compactOnIdle.notice': '🧹 Контекст автоматично стиснуто під час простою, щоб заощадити токени завдяки кешу.\n/compact_on_idle — вимкнути або показувати підсумок.',
|
|
287
|
+
'compactOnIdle.on': 'УВІМК',
|
|
288
|
+
'compactOnIdle.off': 'ВИМК',
|
|
289
|
+
'compactOnIdle.title': '🧹 Авто-стиснення під час простою для цієї теми: {state}\n{summaryLine}\n\nКоли сесія простоює ~55 хв, її контекст стискається автоматично, щоб заощадити токени (кеш промпту ще теплий).\n\nЩоб перемкнути для ВСІХ тем одразу, запусти це в темі General.',
|
|
290
|
+
'compactOnIdle.titleGeneral': '🧹 Авто-стиснення під час простою — типове для ВСІХ тем: {state}\n{summaryLine}\n\nКоли сесія простоює ~55 хв, її контекст стискається автоматично, щоб заощадити токени.\n\nКожна тема може перевизначити це власним /compact_on_idle.',
|
|
291
|
+
'compactOnIdle.enableButton': 'Увімкнути',
|
|
292
|
+
'compactOnIdle.disableButton': 'Вимкнути',
|
|
293
|
+
'compactOnIdle.summaryLine': '📄 Підсумок після стиснення: {state}',
|
|
294
|
+
'compactOnIdle.summaryShowButton': '📄 Показувати підсумок',
|
|
295
|
+
'compactOnIdle.summaryHideButton': 'Приховувати підсумок',
|
|
296
|
+
'compactOnIdle.setThisTopic': '✅ Авто-стиснення під час простою: {state} для цієї теми.',
|
|
297
|
+
'compactOnIdle.setGlobal': '✅ Авто-стиснення під час простою: {state} для ВСІХ тем (перевизначення по темах діють далі).',
|
|
298
|
+
'compactOnIdle.unsupported': 'Авто-стиснення під час простою застосовується до активної сесії агента. Спочатку запусти /claude або /opencode у прив’язаній темі.',
|
|
299
|
+
'compactOnIdle.pendingQuestionReask': '❓ У тебе лишилося запитання без відповіді. Натисни варіант, щоб відповісти та продовжити:',
|
|
300
|
+
'compactSummary.on': 'УВІМК',
|
|
301
|
+
'compactSummary.off': 'ВИМК',
|
|
302
|
+
'compactSummary.title': '📄 Публікувати підсумок після стиснення в цьому топіку: {state}\n\nПісля стиснення повний підсумок агента записується в топік, щоб ти бачив, що в ньому залишилось.\n\nЩоб перемкнути одразу для ВСІХ топіків, запусти це в топіку General.',
|
|
303
|
+
'compactSummary.titleGeneral': '📄 Публікувати підсумок після стиснення — типово для ВСІХ топіків: {state}\n\nПісля стиснення повний підсумок агента записується в топік, щоб ти бачив, що в ньому залишилось.\n\nКожен топік усе одно може перевизначити це своїм /compact_summary.',
|
|
304
|
+
'compactSummary.enableButton': 'Увімкнути',
|
|
305
|
+
'compactSummary.disableButton': 'Вимкнути',
|
|
306
|
+
'compactSummary.setThisTopic': '✅ Підсумок після стиснення: {state} для цього топіка.',
|
|
307
|
+
'compactSummary.setGlobal': '✅ Підсумок після стиснення: {state} для ВСІХ топіків (перевизначення по топіках і далі діють).',
|
|
308
|
+
'compactSummary.unsupported': 'Оболонка не має контексту для стиснення, тому й підсумок публікувати нічого.',
|
|
309
|
+
'autoContinueLimits.on': 'УВІМК',
|
|
310
|
+
'autoContinueLimits.off': 'ВИМК',
|
|
311
|
+
'autoContinueLimits.skipButton': '⏭ Пропустити один раз',
|
|
312
|
+
'autoContinueLimits.skipDone': 'Це продовження пропущено.',
|
|
313
|
+
'autoContinueLimits.skipExpired': 'Нічого пропускати — це очікування вже завершилося.',
|
|
314
|
+
'autoContinueLimits.skippedNotice': '⏭ Пропущено: цього разу я сам продовжувати не буду. Напиши, коли продовжувати — авто-продовження для цієї теми лишається увімкненим.',
|
|
315
|
+
'autoContinueLimits.noticeHint': 'Відкрий /limits, щоб пропустити це продовження або вимкнути очікування для цього топіка.',
|
|
316
|
+
'autoContinueLimits.setThisTopic': '✅ Авто-продовження після ліміту використання: {state} для цієї теми.',
|
|
317
|
+
'autoContinueLimits.setGlobal': '✅ Авто-продовження після ліміту використання: {state} для ВСІХ тем (перевизначення по темах діють далі).',
|
|
318
|
+
'autoContinueLimits.limitReachedDisabled': '🚧 Досягнуто ліміту використання. Очікування скидання для цього топіка вимкнено, тож я чекаю — напиши, коли продовжувати (/limits, щоб увімкнути очікування).',
|
|
319
|
+
'connect.prompt_key': '🔑 Надішли API key для `{provider}` наступним повідомленням. Я видалю повідомлення з ключем з історії.',
|
|
320
|
+
'connect.empty_key': '❌ API key порожній. Надішли ключ наступним повідомленням.',
|
|
321
|
+
'connect.invalid_key': '❌ Це не схоже на API key (є пробіли або нелатинські символи). Надішли наступним повідомленням лише сам ключ або запусти /connect знову.',
|
|
322
|
+
'connect.invalid_provider': '❌ Некоректний provider id `{provider}`. Наприклад: /connect openai',
|
|
323
|
+
'connect.unsupported_provider': '⚠️ Provider `{provider}` не підтримує простий вхід через API key у цьому flow. Скористайся OpenCode UI/CLI для цього provider.',
|
|
324
|
+
'connect.unsupported_backend': 'OpenCode provider auth недоступний у цій збірці.',
|
|
325
|
+
'connect.failed': '⚠️ Не вдалося підключити `{provider}`: {reason}',
|
|
326
|
+
'connect.success': '✅ Provider `{provider}` підключено. OpenCode server не перезапускався.',
|
|
327
|
+
'connect.cancelled': 'Введення API key скасовано.',
|
|
328
|
+
'connect.pick_method': 'Як підключити `{provider}`? Обери спосіб:',
|
|
329
|
+
'connect.no_methods': '⚠️ Не знайдено способів автентифікації для `{provider}`.',
|
|
330
|
+
'connect.oauth_device': '🔓 Щоб підключити `{provider}`: відкрий {url} і введи код `{code}`, потім авторизуй. На сервері використовуй *headless* спосіб. Повідомлю тут, коли буде готово.',
|
|
331
|
+
'connect.oauth_url_only': '🔓 Щоб підключити `{provider}`: відкрий {url} і заверши вхід. Повідомлю тут, коли буде готово.',
|
|
332
|
+
'connect.oauth_paste': '🔑 Після авторизації встав код сюди наступним повідомленням — я видалю його з історії.',
|
|
333
|
+
'connect.oauth_waiting': '⏳ Очікую авторизацію…',
|
|
334
|
+
'connect.oauth_loopback': '🔑 Після підтвердження браузер спробує відкрити сторінку `localhost`, яка не завантажиться — це нормально. Скопіюй цей URL з адресного рядка і надішли наступним повідомленням (або лише значення `code`). Я видалю його з історії та завершу вхід.',
|
|
335
|
+
'connect.oauth_invalid_reply': '❌ Це не схоже ні на callback-URL, ні на код авторизації. Після підтвердження надішли `localhost`-callback URL з браузера (або значення `code`).',
|
|
336
|
+
'connect.oauth_callback_no_flow': '⚠️ Схоже на OAuth callback-URL, але зараз вхід не виконується — я його видалив. Запусти /connect, щоб почати заново.',
|
|
337
|
+
'connect.oauth_success': '✅ `{provider}` підключено через OAuth. Облікові дані сервера OpenCode оновлено.',
|
|
338
|
+
'connect.oauth_failed': '⚠️ OAuth-вхід для `{provider}` не завершено. Запусти /connect ще раз.',
|
|
339
|
+
'quit_all.none_active': 'Немає запущених агентів — нема чого зупиняти.',
|
|
340
|
+
'quit_all.summary': '🚪 Завершено {stopped} з {total} активних агентів.',
|
|
341
|
+
'quit_all.general_only': 'Команда `/quit-all` доступна лише в топіку General.',
|
|
342
|
+
'clearMessages.summary': '🗑 Видалено {deleted} з {total} повідомлень. ' +
|
|
343
|
+
'Telegram відмовляється видаляти будь-що старше за 48 год — решта лишається в історії.',
|
|
344
|
+
'clearMessages.no_messages': 'Немає повідомлень для видалення в цьому треді.',
|
|
345
|
+
'edited.hint': '✏️ Я не сприймаю відредаговані повідомлення як новий ввід — надішли виправлення окремим повідомленням.',
|
|
346
|
+
'voice.no_api_key': 'Для голосу потрібен `GROQ_API_KEY` (безкоштовно) або `OPENAI_API_KEY`.',
|
|
347
|
+
'voice.failed': 'Не вдалося розпізнати голосове повідомлення.',
|
|
348
|
+
'voice.retrying': '⚠️ Не вдалося розпізнати голосове повідомлення ({error}). Повторю через {seconds} с…',
|
|
349
|
+
'voice.transcribed': '🎤 {text}',
|
|
350
|
+
'file.too_big': '📎 Файл перевищує ліміт Bot API ({cap} МБ) — я не можу його завантажити. Надішли менший файл.',
|
|
351
|
+
'file.download_failed': '📎 Не вдалося завантажити файл. Спробуй ще раз.',
|
|
352
|
+
'error.workdir.gone': '📁 Папка `{subdir}` зникла з диска. Виконай /bind <newdir>.',
|
|
353
|
+
'error.tg.thread.deleted': '⚠️ Тред видалено в Telegram; прив\'язку знято.',
|
|
354
|
+
'error.tg.thread.closed': '🔒 Тред {key} закрито — відкрий його заново в клієнті Telegram, або видали повністю.',
|
|
355
|
+
'error.tg.perm.delete': '🔐 Не можу видаляти повідомлення. Надай боту право `can_delete_messages`.',
|
|
356
|
+
'error.tg.perm.manage_topics': '🔐 Бракує права `can_manage_topics`. Зроби мене адміністратором групи.',
|
|
357
|
+
'error.state.corrupted': '⚠️ state.json був пошкоджений; прив\'язки скинуто. Повтори /bind де потрібно.',
|
|
358
|
+
'error.start_in_general': 'Не можна запускати агента в General — це службовий топік. Відкрий тематичний тред.',
|
|
359
|
+
'cb.access_denied': 'Доступ заборонено',
|
|
360
|
+
'cb.bind_only_topical': '/bind працює лише в тематичних тредах',
|
|
361
|
+
'cb.binding_to': 'Прив\'язую до {subdir}…',
|
|
362
|
+
'cb.no_active_session': 'Немає активної сесії',
|
|
363
|
+
'cb.model_error': 'Помилка: {error}',
|
|
364
|
+
'cb.model_set': 'Модель: {model}',
|
|
365
|
+
'cb.model_provider_gone': 'Цього провайдера більше немає — запусти /model знову',
|
|
366
|
+
'cb.model_recent_gone': 'Цієї моделі більше немає серед нещодавніх — запусти /model знову',
|
|
367
|
+
'cb.model_hidden': 'Приховано: {provider}',
|
|
368
|
+
'cb.model_shown': 'Показано: {provider}',
|
|
369
|
+
'cb.disconnect_expired': 'Це меню відключення застаріло — запусти /disconnect знову',
|
|
370
|
+
'cb.not_supported': 'Не підтримується для {label}',
|
|
371
|
+
'cb.unknown_agent': 'Невідомий агент',
|
|
372
|
+
'cb.agent_switched': 'Переключено на {label}',
|
|
373
|
+
'cb.resume_only_topical': 'Resume працює лише в тематичних тредах',
|
|
374
|
+
'cb.bind_folder_first': 'Спершу прив\'яжи папку через /bind',
|
|
375
|
+
'cb.agent_not_running': 'Агент не запущений',
|
|
376
|
+
'cb.no_pending_question': 'Немає питання, що очікує',
|
|
377
|
+
'cb.connect_method_expired': 'Це меню підключення застаріло — запусти /connect ще раз',
|
|
378
|
+
'cb.invalid_option': 'Некоректний варіант',
|
|
379
|
+
'cb.sent_option': 'Надіслано: {option}',
|
|
380
|
+
'cb.effort_set': 'Effort: {level}',
|
|
381
|
+
'cb.effort_error': 'Помилка: {error}',
|
|
382
|
+
'cb.claudeMode_already': 'Вже активно',
|
|
383
|
+
'cb.claudeMode_switching': 'Переключаю…',
|
|
384
|
+
'claudeMode.pick': '⚙️ Бекенд Claude Code — зараз: {label}\nОбери бекенд (переключення зберігає той самий діалог):',
|
|
385
|
+
'claudeMode.not_claude': 'Цей топік не на Claude Code — /claude_mode переключає лише бекенд Claude.',
|
|
386
|
+
'claudeMode.already': 'Вже {label}.',
|
|
387
|
+
'claudeMode.set_idle': '⚙️ Бекенд Claude: {label} — застосується при наступному старті.',
|
|
388
|
+
'claudeMode.switched_resumed': '⚙️ Переключено на {label} — той самий діалог продовжено.',
|
|
389
|
+
'claudeMode.switched_fresh': '⚙️ Переключено на {label} — почато нову сесію.',
|
|
390
|
+
'claudeMode.perTurn_refused': '⚠️ Per-turn потребує Claude Code {min} або новішого — ця розмова востаннє йшла на {version}. Бекенд не змінено.',
|
|
391
|
+
'cb.thinking_set': 'Розмірковування: {mode}',
|
|
392
|
+
'cb.thinking_error': 'Помилка: {error}',
|
|
393
|
+
'cb.toolresults_set': 'Результати інструментів: {mode}',
|
|
394
|
+
'cb.toolresults_error': 'Помилка: {error}',
|
|
395
|
+
'cb.subagent_set': 'Суб-агенти: {mode}',
|
|
396
|
+
'cb.subagent_error': 'Помилка: {error}',
|
|
397
|
+
'cb.verbosity_set': 'Деталізація виводу: {mode}',
|
|
398
|
+
'cb.verbosity_error': 'Помилка: {error}',
|
|
399
|
+
'cb.view_set': 'Цей топік показує: {view}',
|
|
400
|
+
'session.list_header': 'Сесії для відновлення ({label}):',
|
|
401
|
+
'session.list_footer': 'Надішли 1–{max} щоб відновити · 0 для виходу',
|
|
402
|
+
'session.none': 'Немає сесій для відновлення в цій папці.',
|
|
403
|
+
'session.cancelled': 'Скасовано. Вибір сесії закрито.',
|
|
404
|
+
'session.invalid': 'Неправильний номер. Введи значення від 1 до {max}.',
|
|
405
|
+
'session.resumed': 'Сесію відновлено. Надішли повідомлення:',
|
|
406
|
+
'session.resume_failed': 'Не вдалося відновити сесію: {error}',
|
|
407
|
+
'session.expired': 'Список сесій застарів. Запусти /sessions знову.',
|
|
408
|
+
'session.load_failed': 'Не вдалося завантажити список сесій.',
|
|
409
|
+
'resume.context_header': '↩️ Відновлено — останні {count} повідомлень:',
|
|
410
|
+
'resume.context_user_label': '👤',
|
|
411
|
+
'resume.context_assistant_label': '🤖',
|
|
412
|
+
'recap.missedCountHeader': '⚠️ Поки бот був недоступний, пропущено повідомлень: {count}. Останнє із сесії:',
|
|
413
|
+
'recap.restartedFallbackHeader': '🔄 Бот перезапущено. Останнє із сесії:',
|
|
414
|
+
'recap.stillWorkingLine': '⏳ Агент усе ще працює…',
|
|
415
|
+
'trace.onThisThreadReply': '🔎 Трейс увімкнено для цього треда.',
|
|
416
|
+
'trace.offThisThreadReply': '🔎 Трейс вимкнено для цього треда.',
|
|
417
|
+
'trace.onAllThreadsReply': '🔎 Трейс увімкнено для ВСІХ тредів.',
|
|
418
|
+
'trace.offAllThreadsReply': '🔎 Трейс вимкнено всюди (прапорець «all» і список тредів очищено).',
|
|
419
|
+
'trace.statusReply': '🔎 Трейс — цей тред: {thisThread}\nУсі треди: {allThreads}\nТредів у трейсі: {count}',
|
|
420
|
+
'trace.statusOnLabel': 'увімк',
|
|
421
|
+
'trace.statusOffLabel': 'вимк',
|
|
422
|
+
'trace.usageHint': 'Використання: /trace on | off | on all | off all | (без аргументу — статус)',
|
|
423
|
+
'timestamps.onReply': '🕐 Мітки часу увімкнено: кожен промпт, переданий агенту, отримує час відправлення першим рядком (у топік ніколи не публікується).',
|
|
424
|
+
'timestamps.offReply': '🕐 Мітки часу вимкнено для цього треда.',
|
|
425
|
+
'timestamps.statusOnReply': '🕐 Мітки часу: увімкнено для цього треда.',
|
|
426
|
+
'timestamps.statusOffReply': '🕐 Мітки часу: вимкнено для цього треда.',
|
|
427
|
+
'timestamps.usageHint': 'Використання: /timestamps on | off | (без аргументу — статус)',
|
|
428
|
+
'schedule.fired': '⏰ Розклад «{name}» ({schedule}){missedNote}\n\n{prompt}',
|
|
429
|
+
'schedule.missedNote': ' — пропущено о {time}, надолужую',
|
|
430
|
+
'schedule.checkFailed': '🚨 Перевірка «{name}» не пройшла: {failure} ({schedule}){missedNote}\n$ {command}\n\n{output}\n\nБуджу агента. Нових тривог не буде, доки перевірка знову не пройде.',
|
|
431
|
+
'schedule.checkRecovered': '✅ Перевірка «{name}» знову проходить.',
|
|
432
|
+
'schedule.pausedUnbound': '⏸ Розкладів на паузі: {count} — топік відв\'язано від папки. /bind поверне їх у роботу.',
|
|
433
|
+
'schedule.resumedRebind': '▶️ Розкладів відновлено: {count} (наступний запуск перераховано від поточного моменту).',
|
|
434
|
+
'schedule.noAgent': '⚠️ Нічого не заплановано — у цій темі не запущено жодного агента, тож запланованому запуску не буде чого запускати. Спочатку запустіть /claude або /opencode.',
|
|
435
|
+
'schedule.currentTimeNote': 'Current time is {now} in timezone {zone}. Resolve every relative time phrasing ("tomorrow", "in 2 hours", "9am") against THAT clock — the schedule fires in the same timezone.',
|
|
436
|
+
'schedule.forwardPromptTemplate': 'The user wants to schedule the following. Use the schedule_create / schedule_list / schedule_cancel MCP tools (cron for repeats, one-shot for a single run), translating any time phrasing into the right schedule, then confirm to the user IN UKRAINIAN what you scheduled.\n\n{timeNote}\n\nRequest: {text}',
|
|
437
|
+
'schedule.interviewPromptTemplate': 'The user invoked /schedule with no details. Ask them IN UKRAINIAN what prompt they want scheduled and WHEN (one-time or repeating). Once you have both, create it with the schedule_create MCP tool and confirm IN UKRAINIAN what you scheduled.\n\n{timeNote}',
|
|
438
|
+
// ── /reminders (bot-local reminders: buttons only, no agent involved) ──
|
|
439
|
+
'reminders.fired': '🔔 {text}\n\n📅 {schedule}{missedNote}',
|
|
440
|
+
'reminders.scheduleDaily': 'щодня о {time}',
|
|
441
|
+
'reminders.scheduleWeekdays': 'у робочі дні о {time}',
|
|
442
|
+
'reminders.scheduleWeekly': '{weekday} о {time}',
|
|
443
|
+
'reminders.scheduleMonthly': '{dayOfMonth}-го числа о {time}',
|
|
444
|
+
'reminders.scheduleOnce': '{date} о {time}',
|
|
445
|
+
'reminders.scheduleRaw': 'cron {text}',
|
|
446
|
+
'reminders.nextRunToday': 'сьогодні о {time}',
|
|
447
|
+
'reminders.nextRunTomorrow': 'завтра о {time}',
|
|
448
|
+
'reminders.nextRunOnDate': '{date} о {time}',
|
|
449
|
+
'reminders.nextRunNone': '—',
|
|
450
|
+
'reminders.hubTitle': '🔔 Нагадування',
|
|
451
|
+
'reminders.hubEmptyLine': 'Нагадувань ще немає.',
|
|
452
|
+
'reminders.hubActiveLine': 'Активних: {count}',
|
|
453
|
+
'reminders.hubLimitLine': 'Активних: {count} — досягнуто ліміт {limit}. Видали одне, щоб додати нове.',
|
|
454
|
+
'reminders.addButton': '➕ Додати',
|
|
455
|
+
'reminders.listButton': '📋 Список ({count})',
|
|
456
|
+
'reminders.closeButton': '✕ Закрити',
|
|
457
|
+
'reminders.closedNotice': '🔔 Нагадування закрито.',
|
|
458
|
+
'reminders.listTitle': '📋 Нагадування ({count})',
|
|
459
|
+
'reminders.listPageLine': 'Сторінка {page} з {total}',
|
|
460
|
+
'reminders.listRow': '🔔 {name} · {schedule}',
|
|
461
|
+
'reminders.listPrevButton': '‹ Попер.',
|
|
462
|
+
'reminders.listNextButton': 'Далі ›',
|
|
463
|
+
'reminders.listBackToHubButton': '‹ Назад',
|
|
464
|
+
'reminders.cardTitle': '🔔 {name}',
|
|
465
|
+
'reminders.cardWhen': 'Коли: {schedule}',
|
|
466
|
+
'reminders.cardText': 'Текст: «{text}»',
|
|
467
|
+
'reminders.cardNext': 'Наступне: {next}',
|
|
468
|
+
'reminders.cardDeleteButton': '🗑 Видалити',
|
|
469
|
+
'reminders.cardBackToListButton': '‹ До списку',
|
|
470
|
+
'reminders.createdTitle': '✅ Нагадування створено',
|
|
471
|
+
'reminders.doneListButton': '📋 Список',
|
|
472
|
+
'reminders.wizardTitle': '🔔 Нове нагадування',
|
|
473
|
+
'reminders.pickRepeat': 'Повтор: {value}',
|
|
474
|
+
'reminders.pickDate': 'Дата: {value}',
|
|
475
|
+
'reminders.pickWeekday': 'День тижня: {value}',
|
|
476
|
+
'reminders.pickDayOfMonth': 'День місяця: {value}',
|
|
477
|
+
'reminders.pickTime': 'Час: {value}',
|
|
478
|
+
'reminders.pickText': 'Текст: «{value}»',
|
|
479
|
+
'reminders.stepRepeatQuestion': 'КРОК 1/4 · Як часто?',
|
|
480
|
+
'reminders.stepDateQuestion': 'КРОК 2/4 · Який день?',
|
|
481
|
+
'reminders.stepDateGridQuestion': 'КРОК 2/4 · Вибери дату:',
|
|
482
|
+
'reminders.stepWeekdayQuestion': 'КРОК 2/4 · Який день тижня?',
|
|
483
|
+
'reminders.stepDayOfMonthQuestion': 'КРОК 2/4 · Яке число місяця?',
|
|
484
|
+
'reminders.stepDayOfMonthGridQuestion': 'КРОК 2/4 · Вибери число місяця:',
|
|
485
|
+
'reminders.stepTimeQuestion': 'КРОК 3/4 · О котрій годині?',
|
|
486
|
+
'reminders.stepHourQuestion': 'КРОК 3/4 · Вибери годину:',
|
|
487
|
+
'reminders.stepMinuteQuestion': 'КРОК 3/4 · {hour}:__ — вибери хвилини:',
|
|
488
|
+
'reminders.stepTextQuestion': 'КРОК 4/4 · Надішли текст нагадування — напиши його або запиши голосове.',
|
|
489
|
+
'reminders.repeatOnceButton': 'Один раз',
|
|
490
|
+
'reminders.repeatDailyButton': 'Щодня',
|
|
491
|
+
'reminders.repeatWeekdaysButton': 'Будні',
|
|
492
|
+
'reminders.repeatWeeklyButton': 'Щотижня',
|
|
493
|
+
'reminders.repeatMonthlyButton': 'Щомісяця',
|
|
494
|
+
'reminders.dateTodayButton': 'Сьогодні',
|
|
495
|
+
'reminders.dateTomorrowButton': 'Завтра',
|
|
496
|
+
'reminders.dateOtherButton': '✏️ Інша дата…',
|
|
497
|
+
'reminders.dayOfMonthOtherButton': '✏️ Інше число…',
|
|
498
|
+
'reminders.timeOtherButton': '🕐 Інший час',
|
|
499
|
+
'reminders.backButton': '‹ Назад',
|
|
500
|
+
'reminders.cancelButton': '✕ Скасувати',
|
|
501
|
+
'reminders.weekdayMondayButton': 'Пн',
|
|
502
|
+
'reminders.weekdayTuesdayButton': 'Вт',
|
|
503
|
+
'reminders.weekdayWednesdayButton': 'Ср',
|
|
504
|
+
'reminders.weekdayThursdayButton': 'Чт',
|
|
505
|
+
'reminders.weekdayFridayButton': 'Пт',
|
|
506
|
+
'reminders.weekdaySaturdayButton': 'Сб',
|
|
507
|
+
'reminders.weekdaySundayButton': 'Нд',
|
|
508
|
+
'reminders.errorPastTime': '⚠️ Цей час уже минув. Вибери пізніший час або повернись і зміни день.',
|
|
509
|
+
'reminders.errorInvalidDate': '⚠️ Такої дати не існує. Вибери іншу.',
|
|
510
|
+
'reminders.errorInvalidTime': '⚠️ Такого часу того дня немає — переведення годинника. Вибери інший час.',
|
|
511
|
+
'reminders.errorTextTooLong': '⚠️ Текст занадто довгий (максимум {limit} символів) і НЕ збережений. Надішли коротший.',
|
|
512
|
+
'reminders.cancelledNotice': '✕ Скасовано',
|
|
513
|
+
'reminders.expiredNotice': '✕ Час вичерпано — текст нагадування так і не надійшов.',
|
|
514
|
+
'reminders.capReachedNotice': '⚠️ У цій темі вже {limit} нагадувань — видали одне, перш ніж додати нове.',
|
|
515
|
+
'reminders.wizardExpiredCbAnswer': 'Цей майстер застарів — запусти /reminders знову.',
|
|
516
|
+
'reminders.deletedCbAnswer': '🗑 Видалено',
|
|
517
|
+
'reminders.deleteGoneCbAnswer': 'Уже видалено.',
|
|
518
|
+
'reminders.cardExpiredCbAnswer': 'Цього нагадування вже немає.',
|
|
519
|
+
'apiRetry.transientNotice': '⏳ API перевантажено (rate limit) — повторю автоматично через {minutes} хв (спроба {attempt}).',
|
|
520
|
+
'apiRetry.openCodeRetryNotice': '⏳ Помилка провайдера — OpenCode повторить через {minutes} хв (спроба {attempt}){detail}',
|
|
521
|
+
'apiRetry.usageLimitDelayNotice': '🚧 Ліміт вичерпано — повторю через {minutes} хв (спроба {attempt}).',
|
|
522
|
+
'apiRetry.usageLimitResetNotice': '🚧 Ліміт вичерпано — продовжу автоматично після скидання (~{time}).',
|
|
523
|
+
'apiRetry.resuming': '↻ Продовжую…',
|
|
524
|
+
'apiRetry.limitResetResuming': '✅ Вікно ліміту скинуто — продовжую роботу в цій темі.',
|
|
525
|
+
'apiRetry.giveUp': '⚠️ Не вдалося відновити після {attempts} спроб. Напиши, коли продовжити.',
|
|
526
|
+
'apiRetry.continueNudge': 'Продовжуй з того місця, де ти зупинився.',
|
|
527
|
+
'apiRetry.loggedOutClaude': '⚠️ Claude вийшов із системи — виконай /login, щоб продовжити.',
|
|
528
|
+
'apiRetry.loggedOutOpenCode': '⚠️ OpenCode: неправильні облікові дані — перезапусти opencode-сервер.',
|
|
529
|
+
// ── startup readiness status (boot-time owner notice) ──
|
|
530
|
+
'startup.ready': '✅ Готовий — я можу обробляти повідомлення в тредах бота й темах групи.',
|
|
531
|
+
'startup.header_not_ready': '⚠️ Налаштування не завершено. Щоб почати роботу зі мною, будь ласка, виконай ці кроки:',
|
|
532
|
+
'startup.item.create_group': 'Створи forum-супергрупу з увімкненими темами (Topics), потім надішли мені там повідомлення, щоб її прив\'язати.',
|
|
533
|
+
'startup.item.grant_admin': 'Зроби мене адміністратором із такими правами: {missing}.',
|
|
534
|
+
'startup.item.bind_topic': 'Створи тему та прив\'яжи її до папки командою /bind.',
|
|
535
|
+
'startup.item.install_agent': 'Встанови агентський CLI — claude або opencode.',
|
|
536
|
+
'startup.item.optional_groq': '(необов\'язково) Додай GROQ_API_KEY у свій .env і перезапусти, щоб увімкнути голосовий ввід.',
|
|
537
|
+
'startup.item.optional_owner': '(необов\'язково) Задай OWNER_USER_ID, щоб отримувати цей статус у своєму приватному чаті.',
|
|
538
|
+
'requests.alert.notAnsweringNotice': '⚠️ Запит {requestId} залишився без відповіді: агент завершував ходи, не відповідаючи, і нагадування припинено. Перевірте сесію в цій темі.',
|
|
539
|
+
'requests.alert.unreachableNotice': '⚠️ Запит {requestId} залишився без відповіді: до сесії агента не вдалося достукатися з нагадуванням. Перевірте сесію в цій темі.',
|
|
540
|
+
'requests.limit.answerAfterResetNotice': '🚧 Досягнуто ліміту використання — відповідь буде після {time}.',
|
|
541
|
+
'requests.limit.answerNextAttemptNotice': '🚧 Досягнуто ліміту використання — наступна спроба о {time}.',
|
|
542
|
+
'requests.limit.answerAutoResumeOffNotice': '🚧 Досягнуто ліміту використання. Автопродовження вимкнено — робота чекатиме, доки оператор її не відновить.',
|
|
543
|
+
'account.title': '👤 Обліковий запис Claude для цього топіка: {name}\n\n{list}\n\nНатисніть профіль, щоб перемкнути на нього цей топік. У топіку General вибір стає типовим для всіх топіків.',
|
|
544
|
+
'account.titleGeneral': '👤 Обліковий запис Claude — типовий для ВСІХ топіків: {name}\n\n{list}\n\nНатисніть профіль, щоб зробити його типовим. Топіки з власним вибором зберігають його.',
|
|
545
|
+
'account.row.loggedOut': 'не виконано вхід',
|
|
546
|
+
'account.row.topics': ' · топіків: {count}',
|
|
547
|
+
'account.kind.personal': 'особистий {plan}',
|
|
548
|
+
'account.kind.corporate': 'корпоративний {plan}',
|
|
549
|
+
'account.kind.unknown': 'план {plan}',
|
|
550
|
+
'account.removeButton': '🗑 Видалити',
|
|
551
|
+
'account.backButton': '⬅️ Назад',
|
|
552
|
+
'account.followButton': '↩ Як типовий ({name})',
|
|
553
|
+
'account.pickLogin': '🔑 У який профіль увійти знову?',
|
|
554
|
+
'account.pickRemove': '🗑 Який профіль видалити? Його вхід видаляється; топіки, що його обрали, повертаються до типового.',
|
|
555
|
+
'account.nothingToRemove': 'Доданих профілів для видалення немає.',
|
|
556
|
+
'account.confirmRemove': '🗑 Видалити профіль {name} ({email})? Його вхід видаляється, а топіків, що його обрали ({count}), повернуться до типового.',
|
|
557
|
+
'account.confirmRemoveButton': '🗑 Так, видалити {name}',
|
|
558
|
+
'account.removed': '✅ Профіль {name} видалено. Топіків, що тепер використовують типовий: {count}.',
|
|
559
|
+
'account.removeInstanceDefaultRefused': '{name} — типовий профіль для всіх топіків. Спершу оберіть інший у топіку General.',
|
|
560
|
+
'account.unknown': '❌ Профілю {name} немає. Список — /accounts.',
|
|
561
|
+
'account.notLoggedIn': '⚠️ У профіль {name} не виконано вхід. Спершу /accounts login {name}.',
|
|
562
|
+
'account.askName': '➕ Назва нового профілю — малі латинські літери, цифри, - та _, до {max} символів (наприклад, work). Надішліть її наступним повідомленням або виконайте /accounts add <назва>.',
|
|
563
|
+
'account.invalidName': '❌ Назва профілю — малі латинські літери, цифри, - та _, до {max} символів, і не "default".',
|
|
564
|
+
'account.exists': 'Профіль {name} уже існує.',
|
|
565
|
+
'account.created': '✅ Профіль {name} створено. Запускаю вхід…',
|
|
566
|
+
'account.createFailed': '⚠️ Не вдалося створити каталог профілю {name}. Дивіться лог бота.',
|
|
567
|
+
'account.login_url': '🔐 Вхід у Claude для профілю {name}. Відкрийте посилання в браузері, де виконано вхід у ТОЙ обліковий запис — вікно інкогніто або інший профіль браузера не підхопить поточний вхід, — завершіть вхід і надішліть код сюди:\n{url}',
|
|
568
|
+
'account.login_success': '✅ Профіль {name}: виконано вхід як {email} ({plan}).',
|
|
569
|
+
'account.login_failed': '⚠️ Вхід у профіль {name} не вдався. Повторити: /accounts login {name}.',
|
|
570
|
+
'account.setThisTopic': '✅ Обліковий запис Claude для цього топіка: {name}.{apply}',
|
|
571
|
+
'account.setGlobal': '✅ Типовий обліковий запис Claude для ВСІХ топіків: {name}. Топіки з власним вибором зберігають його; решта перемикаються зараз або під час наступного запуску.',
|
|
572
|
+
'account.followSet': '✅ Цей топік використовує типовий обліковий запис Claude ({name}).{apply}',
|
|
573
|
+
'account.usage': 'Використання: /accounts — вибір; /accounts add <назва>; /accounts use <назва>; /accounts login <назва>; /accounts remove <назва>; /accounts autoswitch on|off.',
|
|
574
|
+
'account.applied.inactive': ' Застосується під час наступного запуску або відновлення сесії.',
|
|
575
|
+
'account.applied.unchanged': '',
|
|
576
|
+
'account.applied.respawned': ' Запущену сесію перезапущено під ним — та сама розмова.',
|
|
577
|
+
'account.applied.deferred': ' Агент працює; перемикання застосується після завершення ходу.',
|
|
578
|
+
'account.applied.restartRequired': ' Агент працює; перемикання застосується під час наступного запуску або відновлення.',
|
|
579
|
+
'account.askNameCancelled': '✖ Додавання облікового запису скасовано. Повідомлення знову йдуть агенту.',
|
|
580
|
+
'account.row.usage': ' ⏱ 5год {session} · тиждень {weekly}{fable}',
|
|
581
|
+
'account.row.usageFable': ' · Fable {fable}',
|
|
582
|
+
'account.row.usageStale': ' (застаріло)',
|
|
583
|
+
'account.row.limited': ' ⛔ на ліміті до {until}',
|
|
584
|
+
'account.usageHint': 'Використання: % вікна витрачено, потім коли скинеться (🔄 за 2г = за дві години).',
|
|
585
|
+
'account.autoSwitchHint': 'Що робити при ліміті використання — перемкнутися на запасну модель чи дочекатися скидання — налаштовується в /limits.',
|
|
586
|
+
'fallback.backendClaude': 'Claude',
|
|
587
|
+
'fallback.backendOpenCode': 'OpenCode',
|
|
588
|
+
'fallback.topicModel': 'модель топіка',
|
|
589
|
+
'fallback.topicModelButton': 'залишити модель топіка',
|
|
590
|
+
'fallback.noAgent': 'немає агента',
|
|
591
|
+
'fallback.addButton': '➕ Додати',
|
|
592
|
+
'fallback.clearButton': '🗑 Очистити',
|
|
593
|
+
'fallback.backButton': '⬅️ Назад',
|
|
594
|
+
'fallback.nothingDetected': 'Нічого додавати: не знайдено ні облікового запису Claude з виконаним входом, ні провайдера OpenCode. Спершу увійдіть через /accounts.',
|
|
595
|
+
'fallback.pickAccount': '➕ Оберіть акаунт або провайдера:',
|
|
596
|
+
'fallback.pickModel': '➕ {account} — оберіть модель:',
|
|
597
|
+
'fallback.full': 'У списку не більше {max} моделей.',
|
|
598
|
+
'fallback.alreadyInChain': 'Вже в списку: {label}',
|
|
599
|
+
'fallback.added': '✅ Додано: {label}',
|
|
600
|
+
'fallback.proposeNothing': 'Нічого запропонувати: не знайдено ні акаунта Claude з виконаним входом, ні провайдера OpenCode.',
|
|
601
|
+
'fallback.proposed': '🔄 Список запасних моделей заповнено з підключеного: записів — {count}. Переставте або видаліть їх кнопками.',
|
|
602
|
+
'fallback.cleared': '🗑 Список запасних моделей порожній.',
|
|
603
|
+
'fallback.stale': 'Список змінився після цієї клавіатури — її перемальовано.',
|
|
604
|
+
'fallback.moved': 'Переміщено.',
|
|
605
|
+
'fallback.removed': '🗑 Видалено: {label}',
|
|
606
|
+
'fallback.proposeConfirmButton': '✨ Так, замінити',
|
|
607
|
+
'fallback.switchExpired': 'Цей ліміт уже минув — перемикати нічого.',
|
|
608
|
+
'fallback.switchButton': '🔁 Перемкнути на {label}',
|
|
609
|
+
'fallback.switchOffer': '🪜 Є запасна модель із запасом — натисніть, щоб перевести топік на неї й продовжити зараз.',
|
|
610
|
+
'fallback.switched': '🔁 Ліміт на {from} — топік перемкнено на {to}, робота триває.{reset}',
|
|
611
|
+
'fallback.backgroundStopped': 'Фонові завдання, що ще працювали, зупинено перемиканням.',
|
|
612
|
+
'fallback.switchedReset': ' {from} скинеться о {time}; топік залишається на {to}, доки ви не перемкнете його назад (/accounts, /model, /claude, /opencode).',
|
|
613
|
+
'fallback.switchedDeferred': '🔁 Ліміт на {from} — агент ще працює, тому топік перемкнеться на {to} після завершення ходу; доти очікування лишається.',
|
|
614
|
+
'fallback.switchFailed': '⚠️ Перемикання на {to} не вдалося: {error}. Очікування скидання лишається.',
|
|
615
|
+
'limits.usageHeading': 'Ліміти (% витрачено)',
|
|
616
|
+
'limits.topicRuns': 'Працює на: {current}',
|
|
617
|
+
'limits.settingsGeneral': 'Типово для всіх топіків.',
|
|
618
|
+
'limits.sourceGeneral': 'як у General',
|
|
619
|
+
'limits.sourceTopic': 'задано для цього топіка',
|
|
620
|
+
'limits.sourceLine': '🔁 {switch} · ⏳ {wait}',
|
|
621
|
+
'limits.switchButton': '🔁 Автоперемикання: {state}',
|
|
622
|
+
'limits.waitButton': '⏳ Чекати скидання: {state}',
|
|
623
|
+
'limits.switchMenuTitle': '🔁 Автоперемикання на запасну модель',
|
|
624
|
+
'limits.waitMenuTitle': '⏳ Дочекатися скидання й продовжити',
|
|
625
|
+
'limits.settingSameButton': 'Як у General ({state})',
|
|
626
|
+
'limits.rebuildButton': '🔄 Заповнити з підключених',
|
|
627
|
+
'limits.rebuildConfirm': '🔄 Замінити список новим, зібраним із підключеного? Моделі з 🚫 лишаться виключеними.',
|
|
628
|
+
'limits.entryEnabled': '✅ Бере участь в автоперемиканні: {label}',
|
|
629
|
+
'limits.entryDisabled': '🚫 Виключено з автоперемикання: {label}',
|
|
630
|
+
'limits.setThisTopic': '✅ {what}: {state} для цього топіка.',
|
|
631
|
+
'limits.setGlobal': '✅ {what}: {state} для УСІХ топіків (перевизначення в топіках зберігаються).',
|
|
632
|
+
'limits.setSame': '✅ {what}: цей топік слідує General ({state}).',
|
|
633
|
+
'limits.whatSwitch': 'Автоперемикання на запасну модель',
|
|
634
|
+
'limits.whatWait': 'Дочекатися скидання й продовжити',
|
|
635
|
+
'limits.usage': 'Використання: /limits — екран; /limits rebuild; /limits clear; /limits switch on|off|same; /limits wait on|off|same («same» — слідувати General, у топіку).',
|
|
636
|
+
'accounts.openCodeSection': '🔌 Провайдери OpenCode (підключені):\n{list}',
|
|
637
|
+
'accounts.openCodeNone': '🔌 Провайдери OpenCode: поки жоден не підключено. Кнопка «➕ Провайдер OpenCode» підключає.',
|
|
638
|
+
'accounts.buttonsHint': 'Натисніть на акаунт, щоб перемкнути на нього цей топік (у General — значення за замовчуванням для всіх). 🔑 — увійти в акаунт чи провайдера знову, 🗑 — видалити акаунт (default розлогінюється), 🔌 — відключити провайдера.',
|
|
639
|
+
'accounts.addClaudeButton': '➕ Обліковий запис Claude',
|
|
640
|
+
'accounts.addProviderButton': '➕ Провайдер OpenCode',
|
|
641
|
+
'accounts.askProvider': '➕ Який провайдер OpenCode? Надішли його id наступним повідомленням (наприклад, openai або openrouter).',
|
|
642
|
+
'accounts.stale': 'Цей екран застарів — його оновлено.',
|
|
643
|
+
'accounts.confirmDisconnect': '🔌 Відключити {provider}? Збережені облікові дані буде видалено.',
|
|
644
|
+
'accounts.confirmDisconnectButton': '🔌 Так, відключити {provider}',
|
|
645
|
+
'limits.listNote': '🪜 Запасні моделі, згори вниз:',
|
|
646
|
+
'limits.listNoteEmpty': '🪜 Запасних моделей поки немає — пробуються лише акаунти Claude з виконаним входом. ➕ Додати або 🔄 Заповнити з підключених.',
|
|
647
|
+
'apiRetry.usageLimitResetOnRungNotice': '🚧 Ліміт вичерпано — усі запасні моделі в ліміті. Топік продовжить на {model} після її скидання (~{time}).',
|
|
648
|
+
'requests.limit.answerAfterResetOnRungNotice': '🚧 Досягнуто ліміту використання — відповідь буде після {time}, на {model}.',
|
|
649
|
+
'usage.resetIn': '🔄 за {time}',
|
|
650
|
+
'usage.unitDay': 'д',
|
|
651
|
+
'usage.unitHour': 'год',
|
|
652
|
+
'usage.unitMinute': 'хв',
|
|
653
|
+
'accounts.disconnectButton': '🔌 Відключити {provider}',
|
|
654
|
+
'accounts.defaultRemovedNote': 'Акаунт default (~/.claude) розлогінено й приховано. Увійти в нього знову: /accounts login default.',
|
|
655
|
+
'account.confirmRemoveDefault': '🗑 Видалити акаунт default ({email})? Збережений вхід у ~/.claude буде видалено: сесії, що працюють на ньому, перестануть працювати, а топікам на ньому знадобиться інший акаунт. Переписка, налаштування, навички й пам’ять лишаються. Він лишиться прихованим, доки ви знову не увійдете в нього.',
|
|
656
|
+
'account.removedDefault': '✅ Акаунт default розлогінено й приховано. Сесії на ньому падатимуть, доки ви не оберете інший акаунт або не ввійдете знову (/accounts login default).',
|
|
657
|
+
'account.removeDefaultFailed': '⚠️ Не вдалося розлогінити акаунт default. Дивіться лог бота.',
|
|
658
|
+
'limits.rungTitle': '🪜 {n} із {total}: {label}',
|
|
659
|
+
'limits.rungReady': '✅ Доступна.',
|
|
660
|
+
'limits.rungLimited': '⛔ У ліміті до {until}.',
|
|
661
|
+
'limits.rungSignedOut': '🔒 Вхід не виконано.',
|
|
662
|
+
'limits.rungMissing': '❓ Більше не пропонується.',
|
|
663
|
+
'limits.rungDisabled': '🚫 Виключена з автоперемикання.',
|
|
664
|
+
'limits.rungHere': '✓ Топік працює на ній.',
|
|
665
|
+
'limits.btnUp': '⬆️ Вище',
|
|
666
|
+
'limits.btnDown': '⬇️ Нижче',
|
|
667
|
+
'limits.btnUse': '✅ Використовувати',
|
|
668
|
+
'limits.btnDontUse': '🚫 Не використовувати',
|
|
669
|
+
};
|
|
670
|
+
//# sourceMappingURL=uk.js.map
|