charness 0.0.0-stage → 3.0.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 +1024 -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 +1336 -0
- package/dist/adapters/claudeCliAdapter.d.ts.map +1 -0
- package/dist/adapters/claudeCliAdapter.js +4204 -0
- package/dist/adapters/claudeCliAdapter.js.map +1 -0
- package/dist/adapters/claudeJsonStreamAdapter.d.ts +548 -0
- package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -0
- package/dist/adapters/claudeJsonStreamAdapter.js +1810 -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 +252 -0
- package/dist/adapters/createAdapter.d.ts.map +1 -0
- package/dist/adapters/createAdapter.js +475 -0
- package/dist/adapters/createAdapter.js.map +1 -0
- package/dist/adapters/openCodeAdapter.d.ts +1446 -0
- package/dist/adapters/openCodeAdapter.d.ts.map +1 -0
- package/dist/adapters/openCodeAdapter.js +4540 -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 +31 -0
- package/dist/agentLogin/agentLogin.d.ts.map +1 -0
- package/dist/agentLogin/agentLogin.js +493 -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 +209 -0
- package/dist/apiErrorRetry.d.ts.map +1 -0
- package/dist/apiErrorRetry.js +351 -0
- package/dist/apiErrorRetry.js.map +1 -0
- package/dist/apiRetryKick.d.ts +148 -0
- package/dist/apiRetryKick.d.ts.map +1 -0
- package/dist/apiRetryKick.js +158 -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 +10611 -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/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 +130 -0
- package/dist/cli.js.map +1 -0
- package/dist/connectors/jira/adf.d.ts +72 -0
- package/dist/connectors/jira/adf.d.ts.map +1 -0
- package/dist/connectors/jira/adf.js +407 -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 +52 -0
- package/dist/connectors/jira/answerSink.d.ts.map +1 -0
- package/dist/connectors/jira/answerSink.js +220 -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 +43 -0
- package/dist/connectors/jira/attachmentTool.d.ts.map +1 -0
- package/dist/connectors/jira/attachmentTool.js +150 -0
- package/dist/connectors/jira/attachmentTool.js.map +1 -0
- package/dist/connectors/jira/client.d.ts +490 -0
- package/dist/connectors/jira/client.d.ts.map +1 -0
- package/dist/connectors/jira/client.js +453 -0
- package/dist/connectors/jira/client.js.map +1 -0
- package/dist/connectors/jira/config.d.ts +117 -0
- package/dist/connectors/jira/config.d.ts.map +1 -0
- package/dist/connectors/jira/config.js +350 -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 +68 -0
- package/dist/connectors/jira/connector.d.ts.map +1 -0
- package/dist/connectors/jira/connector.js +257 -0
- package/dist/connectors/jira/connector.js.map +1 -0
- package/dist/connectors/jira/contextLedger.d.ts +59 -0
- package/dist/connectors/jira/contextLedger.d.ts.map +1 -0
- package/dist/connectors/jira/contextLedger.js +194 -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 +132 -0
- package/dist/connectors/jira/inbound.d.ts.map +1 -0
- package/dist/connectors/jira/inbound.js +316 -0
- package/dist/connectors/jira/inbound.js.map +1 -0
- package/dist/connectors/jira/issueBlocks.d.ts +51 -0
- package/dist/connectors/jira/issueBlocks.d.ts.map +1 -0
- package/dist/connectors/jira/issueBlocks.js +182 -0
- package/dist/connectors/jira/issueBlocks.js.map +1 -0
- package/dist/connectors/jira/issueContext.d.ts +25 -0
- package/dist/connectors/jira/issueContext.d.ts.map +1 -0
- package/dist/connectors/jira/issueContext.js +53 -0
- package/dist/connectors/jira/issueContext.js.map +1 -0
- package/dist/connectors/jira/issueDelta.d.ts +35 -0
- package/dist/connectors/jira/issueDelta.d.ts.map +1 -0
- package/dist/connectors/jira/issueDelta.js +50 -0
- package/dist/connectors/jira/issueDelta.js.map +1 -0
- package/dist/connectors/jira/mediaPlaceholders.d.ts +20 -0
- package/dist/connectors/jira/mediaPlaceholders.d.ts.map +1 -0
- package/dist/connectors/jira/mediaPlaceholders.js +92 -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 +37 -0
- package/dist/connectors/jira/prompt.d.ts.map +1 -0
- package/dist/connectors/jira/prompt.js +99 -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 +16 -0
- package/dist/connectors/jira/sessionKeyCodec.d.ts.map +1 -0
- package/dist/connectors/jira/sessionKeyCodec.js +101 -0
- package/dist/connectors/jira/sessionKeyCodec.js.map +1 -0
- package/dist/connectors/jira/trigger.d.ts +50 -0
- package/dist/connectors/jira/trigger.d.ts.map +1 -0
- package/dist/connectors/jira/trigger.js +93 -0
- package/dist/connectors/jira/trigger.js.map +1 -0
- package/dist/connectors/jira/triggerLog.d.ts +51 -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/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 +31 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.js +142 -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/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/modelProviders.d.ts +95 -0
- package/dist/connectors/telegram/commands/modelProviders.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/modelProviders.js +841 -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 +537 -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 +566 -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 +537 -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 +537 -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 +537 -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 +537 -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 +537 -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 +537 -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 +540 -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 +542 -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 +537 -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 +537 -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 +355 -0
- package/dist/scheduler/mcpSurface.d.ts.map +1 -0
- package/dist/scheduler/mcpSurface.js +1257 -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 +1245 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +1830 -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 +1015 -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 +49 -0
- package/dist/utils/autoContinueOnLimit.d.ts.map +1 -0
- package/dist/utils/autoContinueOnLimit.js +69 -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/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/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/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 +202 -0
- package/dist/utils/claudeStreamJson.d.ts.map +1 -0
- package/dist/utils/claudeStreamJson.js +351 -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/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/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 +227 -0
- package/dist/utils/jsonStreamHost.d.ts.map +1 -0
- package/dist/utils/jsonStreamHost.js +417 -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/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 +55 -0
- package/dist/utils/threadStatusReport.d.ts.map +1 -0
- package/dist/utils/threadStatusReport.js +65 -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 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Builds the "[Telegram thread context]" preamble the bot glues
|
|
3
|
+
* ahead of a forwarded prompt so the agent knows WHERE it works — which forum
|
|
4
|
+
* topic, in which group, under which thread key, and which bound folder.
|
|
5
|
+
*
|
|
6
|
+
* The preamble is plain English (agent-facing, NOT i18n) and uniform across
|
|
7
|
+
* both backends: the bot just prepends it to the prompt text in
|
|
8
|
+
* `forwardPromptToAgent`, the single choke point for direct texts,
|
|
9
|
+
* startup-buffer replays, and voice transcripts.
|
|
10
|
+
*
|
|
11
|
+
* It is re-injected on the next prompt whenever the built text differs from
|
|
12
|
+
* the per-thread marker the bot last sent — which happens on a fresh
|
|
13
|
+
* session (marker cleared on start/stop/closed), after a topic rename
|
|
14
|
+
* (stored name changed), or after `/clear` (marker reset). See the
|
|
15
|
+
* should-inject decision below.
|
|
16
|
+
*/
|
|
17
|
+
import { type SessionKey } from './sessionKey';
|
|
18
|
+
/** First line of every preamble — the agent-recognisable marker. */
|
|
19
|
+
export declare const threadContextPreambleHeader = "[Telegram thread context]";
|
|
20
|
+
/**
|
|
21
|
+
* @description Inputs needed to render the preamble. `topicName` and
|
|
22
|
+
* `groupTitle` are optional because the Bot API can't always supply them
|
|
23
|
+
* (pre-existing topics have no learned name; the group title cache is empty
|
|
24
|
+
* until the first authorised update after a restart).
|
|
25
|
+
*/
|
|
26
|
+
export interface ThreadContextPreambleInput {
|
|
27
|
+
/** Forum-topic display name, when known. */
|
|
28
|
+
topicName?: string;
|
|
29
|
+
/** Group (supergroup) title, when known. */
|
|
30
|
+
groupTitle?: string;
|
|
31
|
+
/** The thread key — its `chatId:threadId` form is exposed to the agent. */
|
|
32
|
+
key: SessionKey;
|
|
33
|
+
/** Bound subfolder under `WORK_ROOT`. */
|
|
34
|
+
subdir: string;
|
|
35
|
+
/**
|
|
36
|
+
* The instance timezone every clock the bot renders speaks in. Carried here
|
|
37
|
+
* because it is STATIC for a session and therefore rides the existing
|
|
38
|
+
* on-change injection for free; the current INSTANT deliberately stays on the
|
|
39
|
+
* per-prompt paths (`/timestamps`, the `/schedule` templates), since a value
|
|
40
|
+
* that changes every message would re-inject the preamble on every message.
|
|
41
|
+
* Optional so a caller that has no zone to report simply omits the field.
|
|
42
|
+
*/
|
|
43
|
+
timezone?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @description Render the preamble block. Always includes the `thread:` /
|
|
47
|
+
* `folder:` line (joined by a `timezone:` part when a zone is supplied); the
|
|
48
|
+
* `topic:` / `group:` line is included only when at least one of those two
|
|
49
|
+
* fields is known (the topic name is dropped when unknown, per the locked
|
|
50
|
+
* decision).
|
|
51
|
+
*
|
|
52
|
+
* Returns a multi-line string WITHOUT a trailing prompt — the caller joins
|
|
53
|
+
* it to the user's text with a blank-line separator.
|
|
54
|
+
*/
|
|
55
|
+
export declare function buildThreadContextPreamble(input: ThreadContextPreambleInput): string;
|
|
56
|
+
/**
|
|
57
|
+
* @description Whether the forwarded text must NOT get a preamble glued on.
|
|
58
|
+
* Slash commands forwarded to the agent (`/clear`, `/compact`, …) are plain
|
|
59
|
+
* control tokens — prepending the preamble would corrupt them into ordinary
|
|
60
|
+
* text the agent can't act on. The preamble rides only normal prompts.
|
|
61
|
+
*/
|
|
62
|
+
export declare function checkShouldSkipPreambleForText(text: string): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* @description Glue a freshly-built preamble ahead of the user's prompt.
|
|
65
|
+
*/
|
|
66
|
+
export declare function prependThreadContextPreamble(preamble: string, prompt: string): string;
|
|
67
|
+
/**
|
|
68
|
+
* @description Decide whether the preamble must ride the next prompt.
|
|
69
|
+
*
|
|
70
|
+
* The bot keeps an in-memory marker (the last preamble it injected for a
|
|
71
|
+
* thread). We inject when the freshly-built preamble differs from the
|
|
72
|
+
* marker — a missing marker (fresh session, post-`/clear` reset) always
|
|
73
|
+
* differs, and a rename / late group-title discovery changes the built text
|
|
74
|
+
* so it differs too. Identical text means the agent already has up-to-date
|
|
75
|
+
* context this session, so we skip to avoid noise.
|
|
76
|
+
*/
|
|
77
|
+
export declare function checkShouldInjectPreamble(builtPreamble: string, lastInjectedMarker: string | undefined): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* @description Strip a leading preamble block from a stored prompt text.
|
|
80
|
+
*
|
|
81
|
+
* Backend transcripts store the prompt AS FORWARDED — preamble included. When
|
|
82
|
+
* such a turn is shown back to the user (e.g. the "↩️ Resumed — last N
|
|
83
|
+
* messages" context block), the service header is noise: the user wants to
|
|
84
|
+
* see what THEY said, not the bot's glue. The preamble is everything from the
|
|
85
|
+
* marker header up to the first blank line (see
|
|
86
|
+
* {@link prependThreadContextPreamble}).
|
|
87
|
+
*/
|
|
88
|
+
export declare function stripThreadContextPreamble(text: string): string;
|
|
89
|
+
//# sourceMappingURL=threadContextPreamble.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threadContextPreamble.d.ts","sourceRoot":"","sources":["../src/threadContextPreamble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,oEAAoE;AACpE,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,GAAG,EAAE,UAAU,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,GAAG,MAAM,CAapF;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpE;AAKD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/D"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Builds the "[Telegram thread context]" preamble the bot glues
|
|
4
|
+
* ahead of a forwarded prompt so the agent knows WHERE it works — which forum
|
|
5
|
+
* topic, in which group, under which thread key, and which bound folder.
|
|
6
|
+
*
|
|
7
|
+
* The preamble is plain English (agent-facing, NOT i18n) and uniform across
|
|
8
|
+
* both backends: the bot just prepends it to the prompt text in
|
|
9
|
+
* `forwardPromptToAgent`, the single choke point for direct texts,
|
|
10
|
+
* startup-buffer replays, and voice transcripts.
|
|
11
|
+
*
|
|
12
|
+
* It is re-injected on the next prompt whenever the built text differs from
|
|
13
|
+
* the per-thread marker the bot last sent — which happens on a fresh
|
|
14
|
+
* session (marker cleared on start/stop/closed), after a topic rename
|
|
15
|
+
* (stored name changed), or after `/clear` (marker reset). See the
|
|
16
|
+
* should-inject decision below.
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.threadContextPreambleHeader = void 0;
|
|
20
|
+
exports.buildThreadContextPreamble = buildThreadContextPreamble;
|
|
21
|
+
exports.checkShouldSkipPreambleForText = checkShouldSkipPreambleForText;
|
|
22
|
+
exports.prependThreadContextPreamble = prependThreadContextPreamble;
|
|
23
|
+
exports.checkShouldInjectPreamble = checkShouldInjectPreamble;
|
|
24
|
+
exports.stripThreadContextPreamble = stripThreadContextPreamble;
|
|
25
|
+
const sessionKey_1 = require("./sessionKey");
|
|
26
|
+
/** First line of every preamble — the agent-recognisable marker. */
|
|
27
|
+
exports.threadContextPreambleHeader = '[Telegram thread context]';
|
|
28
|
+
/**
|
|
29
|
+
* @description Render the preamble block. Always includes the `thread:` /
|
|
30
|
+
* `folder:` line (joined by a `timezone:` part when a zone is supplied); the
|
|
31
|
+
* `topic:` / `group:` line is included only when at least one of those two
|
|
32
|
+
* fields is known (the topic name is dropped when unknown, per the locked
|
|
33
|
+
* decision).
|
|
34
|
+
*
|
|
35
|
+
* Returns a multi-line string WITHOUT a trailing prompt — the caller joins
|
|
36
|
+
* it to the user's text with a blank-line separator.
|
|
37
|
+
*/
|
|
38
|
+
function buildThreadContextPreamble(input) {
|
|
39
|
+
const { topicName, groupTitle, key, subdir, timezone } = input;
|
|
40
|
+
const lines = [exports.threadContextPreambleHeader];
|
|
41
|
+
const identityParts = [];
|
|
42
|
+
if (topicName)
|
|
43
|
+
identityParts.push(`topic: "${topicName}"`);
|
|
44
|
+
if (groupTitle)
|
|
45
|
+
identityParts.push(`group: "${groupTitle}"`);
|
|
46
|
+
if (identityParts.length > 0)
|
|
47
|
+
lines.push(identityParts.join(' | '));
|
|
48
|
+
const threadParts = [`thread: ${(0, sessionKey_1.keyToString)(key)}`, `folder: ${subdir}`];
|
|
49
|
+
if (timezone)
|
|
50
|
+
threadParts.push(`timezone: ${timezone}`);
|
|
51
|
+
lines.push(threadParts.join(' | '));
|
|
52
|
+
return lines.join('\n');
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @description Whether the forwarded text must NOT get a preamble glued on.
|
|
56
|
+
* Slash commands forwarded to the agent (`/clear`, `/compact`, …) are plain
|
|
57
|
+
* control tokens — prepending the preamble would corrupt them into ordinary
|
|
58
|
+
* text the agent can't act on. The preamble rides only normal prompts.
|
|
59
|
+
*/
|
|
60
|
+
function checkShouldSkipPreambleForText(text) {
|
|
61
|
+
return text.startsWith('/');
|
|
62
|
+
}
|
|
63
|
+
/** Separator between the preamble block and the user's prompt text. */
|
|
64
|
+
const preamblePromptSeparator = '\n\n';
|
|
65
|
+
/**
|
|
66
|
+
* @description Glue a freshly-built preamble ahead of the user's prompt.
|
|
67
|
+
*/
|
|
68
|
+
function prependThreadContextPreamble(preamble, prompt) {
|
|
69
|
+
return `${preamble}${preamblePromptSeparator}${prompt}`;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @description Decide whether the preamble must ride the next prompt.
|
|
73
|
+
*
|
|
74
|
+
* The bot keeps an in-memory marker (the last preamble it injected for a
|
|
75
|
+
* thread). We inject when the freshly-built preamble differs from the
|
|
76
|
+
* marker — a missing marker (fresh session, post-`/clear` reset) always
|
|
77
|
+
* differs, and a rename / late group-title discovery changes the built text
|
|
78
|
+
* so it differs too. Identical text means the agent already has up-to-date
|
|
79
|
+
* context this session, so we skip to avoid noise.
|
|
80
|
+
*/
|
|
81
|
+
function checkShouldInjectPreamble(builtPreamble, lastInjectedMarker) {
|
|
82
|
+
return builtPreamble !== lastInjectedMarker;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @description Strip a leading preamble block from a stored prompt text.
|
|
86
|
+
*
|
|
87
|
+
* Backend transcripts store the prompt AS FORWARDED — preamble included. When
|
|
88
|
+
* such a turn is shown back to the user (e.g. the "↩️ Resumed — last N
|
|
89
|
+
* messages" context block), the service header is noise: the user wants to
|
|
90
|
+
* see what THEY said, not the bot's glue. The preamble is everything from the
|
|
91
|
+
* marker header up to the first blank line (see
|
|
92
|
+
* {@link prependThreadContextPreamble}).
|
|
93
|
+
*/
|
|
94
|
+
function stripThreadContextPreamble(text) {
|
|
95
|
+
if (!text.startsWith(exports.threadContextPreambleHeader))
|
|
96
|
+
return text;
|
|
97
|
+
const separatorIndex = text.indexOf(preamblePromptSeparator);
|
|
98
|
+
if (separatorIndex === -1)
|
|
99
|
+
return text;
|
|
100
|
+
return text.slice(separatorIndex + preamblePromptSeparator.length);
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=threadContextPreamble.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threadContextPreamble.js","sourceRoot":"","sources":["../src/threadContextPreamble.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AA2CH,gEAaC;AAQD,wEAEC;AAQD,oEAEC;AAYD,8DAKC;AAYD,gEAKC;AA5GD,6CAA4D;AAE5D,oEAAoE;AACvD,QAAA,2BAA2B,GAAG,2BAA2B,CAAC;AA4BvE;;;;;;;;;GASG;AACH,SAAgB,0BAA0B,CAAC,KAAiC;IAC1E,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,KAAK,GAAa,CAAC,mCAA2B,CAAC,CAAC;IAEtD,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,SAAS;QAAE,aAAa,CAAC,IAAI,CAAC,WAAW,SAAS,GAAG,CAAC,CAAC;IAC3D,IAAI,UAAU;QAAE,aAAa,CAAC,IAAI,CAAC,WAAW,UAAU,GAAG,CAAC,CAAC;IAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,CAAC,WAAW,IAAA,wBAAW,EAAC,GAAG,CAAC,EAAE,EAAE,WAAW,MAAM,EAAE,CAAC,CAAC;IACzE,IAAI,QAAQ;QAAE,WAAW,CAAC,IAAI,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,8BAA8B,CAAC,IAAY;IACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,uEAAuE;AACvE,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC;;GAEG;AACH,SAAgB,4BAA4B,CAAC,QAAgB,EAAE,MAAc;IAC3E,OAAO,GAAG,QAAQ,GAAG,uBAAuB,GAAG,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CACvC,aAAqB,EACrB,kBAAsC;IAEtC,OAAO,aAAa,KAAK,kBAAkB,CAAC;AAC9C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,0BAA0B,CAAC,IAAY;IACrD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mCAA2B,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7D,IAAI,cAAc,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Pure routing-decision logic — extracted from `bot.ts` so
|
|
3
|
+
* the gating rules (plan §8) can be unit-tested without booting Telegraf,
|
|
4
|
+
* parsing ENV, or pulling in 30+ adapter dependencies.
|
|
5
|
+
*
|
|
6
|
+
* The Telegram `Context` object carries everything we need:
|
|
7
|
+
* - `ctx.chat` → forum supergroup detection + chat-id allowlist gate
|
|
8
|
+
* - `ctx.message` (or `ctx.callbackQuery.message`) →
|
|
9
|
+
* `message_thread_id` + `is_topic_message`
|
|
10
|
+
*
|
|
11
|
+
* Both fields are passed in by `bot.ts:getThreadKey` after pulling them
|
|
12
|
+
* from the live context, so this module can stay free of Telegraf imports.
|
|
13
|
+
*
|
|
14
|
+
* The `GENERAL_THREAD_ID = 1` constant is the magic number for the
|
|
15
|
+
* General forum topic — Telegram returns the thread id either as `1` or
|
|
16
|
+
* (sometimes) as `undefined` for posts in General; we normalise both to 1.
|
|
17
|
+
*
|
|
18
|
+
* Plan §11 Этап 7 / R2.
|
|
19
|
+
*/
|
|
20
|
+
import type { SessionKey } from './sessionKey';
|
|
21
|
+
/** Telegram's stable id for the General forum topic. */
|
|
22
|
+
export declare const GENERAL_THREAD_ID = 1;
|
|
23
|
+
/**
|
|
24
|
+
* @description "General" thread id in the owner-DM surface. A message posted to
|
|
25
|
+
* the DM's main thread carries NO `message_thread_id`; we normalise that to `0`
|
|
26
|
+
* (distinct from the supergroup's `1`) so the two surfaces never collide in a
|
|
27
|
+
* persisted `SessionKey` and `checkIsGeneral` can stay mode-aware.
|
|
28
|
+
*/
|
|
29
|
+
export declare const DM_GENERAL_THREAD_ID = 0;
|
|
30
|
+
/**
|
|
31
|
+
* @description Which Telegram surface(s) the bot serves.
|
|
32
|
+
*
|
|
33
|
+
* - `group` — only the forum supergroup (creator/admins gated, paired by
|
|
34
|
+
* `ALLOWED_GROUP_ID`).
|
|
35
|
+
* - `dm` — only the owner's 1:1 private chat with forum-topic mode (owner-id gated).
|
|
36
|
+
* - `both` — DEFAULT. ONE instance serves the owner DM AND the group at once,
|
|
37
|
+
* decided PER CHAT (the DM surface is inert if no `OWNER_USER_ID` is set, so a
|
|
38
|
+
* bare deploy stays group-only).
|
|
39
|
+
*/
|
|
40
|
+
export type ChatMode = 'group' | 'dm' | 'both';
|
|
41
|
+
/** The valid {@link ChatMode} values, for env validation. */
|
|
42
|
+
export declare const chatModeValues: readonly ChatMode[];
|
|
43
|
+
/** Type guard: is `value` a valid {@link ChatMode}? */
|
|
44
|
+
export declare function checkIsChatMode(value: string): value is ChatMode;
|
|
45
|
+
/**
|
|
46
|
+
* @description Minimal shape of the bits of `ctx.chat` we read. We accept
|
|
47
|
+
* `unknown` widths on optional fields so callers can pass a Telegraf
|
|
48
|
+
* `Chat` union without casting.
|
|
49
|
+
*/
|
|
50
|
+
export interface RouteChat {
|
|
51
|
+
id: number;
|
|
52
|
+
type?: string;
|
|
53
|
+
/** Present (and `true`) only on forum-enabled supergroups. */
|
|
54
|
+
is_forum?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* @description Minimal shape of the bits of `ctx.message` /
|
|
58
|
+
* `ctx.callbackQuery.message` we read.
|
|
59
|
+
*/
|
|
60
|
+
export interface RouteMessage {
|
|
61
|
+
message_thread_id?: number;
|
|
62
|
+
is_topic_message?: boolean;
|
|
63
|
+
}
|
|
64
|
+
export interface RouteInput {
|
|
65
|
+
chat: RouteChat | undefined;
|
|
66
|
+
/** From `ctx.message` (top-level update). */
|
|
67
|
+
message?: RouteMessage | undefined;
|
|
68
|
+
/** From `ctx.callbackQuery?.message` (inline-button presses). */
|
|
69
|
+
callbackQueryMessage?: RouteMessage | undefined;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @description Compute the `SessionKey` for an incoming Telegram update,
|
|
73
|
+
* or return `null` if the bot should silently ignore it.
|
|
74
|
+
*
|
|
75
|
+
* Gating rules (plan §8):
|
|
76
|
+
* 1. Chat is a forum supergroup (`type === 'supergroup'` AND `is_forum`).
|
|
77
|
+
* 2. `chat.id === allowedGroupId`.
|
|
78
|
+
* 3. If a `message_thread_id` is present, `is_topic_message` must be
|
|
79
|
+
* `true` — guards against plain reply-threads in non-forum
|
|
80
|
+
* supergroups, which also carry `message_thread_id` but are NOT
|
|
81
|
+
* topics (plan §4.3 point 2, T7).
|
|
82
|
+
* 4. Missing `message_thread_id` → General topic (id 1).
|
|
83
|
+
*/
|
|
84
|
+
export declare function resolveThreadKey(input: RouteInput, allowedGroupId: number): SessionKey | null;
|
|
85
|
+
/**
|
|
86
|
+
* @description Compute the `SessionKey` for an incoming update in DM mode, or
|
|
87
|
+
* `null` if the bot should ignore it.
|
|
88
|
+
*
|
|
89
|
+
* The DM surface accepts updates ONLY from the OWNER'S private chat — and the
|
|
90
|
+
* owner's private-chat id IS the owner's user id, so a single equality both
|
|
91
|
+
* gates the chat and identifies the owner:
|
|
92
|
+
* 1. `chat.type === 'private'` — any non-DM update is ignored here.
|
|
93
|
+
* 2. `chat.id === ownerUserId` — only the owner's DM, never another user's.
|
|
94
|
+
*
|
|
95
|
+
* The thread is the DM-topic's `message_thread_id`; a message in the DM's main
|
|
96
|
+
* thread carries none → normalised to {@link DM_GENERAL_THREAD_ID} (0). Unlike
|
|
97
|
+
* the supergroup path there is no `is_topic_message` gate: a private chat has no
|
|
98
|
+
* reply-thread/topic ambiguity to disambiguate.
|
|
99
|
+
*/
|
|
100
|
+
export declare function resolveDmThreadKey(input: RouteInput, ownerUserId: number): SessionKey | null;
|
|
101
|
+
/** Runtime surface config for {@link resolveThreadKeyForMode} / {@link checkIsDmThreadKey}. */
|
|
102
|
+
export interface SurfaceRouting {
|
|
103
|
+
/** The served surface(s) for this process. */
|
|
104
|
+
mode: ChatMode;
|
|
105
|
+
/** The owner's user id (= the owner's DM chat id), or `NaN` when no DM owner. */
|
|
106
|
+
ownerUserId: number;
|
|
107
|
+
/** The effective forum supergroup id, or `NaN` while unpaired. */
|
|
108
|
+
allowedGroupId: number;
|
|
109
|
+
/** Whether the DM surface is live (false ⇒ the owner-DM resolver is skipped). */
|
|
110
|
+
isDmSurfaceActive: boolean;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* @description Per-chat discriminator: does `key` belong to the DM surface? A DM
|
|
114
|
+
* key's `chatId` is the owner's user id (`resolveDmThreadKey` gates
|
|
115
|
+
* `chat.id === ownerUserId`), so the equality both identifies the surface and
|
|
116
|
+
* re-asserts the owner. Always false when the DM surface is inert — then
|
|
117
|
+
* `ownerUserId` is `NaN`, which never equals a real chat id anyway, but the guard
|
|
118
|
+
* makes a group-only `both` unambiguously group.
|
|
119
|
+
*/
|
|
120
|
+
export declare function checkIsDmThreadKey(key: SessionKey, ownerUserId: number, isDmSurfaceActive: boolean): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* @description Resolve the `SessionKey` for an update across BOTH surfaces, per
|
|
123
|
+
* {@link ChatMode}. The two resolvers are disjoint (a private chat vs. a forum
|
|
124
|
+
* supergroup), so trying both in `both` is unambiguous — an update matches at
|
|
125
|
+
* most one. The owner-DM resolver runs first when the DM surface is live
|
|
126
|
+
* (skipped when inert); the group resolver runs unless we are DM-only. A
|
|
127
|
+
* non-matching surface returns `null` → drop. The single composition behind
|
|
128
|
+
* `bot.ts:getThreadKey`, kept pure here so it is unit-testable.
|
|
129
|
+
*/
|
|
130
|
+
export declare function resolveThreadKeyForMode(input: RouteInput, routing: SurfaceRouting): SessionKey | null;
|
|
131
|
+
/**
|
|
132
|
+
* @description Convenience: is this the General topic? Used by command
|
|
133
|
+
* handlers that have different semantics in General vs. a thematic topic
|
|
134
|
+
* (e.g. `/ls` is General-only, `/bind` is topic-only).
|
|
135
|
+
*
|
|
136
|
+
* Mode-aware: the supergroup surface marks General with `1`, the DM surface
|
|
137
|
+
* with `0` (no `message_thread_id`). Pass the active {@link ChatMode} so the
|
|
138
|
+
* right marker is checked.
|
|
139
|
+
*/
|
|
140
|
+
export declare function checkIsGeneralTopic(key: SessionKey, mode?: ChatMode): boolean;
|
|
141
|
+
/** Inputs for the auto-pairing decision (side-effect free). */
|
|
142
|
+
export interface PairingInput {
|
|
143
|
+
chat: RouteChat | undefined;
|
|
144
|
+
/** Already-effective group id (env or previously paired), or `null`. */
|
|
145
|
+
currentGroupId: number | null;
|
|
146
|
+
/** True when `ALLOWED_GROUP_ID` env is set numerically — pairing disabled. */
|
|
147
|
+
isEnvLocked: boolean;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* @description Decide whether an incoming update's chat is STRUCTURALLY a
|
|
151
|
+
* pairing candidate. Returns the chat id to pair, or `null`.
|
|
152
|
+
*
|
|
153
|
+
* Eligible only when ALL hold:
|
|
154
|
+
* 1. Not locked by a numeric `ALLOWED_GROUP_ID` env.
|
|
155
|
+
* 2. No effective group id yet (`currentGroupId === null`).
|
|
156
|
+
* 3. The chat is a forum supergroup (same gate as {@link resolveThreadKey}).
|
|
157
|
+
*
|
|
158
|
+
* The actor's authority — they must be a creator/administrator of the group, so
|
|
159
|
+
* a random group can't hijack pairing — is verified separately and
|
|
160
|
+
* asynchronously by the caller via `getChatAdministrators`; it can't live in a
|
|
161
|
+
* pure helper.
|
|
162
|
+
*/
|
|
163
|
+
export declare function resolvePairingCandidate(input: PairingInput): number | null;
|
|
164
|
+
//# sourceMappingURL=threadRouting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threadRouting.d.ts","sourceRoot":"","sources":["../src/threadRouting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ/C,wDAAwD;AACxD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAE/C,6DAA6D;AAC7D,eAAO,MAAM,cAAc,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE3E,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAEhE;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,iEAAiE;IACjE,oBAAoB,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAsB7F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAQ5F;AAED,+FAA+F;AAC/F,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAMT;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,cAAc,GACtB,UAAU,GAAG,IAAI,CAOnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,GAAE,QAAkB,GAAG,OAAO,CAItF;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,wEAAwE;IACxE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAM1E"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Pure routing-decision logic — extracted from `bot.ts` so
|
|
4
|
+
* the gating rules (plan §8) can be unit-tested without booting Telegraf,
|
|
5
|
+
* parsing ENV, or pulling in 30+ adapter dependencies.
|
|
6
|
+
*
|
|
7
|
+
* The Telegram `Context` object carries everything we need:
|
|
8
|
+
* - `ctx.chat` → forum supergroup detection + chat-id allowlist gate
|
|
9
|
+
* - `ctx.message` (or `ctx.callbackQuery.message`) →
|
|
10
|
+
* `message_thread_id` + `is_topic_message`
|
|
11
|
+
*
|
|
12
|
+
* Both fields are passed in by `bot.ts:getThreadKey` after pulling them
|
|
13
|
+
* from the live context, so this module can stay free of Telegraf imports.
|
|
14
|
+
*
|
|
15
|
+
* The `GENERAL_THREAD_ID = 1` constant is the magic number for the
|
|
16
|
+
* General forum topic — Telegram returns the thread id either as `1` or
|
|
17
|
+
* (sometimes) as `undefined` for posts in General; we normalise both to 1.
|
|
18
|
+
*
|
|
19
|
+
* Plan §11 Этап 7 / R2.
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.chatModeValues = exports.DM_GENERAL_THREAD_ID = exports.GENERAL_THREAD_ID = void 0;
|
|
23
|
+
exports.checkIsChatMode = checkIsChatMode;
|
|
24
|
+
exports.resolveThreadKey = resolveThreadKey;
|
|
25
|
+
exports.resolveDmThreadKey = resolveDmThreadKey;
|
|
26
|
+
exports.checkIsDmThreadKey = checkIsDmThreadKey;
|
|
27
|
+
exports.resolveThreadKeyForMode = resolveThreadKeyForMode;
|
|
28
|
+
exports.checkIsGeneralTopic = checkIsGeneralTopic;
|
|
29
|
+
exports.resolvePairingCandidate = resolvePairingCandidate;
|
|
30
|
+
const sessionKeyCodec_1 = require("./connectors/telegram/sessionKeyCodec");
|
|
31
|
+
/** Telegram's stable id for the General forum topic. */
|
|
32
|
+
exports.GENERAL_THREAD_ID = 1;
|
|
33
|
+
/**
|
|
34
|
+
* @description "General" thread id in the owner-DM surface. A message posted to
|
|
35
|
+
* the DM's main thread carries NO `message_thread_id`; we normalise that to `0`
|
|
36
|
+
* (distinct from the supergroup's `1`) so the two surfaces never collide in a
|
|
37
|
+
* persisted `SessionKey` and `checkIsGeneral` can stay mode-aware.
|
|
38
|
+
*/
|
|
39
|
+
exports.DM_GENERAL_THREAD_ID = 0;
|
|
40
|
+
/** The valid {@link ChatMode} values, for env validation. */
|
|
41
|
+
exports.chatModeValues = ['group', 'dm', 'both'];
|
|
42
|
+
/** Type guard: is `value` a valid {@link ChatMode}? */
|
|
43
|
+
function checkIsChatMode(value) {
|
|
44
|
+
return exports.chatModeValues.includes(value);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @description Compute the `SessionKey` for an incoming Telegram update,
|
|
48
|
+
* or return `null` if the bot should silently ignore it.
|
|
49
|
+
*
|
|
50
|
+
* Gating rules (plan §8):
|
|
51
|
+
* 1. Chat is a forum supergroup (`type === 'supergroup'` AND `is_forum`).
|
|
52
|
+
* 2. `chat.id === allowedGroupId`.
|
|
53
|
+
* 3. If a `message_thread_id` is present, `is_topic_message` must be
|
|
54
|
+
* `true` — guards against plain reply-threads in non-forum
|
|
55
|
+
* supergroups, which also carry `message_thread_id` but are NOT
|
|
56
|
+
* topics (plan §4.3 point 2, T7).
|
|
57
|
+
* 4. Missing `message_thread_id` → General topic (id 1).
|
|
58
|
+
*/
|
|
59
|
+
function resolveThreadKey(input, allowedGroupId) {
|
|
60
|
+
const chat = input.chat;
|
|
61
|
+
if (!chat || chat.type !== 'supergroup')
|
|
62
|
+
return null;
|
|
63
|
+
if (!chat.is_forum)
|
|
64
|
+
return null;
|
|
65
|
+
if (chat.id !== allowedGroupId)
|
|
66
|
+
return null;
|
|
67
|
+
// Callback-query updates carry the originating message under
|
|
68
|
+
// `ctx.callbackQuery.message`. Either source is fine — they share the
|
|
69
|
+
// forum-topic fields by Telegram's data model.
|
|
70
|
+
const msg = input.message ?? input.callbackQueryMessage;
|
|
71
|
+
const rawThreadId = msg?.message_thread_id;
|
|
72
|
+
const isTopicMessage = msg?.is_topic_message;
|
|
73
|
+
// Reply-threads in non-forum supergroups also carry message_thread_id.
|
|
74
|
+
// We've already gated on `is_forum`, but a forum supergroup can still
|
|
75
|
+
// host a reply on the General-topic root — `is_topic_message` is `false`
|
|
76
|
+
// in that case and we should NOT mis-route it to a custom topic id.
|
|
77
|
+
if (rawThreadId && !isTopicMessage)
|
|
78
|
+
return null;
|
|
79
|
+
const threadId = rawThreadId ?? exports.GENERAL_THREAD_ID;
|
|
80
|
+
return (0, sessionKeyCodec_1.makeTelegramKey)(chat.id, threadId);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @description Compute the `SessionKey` for an incoming update in DM mode, or
|
|
84
|
+
* `null` if the bot should ignore it.
|
|
85
|
+
*
|
|
86
|
+
* The DM surface accepts updates ONLY from the OWNER'S private chat — and the
|
|
87
|
+
* owner's private-chat id IS the owner's user id, so a single equality both
|
|
88
|
+
* gates the chat and identifies the owner:
|
|
89
|
+
* 1. `chat.type === 'private'` — any non-DM update is ignored here.
|
|
90
|
+
* 2. `chat.id === ownerUserId` — only the owner's DM, never another user's.
|
|
91
|
+
*
|
|
92
|
+
* The thread is the DM-topic's `message_thread_id`; a message in the DM's main
|
|
93
|
+
* thread carries none → normalised to {@link DM_GENERAL_THREAD_ID} (0). Unlike
|
|
94
|
+
* the supergroup path there is no `is_topic_message` gate: a private chat has no
|
|
95
|
+
* reply-thread/topic ambiguity to disambiguate.
|
|
96
|
+
*/
|
|
97
|
+
function resolveDmThreadKey(input, ownerUserId) {
|
|
98
|
+
const chat = input.chat;
|
|
99
|
+
if (!chat || chat.type !== 'private')
|
|
100
|
+
return null;
|
|
101
|
+
if (chat.id !== ownerUserId)
|
|
102
|
+
return null;
|
|
103
|
+
const msg = input.message ?? input.callbackQueryMessage;
|
|
104
|
+
const threadId = msg?.message_thread_id ?? exports.DM_GENERAL_THREAD_ID;
|
|
105
|
+
return (0, sessionKeyCodec_1.makeTelegramKey)(chat.id, threadId);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* @description Per-chat discriminator: does `key` belong to the DM surface? A DM
|
|
109
|
+
* key's `chatId` is the owner's user id (`resolveDmThreadKey` gates
|
|
110
|
+
* `chat.id === ownerUserId`), so the equality both identifies the surface and
|
|
111
|
+
* re-asserts the owner. Always false when the DM surface is inert — then
|
|
112
|
+
* `ownerUserId` is `NaN`, which never equals a real chat id anyway, but the guard
|
|
113
|
+
* makes a group-only `both` unambiguously group.
|
|
114
|
+
*/
|
|
115
|
+
function checkIsDmThreadKey(key, ownerUserId, isDmSurfaceActive) {
|
|
116
|
+
if (!isDmSurfaceActive)
|
|
117
|
+
return false;
|
|
118
|
+
// A predicate must answer, not throw: a key from another platform simply
|
|
119
|
+
// isn't this Telegram surface's DM.
|
|
120
|
+
if (!(0, sessionKeyCodec_1.checkIsTelegramKey)(key))
|
|
121
|
+
return false;
|
|
122
|
+
return (0, sessionKeyCodec_1.getTelegramChatId)(key) === ownerUserId;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* @description Resolve the `SessionKey` for an update across BOTH surfaces, per
|
|
126
|
+
* {@link ChatMode}. The two resolvers are disjoint (a private chat vs. a forum
|
|
127
|
+
* supergroup), so trying both in `both` is unambiguous — an update matches at
|
|
128
|
+
* most one. The owner-DM resolver runs first when the DM surface is live
|
|
129
|
+
* (skipped when inert); the group resolver runs unless we are DM-only. A
|
|
130
|
+
* non-matching surface returns `null` → drop. The single composition behind
|
|
131
|
+
* `bot.ts:getThreadKey`, kept pure here so it is unit-testable.
|
|
132
|
+
*/
|
|
133
|
+
function resolveThreadKeyForMode(input, routing) {
|
|
134
|
+
if (routing.isDmSurfaceActive) {
|
|
135
|
+
const dmKey = resolveDmThreadKey(input, routing.ownerUserId);
|
|
136
|
+
if (dmKey)
|
|
137
|
+
return dmKey;
|
|
138
|
+
}
|
|
139
|
+
if (routing.mode === 'dm')
|
|
140
|
+
return null;
|
|
141
|
+
return resolveThreadKey(input, routing.allowedGroupId);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* @description Convenience: is this the General topic? Used by command
|
|
145
|
+
* handlers that have different semantics in General vs. a thematic topic
|
|
146
|
+
* (e.g. `/ls` is General-only, `/bind` is topic-only).
|
|
147
|
+
*
|
|
148
|
+
* Mode-aware: the supergroup surface marks General with `1`, the DM surface
|
|
149
|
+
* with `0` (no `message_thread_id`). Pass the active {@link ChatMode} so the
|
|
150
|
+
* right marker is checked.
|
|
151
|
+
*/
|
|
152
|
+
function checkIsGeneralTopic(key, mode = 'group') {
|
|
153
|
+
if (!(0, sessionKeyCodec_1.checkIsTelegramKey)(key))
|
|
154
|
+
return false;
|
|
155
|
+
const generalThreadId = mode === 'dm' ? exports.DM_GENERAL_THREAD_ID : exports.GENERAL_THREAD_ID;
|
|
156
|
+
return (0, sessionKeyCodec_1.getTelegramThreadId)(key) === generalThreadId;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* @description Decide whether an incoming update's chat is STRUCTURALLY a
|
|
160
|
+
* pairing candidate. Returns the chat id to pair, or `null`.
|
|
161
|
+
*
|
|
162
|
+
* Eligible only when ALL hold:
|
|
163
|
+
* 1. Not locked by a numeric `ALLOWED_GROUP_ID` env.
|
|
164
|
+
* 2. No effective group id yet (`currentGroupId === null`).
|
|
165
|
+
* 3. The chat is a forum supergroup (same gate as {@link resolveThreadKey}).
|
|
166
|
+
*
|
|
167
|
+
* The actor's authority — they must be a creator/administrator of the group, so
|
|
168
|
+
* a random group can't hijack pairing — is verified separately and
|
|
169
|
+
* asynchronously by the caller via `getChatAdministrators`; it can't live in a
|
|
170
|
+
* pure helper.
|
|
171
|
+
*/
|
|
172
|
+
function resolvePairingCandidate(input) {
|
|
173
|
+
if (input.isEnvLocked)
|
|
174
|
+
return null;
|
|
175
|
+
if (input.currentGroupId !== null)
|
|
176
|
+
return null;
|
|
177
|
+
const { chat } = input;
|
|
178
|
+
if (!chat || chat.type !== 'supergroup' || !chat.is_forum)
|
|
179
|
+
return null;
|
|
180
|
+
return chat.id;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=threadRouting.js.map
|