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
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildTmuxSessionName = buildTmuxSessionName;
|
|
4
|
+
exports.parseTmuxSessionName = parseTmuxSessionName;
|
|
5
|
+
const sessionKey_1 = require("../sessionKey");
|
|
6
|
+
/**
|
|
7
|
+
* @description What every `:` of the serialized key becomes inside a tmux
|
|
8
|
+
* session name. `keyToString` joins the key's parts with `:`, which tmux treats
|
|
9
|
+
* as a window/pane address separator, so the name swaps it for `-`.
|
|
10
|
+
*/
|
|
11
|
+
const tmuxKeySeparator = '-';
|
|
12
|
+
/**
|
|
13
|
+
* @description Tmux session name for a `SessionKey`, namespaced by a backend
|
|
14
|
+
* `prefix` so different adapters (Claude `claude-…`, terminal `term-…`) never
|
|
15
|
+
* collide on one tmux server.
|
|
16
|
+
*
|
|
17
|
+
* Format: `<prefix>-<serializedKey with ':' → '-'>`, which for Telegram is the
|
|
18
|
+
* historical `<prefix>-<chatId>-<threadId>`. Negative chat ids (forum
|
|
19
|
+
* supergroups are negative) keep their minus sign — tmux session names accept
|
|
20
|
+
* it. The format is `parse`-able back to `SessionKey` via
|
|
21
|
+
* {@link parseTmuxSessionName} with the SAME prefix.
|
|
22
|
+
*
|
|
23
|
+
* The connector's codec owns the serialized halves, so this helper never looks
|
|
24
|
+
* at platform-specific fields and the on-disk names stay byte-identical.
|
|
25
|
+
*/
|
|
26
|
+
function buildTmuxSessionName(prefix, key) {
|
|
27
|
+
return `${prefix}-${(0, sessionKey_1.keyToSlug)(key, tmuxKeySeparator)}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @description Inverse of {@link buildTmuxSessionName} for a given `prefix`.
|
|
31
|
+
* Returns `null` for names that don't parse back to a key (e.g. an unrelated
|
|
32
|
+
* tmux session a user started by hand, or one owned by a different backend's
|
|
33
|
+
* prefix).
|
|
34
|
+
*
|
|
35
|
+
* The slug after the prefix is read back by the codec that owns it
|
|
36
|
+
* ({@link tryKeyFromSlug}): Telegram's `claude--1001234-42` parses to
|
|
37
|
+
* `-1001234:42` (split on the last `-`, whatever the chat id's sign), Jira's
|
|
38
|
+
* `claude-jira-PROJ-PROJ-12` to `jira:PROJ:PROJ-12`.
|
|
39
|
+
*
|
|
40
|
+
* Strictness lives in the codec (audit S1 / #22): plain `Number(...)` accepts
|
|
41
|
+
* `1e5`, `0x10`, `1.5`, `" 42 "`. Such values come from a foreign tmux session
|
|
42
|
+
* whose name happens to share our prefix; treating them as ours would cause an
|
|
43
|
+
* adopt path to attach to an unrelated session.
|
|
44
|
+
*/
|
|
45
|
+
function parseTmuxSessionName(prefix, name) {
|
|
46
|
+
const head = `${prefix}-`;
|
|
47
|
+
if (!name.startsWith(head))
|
|
48
|
+
return null;
|
|
49
|
+
return (0, sessionKey_1.tryKeyFromSlug)(name.slice(head.length), tmuxKeySeparator);
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=tmuxSessionName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tmuxSessionName.js","sourceRoot":"","sources":["../../src/utils/tmuxSessionName.ts"],"names":[],"mappings":";;AAuBA,oDAEC;AAkBD,oDAIC;AA/CD,8CAA2E;AAE3E;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;;;;;;;;;;;;GAaG;AACH,SAAgB,oBAAoB,CAAC,MAAc,EAAE,GAAe;IAClE,OAAO,GAAG,MAAM,IAAI,IAAA,sBAAS,EAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,oBAAoB,CAAC,MAAc,EAAE,IAAY;IAC/D,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,CAAC;IAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,IAAA,2BAAc,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Pure decision + formatting helpers for rendering a completed
|
|
3
|
+
* tool call's OUTPUT (the OpenCode `toolResult` adapter event, S3). The
|
|
4
|
+
* adapter emits a mode-AGNOSTIC {@link ToolResultEvent}; the bot's
|
|
5
|
+
* `handleAgentToolResult` resolves the per-thread tool-results
|
|
6
|
+
* {@link DisplayVerbosityMode} and
|
|
7
|
+
* consults {@link getToolResultRenderAction} + {@link getTruncatedToolResult}.
|
|
8
|
+
* Extracted from `bot.ts` so the mode matrix and the truncation caps are
|
|
9
|
+
* unit-testable without the Telegraf machinery (same pattern as
|
|
10
|
+
* `thinkingRender.ts`).
|
|
11
|
+
*/
|
|
12
|
+
import type { DisplayVerbosityMode } from '../types';
|
|
13
|
+
/** `short`-mode line cap — applied BEFORE the char cap. */
|
|
14
|
+
export declare const toolResultMaxLines = 15;
|
|
15
|
+
/** `short`-mode char cap — applied AFTER the line cap. */
|
|
16
|
+
export declare const toolResultMaxChars = 1200;
|
|
17
|
+
/**
|
|
18
|
+
* @name ToolResultRenderAction
|
|
19
|
+
* @description What the bot does with a `toolResult` event in a given mode.
|
|
20
|
+
*
|
|
21
|
+
* - `full` — render the whole body, fenced.
|
|
22
|
+
* - `truncated` — render the body capped by {@link getTruncatedToolResult},
|
|
23
|
+
* with a "… (truncated, /tool_results full)" footer when the caps bit.
|
|
24
|
+
* - `drop` — render nothing (the transient 🔧 status already showed);
|
|
25
|
+
* the `minimal` mode.
|
|
26
|
+
*/
|
|
27
|
+
export type ToolResultRenderAction = 'full' | 'truncated' | 'drop';
|
|
28
|
+
/**
|
|
29
|
+
* @description Map the per-thread tool-results {@link DisplayVerbosityMode} to
|
|
30
|
+
* a render action. Pure — the matrix is one line per mode, but keeping it a
|
|
31
|
+
* named helper makes it unit-testable and keeps `bot.ts` free of mode-string
|
|
32
|
+
* comparisons (same shape as `getThinkingEventAction`).
|
|
33
|
+
*/
|
|
34
|
+
export declare function getToolResultRenderAction(mode: DisplayVerbosityMode): ToolResultRenderAction;
|
|
35
|
+
/** Result of {@link getTruncatedToolResult}: the (possibly capped) body and
|
|
36
|
+
* whether any cap actually bit — drives the truncation footer. */
|
|
37
|
+
export interface TruncatedToolResult {
|
|
38
|
+
text: string;
|
|
39
|
+
isTruncated: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @description Truncate a tool-result body to the `short`-mode caps: first
|
|
43
|
+
* {@link toolResultMaxLines} lines, then {@link toolResultMaxChars} chars —
|
|
44
|
+
* whichever cap hits first wins; both may apply. The char cut retreats to the
|
|
45
|
+
* last newline inside the budget so a line is never split mid-way unless a
|
|
46
|
+
* single line alone exceeds the whole char budget (then a hard cut is the only
|
|
47
|
+
* option). A body under both caps is returned unchanged.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getTruncatedToolResult(body: string): TruncatedToolResult;
|
|
50
|
+
/**
|
|
51
|
+
* @description Wrap a tool-result body in a ```` ``` ```` fence for
|
|
52
|
+
* `renderAgentHtml` to turn into `<pre><code>`. Any run of 3+ backticks INSIDE
|
|
53
|
+
* the body (e.g. a read of a markdown file with its own fences) is broken up
|
|
54
|
+
* with zero-width spaces so it can't prematurely close our fence — the body is
|
|
55
|
+
* for reading, not byte-exact copy (same approach as the Claude adapter's
|
|
56
|
+
* `getFenced`). The body is end-trimmed: tool output usually ends with a
|
|
57
|
+
* newline, which would otherwise render as a stray blank line above the
|
|
58
|
+
* closing fence.
|
|
59
|
+
*/
|
|
60
|
+
export declare function buildFencedToolResultBody(body: string): string;
|
|
61
|
+
//# sourceMappingURL=toolResultRender.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolResultRender.d.ts","sourceRoot":"","sources":["../../src/utils/toolResultRender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMrD,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC;;;;;;;;;GASG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,oBAAoB,GAAG,sBAAsB,CAG5F;AAED;kEACkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAiBxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9D"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toolResultMaxChars = exports.toolResultMaxLines = void 0;
|
|
4
|
+
exports.getToolResultRenderAction = getToolResultRenderAction;
|
|
5
|
+
exports.getTruncatedToolResult = getTruncatedToolResult;
|
|
6
|
+
exports.buildFencedToolResultBody = buildFencedToolResultBody;
|
|
7
|
+
// Mode options / type guard / normalization live in the shared
|
|
8
|
+
// `utils/displayVerbosity.ts` — the vocabulary is unified across the three
|
|
9
|
+
// display commands; this module owns only the tool-result-specific semantics.
|
|
10
|
+
/** `short`-mode line cap — applied BEFORE the char cap. */
|
|
11
|
+
exports.toolResultMaxLines = 15;
|
|
12
|
+
/** `short`-mode char cap — applied AFTER the line cap. */
|
|
13
|
+
exports.toolResultMaxChars = 1200;
|
|
14
|
+
/**
|
|
15
|
+
* @description Map the per-thread tool-results {@link DisplayVerbosityMode} to
|
|
16
|
+
* a render action. Pure — the matrix is one line per mode, but keeping it a
|
|
17
|
+
* named helper makes it unit-testable and keeps `bot.ts` free of mode-string
|
|
18
|
+
* comparisons (same shape as `getThinkingEventAction`).
|
|
19
|
+
*/
|
|
20
|
+
function getToolResultRenderAction(mode) {
|
|
21
|
+
if (mode === 'minimal')
|
|
22
|
+
return 'drop';
|
|
23
|
+
return mode === 'short' ? 'truncated' : 'full';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @description Truncate a tool-result body to the `short`-mode caps: first
|
|
27
|
+
* {@link toolResultMaxLines} lines, then {@link toolResultMaxChars} chars —
|
|
28
|
+
* whichever cap hits first wins; both may apply. The char cut retreats to the
|
|
29
|
+
* last newline inside the budget so a line is never split mid-way unless a
|
|
30
|
+
* single line alone exceeds the whole char budget (then a hard cut is the only
|
|
31
|
+
* option). A body under both caps is returned unchanged.
|
|
32
|
+
*/
|
|
33
|
+
function getTruncatedToolResult(body) {
|
|
34
|
+
let text = body;
|
|
35
|
+
let isTruncated = false;
|
|
36
|
+
const lines = text.split('\n');
|
|
37
|
+
if (lines.length > exports.toolResultMaxLines) {
|
|
38
|
+
text = lines.slice(0, exports.toolResultMaxLines).join('\n');
|
|
39
|
+
isTruncated = true;
|
|
40
|
+
}
|
|
41
|
+
if (text.length > exports.toolResultMaxChars) {
|
|
42
|
+
const lastNewlineInBudget = text.lastIndexOf('\n', exports.toolResultMaxChars);
|
|
43
|
+
text = lastNewlineInBudget > 0 ? text.slice(0, lastNewlineInBudget) : text.slice(0, exports.toolResultMaxChars);
|
|
44
|
+
isTruncated = true;
|
|
45
|
+
}
|
|
46
|
+
return { text, isTruncated };
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* @description Wrap a tool-result body in a ```` ``` ```` fence for
|
|
50
|
+
* `renderAgentHtml` to turn into `<pre><code>`. Any run of 3+ backticks INSIDE
|
|
51
|
+
* the body (e.g. a read of a markdown file with its own fences) is broken up
|
|
52
|
+
* with zero-width spaces so it can't prematurely close our fence — the body is
|
|
53
|
+
* for reading, not byte-exact copy (same approach as the Claude adapter's
|
|
54
|
+
* `getFenced`). The body is end-trimmed: tool output usually ends with a
|
|
55
|
+
* newline, which would otherwise render as a stray blank line above the
|
|
56
|
+
* closing fence.
|
|
57
|
+
*/
|
|
58
|
+
function buildFencedToolResultBody(body) {
|
|
59
|
+
const safeBody = body.trimEnd().replace(/`{3,}/g, run => run.split('').join(''));
|
|
60
|
+
return `\`\`\`\n${safeBody}\n\`\`\``;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=toolResultRender.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolResultRender.js","sourceRoot":"","sources":["../../src/utils/toolResultRender.ts"],"names":[],"mappings":";;;AAyCA,8DAGC;AAiBD,wDAiBC;AAYD,8DAGC;AAhFD,+DAA+D;AAC/D,2EAA2E;AAC3E,8EAA8E;AAE9E,2DAA2D;AAC9C,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAErC,0DAA0D;AAC7C,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAcvC;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,IAA0B;IAClE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACtC,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AASD;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CAAC,IAAY;IACjD,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,0BAAkB,EAAE,CAAC;QACtC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,0BAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,0BAAkB,EAAE,CAAC;QACrC,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;QACvE,IAAI,GAAG,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,0BAAkB,CAAC,CAAC;QACxG,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CAAC,IAAY;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClF,OAAO,WAAW,QAAQ,UAAU,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Pure decisions for Telegram request intake (request/answer plan
|
|
3
|
+
* S7): WHEN an operator message or a scheduled run in a topic opens a request,
|
|
4
|
+
* and WHAT the request's origin and prompt header say. `bot.ts` applies them at
|
|
5
|
+
* the user entry points (text, voice, file, album, `/schedule`, the scheduler's
|
|
6
|
+
* forward) — never inside the shared prompt choke point, which also carries
|
|
7
|
+
* non-requests (the API-retry "continue" nudge, wake-up reminders, replays).
|
|
8
|
+
*/
|
|
9
|
+
import type { RequestOrigin } from '../requests/types';
|
|
10
|
+
import type { TopicView } from '../types';
|
|
11
|
+
/**
|
|
12
|
+
* @name TopicRequestSource
|
|
13
|
+
* @description The entry point a topic request came through. It is recorded in
|
|
14
|
+
* the origin's attributes and names the request to the agent.
|
|
15
|
+
*/
|
|
16
|
+
export type TopicRequestSource = 'text' | 'voice' | 'file' | 'album' | 'schedule' | 'scheduledRun';
|
|
17
|
+
/** The attribute name the source is stored under in a topic request's origin. */
|
|
18
|
+
export declare const topicRequestSourceAttribute = "source";
|
|
19
|
+
/**
|
|
20
|
+
* The requester a scheduled run is filed under (`requestGroup.ts`): the
|
|
21
|
+
* scheduler, not a person — so a run never merges with, nor is merged into, an
|
|
22
|
+
* operator's open request in the same topic.
|
|
23
|
+
*/
|
|
24
|
+
export declare const scheduledRunRequester = "scheduler";
|
|
25
|
+
/**
|
|
26
|
+
* @name TopicRequestIntake
|
|
27
|
+
* @description One prompt entering a topic as a request: the entry point it came
|
|
28
|
+
* through and who raised it — the Telegram user id for an operator entry point
|
|
29
|
+
* ({@link getTopicRequesterId}), {@link scheduledRunRequester} for a scheduled run.
|
|
30
|
+
*/
|
|
31
|
+
export interface TopicRequestIntake {
|
|
32
|
+
source: TopicRequestSource;
|
|
33
|
+
requesterId: string;
|
|
34
|
+
}
|
|
35
|
+
/** @description The requester of an operator entry point: the sending Telegram user, by id. */
|
|
36
|
+
export declare function getTopicRequesterId(from: {
|
|
37
|
+
id: number;
|
|
38
|
+
} | undefined): string;
|
|
39
|
+
/**
|
|
40
|
+
* @description Whether a prompt in a topic opens a request: its view has
|
|
41
|
+
* requests on, and the text is not a slash command forwarded to the agent
|
|
42
|
+
* (`/clear`, `/compact`, … are control tokens, not work the agent owes an answer
|
|
43
|
+
* to). Answers to the agent's own native questions never reach this decision —
|
|
44
|
+
* their routes return before the prompt path.
|
|
45
|
+
*/
|
|
46
|
+
export declare function checkShouldOpenTopicRequest(view: TopicView, isSlashCommand: boolean): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* @description The origin a topic request is opened with. The requester rides in
|
|
49
|
+
* the attributes: the ledger's merge rule (`requestGroup.ts`) reads it, so two
|
|
50
|
+
* people's messages in one topic never supersede each other.
|
|
51
|
+
*/
|
|
52
|
+
export declare function getTopicRequestOrigin(intake: TopicRequestIntake): RequestOrigin;
|
|
53
|
+
/**
|
|
54
|
+
* @description The header that rides the request's prompt. In the answers-only
|
|
55
|
+
* view the agent is told its plain text and thinking are not shown; in the stream
|
|
56
|
+
* views they are.
|
|
57
|
+
* `supersededRequestIds` are the requester's still-open requests this one
|
|
58
|
+
* replaced — the header asks for only what this one adds.
|
|
59
|
+
*/
|
|
60
|
+
export declare function buildTopicRequestHeader(requestId: string, source: TopicRequestSource, view: TopicView, supersededRequestIds?: readonly string[]): string;
|
|
61
|
+
//# sourceMappingURL=topicRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topicRequest.d.ts","sourceRoot":"","sources":["../../src/utils/topicRequest.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC;AAEnG,iFAAiF;AACjF,eAAO,MAAM,2BAA2B,WAAW,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAAG,MAAM,CAE5E;AAYD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAE7F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa,CAK/E;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,SAAS,EACf,oBAAoB,GAAE,SAAS,MAAM,EAAO,GAC3C,MAAM,CAOR"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scheduledRunRequester = exports.topicRequestSourceAttribute = void 0;
|
|
4
|
+
exports.getTopicRequesterId = getTopicRequesterId;
|
|
5
|
+
exports.checkShouldOpenTopicRequest = checkShouldOpenTopicRequest;
|
|
6
|
+
exports.getTopicRequestOrigin = getTopicRequestOrigin;
|
|
7
|
+
exports.buildTopicRequestHeader = buildTopicRequestHeader;
|
|
8
|
+
const requestHeader_1 = require("../requests/requestHeader");
|
|
9
|
+
const requestGroup_1 = require("../requests/requestGroup");
|
|
10
|
+
const topicView_1 = require("./topicView");
|
|
11
|
+
/** The attribute name the source is stored under in a topic request's origin. */
|
|
12
|
+
exports.topicRequestSourceAttribute = 'source';
|
|
13
|
+
/**
|
|
14
|
+
* The requester a scheduled run is filed under (`requestGroup.ts`): the
|
|
15
|
+
* scheduler, not a person — so a run never merges with, nor is merged into, an
|
|
16
|
+
* operator's open request in the same topic.
|
|
17
|
+
*/
|
|
18
|
+
exports.scheduledRunRequester = 'scheduler';
|
|
19
|
+
/** @description The requester of an operator entry point: the sending Telegram user, by id. */
|
|
20
|
+
function getTopicRequesterId(from) {
|
|
21
|
+
return from?.id.toString() ?? '';
|
|
22
|
+
}
|
|
23
|
+
/** What the agent is told the request came from, per entry point. */
|
|
24
|
+
const topicRequestOriginDescriptions = {
|
|
25
|
+
text: 'a message in this topic',
|
|
26
|
+
voice: 'a voice message in this topic',
|
|
27
|
+
file: 'a file sent to this topic',
|
|
28
|
+
album: 'an album sent to this topic',
|
|
29
|
+
schedule: 'a /schedule request in this topic',
|
|
30
|
+
scheduledRun: 'a scheduled run in this topic',
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* @description Whether a prompt in a topic opens a request: its view has
|
|
34
|
+
* requests on, and the text is not a slash command forwarded to the agent
|
|
35
|
+
* (`/clear`, `/compact`, … are control tokens, not work the agent owes an answer
|
|
36
|
+
* to). Answers to the agent's own native questions never reach this decision —
|
|
37
|
+
* their routes return before the prompt path.
|
|
38
|
+
*/
|
|
39
|
+
function checkShouldOpenTopicRequest(view, isSlashCommand) {
|
|
40
|
+
return (0, topicView_1.checkAreRequestsEnabled)(view) && !isSlashCommand;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @description The origin a topic request is opened with. The requester rides in
|
|
44
|
+
* the attributes: the ledger's merge rule (`requestGroup.ts`) reads it, so two
|
|
45
|
+
* people's messages in one topic never supersede each other.
|
|
46
|
+
*/
|
|
47
|
+
function getTopicRequestOrigin(intake) {
|
|
48
|
+
return {
|
|
49
|
+
kind: intake.source === 'scheduledRun' ? 'scheduledRun' : 'message',
|
|
50
|
+
attributes: { [exports.topicRequestSourceAttribute]: intake.source, [requestGroup_1.requestRequesterAttribute]: intake.requesterId },
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* @description The header that rides the request's prompt. In the answers-only
|
|
55
|
+
* view the agent is told its plain text and thinking are not shown; in the stream
|
|
56
|
+
* views they are.
|
|
57
|
+
* `supersededRequestIds` are the requester's still-open requests this one
|
|
58
|
+
* replaced — the header asks for only what this one adds.
|
|
59
|
+
*/
|
|
60
|
+
function buildTopicRequestHeader(requestId, source, view, supersededRequestIds = []) {
|
|
61
|
+
return (0, requestHeader_1.buildRequestHeader)({
|
|
62
|
+
requestId,
|
|
63
|
+
originDescription: topicRequestOriginDescriptions[source],
|
|
64
|
+
isPlainTextHidden: !(0, topicView_1.checkIsStreamShown)(view),
|
|
65
|
+
supersededRequestIds,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=topicRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topicRequest.js","sourceRoot":"","sources":["../../src/utils/topicRequest.ts"],"names":[],"mappings":";;;AA2CA,kDAEC;AAmBD,kEAEC;AAOD,sDAKC;AASD,0DAYC;AA1FD,6DAA+D;AAC/D,2DAAqE;AAErE,2CAA0E;AAS1E,iFAAiF;AACpE,QAAA,2BAA2B,GAAG,QAAQ,CAAC;AAEpD;;;;GAIG;AACU,QAAA,qBAAqB,GAAG,WAAW,CAAC;AAajD,+FAA+F;AAC/F,SAAgB,mBAAmB,CAAC,IAAgC;IAClE,OAAO,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,qEAAqE;AACrE,MAAM,8BAA8B,GAAiD;IACnF,IAAI,EAAE,yBAAyB;IAC/B,KAAK,EAAE,+BAA+B;IACtC,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,6BAA6B;IACpC,QAAQ,EAAE,mCAAmC;IAC7C,YAAY,EAAE,+BAA+B;CAC9C,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,2BAA2B,CAAC,IAAe,EAAE,cAAuB;IAClF,OAAO,IAAA,mCAAuB,EAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,MAA0B;IAC9D,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACnE,UAAU,EAAE,EAAE,CAAC,mCAA2B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,wCAAyB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE;KAC9G,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,SAAiB,EACjB,MAA0B,EAC1B,IAAe,EACf,uBAA0C,EAAE;IAE5C,OAAO,IAAA,kCAAkB,EAAC;QACxB,SAAS;QACT,iBAAiB,EAAE,8BAA8B,CAAC,MAAM,CAAC;QACzD,iBAAiB,EAAE,CAAC,IAAA,8BAAkB,EAAC,IAAI,CAAC;QAC5C,oBAAoB;KACrB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description THE single source of truth for the per-topic VIEW vocabulary
|
|
3
|
+
* (request/answer plan S6): what a Telegram topic SHOWS of the agent's work.
|
|
4
|
+
* The view never changes how the agent works — only what reaches the topic
|
|
5
|
+
* and whether the operator's messages open requests the agent answers through
|
|
6
|
+
* `answer_request`:
|
|
7
|
+
*
|
|
8
|
+
* view agent's stream MCP answers requests + wake-ups
|
|
9
|
+
* stream shown — off (DEFAULT, today)
|
|
10
|
+
* streamAnswers shown shown, pinned on
|
|
11
|
+
* answers hidden shown, pinned on
|
|
12
|
+
*
|
|
13
|
+
* Mirrors `displayVerbosity.ts`: the option order, the locked default, the type
|
|
14
|
+
* guard and the typed-argument parser live here; the rendering decisions that
|
|
15
|
+
* READ a view (`checkIsStreamShown`, `checkAreRequestsEnabled`) live here too so
|
|
16
|
+
* the stream gates and the request intake can never disagree on a view.
|
|
17
|
+
*/
|
|
18
|
+
import type { TopicView } from '../types';
|
|
19
|
+
/** Every selectable view, in picker-button order (loudest → quietest). */
|
|
20
|
+
export declare const topicViewOptions: readonly TopicView[];
|
|
21
|
+
/** Locked default: nothing changes for a topic until it is switched. */
|
|
22
|
+
export declare const defaultTopicView: TopicView;
|
|
23
|
+
/**
|
|
24
|
+
* @description The typed `/verbosity` spelling of each view — the words the
|
|
25
|
+
* public README documents (`/verbosity stream|stream_answers|answers`).
|
|
26
|
+
*/
|
|
27
|
+
export declare const topicViewArguments: Readonly<Record<TopicView, string>>;
|
|
28
|
+
/** @description Type guard over the persisted spelling (a `state.json` value or a callback payload). */
|
|
29
|
+
export declare function checkIsTopicView(value: string): value is TopicView;
|
|
30
|
+
/**
|
|
31
|
+
* @description Parse a typed `/verbosity` argument or a picker payload into a
|
|
32
|
+
* view: the documented typed spellings and the persisted spelling are both
|
|
33
|
+
* accepted (a picker button carries the persisted one); anything else, including
|
|
34
|
+
* `undefined`, is `null` so the caller can tell "use the default" from "reject".
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseTopicView(value: string | undefined): TopicView | null;
|
|
37
|
+
/** @description Whether the agent's own stream (text, status, thinking, tool results, sub-agents) reaches the topic. */
|
|
38
|
+
export declare function checkIsStreamShown(view: TopicView): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* @name AgentStreamEvent
|
|
41
|
+
* @description The kinds of agent event the bot renders into a topic. All but
|
|
42
|
+
* `question` are the agent's STREAM; a native question is kept in every view —
|
|
43
|
+
* hidden, the agent would hang on it.
|
|
44
|
+
*/
|
|
45
|
+
export type AgentStreamEvent = 'output' | 'question' | 'status' | 'thinking' | 'toolResult' | 'subagentStatus';
|
|
46
|
+
/**
|
|
47
|
+
* @description Whether an agent event is rendered in a topic with `view` (plan
|
|
48
|
+
* S9): the stream is dropped in the answers-only view, a native question never
|
|
49
|
+
* is. What is NOT an agent event — the typing indicator, files the agent sends
|
|
50
|
+
* through the bot MCP, the bot's own notices, the pinned answers — is not gated.
|
|
51
|
+
*/
|
|
52
|
+
export declare function checkIsAgentEventShown(view: TopicView, event: AgentStreamEvent): boolean;
|
|
53
|
+
/** @description Whether operator messages and scheduled runs in the topic open requests (and so get wake-ups and pinned answers). */
|
|
54
|
+
export declare function checkAreRequestsEnabled(view: TopicView): boolean;
|
|
55
|
+
//# sourceMappingURL=topicView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topicView.d.ts","sourceRoot":"","sources":["../../src/utils/topicView.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,EAAE,SAAS,SAAS,EAA2C,CAAC;AAE7F,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,EAAE,SAAoB,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAIlE,CAAC;AAEF,wGAAwG;AACxG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAI1E;AAED,wHAAwH;AACxH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAE3D;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAE/G;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAExF;AAED,qIAAqI;AACrI,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEhE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.topicViewArguments = exports.defaultTopicView = exports.topicViewOptions = void 0;
|
|
4
|
+
exports.checkIsTopicView = checkIsTopicView;
|
|
5
|
+
exports.parseTopicView = parseTopicView;
|
|
6
|
+
exports.checkIsStreamShown = checkIsStreamShown;
|
|
7
|
+
exports.checkIsAgentEventShown = checkIsAgentEventShown;
|
|
8
|
+
exports.checkAreRequestsEnabled = checkAreRequestsEnabled;
|
|
9
|
+
/** Every selectable view, in picker-button order (loudest → quietest). */
|
|
10
|
+
exports.topicViewOptions = ['stream', 'streamAnswers', 'answers'];
|
|
11
|
+
/** Locked default: nothing changes for a topic until it is switched. */
|
|
12
|
+
exports.defaultTopicView = 'stream';
|
|
13
|
+
/**
|
|
14
|
+
* @description The typed `/verbosity` spelling of each view — the words the
|
|
15
|
+
* public README documents (`/verbosity stream|stream_answers|answers`).
|
|
16
|
+
*/
|
|
17
|
+
exports.topicViewArguments = {
|
|
18
|
+
stream: 'stream',
|
|
19
|
+
streamAnswers: 'stream_answers',
|
|
20
|
+
answers: 'answers',
|
|
21
|
+
};
|
|
22
|
+
/** @description Type guard over the persisted spelling (a `state.json` value or a callback payload). */
|
|
23
|
+
function checkIsTopicView(value) {
|
|
24
|
+
return exports.topicViewOptions.includes(value);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @description Parse a typed `/verbosity` argument or a picker payload into a
|
|
28
|
+
* view: the documented typed spellings and the persisted spelling are both
|
|
29
|
+
* accepted (a picker button carries the persisted one); anything else, including
|
|
30
|
+
* `undefined`, is `null` so the caller can tell "use the default" from "reject".
|
|
31
|
+
*/
|
|
32
|
+
function parseTopicView(value) {
|
|
33
|
+
if (value === undefined)
|
|
34
|
+
return null;
|
|
35
|
+
if (checkIsTopicView(value))
|
|
36
|
+
return value;
|
|
37
|
+
return exports.topicViewOptions.find((view) => exports.topicViewArguments[view] === value) ?? null;
|
|
38
|
+
}
|
|
39
|
+
/** @description Whether the agent's own stream (text, status, thinking, tool results, sub-agents) reaches the topic. */
|
|
40
|
+
function checkIsStreamShown(view) {
|
|
41
|
+
return view !== 'answers';
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @description Whether an agent event is rendered in a topic with `view` (plan
|
|
45
|
+
* S9): the stream is dropped in the answers-only view, a native question never
|
|
46
|
+
* is. What is NOT an agent event — the typing indicator, files the agent sends
|
|
47
|
+
* through the bot MCP, the bot's own notices, the pinned answers — is not gated.
|
|
48
|
+
*/
|
|
49
|
+
function checkIsAgentEventShown(view, event) {
|
|
50
|
+
return event === 'question' || checkIsStreamShown(view);
|
|
51
|
+
}
|
|
52
|
+
/** @description Whether operator messages and scheduled runs in the topic open requests (and so get wake-ups and pinned answers). */
|
|
53
|
+
function checkAreRequestsEnabled(view) {
|
|
54
|
+
return view !== 'stream';
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=topicView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topicView.js","sourceRoot":"","sources":["../../src/utils/topicView.ts"],"names":[],"mappings":";;;AAoCA,4CAEC;AAQD,wCAIC;AAGD,gDAEC;AAgBD,wDAEC;AAGD,0DAEC;AA3DD,0EAA0E;AAC7D,QAAA,gBAAgB,GAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;AAE7F,wEAAwE;AAC3D,QAAA,gBAAgB,GAAc,QAAQ,CAAC;AAEpD;;;GAGG;AACU,QAAA,kBAAkB,GAAwC;IACrE,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,gBAAgB;IAC/B,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,wGAAwG;AACxG,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAQ,wBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,KAAyB;IACtD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,0BAAkB,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;AACrF,CAAC;AAED,wHAAwH;AACxH,SAAgB,kBAAkB,CAAC,IAAe;IAChD,OAAO,IAAI,KAAK,SAAS,CAAC;AAC5B,CAAC;AAUD;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAAe,EAAE,KAAuB;IAC7E,OAAO,KAAK,KAAK,UAAU,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,qIAAqI;AACrI,SAAgB,uBAAuB,CAAC,IAAe;IACrD,OAAO,IAAI,KAAK,QAAQ,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Voice-note transcription against a Whisper-compatible HTTP API
|
|
3
|
+
* (Groq when its key is set, else OpenAI), with automatic retries on transient
|
|
4
|
+
* failures.
|
|
5
|
+
*
|
|
6
|
+
* Extracted from `bot.ts` so it is side-effect-free and testable against a
|
|
7
|
+
* local HTTP server (importing `bot.ts` would construct a Telegraf instance and
|
|
8
|
+
* read ENV at module load) — the same reasoning as `./download`.
|
|
9
|
+
*
|
|
10
|
+
* Why retries: Groq normally answers in well under a second, yet a request
|
|
11
|
+
* occasionally stalls past the timeout. Without a retry that voice note was
|
|
12
|
+
* simply lost and the user had to re-record it. A timeout, a network error, an
|
|
13
|
+
* HTTP 408 / 409 and a 5xx are retried after a pause (5 s, then 15 s); a 429
|
|
14
|
+
* waits at least as long as the provider's `Retry-After`; any other 4xx fails
|
|
15
|
+
* at once, since resending the same request would fail the same way.
|
|
16
|
+
*/
|
|
17
|
+
/** Pauses before the automatic retries: the 1st after 5 s, the 2nd after 15 s. */
|
|
18
|
+
export declare const transcribeRetryDelaysMs: readonly number[];
|
|
19
|
+
/**
|
|
20
|
+
* @description Where and how a voice note is transcribed.
|
|
21
|
+
*/
|
|
22
|
+
export interface TranscriptionEndpoint {
|
|
23
|
+
url: string;
|
|
24
|
+
apiKey: string;
|
|
25
|
+
model: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @description Whether a failed attempt is worth repeating: `transient`
|
|
29
|
+
* (timeout / network error / 408 / 409 / 5xx), `rateLimited` (429 — honour
|
|
30
|
+
* `Retry-After`), or `permanent` (any other failure — a retry would fail the
|
|
31
|
+
* same way).
|
|
32
|
+
*/
|
|
33
|
+
export type TranscribeFailureKind = 'transient' | 'rateLimited' | 'permanent';
|
|
34
|
+
export type TranscribeResult = {
|
|
35
|
+
ok: true;
|
|
36
|
+
text: string;
|
|
37
|
+
} | {
|
|
38
|
+
ok: false;
|
|
39
|
+
error: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* @description Details of a failed attempt that is about to be retried.
|
|
43
|
+
*/
|
|
44
|
+
export interface TranscribeRetryInfo {
|
|
45
|
+
/** 1-based number of the attempt that just failed. */
|
|
46
|
+
attemptNumber: number;
|
|
47
|
+
error: string;
|
|
48
|
+
/** Pause before the next attempt. */
|
|
49
|
+
delayMs: number;
|
|
50
|
+
}
|
|
51
|
+
export interface TranscribeAudioOptions {
|
|
52
|
+
/** Per-attempt socket inactivity timeout. */
|
|
53
|
+
timeoutMs: number;
|
|
54
|
+
/** Pause before each retry; its length is the retry count. Defaults to {@link transcribeRetryDelaysMs}. */
|
|
55
|
+
retryDelaysMs?: readonly number[];
|
|
56
|
+
/** Fired before each retry, e.g. to tell the user a retry is coming. */
|
|
57
|
+
onRetry?: (info: TranscribeRetryInfo) => void;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @description Pick the transcription provider from the configured API keys:
|
|
61
|
+
* Groq wins when both are set; `null` when neither is.
|
|
62
|
+
*/
|
|
63
|
+
export declare function getTranscriptionEndpoint(apiKeys: {
|
|
64
|
+
groqApiKey?: string;
|
|
65
|
+
openaiApiKey?: string;
|
|
66
|
+
}): TranscriptionEndpoint | null;
|
|
67
|
+
/**
|
|
68
|
+
* @description Classify a non-2xx HTTP status of the transcription API.
|
|
69
|
+
*/
|
|
70
|
+
export declare function getTranscribeFailureKind(status: number): TranscribeFailureKind;
|
|
71
|
+
/**
|
|
72
|
+
* @description Pause before retry number `retryIndex` (0-based), or `null`
|
|
73
|
+
* when the failure must not be retried (permanent, or the schedule is used
|
|
74
|
+
* up). A 429 never retries sooner than the schedule NOR sooner than the
|
|
75
|
+
* provider's `Retry-After` asks.
|
|
76
|
+
*/
|
|
77
|
+
export declare function getTranscribeRetryDelayMs(input: {
|
|
78
|
+
failureKind: TranscribeFailureKind;
|
|
79
|
+
retryIndex: number;
|
|
80
|
+
retryAfterSec?: number;
|
|
81
|
+
retryDelaysMs?: readonly number[];
|
|
82
|
+
}): number | null;
|
|
83
|
+
/**
|
|
84
|
+
* @description Transcribe a voice note, retrying transient failures on the
|
|
85
|
+
* {@link transcribeRetryDelaysMs} schedule. Resolves with the text, or with
|
|
86
|
+
* the LAST error (annotated with the attempt count once a retry happened).
|
|
87
|
+
*/
|
|
88
|
+
export declare function transcribeAudio(filePath: string, endpoint: TranscriptionEndpoint, options: TranscribeAudioOptions): Promise<TranscribeResult>;
|
|
89
|
+
//# sourceMappingURL=transcribeAudio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcribeAudio.d.ts","sourceRoot":"","sources":["../../src/utils/transcribeAudio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAAoB,CAAC;AAe1E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMjC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,2GAA2G;IAC3G,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC/C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,qBAAqB,GAAG,IAAI,CAQ/B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAI9E;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,WAAW,EAAE,qBAAqB,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,GAAG,MAAM,GAAG,IAAI,CAQhB;AA6GD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAqB3B"}
|