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/en.js
ADDED
|
@@ -0,0 +1,694 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Canonical English catalog β the reference every other locale
|
|
4
|
+
* falls back to. A key missing in any locale resolves here. When adding a new
|
|
5
|
+
* key, add it here FIRST, then mirror it in every other locale file.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.enDict = void 0;
|
|
9
|
+
exports.enDict = {
|
|
10
|
+
'access.denied': 'Access denied.',
|
|
11
|
+
'access.group_only': 'I only work in the configured forum supergroup.',
|
|
12
|
+
'thread.no_binding': 'π This thread is not bound to a folder. Use /bind <subdir> or pick from the list.',
|
|
13
|
+
'thread.bind_required': 'π Bind a folder first: /bind <subdir>. The agent only ever runs inside the bound folder.',
|
|
14
|
+
'thread.bound': 'π Bound to `{subdir}`.\nRun /claude or /opencode.',
|
|
15
|
+
'thread.unbound': 'π Binding cleared.',
|
|
16
|
+
'thread.general_no_agent': 'General is not bound to a folder β switch to a topical thread to talk to an agent.',
|
|
17
|
+
'thread.welcome_bound': 'π Thread created and auto-bound to `{subdir}` (topic name matched a subfolder).\nRun /claude or /opencode.',
|
|
18
|
+
'thread.welcome_pick': 'π Thread created. Bind a folder: /bind <subdir>, or pick one below.',
|
|
19
|
+
'thread.bind_collision': 'β οΈ Folder `{subdir}` is already used by threads: {threads}.\nBinding added; sessions stay independent (own tmux/SSE).',
|
|
20
|
+
'thread.no_agent_with_binding': 'π Folder `{subdir}` is bound. Run /claude or /opencode to start the dialog.',
|
|
21
|
+
'bind.usage': 'Usage: /bind <subdir>\nExample: /bind overview',
|
|
22
|
+
'bind.current': 'π Currently bound: `{subdir}`',
|
|
23
|
+
'bind.current_none': 'π Not bound yet',
|
|
24
|
+
'bind.in_general': '/bind only works in topical threads, not in General.',
|
|
25
|
+
'bind.invalid_chars': 'β Folder name must not contain control characters.',
|
|
26
|
+
'bind.not_found': 'β Folder `{subdir}` not found under `WORK_ROOT` (`{workRoot}`).',
|
|
27
|
+
'bind.outside_root': 'β Path escapes `WORK_ROOT`.',
|
|
28
|
+
'bind.not_directory': 'β `{subdir}` exists but is not a directory.',
|
|
29
|
+
'bind.leave_button': 'β¬
οΈ Leave current dir',
|
|
30
|
+
'bind.create_button': 'β Create new folder',
|
|
31
|
+
'bind.create_prompt': 'βοΈ Send the new folder name (it will be created under `WORK_ROOT`). Any command cancels.',
|
|
32
|
+
'bind.create_cb': 'Creating a new folderβ¦',
|
|
33
|
+
'bind.create_empty': 'β Name is empty. Send a folder name.',
|
|
34
|
+
'bind.create_separator': 'β Name must not contain `/` or `\\`. Send a plain name.',
|
|
35
|
+
'bind.create_dot_segment': 'β `.` and `..` cannot be used as a folder name.',
|
|
36
|
+
'bind.create_hidden': 'β Name must not start with a dot.',
|
|
37
|
+
'bind.create_invalid_chars': 'β Folder name must not contain control characters.',
|
|
38
|
+
'bind.create_exists': 'π Folder `{subdir}` already exists β binding to it.',
|
|
39
|
+
'bind.create_failed': 'β Failed to create the folder: {error}',
|
|
40
|
+
'ls.header': 'π Subfolders of `{workRoot}`:',
|
|
41
|
+
'ls.empty': 'π No bindable subfolders under `WORK_ROOT`.',
|
|
42
|
+
'list.header': 'π§΅ Thread bindings ({count}):',
|
|
43
|
+
'list.empty': 'π§΅ No bindings yet. Create a thread and run /bind.',
|
|
44
|
+
'list.row': 'β’ {threadId}: `{subdir}` Β· {agent} Β· {status}',
|
|
45
|
+
'list.row_closed': 'β’ {threadId}: `{subdir}` Β· {agent} Β· π closed',
|
|
46
|
+
'new.general_hint': '/new works inside a bound topic β open a thread and run /new to restart its agent session.',
|
|
47
|
+
'help.general': '*Commands in General:*\n' +
|
|
48
|
+
'/ls β list `WORK_ROOT` subfolders\n' +
|
|
49
|
+
'/list β list threads\n' +
|
|
50
|
+
'/status β status of all threads\n' +
|
|
51
|
+
'/quitall β quit every running agent\n' +
|
|
52
|
+
'/whoami /version β debug\n\n' +
|
|
53
|
+
'To talk to an agent β open a topical thread.',
|
|
54
|
+
'help.thread_unbound': '*Thread is not bound to a folder.*\n' +
|
|
55
|
+
'/bind <subdir> β bind (or pick from the list)\n' +
|
|
56
|
+
'/ls β `WORK_ROOT` subfolders (in General)',
|
|
57
|
+
'help.thread_bound': '*Thread bound to `{subdir}`.*\n' +
|
|
58
|
+
'/claude /opencode β start an agent\n' +
|
|
59
|
+
'/terminal β open a shell in this folder\n' +
|
|
60
|
+
'/new β restart the session (old one β /sessions)\n' +
|
|
61
|
+
'/model /sessions β switch\n' +
|
|
62
|
+
'/effort β reasoning-effort level\n' +
|
|
63
|
+
'/verbosity β output detail and what the topic shows (stream / answers)\n' +
|
|
64
|
+
'/quit /status /output β control\n' +
|
|
65
|
+
'/compact β compact agent context\n' +
|
|
66
|
+
'/compact_on_idle β auto-compact after idle (toggle)\n' +
|
|
67
|
+
'/limits β what happens when an agent hits a usage limit (fallback models, switch, wait)\n' +
|
|
68
|
+
'/accounts β Claude accounts and OpenCode providers (pick, add, re-login, remove, connect, disconnect)\n' +
|
|
69
|
+
'/clear β delete thread messages\n' +
|
|
70
|
+
'/c /y /n /enter /up /down /tab /esc β TUI keys (Claude)\n' +
|
|
71
|
+
'/bind β manage binding',
|
|
72
|
+
'doctor.header': 'π *Charness Doctor*',
|
|
73
|
+
'doctor.ok': 'β
{label}',
|
|
74
|
+
'doctor.warn': 'β οΈ {label} β {hint}',
|
|
75
|
+
'doctor.fail': 'β {label} β {hint}',
|
|
76
|
+
'doctor.bot_admin': 'Bot is a group admin',
|
|
77
|
+
'doctor.can_manage_topics': '`can_manage_topics` granted',
|
|
78
|
+
'doctor.can_delete_messages': '`can_delete_messages` granted',
|
|
79
|
+
'doctor.can_pin_messages': '`can_pin_messages` granted',
|
|
80
|
+
'doctor.privacy_off': 'Privacy mode disabled',
|
|
81
|
+
'doctor.privacy_hint': '@BotFather β /setprivacy β Disable, then remove and re-add the bot',
|
|
82
|
+
'doctor.workroot_subdirs': '`WORK_ROOT`: `{workRoot}` ({count} subfolders)',
|
|
83
|
+
'doctor.datadir_path': '`DATA_DIR`: `{dataDir}`',
|
|
84
|
+
'doctor.claude_installed': 'claude CLI installed',
|
|
85
|
+
'doctor.opencode_installed': 'opencode CLI installed',
|
|
86
|
+
'doctor.state_valid': 'state.json valid ({bindings} bindings, {active} active)',
|
|
87
|
+
'doctor.state_archived': 'previous state.json was corrupted, archive: {path}',
|
|
88
|
+
'doctor.cli_missing': 'not found in PATH (auto-install will run on /claude or /opencode)',
|
|
89
|
+
'doctor.no_admin_info': 'cannot read bot rights β getChatMember failed',
|
|
90
|
+
'onboarding.welcome': 'π *Charness 2.0*\n\n' +
|
|
91
|
+
'Ready-to-work checklist:\n' +
|
|
92
|
+
'1οΈβ£ Make me a group admin with rights:\n' +
|
|
93
|
+
' β’ Manage Topics, Delete Messages, Pin Messages\n' +
|
|
94
|
+
'2οΈβ£ @BotFather β /setprivacy β Disable, then remove and re-add me\n' +
|
|
95
|
+
'3οΈβ£ Run /doctor to see what is still missing\n' +
|
|
96
|
+
'4οΈβ£ In each topical thread run /bind <subdir> and start an agent\n\n' +
|
|
97
|
+
'`WORK_ROOT`: `{workRoot}`',
|
|
98
|
+
'binding.welcome.header': 'π Bound to `{subdir}`',
|
|
99
|
+
'binding.welcome.claude_md': 'β’ CLAUDE.md: {size}',
|
|
100
|
+
'binding.welcome.mcp_json': 'β’ `.mcp.json`: {count} servers',
|
|
101
|
+
'binding.welcome.git': 'β’ git: branch `{branch}`{detail}',
|
|
102
|
+
'binding.welcome.git_clean': ', clean',
|
|
103
|
+
'binding.welcome.git_dirty': ', uncommitted changes',
|
|
104
|
+
'binding.welcome.git_none': 'β’ git: not initialised',
|
|
105
|
+
'binding.welcome.start_prompt': 'Start a conversation:',
|
|
106
|
+
'mcp.header': 'π *MCP servers for this thread:*',
|
|
107
|
+
'mcp.row': 'β’ `{name}` β {source}',
|
|
108
|
+
'mcp.empty': 'π No MCP servers configured.',
|
|
109
|
+
'mcp.source_user': 'user (~/.claude/settings.json)',
|
|
110
|
+
'mcp.source_group': 'group (`DATA_DIR`/mcp.json)',
|
|
111
|
+
'mcp.source_project': 'project (`{workDir}/.mcp.json`)',
|
|
112
|
+
'mcp.source_thread': 'thread (`DATA_DIR`/threads/...)',
|
|
113
|
+
'doctor.pin_hint': 'Pinned thread status (Stage 7) will be unavailable',
|
|
114
|
+
'whoami.report': 'π€ user: `{userId}`\nπ¬ chat: `{chatId}`\nπ§΅ thread: `{threadId}`\n' +
|
|
115
|
+
'π allowed: {allowed}\nπ binding: {binding}',
|
|
116
|
+
'whoami.binding_unbound': '(no binding)',
|
|
117
|
+
'pair.success': 'β
Group paired. id: `{groupId}`. The bot is now serving this supergroup.',
|
|
118
|
+
'pair.locked': 'βΉοΈ The group id is set via `ALLOWED_GROUP_ID` β auto-pairing is disabled. ' +
|
|
119
|
+
'To switch groups, change the variable and restart the bot.',
|
|
120
|
+
'pair.only_forum': 'β /pair only works inside a forum supergroup (enable Topics).',
|
|
121
|
+
'pair.not_admin': 'β Only a group administrator or creator can pair the bot.',
|
|
122
|
+
'pair.not_paired': 'group not paired yet (pairing mode)',
|
|
123
|
+
'pair.dm': "βΉοΈ /pair isn't needed in DM mode β the bot serves your private chat.",
|
|
124
|
+
'version.report': '*Charness {bot}*\n' +
|
|
125
|
+
'Node: {node}\n' +
|
|
126
|
+
'tmux: {tmux}\n' +
|
|
127
|
+
'claude: {claude}\n' +
|
|
128
|
+
'opencode: {opencode}',
|
|
129
|
+
'version.unknown': '(unavailable)',
|
|
130
|
+
'status.global_header': 'π *All threads* ({total}):',
|
|
131
|
+
'status.global_row': 'β’ `{key}` β `{subdir}` Β· {agent} Β· {status}',
|
|
132
|
+
'status.global_empty': 'π No threads yet.',
|
|
133
|
+
'status.thread_report': 'Status:\n\nAgent: {agent}\nFolder: {subdir}\nSession: {session}',
|
|
134
|
+
'status.thread_view': 'View: {view}',
|
|
135
|
+
'status.thread_account': 'Account: {account}',
|
|
136
|
+
'status.thread_account_limited': ' Β· β at its limit until {until}',
|
|
137
|
+
'status.thread_account_pending': "Switch pending: {account} β applies when the agent's turn ends or at the next start",
|
|
138
|
+
'status.thread_model': 'Model: {model}',
|
|
139
|
+
'status.thread_effort': 'Effort: {effort}',
|
|
140
|
+
'status.thread_started': 'Started: {started}',
|
|
141
|
+
'status.thread_running': 'running',
|
|
142
|
+
'status.thread_stopped': 'stopped',
|
|
143
|
+
'status.thread_sleeping': 'sleeping β resumes on the next message',
|
|
144
|
+
'status.thread_no_agent': 'none (start /claude or /opencode)',
|
|
145
|
+
'status.thread_no_binding': '(no binding β WORK_ROOT)',
|
|
146
|
+
'status.thread_workdir': 'Working directory: {workDir}',
|
|
147
|
+
'status.thread_runtime_version': 'Runtime version: {version}',
|
|
148
|
+
'status.thread_context': 'Context: {used} / {limit} tokens',
|
|
149
|
+
'language.status': 'π Language: {display}',
|
|
150
|
+
'language.set_success': 'β
Language set to `{locale}` for this chat.',
|
|
151
|
+
'language.auto_success': 'β
Language reset to auto. Current: {display}.',
|
|
152
|
+
'language.invalid': 'β οΈ Locale `{locale}` is not supported. Available: {locales}.',
|
|
153
|
+
'timezone.status': 'π Timezone: {zone} β now {now}',
|
|
154
|
+
'timezone.usage': 'Usage: /timezone <IANA zone> Β· /timezone +04:00 Β· /timezone auto\nOr send /timezone with no argument to pick from a list.',
|
|
155
|
+
'timezone.set_success': 'β
Timezone: {zone} β now {now}\nSchedules recomputed: {count}',
|
|
156
|
+
'timezone.auto_success': 'β
Timezone reset to the host zone: {zone} β now {now}\nSchedules recomputed: {count}',
|
|
157
|
+
'timezone.invalid': 'β οΈ Unknown timezone `{zone}`. Use an IANA name (e.g. `Europe/Moscow`) or a fixed offset (e.g. `+04:00`). Send /timezone to pick from a list.',
|
|
158
|
+
'timezone.offset_unsupported': 'β οΈ The offset `{zone}` cannot be applied β only whole-hour offsets take effect. Use your zone\'s IANA name instead (e.g. `Asia/Kolkata` for +05:30).',
|
|
159
|
+
'timezone.fixed_offset_warning': 'β οΈ A fixed offset does not follow daylight saving time β it will be an hour off for half the year.',
|
|
160
|
+
'timezone.picker_regions': 'π Timezone: {zone}\nNow: {now}\n\nPick a region:',
|
|
161
|
+
'timezone.picker_zones': 'π {region} β page {page}/{total}',
|
|
162
|
+
'timezone.picker_expired': 'That list is out of date β send /timezone again.',
|
|
163
|
+
'agent.ready': '{label} ready in `{subdir}`{argsSuffix}\n{infoBlock}Send a message:',
|
|
164
|
+
'agent.ready_model': 'π§ Model: {model}',
|
|
165
|
+
'agent.no_session': 'No agent running. /claude or /opencode to start.',
|
|
166
|
+
'agent.session_ended': '{label}: session ended',
|
|
167
|
+
'agent.stopped': '{label} stopped',
|
|
168
|
+
'agent.sleeping_released': 'The sleeping session was released β the next message starts a fresh one.',
|
|
169
|
+
'agent.resume_failed_fresh': 'β οΈ The previous conversation could not be resumed β a fresh session was started.',
|
|
170
|
+
'agent.exit_signal_sent': 'Double Ctrl+C sent β {label} exiting',
|
|
171
|
+
'agent.already_active': '{label} is already running here. Send a message or /quit.',
|
|
172
|
+
'agent.starting': 'Starting {label} in `{subdir}`β¦',
|
|
173
|
+
'agent.queued_starting': 'β³ {label} is still starting β your message is queued and will be sent once it is ready.',
|
|
174
|
+
'agent.question_hint': 'βΉοΈ Reply with the option number (e.g. 1) or y/n. Also: /up /down to move, /enter to confirm, /c to cancel.',
|
|
175
|
+
'agent.start_failed': 'Failed to start {label}: {error}',
|
|
176
|
+
'agent.no_response': 'β οΈ The agent accepted your request but never started responding β the session may be stuck. Send it again, or /new to start a fresh session.',
|
|
177
|
+
'agent.session_restarting': 'β οΈ The agent didn\'t respond β the session looks stuck. Restarting it and re-running your requestβ¦',
|
|
178
|
+
'agent.session_recovering': 'β οΈ The agent didn\'t respond β recovering (your conversation is kept) and re-running your requestβ¦',
|
|
179
|
+
'agent.question_cancelled_for_prompt': 'β οΈ Previous question cancelled β running your new request.',
|
|
180
|
+
'agent.question_cancelled_msg_label': 'β Question cancelled: {header}',
|
|
181
|
+
'agent.login_code_relayed': 'π Login code relayed to Claude β the token message was deleted from history.',
|
|
182
|
+
'agent.login_url': 'π To sign in to Claude, open this link, complete sign-in, then paste the code back here:\n{url}',
|
|
183
|
+
'agent.login_success': 'β
Signed in to Claude.',
|
|
184
|
+
'agent.login_failed': 'β οΈ Claude sign-in failed. Run /login to try again.',
|
|
185
|
+
'login.esc_hint': '/esc to cancel',
|
|
186
|
+
'login.waiting_code': 'β³ Waiting for the login code β paste the code from the sign-in link as your next message.',
|
|
187
|
+
'login.cancelled': 'β Login cancelled. Messages go to the agent again.',
|
|
188
|
+
'agent.workingIndicator': '{glyph} workingβ¦',
|
|
189
|
+
'terminal.ready': 'π₯ Terminal ready in `{subdir}`{argsSuffix}\nEvery message runs as a command. /c β Ctrl+C, /up /down β history, /tab β completion, /quit β close.',
|
|
190
|
+
'effort.choose': 'βοΈ Current effort: {current}\nPick a level:',
|
|
191
|
+
'effort.current_none': 'not set',
|
|
192
|
+
'effort.set_success': 'β
Effort: {level}',
|
|
193
|
+
'effort.current_hint': 'βοΈ Effort: {effort}\nRun /effort to change it',
|
|
194
|
+
'effort.invalid_level': 'β οΈ Level `{level}` is not valid. Available: {valid}.',
|
|
195
|
+
'effort.not_available': 'βΉοΈ No reasoning-effort levels are available for the current model.',
|
|
196
|
+
'effort.not_supported': 'βΉοΈ Model `{model}` has no reasoning-effort levels.',
|
|
197
|
+
'effort.start_agent_first': 'βΉοΈ Level saved. No agent running β it will apply on next start.',
|
|
198
|
+
'effort.cleared_on_model_switch': 'βΉοΈ Effort `{level}` cleared: the new model `{model}` does not support it.',
|
|
199
|
+
'effort.unsupported_backend': 'Effort control is not supported for {label}.',
|
|
200
|
+
'effort.no_session': 'No agent running. Start one with /claude or /opencode.',
|
|
201
|
+
'thinking.live': 'β’β’β’',
|
|
202
|
+
'thinking.thoughtForSeconds': 'π thought for {seconds}s',
|
|
203
|
+
'thinking.choose': 'βοΈ Current thinking mode: {current}\nPick a mode:',
|
|
204
|
+
'thinking.set_success': 'β
Thinking mode: {mode}',
|
|
205
|
+
'thinking.invalid_mode': 'β οΈ Mode `{mode}` is not valid. Available: {valid}.',
|
|
206
|
+
'thinking.mode.minimal': 'minimal',
|
|
207
|
+
'thinking.mode.short': 'short',
|
|
208
|
+
'thinking.mode.full': 'full',
|
|
209
|
+
'toolResults.choose': 'π§ Current tool-results mode: {current}\nPick a mode:',
|
|
210
|
+
'toolResults.set_success': 'β
Tool-results mode: {mode}',
|
|
211
|
+
'toolResults.invalid_mode': 'β οΈ Mode `{mode}` is not valid. Available: {valid}.',
|
|
212
|
+
'toolResults.mode.minimal': 'minimal',
|
|
213
|
+
'toolResults.mode.short': 'short',
|
|
214
|
+
'toolResults.mode.full': 'full',
|
|
215
|
+
'toolResults.truncated_footer': 'β¦ (truncated, /tool_results full)',
|
|
216
|
+
'toolResults.activity_status': 'π§ {tool} β¦',
|
|
217
|
+
'toolResults.activity_fallback': 'tool',
|
|
218
|
+
'subagent.status_elapsed': 'π€ sub-agent: {title} Β· {elapsed}',
|
|
219
|
+
'subagent.panel_fold_status': 'π€ sub-agent working β¦',
|
|
220
|
+
'subagent.delegating_status': 'π€ Delegating: {title} β¦',
|
|
221
|
+
'subagent.chunk_prefix': 'π€ β€·',
|
|
222
|
+
'subagent.fallback_title': 'sub-agent',
|
|
223
|
+
'subagent.choose': 'π€ Current sub-agent mode: {current}\nPick a mode:',
|
|
224
|
+
'subagent.set_success': 'β
Sub-agent mode: {mode}',
|
|
225
|
+
'subagent.invalid_mode': 'β οΈ Mode `{mode}` is not valid. Available: {valid}.',
|
|
226
|
+
'subagent.mode.minimal': 'minimal',
|
|
227
|
+
'subagent.mode.short': 'short',
|
|
228
|
+
'subagent.mode.full': 'full',
|
|
229
|
+
'verbosity.choose': 'π Verbosity β detail: {current} Β· view: {view}\nRow 1 β detail of the stream Β· Row 2 β what this topic shows:',
|
|
230
|
+
'verbosity.set_success': 'β
Output verbosity: {mode} (thinking, tool results, sub-agents)',
|
|
231
|
+
'verbosity.invalid_mode': 'β οΈ `{mode}` is not valid. Detail levels: {valid}. Views: {views}.',
|
|
232
|
+
'verbosity.custom': 'custom (thinking: {thinking} Β· tools: {toolResults} Β· sub-agents: {subagent})',
|
|
233
|
+
'verbosity.mode.minimal': 'minimal',
|
|
234
|
+
'verbosity.mode.short': 'short',
|
|
235
|
+
'verbosity.mode.full': 'full',
|
|
236
|
+
'verbosity.view.stream': 'Stream only',
|
|
237
|
+
'verbosity.view.streamAnswers': 'Stream + answers',
|
|
238
|
+
'verbosity.view.answers': 'Answers only',
|
|
239
|
+
'verbosity.view_set_success': 'β
This topic shows: {view} (applies from the next message)',
|
|
240
|
+
'model.set_success': 'π§ Model set to: {model}',
|
|
241
|
+
'model.saved_for_next_start': 'Model saved: {model} β applies on next agent start.',
|
|
242
|
+
'model.start_agent_first': 'No active session. Start an agent first.',
|
|
243
|
+
'model.current_default': 'default',
|
|
244
|
+
'model.none_available': 'π§ Current: {current}\n\nNo models available. Use /model <provider/model> to set one manually.',
|
|
245
|
+
'model.invalid_number': 'β Invalid number. Run /model to see the list.',
|
|
246
|
+
'model.pick_provider': 'π§ Current: {current}\n\nPick a provider:',
|
|
247
|
+
'model.all_hidden': 'π§ Current: {current}\n\nEvery provider is hidden. Tap π to bring one back.',
|
|
248
|
+
'model.hidden_header': 'π Hidden from this picker β tap π to restore.',
|
|
249
|
+
'model.provider_button': 'π¦ {provider} ({count})',
|
|
250
|
+
'model.hidden_provider_button': 'π {provider} ({count})',
|
|
251
|
+
'model.hide_button': 'π',
|
|
252
|
+
'model.show_button': 'π',
|
|
253
|
+
'model.back_button': 'β¬
οΈ providers',
|
|
254
|
+
'model.recent_button': 'π Recently used ({count})',
|
|
255
|
+
'model.recent_header': 'π§ Recently used β {count} models\nCurrent: {current}',
|
|
256
|
+
'model.prev_button': 'β¬
οΈ Prev',
|
|
257
|
+
'model.next_button': 'Next β‘οΈ',
|
|
258
|
+
'model.page_button': '{page}/{totalPages}',
|
|
259
|
+
'model.page_header': 'π§ {provider} β {count} models Β· page {page}/{totalPages}\nCurrent: {current}',
|
|
260
|
+
'model.page_hint': 'Reply with a number to pick, or /model <name> to search.',
|
|
261
|
+
'model.page_hint_buttons_only': 'Tap a model to switch, or /model <name> to search.',
|
|
262
|
+
'disconnect.unsupported_backend': 'OpenCode provider disconnect is not available in this build.',
|
|
263
|
+
'disconnect.invalid_provider': 'β Invalid provider id {provider}. Example: /disconnect openrouter',
|
|
264
|
+
'disconnect.no_providers': 'No providers to disconnect.',
|
|
265
|
+
'disconnect.pick_provider': 'Pick a provider to disconnect β its stored credentials will be removed:',
|
|
266
|
+
'disconnect.provider_button': 'π {provider}',
|
|
267
|
+
'disconnect.success': 'β
Provider {provider} disconnected β stored credentials removed.',
|
|
268
|
+
'disconnect.still_active_env': 'β οΈ Stored credentials for {provider} were removed, but it is still active: OpenCode enables it from an environment variable. Unset that variable and restart OpenCode to drop it, or hide it from the picker via /model.',
|
|
269
|
+
'disconnect.failed': 'β οΈ Failed to disconnect {provider}: {reason}',
|
|
270
|
+
'rename_session.usage': 'Usage: /rename_session <new title>',
|
|
271
|
+
'rename_session.start_agent_first': 'No active session. Start an agent first (/claude or /opencode).',
|
|
272
|
+
'rename_session.unsupported_backend': 'Session rename is not supported for {label}.',
|
|
273
|
+
'rename_session.success': 'β
Session renamed: {title}',
|
|
274
|
+
'rename_session.failed': 'β οΈ Failed to rename the session: {reason}',
|
|
275
|
+
'compact.started': 'π§Ή Compacting the session context β the agent continues from the summary.',
|
|
276
|
+
'compact.done': 'β
Context compacted.',
|
|
277
|
+
'compact.done_tokens': 'β
Context compacted: {pre} β {post} tokens.',
|
|
278
|
+
'compact.summaryHeader': 'π Compaction summary:',
|
|
279
|
+
'compact.start_agent_first': 'No active session. Start an agent first (/claude or /opencode).',
|
|
280
|
+
'compact.unsupported_backend': 'Context compaction is not supported for {label}.',
|
|
281
|
+
'compact.model_unresolved': 'β οΈ Cannot compact: no model is resolved for this session. Pick one with /model and try again.',
|
|
282
|
+
'compact.failed': 'β οΈ Failed to compact the session context: {reason}',
|
|
283
|
+
'compact.busy': 'β οΈ The agent is busy right now β run /compact again once the current turn finishes.',
|
|
284
|
+
// Agent-facing (appended to the compaction prompt); English instructions, but
|
|
285
|
+
// the "IN <language>" directive is baked per locale like the schedule.* templates.
|
|
286
|
+
'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 ENGLISH: (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}.',
|
|
287
|
+
'compactOnIdle.notice': 'π§Ή Auto compacted on idle to save tokens via cache.\n/compact_on_idle β turn it off or show the summary.',
|
|
288
|
+
'compactOnIdle.on': 'ON',
|
|
289
|
+
'compactOnIdle.off': 'OFF',
|
|
290
|
+
'compactOnIdle.title': 'π§Ή Auto-compact on idle for this topic: {state}\n{summaryLine}\n\nWhen the session sits idle for ~55 min its context is compacted automatically to save tokens (the prompt cache is still warm).\n\nTo switch it for ALL topics at once, run this in the General topic.',
|
|
291
|
+
'compactOnIdle.titleGeneral': 'π§Ή Auto-compact on idle β default for ALL topics: {state}\n{summaryLine}\n\nWhen a session sits idle for ~55 min its context is compacted automatically to save tokens.\n\nEach topic can still override this with its own /compact_on_idle.',
|
|
292
|
+
'compactOnIdle.enableButton': 'Enable',
|
|
293
|
+
'compactOnIdle.disableButton': 'Disable',
|
|
294
|
+
'compactOnIdle.summaryLine': 'π Summary after a compaction: {state}',
|
|
295
|
+
'compactOnIdle.summaryShowButton': 'π Show summary',
|
|
296
|
+
'compactOnIdle.summaryHideButton': 'Hide summary',
|
|
297
|
+
'compactOnIdle.setThisTopic': 'β
Auto-compact on idle: {state} for this topic.',
|
|
298
|
+
'compactOnIdle.setGlobal': 'β
Auto-compact on idle: {state} for ALL topics (per-topic overrides still apply).',
|
|
299
|
+
'compactOnIdle.unsupported': 'Auto-compact on idle applies to an active agent session. Start /claude or /opencode in a bound topic first.',
|
|
300
|
+
'compactOnIdle.pendingQuestionReask': 'β You still have a pending question. Tap an option to answer it and continue:',
|
|
301
|
+
'compactSummary.on': 'ON',
|
|
302
|
+
'compactSummary.off': 'OFF',
|
|
303
|
+
'compactSummary.title': 'π Post the compaction summary in this topic: {state}\n\nAfter a compaction the agent\'s full summary is written into the topic, so you can see what it kept.\n\nTo switch it for ALL topics at once, run this in the General topic.',
|
|
304
|
+
'compactSummary.titleGeneral': 'π Post the compaction summary β default for ALL topics: {state}\n\nAfter a compaction the agent\'s full summary is written into the topic, so you can see what it kept.\n\nEach topic can still override this with its own /compact_summary.',
|
|
305
|
+
'compactSummary.enableButton': 'Enable',
|
|
306
|
+
'compactSummary.disableButton': 'Disable',
|
|
307
|
+
'compactSummary.setThisTopic': 'β
Compaction summary: {state} for this topic.',
|
|
308
|
+
'compactSummary.setGlobal': 'β
Compaction summary: {state} for ALL topics (per-topic overrides still apply).',
|
|
309
|
+
'compactSummary.unsupported': 'A shell has no context to compact, so there is no summary to post.',
|
|
310
|
+
'autoContinueLimits.on': 'ON',
|
|
311
|
+
'autoContinueLimits.off': 'OFF',
|
|
312
|
+
'autoContinueLimits.skipButton': 'β Skip once',
|
|
313
|
+
'autoContinueLimits.skipDone': 'This resume was skipped.',
|
|
314
|
+
'autoContinueLimits.skipExpired': 'Nothing to skip β this wait is already over.',
|
|
315
|
+
'autoContinueLimits.skippedNotice': 'β Skipped: I will not resume this one by myself. Write to me when to continue β auto-resume stays on for this topic.',
|
|
316
|
+
'autoContinueLimits.noticeHint': 'Run /limits to skip this one resume or to turn waiting off for this topic.',
|
|
317
|
+
'autoContinueLimits.setThisTopic': 'β
Auto-resume after a usage limit: {state} for this topic.',
|
|
318
|
+
'autoContinueLimits.setGlobal': 'β
Auto-resume after a usage limit: {state} for ALL topics (per-topic overrides still apply).',
|
|
319
|
+
'autoContinueLimits.limitReachedDisabled': 'π§ Usage limit reached. Waiting for the reset is off for this topic, so I will wait β write to me when to continue (/limits to turn waiting on).',
|
|
320
|
+
'connect.prompt_key': 'π Send the API key for `{provider}` as the next message. I will delete the key message from history.',
|
|
321
|
+
'connect.empty_key': 'β API key is empty. Send the key as the next message.',
|
|
322
|
+
'connect.invalid_key': 'β That does not look like an API key (it has spaces or non-Latin characters). Send just the key as the next message, or run /connect again.',
|
|
323
|
+
'connect.invalid_provider': 'β Invalid provider id `{provider}`. Example: /connect openai',
|
|
324
|
+
'connect.unsupported_provider': 'β οΈ Provider `{provider}` does not support a simple API-key login through this flow. Use the OpenCode UI/CLI for this provider.',
|
|
325
|
+
'connect.unsupported_backend': 'OpenCode provider auth is not available in this build.',
|
|
326
|
+
'connect.failed': 'β οΈ Failed to connect `{provider}`: {reason}',
|
|
327
|
+
'connect.success': 'β
Provider `{provider}` connected. OpenCode server was not restarted.',
|
|
328
|
+
'connect.cancelled': 'API key entry cancelled.',
|
|
329
|
+
'connect.pick_method': 'How do you want to connect `{provider}`? Pick a method:',
|
|
330
|
+
'connect.no_methods': 'β οΈ No auth methods found for `{provider}`.',
|
|
331
|
+
'connect.oauth_device': 'π To connect `{provider}`: open {url} and enter the code `{code}`, then authorize. On a server, use the *headless* method. I\'ll confirm here when it\'s done.',
|
|
332
|
+
'connect.oauth_url_only': 'π To connect `{provider}`: open {url} and complete sign-in. I\'ll confirm here when it\'s done.',
|
|
333
|
+
'connect.oauth_paste': 'π After authorizing, paste the code here as the next message β I\'ll delete it from history.',
|
|
334
|
+
'connect.oauth_waiting': 'β³ Waiting for authorizationβ¦',
|
|
335
|
+
'connect.oauth_loopback': 'π After authorizing, your browser will try to open a `localhost` page that fails to load β that\'s expected here. Copy that URL from the address bar and paste it back as the next message (or just the `code` value). I\'ll delete it from history and finish sign-in.',
|
|
336
|
+
'connect.oauth_invalid_reply': 'β That does not look like a callback URL or an auth code. After authorizing, paste the `localhost` callback URL from your browser (or the `code` value).',
|
|
337
|
+
'connect.oauth_callback_no_flow': 'β οΈ That looks like an OAuth callback URL, but no sign-in is in progress here β I deleted it. Run /connect to start again.',
|
|
338
|
+
'connect.oauth_success': 'β
`{provider}` connected via OAuth. OpenCode server credentials were reloaded.',
|
|
339
|
+
'connect.oauth_failed': 'β οΈ OAuth sign-in for `{provider}` didn\'t complete. Run /connect to try again.',
|
|
340
|
+
'quit_all.none_active': 'No agents running β nothing to stop.',
|
|
341
|
+
'quit_all.summary': 'πͺ Quit {stopped} of {total} active agents.',
|
|
342
|
+
'quit_all.general_only': '`/quit-all` is only available in the General topic.',
|
|
343
|
+
'clearMessages.summary': 'π Deleted {deleted} of {total} messages. ' +
|
|
344
|
+
'Telegram refuses to delete anything older than 48 h β the rest stays in history.',
|
|
345
|
+
'clearMessages.no_messages': 'No messages to delete in this thread.',
|
|
346
|
+
'edited.hint': 'βοΈ I don\'t treat edited messages as new input β send the correction as a separate message.',
|
|
347
|
+
'voice.no_api_key': 'Voice requires `GROQ_API_KEY` (free) or `OPENAI_API_KEY`.',
|
|
348
|
+
'voice.failed': 'Failed to transcribe voice message.',
|
|
349
|
+
'voice.retrying': 'β οΈ Failed to transcribe voice message ({error}). Retrying in {seconds} sβ¦',
|
|
350
|
+
'voice.transcribed': 'π€ {text}',
|
|
351
|
+
'file.too_big': 'π File exceeds the Bot API limit ({cap} MB) β I can\'t download it. Send a smaller file.',
|
|
352
|
+
'file.download_failed': 'π Failed to download the file. Please try again.',
|
|
353
|
+
'error.workdir.gone': 'π Folder `{subdir}` is gone from disk. Run /bind <newdir>.',
|
|
354
|
+
'error.tg.thread.deleted': 'β οΈ Thread was deleted in Telegram; binding cleared.',
|
|
355
|
+
'error.tg.thread.closed': 'π Thread {key} is closed β reopen it in your Telegram client, or delete it entirely.',
|
|
356
|
+
'error.tg.perm.delete': 'π Can\'t delete messages. Grant the bot `can_delete_messages`.',
|
|
357
|
+
'error.tg.perm.manage_topics': 'π Missing `can_manage_topics`. Make me a group admin.',
|
|
358
|
+
'error.state.corrupted': 'β οΈ state.json was corrupted; bindings reset. Re-run /bind where needed.',
|
|
359
|
+
'error.start_in_general': 'Can\'t start an agent in General β that\'s a service topic. Open a topical thread.',
|
|
360
|
+
'cb.access_denied': 'Access denied',
|
|
361
|
+
'cb.bind_only_topical': '/bind only works in topical threads',
|
|
362
|
+
'cb.binding_to': 'Binding to {subdir}β¦',
|
|
363
|
+
'cb.no_active_session': 'No active session',
|
|
364
|
+
'cb.model_error': 'Error: {error}',
|
|
365
|
+
'cb.model_set': 'Model: {model}',
|
|
366
|
+
'cb.model_provider_gone': 'That provider is gone β run /model again',
|
|
367
|
+
'cb.model_recent_gone': 'That model left the recent list β run /model again',
|
|
368
|
+
'cb.model_hidden': 'Hidden: {provider}',
|
|
369
|
+
'cb.model_shown': 'Shown: {provider}',
|
|
370
|
+
'cb.disconnect_expired': 'This disconnect menu expired β run /disconnect again',
|
|
371
|
+
'cb.not_supported': 'Not supported for {label}',
|
|
372
|
+
'cb.unknown_agent': 'Unknown agent',
|
|
373
|
+
'cb.agent_switched': 'Switched to {label}',
|
|
374
|
+
'cb.resume_only_topical': 'Resume only works in topical threads',
|
|
375
|
+
'cb.bind_folder_first': 'Bind a folder first via /bind',
|
|
376
|
+
'cb.agent_not_running': 'Agent not running',
|
|
377
|
+
'cb.no_pending_question': 'No pending question',
|
|
378
|
+
'cb.connect_method_expired': 'This connect menu expired β run /connect again',
|
|
379
|
+
'cb.invalid_option': 'Invalid option',
|
|
380
|
+
'cb.sent_option': 'Sent: {option}',
|
|
381
|
+
'cb.effort_set': 'Effort: {level}',
|
|
382
|
+
'cb.effort_error': 'Error: {error}',
|
|
383
|
+
'cb.claudeMode_already': 'Already active',
|
|
384
|
+
'cb.claudeMode_switching': 'Switchingβ¦',
|
|
385
|
+
'claudeMode.pick': 'βοΈ Claude Code backend β current: {label}\nPick a backend (switching keeps the same conversation):',
|
|
386
|
+
'claudeMode.not_claude': "This topic isn't on Claude Code β /claude_mode only switches Claude's backend.",
|
|
387
|
+
'claudeMode.already': 'Already {label}.',
|
|
388
|
+
'claudeMode.set_idle': 'βοΈ Claude backend: {label} β applies on next start.',
|
|
389
|
+
'claudeMode.switched_resumed': 'βοΈ Switched to {label} β same conversation resumed.',
|
|
390
|
+
'claudeMode.switched_fresh': 'βοΈ Switched to {label} β started a fresh session.',
|
|
391
|
+
'claudeMode.perTurn_refused': 'β οΈ Per-turn needs Claude Code {min} or newer β this conversation last ran {version}. The backend was not changed.',
|
|
392
|
+
'cb.thinking_set': 'Thinking: {mode}',
|
|
393
|
+
'cb.thinking_error': 'Error: {error}',
|
|
394
|
+
'cb.toolresults_set': 'Tool results: {mode}',
|
|
395
|
+
'cb.toolresults_error': 'Error: {error}',
|
|
396
|
+
'cb.subagent_set': 'Sub-agents: {mode}',
|
|
397
|
+
'cb.subagent_error': 'Error: {error}',
|
|
398
|
+
'cb.verbosity_set': 'Output verbosity: {mode}',
|
|
399
|
+
'cb.verbosity_error': 'Error: {error}',
|
|
400
|
+
'cb.view_set': 'This topic shows: {view}',
|
|
401
|
+
'session.list_header': 'Sessions to resume ({label}):',
|
|
402
|
+
'session.list_footer': 'Send 1β{max} to resume Β· 0 to exit',
|
|
403
|
+
'session.none': 'No resumable sessions in this folder.',
|
|
404
|
+
'session.cancelled': 'Cancelled. Session picker closed.',
|
|
405
|
+
'session.invalid': 'Invalid number. Enter a value from 1 to {max}.',
|
|
406
|
+
'session.resumed': 'Session resumed. Send your message:',
|
|
407
|
+
'session.resume_failed': 'Failed to resume session: {error}',
|
|
408
|
+
'session.expired': 'Session list is stale. Run /sessions again.',
|
|
409
|
+
'session.load_failed': 'Failed to load sessions.',
|
|
410
|
+
'resume.context_header': 'β©οΈ Resumed β last {count} messages:',
|
|
411
|
+
'resume.context_user_label': 'π€',
|
|
412
|
+
'resume.context_assistant_label': 'π€',
|
|
413
|
+
'recap.missedCountHeader': 'β οΈ Missed {count} message(s) while the bot was down. Latest from the session:',
|
|
414
|
+
'recap.restartedFallbackHeader': 'π Bot restarted. Latest from the session:',
|
|
415
|
+
'recap.stillWorkingLine': 'β³ The agent is still workingβ¦',
|
|
416
|
+
'trace.onThisThreadReply': 'π Tracing enabled for this thread.',
|
|
417
|
+
'trace.offThisThreadReply': 'π Tracing disabled for this thread.',
|
|
418
|
+
'trace.onAllThreadsReply': 'π Tracing enabled for ALL threads.',
|
|
419
|
+
'trace.offAllThreadsReply': 'π Tracing disabled everywhere (the Β«allΒ» flag and the thread list are cleared).',
|
|
420
|
+
'trace.statusReply': 'π Trace β this thread: {thisThread}\nAll threads: {allThreads}\nTraced threads: {count}',
|
|
421
|
+
'trace.statusOnLabel': 'on',
|
|
422
|
+
'trace.statusOffLabel': 'off',
|
|
423
|
+
'trace.usageHint': 'Usage: /trace on | off | on all | off all | (no arg β status)',
|
|
424
|
+
'timestamps.onReply': 'π Timestamps enabled: every prompt forwarded to the agent gets the send time as its top line (never posted to the topic).',
|
|
425
|
+
'timestamps.offReply': 'π Timestamps disabled for this thread.',
|
|
426
|
+
'timestamps.statusOnReply': 'π Timestamps: on for this thread.',
|
|
427
|
+
'timestamps.statusOffReply': 'π Timestamps: off for this thread.',
|
|
428
|
+
'timestamps.usageHint': 'Usage: /timestamps on | off | (no arg β status)',
|
|
429
|
+
'schedule.fired': 'β° Schedule "{name}" ({schedule}){missedNote}\n\n{prompt}',
|
|
430
|
+
'schedule.missedNote': ' β missed at {time}, catching up',
|
|
431
|
+
'schedule.checkFailed': 'π¨ Check "{name}" failed: {failure} ({schedule}){missedNote}\n$ {command}\n\n{output}\n\nWaking the agent. No more alerts until the check passes again.',
|
|
432
|
+
'schedule.checkRecovered': 'β
Check "{name}" passes again.',
|
|
433
|
+
'schedule.pausedUnbound': 'βΈ Schedules paused: {count} β the topic was unbound from its folder. /bind will bring them back.',
|
|
434
|
+
'schedule.resumedRebind': 'βΆοΈ Schedules resumed: {count} (next run recomputed from now).',
|
|
435
|
+
'schedule.noAgent': 'β οΈ Nothing scheduled β no agent is running in this topic, so a scheduled run would have nothing to launch. Start /claude or /opencode first.',
|
|
436
|
+
'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.',
|
|
437
|
+
'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 ENGLISH what you scheduled.\n\n{timeNote}\n\nRequest: {text}',
|
|
438
|
+
'schedule.interviewPromptTemplate': 'The user invoked /schedule with no details. Ask them IN ENGLISH 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 ENGLISH what you scheduled.\n\n{timeNote}',
|
|
439
|
+
// ββ /reminders (bot-local reminders: buttons only, no agent involved) ββ
|
|
440
|
+
// A fired reminder LEADS with its own text: this message gets pinned, and the
|
|
441
|
+
// pin's notification previews its first line β the operator must read the
|
|
442
|
+
// reminder itself there, not a header. {schedule} is the LOCALIZED schedule
|
|
443
|
+
// text (`utils/reminderScheduleText`), the same words the list and the card
|
|
444
|
+
// show; {missedNote} is the shared catch-up annotation.
|
|
445
|
+
'reminders.fired': 'π {text}\n\nπ
{schedule}{missedNote}',
|
|
446
|
+
// Schedule wording β one per descriptor kind. `scheduleRaw` renders a cron
|
|
447
|
+
// shape the wizard cannot create (an agent-made job) verbatim.
|
|
448
|
+
'reminders.scheduleDaily': 'every day at {time}',
|
|
449
|
+
'reminders.scheduleWeekdays': 'weekdays at {time}',
|
|
450
|
+
'reminders.scheduleWeekly': '{weekday} at {time}',
|
|
451
|
+
'reminders.scheduleMonthly': 'day {dayOfMonth} at {time}',
|
|
452
|
+
'reminders.scheduleOnce': '{date} at {time}',
|
|
453
|
+
'reminders.scheduleRaw': 'cron {text}',
|
|
454
|
+
// Next fire instant.
|
|
455
|
+
'reminders.nextRunToday': 'today at {time}',
|
|
456
|
+
'reminders.nextRunTomorrow': 'tomorrow at {time}',
|
|
457
|
+
'reminders.nextRunOnDate': '{date} at {time}',
|
|
458
|
+
'reminders.nextRunNone': 'β',
|
|
459
|
+
// Hub screen.
|
|
460
|
+
'reminders.hubTitle': 'π Reminders',
|
|
461
|
+
'reminders.hubEmptyLine': 'No reminders yet.',
|
|
462
|
+
'reminders.hubActiveLine': 'Active: {count}',
|
|
463
|
+
'reminders.hubLimitLine': 'Active: {count} β the limit of {limit} is reached. Delete one to add another.',
|
|
464
|
+
'reminders.addButton': 'β Add',
|
|
465
|
+
'reminders.listButton': 'π List ({count})',
|
|
466
|
+
'reminders.closeButton': 'β Close',
|
|
467
|
+
'reminders.closedNotice': 'π Reminders closed.',
|
|
468
|
+
// List screen.
|
|
469
|
+
'reminders.listTitle': 'π Reminders ({count})',
|
|
470
|
+
'reminders.listPageLine': 'Page {page} of {total}',
|
|
471
|
+
'reminders.listRow': 'π {name} Β· {schedule}',
|
|
472
|
+
'reminders.listPrevButton': 'βΉ Prev',
|
|
473
|
+
'reminders.listNextButton': 'Next βΊ',
|
|
474
|
+
'reminders.listBackToHubButton': 'βΉ Back',
|
|
475
|
+
// Card + created screen.
|
|
476
|
+
'reminders.cardTitle': 'π {name}',
|
|
477
|
+
'reminders.cardWhen': 'When: {schedule}',
|
|
478
|
+
'reminders.cardText': 'Text: "{text}"',
|
|
479
|
+
'reminders.cardNext': 'Next: {next}',
|
|
480
|
+
'reminders.cardDeleteButton': 'π Delete',
|
|
481
|
+
'reminders.cardBackToListButton': 'βΉ To list',
|
|
482
|
+
'reminders.createdTitle': 'β
Reminder created',
|
|
483
|
+
'reminders.doneListButton': 'π List',
|
|
484
|
+
// Add wizard β title, the running summary of what is already picked, and the
|
|
485
|
+
// per-step question.
|
|
486
|
+
'reminders.wizardTitle': 'π New reminder',
|
|
487
|
+
'reminders.pickRepeat': 'Repeat: {value}',
|
|
488
|
+
'reminders.pickDate': 'Date: {value}',
|
|
489
|
+
'reminders.pickWeekday': 'Weekday: {value}',
|
|
490
|
+
'reminders.pickDayOfMonth': 'Day of month: {value}',
|
|
491
|
+
'reminders.pickTime': 'Time: {value}',
|
|
492
|
+
// Shown only when a `once` instant went by while the operator was typing: it
|
|
493
|
+
// proves the text they sent was KEPT, so they pick a new time instead of
|
|
494
|
+
// retyping it (a retyped message is no longer captured and reaches the agent).
|
|
495
|
+
'reminders.pickText': 'Text: "{value}"',
|
|
496
|
+
'reminders.stepRepeatQuestion': 'STEP 1/4 Β· How often?',
|
|
497
|
+
'reminders.stepDateQuestion': 'STEP 2/4 Β· Which day?',
|
|
498
|
+
'reminders.stepDateGridQuestion': 'STEP 2/4 Β· Pick a date:',
|
|
499
|
+
'reminders.stepWeekdayQuestion': 'STEP 2/4 Β· Which weekday?',
|
|
500
|
+
'reminders.stepDayOfMonthQuestion': 'STEP 2/4 Β· Which day of the month?',
|
|
501
|
+
'reminders.stepDayOfMonthGridQuestion': 'STEP 2/4 Β· Pick a day of the month:',
|
|
502
|
+
'reminders.stepTimeQuestion': 'STEP 3/4 Β· At what time?',
|
|
503
|
+
'reminders.stepHourQuestion': 'STEP 3/4 Β· Pick the hour:',
|
|
504
|
+
'reminders.stepMinuteQuestion': 'STEP 3/4 Β· {hour}:__ β pick the minutes:',
|
|
505
|
+
'reminders.stepTextQuestion': 'STEP 4/4 Β· Send the reminder text β type it or record a voice note.',
|
|
506
|
+
'reminders.repeatOnceButton': 'Once',
|
|
507
|
+
'reminders.repeatDailyButton': 'Every day',
|
|
508
|
+
'reminders.repeatWeekdaysButton': 'Weekdays',
|
|
509
|
+
'reminders.repeatWeeklyButton': 'Weekly',
|
|
510
|
+
'reminders.repeatMonthlyButton': 'Monthly',
|
|
511
|
+
'reminders.dateTodayButton': 'Today',
|
|
512
|
+
'reminders.dateTomorrowButton': 'Tomorrow',
|
|
513
|
+
'reminders.dateOtherButton': 'βοΈ Otherβ¦',
|
|
514
|
+
'reminders.dayOfMonthOtherButton': 'βοΈ Otherβ¦',
|
|
515
|
+
'reminders.timeOtherButton': 'π Other time',
|
|
516
|
+
'reminders.backButton': 'βΉ Back',
|
|
517
|
+
'reminders.cancelButton': 'β Cancel',
|
|
518
|
+
'reminders.weekdayMondayButton': 'Mon',
|
|
519
|
+
'reminders.weekdayTuesdayButton': 'Tue',
|
|
520
|
+
'reminders.weekdayWednesdayButton': 'Wed',
|
|
521
|
+
'reminders.weekdayThursdayButton': 'Thu',
|
|
522
|
+
'reminders.weekdayFridayButton': 'Fri',
|
|
523
|
+
'reminders.weekdaySaturdayButton': 'Sat',
|
|
524
|
+
'reminders.weekdaySundayButton': 'Sun',
|
|
525
|
+
// Wizard outcomes. A past instant is REPORTED on the time screen, never rolled
|
|
526
|
+
// forward a day β a silent roll reminds the operator 24h off what they asked.
|
|
527
|
+
'reminders.errorPastTime': 'β οΈ That time has already passed. Pick a later time, or go back and change the day.',
|
|
528
|
+
'reminders.errorInvalidDate': 'β οΈ That date does not exist. Pick another one.',
|
|
529
|
+
// A valid date whose wall clock is skipped by a daylight-saving jump β the DATE is
|
|
530
|
+
// fine, so the operator is sent back to the time, never to the day.
|
|
531
|
+
'reminders.errorInvalidTime': 'β οΈ That time does not exist on that day β the clocks change. Pick another time.',
|
|
532
|
+
// The text is REJECTED, never shortened: it is the operator's own wording, so the
|
|
533
|
+
// limit is stated and they send a shorter one.
|
|
534
|
+
'reminders.errorTextTooLong': 'β οΈ That text is too long ({limit} characters max) and was NOT saved. Send a shorter one.',
|
|
535
|
+
'reminders.cancelledNotice': 'β Cancelled',
|
|
536
|
+
'reminders.expiredNotice': 'β Expired β the reminder text never arrived.',
|
|
537
|
+
'reminders.capReachedNotice': 'β οΈ This topic already has {limit} reminders β delete one before adding another.',
|
|
538
|
+
// Callback-query answers (the little toast on a tap).
|
|
539
|
+
'reminders.wizardExpiredCbAnswer': 'This wizard is out of date β run /reminders again.',
|
|
540
|
+
'reminders.deletedCbAnswer': 'π Deleted',
|
|
541
|
+
'reminders.deleteGoneCbAnswer': 'Already deleted.',
|
|
542
|
+
'reminders.cardExpiredCbAnswer': 'That reminder is gone.',
|
|
543
|
+
'apiRetry.transientNotice': 'β³ API rate-limited β auto-retrying in {minutes} min (attempt {attempt}).',
|
|
544
|
+
'apiRetry.openCodeRetryNotice': 'β³ Provider error β OpenCode retries in {minutes} min (attempt {attempt}){detail}',
|
|
545
|
+
'apiRetry.usageLimitDelayNotice': 'π§ Usage limit reached β retrying in {minutes} min (attempt {attempt}).',
|
|
546
|
+
'apiRetry.usageLimitResetNotice': 'π§ Usage limit reached β will auto-resume after reset (~{time}).',
|
|
547
|
+
'apiRetry.resuming': 'β» Resumingβ¦',
|
|
548
|
+
'apiRetry.limitResetResuming': 'β
The limit window has reset β resuming work in this topic.',
|
|
549
|
+
'apiRetry.giveUp': "β οΈ Couldn't resume after {attempts} attempts. Message me when to continue.",
|
|
550
|
+
'apiRetry.continueNudge': 'Continue from where you left off.',
|
|
551
|
+
'apiRetry.loggedOutClaude': 'β οΈ Claude is logged out β run /login to continue.',
|
|
552
|
+
'apiRetry.loggedOutOpenCode': 'β οΈ OpenCode: invalid credentials β restart the opencode server.',
|
|
553
|
+
// ββ startup readiness status (boot-time owner notice) ββ
|
|
554
|
+
'startup.ready': 'β
Ready β I can handle messages in bot threads and group topics.',
|
|
555
|
+
'startup.header_not_ready': 'β οΈ Setup incomplete. To start working with me, please finish these steps:',
|
|
556
|
+
'startup.item.create_group': 'Create a forum supergroup with Topics enabled, then send me a message there to pair it.',
|
|
557
|
+
'startup.item.grant_admin': 'Make me an admin with these rights: {missing}.',
|
|
558
|
+
'startup.item.bind_topic': 'Create a topic and bind it to a folder with /bind.',
|
|
559
|
+
'startup.item.install_agent': 'Install an agent CLI β claude or opencode.',
|
|
560
|
+
'startup.item.optional_groq': '(optional) Add GROQ_API_KEY to your .env and restart to enable voice input.',
|
|
561
|
+
'startup.item.optional_owner': '(optional) Set OWNER_USER_ID to receive this status in your private chat.',
|
|
562
|
+
'requests.alert.notAnsweringNotice': 'β οΈ Request {requestId} got no answer: the agent ended its turns without answering and the reminders gave up. Check the session in this topic.',
|
|
563
|
+
'requests.alert.unreachableNotice': "β οΈ Request {requestId} got no answer: the agent's session could not be reached to remind it. Check the session in this topic.",
|
|
564
|
+
'requests.limit.answerAfterResetNotice': 'π§ Usage limit reached β the answer will come after {time}.',
|
|
565
|
+
'requests.limit.answerNextAttemptNotice': 'π§ Usage limit reached β next attempt at {time}.',
|
|
566
|
+
'requests.limit.answerAutoResumeOffNotice': 'π§ Usage limit reached. Automatic resume is off, so the work waits until the operator resumes it.',
|
|
567
|
+
'account.title': 'π€ Claude account for this topic: {name}\n\n{list}\n\nTap a profile to switch this topic to it. In the General topic the pick becomes the default for all topics.',
|
|
568
|
+
'account.titleGeneral': 'π€ Claude account β default for ALL topics: {name}\n\n{list}\n\nTap a profile to make it the default. Topics with their own pick keep it.',
|
|
569
|
+
'account.row.loggedOut': 'not signed in',
|
|
570
|
+
'account.row.topics': ' Β· {count} topic(s)',
|
|
571
|
+
'account.kind.personal': 'personal {plan}',
|
|
572
|
+
'account.kind.corporate': 'corporate {plan}',
|
|
573
|
+
'account.kind.unknown': 'plan {plan}',
|
|
574
|
+
'account.removeButton': 'π Remove',
|
|
575
|
+
'account.backButton': 'β¬
οΈ Back',
|
|
576
|
+
'account.followButton': 'β© Follow the default ({name})',
|
|
577
|
+
'account.pickLogin': 'π Which profile should sign in again?',
|
|
578
|
+
'account.pickRemove': 'π Which profile should be removed? Its login is deleted; topics that picked it return to the default.',
|
|
579
|
+
'account.nothingToRemove': 'There are no added profiles to remove.',
|
|
580
|
+
'account.confirmRemove': 'π Remove profile {name} ({email})? Its login is deleted and {count} topic(s) that picked it return to the default.',
|
|
581
|
+
'account.confirmRemoveButton': 'π Yes, remove {name}',
|
|
582
|
+
'account.removed': 'β
Profile {name} removed. {count} topic(s) now follow the default.',
|
|
583
|
+
'account.removeInstanceDefaultRefused': '{name} is the default for all topics. Pick another default in the General topic first.',
|
|
584
|
+
'account.unknown': 'β No profile named {name}. Run /accounts to see the list.',
|
|
585
|
+
'account.notLoggedIn': 'β οΈ Profile {name} is not signed in. Run /accounts login {name} first.',
|
|
586
|
+
'account.askName': 'β Name for the new profile β lowercase letters, digits, - and _, up to {max} characters (e.g. work). Send it as the next message, or run /accounts add <name>.',
|
|
587
|
+
'account.invalidName': 'β A profile name is lowercase letters, digits, - and _, up to {max} characters, and not "default".',
|
|
588
|
+
'account.exists': 'A profile named {name} already exists.',
|
|
589
|
+
'account.created': 'β
Profile {name} created. Starting its sign-inβ¦',
|
|
590
|
+
'account.createFailed': 'β οΈ Could not create the directory for profile {name}. See the bot log.',
|
|
591
|
+
'account.login_url': 'π Sign in to Claude for profile {name}. Open this link in a browser that is signed in as THAT account β an incognito window or another browser profile keeps your current login out of the way β complete the sign-in and paste the code back here:\n{url}',
|
|
592
|
+
'account.login_success': 'β
Profile {name} signed in: {email} ({plan}).',
|
|
593
|
+
'account.login_failed': 'β οΈ Sign-in for profile {name} failed. Run /accounts login {name} to try again.',
|
|
594
|
+
'account.setThisTopic': 'β
Claude account for this topic: {name}.{apply}',
|
|
595
|
+
'account.setGlobal': 'β
Default Claude account for ALL topics: {name}. Topics with their own pick keep it; the others switch now or at their next start.',
|
|
596
|
+
'account.followSet': 'β
This topic follows the default Claude account ({name}).{apply}',
|
|
597
|
+
'account.usage': 'Usage: /accounts β the picker; /accounts add <name>; /accounts use <name>; /accounts login <name>; /accounts remove <name>; /accounts autoswitch on|off.',
|
|
598
|
+
'account.applied.inactive': ' It applies when the session next starts or resumes.',
|
|
599
|
+
'account.applied.unchanged': '',
|
|
600
|
+
'account.applied.respawned': ' The running session was restarted under it β same conversation.',
|
|
601
|
+
'account.applied.deferred': ' The agent is working; the switch applies when its turn ends.',
|
|
602
|
+
'account.applied.restartRequired': ' The agent is working; the switch applies at the next start or resume.',
|
|
603
|
+
'account.askNameCancelled': 'β Adding an account cancelled. Messages go to the agent again.',
|
|
604
|
+
'account.row.usage': ' β± 5h {session} Β· week {weekly}{fable}',
|
|
605
|
+
'account.row.usageFable': ' Β· Fable {fable}',
|
|
606
|
+
'account.row.usageStale': ' (stale)',
|
|
607
|
+
'account.row.limited': ' β at its limit until {until}',
|
|
608
|
+
'account.usageHint': 'Usage: % of each window used, then when it resets (π in 2h = in two hours).',
|
|
609
|
+
'account.autoSwitchHint': 'What happens on a usage limit β switch to a fallback model, or wait for the reset β is set in /limits.',
|
|
610
|
+
'fallback.backendClaude': 'Claude',
|
|
611
|
+
'fallback.backendOpenCode': 'OpenCode',
|
|
612
|
+
'fallback.topicModel': 'topic\'s model',
|
|
613
|
+
'fallback.topicModelButton': 'keep the topic\'s model',
|
|
614
|
+
'fallback.noAgent': 'no agent',
|
|
615
|
+
'fallback.addButton': 'β Add',
|
|
616
|
+
'fallback.clearButton': 'π Clear',
|
|
617
|
+
'fallback.backButton': 'β¬
οΈ Back',
|
|
618
|
+
'fallback.nothingDetected': 'Nothing to add: no signed-in Claude account and no OpenCode provider was detected. Sign in with /accounts first.',
|
|
619
|
+
'fallback.pickAccount': 'β Pick an account or provider:',
|
|
620
|
+
'fallback.pickModel': 'β {account} β pick a model:',
|
|
621
|
+
'fallback.full': 'The list holds at most {max} models.',
|
|
622
|
+
'fallback.alreadyInChain': 'Already in the list: {label}',
|
|
623
|
+
'fallback.added': 'β
Added: {label}',
|
|
624
|
+
'fallback.proposeNothing': 'Nothing to propose: no signed-in Claude account and no OpenCode provider was detected.',
|
|
625
|
+
'fallback.proposed': 'π Filled the list of fallback models from what is connected: {count} entries. Reorder or remove them with the buttons.',
|
|
626
|
+
'fallback.cleared': 'π The list of fallback models is empty now.',
|
|
627
|
+
'fallback.stale': 'The list changed since this keyboard was posted β it is re-rendered.',
|
|
628
|
+
'fallback.moved': 'Moved.',
|
|
629
|
+
'fallback.removed': 'π Removed: {label}',
|
|
630
|
+
'fallback.proposeConfirmButton': 'β¨ Yes, replace',
|
|
631
|
+
'fallback.switchExpired': 'This limit is over β nothing to switch.',
|
|
632
|
+
'fallback.switchButton': 'π Switch to {label}',
|
|
633
|
+
'fallback.switchOffer': 'πͺ A fallback model has room β tap to move this topic to it and continue now.',
|
|
634
|
+
'fallback.switched': 'π Usage limit on {from} β this topic switched to {to} and continues.{reset}',
|
|
635
|
+
'fallback.backgroundStopped': 'Background tasks that were still running were stopped by the switch.',
|
|
636
|
+
'fallback.switchedReset': ' {from} resets at {time}; the topic stays on {to} until you switch it back (/accounts, /model, /claude, /opencode).',
|
|
637
|
+
'fallback.switchedDeferred': 'π Usage limit on {from} β the agent is still working, so this topic switches to {to} when its turn ends; the wait stays armed until then.',
|
|
638
|
+
'fallback.switchFailed': 'β οΈ Switching to {to} failed: {error}. The wait for the reset stays armed.',
|
|
639
|
+
'limits.usageHeading': 'Usage (% used)',
|
|
640
|
+
'limits.topicRuns': 'Runs on: {current}',
|
|
641
|
+
'limits.settingsGeneral': 'Defaults for all topics.',
|
|
642
|
+
'limits.sourceGeneral': 'as in General',
|
|
643
|
+
'limits.sourceTopic': 'set for this topic',
|
|
644
|
+
'limits.sourceLine': 'π {switch} Β· β³ {wait}',
|
|
645
|
+
'limits.switchButton': 'π Auto switch: {state}',
|
|
646
|
+
'limits.waitButton': 'β³ Wait for reset: {state}',
|
|
647
|
+
'limits.switchMenuTitle': 'π Auto switch to a fallback model',
|
|
648
|
+
'limits.waitMenuTitle': 'β³ Wait for the reset and continue',
|
|
649
|
+
'limits.settingSameButton': 'As in General ({state})',
|
|
650
|
+
'limits.rebuildButton': 'π Fill from connected',
|
|
651
|
+
'limits.rebuildConfirm': 'π Replace the list with one built from what is connected? Models marked π« stay left out.',
|
|
652
|
+
'limits.entryEnabled': 'β
Included in automatic switching: {label}',
|
|
653
|
+
'limits.entryDisabled': 'π« Left out of automatic switching: {label}',
|
|
654
|
+
'limits.setThisTopic': 'β
{what}: {state} for this topic.',
|
|
655
|
+
'limits.setGlobal': 'β
{what}: {state} for ALL topics (per-topic overrides still apply).',
|
|
656
|
+
'limits.setSame': 'β
{what}: this topic follows General ({state}).',
|
|
657
|
+
'limits.whatSwitch': 'Auto switch to a fallback model',
|
|
658
|
+
'limits.whatWait': 'Wait for the reset and continue',
|
|
659
|
+
'limits.usage': 'Usage: /limits β the screen; /limits rebuild; /limits clear; /limits switch on|off|same; /limits wait on|off|same (Β«sameΒ» = follow General, in a topic).',
|
|
660
|
+
'accounts.openCodeSection': 'π OpenCode providers (connected):\n{list}',
|
|
661
|
+
'accounts.openCodeNone': 'π OpenCode providers: none connected yet. Β«β OpenCode providerΒ» connects one.',
|
|
662
|
+
'accounts.buttonsHint': 'Tap an account to switch this topic to it (in General: the default for all topics). π signs an account or provider in again, π removes an account (the default one is signed out), π disconnects a provider.',
|
|
663
|
+
'accounts.addClaudeButton': 'β Claude account',
|
|
664
|
+
'accounts.addProviderButton': 'β OpenCode provider',
|
|
665
|
+
'accounts.askProvider': 'β Which OpenCode provider? Send its id as the next message (for example openai or openrouter).',
|
|
666
|
+
'accounts.stale': 'This screen is out of date β it is re-rendered.',
|
|
667
|
+
'accounts.confirmDisconnect': 'π Disconnect {provider}? Its stored credentials are removed.',
|
|
668
|
+
'accounts.confirmDisconnectButton': 'π Yes, disconnect {provider}',
|
|
669
|
+
'limits.listNote': 'πͺ Fallback models, top first:',
|
|
670
|
+
'limits.listNoteEmpty': 'πͺ No fallback models yet β only signed-in Claude accounts are tried. β Add or π Fill from connected.',
|
|
671
|
+
'apiRetry.usageLimitResetOnRungNotice': 'π§ Usage limit reached β every fallback model is limited. This topic will continue on {model} after its reset (~{time}).',
|
|
672
|
+
'requests.limit.answerAfterResetOnRungNotice': 'π§ Usage limit reached β the answer will come after {time}, on {model}.',
|
|
673
|
+
'usage.resetIn': 'π in {time}',
|
|
674
|
+
'usage.unitDay': 'd',
|
|
675
|
+
'usage.unitHour': 'h',
|
|
676
|
+
'usage.unitMinute': 'm',
|
|
677
|
+
'accounts.disconnectButton': 'π Disconnect {provider}',
|
|
678
|
+
'accounts.defaultRemovedNote': 'The default account (~/.claude) is signed out and hidden. Sign it in again with /accounts login default.',
|
|
679
|
+
'account.confirmRemoveDefault': 'π Remove the default account ({email})? Its stored login in ~/.claude is deleted: sessions running on it stop working, and topics on it need another account. Transcripts, settings, skills and memory stay. It stays hidden until you sign in to it again.',
|
|
680
|
+
'account.removedDefault': 'β
The default account is signed out and hidden. Sessions running on it will fail until you pick another account or sign in again (/accounts login default).',
|
|
681
|
+
'account.removeDefaultFailed': 'β οΈ Could not sign the default account out. See the bot log.',
|
|
682
|
+
'limits.rungTitle': 'πͺ {n} of {total}: {label}',
|
|
683
|
+
'limits.rungReady': 'β
Ready.',
|
|
684
|
+
'limits.rungLimited': 'β Limited until {until}.',
|
|
685
|
+
'limits.rungSignedOut': 'π Not signed in.',
|
|
686
|
+
'limits.rungMissing': 'β Not offered any more.',
|
|
687
|
+
'limits.rungDisabled': 'π« Left out of automatic switching.',
|
|
688
|
+
'limits.rungHere': 'β This topic runs on it.',
|
|
689
|
+
'limits.btnUp': 'β¬οΈ Up',
|
|
690
|
+
'limits.btnDown': 'β¬οΈ Down',
|
|
691
|
+
'limits.btnUse': 'β
Use',
|
|
692
|
+
'limits.btnDontUse': 'π« Don\'t use',
|
|
693
|
+
};
|
|
694
|
+
//# sourceMappingURL=en.js.map
|