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/es.js
ADDED
|
@@ -0,0 +1,665 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Machine-translated from en. Native review welcome.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.esDict = void 0;
|
|
5
|
+
exports.esDict = {
|
|
6
|
+
'access.denied': 'Acceso denegado.',
|
|
7
|
+
'access.group_only': 'Solo funciono en el supergrupo foro configurado.',
|
|
8
|
+
'thread.no_binding': '📁 Este hilo no está vinculado a una carpeta. Usa /bind <subdir> o elige de la lista.',
|
|
9
|
+
'thread.bind_required': '📁 Vincula primero una carpeta: /bind <subdir>. El agente solo funciona en la carpeta vinculada.',
|
|
10
|
+
'thread.bound': '📁 Vinculado a `{subdir}`.\nEjecuta /claude o /opencode.',
|
|
11
|
+
'thread.unbound': '📁 Vínculo eliminado.',
|
|
12
|
+
'thread.general_no_agent': 'General no está vinculado a una carpeta — cambia a un hilo temático para hablar con un agente.',
|
|
13
|
+
'thread.welcome_bound': '👋 Hilo creado y vinculado automáticamente a `{subdir}` (el nombre del hilo coincidió con una subcarpeta).\nEjecuta /claude o /opencode.',
|
|
14
|
+
'thread.welcome_pick': '👋 Hilo creado. Vincula una carpeta: /bind <subdir>, o elige una de la lista.',
|
|
15
|
+
'thread.bind_collision': '⚠️ La carpeta `{subdir}` ya la usan los hilos: {threads}.\nVínculo añadido; las sesiones siguen siendo independientes (tmux/SSE propios).',
|
|
16
|
+
'thread.no_agent_with_binding': '📁 La carpeta `{subdir}` está vinculada. Ejecuta /claude o /opencode para iniciar el diálogo.',
|
|
17
|
+
'bind.usage': 'Uso: /bind <subdir>\nEjemplo: /bind overview',
|
|
18
|
+
'bind.current': '📂 Vinculado actualmente: `{subdir}`',
|
|
19
|
+
'bind.current_none': '📂 Sin vincular todavía',
|
|
20
|
+
'bind.in_general': '/bind solo funciona en hilos temáticos, no en General.',
|
|
21
|
+
'bind.invalid_chars': '❌ El nombre de la carpeta no debe contener caracteres de control.',
|
|
22
|
+
'bind.not_found': '❌ Carpeta `{subdir}` no encontrada bajo `WORK_ROOT` (`{workRoot}`).',
|
|
23
|
+
'bind.outside_root': '❌ La ruta sale de `WORK_ROOT`.',
|
|
24
|
+
'bind.not_directory': '❌ `{subdir}` existe pero no es una carpeta.',
|
|
25
|
+
'bind.leave_button': '⬅️ Salir del directorio actual',
|
|
26
|
+
'bind.create_button': '➕ Crear nueva carpeta',
|
|
27
|
+
'bind.create_prompt': '✏️ Envía el nombre de la nueva carpeta (se creará bajo `WORK_ROOT`). Cualquier comando cancela.',
|
|
28
|
+
'bind.create_cb': 'Creando nueva carpeta…',
|
|
29
|
+
'bind.create_empty': '❌ El nombre está vacío. Envía un nombre de carpeta.',
|
|
30
|
+
'bind.create_separator': '❌ El nombre no debe contener `/` o `\\`. Envía un nombre simple.',
|
|
31
|
+
'bind.create_dot_segment': '❌ `.` y `..` no se pueden usar como nombre de carpeta.',
|
|
32
|
+
'bind.create_hidden': '❌ El nombre no debe empezar con un punto.',
|
|
33
|
+
'bind.create_invalid_chars': '❌ El nombre de la carpeta no debe contener caracteres de control.',
|
|
34
|
+
'bind.create_exists': '📁 La carpeta `{subdir}` ya existe — vinculando a ella.',
|
|
35
|
+
'bind.create_failed': '❌ Error al crear la carpeta: {error}',
|
|
36
|
+
'ls.header': '📁 Subcarpetas de `{workRoot}`:',
|
|
37
|
+
'ls.empty': '📁 No hay subcarpetas vinculables bajo `WORK_ROOT`.',
|
|
38
|
+
'list.header': '🧵 Vínculos de hilos ({count}):',
|
|
39
|
+
'list.empty': '🧵 Aún no hay vínculos. Crea un hilo y ejecuta /bind.',
|
|
40
|
+
'list.row': '• {threadId}: `{subdir}` · {agent} · {status}',
|
|
41
|
+
'list.row_closed': '• {threadId}: `{subdir}` · {agent} · 🔒 closed',
|
|
42
|
+
'new.general_hint': '/new funciona dentro de un hilo vinculado — abre un hilo y ejecuta /new para reiniciar su sesión de agente.',
|
|
43
|
+
'help.general': '*Comandos en General:*\n' +
|
|
44
|
+
'/ls — listar subcarpetas `WORK_ROOT`\n' +
|
|
45
|
+
'/list — listar hilos\n' +
|
|
46
|
+
'/status — estado de todos los hilos\n' +
|
|
47
|
+
'/quitall — detener todos los agentes en ejecución\n' +
|
|
48
|
+
'/whoami /version — depuración\n\n' +
|
|
49
|
+
'Para hablar con un agente — abre un hilo temático.',
|
|
50
|
+
'help.thread_unbound': '*El hilo no está vinculado a una carpeta.*\n' +
|
|
51
|
+
'/bind <subdir> — vincular (o elegir de la lista)\n' +
|
|
52
|
+
'/ls — subcarpetas `WORK_ROOT` (en General)',
|
|
53
|
+
'help.thread_bound': '*Hilo vinculado a `{subdir}`.*\n' +
|
|
54
|
+
'/claude /opencode — iniciar un agente\n' +
|
|
55
|
+
'/terminal — abrir un shell en esta carpeta\n' +
|
|
56
|
+
'/new — reiniciar la sesión (la anterior → /sessions)\n' +
|
|
57
|
+
'/model /sessions — cambiar\n' +
|
|
58
|
+
'/effort — nivel de reasoning effort\n' +
|
|
59
|
+
'/verbosity — detalle de salida y qué muestra el tema (stream / respuestas)\n' +
|
|
60
|
+
'/quit /status /output — control\n' +
|
|
61
|
+
'/compact — compactar el contexto del agente\n' +
|
|
62
|
+
'/compact_on_idle — compactar automáticamente tras inactividad (conmutador)\n' +
|
|
63
|
+
'/limits — qué ocurre ante un límite de uso (modelos de respaldo, cambio, espera)\n' +
|
|
64
|
+
'/accounts — cuentas de Claude y providers de OpenCode (elegir, añadir, volver a entrar, eliminar, conectar, desconectar)\n' +
|
|
65
|
+
'/clear — eliminar mensajes del hilo\n' +
|
|
66
|
+
'/c /y /n /enter /up /down /tab /esc — teclas TUI (Claude)\n' +
|
|
67
|
+
'/bind — gestionar vínculo',
|
|
68
|
+
'doctor.header': '🔍 *Charness Doctor*',
|
|
69
|
+
'doctor.ok': '✅ {label}',
|
|
70
|
+
'doctor.warn': '⚠️ {label} — {hint}',
|
|
71
|
+
'doctor.fail': '❌ {label} — {hint}',
|
|
72
|
+
'doctor.bot_admin': 'El bot es admin del grupo',
|
|
73
|
+
'doctor.can_manage_topics': '`can_manage_topics` concedido',
|
|
74
|
+
'doctor.can_delete_messages': '`can_delete_messages` concedido',
|
|
75
|
+
'doctor.can_pin_messages': '`can_pin_messages` concedido',
|
|
76
|
+
'doctor.privacy_off': 'Privacy mode desactivado',
|
|
77
|
+
'doctor.privacy_hint': '@BotFather → /setprivacy → Disable, luego quita y vuelve a añadir el bot',
|
|
78
|
+
'doctor.workroot_subdirs': '`WORK_ROOT`: `{workRoot}` ({count} subcarpetas)',
|
|
79
|
+
'doctor.datadir_path': '`DATA_DIR`: `{dataDir}`',
|
|
80
|
+
'doctor.claude_installed': 'claude CLI instalado',
|
|
81
|
+
'doctor.opencode_installed': 'opencode CLI instalado',
|
|
82
|
+
'doctor.state_valid': 'state.json válido ({bindings} vínculos, {active} activos)',
|
|
83
|
+
'doctor.state_archived': 'el state.json anterior estaba corrupto, archivo: {path}',
|
|
84
|
+
'doctor.cli_missing': 'no encontrado en PATH (la auto-instalación se ejecutará con /claude o /opencode)',
|
|
85
|
+
'doctor.no_admin_info': 'no se pueden leer los derechos del bot — getChatMember falló',
|
|
86
|
+
'onboarding.welcome': '👋 *Charness 2.0*\n\n' +
|
|
87
|
+
'Lista de comprobación:\n' +
|
|
88
|
+
'1️⃣ Hazme admin del grupo con derechos:\n' +
|
|
89
|
+
' • Manage Topics, Delete Messages, Pin Messages\n' +
|
|
90
|
+
'2️⃣ @BotFather → /setprivacy → Disable, luego quítame y vuelve a añadirme\n' +
|
|
91
|
+
'3️⃣ Ejecuta /doctor para ver qué falta\n' +
|
|
92
|
+
'4️⃣ En cada hilo temático ejecuta /bind <subdir> e inicia un agente\n\n' +
|
|
93
|
+
'`WORK_ROOT`: `{workRoot}`',
|
|
94
|
+
'binding.welcome.header': '📁 Vinculado a `{subdir}`',
|
|
95
|
+
'binding.welcome.claude_md': '• CLAUDE.md: {size}',
|
|
96
|
+
'binding.welcome.mcp_json': '• `.mcp.json`: {count} servidores',
|
|
97
|
+
'binding.welcome.git': '• git: rama `{branch}`{detail}',
|
|
98
|
+
'binding.welcome.git_clean': ', limpio',
|
|
99
|
+
'binding.welcome.git_dirty': ', cambios sin confirmar',
|
|
100
|
+
'binding.welcome.git_none': '• git: no inicializado',
|
|
101
|
+
'binding.welcome.start_prompt': 'Inicia una conversación:',
|
|
102
|
+
'mcp.header': '🔌 *Servidores MCP para este hilo:*',
|
|
103
|
+
'mcp.row': '• `{name}` — {source}',
|
|
104
|
+
'mcp.empty': '🔌 No hay servidores MCP configurados.',
|
|
105
|
+
'mcp.source_user': 'user (~/.claude/settings.json)',
|
|
106
|
+
'mcp.source_group': 'group (`DATA_DIR`/mcp.json)',
|
|
107
|
+
'mcp.source_project': 'project (`{workDir}/.mcp.json`)',
|
|
108
|
+
'mcp.source_thread': 'thread (`DATA_DIR`/threads/...)',
|
|
109
|
+
'doctor.pin_hint': 'El estado fijado del hilo (Stage 7) no estará disponible',
|
|
110
|
+
'whoami.report': '👤 user: `{userId}`\n💬 chat: `{chatId}`\n🧵 thread: `{threadId}`\n' +
|
|
111
|
+
'🔐 allowed: {allowed}\n📁 binding: {binding}',
|
|
112
|
+
'whoami.binding_unbound': '(sin vínculo)',
|
|
113
|
+
'pair.success': '✅ Grupo emparejado. id: `{groupId}`. El bot ahora sirve a este supergrupo.',
|
|
114
|
+
'pair.locked': 'ℹ️ El id del grupo está definido vía `ALLOWED_GROUP_ID` — el auto-emparejamiento está desactivado. ' +
|
|
115
|
+
'Para cambiar de grupo, modifica la variable y reinicia el bot.',
|
|
116
|
+
'pair.only_forum': '❌ /pair solo funciona en un supergrupo foro (activa Topics).',
|
|
117
|
+
'pair.not_admin': '❌ Solo un administrador o creador del grupo puede emparejar el bot.',
|
|
118
|
+
'pair.not_paired': 'grupo aún no emparejado (modo pairing)',
|
|
119
|
+
'pair.dm': "ℹ️ /pair no es necesario en modo DM — el bot sirve tu chat privado.",
|
|
120
|
+
'version.report': '*Charness {bot}*\n' +
|
|
121
|
+
'Node: {node}\n' +
|
|
122
|
+
'tmux: {tmux}\n' +
|
|
123
|
+
'claude: {claude}\n' +
|
|
124
|
+
'opencode: {opencode}',
|
|
125
|
+
'version.unknown': '(no disponible)',
|
|
126
|
+
'status.global_header': '📊 *Todos los hilos* ({total}):',
|
|
127
|
+
'status.global_row': '• `{key}` → `{subdir}` · {agent} · {status}',
|
|
128
|
+
'status.global_empty': '📊 Aún no hay hilos.',
|
|
129
|
+
'status.thread_report': 'Estado:\n\nAgente: {agent}\nCarpeta: {subdir}\nSesión: {session}',
|
|
130
|
+
'status.thread_view': 'Vista: {view}',
|
|
131
|
+
'status.thread_account': 'Cuenta: {account}',
|
|
132
|
+
'status.thread_account_limited': ' · ⛔ en el límite hasta {until}',
|
|
133
|
+
'status.thread_account_pending': 'Cambio pendiente: {account} — se aplica al terminar el turno del agente o en el próximo inicio',
|
|
134
|
+
'status.thread_model': 'Modelo: {model}',
|
|
135
|
+
'status.thread_effort': 'Esfuerzo: {effort}',
|
|
136
|
+
'status.thread_started': 'Iniciado: {started}',
|
|
137
|
+
'status.thread_running': 'en ejecución',
|
|
138
|
+
'status.thread_stopped': 'detenido',
|
|
139
|
+
'status.thread_sleeping': 'dormida — se reanuda con el próximo mensaje',
|
|
140
|
+
'status.thread_no_agent': 'ninguno (inicia /claude o /opencode)',
|
|
141
|
+
'status.thread_no_binding': '(sin vínculo — WORK_ROOT)',
|
|
142
|
+
'status.thread_workdir': 'Directorio de trabajo: {workDir}',
|
|
143
|
+
'status.thread_runtime_version': 'Versión en ejecución: {version}',
|
|
144
|
+
'status.thread_context': 'Contexto: {used} / {limit} tokens',
|
|
145
|
+
'language.status': '🌐 Idioma: {display}',
|
|
146
|
+
'language.set_success': '✅ Idioma establecido en `{locale}` para este chat.',
|
|
147
|
+
'language.auto_success': '✅ Idioma restablecido a automático. Actual: {display}.',
|
|
148
|
+
'language.invalid': '⚠️ La locale `{locale}` no es compatible. Disponibles: {locales}.',
|
|
149
|
+
'timezone.status': '🌍 Zona horaria: {zone} — ahora {now}',
|
|
150
|
+
'timezone.usage': 'Uso: /timezone <zona IANA> · /timezone +04:00 · /timezone auto\nO envía /timezone sin argumento para elegir de una lista.',
|
|
151
|
+
'timezone.set_success': '✅ Zona horaria: {zone} — ahora {now}\nProgramaciones recalculadas: {count}',
|
|
152
|
+
'timezone.auto_success': '✅ Zona horaria restablecida a la del host: {zone} — ahora {now}\nProgramaciones recalculadas: {count}',
|
|
153
|
+
'timezone.invalid': '⚠️ Zona horaria `{zone}` desconocida. Usa un nombre IANA (p. ej. `Europe/Moscow`) o un desfase fijo (p. ej. `+04:00`). Envía /timezone para elegir de una lista.',
|
|
154
|
+
'timezone.offset_unsupported': '⚠️ El desfase `{zone}` no se puede aplicar: solo funcionan los desfases de horas completas. Usa el nombre IANA de tu zona (por ejemplo, `Asia/Kolkata` para +05:30).',
|
|
155
|
+
'timezone.fixed_offset_warning': '⚠️ Un desfase fijo no sigue el horario de verano: estará una hora desviado medio año.',
|
|
156
|
+
'timezone.picker_regions': '🌍 Zona horaria: {zone}\nAhora: {now}\n\nElige una región:',
|
|
157
|
+
'timezone.picker_zones': '🌍 {region} — página {page}/{total}',
|
|
158
|
+
'timezone.picker_expired': 'Esa lista está desactualizada: envía /timezone de nuevo.',
|
|
159
|
+
'agent.ready': '{label} listo en `{subdir}`{argsSuffix}\n{infoBlock}Envía un mensaje:',
|
|
160
|
+
'agent.ready_model': '🧠 Modelo: {model}',
|
|
161
|
+
'agent.no_session': 'No hay agente en ejecución. /claude o /opencode para iniciar.',
|
|
162
|
+
'agent.session_ended': '{label}: sesión finalizada',
|
|
163
|
+
'agent.stopped': '{label} detenido',
|
|
164
|
+
'agent.sleeping_released': 'La sesión dormida se liberó — el próximo mensaje inicia una nueva.',
|
|
165
|
+
'agent.resume_failed_fresh': '⚠️ No se pudo reanudar la conversación anterior — se inició una sesión nueva.',
|
|
166
|
+
'agent.exit_signal_sent': 'Doble Ctrl+C enviado — {label} saliendo',
|
|
167
|
+
'agent.already_active': '{label} ya está en ejecución aquí. Envía un mensaje o /quit.',
|
|
168
|
+
'agent.starting': 'Iniciando {label} en `{subdir}`…',
|
|
169
|
+
'agent.queued_starting': '⏳ {label} aún está iniciando — tu mensaje está en cola y se enviará cuando esté listo.',
|
|
170
|
+
'agent.question_hint': 'ℹ️ Responde con el número de opción (ej. 1) o y/n. También: /up /down para mover, /enter para confirmar, /c para cancelar.',
|
|
171
|
+
'agent.start_failed': 'Error al iniciar {label}: {error}',
|
|
172
|
+
'agent.no_response': '⚠️ El agente aceptó tu solicitud pero no empezó a responder: puede que la sesión esté bloqueada. Vuelve a enviarla o usa /new para una sesión nueva.',
|
|
173
|
+
'agent.session_restarting': '⚠️ El agente no respondió: la sesión parece bloqueada. La reinicio y vuelvo a ejecutar tu solicitud…',
|
|
174
|
+
'agent.session_recovering': '⚠️ El agente no respondió: recuperando (se conserva tu conversación) y reintentando tu solicitud…',
|
|
175
|
+
'agent.question_cancelled_for_prompt': '⚠️ Pregunta anterior cancelada — ejecutando tu nueva solicitud.',
|
|
176
|
+
'agent.question_cancelled_msg_label': '❌ Pregunta cancelada: {header}',
|
|
177
|
+
'agent.login_code_relayed': '🔐 Código de inicio de sesión enviado a Claude — el mensaje con el token se eliminó del historial.',
|
|
178
|
+
'agent.login_url': '🔐 Para iniciar sesión en Claude, abre este enlace, completa el inicio de sesión y pega el código aquí:\n{url}',
|
|
179
|
+
'agent.login_success': '✅ Sesión iniciada en Claude.',
|
|
180
|
+
'agent.login_failed': '⚠️ Error al iniciar sesión en Claude. Ejecuta /login para intentarlo de nuevo.',
|
|
181
|
+
'login.esc_hint': '/esc para cancelar',
|
|
182
|
+
'login.waiting_code': '⏳ Esperando el código de inicio de sesión: pega el código del enlace como tu próximo mensaje.',
|
|
183
|
+
'login.cancelled': '✖ Inicio de sesión cancelado. Los mensajes vuelven a ir al agente.',
|
|
184
|
+
'agent.workingIndicator': '{glyph} trabajando…',
|
|
185
|
+
'terminal.ready': '🖥 Terminal listo en `{subdir}`{argsSuffix}\nCada mensaje se ejecuta como un comando. /c — Ctrl+C, /up /down — historial, /tab — autocompletar, /quit — cerrar.',
|
|
186
|
+
'effort.choose': '⚙️ Effort actual: {current}\nElige un nivel:',
|
|
187
|
+
'effort.current_none': 'no establecido',
|
|
188
|
+
'effort.set_success': '✅ Effort: {level}',
|
|
189
|
+
'effort.current_hint': '⚙️ Effort: {effort}\nUsa /effort para cambiarlo',
|
|
190
|
+
'effort.invalid_level': '⚠️ Nivel `{level}` inválido. Disponibles: {valid}.',
|
|
191
|
+
'effort.not_available': 'ℹ️ No hay niveles de reasoning effort disponibles para el modelo actual.',
|
|
192
|
+
'effort.not_supported': 'ℹ️ El modelo `{model}` no tiene niveles de reasoning effort.',
|
|
193
|
+
'effort.start_agent_first': 'ℹ️ Nivel guardado. No hay agente en ejecución — se aplicará en el próximo inicio.',
|
|
194
|
+
'effort.cleared_on_model_switch': 'ℹ️ Effort `{level}` eliminado: el nuevo modelo `{model}` no lo soporta.',
|
|
195
|
+
'effort.unsupported_backend': 'El control de effort no es compatible con {label}.',
|
|
196
|
+
'effort.no_session': 'No hay agente en ejecución. Inicia uno con /claude o /opencode.',
|
|
197
|
+
'thinking.live': '•••',
|
|
198
|
+
'thinking.thoughtForSeconds': '💭 pensó durante {seconds}s',
|
|
199
|
+
'thinking.choose': '☁️ Modo de thinking actual: {current}\nElige un modo:',
|
|
200
|
+
'thinking.set_success': '✅ Modo de thinking: {mode}',
|
|
201
|
+
'thinking.invalid_mode': '⚠️ Modo `{mode}` inválido. Disponibles: {valid}.',
|
|
202
|
+
'thinking.mode.minimal': 'mínimo',
|
|
203
|
+
'thinking.mode.short': 'corto',
|
|
204
|
+
'thinking.mode.full': 'completo',
|
|
205
|
+
'toolResults.choose': '🔧 Modo de resultados de herramientas actual: {current}\nElige un modo:',
|
|
206
|
+
'toolResults.set_success': '✅ Modo de resultados de herramientas: {mode}',
|
|
207
|
+
'toolResults.invalid_mode': '⚠️ Modo `{mode}` inválido. Disponibles: {valid}.',
|
|
208
|
+
'toolResults.mode.minimal': 'mínimo',
|
|
209
|
+
'toolResults.mode.short': 'corto',
|
|
210
|
+
'toolResults.mode.full': 'completo',
|
|
211
|
+
'toolResults.truncated_footer': '… (truncado, /tool_results full)',
|
|
212
|
+
'toolResults.activity_status': '🔧 {tool} …',
|
|
213
|
+
'toolResults.activity_fallback': 'herramienta',
|
|
214
|
+
'subagent.status_elapsed': '🤖 sub-agente: {title} · {elapsed}',
|
|
215
|
+
'subagent.panel_fold_status': '🤖 sub-agente trabajando …',
|
|
216
|
+
'subagent.delegating_status': '🤖 Delegando: {title} …',
|
|
217
|
+
'subagent.chunk_prefix': '🤖 ⤷',
|
|
218
|
+
'subagent.fallback_title': 'sub-agente',
|
|
219
|
+
'subagent.choose': '🤖 Modo de sub-agente actual: {current}\nElige un modo:',
|
|
220
|
+
'subagent.set_success': '✅ Modo de sub-agente: {mode}',
|
|
221
|
+
'subagent.invalid_mode': '⚠️ Modo `{mode}` inválido. Disponibles: {valid}.',
|
|
222
|
+
'subagent.mode.minimal': 'mínimo',
|
|
223
|
+
'subagent.mode.short': 'corto',
|
|
224
|
+
'subagent.mode.full': 'completo',
|
|
225
|
+
'verbosity.choose': '🔊 Salida — detalle: {current} · vista: {view}\nFila 1 — detalle del stream · Fila 2 — qué muestra este tema:',
|
|
226
|
+
'verbosity.set_success': '✅ Verbosidad de salida: {mode} (thinking, resultados de herramientas, sub-agentes)',
|
|
227
|
+
'verbosity.invalid_mode': '⚠️ `{mode}` no es válido. Niveles de detalle: {valid}. Vistas: {views}.',
|
|
228
|
+
'verbosity.custom': 'personalizado (thinking: {thinking} · herramientas: {toolResults} · sub-agentes: {subagent})',
|
|
229
|
+
'verbosity.mode.minimal': 'mínimo',
|
|
230
|
+
'verbosity.mode.short': 'corto',
|
|
231
|
+
'verbosity.mode.full': 'completo',
|
|
232
|
+
'verbosity.view.stream': 'Solo stream',
|
|
233
|
+
'verbosity.view.streamAnswers': 'Stream + respuestas',
|
|
234
|
+
'verbosity.view.answers': 'Solo respuestas',
|
|
235
|
+
'verbosity.view_set_success': '✅ Este tema muestra: {view} (desde el próximo mensaje)',
|
|
236
|
+
'model.set_success': '🧠 Modelo establecido: {model}',
|
|
237
|
+
'model.saved_for_next_start': 'Modelo guardado: {model} — se aplicará en el próximo inicio de agente.',
|
|
238
|
+
'model.start_agent_first': 'No hay sesión activa. Inicia un agente primero.',
|
|
239
|
+
'model.current_default': 'predeterminado',
|
|
240
|
+
'model.none_available': '🧠 Actual: {current}\n\nNo hay modelos disponibles. Define uno manualmente con /model <provider/model>.',
|
|
241
|
+
'model.invalid_number': '❌ Número inválido. Ejecuta /model para ver la lista.',
|
|
242
|
+
'model.pick_provider': '🧠 Actual: {current}\n\nElige un proveedor:',
|
|
243
|
+
'model.all_hidden': '🧠 Actual: {current}\n\nTodos los proveedores están ocultos. Toca 👁 para recuperar uno.',
|
|
244
|
+
'model.hidden_header': '🙈 Oculto en este selector — toca 👁 para restaurarlo.',
|
|
245
|
+
'model.provider_button': '📦 {provider} ({count})',
|
|
246
|
+
'model.hidden_provider_button': '🙈 {provider} ({count})',
|
|
247
|
+
'model.hide_button': '🙈',
|
|
248
|
+
'model.show_button': '👁',
|
|
249
|
+
'model.back_button': '⬅️ proveedores',
|
|
250
|
+
'model.recent_button': '🕘 Recientes ({count})',
|
|
251
|
+
'model.recent_header': '🧠 Recientes — {count} modelos\nActual: {current}',
|
|
252
|
+
'model.prev_button': '⬅️ Ant.',
|
|
253
|
+
'model.next_button': 'Sig. ➡️',
|
|
254
|
+
'model.page_button': '{page}/{totalPages}',
|
|
255
|
+
'model.page_header': '🧠 {provider} — {count} modelos · página {page}/{totalPages}\nActual: {current}',
|
|
256
|
+
'model.page_hint': 'Responde con un número para elegir, o /model <nombre> para buscar.',
|
|
257
|
+
'model.page_hint_buttons_only': 'Toca un modelo para cambiar, o /model <nombre> para buscar.',
|
|
258
|
+
'disconnect.unsupported_backend': 'La desconexión de providers de OpenCode no está disponible en esta build.',
|
|
259
|
+
'disconnect.invalid_provider': '❌ Id de proveedor inválido {provider}. Ejemplo: /disconnect openrouter',
|
|
260
|
+
'disconnect.no_providers': 'No hay proveedores que desconectar.',
|
|
261
|
+
'disconnect.pick_provider': 'Elige un proveedor para desconectar — se eliminarán sus credenciales guardadas:',
|
|
262
|
+
'disconnect.provider_button': '🔌 {provider}',
|
|
263
|
+
'disconnect.success': '✅ Proveedor {provider} desconectado — credenciales guardadas eliminadas.',
|
|
264
|
+
'disconnect.still_active_env': '⚠️ Se eliminaron las credenciales guardadas de {provider}, pero sigue activo: OpenCode lo habilita desde una variable de entorno. Elimina esa variable y reinicia OpenCode, u ocúltalo del selector con /model.',
|
|
265
|
+
'disconnect.failed': '⚠️ No se pudo desconectar {provider}: {reason}',
|
|
266
|
+
'rename_session.usage': 'Uso: /rename_session <nuevo título>',
|
|
267
|
+
'rename_session.start_agent_first': 'No hay sesión activa. Inicia un agente primero (/claude o /opencode).',
|
|
268
|
+
'rename_session.unsupported_backend': 'El renombrado de sesión no es compatible con {label}.',
|
|
269
|
+
'rename_session.success': '✅ Sesión renombrada: {title}',
|
|
270
|
+
'rename_session.failed': '⚠️ Error al renombrar la sesión: {reason}',
|
|
271
|
+
'compact.started': '🧹 Compactando el contexto de la sesión: el agente continúa a partir del resumen.',
|
|
272
|
+
'compact.done': '✅ Contexto compactado.',
|
|
273
|
+
'compact.done_tokens': '✅ Contexto compactado: {pre} → {post} tokens.',
|
|
274
|
+
'compact.summaryHeader': '📄 Resumen de la compactación:',
|
|
275
|
+
'compact.start_agent_first': 'No hay sesión activa. Inicia un agente primero (/claude o /opencode).',
|
|
276
|
+
'compact.unsupported_backend': 'La compactación del contexto no es compatible con {label}.',
|
|
277
|
+
'compact.model_unresolved': '⚠️ No se puede compactar: no hay modelo resuelto para esta sesión. Elige uno con /model e inténtalo de nuevo.',
|
|
278
|
+
'compact.failed': '⚠️ Error al compactar el contexto de la sesión: {reason}',
|
|
279
|
+
'compact.busy': '⚠️ El agente está ocupado ahora — vuelve a ejecutar /compact cuando termine el turno actual.',
|
|
280
|
+
'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 SPANISH: (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}.',
|
|
281
|
+
'compactOnIdle.notice': '🧹 Compactado automáticamente por inactividad para ahorrar tokens mediante la caché.\n/compact_on_idle — desactivarlo o mostrar el resumen.',
|
|
282
|
+
'compactOnIdle.on': 'ACTIVADO',
|
|
283
|
+
'compactOnIdle.off': 'DESACTIVADO',
|
|
284
|
+
'compactOnIdle.title': '🧹 Compactado automático por inactividad para este tema: {state}\n{summaryLine}\n\nCuando la sesión queda inactiva ~55 min, su contexto se compacta automáticamente para ahorrar tokens (la caché de prompt sigue caliente).\n\nPara cambiarlo para TODOS los temas a la vez, ejecútalo en el tema General.',
|
|
285
|
+
'compactOnIdle.titleGeneral': '🧹 Compactado automático por inactividad — predeterminado para TODOS los temas: {state}\n{summaryLine}\n\nCuando una sesión queda inactiva ~55 min, su contexto se compacta automáticamente para ahorrar tokens.\n\nCada tema puede anularlo con su propio /compact_on_idle.',
|
|
286
|
+
'compactOnIdle.enableButton': 'Activar',
|
|
287
|
+
'compactOnIdle.disableButton': 'Desactivar',
|
|
288
|
+
'compactOnIdle.summaryLine': '📄 Resumen tras la compactación: {state}',
|
|
289
|
+
'compactOnIdle.summaryShowButton': '📄 Mostrar resumen',
|
|
290
|
+
'compactOnIdle.summaryHideButton': 'Ocultar resumen',
|
|
291
|
+
'compactOnIdle.setThisTopic': '✅ Compactado automático por inactividad: {state} para este tema.',
|
|
292
|
+
'compactOnIdle.setGlobal': '✅ Compactado automático por inactividad: {state} para TODOS los temas (las anulaciones por tema siguen aplicándose).',
|
|
293
|
+
'compactOnIdle.unsupported': 'El compactado automático por inactividad se aplica a una sesión de agente activa. Inicia primero /claude o /opencode en un tema vinculado.',
|
|
294
|
+
'compactOnIdle.pendingQuestionReask': '❓ Aún tienes una pregunta pendiente. Toca una opción para responderla y continuar:',
|
|
295
|
+
'compactSummary.on': 'ACTIVADO',
|
|
296
|
+
'compactSummary.off': 'DESACTIVADO',
|
|
297
|
+
'compactSummary.title': '📄 Publicar el resumen de la compactación en este tema: {state}\n\nTras una compactación, el resumen completo del agente se escribe en el tema, para que veas qué se conservó.\n\nPara cambiarlo en TODOS los temas a la vez, ejecuta esto en el tema General.',
|
|
298
|
+
'compactSummary.titleGeneral': '📄 Publicar el resumen de la compactación — predeterminado para TODOS los temas: {state}\n\nTras una compactación, el resumen completo del agente se escribe en el tema, para que veas qué se conservó.\n\nCada tema puede seguir anulándolo con su propio /compact_summary.',
|
|
299
|
+
'compactSummary.enableButton': 'Activar',
|
|
300
|
+
'compactSummary.disableButton': 'Desactivar',
|
|
301
|
+
'compactSummary.setThisTopic': '✅ Resumen de la compactación: {state} para este tema.',
|
|
302
|
+
'compactSummary.setGlobal': '✅ Resumen de la compactación: {state} para TODOS los temas (las anulaciones por tema siguen aplicándose).',
|
|
303
|
+
'compactSummary.unsupported': 'Un shell no tiene contexto que compactar, así que no hay resumen que publicar.',
|
|
304
|
+
'autoContinueLimits.on': 'ACTIVADO',
|
|
305
|
+
'autoContinueLimits.off': 'DESACTIVADO',
|
|
306
|
+
'autoContinueLimits.skipButton': '⏭ Omitir una vez',
|
|
307
|
+
'autoContinueLimits.skipDone': 'Se omitió esta reanudación.',
|
|
308
|
+
'autoContinueLimits.skipExpired': 'Nada que omitir: esta espera ya terminó.',
|
|
309
|
+
'autoContinueLimits.skippedNotice': '⏭ Omitido: no reanudaré esta por mi cuenta. Escríbeme cuándo continuar; la reanudación automática sigue activada para este tema.',
|
|
310
|
+
'autoContinueLimits.noticeHint': 'Ejecuta /limits para omitir esta reanudación o desactivar la espera en este tema.',
|
|
311
|
+
'autoContinueLimits.setThisTopic': '✅ Reanudación automática tras un límite de uso: {state} para este tema.',
|
|
312
|
+
'autoContinueLimits.setGlobal': '✅ Reanudación automática tras un límite de uso: {state} para TODOS los temas (las anulaciones por tema siguen aplicándose).',
|
|
313
|
+
'autoContinueLimits.limitReachedDisabled': '🚧 Límite de uso alcanzado. La espera del reinicio está desactivada en este tema, así que esperaré: escríbeme cuándo continuar (/limits para activar la espera).',
|
|
314
|
+
'connect.prompt_key': '🔑 Envía la API key para `{provider}` como próximo mensaje. Eliminaré el mensaje con la clave del historial.',
|
|
315
|
+
'connect.empty_key': '❌ La API key está vacía. Envía la clave como próximo mensaje.',
|
|
316
|
+
'connect.invalid_key': '❌ Eso no parece una API key (tiene espacios o caracteres no latinos). Envía solo la key como próximo mensaje, o ejecuta /connect de nuevo.',
|
|
317
|
+
'connect.invalid_provider': '❌ ID de provider inválido `{provider}`. Ejemplo: /connect openai',
|
|
318
|
+
'connect.unsupported_provider': '⚠️ El provider `{provider}` no soporta un inicio de sesión por API key simple mediante este flujo. Usa la UI/CLI de OpenCode para este provider.',
|
|
319
|
+
'connect.unsupported_backend': 'La auth de provider OpenCode no está disponible en este build.',
|
|
320
|
+
'connect.failed': '⚠️ Error al conectar `{provider}`: {reason}',
|
|
321
|
+
'connect.success': '✅ Provider `{provider}` conectado. El servidor OpenCode no fue reiniciado.',
|
|
322
|
+
'connect.cancelled': 'Entrada de API key cancelada.',
|
|
323
|
+
'connect.pick_method': '¿Cómo quieres conectar `{provider}`? Elige un método:',
|
|
324
|
+
'connect.no_methods': '⚠️ No se encontraron métodos de autenticación para `{provider}`.',
|
|
325
|
+
'connect.oauth_device': '🔓 Para conectar `{provider}`: abre {url} e introduce el código `{code}`, luego autoriza. En un servidor, usa el método *headless*. Confirmaré aquí cuando termine.',
|
|
326
|
+
'connect.oauth_url_only': '🔓 Para conectar `{provider}`: abre {url} y completa el inicio de sesión. Confirmaré aquí cuando termine.',
|
|
327
|
+
'connect.oauth_paste': '🔑 Tras autorizar, pega el código aquí como próximo mensaje — lo eliminaré del historial.',
|
|
328
|
+
'connect.oauth_waiting': '⏳ Esperando autorización…',
|
|
329
|
+
'connect.oauth_loopback': '🔑 Tras autorizar, tu navegador intentará abrir una página `localhost` que no cargará — es lo esperado aquí. Copia esa URL de la barra de direcciones y pégala como próximo mensaje (o solo el valor `code`). La eliminaré del historial y completaré el inicio de sesión.',
|
|
330
|
+
'connect.oauth_invalid_reply': '❌ Eso no parece una URL de callback ni un código de autorización. Tras autorizar, pega la URL de callback `localhost` de tu navegador (o el valor `code`).',
|
|
331
|
+
'connect.oauth_callback_no_flow': '⚠️ Eso parece una URL de callback de OAuth, pero aquí no hay ningún inicio de sesión en curso — la eliminé. Ejecuta /connect para empezar de nuevo.',
|
|
332
|
+
'connect.oauth_success': '✅ `{provider}` conectado vía OAuth. Las credenciales del servidor OpenCode se actualizaron.',
|
|
333
|
+
'connect.oauth_failed': '⚠️ El inicio de sesión OAuth para `{provider}` no se completó. Ejecuta /connect de nuevo.',
|
|
334
|
+
'quit_all.none_active': 'No hay agentes en ejecución — nada que detener.',
|
|
335
|
+
'quit_all.summary': '🚪 Detenidos {stopped} de {total} agentes activos.',
|
|
336
|
+
'quit_all.general_only': '`/quit-all` solo está disponible en el topic General.',
|
|
337
|
+
'clearMessages.summary': '🗑 Eliminados {deleted} de {total} mensajes. ' +
|
|
338
|
+
'Telegram se niega a eliminar lo anterior a 48 h — el resto permanece en el historial.',
|
|
339
|
+
'clearMessages.no_messages': 'No hay mensajes que eliminar en este hilo.',
|
|
340
|
+
'edited.hint': '✏️ No trato los mensajes editados como nueva entrada — envía la corrección como un mensaje separado.',
|
|
341
|
+
'voice.no_api_key': 'La voz requiere `GROQ_API_KEY` (gratis) o `OPENAI_API_KEY`.',
|
|
342
|
+
'voice.failed': 'Error al transcribir el mensaje de voz.',
|
|
343
|
+
'voice.retrying': '⚠️ Error al transcribir el mensaje de voz ({error}). Reintento en {seconds} s…',
|
|
344
|
+
'voice.transcribed': '🎤 {text}',
|
|
345
|
+
'file.too_big': '📎 El archivo supera el límite de Bot API ({cap} MB) — no puedo descargarlo. Envía un archivo más pequeño.',
|
|
346
|
+
'file.download_failed': '📎 Error al descargar el archivo. Inténtalo de nuevo.',
|
|
347
|
+
'error.workdir.gone': '📁 La carpeta `{subdir}` ya no está en el disco. Ejecuta /bind <newdir>.',
|
|
348
|
+
'error.tg.thread.deleted': '⚠️ El hilo fue eliminado en Telegram; vínculo eliminado.',
|
|
349
|
+
'error.tg.thread.closed': '🔒 El hilo {key} está cerrado — reábrela en tu cliente de Telegram, o elimínalo por completo.',
|
|
350
|
+
'error.tg.perm.delete': '🔐 No puedo eliminar mensajes. Concede al bot `can_delete_messages`.',
|
|
351
|
+
'error.tg.perm.manage_topics': '🔐 Falta `can_manage_topics`. Hazme admin del grupo.',
|
|
352
|
+
'error.state.corrupted': '⚠️ state.json estaba corrupto; vínculos reiniciados. Vuelve a ejecutar /bind donde haga falta.',
|
|
353
|
+
'error.start_in_general': 'No se puede iniciar un agente en General — es un topic de servicio. Abre un hilo temático.',
|
|
354
|
+
'cb.access_denied': 'Acceso denegado',
|
|
355
|
+
'cb.bind_only_topical': '/bind solo funciona en hilos temáticos',
|
|
356
|
+
'cb.binding_to': 'Vinculando a {subdir}…',
|
|
357
|
+
'cb.no_active_session': 'Sin sesión activa',
|
|
358
|
+
'cb.model_error': 'Error: {error}',
|
|
359
|
+
'cb.model_set': 'Modelo: {model}',
|
|
360
|
+
'cb.model_provider_gone': 'Ese proveedor ya no existe — ejecuta /model otra vez',
|
|
361
|
+
'cb.model_recent_gone': 'Ese modelo ya no está entre los recientes — ejecuta /model otra vez',
|
|
362
|
+
'cb.model_hidden': 'Oculto: {provider}',
|
|
363
|
+
'cb.model_shown': 'Mostrado: {provider}',
|
|
364
|
+
'cb.disconnect_expired': 'Este menú de desconexión caducó — ejecuta /disconnect otra vez',
|
|
365
|
+
'cb.not_supported': 'No compatible con {label}',
|
|
366
|
+
'cb.unknown_agent': 'Agente desconocido',
|
|
367
|
+
'cb.agent_switched': 'Cambiado a {label}',
|
|
368
|
+
'cb.resume_only_topical': 'Resume solo funciona en hilos temáticos',
|
|
369
|
+
'cb.bind_folder_first': 'Vincula primero una carpeta vía /bind',
|
|
370
|
+
'cb.agent_not_running': 'Agente no en ejecución',
|
|
371
|
+
'cb.no_pending_question': 'Sin pregunta pendiente',
|
|
372
|
+
'cb.connect_method_expired': 'Este menú de conexión expiró — ejecuta /connect de nuevo',
|
|
373
|
+
'cb.invalid_option': 'Opción inválida',
|
|
374
|
+
'cb.sent_option': 'Enviado: {option}',
|
|
375
|
+
'cb.effort_set': 'Effort: {level}',
|
|
376
|
+
'cb.effort_error': 'Error: {error}',
|
|
377
|
+
'cb.claudeMode_already': 'Ya activo',
|
|
378
|
+
'cb.claudeMode_switching': 'Cambiando…',
|
|
379
|
+
'claudeMode.pick': '⚙️ Backend de Claude Code — actual: {label}\nElige un backend (el cambio mantiene la misma conversación):',
|
|
380
|
+
'claudeMode.not_claude': "Este topic no está en Claude Code — /claude_mode solo cambia el backend de Claude.",
|
|
381
|
+
'claudeMode.already': 'Ya {label}.',
|
|
382
|
+
'claudeMode.set_idle': '⚙️ Backend de Claude: {label} — se aplicará en el próximo inicio.',
|
|
383
|
+
'claudeMode.switched_resumed': '⚙️ Cambiado a {label} — misma conversación reanudada.',
|
|
384
|
+
'claudeMode.switched_fresh': '⚙️ Cambiado a {label} — nueva sesión iniciada.',
|
|
385
|
+
'claudeMode.perTurn_refused': '⚠️ Per-turn necesita Claude Code {min} o más reciente — esta conversación usó {version} por última vez. El backend no se cambió.',
|
|
386
|
+
'cb.thinking_set': 'Thinking: {mode}',
|
|
387
|
+
'cb.thinking_error': 'Error: {error}',
|
|
388
|
+
'cb.toolresults_set': 'Resultados de herramientas: {mode}',
|
|
389
|
+
'cb.toolresults_error': 'Error: {error}',
|
|
390
|
+
'cb.subagent_set': 'Sub-agentes: {mode}',
|
|
391
|
+
'cb.subagent_error': 'Error: {error}',
|
|
392
|
+
'cb.verbosity_set': 'Verbosidad de salida: {mode}',
|
|
393
|
+
'cb.verbosity_error': 'Error: {error}',
|
|
394
|
+
'cb.view_set': 'Este tema muestra: {view}',
|
|
395
|
+
'session.list_header': 'Sesiones para reanudar ({label}):',
|
|
396
|
+
'session.list_footer': 'Envía 1–{max} para reanudar · 0 para salir',
|
|
397
|
+
'session.none': 'No hay sesiones reanudables en esta carpeta.',
|
|
398
|
+
'session.cancelled': 'Cancelado. Selector de sesión cerrado.',
|
|
399
|
+
'session.invalid': 'Número inválido. Introduce un valor de 1 a {max}.',
|
|
400
|
+
'session.resumed': 'Sesión reanudada. Envía tu mensaje:',
|
|
401
|
+
'session.resume_failed': 'Error al reanudar la sesión: {error}',
|
|
402
|
+
'session.expired': 'La lista de sesiones está desactualizada. Ejecuta /sessions de nuevo.',
|
|
403
|
+
'session.load_failed': 'Error al cargar las sesiones.',
|
|
404
|
+
'resume.context_header': '↩️ Reanudado — últimos {count} mensajes:',
|
|
405
|
+
'resume.context_user_label': '👤',
|
|
406
|
+
'resume.context_assistant_label': '🤖',
|
|
407
|
+
'recap.missedCountHeader': '⚠️ {count} mensaje(s) perdido(s) mientras el bot estuvo fuera. Último de la sesión:',
|
|
408
|
+
'recap.restartedFallbackHeader': '🔄 Bot reiniciado. Último de la sesión:',
|
|
409
|
+
'recap.stillWorkingLine': '⏳ El agente sigue trabajando…',
|
|
410
|
+
'trace.onThisThreadReply': '🔎 Trazado activado para este hilo.',
|
|
411
|
+
'trace.offThisThreadReply': '🔎 Trazado desactivado para este hilo.',
|
|
412
|
+
'trace.onAllThreadsReply': '🔎 Trazado activado para TODOS los hilos.',
|
|
413
|
+
'trace.offAllThreadsReply': '🔎 Trazado desactivado en todas partes (el flag «all» y la lista de hilos se han vaciado).',
|
|
414
|
+
'trace.statusReply': '🔎 Trace — este hilo: {thisThread}\nTodos los hilos: {allThreads}\nHilos trazados: {count}',
|
|
415
|
+
'trace.statusOnLabel': 'activado',
|
|
416
|
+
'trace.statusOffLabel': 'desactivado',
|
|
417
|
+
'trace.usageHint': 'Uso: /trace on | off | on all | off all | (sin argumento — estado)',
|
|
418
|
+
'timestamps.onReply': '🕐 Marcas de tiempo activadas: cada prompt enviado al agente recibe la hora de envío como primera línea (nunca se publica en el topic).',
|
|
419
|
+
'timestamps.offReply': '🕐 Marcas de tiempo desactivadas para este hilo.',
|
|
420
|
+
'timestamps.statusOnReply': '🕐 Marcas de tiempo: activadas para este hilo.',
|
|
421
|
+
'timestamps.statusOffReply': '🕐 Marcas de tiempo: desactivadas para este hilo.',
|
|
422
|
+
'timestamps.usageHint': 'Uso: /timestamps on | off | (sin argumento — estado)',
|
|
423
|
+
'schedule.fired': '⏰ Programación «{name}» ({schedule}){missedNote}\n\n{prompt}',
|
|
424
|
+
'schedule.missedNote': ' — perdido a las {time}, recuperando',
|
|
425
|
+
'schedule.checkFailed': '🚨 La comprobación «{name}» falló: {failure} ({schedule}){missedNote}\n$ {command}\n\n{output}\n\nDespertando al agente. No habrá más alertas hasta que la comprobación vuelva a pasar.',
|
|
426
|
+
'schedule.checkRecovered': '✅ La comprobación «{name}» vuelve a pasar.',
|
|
427
|
+
'schedule.pausedUnbound': '⏸ Programaciones en pausa: {count} — el topic se desvinculó de su carpeta. /bind las restaurará.',
|
|
428
|
+
'schedule.resumedRebind': '▶️ Programaciones reanudadas: {count} (próxima recalculada desde ahora).',
|
|
429
|
+
'schedule.noAgent': '⚠️ No se programó nada — no hay ningún agente activo en este tema, así que una ejecución programada no tendría nada que iniciar. Inicia primero /claude o /opencode.',
|
|
430
|
+
'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.',
|
|
431
|
+
'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 SPANISH what you scheduled.\n\n{timeNote}\n\nRequest: {text}',
|
|
432
|
+
'schedule.interviewPromptTemplate': 'The user invoked /schedule with no details. Ask them IN SPANISH 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 SPANISH what you scheduled.\n\n{timeNote}',
|
|
433
|
+
// ── /reminders (bot-local reminders: buttons only, no agent involved) ──
|
|
434
|
+
'reminders.fired': '🔔 {text}\n\n📅 {schedule}{missedNote}',
|
|
435
|
+
'reminders.scheduleDaily': 'todos los días a las {time}',
|
|
436
|
+
'reminders.scheduleWeekdays': 'días laborables a las {time}',
|
|
437
|
+
'reminders.scheduleWeekly': '{weekday} a las {time}',
|
|
438
|
+
'reminders.scheduleMonthly': 'día {dayOfMonth} a las {time}',
|
|
439
|
+
'reminders.scheduleOnce': '{date} a las {time}',
|
|
440
|
+
'reminders.scheduleRaw': 'cron {text}',
|
|
441
|
+
'reminders.nextRunToday': 'hoy a las {time}',
|
|
442
|
+
'reminders.nextRunTomorrow': 'mañana a las {time}',
|
|
443
|
+
'reminders.nextRunOnDate': '{date} a las {time}',
|
|
444
|
+
'reminders.nextRunNone': '—',
|
|
445
|
+
'reminders.hubTitle': '🔔 Recordatorios',
|
|
446
|
+
'reminders.hubEmptyLine': 'Aún no hay recordatorios.',
|
|
447
|
+
'reminders.hubActiveLine': 'Activos: {count}',
|
|
448
|
+
'reminders.hubLimitLine': 'Activos: {count} — se alcanzó el límite de {limit}. Elimina uno para añadir otro.',
|
|
449
|
+
'reminders.addButton': '➕ Añadir',
|
|
450
|
+
'reminders.listButton': '📋 Lista ({count})',
|
|
451
|
+
'reminders.closeButton': '✕ Cerrar',
|
|
452
|
+
'reminders.closedNotice': '🔔 Recordatorios cerrados.',
|
|
453
|
+
'reminders.listTitle': '📋 Recordatorios ({count})',
|
|
454
|
+
'reminders.listPageLine': 'Página {page} de {total}',
|
|
455
|
+
'reminders.listRow': '🔔 {name} · {schedule}',
|
|
456
|
+
'reminders.listPrevButton': '‹ Anterior',
|
|
457
|
+
'reminders.listNextButton': 'Siguiente ›',
|
|
458
|
+
'reminders.listBackToHubButton': '‹ Volver',
|
|
459
|
+
'reminders.cardTitle': '🔔 {name}',
|
|
460
|
+
'reminders.cardWhen': 'Cuándo: {schedule}',
|
|
461
|
+
'reminders.cardText': 'Texto: «{text}»',
|
|
462
|
+
'reminders.cardNext': 'Próximo: {next}',
|
|
463
|
+
'reminders.cardDeleteButton': '🗑 Eliminar',
|
|
464
|
+
'reminders.cardBackToListButton': '‹ A la lista',
|
|
465
|
+
'reminders.createdTitle': '✅ Recordatorio creado',
|
|
466
|
+
'reminders.doneListButton': '📋 Lista',
|
|
467
|
+
'reminders.wizardTitle': '🔔 Nuevo recordatorio',
|
|
468
|
+
'reminders.pickRepeat': 'Repetición: {value}',
|
|
469
|
+
'reminders.pickDate': 'Fecha: {value}',
|
|
470
|
+
'reminders.pickWeekday': 'Día de la semana: {value}',
|
|
471
|
+
'reminders.pickDayOfMonth': 'Día del mes: {value}',
|
|
472
|
+
'reminders.pickTime': 'Hora: {value}',
|
|
473
|
+
'reminders.pickText': 'Texto: «{value}»',
|
|
474
|
+
'reminders.stepRepeatQuestion': 'PASO 1/4 · ¿Con qué frecuencia?',
|
|
475
|
+
'reminders.stepDateQuestion': 'PASO 2/4 · ¿Qué día?',
|
|
476
|
+
'reminders.stepDateGridQuestion': 'PASO 2/4 · Elige una fecha:',
|
|
477
|
+
'reminders.stepWeekdayQuestion': 'PASO 2/4 · ¿Qué día de la semana?',
|
|
478
|
+
'reminders.stepDayOfMonthQuestion': 'PASO 2/4 · ¿Qué día del mes?',
|
|
479
|
+
'reminders.stepDayOfMonthGridQuestion': 'PASO 2/4 · Elige un día del mes:',
|
|
480
|
+
'reminders.stepTimeQuestion': 'PASO 3/4 · ¿A qué hora?',
|
|
481
|
+
'reminders.stepHourQuestion': 'PASO 3/4 · Elige la hora:',
|
|
482
|
+
'reminders.stepMinuteQuestion': 'PASO 3/4 · {hour}:__ — elige los minutos:',
|
|
483
|
+
'reminders.stepTextQuestion': 'PASO 4/4 · Envía el texto del recordatorio — escríbelo o graba una nota de voz.',
|
|
484
|
+
'reminders.repeatOnceButton': 'Una vez',
|
|
485
|
+
'reminders.repeatDailyButton': 'Diario',
|
|
486
|
+
'reminders.repeatWeekdaysButton': 'Laborables',
|
|
487
|
+
'reminders.repeatWeeklyButton': 'Semanal',
|
|
488
|
+
'reminders.repeatMonthlyButton': 'Mensual',
|
|
489
|
+
'reminders.dateTodayButton': 'Hoy',
|
|
490
|
+
'reminders.dateTomorrowButton': 'Mañana',
|
|
491
|
+
'reminders.dateOtherButton': '✏️ Otra fecha…',
|
|
492
|
+
'reminders.dayOfMonthOtherButton': '✏️ Otro día…',
|
|
493
|
+
'reminders.timeOtherButton': '🕐 Otra hora',
|
|
494
|
+
'reminders.backButton': '‹ Atrás',
|
|
495
|
+
'reminders.cancelButton': '✕ Cancelar',
|
|
496
|
+
'reminders.weekdayMondayButton': 'lun',
|
|
497
|
+
'reminders.weekdayTuesdayButton': 'mar',
|
|
498
|
+
'reminders.weekdayWednesdayButton': 'mié',
|
|
499
|
+
'reminders.weekdayThursdayButton': 'jue',
|
|
500
|
+
'reminders.weekdayFridayButton': 'vie',
|
|
501
|
+
'reminders.weekdaySaturdayButton': 'sáb',
|
|
502
|
+
'reminders.weekdaySundayButton': 'dom',
|
|
503
|
+
'reminders.errorPastTime': '⚠️ Esa hora ya pasó. Elige una hora posterior, o vuelve atrás y cambia el día.',
|
|
504
|
+
'reminders.errorInvalidDate': '⚠️ Esa fecha no existe. Elige otra.',
|
|
505
|
+
'reminders.errorInvalidTime': '⚠️ Esa hora no existe ese día — cambio de hora. Elige otra hora.',
|
|
506
|
+
'reminders.errorTextTooLong': '⚠️ Ese texto es demasiado largo (máximo {limit} caracteres) y NO se guardó. Envía uno más corto.',
|
|
507
|
+
'reminders.cancelledNotice': '✕ Cancelado',
|
|
508
|
+
'reminders.expiredNotice': '✕ Caducado — el texto del recordatorio nunca llegó.',
|
|
509
|
+
'reminders.capReachedNotice': '⚠️ Este tema ya tiene {limit} recordatorios — elimina uno antes de añadir otro.',
|
|
510
|
+
'reminders.wizardExpiredCbAnswer': 'Este asistente está obsoleto — ejecuta /reminders otra vez.',
|
|
511
|
+
'reminders.deletedCbAnswer': '🗑 Eliminado',
|
|
512
|
+
'reminders.deleteGoneCbAnswer': 'Ya estaba eliminado.',
|
|
513
|
+
'reminders.cardExpiredCbAnswer': 'Ese recordatorio ya no existe.',
|
|
514
|
+
'apiRetry.transientNotice': '⏳ API limitada por tasa — reintentando automáticamente en {minutes} min (intento {attempt}).',
|
|
515
|
+
'apiRetry.openCodeRetryNotice': '⏳ Error del proveedor — OpenCode reintenta en {minutes} min (intento {attempt}){detail}',
|
|
516
|
+
'apiRetry.usageLimitDelayNotice': '🚧 Límite de uso alcanzado — reintentando en {minutes} min (intento {attempt}).',
|
|
517
|
+
'apiRetry.usageLimitResetNotice': '🚧 Límite de uso alcanzado — reanudación automática tras reset (~{time}).',
|
|
518
|
+
'apiRetry.resuming': '↻ Reanudando…',
|
|
519
|
+
'apiRetry.limitResetResuming': '✅ La ventana del límite se ha restablecido: retomo el trabajo en este tema.',
|
|
520
|
+
'apiRetry.giveUp': '⚠️ No se pudo reanudar tras {attempts} intentos. Escríbeme cuándo continuar.',
|
|
521
|
+
'apiRetry.continueNudge': 'Continúa desde donde te detuviste.',
|
|
522
|
+
'apiRetry.loggedOutClaude': '⚠️ Claude está desconectado — ejecuta /login para continuar.',
|
|
523
|
+
'apiRetry.loggedOutOpenCode': '⚠️ OpenCode: credenciales inválidas — reinicia el servidor opencode.',
|
|
524
|
+
// ── startup readiness status (boot-time owner notice) ──
|
|
525
|
+
'startup.ready': '✅ Listo — puedo procesar mensajes en los hilos del bot y los temas de grupo.',
|
|
526
|
+
'startup.header_not_ready': '⚠️ Configuración incompleta. Para empezar a trabajar conmigo, completa estos pasos:',
|
|
527
|
+
'startup.item.create_group': 'Crea un supergrupo de foro con los Temas activados y envíame un mensaje allí para vincularlo.',
|
|
528
|
+
'startup.item.grant_admin': 'Hazme administrador con estos permisos: {missing}.',
|
|
529
|
+
'startup.item.bind_topic': 'Crea un tema y vincúlalo a una carpeta con /bind.',
|
|
530
|
+
'startup.item.install_agent': 'Instala una CLI de agente — claude u opencode.',
|
|
531
|
+
'startup.item.optional_groq': '(opcional) Añade GROQ_API_KEY a tu .env y reinicia para habilitar la entrada de voz.',
|
|
532
|
+
'startup.item.optional_owner': '(opcional) Configura OWNER_USER_ID para recibir este estado en tu chat privado.',
|
|
533
|
+
'requests.alert.notAnsweringNotice': '⚠️ La solicitud {requestId} quedó sin respuesta: el agente terminó sus turnos sin responder y los recordatorios se rindieron. Revisa la sesión en este tema.',
|
|
534
|
+
'requests.alert.unreachableNotice': '⚠️ La solicitud {requestId} quedó sin respuesta: no se pudo alcanzar la sesión del agente para recordárselo. Revisa la sesión en este tema.',
|
|
535
|
+
'requests.limit.answerAfterResetNotice': '🚧 Se alcanzó el límite de uso — la respuesta llegará después de las {time}.',
|
|
536
|
+
'requests.limit.answerNextAttemptNotice': '🚧 Se alcanzó el límite de uso — próximo intento a las {time}.',
|
|
537
|
+
'requests.limit.answerAutoResumeOffNotice': '🚧 Se alcanzó el límite de uso. La reanudación automática está desactivada, así que el trabajo espera hasta que el operador lo reanude.',
|
|
538
|
+
'account.title': '👤 Cuenta de Claude para este tema: {name}\n\n{list}\n\nToca un perfil para cambiar este tema a él. En el tema General la elección pasa a ser la predeterminada para todos los temas.',
|
|
539
|
+
'account.titleGeneral': '👤 Cuenta de Claude — predeterminada para TODOS los temas: {name}\n\n{list}\n\nToca un perfil para hacerlo predeterminado. Los temas con elección propia la conservan.',
|
|
540
|
+
'account.row.loggedOut': 'sin iniciar sesión',
|
|
541
|
+
'account.row.topics': ' · {count} tema(s)',
|
|
542
|
+
'account.kind.personal': 'personal {plan}',
|
|
543
|
+
'account.kind.corporate': 'corporativo {plan}',
|
|
544
|
+
'account.kind.unknown': 'plan {plan}',
|
|
545
|
+
'account.removeButton': '🗑 Eliminar',
|
|
546
|
+
'account.backButton': '⬅️ Atrás',
|
|
547
|
+
'account.followButton': '↩ Seguir el predeterminado ({name})',
|
|
548
|
+
'account.pickLogin': '🔑 ¿Qué perfil debe iniciar sesión de nuevo?',
|
|
549
|
+
'account.pickRemove': '🗑 ¿Qué perfil eliminar? Su sesión se borra; los temas que lo eligieron vuelven al predeterminado.',
|
|
550
|
+
'account.nothingToRemove': 'No hay perfiles añadidos que quitar.',
|
|
551
|
+
'account.confirmRemove': '🗑 ¿Eliminar el perfil {name} ({email})? Su sesión se borra y {count} tema(s) que lo eligieron vuelven al predeterminado.',
|
|
552
|
+
'account.confirmRemoveButton': '🗑 Sí, eliminar {name}',
|
|
553
|
+
'account.removed': '✅ Perfil {name} eliminado. {count} tema(s) siguen ahora el predeterminado.',
|
|
554
|
+
'account.removeInstanceDefaultRefused': '{name} es el predeterminado de todos los temas. Elige primero otro predeterminado en el tema General.',
|
|
555
|
+
'account.unknown': '❌ No hay ningún perfil llamado {name}. /accounts muestra la lista.',
|
|
556
|
+
'account.notLoggedIn': '⚠️ El perfil {name} no ha iniciado sesión. Ejecuta antes /accounts login {name}.',
|
|
557
|
+
'account.askName': '➕ Nombre del nuevo perfil — minúsculas, dígitos, - y _, hasta {max} caracteres (p. ej. work). Envíalo como siguiente mensaje o ejecuta /accounts add <nombre>.',
|
|
558
|
+
'account.invalidName': '❌ Un nombre de perfil: minúsculas, dígitos, - y _, hasta {max} caracteres, y no "default".',
|
|
559
|
+
'account.exists': 'Ya existe un perfil llamado {name}.',
|
|
560
|
+
'account.created': '✅ Perfil {name} creado. Iniciando su sesión…',
|
|
561
|
+
'account.createFailed': '⚠️ No se pudo crear el directorio del perfil {name}. Mira el registro del bot.',
|
|
562
|
+
'account.login_url': '🔐 Inicio de sesión en Claude para el perfil {name}. Abre este enlace en un navegador con sesión iniciada en ESA cuenta — una ventana de incógnito u otro perfil del navegador evita arrastrar tu sesión actual —, completa el inicio de sesión y pega el código aquí:\n{url}',
|
|
563
|
+
'account.login_success': '✅ Perfil {name} con sesión iniciada: {email} ({plan}).',
|
|
564
|
+
'account.login_failed': '⚠️ Falló el inicio de sesión del perfil {name}. Reintenta con /accounts login {name}.',
|
|
565
|
+
'account.setThisTopic': '✅ Cuenta de Claude para este tema: {name}.{apply}',
|
|
566
|
+
'account.setGlobal': '✅ Cuenta de Claude predeterminada para TODOS los temas: {name}. Los temas con elección propia la conservan; los demás cambian ahora o en su próximo inicio.',
|
|
567
|
+
'account.followSet': '✅ Este tema sigue la cuenta de Claude predeterminada ({name}).{apply}',
|
|
568
|
+
'account.usage': 'Uso: /accounts — el selector; /accounts add <nombre>; /accounts use <nombre>; /accounts login <nombre>; /accounts remove <nombre>; /accounts autoswitch on|off.',
|
|
569
|
+
'account.applied.inactive': ' Se aplica cuando la sesión arranque o se reanude.',
|
|
570
|
+
'account.applied.unchanged': '',
|
|
571
|
+
'account.applied.respawned': ' La sesión en curso se reinició con ella — misma conversación.',
|
|
572
|
+
'account.applied.deferred': ' El agente está trabajando; el cambio se aplica al terminar su turno.',
|
|
573
|
+
'account.applied.restartRequired': ' El agente está trabajando; el cambio se aplica en el próximo inicio o reanudación.',
|
|
574
|
+
'account.askNameCancelled': '✖ Añadir cuenta cancelado. Los mensajes vuelven a ir al agente.',
|
|
575
|
+
'account.row.usage': ' ⏱ 5h {session} · semana {weekly}{fable}',
|
|
576
|
+
'account.row.usageFable': ' · Fable {fable}',
|
|
577
|
+
'account.row.usageStale': ' (desactualizado)',
|
|
578
|
+
'account.row.limited': ' ⛔ en el límite hasta {until}',
|
|
579
|
+
'account.usageHint': 'Uso: % de cada ventana consumido, luego cuándo se reinicia (🔄 en 2h = dentro de dos horas).',
|
|
580
|
+
'account.autoSwitchHint': 'Qué ocurre ante un límite de uso — cambiar a un modelo de respaldo o esperar al reinicio — se configura en /limits.',
|
|
581
|
+
'fallback.backendClaude': 'Claude',
|
|
582
|
+
'fallback.backendOpenCode': 'OpenCode',
|
|
583
|
+
'fallback.topicModel': 'modelo del tema',
|
|
584
|
+
'fallback.topicModelButton': 'mantener el modelo del tema',
|
|
585
|
+
'fallback.noAgent': 'sin agente',
|
|
586
|
+
'fallback.addButton': '➕ Añadir',
|
|
587
|
+
'fallback.clearButton': '🗑 Vaciar',
|
|
588
|
+
'fallback.backButton': '⬅️ Atrás',
|
|
589
|
+
'fallback.nothingDetected': 'Nada que añadir: no se detectó ninguna cuenta de Claude con sesión iniciada ni provider de OpenCode. Inicia sesión primero con /accounts.',
|
|
590
|
+
'fallback.pickAccount': '➕ Elige una cuenta o un proveedor:',
|
|
591
|
+
'fallback.pickModel': '➕ {account} — elige el modelo:',
|
|
592
|
+
'fallback.full': 'La lista admite como máximo {max} modelos.',
|
|
593
|
+
'fallback.alreadyInChain': 'Ya está en la lista: {label}',
|
|
594
|
+
'fallback.added': '✅ Añadido: {label}',
|
|
595
|
+
'fallback.proposeNothing': 'Nada que proponer: no se detectó ninguna cuenta de Claude con sesión ni ningún proveedor de OpenCode.',
|
|
596
|
+
'fallback.proposed': '🔄 Lista de modelos de respaldo rellenada con lo conectado: {count} entradas. Reordénalas o quítalas con los botones.',
|
|
597
|
+
'fallback.cleared': '🗑 La lista de modelos de respaldo está vacía.',
|
|
598
|
+
'fallback.stale': 'La lista cambió desde que se publicó este teclado — se vuelve a dibujar.',
|
|
599
|
+
'fallback.moved': 'Movido.',
|
|
600
|
+
'fallback.removed': '🗑 Quitado: {label}',
|
|
601
|
+
'fallback.proposeConfirmButton': '✨ Sí, reemplazar',
|
|
602
|
+
'fallback.switchExpired': 'Este límite ya pasó — nada que cambiar.',
|
|
603
|
+
'fallback.switchButton': '🔁 Cambiar a {label}',
|
|
604
|
+
'fallback.switchOffer': '🪜 Un modelo de respaldo tiene margen — pulsa para pasar este tema a él y continuar ahora.',
|
|
605
|
+
'fallback.switched': '🔁 Límite de uso en {from} — este tema cambió a {to} y continúa.{reset}',
|
|
606
|
+
'fallback.backgroundStopped': 'Las tareas en segundo plano que seguían en curso se detuvieron con el cambio.',
|
|
607
|
+
'fallback.switchedReset': ' {from} se reinicia a las {time}; el tema sigue en {to} hasta que lo cambies de vuelta (/accounts, /model, /claude, /opencode).',
|
|
608
|
+
'fallback.switchedDeferred': '🔁 Límite de uso en {from} — el agente sigue trabajando, así que este tema cambia a {to} cuando termine su turno; la espera sigue armada hasta entonces.',
|
|
609
|
+
'fallback.switchFailed': '⚠️ El cambio a {to} falló: {error}. La espera del reinicio sigue armada.',
|
|
610
|
+
'limits.usageHeading': 'Uso (% consumido)',
|
|
611
|
+
'limits.topicRuns': 'Se ejecuta en: {current}',
|
|
612
|
+
'limits.settingsGeneral': 'Valores por defecto para todos los temas.',
|
|
613
|
+
'limits.sourceGeneral': 'como en General',
|
|
614
|
+
'limits.sourceTopic': 'definido para este tema',
|
|
615
|
+
'limits.sourceLine': '🔁 {switch} · ⏳ {wait}',
|
|
616
|
+
'limits.switchButton': '🔁 Cambio auto: {state}',
|
|
617
|
+
'limits.waitButton': '⏳ Esperar reinicio: {state}',
|
|
618
|
+
'limits.switchMenuTitle': '🔁 Cambio automático a un modelo de respaldo',
|
|
619
|
+
'limits.waitMenuTitle': '⏳ Esperar al reinicio y continuar',
|
|
620
|
+
'limits.settingSameButton': 'Como en General ({state})',
|
|
621
|
+
'limits.rebuildButton': '🔄 Rellenar con lo conectado',
|
|
622
|
+
'limits.rebuildConfirm': '🔄 ¿Reemplazar la lista por una nueva con lo conectado? Los modelos con 🚫 siguen excluidos.',
|
|
623
|
+
'limits.entryEnabled': '✅ Incluida en el cambio automático: {label}',
|
|
624
|
+
'limits.entryDisabled': '🚫 Excluida del cambio automático: {label}',
|
|
625
|
+
'limits.setThisTopic': '✅ {what}: {state} para este tema.',
|
|
626
|
+
'limits.setGlobal': '✅ {what}: {state} para TODOS los temas (los ajustes propios de cada tema siguen vigentes).',
|
|
627
|
+
'limits.setSame': '✅ {what}: este tema sigue a General ({state}).',
|
|
628
|
+
'limits.whatSwitch': 'Cambio automático a un modelo de respaldo',
|
|
629
|
+
'limits.whatWait': 'Esperar al reinicio y continuar',
|
|
630
|
+
'limits.usage': 'Uso: /limits — la pantalla; /limits rebuild; /limits clear; /limits switch on|off|same; /limits wait on|off|same («same» = seguir a General, en un tema).',
|
|
631
|
+
'accounts.openCodeSection': '🔌 Providers de OpenCode (conectados):\n{list}',
|
|
632
|
+
'accounts.openCodeNone': '🔌 Providers de OpenCode: aún no hay ninguno conectado. «➕ Provider OpenCode» conecta uno.',
|
|
633
|
+
'accounts.buttonsHint': 'Pulsa una cuenta para pasar este tema a ella (en General: valor por defecto para todos). 🔑 vuelve a iniciar sesión en una cuenta o proveedor, 🗑 quita una cuenta (la default se desconecta), 🔌 desconecta un proveedor.',
|
|
634
|
+
'accounts.addClaudeButton': '➕ Cuenta de Claude',
|
|
635
|
+
'accounts.addProviderButton': '➕ Provider OpenCode',
|
|
636
|
+
'accounts.askProvider': '➕ ¿Qué provider de OpenCode? Envía su id en el siguiente mensaje (por ejemplo openai u openrouter).',
|
|
637
|
+
'accounts.stale': 'Esta pantalla está desactualizada — se vuelve a mostrar.',
|
|
638
|
+
'accounts.confirmDisconnect': '🔌 ¿Desconectar {provider}? Se eliminan sus credenciales guardadas.',
|
|
639
|
+
'accounts.confirmDisconnectButton': '🔌 Sí, desconectar {provider}',
|
|
640
|
+
'limits.listNote': '🪜 Modelos de respaldo, el primero arriba:',
|
|
641
|
+
'limits.listNoteEmpty': '🪜 Aún sin modelos de respaldo: solo se prueban las cuentas de Claude con sesión. ➕ Añadir o 🔄 Rellenar con lo conectado.',
|
|
642
|
+
'apiRetry.usageLimitResetOnRungNotice': '🚧 Límite de uso alcanzado — todos los modelos de respaldo están limitados. Este tema continuará en {model} tras su reinicio (~{time}).',
|
|
643
|
+
'requests.limit.answerAfterResetOnRungNotice': '🚧 Se alcanzó el límite de uso — la respuesta llegará después de las {time}, con {model}.',
|
|
644
|
+
'usage.resetIn': '🔄 en {time}',
|
|
645
|
+
'usage.unitDay': 'd',
|
|
646
|
+
'usage.unitHour': 'h',
|
|
647
|
+
'usage.unitMinute': 'min',
|
|
648
|
+
'accounts.disconnectButton': '🔌 Desconectar {provider}',
|
|
649
|
+
'accounts.defaultRemovedNote': 'La cuenta default (~/.claude) está desconectada y oculta. Vuelve a iniciar sesión con /accounts login default.',
|
|
650
|
+
'account.confirmRemoveDefault': '🗑 ¿Quitar la cuenta default ({email})? Se borra su sesión guardada en ~/.claude: las sesiones que corren con ella dejan de funcionar y los temas en ella necesitan otra cuenta. Transcripciones, ajustes, skills y memoria se conservan. Queda oculta hasta que vuelvas a iniciar sesión.',
|
|
651
|
+
'account.removedDefault': '✅ La cuenta default está desconectada y oculta. Las sesiones en ella fallarán hasta que elijas otra cuenta o inicies sesión de nuevo (/accounts login default).',
|
|
652
|
+
'account.removeDefaultFailed': '⚠️ No se pudo desconectar la cuenta default. Consulta el registro del bot.',
|
|
653
|
+
'limits.rungTitle': '🪜 {n} de {total}: {label}',
|
|
654
|
+
'limits.rungReady': '✅ Lista.',
|
|
655
|
+
'limits.rungLimited': '⛔ En su límite hasta {until}.',
|
|
656
|
+
'limits.rungSignedOut': '🔒 Sin sesión iniciada.',
|
|
657
|
+
'limits.rungMissing': '❓ Ya no se ofrece.',
|
|
658
|
+
'limits.rungDisabled': '🚫 Excluida del cambio automático.',
|
|
659
|
+
'limits.rungHere': '✓ Este tema corre aquí.',
|
|
660
|
+
'limits.btnUp': '⬆️ Subir',
|
|
661
|
+
'limits.btnDown': '⬇️ Bajar',
|
|
662
|
+
'limits.btnUse': '✅ Usar',
|
|
663
|
+
'limits.btnDontUse': '🚫 No usar',
|
|
664
|
+
};
|
|
665
|
+
//# sourceMappingURL=es.js.map
|