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/fr.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.frDict = void 0;
|
|
5
|
+
exports.frDict = {
|
|
6
|
+
'access.denied': 'Accès refusé.',
|
|
7
|
+
'access.group_only': 'Je ne fonctionne que dans le super-groupe forum configuré.',
|
|
8
|
+
'thread.no_binding': '📁 Ce fil n\'est pas lié à un dossier. Utilisez /bind <subdir> ou choisissez dans la liste.',
|
|
9
|
+
'thread.bind_required': '📁 Liez d\'abord un dossier : /bind <subdir>. L\'agent ne fonctionne que dans le dossier lié.',
|
|
10
|
+
'thread.bound': '📁 Lié à `{subdir}`.\nLancez /claude ou /opencode.',
|
|
11
|
+
'thread.unbound': '📁 Lien effacé.',
|
|
12
|
+
'thread.general_no_agent': 'General n\'est pas lié à un dossier — passez à un fil thématique pour parler à un agent.',
|
|
13
|
+
'thread.welcome_bound': '👋 Fil créé et lié automatiquement à `{subdir}` (nom du fil correspondait à un sous-dossier).\nLancez /claude ou /opencode.',
|
|
14
|
+
'thread.welcome_pick': '👋 Fil créé. Liez un dossier : /bind <subdir>, ou choisissez-en un ci-dessous.',
|
|
15
|
+
'thread.bind_collision': '⚠️ Le dossier `{subdir}` est déjà utilisé par les fils : {threads}.\nLien ajouté ; les sessions restent indépendantes (tmux/SSE séparés).',
|
|
16
|
+
'thread.no_agent_with_binding': '📁 Le dossier `{subdir}` est lié. Lancez /claude ou /opencode pour commencer le dialogue.',
|
|
17
|
+
'bind.usage': 'Utilisation : /bind <subdir>\nExemple : /bind overview',
|
|
18
|
+
'bind.current': '📂 Actuellement lié : `{subdir}`',
|
|
19
|
+
'bind.current_none': '📂 Pas encore lié',
|
|
20
|
+
'bind.in_general': '/bind ne fonctionne que dans les fils thématiques, pas dans General.',
|
|
21
|
+
'bind.invalid_chars': '❌ Le nom du dossier ne doit pas contenir de caractères de contrôle.',
|
|
22
|
+
'bind.not_found': '❌ Dossier `{subdir}` introuvable sous `WORK_ROOT` (`{workRoot}`).',
|
|
23
|
+
'bind.outside_root': '❌ Le chemin sort de `WORK_ROOT`.',
|
|
24
|
+
'bind.not_directory': '❌ `{subdir}` existe mais n\'est pas un dossier.',
|
|
25
|
+
'bind.leave_button': '⬅️ Quitter le dossier actuel',
|
|
26
|
+
'bind.create_button': '➕ Créer un nouveau dossier',
|
|
27
|
+
'bind.create_prompt': '✏️ Envoyez le nom du nouveau dossier (il sera créé sous `WORK_ROOT`). Toute commande annule.',
|
|
28
|
+
'bind.create_cb': 'Création d\'un nouveau dossier…',
|
|
29
|
+
'bind.create_empty': '❌ Le nom est vide. Envoyez un nom de dossier.',
|
|
30
|
+
'bind.create_separator': '❌ Le nom ne doit pas contenir `/` ou `\\`. Envoyez un nom simple.',
|
|
31
|
+
'bind.create_dot_segment': '❌ `.` et `..` ne peuvent pas être utilisés comme nom de dossier.',
|
|
32
|
+
'bind.create_hidden': '❌ Le nom ne doit pas commencer par un point.',
|
|
33
|
+
'bind.create_invalid_chars': '❌ Le nom du dossier ne doit pas contenir de caractères de contrôle.',
|
|
34
|
+
'bind.create_exists': '📁 Le dossier `{subdir}` existe déjà — liaison en cours.',
|
|
35
|
+
'bind.create_failed': '❌ Échec de la création du dossier : {error}',
|
|
36
|
+
'ls.header': '📁 Sous-dossiers de `{workRoot}` :',
|
|
37
|
+
'ls.empty': '📁 Aucun sous-dossier liaisable sous `WORK_ROOT`.',
|
|
38
|
+
'list.header': '🧵 Liens de fils ({count}) :',
|
|
39
|
+
'list.empty': '🧵 Aucun lien pour l\'instant. Créez un fil et lancez /bind.',
|
|
40
|
+
'list.row': '• {threadId}: `{subdir}` · {agent} · {status}',
|
|
41
|
+
'list.row_closed': '• {threadId}: `{subdir}` · {agent} · 🔒 closed',
|
|
42
|
+
'new.general_hint': '/new fonctionne dans un fil lié — ouvrez un fil et lancez /new pour redémarrer sa session d\'agent.',
|
|
43
|
+
'help.general': '*Commandes dans General :*\n' +
|
|
44
|
+
'/ls — lister les sous-dossiers `WORK_ROOT`\n' +
|
|
45
|
+
'/list — lister les fils\n' +
|
|
46
|
+
'/status — état de tous les fils\n' +
|
|
47
|
+
'/quitall — arrêter tous les agents en cours\n' +
|
|
48
|
+
'/whoami /version — débogage\n\n' +
|
|
49
|
+
'Pour parler à un agent — ouvrez un fil thématique.',
|
|
50
|
+
'help.thread_unbound': '*Le fil n\'est pas lié à un dossier.*\n' +
|
|
51
|
+
'/bind <subdir> — lier (ou choisir dans la liste)\n' +
|
|
52
|
+
'/ls — sous-dossiers `WORK_ROOT` (dans General)',
|
|
53
|
+
'help.thread_bound': '*Fil lié à `{subdir}`.*\n' +
|
|
54
|
+
'/claude /opencode — démarrer un agent\n' +
|
|
55
|
+
'/terminal — ouvrir un shell dans ce dossier\n' +
|
|
56
|
+
'/new — redémarrer la session (l\'ancienne → /sessions)\n' +
|
|
57
|
+
'/model /sessions — basculer\n' +
|
|
58
|
+
'/effort — niveau de reasoning effort\n' +
|
|
59
|
+
'/verbosity — détail de sortie et ce que le sujet affiche (flux / réponses)\n' +
|
|
60
|
+
'/quit /status /output — contrôle\n' +
|
|
61
|
+
'/compact — compacter le contexte de l\'agent\n' +
|
|
62
|
+
'/compact_on_idle — compactage auto après inactivité (bascule)\n' +
|
|
63
|
+
'/limits — que faire à une limite d’usage (modèles de secours, bascule, attente)\n' +
|
|
64
|
+
'/accounts — comptes Claude et providers OpenCode (choisir, ajouter, se reconnecter, supprimer, connecter, déconnecter)\n' +
|
|
65
|
+
'/clear — supprimer les messages du fil\n' +
|
|
66
|
+
'/c /y /n /enter /up /down /tab /esc — touches TUI (Claude)\n' +
|
|
67
|
+
'/bind — gérer la liaison',
|
|
68
|
+
'doctor.header': '🔍 *Charness Doctor*',
|
|
69
|
+
'doctor.ok': '✅ {label}',
|
|
70
|
+
'doctor.warn': '⚠️ {label} — {hint}',
|
|
71
|
+
'doctor.fail': '❌ {label} — {hint}',
|
|
72
|
+
'doctor.bot_admin': 'Le bot est admin du groupe',
|
|
73
|
+
'doctor.can_manage_topics': '`can_manage_topics` accordé',
|
|
74
|
+
'doctor.can_delete_messages': '`can_delete_messages` accordé',
|
|
75
|
+
'doctor.can_pin_messages': '`can_pin_messages` accordé',
|
|
76
|
+
'doctor.privacy_off': 'Privacy mode désactivé',
|
|
77
|
+
'doctor.privacy_hint': '@BotFather → /setprivacy → Disable, puis retirer et ré-ajouter le bot',
|
|
78
|
+
'doctor.workroot_subdirs': '`WORK_ROOT` : `{workRoot}` ({count} sous-dossiers)',
|
|
79
|
+
'doctor.datadir_path': '`DATA_DIR` : `{dataDir}`',
|
|
80
|
+
'doctor.claude_installed': 'claude CLI installé',
|
|
81
|
+
'doctor.opencode_installed': 'opencode CLI installé',
|
|
82
|
+
'doctor.state_valid': 'state.json valide ({bindings} liens, {active} actifs)',
|
|
83
|
+
'doctor.state_archived': 'l\'ancien state.json était corrompu, archive : {path}',
|
|
84
|
+
'doctor.cli_missing': 'introuvable dans PATH (auto-install se lancera sur /claude ou /opencode)',
|
|
85
|
+
'doctor.no_admin_info': 'impossible de lire les droits du bot — getChatMember échoué',
|
|
86
|
+
'onboarding.welcome': '👋 *Charness 2.0*\n\n' +
|
|
87
|
+
'Checklist de mise en service :\n' +
|
|
88
|
+
'1️⃣ Faites de moi un admin de groupe avec les droits :\n' +
|
|
89
|
+
' • Manage Topics, Delete Messages, Pin Messages\n' +
|
|
90
|
+
'2️⃣ @BotFather → /setprivacy → Disable, puis retirez et ré-ajoutez-moi\n' +
|
|
91
|
+
'3️⃣ Lancez /doctor pour voir ce qui manque\n' +
|
|
92
|
+
'4️⃣ Dans chaque fil thématique, lancez /bind <subdir> et démarrez un agent\n\n' +
|
|
93
|
+
'`WORK_ROOT` : `{workRoot}`',
|
|
94
|
+
'binding.welcome.header': '📁 Lié à `{subdir}`',
|
|
95
|
+
'binding.welcome.claude_md': '• CLAUDE.md : {size}',
|
|
96
|
+
'binding.welcome.mcp_json': '• `.mcp.json` : {count} serveurs',
|
|
97
|
+
'binding.welcome.git': '• git : branche `{branch}`{detail}',
|
|
98
|
+
'binding.welcome.git_clean': ', propre',
|
|
99
|
+
'binding.welcome.git_dirty': ', modifications non validées',
|
|
100
|
+
'binding.welcome.git_none': '• git : non initialisé',
|
|
101
|
+
'binding.welcome.start_prompt': 'Démarrez une conversation :',
|
|
102
|
+
'mcp.header': '🔌 *Serveurs MCP pour ce fil :*',
|
|
103
|
+
'mcp.row': '• `{name}` — {source}',
|
|
104
|
+
'mcp.empty': '🔌 Aucun serveur MCP configuré.',
|
|
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': 'Le statut épinglé du fil (Stage 7) sera indisponible',
|
|
110
|
+
'whoami.report': '👤 user : `{userId}`\n💬 chat : `{chatId}`\n🧵 thread : `{threadId}`\n' +
|
|
111
|
+
'🔐 allowed : {allowed}\n📁 binding : {binding}',
|
|
112
|
+
'whoami.binding_unbound': '(aucun lien)',
|
|
113
|
+
'pair.success': '✅ Groupe apparié. id : `{groupId}`. Le bot sert désormais ce super-groupe.',
|
|
114
|
+
'pair.locked': 'ℹ️ L\'id du groupe est défini via `ALLOWED_GROUP_ID` — l\'auto-appariement est désactivé. ' +
|
|
115
|
+
'Pour changer de groupe, modifiez la variable et redémarrez le bot.',
|
|
116
|
+
'pair.only_forum': '❌ /pair ne fonctionne que dans un super-groupe forum (activez Topics).',
|
|
117
|
+
'pair.not_admin': '❌ Seul un administrateur ou créateur du groupe peut apparier le bot.',
|
|
118
|
+
'pair.not_paired': 'groupe non encore apparié (mode pairing)',
|
|
119
|
+
'pair.dm': "ℹ️ /pair n'est pas nécessaire en mode DM — le bot sert votre chat privé.",
|
|
120
|
+
'version.report': '*Charness {bot}*\n' +
|
|
121
|
+
'Node : {node}\n' +
|
|
122
|
+
'tmux : {tmux}\n' +
|
|
123
|
+
'claude : {claude}\n' +
|
|
124
|
+
'opencode : {opencode}',
|
|
125
|
+
'version.unknown': '(indisponible)',
|
|
126
|
+
'status.global_header': '📊 *Tous les fils* ({total}) :',
|
|
127
|
+
'status.global_row': '• `{key}` → `{subdir}` · {agent} · {status}',
|
|
128
|
+
'status.global_empty': '📊 Aucun fil pour l\'instant.',
|
|
129
|
+
'status.thread_report': 'Statut :\n\nAgent : {agent}\nDossier : {subdir}\nSession : {session}',
|
|
130
|
+
'status.thread_view': 'Vue : {view}',
|
|
131
|
+
'status.thread_account': 'Compte : {account}',
|
|
132
|
+
'status.thread_account_limited': ' · ⛔ à la limite jusqu’à {until}',
|
|
133
|
+
'status.thread_account_pending': 'Bascule en attente : {account} — appliquée à la fin du tour de l’agent ou au prochain démarrage',
|
|
134
|
+
'status.thread_model': 'Modèle : {model}',
|
|
135
|
+
'status.thread_effort': 'Effort : {effort}',
|
|
136
|
+
'status.thread_started': 'Démarré : {started}',
|
|
137
|
+
'status.thread_running': 'en cours',
|
|
138
|
+
'status.thread_stopped': 'arrêté',
|
|
139
|
+
'status.thread_sleeping': 'en veille — reprend au prochain message',
|
|
140
|
+
'status.thread_no_agent': 'aucun (lancez /claude ou /opencode)',
|
|
141
|
+
'status.thread_no_binding': '(aucun lien — WORK_ROOT)',
|
|
142
|
+
'status.thread_workdir': 'Répertoire de travail : {workDir}',
|
|
143
|
+
'status.thread_runtime_version': 'Version d’exécution : {version}',
|
|
144
|
+
'status.thread_context': 'Contexte : {used} / {limit} jetons',
|
|
145
|
+
'language.status': '🌐 Langue : {display}',
|
|
146
|
+
'language.set_success': '✅ Langue définie sur `{locale}` pour ce chat.',
|
|
147
|
+
'language.auto_success': '✅ Langue réinitialisée en automatique. Actuelle : {display}.',
|
|
148
|
+
'language.invalid': '⚠️ Locale `{locale}` non prise en charge. Disponibles : {locales}.',
|
|
149
|
+
'timezone.status': '🌍 Fuseau horaire : {zone} — il est {now}',
|
|
150
|
+
'timezone.usage': 'Utilisation : /timezone <zone IANA> · /timezone +04:00 · /timezone auto\nOu envoie /timezone sans argument pour choisir dans une liste.',
|
|
151
|
+
'timezone.set_success': '✅ Fuseau horaire : {zone} — il est {now}\nPlanifications recalculées : {count}',
|
|
152
|
+
'timezone.auto_success': '✅ Fuseau horaire réinitialisé sur celui de l’hôte : {zone} — il est {now}\nPlanifications recalculées : {count}',
|
|
153
|
+
'timezone.invalid': '⚠️ Fuseau horaire `{zone}` inconnu. Utilise un nom IANA (par ex. `Europe/Moscow`) ou un décalage fixe (par ex. `+04:00`). Envoie /timezone pour choisir dans une liste.',
|
|
154
|
+
'timezone.offset_unsupported': '⚠️ Le décalage `{zone}` ne peut pas être appliqué — seuls les décalages en heures entières fonctionnent. Utilise plutôt le nom IANA de ta zone (par exemple `Asia/Kolkata` pour +05:30).',
|
|
155
|
+
'timezone.fixed_offset_warning': '⚠️ Un décalage fixe ne suit pas l’heure d’été — il sera décalé d’une heure la moitié de l’année.',
|
|
156
|
+
'timezone.picker_regions': '🌍 Fuseau horaire : {zone}\nMaintenant : {now}\n\nChoisis une région :',
|
|
157
|
+
'timezone.picker_zones': '🌍 {region} — page {page}/{total}',
|
|
158
|
+
'timezone.picker_expired': 'Cette liste est obsolète — renvoie /timezone.',
|
|
159
|
+
'agent.ready': '{label} prêt dans `{subdir}`{argsSuffix}\n{infoBlock}Envoyez un message :',
|
|
160
|
+
'agent.ready_model': '🧠 Modèle : {model}',
|
|
161
|
+
'agent.no_session': 'Aucun agent en cours. /claude ou /opencode pour démarrer.',
|
|
162
|
+
'agent.session_ended': '{label} : session terminée',
|
|
163
|
+
'agent.stopped': '{label} arrêté',
|
|
164
|
+
'agent.sleeping_released': 'La session en veille a été libérée — le prochain message en démarre une nouvelle.',
|
|
165
|
+
'agent.resume_failed_fresh': '⚠️ La conversation précédente n\'a pas pu être reprise — une nouvelle session a été démarrée.',
|
|
166
|
+
'agent.exit_signal_sent': 'Double Ctrl+C envoyé — {label} en cours d\'arrêt',
|
|
167
|
+
'agent.already_active': '{label} fonctionne déjà ici. Envoyez un message ou /quit.',
|
|
168
|
+
'agent.starting': 'Démarrage de {label} dans `{subdir}`…',
|
|
169
|
+
'agent.queued_starting': '⏳ {label} démarre encore — votre message est en file d\'attente et sera envoyé dès qu\'il sera prêt.',
|
|
170
|
+
'agent.question_hint': 'ℹ️ Répondez avec le numéro d\'option (ex. 1) ou y/n. Aussi : /up /down pour naviguer, /enter pour confirmer, /c pour annuler.',
|
|
171
|
+
'agent.start_failed': 'Échec du démarrage de {label} : {error}',
|
|
172
|
+
'agent.no_response': '⚠️ L’agent a accepté votre demande mais n’a jamais commencé à répondre — la session est peut-être bloquée. Renvoyez-la, ou /new pour une nouvelle session.',
|
|
173
|
+
'agent.session_restarting': '⚠️ L’agent n’a pas répondu — la session semble bloquée. Je la redémarre et relance votre demande…',
|
|
174
|
+
'agent.session_recovering': '⚠️ L’agent n’a pas répondu — récupération (votre conversation est conservée) et relance de votre demande…',
|
|
175
|
+
'agent.question_cancelled_for_prompt': '⚠️ Question précédente annulée — exécution de votre nouvelle requête.',
|
|
176
|
+
'agent.question_cancelled_msg_label': '❌ Question annulée : {header}',
|
|
177
|
+
'agent.login_code_relayed': '🔐 Code de connexion transmis à Claude — le message avec le jeton a été supprimé de l\'historique.',
|
|
178
|
+
'agent.login_url': '🔐 Pour te connecter à Claude, ouvre ce lien, termine la connexion, puis colle le code ici :\n{url}',
|
|
179
|
+
'agent.login_success': '✅ Connecté à Claude.',
|
|
180
|
+
'agent.login_failed': '⚠️ Échec de la connexion à Claude. Lance /login pour réessayer.',
|
|
181
|
+
'login.esc_hint': '/esc pour annuler',
|
|
182
|
+
'login.waiting_code': '⏳ En attente du code de connexion — colle le code du lien de connexion dans ton prochain message.',
|
|
183
|
+
'login.cancelled': '✖ Connexion annulée. Les messages repartent vers l\'agent.',
|
|
184
|
+
'agent.workingIndicator': '{glyph} travail…',
|
|
185
|
+
'terminal.ready': '🖥 Terminal prêt dans `{subdir}`{argsSuffix}\nChaque message est exécuté comme une commande. /c — Ctrl+C, /up /down — historique, /tab — complétion, /quit — fermer.',
|
|
186
|
+
'effort.choose': '⚙️ Effort actuel : {current}\nChoisissez un niveau :',
|
|
187
|
+
'effort.current_none': 'non défini',
|
|
188
|
+
'effort.set_success': '✅ Effort : {level}',
|
|
189
|
+
'effort.current_hint': '⚙️ Effort : {effort}\nLancez /effort pour le changer',
|
|
190
|
+
'effort.invalid_level': '⚠️ Niveau `{level}` invalide. Disponibles : {valid}.',
|
|
191
|
+
'effort.not_available': 'ℹ️ Aucun niveau de reasoning effort disponible pour le modèle actuel.',
|
|
192
|
+
'effort.not_supported': 'ℹ️ Le modèle `{model}` n\'a pas de niveaux de reasoning effort.',
|
|
193
|
+
'effort.start_agent_first': 'ℹ️ Niveau enregistré. Aucun agent en cours — sera appliqué au prochain démarrage.',
|
|
194
|
+
'effort.cleared_on_model_switch': 'ℹ️ Effort `{level}` effacé : le nouveau modèle `{model}` ne le prend pas en charge.',
|
|
195
|
+
'effort.unsupported_backend': 'Le contrôle d\'effort n\'est pas pris en charge pour {label}.',
|
|
196
|
+
'effort.no_session': 'Aucun agent en cours. Démarrez-en un avec /claude ou /opencode.',
|
|
197
|
+
'thinking.live': '•••',
|
|
198
|
+
'thinking.thoughtForSeconds': '💭 a réfléchi pendant {seconds}s',
|
|
199
|
+
'thinking.choose': '☁️ Mode de thinking actuel : {current}\nChoisissez un mode :',
|
|
200
|
+
'thinking.set_success': '✅ Mode de thinking : {mode}',
|
|
201
|
+
'thinking.invalid_mode': '⚠️ Mode `{mode}` invalide. Disponibles : {valid}.',
|
|
202
|
+
'thinking.mode.minimal': 'minimal',
|
|
203
|
+
'thinking.mode.short': 'court',
|
|
204
|
+
'thinking.mode.full': 'complet',
|
|
205
|
+
'toolResults.choose': '🔧 Mode de résultats d\'outils actuel : {current}\nChoisissez un mode :',
|
|
206
|
+
'toolResults.set_success': '✅ Mode de résultats d\'outils : {mode}',
|
|
207
|
+
'toolResults.invalid_mode': '⚠️ Mode `{mode}` invalide. Disponibles : {valid}.',
|
|
208
|
+
'toolResults.mode.minimal': 'minimal',
|
|
209
|
+
'toolResults.mode.short': 'court',
|
|
210
|
+
'toolResults.mode.full': 'complet',
|
|
211
|
+
'toolResults.truncated_footer': '… (tronqué, /tool_results full)',
|
|
212
|
+
'toolResults.activity_status': '🔧 {tool} …',
|
|
213
|
+
'toolResults.activity_fallback': 'outil',
|
|
214
|
+
'subagent.status_elapsed': '🤖 sous-agent : {title} · {elapsed}',
|
|
215
|
+
'subagent.panel_fold_status': '🤖 sous-agent travaille …',
|
|
216
|
+
'subagent.delegating_status': '🤖 Délégation : {title} …',
|
|
217
|
+
'subagent.chunk_prefix': '🤖 ⤷',
|
|
218
|
+
'subagent.fallback_title': 'sous-agent',
|
|
219
|
+
'subagent.choose': '🤖 Mode de sous-agent actuel : {current}\nChoisissez un mode :',
|
|
220
|
+
'subagent.set_success': '✅ Mode de sous-agent : {mode}',
|
|
221
|
+
'subagent.invalid_mode': '⚠️ Mode `{mode}` invalide. Disponibles : {valid}.',
|
|
222
|
+
'subagent.mode.minimal': 'minimal',
|
|
223
|
+
'subagent.mode.short': 'court',
|
|
224
|
+
'subagent.mode.full': 'complet',
|
|
225
|
+
'verbosity.choose': '🔊 Sortie — détail : {current} · vue : {view}\nLigne 1 — détail du flux · Ligne 2 — ce que ce sujet affiche :',
|
|
226
|
+
'verbosity.set_success': '✅ Verbosité de sortie : {mode} (thinking, résultats d\'outils, sous-agents)',
|
|
227
|
+
'verbosity.invalid_mode': "⚠️ `{mode}` n'est pas valide. Niveaux de détail : {valid}. Vues : {views}.",
|
|
228
|
+
'verbosity.custom': 'personnalisé (thinking : {thinking} · outils : {toolResults} · sous-agents : {subagent})',
|
|
229
|
+
'verbosity.mode.minimal': 'minimal',
|
|
230
|
+
'verbosity.mode.short': 'court',
|
|
231
|
+
'verbosity.mode.full': 'complet',
|
|
232
|
+
'verbosity.view.stream': 'Flux seul',
|
|
233
|
+
'verbosity.view.streamAnswers': 'Flux + réponses',
|
|
234
|
+
'verbosity.view.answers': 'Réponses seules',
|
|
235
|
+
'verbosity.view_set_success': '✅ Ce sujet affiche : {view} (dès le prochain message)',
|
|
236
|
+
'model.set_success': '🧠 Modèle défini sur : {model}',
|
|
237
|
+
'model.saved_for_next_start': 'Modèle enregistré : {model} — s\'appliquera au prochain démarrage d\'agent.',
|
|
238
|
+
'model.start_agent_first': 'Aucune session active. Démarrez d\'abord un agent.',
|
|
239
|
+
'model.current_default': 'par défaut',
|
|
240
|
+
'model.none_available': '🧠 Actuel : {current}\n\nAucun modèle disponible. Définis-en un manuellement avec /model <provider/model>.',
|
|
241
|
+
'model.invalid_number': '❌ Numéro invalide. Lance /model pour voir la liste.',
|
|
242
|
+
'model.pick_provider': '🧠 Actuel : {current}\n\nChoisis un fournisseur :',
|
|
243
|
+
'model.all_hidden': '🧠 Actuel : {current}\n\nTous les fournisseurs sont masqués. Touche 👁 pour en rétablir un.',
|
|
244
|
+
'model.hidden_header': '🙈 Masqué de ce sélecteur — touche 👁 pour rétablir.',
|
|
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': '⬅️ fournisseurs',
|
|
250
|
+
'model.recent_button': '🕘 Récents ({count})',
|
|
251
|
+
'model.recent_header': '🧠 Récents — {count} modèles\nActuel : {current}',
|
|
252
|
+
'model.prev_button': '⬅️ Préc.',
|
|
253
|
+
'model.next_button': 'Suiv. ➡️',
|
|
254
|
+
'model.page_button': '{page}/{totalPages}',
|
|
255
|
+
'model.page_header': '🧠 {provider} — {count} modèles · page {page}/{totalPages}\nActuel : {current}',
|
|
256
|
+
'model.page_hint': 'Réponds avec un numéro pour choisir, ou /model <nom> pour rechercher.',
|
|
257
|
+
'model.page_hint_buttons_only': 'Touche un modèle pour changer, ou /model <nom> pour rechercher.',
|
|
258
|
+
'disconnect.unsupported_backend': 'La déconnexion de providers OpenCode n\'est pas disponible dans cette build.',
|
|
259
|
+
'disconnect.invalid_provider': '❌ Identifiant de fournisseur invalide {provider}. Exemple : /disconnect openrouter',
|
|
260
|
+
'disconnect.no_providers': 'Aucun fournisseur à déconnecter.',
|
|
261
|
+
'disconnect.pick_provider': 'Choisis un fournisseur à déconnecter — ses identifiants enregistrés seront supprimés :',
|
|
262
|
+
'disconnect.provider_button': '🔌 {provider}',
|
|
263
|
+
'disconnect.success': '✅ Fournisseur {provider} déconnecté — identifiants enregistrés supprimés.',
|
|
264
|
+
'disconnect.still_active_env': '⚠️ Les identifiants enregistrés pour {provider} ont été supprimés, mais le fournisseur reste actif : OpenCode l\'active via une variable d\'environnement. Supprime cette variable et redémarre OpenCode, ou masque le fournisseur via /model.',
|
|
265
|
+
'disconnect.failed': '⚠️ Échec de la déconnexion de {provider} : {reason}',
|
|
266
|
+
'rename_session.usage': 'Utilisation : /rename_session <nouveau titre>',
|
|
267
|
+
'rename_session.start_agent_first': 'Aucune session active. Démarrez d\'abord un agent (/claude ou /opencode).',
|
|
268
|
+
'rename_session.unsupported_backend': 'Le renommage de session n\'est pas pris en charge pour {label}.',
|
|
269
|
+
'rename_session.success': '✅ Session renommée : {title}',
|
|
270
|
+
'rename_session.failed': '⚠️ Échec du renommage de la session : {reason}',
|
|
271
|
+
'compact.started': '🧹 Compactage du contexte de la session — l\'agent continue à partir du résumé.',
|
|
272
|
+
'compact.done': '✅ Contexte compacté.',
|
|
273
|
+
'compact.done_tokens': '✅ Contexte compacté : {pre} → {post} tokens.',
|
|
274
|
+
'compact.summaryHeader': '📄 Résumé du compactage :',
|
|
275
|
+
'compact.start_agent_first': 'Aucune session active. Démarrez d\'abord un agent (/claude ou /opencode).',
|
|
276
|
+
'compact.unsupported_backend': 'Le compactage du contexte n\'est pas pris en charge pour {label}.',
|
|
277
|
+
'compact.model_unresolved': '⚠️ Compactage impossible : aucun modèle n\'est résolu pour cette session. Choisissez-en un avec /model puis réessayez.',
|
|
278
|
+
'compact.failed': '⚠️ Échec du compactage du contexte de la session : {reason}',
|
|
279
|
+
'compact.busy': '⚠️ L\'agent est occupé pour le moment — relance /compact une fois le tour en cours terminé.',
|
|
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 FRENCH: (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': '🧹 Compacté automatiquement en cas d’inactivité pour économiser des tokens via le cache.\n/compact_on_idle — le désactiver ou afficher le résumé.',
|
|
282
|
+
'compactOnIdle.on': 'ACTIVÉ',
|
|
283
|
+
'compactOnIdle.off': 'DÉSACTIVÉ',
|
|
284
|
+
'compactOnIdle.title': '🧹 Compactage auto en cas d’inactivité pour ce sujet : {state}\n{summaryLine}\n\nQuand la session reste inactive ~55 min, son contexte est compacté automatiquement pour économiser des tokens (le cache de prompt est encore chaud).\n\nPour le changer pour TOUS les sujets d’un coup, lance ceci dans le sujet General.',
|
|
285
|
+
'compactOnIdle.titleGeneral': '🧹 Compactage auto en cas d’inactivité — défaut pour TOUS les sujets : {state}\n{summaryLine}\n\nQuand une session reste inactive ~55 min, son contexte est compacté automatiquement pour économiser des tokens.\n\nChaque sujet peut le remplacer avec son propre /compact_on_idle.',
|
|
286
|
+
'compactOnIdle.enableButton': 'Activer',
|
|
287
|
+
'compactOnIdle.disableButton': 'Désactiver',
|
|
288
|
+
'compactOnIdle.summaryLine': '📄 Résumé après le compactage : {state}',
|
|
289
|
+
'compactOnIdle.summaryShowButton': '📄 Afficher le résumé',
|
|
290
|
+
'compactOnIdle.summaryHideButton': 'Masquer le résumé',
|
|
291
|
+
'compactOnIdle.setThisTopic': '✅ Compactage auto en cas d’inactivité : {state} pour ce sujet.',
|
|
292
|
+
'compactOnIdle.setGlobal': '✅ Compactage auto en cas d’inactivité : {state} pour TOUS les sujets (les remplacements par sujet s’appliquent toujours).',
|
|
293
|
+
'compactOnIdle.unsupported': 'Le compactage auto en cas d’inactivité s’applique à une session d’agent active. Lance d’abord /claude ou /opencode dans un sujet lié.',
|
|
294
|
+
'compactOnIdle.pendingQuestionReask': '❓ Tu as encore une question en attente. Touche une option pour y répondre et continuer :',
|
|
295
|
+
'compactSummary.on': 'ACTIVÉ',
|
|
296
|
+
'compactSummary.off': 'DÉSACTIVÉ',
|
|
297
|
+
'compactSummary.title': '📄 Publier le résumé du compactage dans ce sujet : {state}\n\nAprès un compactage, le résumé complet de l\'agent est écrit dans le sujet, pour que vous voyiez ce qui a été conservé.\n\nPour changer cela pour TOUS les sujets, lancez cette commande dans le sujet General.',
|
|
298
|
+
'compactSummary.titleGeneral': '📄 Publier le résumé du compactage — défaut pour TOUS les sujets : {state}\n\nAprès un compactage, le résumé complet de l\'agent est écrit dans le sujet, pour que vous voyiez ce qui a été conservé.\n\nChaque sujet peut toujours le remplacer avec son propre /compact_summary.',
|
|
299
|
+
'compactSummary.enableButton': 'Activer',
|
|
300
|
+
'compactSummary.disableButton': 'Désactiver',
|
|
301
|
+
'compactSummary.setThisTopic': '✅ Résumé du compactage : {state} pour ce sujet.',
|
|
302
|
+
'compactSummary.setGlobal': '✅ Résumé du compactage : {state} pour TOUS les sujets (les remplacements par sujet s\'appliquent toujours).',
|
|
303
|
+
'compactSummary.unsupported': 'Un shell n\'a pas de contexte à compacter, donc il n\'y a aucun résumé à publier.',
|
|
304
|
+
'autoContinueLimits.on': 'ACTIVÉ',
|
|
305
|
+
'autoContinueLimits.off': 'DÉSACTIVÉ',
|
|
306
|
+
'autoContinueLimits.skipButton': '⏭ Passer une fois',
|
|
307
|
+
'autoContinueLimits.skipDone': 'Cette reprise a été passée.',
|
|
308
|
+
'autoContinueLimits.skipExpired': 'Rien à passer — cette attente est déjà terminée.',
|
|
309
|
+
'autoContinueLimits.skippedNotice': '⏭ Passé : je ne reprendrai pas celle-ci tout seul. Écris-moi quand continuer — la reprise automatique reste activée pour ce sujet.',
|
|
310
|
+
'autoContinueLimits.noticeHint': 'Lancez /limits pour sauter cette reprise ou désactiver l’attente pour ce sujet.',
|
|
311
|
+
'autoContinueLimits.setThisTopic': '✅ Reprise automatique après une limite d’usage : {state} pour ce sujet.',
|
|
312
|
+
'autoContinueLimits.setGlobal': '✅ Reprise automatique après une limite d’usage : {state} pour TOUS les sujets (les remplacements par sujet s’appliquent toujours).',
|
|
313
|
+
'autoContinueLimits.limitReachedDisabled': '🚧 Limite d’usage atteinte. L’attente de la réinitialisation est désactivée pour ce sujet, je patiente donc — écrivez-moi quand continuer (/limits pour activer l’attente).',
|
|
314
|
+
'connect.prompt_key': '🔑 Envoyez la clé API pour `{provider}` comme prochain message. Je supprimerai le message contenant la clé de l\'historique.',
|
|
315
|
+
'connect.empty_key': '❌ La clé API est vide. Envoyez la clé comme prochain message.',
|
|
316
|
+
'connect.invalid_key': '❌ Cela ne ressemble pas à une API key (elle contient des espaces ou des caractères non latins). Envoyez uniquement la key comme prochain message, ou relancez /connect.',
|
|
317
|
+
'connect.invalid_provider': '❌ ID de provider invalide `{provider}`. Exemple : /connect openai',
|
|
318
|
+
'connect.unsupported_provider': '⚠️ Le provider `{provider}` ne prend pas en charge la connexion par clé API simple via ce flux. Utilisez l\'UI/CLI OpenCode pour ce provider.',
|
|
319
|
+
'connect.unsupported_backend': 'L\'auth de provider OpenCode n\'est pas disponible dans ce build.',
|
|
320
|
+
'connect.failed': '⚠️ Échec de la connexion à `{provider}` : {reason}',
|
|
321
|
+
'connect.success': '✅ Provider `{provider}` connecté. Le serveur OpenCode n\'a pas été redémarré.',
|
|
322
|
+
'connect.cancelled': 'Saisie de clé API annulée.',
|
|
323
|
+
'connect.pick_method': 'Comment connecter `{provider}` ? Choisis une méthode :',
|
|
324
|
+
'connect.no_methods': '⚠️ Aucune méthode d\'authentification trouvée pour `{provider}`.',
|
|
325
|
+
'connect.oauth_device': '🔓 Pour connecter `{provider}` : ouvre {url} et saisis le code `{code}`, puis autorise. Sur un serveur, utilise la méthode *headless*. Je confirmerai ici une fois terminé.',
|
|
326
|
+
'connect.oauth_url_only': '🔓 Pour connecter `{provider}` : ouvre {url} et termine la connexion. Je confirmerai ici une fois terminé.',
|
|
327
|
+
'connect.oauth_paste': '🔑 Après autorisation, colle le code ici comme prochain message — je le supprimerai de l\'historique.',
|
|
328
|
+
'connect.oauth_waiting': '⏳ En attente d\'autorisation…',
|
|
329
|
+
'connect.oauth_loopback': '🔑 Après autorisation, votre navigateur tentera d\'ouvrir une page `localhost` qui ne se chargera pas — c\'est normal ici. Copiez cette URL depuis la barre d\'adresse et collez-la comme prochain message (ou juste la valeur `code`). Je la supprimerai de l\'historique et terminerai la connexion.',
|
|
330
|
+
'connect.oauth_invalid_reply': '❌ Cela ne ressemble ni à une URL de callback ni à un code d\'autorisation. Après autorisation, collez l\'URL de callback `localhost` depuis votre navigateur (ou la valeur `code`).',
|
|
331
|
+
'connect.oauth_callback_no_flow': '⚠️ Cela ressemble à une URL de callback OAuth, mais aucune connexion n\'est en cours ici — je l\'ai supprimée. Lancez /connect pour recommencer.',
|
|
332
|
+
'connect.oauth_success': '✅ `{provider}` connecté via OAuth. Les identifiants du serveur OpenCode ont été actualisés.',
|
|
333
|
+
'connect.oauth_failed': '⚠️ La connexion OAuth pour `{provider}` ne s\'est pas terminée. Relance /connect.',
|
|
334
|
+
'quit_all.none_active': 'Aucun agent en cours — rien à arrêter.',
|
|
335
|
+
'quit_all.summary': '🚪 {stopped} sur {total} agents actifs arrêtés.',
|
|
336
|
+
'quit_all.general_only': '`/quit-all` n\'est disponible que dans le topic General.',
|
|
337
|
+
'clearMessages.summary': '🗑 {deleted} sur {total} messages supprimés. ' +
|
|
338
|
+
'Telegram refuse de supprimer ce qui date de plus de 48 h — le reste reste dans l\'historique.',
|
|
339
|
+
'clearMessages.no_messages': 'Aucun message à supprimer dans ce fil.',
|
|
340
|
+
'edited.hint': "✏️ Je ne traite pas les messages modifiés comme une nouvelle entrée — envoyez la correction dans un message séparé.",
|
|
341
|
+
'voice.no_api_key': 'La voix nécessite `GROQ_API_KEY` (gratuit) ou `OPENAI_API_KEY`.',
|
|
342
|
+
'voice.failed': 'Échec de la transcription du message vocal.',
|
|
343
|
+
'voice.retrying': '⚠️ Échec de la transcription du message vocal ({error}). Nouvel essai dans {seconds} s…',
|
|
344
|
+
'voice.transcribed': '🎤 {text}',
|
|
345
|
+
'file.too_big': '📎 Le fichier dépasse la limite Bot API ({cap} Mo) — je ne peux pas le télécharger. Envoyez un fichier plus petit.',
|
|
346
|
+
'file.download_failed': '📎 Échec du téléchargement du fichier. Veuillez réessayer.',
|
|
347
|
+
'error.workdir.gone': '📁 Le dossier `{subdir}` a disparu du disque. Lancez /bind <newdir>.',
|
|
348
|
+
'error.tg.thread.deleted': '⚠️ Le fil a été supprimé dans Telegram ; lien effacé.',
|
|
349
|
+
'error.tg.thread.closed': '🔒 Le fil {key} est fermé — rouvrez-le dans votre client Telegram, ou supprimez-le entièrement.',
|
|
350
|
+
'error.tg.perm.delete': '🔐 Impossible de supprimer les messages. Accordez au bot `can_delete_messages`.',
|
|
351
|
+
'error.tg.perm.manage_topics': '🔐 `can_manage_topics` manquant. Faites-moi admin du groupe.',
|
|
352
|
+
'error.state.corrupted': '⚠️ state.json était corrompu ; liens réinitialisés. Relancez /bind si nécessaire.',
|
|
353
|
+
'error.start_in_general': 'Impossible de démarrer un agent dans General — c\'est un topic de service. Ouvrez un fil thématique.',
|
|
354
|
+
'cb.access_denied': 'Accès refusé',
|
|
355
|
+
'cb.bind_only_topical': '/bind ne fonctionne que dans les fils thématiques',
|
|
356
|
+
'cb.binding_to': 'Liaison à {subdir}…',
|
|
357
|
+
'cb.no_active_session': 'Aucune session active',
|
|
358
|
+
'cb.model_error': 'Erreur : {error}',
|
|
359
|
+
'cb.model_set': 'Modèle : {model}',
|
|
360
|
+
'cb.model_provider_gone': 'Ce fournisseur n\'existe plus — relance /model',
|
|
361
|
+
'cb.model_recent_gone': 'Ce modèle n\'est plus dans les récents — relance /model',
|
|
362
|
+
'cb.model_hidden': 'Masqué : {provider}',
|
|
363
|
+
'cb.model_shown': 'Affiché : {provider}',
|
|
364
|
+
'cb.disconnect_expired': 'Ce menu de déconnexion a expiré — relance /disconnect',
|
|
365
|
+
'cb.not_supported': 'Non pris en charge pour {label}',
|
|
366
|
+
'cb.unknown_agent': 'Agent inconnu',
|
|
367
|
+
'cb.agent_switched': 'Basculé vers {label}',
|
|
368
|
+
'cb.resume_only_topical': 'Resume ne fonctionne que dans les fils thématiques',
|
|
369
|
+
'cb.bind_folder_first': 'Liezez d\'abord un dossier via /bind',
|
|
370
|
+
'cb.agent_not_running': 'Agent non en cours',
|
|
371
|
+
'cb.no_pending_question': 'Aucune question en attente',
|
|
372
|
+
'cb.connect_method_expired': 'Ce menu de connexion a expiré — relance /connect',
|
|
373
|
+
'cb.invalid_option': 'Option invalide',
|
|
374
|
+
'cb.sent_option': 'Envoyé : {option}',
|
|
375
|
+
'cb.effort_set': 'Effort : {level}',
|
|
376
|
+
'cb.effort_error': 'Erreur : {error}',
|
|
377
|
+
'cb.claudeMode_already': 'Déjà actif',
|
|
378
|
+
'cb.claudeMode_switching': 'Basculement…',
|
|
379
|
+
'claudeMode.pick': '⚙️ Backend Claude Code — actuel : {label}\nChoisissez un backend (le basculement garde la même conversation) :',
|
|
380
|
+
'claudeMode.not_claude': "Ce topic n'est pas sur Claude Code — /claude_mode ne bascule que le backend de Claude.",
|
|
381
|
+
'claudeMode.already': 'Déjà {label}.',
|
|
382
|
+
'claudeMode.set_idle': '⚙️ Backend Claude : {label} — s\'appliquera au prochain démarrage.',
|
|
383
|
+
'claudeMode.switched_resumed': '⚙️ Basculé vers {label} — même conversation reprise.',
|
|
384
|
+
'claudeMode.switched_fresh': '⚙️ Basculé vers {label} — nouvelle session démarrée.',
|
|
385
|
+
'claudeMode.perTurn_refused': '⚠️ Per-turn nécessite Claude Code {min} ou plus récent — cette conversation tournait sur {version}. Le backend n\'a pas été changé.',
|
|
386
|
+
'cb.thinking_set': 'Thinking : {mode}',
|
|
387
|
+
'cb.thinking_error': 'Erreur : {error}',
|
|
388
|
+
'cb.toolresults_set': 'Résultats d\'outils : {mode}',
|
|
389
|
+
'cb.toolresults_error': 'Erreur : {error}',
|
|
390
|
+
'cb.subagent_set': 'Sous-agents : {mode}',
|
|
391
|
+
'cb.subagent_error': 'Erreur : {error}',
|
|
392
|
+
'cb.verbosity_set': 'Verbosité de sortie : {mode}',
|
|
393
|
+
'cb.verbosity_error': 'Erreur : {error}',
|
|
394
|
+
'cb.view_set': 'Ce sujet affiche : {view}',
|
|
395
|
+
'session.list_header': 'Sessions à reprendre ({label}) :',
|
|
396
|
+
'session.list_footer': 'Envoyez 1–{max} pour reprendre · 0 pour quitter',
|
|
397
|
+
'session.none': 'Aucune session à reprendre dans ce dossier.',
|
|
398
|
+
'session.cancelled': 'Annulé. Sélecteur de session fermé.',
|
|
399
|
+
'session.invalid': 'Numéro invalide. Entrez une valeur de 1 à {max}.',
|
|
400
|
+
'session.resumed': 'Session reprise. Envoyez votre message :',
|
|
401
|
+
'session.resume_failed': 'Échec de la reprise de session : {error}',
|
|
402
|
+
'session.expired': 'La liste des sessions est périmée. Relancez /sessions.',
|
|
403
|
+
'session.load_failed': 'Échec du chargement des sessions.',
|
|
404
|
+
'resume.context_header': '↩️ Repris — {count} derniers messages :',
|
|
405
|
+
'resume.context_user_label': '👤',
|
|
406
|
+
'resume.context_assistant_label': '🤖',
|
|
407
|
+
'recap.missedCountHeader': '⚠️ {count} message(s) manqué(s) pendant que le bot était hors ligne. Dernier de la session :',
|
|
408
|
+
'recap.restartedFallbackHeader': '🔄 Bot redémarré. Dernier de la session :',
|
|
409
|
+
'recap.stillWorkingLine': '⏳ L\'agent travaille encore…',
|
|
410
|
+
'trace.onThisThreadReply': '🔎 Traçage activé pour ce fil.',
|
|
411
|
+
'trace.offThisThreadReply': '🔎 Traçage désactivé pour ce fil.',
|
|
412
|
+
'trace.onAllThreadsReply': '🔎 Traçage activé pour TOUS les fils.',
|
|
413
|
+
'trace.offAllThreadsReply': '🔎 Traçage désactivé partout (le flag « all » et la liste des fils sont effacés).',
|
|
414
|
+
'trace.statusReply': '🔎 Trace — ce fil : {thisThread}\nTous les fils : {allThreads}\nFils tracés : {count}',
|
|
415
|
+
'trace.statusOnLabel': 'activé',
|
|
416
|
+
'trace.statusOffLabel': 'désactivé',
|
|
417
|
+
'trace.usageHint': 'Utilisation : /trace on | off | on all | off all | (sans argument — statut)',
|
|
418
|
+
'timestamps.onReply': '🕐 Horodatage activé : chaque prompt transmis à l\'agent reçoit l\'heure d\'envoi comme première ligne (jamais posté dans le topic).',
|
|
419
|
+
'timestamps.offReply': '🕐 Horodatage désactivé pour ce fil.',
|
|
420
|
+
'timestamps.statusOnReply': '🕐 Horodatage : activé pour ce fil.',
|
|
421
|
+
'timestamps.statusOffReply': '🕐 Horodatage : désactivé pour ce fil.',
|
|
422
|
+
'timestamps.usageHint': 'Utilisation : /timestamps on | off | (sans argument — statut)',
|
|
423
|
+
'schedule.fired': '⏰ Planification « {name} » ({schedule}){missedNote}\n\n{prompt}',
|
|
424
|
+
'schedule.missedNote': ' — manqué à {time}, rattrapage',
|
|
425
|
+
'schedule.checkFailed': '🚨 Vérification « {name} » en échec : {failure} ({schedule}){missedNote}\n$ {command}\n\n{output}\n\nJe réveille l’agent. Plus d’alerte tant que la vérification n’est pas de nouveau réussie.',
|
|
426
|
+
'schedule.checkRecovered': '✅ La vérification « {name} » réussit de nouveau.',
|
|
427
|
+
'schedule.pausedUnbound': '⏸ Planifications en pause : {count} — le topic a été détaché de son dossier. /bind les restaurera.',
|
|
428
|
+
'schedule.resumedRebind': '▶️ Planifications reprises : {count} (prochain recalculé à partir de maintenant).',
|
|
429
|
+
'schedule.noAgent': "⚠️ Rien de planifié — aucun agent n'est actif dans ce sujet, une exécution planifiée n'aurait donc rien à lancer. Démarre d'abord /claude ou /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 FRENCH what you scheduled.\n\n{timeNote}\n\nRequest: {text}',
|
|
432
|
+
'schedule.interviewPromptTemplate': 'The user invoked /schedule with no details. Ask them IN FRENCH 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 FRENCH 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': 'chaque jour à {time}',
|
|
436
|
+
'reminders.scheduleWeekdays': 'en semaine à {time}',
|
|
437
|
+
'reminders.scheduleWeekly': '{weekday} à {time}',
|
|
438
|
+
'reminders.scheduleMonthly': 'le {dayOfMonth} à {time}',
|
|
439
|
+
'reminders.scheduleOnce': '{date} à {time}',
|
|
440
|
+
'reminders.scheduleRaw': 'cron {text}',
|
|
441
|
+
'reminders.nextRunToday': 'aujourd’hui à {time}',
|
|
442
|
+
'reminders.nextRunTomorrow': 'demain à {time}',
|
|
443
|
+
'reminders.nextRunOnDate': '{date} à {time}',
|
|
444
|
+
'reminders.nextRunNone': '—',
|
|
445
|
+
'reminders.hubTitle': '🔔 Rappels',
|
|
446
|
+
'reminders.hubEmptyLine': 'Aucun rappel pour l’instant.',
|
|
447
|
+
'reminders.hubActiveLine': 'Actifs : {count}',
|
|
448
|
+
'reminders.hubLimitLine': 'Actifs : {count} — la limite de {limit} est atteinte. Supprime-en un pour en ajouter un autre.',
|
|
449
|
+
'reminders.addButton': '➕ Ajouter',
|
|
450
|
+
'reminders.listButton': '📋 Liste ({count})',
|
|
451
|
+
'reminders.closeButton': '✕ Fermer',
|
|
452
|
+
'reminders.closedNotice': '🔔 Rappels fermés.',
|
|
453
|
+
'reminders.listTitle': '📋 Rappels ({count})',
|
|
454
|
+
'reminders.listPageLine': 'Page {page} sur {total}',
|
|
455
|
+
'reminders.listRow': '🔔 {name} · {schedule}',
|
|
456
|
+
'reminders.listPrevButton': '‹ Précédent',
|
|
457
|
+
'reminders.listNextButton': 'Suivant ›',
|
|
458
|
+
'reminders.listBackToHubButton': '‹ Retour',
|
|
459
|
+
'reminders.cardTitle': '🔔 {name}',
|
|
460
|
+
'reminders.cardWhen': 'Quand : {schedule}',
|
|
461
|
+
'reminders.cardText': 'Texte : « {text} »',
|
|
462
|
+
'reminders.cardNext': 'Prochain : {next}',
|
|
463
|
+
'reminders.cardDeleteButton': '🗑 Supprimer',
|
|
464
|
+
'reminders.cardBackToListButton': '‹ À la liste',
|
|
465
|
+
'reminders.createdTitle': '✅ Rappel créé',
|
|
466
|
+
'reminders.doneListButton': '📋 Liste',
|
|
467
|
+
'reminders.wizardTitle': '🔔 Nouveau rappel',
|
|
468
|
+
'reminders.pickRepeat': 'Répétition : {value}',
|
|
469
|
+
'reminders.pickDate': 'Date : {value}',
|
|
470
|
+
'reminders.pickWeekday': 'Jour de la semaine : {value}',
|
|
471
|
+
'reminders.pickDayOfMonth': 'Jour du mois : {value}',
|
|
472
|
+
'reminders.pickTime': 'Heure : {value}',
|
|
473
|
+
'reminders.pickText': 'Texte : « {value} »',
|
|
474
|
+
'reminders.stepRepeatQuestion': 'ÉTAPE 1/4 · À quelle fréquence ?',
|
|
475
|
+
'reminders.stepDateQuestion': 'ÉTAPE 2/4 · Quel jour ?',
|
|
476
|
+
'reminders.stepDateGridQuestion': 'ÉTAPE 2/4 · Choisis une date :',
|
|
477
|
+
'reminders.stepWeekdayQuestion': 'ÉTAPE 2/4 · Quel jour de la semaine ?',
|
|
478
|
+
'reminders.stepDayOfMonthQuestion': 'ÉTAPE 2/4 · Quel jour du mois ?',
|
|
479
|
+
'reminders.stepDayOfMonthGridQuestion': 'ÉTAPE 2/4 · Choisis un jour du mois :',
|
|
480
|
+
'reminders.stepTimeQuestion': 'ÉTAPE 3/4 · À quelle heure ?',
|
|
481
|
+
'reminders.stepHourQuestion': 'ÉTAPE 3/4 · Choisis l’heure :',
|
|
482
|
+
'reminders.stepMinuteQuestion': 'ÉTAPE 3/4 · {hour}:__ — choisis les minutes :',
|
|
483
|
+
'reminders.stepTextQuestion': 'ÉTAPE 4/4 · Envoie le texte du rappel — écris-le ou enregistre un message vocal.',
|
|
484
|
+
'reminders.repeatOnceButton': 'Une fois',
|
|
485
|
+
'reminders.repeatDailyButton': 'Quotidien',
|
|
486
|
+
'reminders.repeatWeekdaysButton': 'En semaine',
|
|
487
|
+
'reminders.repeatWeeklyButton': 'Hebdomadaire',
|
|
488
|
+
'reminders.repeatMonthlyButton': 'Mensuel',
|
|
489
|
+
'reminders.dateTodayButton': 'Aujourd’hui',
|
|
490
|
+
'reminders.dateTomorrowButton': 'Demain',
|
|
491
|
+
'reminders.dateOtherButton': '✏️ Autre date…',
|
|
492
|
+
'reminders.dayOfMonthOtherButton': '✏️ Autre jour…',
|
|
493
|
+
'reminders.timeOtherButton': '🕐 Autre heure',
|
|
494
|
+
'reminders.backButton': '‹ Retour',
|
|
495
|
+
'reminders.cancelButton': '✕ Annuler',
|
|
496
|
+
'reminders.weekdayMondayButton': 'lun',
|
|
497
|
+
'reminders.weekdayTuesdayButton': 'mar',
|
|
498
|
+
'reminders.weekdayWednesdayButton': 'mer',
|
|
499
|
+
'reminders.weekdayThursdayButton': 'jeu',
|
|
500
|
+
'reminders.weekdayFridayButton': 'ven',
|
|
501
|
+
'reminders.weekdaySaturdayButton': 'sam',
|
|
502
|
+
'reminders.weekdaySundayButton': 'dim',
|
|
503
|
+
'reminders.errorPastTime': '⚠️ Cette heure est déjà passée. Choisis une heure plus tardive, ou reviens en arrière et change le jour.',
|
|
504
|
+
'reminders.errorInvalidDate': '⚠️ Cette date n’existe pas. Choisis-en une autre.',
|
|
505
|
+
'reminders.errorInvalidTime': '⚠️ Cette heure n’existe pas ce jour-là — changement d’heure. Choisis une autre heure.',
|
|
506
|
+
'reminders.errorTextTooLong': '⚠️ Ce texte est trop long ({limit} caractères maximum) et n’a PAS été enregistré. Envoies-en un plus court.',
|
|
507
|
+
'reminders.cancelledNotice': '✕ Annulé',
|
|
508
|
+
'reminders.expiredNotice': '✕ Expiré — le texte du rappel n’est jamais arrivé.',
|
|
509
|
+
'reminders.capReachedNotice': '⚠️ Ce sujet a déjà {limit} rappels — supprime-en un avant d’en ajouter un autre.',
|
|
510
|
+
'reminders.wizardExpiredCbAnswer': 'Cet assistant est obsolète — relance /reminders.',
|
|
511
|
+
'reminders.deletedCbAnswer': '🗑 Supprimé',
|
|
512
|
+
'reminders.deleteGoneCbAnswer': 'Déjà supprimé.',
|
|
513
|
+
'reminders.cardExpiredCbAnswer': 'Ce rappel n’existe plus.',
|
|
514
|
+
'apiRetry.transientNotice': '⏳ API limité en débit — nouvelle tentative automatique dans {minutes} min (tentative {attempt}).',
|
|
515
|
+
'apiRetry.openCodeRetryNotice': '⏳ Erreur du fournisseur — OpenCode réessaie dans {minutes} min (tentative {attempt}){detail}',
|
|
516
|
+
'apiRetry.usageLimitDelayNotice': '🚧 Limite d\'utilisation atteinte — nouvelle tentative dans {minutes} min (tentative {attempt}).',
|
|
517
|
+
'apiRetry.usageLimitResetNotice': '🚧 Limite d\'utilisation atteinte — reprise automatique après reset (~{time}).',
|
|
518
|
+
'apiRetry.resuming': '↻ Reprise…',
|
|
519
|
+
'apiRetry.limitResetResuming': '✅ La fenêtre de limite est réinitialisée — je reprends le travail dans ce sujet.',
|
|
520
|
+
'apiRetry.giveUp': '⚠️ Impossible de reprendre après {attempts} tentatives. Écrivez-moi quand continuer.',
|
|
521
|
+
'apiRetry.continueNudge': 'Continuez là où vous vous êtes arrêté.',
|
|
522
|
+
'apiRetry.loggedOutClaude': '⚠️ Claude est déconnecté — lancez /login pour continuer.',
|
|
523
|
+
'apiRetry.loggedOutOpenCode': '⚠️ OpenCode : identifiants invalides — redémarrez le serveur opencode.',
|
|
524
|
+
// ── startup readiness status (boot-time owner notice) ──
|
|
525
|
+
'startup.ready': '✅ Prêt — je peux traiter les messages dans les fils du bot et les sujets de groupe.',
|
|
526
|
+
'startup.header_not_ready': '⚠️ Configuration incomplète. Pour commencer à travailler avec moi, veuillez terminer ces étapes :',
|
|
527
|
+
'startup.item.create_group': 'Créez un supergroupe de forum avec les Sujets activés, puis envoyez-moi un message là-bas pour l’associer.',
|
|
528
|
+
'startup.item.grant_admin': 'Faites de moi un administrateur avec ces droits : {missing}.',
|
|
529
|
+
'startup.item.bind_topic': 'Créez un sujet et liez-le à un dossier avec /bind.',
|
|
530
|
+
'startup.item.install_agent': 'Installez un CLI d’agent — claude ou opencode.',
|
|
531
|
+
'startup.item.optional_groq': '(optionnel) Ajoutez GROQ_API_KEY à votre .env et redémarrez pour activer la saisie vocale.',
|
|
532
|
+
'startup.item.optional_owner': '(optionnel) Définissez OWNER_USER_ID pour recevoir ce statut dans votre chat privé.',
|
|
533
|
+
'requests.alert.notAnsweringNotice': "⚠️ La demande {requestId} est restée sans réponse : l'agent a terminé ses tours sans répondre et les rappels ont abandonné. Vérifiez la session dans ce sujet.",
|
|
534
|
+
'requests.alert.unreachableNotice': "⚠️ La demande {requestId} est restée sans réponse : la session de l'agent était injoignable pour un rappel. Vérifiez la session dans ce sujet.",
|
|
535
|
+
'requests.limit.answerAfterResetNotice': '🚧 Limite d’utilisation atteinte — la réponse arrivera après {time}.',
|
|
536
|
+
'requests.limit.answerNextAttemptNotice': '🚧 Limite d’utilisation atteinte — prochaine tentative à {time}.',
|
|
537
|
+
'requests.limit.answerAutoResumeOffNotice': '🚧 Limite d’utilisation atteinte. La reprise automatique est désactivée : le travail attend que l’opérateur le reprenne.',
|
|
538
|
+
'account.title': '👤 Compte Claude de ce sujet : {name}\n\n{list}\n\nTouchez un profil pour y basculer ce sujet. Dans le sujet General, le choix devient la valeur par défaut de tous les sujets.',
|
|
539
|
+
'account.titleGeneral': '👤 Compte Claude — par défaut pour TOUS les sujets : {name}\n\n{list}\n\nTouchez un profil pour en faire la valeur par défaut. Les sujets ayant leur propre choix le gardent.',
|
|
540
|
+
'account.row.loggedOut': 'non connecté',
|
|
541
|
+
'account.row.topics': ' · {count} sujet(s)',
|
|
542
|
+
'account.kind.personal': 'personnel {plan}',
|
|
543
|
+
'account.kind.corporate': 'entreprise {plan}',
|
|
544
|
+
'account.kind.unknown': 'offre {plan}',
|
|
545
|
+
'account.removeButton': '🗑 Supprimer',
|
|
546
|
+
'account.backButton': '⬅️ Retour',
|
|
547
|
+
'account.followButton': '↩ Suivre la valeur par défaut ({name})',
|
|
548
|
+
'account.pickLogin': '🔑 Quel profil reconnecter ?',
|
|
549
|
+
'account.pickRemove': '🗑 Quel profil supprimer ? Sa connexion est effacée ; les sujets qui l’avaient choisi reviennent à la valeur par défaut.',
|
|
550
|
+
'account.nothingToRemove': 'Aucun profil ajouté à retirer.',
|
|
551
|
+
'account.confirmRemove': '🗑 Supprimer le profil {name} ({email}) ? Sa connexion est effacée et {count} sujet(s) qui l’avaient choisi reviennent à la valeur par défaut.',
|
|
552
|
+
'account.confirmRemoveButton': '🗑 Oui, supprimer {name}',
|
|
553
|
+
'account.removed': '✅ Profil {name} supprimé. {count} sujet(s) suivent désormais la valeur par défaut.',
|
|
554
|
+
'account.removeInstanceDefaultRefused': '{name} est la valeur par défaut de tous les sujets. Choisissez d’abord une autre valeur par défaut dans le sujet General.',
|
|
555
|
+
'account.unknown': '❌ Aucun profil nommé {name}. /accounts affiche la liste.',
|
|
556
|
+
'account.notLoggedIn': '⚠️ Le profil {name} n’est pas connecté. Lancez d’abord /accounts login {name}.',
|
|
557
|
+
'account.askName': '➕ Nom du nouveau profil — minuscules, chiffres, - et _, {max} caractères au plus (p. ex. work). Envoyez-le comme prochain message, ou lancez /accounts add <nom>.',
|
|
558
|
+
'account.invalidName': '❌ Un nom de profil : minuscules, chiffres, - et _, {max} caractères au plus, et pas "default".',
|
|
559
|
+
'account.exists': 'Un profil nommé {name} existe déjà.',
|
|
560
|
+
'account.created': '✅ Profil {name} créé. Lancement de la connexion…',
|
|
561
|
+
'account.createFailed': '⚠️ Impossible de créer le dossier du profil {name}. Voir le journal du bot.',
|
|
562
|
+
'account.login_url': '🔐 Connexion à Claude pour le profil {name}. Ouvrez ce lien dans un navigateur connecté avec CE compte — une fenêtre privée ou un autre profil de navigateur évite de reprendre votre connexion actuelle —, terminez la connexion et collez le code ici :\n{url}',
|
|
563
|
+
'account.login_success': '✅ Profil {name} connecté : {email} ({plan}).',
|
|
564
|
+
'account.login_failed': '⚠️ La connexion du profil {name} a échoué. Réessayez avec /accounts login {name}.',
|
|
565
|
+
'account.setThisTopic': '✅ Compte Claude de ce sujet : {name}.{apply}',
|
|
566
|
+
'account.setGlobal': '✅ Compte Claude par défaut pour TOUS les sujets : {name}. Les sujets ayant leur propre choix le gardent ; les autres basculent maintenant ou à leur prochain démarrage.',
|
|
567
|
+
'account.followSet': '✅ Ce sujet suit le compte Claude par défaut ({name}).{apply}',
|
|
568
|
+
'account.usage': 'Usage : /accounts — le sélecteur ; /accounts add <nom> ; /accounts use <nom> ; /accounts login <nom> ; /accounts remove <nom> ; /accounts autoswitch on|off.',
|
|
569
|
+
'account.applied.inactive': ' S’applique au prochain démarrage ou à la prochaine reprise de la session.',
|
|
570
|
+
'account.applied.unchanged': '',
|
|
571
|
+
'account.applied.respawned': ' La session en cours a été relancée dessous — même conversation.',
|
|
572
|
+
'account.applied.deferred': ' L’agent travaille ; la bascule s’applique à la fin de son tour.',
|
|
573
|
+
'account.applied.restartRequired': ' L’agent travaille ; la bascule s’applique au prochain démarrage ou à la prochaine reprise.',
|
|
574
|
+
'account.askNameCancelled': '✖ Ajout de compte annulé. Les messages repartent vers l’agent.',
|
|
575
|
+
'account.row.usage': ' ⏱ 5h {session} · semaine {weekly}{fable}',
|
|
576
|
+
'account.row.usageFable': ' · Fable {fable}',
|
|
577
|
+
'account.row.usageStale': ' (périmé)',
|
|
578
|
+
'account.row.limited': ' ⛔ à la limite jusqu’à {until}',
|
|
579
|
+
'account.usageHint': 'Usage : % de chaque fenêtre consommé, puis quand elle se réinitialise (🔄 dans 2h = dans deux heures).',
|
|
580
|
+
'account.autoSwitchHint': 'Que faire à une limite d’usage — basculer vers un modèle de secours ou attendre la réinitialisation — se règle dans /limits.',
|
|
581
|
+
'fallback.backendClaude': 'Claude',
|
|
582
|
+
'fallback.backendOpenCode': 'OpenCode',
|
|
583
|
+
'fallback.topicModel': 'modèle du sujet',
|
|
584
|
+
'fallback.topicModelButton': 'garder le modèle du sujet',
|
|
585
|
+
'fallback.noAgent': 'aucun agent',
|
|
586
|
+
'fallback.addButton': '➕ Ajouter',
|
|
587
|
+
'fallback.clearButton': '🗑 Vider',
|
|
588
|
+
'fallback.backButton': '⬅️ Retour',
|
|
589
|
+
'fallback.nothingDetected': 'Rien à ajouter : aucun compte Claude connecté ni provider OpenCode détecté. Connectez-vous d’abord avec /accounts.',
|
|
590
|
+
'fallback.pickAccount': '➕ Choisissez un compte ou un fournisseur :',
|
|
591
|
+
'fallback.pickModel': '➕ {account} — choisissez le modèle :',
|
|
592
|
+
'fallback.full': 'La liste contient au plus {max} modèles.',
|
|
593
|
+
'fallback.alreadyInChain': 'Déjà dans la liste : {label}',
|
|
594
|
+
'fallback.added': '✅ Ajouté : {label}',
|
|
595
|
+
'fallback.proposeNothing': 'Rien à proposer : aucun compte Claude connecté ni fournisseur OpenCode détecté.',
|
|
596
|
+
'fallback.proposed': '🔄 Liste des modèles de secours remplie avec le connecté : {count} entrées. Réordonnez-les ou retirez-les avec les boutons.',
|
|
597
|
+
'fallback.cleared': '🗑 La liste des modèles de secours est vide.',
|
|
598
|
+
'fallback.stale': 'La liste a changé depuis ce clavier — il est redessiné.',
|
|
599
|
+
'fallback.moved': 'Déplacé.',
|
|
600
|
+
'fallback.removed': '🗑 Retiré : {label}',
|
|
601
|
+
'fallback.proposeConfirmButton': '✨ Oui, remplacer',
|
|
602
|
+
'fallback.switchExpired': 'Cette limite est passée — rien à basculer.',
|
|
603
|
+
'fallback.switchButton': '🔁 Basculer vers {label}',
|
|
604
|
+
'fallback.switchOffer': '🪜 Un modèle de secours a de la marge — touchez pour y passer ce sujet et continuer maintenant.',
|
|
605
|
+
'fallback.switched': '🔁 Limite d\'usage sur {from} — ce sujet est passé à {to} et continue.{reset}',
|
|
606
|
+
'fallback.backgroundStopped': 'Les tâches d\'arrière-plan encore en cours ont été arrêtées par le changement.',
|
|
607
|
+
'fallback.switchedReset': ' {from} se réinitialise à {time} ; le sujet reste sur {to} jusqu\'à ce que vous le rebasculiez (/accounts, /model, /claude, /opencode).',
|
|
608
|
+
'fallback.switchedDeferred': '🔁 Limite d\'usage sur {from} — l\'agent travaille encore, ce sujet passera donc à {to} à la fin de son tour ; l\'attente reste armée d\'ici là.',
|
|
609
|
+
'fallback.switchFailed': '⚠️ La bascule vers {to} a échoué : {error}. L\'attente de la réinitialisation reste armée.',
|
|
610
|
+
'limits.usageHeading': 'Usage (% consommé)',
|
|
611
|
+
'limits.topicRuns': 'Tourne sur : {current}',
|
|
612
|
+
'limits.settingsGeneral': 'Valeurs par défaut pour tous les sujets.',
|
|
613
|
+
'limits.sourceGeneral': 'comme dans General',
|
|
614
|
+
'limits.sourceTopic': 'défini pour ce sujet',
|
|
615
|
+
'limits.sourceLine': '🔁 {switch} · ⏳ {wait}',
|
|
616
|
+
'limits.switchButton': '🔁 Bascule auto : {state}',
|
|
617
|
+
'limits.waitButton': '⏳ Attendre le reset : {state}',
|
|
618
|
+
'limits.switchMenuTitle': '🔁 Bascule automatique vers un modèle de secours',
|
|
619
|
+
'limits.waitMenuTitle': '⏳ Attendre la réinitialisation et continuer',
|
|
620
|
+
'limits.settingSameButton': 'Comme dans General ({state})',
|
|
621
|
+
'limits.rebuildButton': '🔄 Remplir avec le connecté',
|
|
622
|
+
'limits.rebuildConfirm': '🔄 Remplacer la liste par une nouvelle construite avec le connecté ? Les modèles marqués 🚫 restent exclus.',
|
|
623
|
+
'limits.entryEnabled': '✅ Inclus dans le basculement automatique : {label}',
|
|
624
|
+
'limits.entryDisabled': '🚫 Exclu du basculement automatique : {label}',
|
|
625
|
+
'limits.setThisTopic': '✅ {what} : {state} pour ce sujet.',
|
|
626
|
+
'limits.setGlobal': '✅ {what} : {state} pour TOUS les sujets (les réglages propres à un sujet priment toujours).',
|
|
627
|
+
'limits.setSame': '✅ {what} : ce sujet suit General ({state}).',
|
|
628
|
+
'limits.whatSwitch': 'Bascule automatique vers un modèle de secours',
|
|
629
|
+
'limits.whatWait': 'Attendre la réinitialisation et continuer',
|
|
630
|
+
'limits.usage': 'Utilisation : /limits — l’écran ; /limits rebuild ; /limits clear ; /limits switch on|off|same ; /limits wait on|off|same («same» = suivre General, dans un sujet).',
|
|
631
|
+
'accounts.openCodeSection': '🔌 Providers OpenCode (connectés) :\n{list}',
|
|
632
|
+
'accounts.openCodeNone': '🔌 Providers OpenCode : aucun connecté pour l’instant. «➕ Provider OpenCode» en connecte un.',
|
|
633
|
+
'accounts.buttonsHint': 'Touchez un compte pour y passer ce sujet (dans General : défaut pour tous). 🔑 reconnecte un compte ou un fournisseur, 🗑 retire un compte (le compte default est déconnecté), 🔌 déconnecte un fournisseur.',
|
|
634
|
+
'accounts.addClaudeButton': '➕ Compte Claude',
|
|
635
|
+
'accounts.addProviderButton': '➕ Provider OpenCode',
|
|
636
|
+
'accounts.askProvider': '➕ Quel provider OpenCode ? Envoyez son identifiant dans le message suivant (par exemple openai ou openrouter).',
|
|
637
|
+
'accounts.stale': 'Cet écran est périmé — il est réaffiché.',
|
|
638
|
+
'accounts.confirmDisconnect': '🔌 Déconnecter {provider} ? Ses identifiants enregistrés seront supprimés.',
|
|
639
|
+
'accounts.confirmDisconnectButton': '🔌 Oui, déconnecter {provider}',
|
|
640
|
+
'limits.listNote': '🪜 Modèles de secours, le premier en haut :',
|
|
641
|
+
'limits.listNoteEmpty': '🪜 Pas encore de modèle de secours : seuls les comptes Claude connectés sont essayés. ➕ Ajouter ou 🔄 Remplir avec le connecté.',
|
|
642
|
+
'apiRetry.usageLimitResetOnRungNotice': '🚧 Limite d’usage atteinte — tous les modèles de secours sont limités. Ce sujet continuera sur {model} après sa réinitialisation (~{time}).',
|
|
643
|
+
'requests.limit.answerAfterResetOnRungNotice': '🚧 Limite d’usage atteinte — la réponse viendra après {time}, avec {model}.',
|
|
644
|
+
'usage.resetIn': '🔄 dans {time}',
|
|
645
|
+
'usage.unitDay': 'j',
|
|
646
|
+
'usage.unitHour': 'h',
|
|
647
|
+
'usage.unitMinute': 'min',
|
|
648
|
+
'accounts.disconnectButton': '🔌 Déconnecter {provider}',
|
|
649
|
+
'accounts.defaultRemovedNote': 'Le compte default (~/.claude) est déconnecté et masqué. Reconnectez-le avec /accounts login default.',
|
|
650
|
+
'account.confirmRemoveDefault': '🗑 Retirer le compte default ({email}) ? Sa connexion enregistrée dans ~/.claude est supprimée : les sessions qui tournent dessus cessent de fonctionner et les sujets sur ce compte ont besoin d’un autre. Transcriptions, réglages, skills et mémoire restent. Il reste masqué jusqu’à une nouvelle connexion.',
|
|
651
|
+
'account.removedDefault': '✅ Le compte default est déconnecté et masqué. Les sessions dessus échoueront jusqu’à ce que vous choisissiez un autre compte ou vous reconnectiez (/accounts login default).',
|
|
652
|
+
'account.removeDefaultFailed': '⚠️ Impossible de déconnecter le compte default. Voir le journal du bot.',
|
|
653
|
+
'limits.rungTitle': '🪜 {n} sur {total} : {label}',
|
|
654
|
+
'limits.rungReady': '✅ Prêt.',
|
|
655
|
+
'limits.rungLimited': '⛔ À sa limite jusqu’à {until}.',
|
|
656
|
+
'limits.rungSignedOut': '🔒 Non connecté.',
|
|
657
|
+
'limits.rungMissing': '❓ N’est plus proposé.',
|
|
658
|
+
'limits.rungDisabled': '🚫 Exclue du basculement automatique.',
|
|
659
|
+
'limits.rungHere': '✓ Ce sujet tourne dessus.',
|
|
660
|
+
'limits.btnUp': '⬆️ Monter',
|
|
661
|
+
'limits.btnDown': '⬇️ Descendre',
|
|
662
|
+
'limits.btnUse': '✅ Utiliser',
|
|
663
|
+
'limits.btnDontUse': '🚫 Ne pas utiliser',
|
|
664
|
+
};
|
|
665
|
+
//# sourceMappingURL=fr.js.map
|