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,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Pure decision for keeping a pending interactive question at the
|
|
3
|
+
* BOTTOM of its topic (plan `2026-06-09-question-ux.md`, scope S3). While a
|
|
4
|
+
* question waits for an answer it must be the last message in the topic; if any
|
|
5
|
+
* OTHER output reaches the topic (a still-streaming sub-agent, a tool status, an
|
|
6
|
+
* api-retry notice) the question gets pushed up and the user can't see it.
|
|
7
|
+
*
|
|
8
|
+
* The bot owns the I/O (delete the old question message, re-send the current
|
|
9
|
+
* one, the debounce timer); this module only answers "should we re-post now?"
|
|
10
|
+
* so the loop-guard logic is unit-testable without a live Telegram round-trip.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* @description Inputs to {@link checkShouldRepostPendingQuestion}.
|
|
14
|
+
*/
|
|
15
|
+
export interface RepostDecisionInput {
|
|
16
|
+
/** Whether a question is currently pending for the thread. */
|
|
17
|
+
isQuestionPending: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the MOST RECENT thing the bot sent to the thread was the question
|
|
20
|
+
* message itself (vs some other output that landed below it). True right
|
|
21
|
+
* after the question is posted; flipped false as soon as anything else is
|
|
22
|
+
* sent. The loop guard: a re-post must never fire in response to its own send.
|
|
23
|
+
*/
|
|
24
|
+
wasLastSendTheQuestion: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Whether a question post (`postPendingQuestionAt`) is currently IN FLIGHT —
|
|
27
|
+
* its send has started but `messageId` has not been stored yet. A re-post
|
|
28
|
+
* must never run concurrently: it would read the PREVIOUS question's
|
|
29
|
+
* `messageId`, delete that (already-answered) message, and leave the
|
|
30
|
+
* in-flight post orphaned as a stale duplicate (live race 2026-06-10 in the
|
|
31
|
+
* test topic: the answered-Q1 "✅" confirmation vanished and Q2 appeared
|
|
32
|
+
* twice — the plan's named "repost must not fight post-next-question" risk).
|
|
33
|
+
* The in-flight post lands at the bottom anyway, so skipping loses nothing.
|
|
34
|
+
*/
|
|
35
|
+
isQuestionPostInFlight: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @description Decide whether the pending question should be re-posted to the
|
|
39
|
+
* bottom. Only when a question is pending AND something other than the question
|
|
40
|
+
* was the last thing sent AND no question post is currently in flight —
|
|
41
|
+
* otherwise re-posting would be pointless (no pending question), loop
|
|
42
|
+
* (re-posting in reaction to its own send), or race the in-flight post over
|
|
43
|
+
* `messageId` (deleting the wrong message; see
|
|
44
|
+
* {@link RepostDecisionInput.isQuestionPostInFlight}).
|
|
45
|
+
*/
|
|
46
|
+
export declare function checkShouldRepostPendingQuestion(input: RepostDecisionInput): boolean;
|
|
47
|
+
//# sourceMappingURL=pendingQuestionRepost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pendingQuestionRepost.d.ts","sourceRoot":"","sources":["../src/pendingQuestionRepost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;;;;;;;OASG;IACH,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAMpF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Pure decision for keeping a pending interactive question at the
|
|
4
|
+
* BOTTOM of its topic (plan `2026-06-09-question-ux.md`, scope S3). While a
|
|
5
|
+
* question waits for an answer it must be the last message in the topic; if any
|
|
6
|
+
* OTHER output reaches the topic (a still-streaming sub-agent, a tool status, an
|
|
7
|
+
* api-retry notice) the question gets pushed up and the user can't see it.
|
|
8
|
+
*
|
|
9
|
+
* The bot owns the I/O (delete the old question message, re-send the current
|
|
10
|
+
* one, the debounce timer); this module only answers "should we re-post now?"
|
|
11
|
+
* so the loop-guard logic is unit-testable without a live Telegram round-trip.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.checkShouldRepostPendingQuestion = checkShouldRepostPendingQuestion;
|
|
15
|
+
/**
|
|
16
|
+
* @description Decide whether the pending question should be re-posted to the
|
|
17
|
+
* bottom. Only when a question is pending AND something other than the question
|
|
18
|
+
* was the last thing sent AND no question post is currently in flight —
|
|
19
|
+
* otherwise re-posting would be pointless (no pending question), loop
|
|
20
|
+
* (re-posting in reaction to its own send), or race the in-flight post over
|
|
21
|
+
* `messageId` (deleting the wrong message; see
|
|
22
|
+
* {@link RepostDecisionInput.isQuestionPostInFlight}).
|
|
23
|
+
*/
|
|
24
|
+
function checkShouldRepostPendingQuestion(input) {
|
|
25
|
+
return (input.isQuestionPending &&
|
|
26
|
+
!input.wasLastSendTheQuestion &&
|
|
27
|
+
!input.isQuestionPostInFlight);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=pendingQuestionRepost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pendingQuestionRepost.js","sourceRoot":"","sources":["../src/pendingQuestionRepost.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAqCH,4EAMC;AAfD;;;;;;;;GAQG;AACH,SAAgB,gCAAgC,CAAC,KAA0B;IACzE,OAAO,CACL,KAAK,CAAC,iBAAiB;QACvB,CAAC,KAAK,CAAC,sBAAsB;QAC7B,CAAC,KAAK,CAAC,sBAAsB,CAC9B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { BindingData } from './state';
|
|
2
|
+
/**
|
|
3
|
+
* @description Inputs for {@link formatPinnedStatus}.
|
|
4
|
+
*
|
|
5
|
+
* Kept as a plain data record (no `SessionKey`, no adapter references) so the
|
|
6
|
+
* formatter is a pure function and can be unit-tested without booting any
|
|
7
|
+
* Telegraf / tmux machinery. The bot's `updatePinnedStatus` helper does the
|
|
8
|
+
* impure plumbing (probing the adapter, reading state, calling Telegram).
|
|
9
|
+
*
|
|
10
|
+
* Plan §11 Этап 7 (polish) / §20.5 — pinned per-thread status banner of
|
|
11
|
+
* the form `📁 <subdir> · <agent> · <state>`.
|
|
12
|
+
*/
|
|
13
|
+
export interface PinnedStatusInputs {
|
|
14
|
+
/** The persistent binding row for this thread. */
|
|
15
|
+
binding: BindingData;
|
|
16
|
+
/**
|
|
17
|
+
* Adapter display label (e.g. `"Claude Code"`). `null` means no adapter
|
|
18
|
+
* has been chosen yet for this thread — the banner shows `"no agent"`.
|
|
19
|
+
*/
|
|
20
|
+
agentLabel: string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Currently selected model id (e.g. `"sonnet"` or
|
|
23
|
+
* `"anthropic/claude-3-5-sonnet"`). Optional — many threads run on the
|
|
24
|
+
* adapter default and never call `/model`.
|
|
25
|
+
*/
|
|
26
|
+
model: string | null;
|
|
27
|
+
/**
|
|
28
|
+
* Currently selected reasoning-effort level (e.g. `"high"`, `"xhigh"`).
|
|
29
|
+
* Optional — shown right after the model when set, omitted otherwise.
|
|
30
|
+
*/
|
|
31
|
+
effort?: string | null;
|
|
32
|
+
/** True if the adapter reports an active session right now. */
|
|
33
|
+
isActive: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @description Compose the one-line pinned status text for a thread.
|
|
37
|
+
*
|
|
38
|
+
* Layout (dot-separated, single line so the Telegram pin stays compact):
|
|
39
|
+
*
|
|
40
|
+
* 📁 <subdir> · <agentLabel|no agent> [· <model>] · <state>
|
|
41
|
+
*
|
|
42
|
+
* The state segment is mutually exclusive: a closed topic always shows
|
|
43
|
+
* `🔒 closed` and suppresses the running/idle dot — once the topic is
|
|
44
|
+
* closed the agent can't run anyway, and the banner is the user's only
|
|
45
|
+
* pointer to that fact.
|
|
46
|
+
*
|
|
47
|
+
* Output is plain text (no Markdown). The pinned banner is permanent UI,
|
|
48
|
+
* not assistant output, so Telegram's MarkdownV2 parsing hazards are not
|
|
49
|
+
* worth the formatting noise.
|
|
50
|
+
*/
|
|
51
|
+
export declare function formatPinnedStatus(inputs: PinnedStatusInputs): string;
|
|
52
|
+
//# sourceMappingURL=pinnedStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinnedStatus.d.ts","sourceRoot":"","sources":["../src/pinnedStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,OAAO,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAerE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatPinnedStatus = formatPinnedStatus;
|
|
4
|
+
/**
|
|
5
|
+
* @description Compose the one-line pinned status text for a thread.
|
|
6
|
+
*
|
|
7
|
+
* Layout (dot-separated, single line so the Telegram pin stays compact):
|
|
8
|
+
*
|
|
9
|
+
* 📁 <subdir> · <agentLabel|no agent> [· <model>] · <state>
|
|
10
|
+
*
|
|
11
|
+
* The state segment is mutually exclusive: a closed topic always shows
|
|
12
|
+
* `🔒 closed` and suppresses the running/idle dot — once the topic is
|
|
13
|
+
* closed the agent can't run anyway, and the banner is the user's only
|
|
14
|
+
* pointer to that fact.
|
|
15
|
+
*
|
|
16
|
+
* Output is plain text (no Markdown). The pinned banner is permanent UI,
|
|
17
|
+
* not assistant output, so Telegram's MarkdownV2 parsing hazards are not
|
|
18
|
+
* worth the formatting noise.
|
|
19
|
+
*/
|
|
20
|
+
function formatPinnedStatus(inputs) {
|
|
21
|
+
const parts = [];
|
|
22
|
+
parts.push(`📁 ${inputs.binding.subdir}`);
|
|
23
|
+
parts.push(inputs.agentLabel ?? 'no agent');
|
|
24
|
+
if (inputs.model)
|
|
25
|
+
parts.push(inputs.model);
|
|
26
|
+
if (inputs.effort)
|
|
27
|
+
parts.push(`⚙️ ${inputs.effort}`);
|
|
28
|
+
if (inputs.binding.closed) {
|
|
29
|
+
parts.push('🔒 closed');
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
parts.push(inputs.isActive ? '🟢 running' : '⚪ idle');
|
|
33
|
+
}
|
|
34
|
+
return parts.join(' · ');
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=pinnedStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinnedStatus.js","sourceRoot":"","sources":["../src/pinnedStatus.ts"],"names":[],"mappings":";;AAoDA,gDAeC;AA/BD;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,kBAAkB,CAAC,MAA0B;IAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAErD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { type PlatformId, type SessionKey } from '../sessionKey';
|
|
2
|
+
import type { RequestAlertReason, RequestAnswerKind, RequestOrigin, UnreleasedRequestAlert } from '../requests/types';
|
|
3
|
+
/**
|
|
4
|
+
* @description The core-side contract for delivering an agent's answer to a
|
|
5
|
+
* request back to the surface the request came from (request/answer core S3).
|
|
6
|
+
* Each platform registers ONE sink; the core picks it by the conversation key's
|
|
7
|
+
* `platform` and never branches on a platform itself. It is separate from
|
|
8
|
+
* `ConnectorOutbound` on purpose: the stream (`deliver`) is fire-and-forget,
|
|
9
|
+
* while an answer must report whether it landed — a failed answer leaves the
|
|
10
|
+
* request untouched so the agent can retry.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* @name RequestAnswerDelivery
|
|
14
|
+
* @description One answer to deliver. `origin` is the request's own (its
|
|
15
|
+
* connector-owned attributes say where on the platform to deliver); a request
|
|
16
|
+
* that is no longer open (`isRequestOpen: false`) is still delivered.
|
|
17
|
+
*/
|
|
18
|
+
export interface RequestAnswerDelivery {
|
|
19
|
+
requestId: string;
|
|
20
|
+
kind: RequestAnswerKind;
|
|
21
|
+
body: string;
|
|
22
|
+
origin: RequestOrigin;
|
|
23
|
+
isRequestOpen: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @name AnswerDeliveryResult
|
|
27
|
+
* @description `warning` reports a partial success the agent should know about
|
|
28
|
+
* but must NOT retry (the answer itself landed).
|
|
29
|
+
*/
|
|
30
|
+
export type AnswerDeliveryResult = {
|
|
31
|
+
ok: true;
|
|
32
|
+
warning?: string;
|
|
33
|
+
} | {
|
|
34
|
+
ok: false;
|
|
35
|
+
error: string;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* @name RequestAlertDelivery
|
|
39
|
+
* @description The alert raised when the wake-up rules give up on an open
|
|
40
|
+
* request: "something went technically wrong", addressed to a person.
|
|
41
|
+
*/
|
|
42
|
+
export interface RequestAlertDelivery {
|
|
43
|
+
requestId: string;
|
|
44
|
+
reason: RequestAlertReason;
|
|
45
|
+
origin: RequestOrigin;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @name AlertDeliveryResult
|
|
49
|
+
* @description `alertRef` is the sink's own handle on what it posted, kept with
|
|
50
|
+
* the request and handed back to {@link AnswerSink.releaseAlert} when it closes.
|
|
51
|
+
*/
|
|
52
|
+
export type AlertDeliveryResult = {
|
|
53
|
+
ok: true;
|
|
54
|
+
alertRef?: string;
|
|
55
|
+
} | {
|
|
56
|
+
ok: false;
|
|
57
|
+
error: string;
|
|
58
|
+
};
|
|
59
|
+
/** @description A platform's answer and alert delivery. */
|
|
60
|
+
export interface AnswerSink {
|
|
61
|
+
deliverAnswer(key: SessionKey, delivery: RequestAnswerDelivery): Promise<AnswerDeliveryResult>;
|
|
62
|
+
deliverAlert(key: SessionKey, alert: RequestAlertDelivery): Promise<AlertDeliveryResult>;
|
|
63
|
+
/** Undo what keeps an alert prominent (Telegram: unpin it) once its request closed. */
|
|
64
|
+
releaseAlert(key: SessionKey, alertRef: string): Promise<void>;
|
|
65
|
+
}
|
|
66
|
+
/** @description The sinks of the platforms this process serves. */
|
|
67
|
+
export type AnswerSinks = ReadonlyMap<PlatformId, AnswerSink>;
|
|
68
|
+
/**
|
|
69
|
+
* @name AnswerSinkLookup
|
|
70
|
+
* @description The conversation's sink, or why there is none.
|
|
71
|
+
*/
|
|
72
|
+
export type AnswerSinkLookup = {
|
|
73
|
+
ok: true;
|
|
74
|
+
sink: AnswerSink;
|
|
75
|
+
} | {
|
|
76
|
+
ok: false;
|
|
77
|
+
error: string;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* @description The sink of a conversation's platform — the ONE lookup every
|
|
81
|
+
* answer, alert and alert release goes through, so a platform this process does
|
|
82
|
+
* not serve is reported the same way everywhere.
|
|
83
|
+
*/
|
|
84
|
+
export declare function getAnswerSink(answerSinks: AnswerSinks, key: SessionKey): AnswerSinkLookup;
|
|
85
|
+
/**
|
|
86
|
+
* @description Release an alert a closed request held (Telegram: unpin it),
|
|
87
|
+
* through its platform's sink. The request ledger calls it for every close and
|
|
88
|
+
* again at boot for every alert still unreleased. Rejects when this process
|
|
89
|
+
* cannot release it (its platform is not served here), so the ledger keeps the
|
|
90
|
+
* alert for a later start that can.
|
|
91
|
+
*/
|
|
92
|
+
export declare function releaseRequestAlert(answerSinks: AnswerSinks, alert: UnreleasedRequestAlert): Promise<void>;
|
|
93
|
+
//# sourceMappingURL=answerSink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"answerSink.d.ts","sourceRoot":"","sources":["../../src/platform/answerSink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEtH;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC/F,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzF,uFAAuF;IACvF,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAED,mEAAmE;AACnE,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7F;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,GAAG,gBAAgB,CAGzF;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhH"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAnswerSink = getAnswerSink;
|
|
4
|
+
exports.releaseRequestAlert = releaseRequestAlert;
|
|
5
|
+
const sessionKey_1 = require("../sessionKey");
|
|
6
|
+
/**
|
|
7
|
+
* @description The sink of a conversation's platform — the ONE lookup every
|
|
8
|
+
* answer, alert and alert release goes through, so a platform this process does
|
|
9
|
+
* not serve is reported the same way everywhere.
|
|
10
|
+
*/
|
|
11
|
+
function getAnswerSink(answerSinks, key) {
|
|
12
|
+
const sink = answerSinks.get(key.platform);
|
|
13
|
+
return sink ? { ok: true, sink } : { ok: false, error: `no answer sink serves platform "${key.platform}"` };
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @description Release an alert a closed request held (Telegram: unpin it),
|
|
17
|
+
* through its platform's sink. The request ledger calls it for every close and
|
|
18
|
+
* again at boot for every alert still unreleased. Rejects when this process
|
|
19
|
+
* cannot release it (its platform is not served here), so the ledger keeps the
|
|
20
|
+
* alert for a later start that can.
|
|
21
|
+
*/
|
|
22
|
+
async function releaseRequestAlert(answerSinks, alert) {
|
|
23
|
+
const key = (0, sessionKey_1.tryKeyFromString)(alert.conversationKey);
|
|
24
|
+
if (!key)
|
|
25
|
+
throw new Error(`no answer sink serves ${alert.conversationKey}`);
|
|
26
|
+
const lookup = getAnswerSink(answerSinks, key);
|
|
27
|
+
if (!lookup.ok)
|
|
28
|
+
throw new Error(lookup.error);
|
|
29
|
+
await lookup.sink.releaseAlert(key, alert.alertRef);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=answerSink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"answerSink.js","sourceRoot":"","sources":["../../src/platform/answerSink.ts"],"names":[],"mappings":";;AA0EA,sCAGC;AASD,kDAMC;AA5FD,8CAAmF;AAqEnF;;;;GAIG;AACH,SAAgB,aAAa,CAAC,WAAwB,EAAE,GAAe;IACrE,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;AAC9G,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CAAC,WAAwB,EAAE,KAA6B;IAC/F,MAAM,GAAG,GAAG,IAAA,6BAAgB,EAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description How outbound content degrades when the surface cannot express
|
|
3
|
+
* all of it.
|
|
4
|
+
*
|
|
5
|
+
* The core writes what it MEANS — "here are three choices, keep this visible" —
|
|
6
|
+
* without knowing whether the far side has tappable buttons or a pin. This
|
|
7
|
+
* module is the single place that reconciles the two, so every connector
|
|
8
|
+
* degrades identically and no connector has to remember to check.
|
|
9
|
+
*
|
|
10
|
+
* The contract that makes degradation lossless: {@link OutboundContent.text}
|
|
11
|
+
* ALWAYS enumerates the options itself, and {@link OutboundContent.options} is
|
|
12
|
+
* purely the "offer these as tappable controls too" request. Dropping the
|
|
13
|
+
* options therefore costs the user the tap, never the information — they answer
|
|
14
|
+
* by typing the index instead, which is exactly the tracker case.
|
|
15
|
+
*/
|
|
16
|
+
import type { ConnectorCapabilities, OutboundContent } from './outbound';
|
|
17
|
+
/**
|
|
18
|
+
* @description Reduce `content` to what `capabilities` can actually express.
|
|
19
|
+
*
|
|
20
|
+
* Returns the SAME object when nothing has to change, so the all-capable
|
|
21
|
+
* surface (Telegram) pays nothing and a test asserting identity can prove the
|
|
22
|
+
* rich path was taken untouched.
|
|
23
|
+
*
|
|
24
|
+
* - no `tappableOptions` → the options are dropped; the enumerated list in
|
|
25
|
+
* `text` is what the user reads and answers by index.
|
|
26
|
+
* - no `pinMessages` → `keepVisible` is cleared; the message is still sent, it
|
|
27
|
+
* just does not stay prominent.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getDegradedContent(content: OutboundContent, capabilities: ConnectorCapabilities): OutboundContent;
|
|
30
|
+
/**
|
|
31
|
+
* @description Does this content still need a message of its own after
|
|
32
|
+
* degradation?
|
|
33
|
+
*
|
|
34
|
+
* A surface that can neither pin nor offer controls turns a "prominent" message
|
|
35
|
+
* back into ordinary content — there is nothing left that distinguishes it, so
|
|
36
|
+
* forcing a separate message would only fragment the conversation.
|
|
37
|
+
*/
|
|
38
|
+
export declare function checkNeedsOwnMessage(content: OutboundContent): boolean;
|
|
39
|
+
//# sourceMappingURL=capabilityFallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilityFallback.d.ts","sourceRoot":"","sources":["../../src/platform/capabilityFallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEzE;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,qBAAqB,GAClC,eAAe,CASjB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAEtE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description How outbound content degrades when the surface cannot express
|
|
4
|
+
* all of it.
|
|
5
|
+
*
|
|
6
|
+
* The core writes what it MEANS — "here are three choices, keep this visible" —
|
|
7
|
+
* without knowing whether the far side has tappable buttons or a pin. This
|
|
8
|
+
* module is the single place that reconciles the two, so every connector
|
|
9
|
+
* degrades identically and no connector has to remember to check.
|
|
10
|
+
*
|
|
11
|
+
* The contract that makes degradation lossless: {@link OutboundContent.text}
|
|
12
|
+
* ALWAYS enumerates the options itself, and {@link OutboundContent.options} is
|
|
13
|
+
* purely the "offer these as tappable controls too" request. Dropping the
|
|
14
|
+
* options therefore costs the user the tap, never the information — they answer
|
|
15
|
+
* by typing the index instead, which is exactly the tracker case.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.getDegradedContent = getDegradedContent;
|
|
19
|
+
exports.checkNeedsOwnMessage = checkNeedsOwnMessage;
|
|
20
|
+
/**
|
|
21
|
+
* @description Reduce `content` to what `capabilities` can actually express.
|
|
22
|
+
*
|
|
23
|
+
* Returns the SAME object when nothing has to change, so the all-capable
|
|
24
|
+
* surface (Telegram) pays nothing and a test asserting identity can prove the
|
|
25
|
+
* rich path was taken untouched.
|
|
26
|
+
*
|
|
27
|
+
* - no `tappableOptions` → the options are dropped; the enumerated list in
|
|
28
|
+
* `text` is what the user reads and answers by index.
|
|
29
|
+
* - no `pinMessages` → `keepVisible` is cleared; the message is still sent, it
|
|
30
|
+
* just does not stay prominent.
|
|
31
|
+
*/
|
|
32
|
+
function getDegradedContent(content, capabilities) {
|
|
33
|
+
const shouldDropOptions = !capabilities.tappableOptions && content.options !== undefined;
|
|
34
|
+
const shouldDropKeepVisible = !capabilities.pinMessages && content.keepVisible === true;
|
|
35
|
+
if (!shouldDropOptions && !shouldDropKeepVisible)
|
|
36
|
+
return content;
|
|
37
|
+
const degraded = { ...content };
|
|
38
|
+
if (shouldDropOptions)
|
|
39
|
+
delete degraded.options;
|
|
40
|
+
if (shouldDropKeepVisible)
|
|
41
|
+
degraded.keepVisible = false;
|
|
42
|
+
return degraded;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @description Does this content still need a message of its own after
|
|
46
|
+
* degradation?
|
|
47
|
+
*
|
|
48
|
+
* A surface that can neither pin nor offer controls turns a "prominent" message
|
|
49
|
+
* back into ordinary content — there is nothing left that distinguishes it, so
|
|
50
|
+
* forcing a separate message would only fragment the conversation.
|
|
51
|
+
*/
|
|
52
|
+
function checkNeedsOwnMessage(content) {
|
|
53
|
+
return content.keepVisible === true || (content.options?.length ?? 0) > 0;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=capabilityFallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilityFallback.js","sourceRoot":"","sources":["../../src/platform/capabilityFallback.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAgBH,gDAYC;AAUD,oDAEC;AApCD;;;;;;;;;;;GAWG;AACH,SAAgB,kBAAkB,CAChC,OAAwB,EACxB,YAAmC;IAEnC,MAAM,iBAAiB,GAAG,CAAC,YAAY,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;IACzF,MAAM,qBAAqB,GAAG,CAAC,YAAY,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC;IACxF,IAAI,CAAC,iBAAiB,IAAI,CAAC,qBAAqB;QAAE,OAAO,OAAO,CAAC;IAEjE,MAAM,QAAQ,GAAoB,EAAE,GAAG,OAAO,EAAE,CAAC;IACjD,IAAI,iBAAiB;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC/C,IAAI,qBAAqB;QAAE,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;IACxD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAC,OAAwB;IAC3D,OAAO,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description The platform-neutral command router.
|
|
3
|
+
*
|
|
4
|
+
* Command dispatch used to be fused to Telegram: every handler was registered
|
|
5
|
+
* through `bot.command(...)`, and each one re-parsed its own arguments out of
|
|
6
|
+
* `ctx.message.text` with an ad-hoc `split(' ').slice(1)`. Neither survives a
|
|
7
|
+
* second surface — a tracker comment (`@ai-dev please review`) carries the same
|
|
8
|
+
* intent with none of Telegram's syntax.
|
|
9
|
+
*
|
|
10
|
+
* So the split is: the CONNECTOR recognises its own trigger syntax and produces
|
|
11
|
+
* an {@link InboundCommand}; the CORE owns the name → handler table and the
|
|
12
|
+
* dispatch. Adding a surface adds a recogniser, not a second command table.
|
|
13
|
+
*/
|
|
14
|
+
import type { InboundCommand, InboundEvent } from './inbound';
|
|
15
|
+
/**
|
|
16
|
+
* @description A registered command handler. Runs for its own side effects; the
|
|
17
|
+
* router does not interpret a return value, so declining is not a handler's
|
|
18
|
+
* choice — a name is either bound or it is not.
|
|
19
|
+
*/
|
|
20
|
+
export type CommandHandler = (event: InboundEvent, command: InboundCommand) => Promise<void> | void;
|
|
21
|
+
export interface CommandRouter {
|
|
22
|
+
/**
|
|
23
|
+
* Bind one or more names to `handler`. Matching is EXACT, including case:
|
|
24
|
+
* Telegram's own command matching is case-sensitive (`/STATUS` is not
|
|
25
|
+
* `/status`), so folding case here would start answering commands that used
|
|
26
|
+
* to fall through to the plain-text path. A surface whose commands really are
|
|
27
|
+
* case-insensitive normalises the name in its own recogniser, where that fact
|
|
28
|
+
* belongs.
|
|
29
|
+
*/
|
|
30
|
+
register(names: string | string[], handler: CommandHandler): void;
|
|
31
|
+
/** Is any handler bound to this name? Used to decide fall-through. */
|
|
32
|
+
checkIsRegistered(name: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Run the handler bound to `event.command`. Resolves `false` when the event
|
|
35
|
+
* carries no command or no handler is bound — the caller then treats the
|
|
36
|
+
* message as plain text, exactly as before.
|
|
37
|
+
*/
|
|
38
|
+
dispatch(event: InboundEvent): Promise<boolean>;
|
|
39
|
+
}
|
|
40
|
+
export declare function createCommandRouter(): CommandRouter;
|
|
41
|
+
/**
|
|
42
|
+
* @description Split the remainder of a command line into the two argument
|
|
43
|
+
* shapes handlers actually need.
|
|
44
|
+
*
|
|
45
|
+
* Shared by every connector's recogniser so "what counts as an argument" is
|
|
46
|
+
* decided once. `argsText` keeps the user's inner spacing verbatim (a session
|
|
47
|
+
* title or a schedule description must survive intact); `args` is the
|
|
48
|
+
* convenience split for the flag-style commands.
|
|
49
|
+
*/
|
|
50
|
+
export declare function splitCommandArgs(remainder: string): Pick<InboundCommand, 'args' | 'argsText'>;
|
|
51
|
+
//# sourceMappingURL=commandRouter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandRouter.d.ts","sourceRoot":"","sources":["../../src/platform/commandRouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEpG,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAClE,sEAAsE;IACtE,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAuBnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU,CAAC,CAG7F"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description The platform-neutral command router.
|
|
4
|
+
*
|
|
5
|
+
* Command dispatch used to be fused to Telegram: every handler was registered
|
|
6
|
+
* through `bot.command(...)`, and each one re-parsed its own arguments out of
|
|
7
|
+
* `ctx.message.text` with an ad-hoc `split(' ').slice(1)`. Neither survives a
|
|
8
|
+
* second surface — a tracker comment (`@ai-dev please review`) carries the same
|
|
9
|
+
* intent with none of Telegram's syntax.
|
|
10
|
+
*
|
|
11
|
+
* So the split is: the CONNECTOR recognises its own trigger syntax and produces
|
|
12
|
+
* an {@link InboundCommand}; the CORE owns the name → handler table and the
|
|
13
|
+
* dispatch. Adding a surface adds a recogniser, not a second command table.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.createCommandRouter = createCommandRouter;
|
|
17
|
+
exports.splitCommandArgs = splitCommandArgs;
|
|
18
|
+
function createCommandRouter() {
|
|
19
|
+
const handlers = new Map();
|
|
20
|
+
function register(names, handler) {
|
|
21
|
+
for (const name of Array.isArray(names) ? names : [names]) {
|
|
22
|
+
handlers.set(name, handler);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function checkIsRegistered(name) {
|
|
26
|
+
return handlers.has(name);
|
|
27
|
+
}
|
|
28
|
+
async function dispatch(event) {
|
|
29
|
+
const command = event.command;
|
|
30
|
+
if (!command)
|
|
31
|
+
return false;
|
|
32
|
+
const handler = handlers.get(command.name);
|
|
33
|
+
if (!handler)
|
|
34
|
+
return false;
|
|
35
|
+
await handler(event, command);
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return { register, checkIsRegistered, dispatch };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @description Split the remainder of a command line into the two argument
|
|
42
|
+
* shapes handlers actually need.
|
|
43
|
+
*
|
|
44
|
+
* Shared by every connector's recogniser so "what counts as an argument" is
|
|
45
|
+
* decided once. `argsText` keeps the user's inner spacing verbatim (a session
|
|
46
|
+
* title or a schedule description must survive intact); `args` is the
|
|
47
|
+
* convenience split for the flag-style commands.
|
|
48
|
+
*/
|
|
49
|
+
function splitCommandArgs(remainder) {
|
|
50
|
+
const argsText = remainder.trim();
|
|
51
|
+
return { argsText, args: argsText.split(/\s+/).filter(Boolean) };
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=commandRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandRouter.js","sourceRoot":"","sources":["../../src/platform/commandRouter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AA+BH,kDAuBC;AAWD,4CAGC;AArCD,SAAgB,mBAAmB;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEnD,SAAS,QAAQ,CAAC,KAAwB,EAAE,OAAuB;QACjE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,SAAS,iBAAiB,CAAC,IAAY;QACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,KAAmB;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { PlatformId, SessionKey } from '../sessionKey';
|
|
2
|
+
/**
|
|
3
|
+
* @description Which surfaces an instance serves (`CONNECTORS`, Jira connector
|
|
4
|
+
* plan J3) and the ONE filter every scan of conversations goes through (J3b,
|
|
5
|
+
* R10). A neutral module: the CLI preflight reads it to guard a start, the bot
|
|
6
|
+
* to branch its boot — neither imports the other.
|
|
7
|
+
*/
|
|
8
|
+
export declare const connectorIds: readonly ["telegram", "jira"];
|
|
9
|
+
export type ConnectorId = (typeof connectorIds)[number];
|
|
10
|
+
/** An unset `CONNECTORS` keeps the instance what it always was. */
|
|
11
|
+
export declare const defaultConnectors: readonly ConnectorId[];
|
|
12
|
+
export type ConnectorsParse = {
|
|
13
|
+
ok: true;
|
|
14
|
+
connectors: ConnectorId[];
|
|
15
|
+
} | {
|
|
16
|
+
ok: false;
|
|
17
|
+
error: string;
|
|
18
|
+
};
|
|
19
|
+
/** @description `CONNECTORS` as a comma list (`telegram`, `jira`), unset → Telegram only. */
|
|
20
|
+
export declare function parseConnectors(raw: string | undefined): ConnectorsParse;
|
|
21
|
+
/** @description The platforms whose conversations an instance serving `connectors` owns. */
|
|
22
|
+
export declare function getServedPlatforms(connectors: readonly ConnectorId[]): ReadonlySet<PlatformId>;
|
|
23
|
+
/**
|
|
24
|
+
* @description Does the conversation belong to one of `platforms`? The one rule
|
|
25
|
+
* behind {@link getServedConversations}, for a boot scan that walks a persisted
|
|
26
|
+
* map by serialized key rather than a list of entries.
|
|
27
|
+
*/
|
|
28
|
+
export declare function checkIsServedConversation(key: SessionKey, platforms: ReadonlySet<PlatformId>): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* @description Only the entries (tmux sessions found at boot, bindings, …) whose
|
|
31
|
+
* conversation belongs to one of `platforms`. Every boot scan adopts, resumes or
|
|
32
|
+
* KILLS what it is given, so it first keeps what this instance serves: a Telegram
|
|
33
|
+
* instance never touches a Jira conversation's session, nor a Jira instance a
|
|
34
|
+
* Telegram one (the J1 review note).
|
|
35
|
+
*/
|
|
36
|
+
export declare function getServedConversations<T extends {
|
|
37
|
+
key: SessionKey;
|
|
38
|
+
}>(entries: readonly T[], platforms: ReadonlySet<PlatformId>): T[];
|
|
39
|
+
//# sourceMappingURL=connectorSet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectorSet.d.ts","sourceRoot":"","sources":["../../src/platform/connectorSet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5D;;;;;GAKG;AAEH,eAAO,MAAM,YAAY,+BAAgC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,EAAE,SAAS,WAAW,EAAiB,CAAC;AAMtE,MAAM,MAAM,eAAe,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErG,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CASxE;AAED,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,CAE9F;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,OAAO,CAEtG;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,EAClE,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,GACjC,CAAC,EAAE,CAEL"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultConnectors = exports.connectorIds = void 0;
|
|
4
|
+
exports.parseConnectors = parseConnectors;
|
|
5
|
+
exports.getServedPlatforms = getServedPlatforms;
|
|
6
|
+
exports.checkIsServedConversation = checkIsServedConversation;
|
|
7
|
+
exports.getServedConversations = getServedConversations;
|
|
8
|
+
/**
|
|
9
|
+
* @description Which surfaces an instance serves (`CONNECTORS`, Jira connector
|
|
10
|
+
* plan J3) and the ONE filter every scan of conversations goes through (J3b,
|
|
11
|
+
* R10). A neutral module: the CLI preflight reads it to guard a start, the bot
|
|
12
|
+
* to branch its boot — neither imports the other.
|
|
13
|
+
*/
|
|
14
|
+
exports.connectorIds = ['telegram', 'jira'];
|
|
15
|
+
/** An unset `CONNECTORS` keeps the instance what it always was. */
|
|
16
|
+
exports.defaultConnectors = ['telegram'];
|
|
17
|
+
function checkIsConnectorId(name) {
|
|
18
|
+
return exports.connectorIds.some((id) => id === name);
|
|
19
|
+
}
|
|
20
|
+
/** @description `CONNECTORS` as a comma list (`telegram`, `jira`), unset → Telegram only. */
|
|
21
|
+
function parseConnectors(raw) {
|
|
22
|
+
if (raw === undefined || raw.trim() === '')
|
|
23
|
+
return { ok: true, connectors: [...exports.defaultConnectors] };
|
|
24
|
+
const names = raw.split(',').map((name) => name.trim()).filter((name) => name !== '');
|
|
25
|
+
const unknown = names.filter((name) => !checkIsConnectorId(name));
|
|
26
|
+
if (unknown.length > 0) {
|
|
27
|
+
return { ok: false, error: `CONNECTORS has unknown connector(s) ${unknown.join(', ')} (known: ${exports.connectorIds.join(', ')})` };
|
|
28
|
+
}
|
|
29
|
+
if (names.length === 0)
|
|
30
|
+
return { ok: false, error: 'CONNECTORS names no connector' };
|
|
31
|
+
return { ok: true, connectors: exports.connectorIds.filter((id) => names.includes(id)) };
|
|
32
|
+
}
|
|
33
|
+
/** @description The platforms whose conversations an instance serving `connectors` owns. */
|
|
34
|
+
function getServedPlatforms(connectors) {
|
|
35
|
+
return new Set(connectors);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @description Does the conversation belong to one of `platforms`? The one rule
|
|
39
|
+
* behind {@link getServedConversations}, for a boot scan that walks a persisted
|
|
40
|
+
* map by serialized key rather than a list of entries.
|
|
41
|
+
*/
|
|
42
|
+
function checkIsServedConversation(key, platforms) {
|
|
43
|
+
return platforms.has(key.platform);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @description Only the entries (tmux sessions found at boot, bindings, …) whose
|
|
47
|
+
* conversation belongs to one of `platforms`. Every boot scan adopts, resumes or
|
|
48
|
+
* KILLS what it is given, so it first keeps what this instance serves: a Telegram
|
|
49
|
+
* instance never touches a Jira conversation's session, nor a Jira instance a
|
|
50
|
+
* Telegram one (the J1 review note).
|
|
51
|
+
*/
|
|
52
|
+
function getServedConversations(entries, platforms) {
|
|
53
|
+
return entries.filter(({ key }) => checkIsServedConversation(key, platforms));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=connectorSet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectorSet.js","sourceRoot":"","sources":["../../src/platform/connectorSet.ts"],"names":[],"mappings":";;;AAsBA,0CASC;AAGD,gDAEC;AAOD,8DAEC;AASD,wDAKC;AAzDD;;;;;GAKG;AAEU,QAAA,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,CAAU,CAAC;AAG1D,mEAAmE;AACtD,QAAA,iBAAiB,GAA2B,CAAC,UAAU,CAAC,CAAC;AAEtE,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,oBAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC;AAID,6FAA6F;AAC7F,SAAgB,eAAe,CAAC,GAAuB;IACrD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,yBAAiB,CAAC,EAAE,CAAC;IACpG,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uCAAuC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,oBAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/H,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IACrF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,4FAA4F;AAC5F,SAAgB,kBAAkB,CAAC,UAAkC;IACnE,OAAO,IAAI,GAAG,CAAa,UAAU,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,GAAe,EAAE,SAAkC;IAC3F,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB,CACpC,OAAqB,EACrB,SAAkC;IAElC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;AAChF,CAAC"}
|