charness 0.0.0-stage → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +88 -0
- package/DEVELOPMENT.md +110 -0
- package/LICENSE +21 -0
- package/MIGRATION_1_TO_2.md +24 -0
- package/README.md +1024 -2
- package/dist/accessControl.d.ts +71 -0
- package/dist/accessControl.d.ts.map +1 -0
- package/dist/accessControl.js +108 -0
- package/dist/accessControl.js.map +1 -0
- package/dist/adapters/adapterEventRouting.d.ts +51 -0
- package/dist/adapters/adapterEventRouting.d.ts.map +1 -0
- package/dist/adapters/adapterEventRouting.js +74 -0
- package/dist/adapters/adapterEventRouting.js.map +1 -0
- package/dist/adapters/adapterNames.d.ts +19 -0
- package/dist/adapters/adapterNames.d.ts.map +1 -0
- package/dist/adapters/adapterNames.js +25 -0
- package/dist/adapters/adapterNames.js.map +1 -0
- package/dist/adapters/claudeCliAdapter.d.ts +1336 -0
- package/dist/adapters/claudeCliAdapter.d.ts.map +1 -0
- package/dist/adapters/claudeCliAdapter.js +4204 -0
- package/dist/adapters/claudeCliAdapter.js.map +1 -0
- package/dist/adapters/claudeJsonStreamAdapter.d.ts +548 -0
- package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -0
- package/dist/adapters/claudeJsonStreamAdapter.js +1810 -0
- package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -0
- package/dist/adapters/claudePlatformFlags.d.ts +35 -0
- package/dist/adapters/claudePlatformFlags.d.ts.map +1 -0
- package/dist/adapters/claudePlatformFlags.js +46 -0
- package/dist/adapters/claudePlatformFlags.js.map +1 -0
- package/dist/adapters/createAdapter.d.ts +252 -0
- package/dist/adapters/createAdapter.d.ts.map +1 -0
- package/dist/adapters/createAdapter.js +475 -0
- package/dist/adapters/createAdapter.js.map +1 -0
- package/dist/adapters/openCodeAdapter.d.ts +1446 -0
- package/dist/adapters/openCodeAdapter.d.ts.map +1 -0
- package/dist/adapters/openCodeAdapter.js +4540 -0
- package/dist/adapters/openCodeAdapter.js.map +1 -0
- package/dist/adapters/sessionLaunchDefaults.d.ts +28 -0
- package/dist/adapters/sessionLaunchDefaults.d.ts.map +1 -0
- package/dist/adapters/sessionLaunchDefaults.js +15 -0
- package/dist/adapters/sessionLaunchDefaults.js.map +1 -0
- package/dist/adapters/terminalAdapter.d.ts +68 -0
- package/dist/adapters/terminalAdapter.d.ts.map +1 -0
- package/dist/adapters/terminalAdapter.js +371 -0
- package/dist/adapters/terminalAdapter.js.map +1 -0
- package/dist/agentLogin/agentLogin.d.ts +31 -0
- package/dist/agentLogin/agentLogin.d.ts.map +1 -0
- package/dist/agentLogin/agentLogin.js +493 -0
- package/dist/agentLogin/agentLogin.js.map +1 -0
- package/dist/agentTrigger.d.ts +28 -0
- package/dist/agentTrigger.d.ts.map +1 -0
- package/dist/agentTrigger.js +53 -0
- package/dist/agentTrigger.js.map +1 -0
- package/dist/apiErrorRetry.d.ts +209 -0
- package/dist/apiErrorRetry.d.ts.map +1 -0
- package/dist/apiErrorRetry.js +351 -0
- package/dist/apiErrorRetry.js.map +1 -0
- package/dist/apiRetryKick.d.ts +148 -0
- package/dist/apiRetryKick.d.ts.map +1 -0
- package/dist/apiRetryKick.js +158 -0
- package/dist/apiRetryKick.js.map +1 -0
- package/dist/bootClassifier.d.ts +46 -0
- package/dist/bootClassifier.d.ts.map +1 -0
- package/dist/bootClassifier.js +43 -0
- package/dist/bootClassifier.js.map +1 -0
- package/dist/bot.d.ts +207 -0
- package/dist/bot.d.ts.map +1 -0
- package/dist/bot.js +10611 -0
- package/dist/bot.js.map +1 -0
- package/dist/botFileStorage.d.ts +60 -0
- package/dist/botFileStorage.d.ts.map +1 -0
- package/dist/botFileStorage.js +205 -0
- package/dist/botFileStorage.js.map +1 -0
- package/dist/cli/applyDnsFix.d.ts +7 -0
- package/dist/cli/applyDnsFix.d.ts.map +1 -0
- package/dist/cli/applyDnsFix.js +46 -0
- package/dist/cli/applyDnsFix.js.map +1 -0
- package/dist/cli/bot.d.ts +27 -0
- package/dist/cli/bot.d.ts.map +1 -0
- package/dist/cli/bot.js +98 -0
- package/dist/cli/bot.js.map +1 -0
- package/dist/cli/botEntry.d.ts +3 -0
- package/dist/cli/botEntry.d.ts.map +1 -0
- package/dist/cli/botEntry.js +11 -0
- package/dist/cli/botEntry.js.map +1 -0
- package/dist/cli/connectorGuards.d.ts +31 -0
- package/dist/cli/connectorGuards.d.ts.map +1 -0
- package/dist/cli/connectorGuards.js +159 -0
- package/dist/cli/connectorGuards.js.map +1 -0
- package/dist/cli/envLoader.d.ts +34 -0
- package/dist/cli/envLoader.d.ts.map +1 -0
- package/dist/cli/envLoader.js +132 -0
- package/dist/cli/envLoader.js.map +1 -0
- package/dist/cli/hot.d.ts +82 -0
- package/dist/cli/hot.d.ts.map +1 -0
- package/dist/cli/hot.js +323 -0
- package/dist/cli/hot.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +130 -0
- package/dist/cli.js.map +1 -0
- package/dist/connectors/jira/adf.d.ts +72 -0
- package/dist/connectors/jira/adf.d.ts.map +1 -0
- package/dist/connectors/jira/adf.js +407 -0
- package/dist/connectors/jira/adf.js.map +1 -0
- package/dist/connectors/jira/agentBinaries.d.ts +14 -0
- package/dist/connectors/jira/agentBinaries.d.ts.map +1 -0
- package/dist/connectors/jira/agentBinaries.js +75 -0
- package/dist/connectors/jira/agentBinaries.js.map +1 -0
- package/dist/connectors/jira/answerSink.d.ts +52 -0
- package/dist/connectors/jira/answerSink.d.ts.map +1 -0
- package/dist/connectors/jira/answerSink.js +220 -0
- package/dist/connectors/jira/answerSink.js.map +1 -0
- package/dist/connectors/jira/attachmentDownload.d.ts +41 -0
- package/dist/connectors/jira/attachmentDownload.d.ts.map +1 -0
- package/dist/connectors/jira/attachmentDownload.js +92 -0
- package/dist/connectors/jira/attachmentDownload.js.map +1 -0
- package/dist/connectors/jira/attachmentTool.d.ts +43 -0
- package/dist/connectors/jira/attachmentTool.d.ts.map +1 -0
- package/dist/connectors/jira/attachmentTool.js +150 -0
- package/dist/connectors/jira/attachmentTool.js.map +1 -0
- package/dist/connectors/jira/client.d.ts +490 -0
- package/dist/connectors/jira/client.d.ts.map +1 -0
- package/dist/connectors/jira/client.js +453 -0
- package/dist/connectors/jira/client.js.map +1 -0
- package/dist/connectors/jira/config.d.ts +117 -0
- package/dist/connectors/jira/config.d.ts.map +1 -0
- package/dist/connectors/jira/config.js +350 -0
- package/dist/connectors/jira/config.js.map +1 -0
- package/dist/connectors/jira/configFile.d.ts +10 -0
- package/dist/connectors/jira/configFile.d.ts.map +1 -0
- package/dist/connectors/jira/configFile.js +50 -0
- package/dist/connectors/jira/configFile.js.map +1 -0
- package/dist/connectors/jira/connector.d.ts +68 -0
- package/dist/connectors/jira/connector.d.ts.map +1 -0
- package/dist/connectors/jira/connector.js +257 -0
- package/dist/connectors/jira/connector.js.map +1 -0
- package/dist/connectors/jira/contextLedger.d.ts +59 -0
- package/dist/connectors/jira/contextLedger.d.ts.map +1 -0
- package/dist/connectors/jira/contextLedger.js +194 -0
- package/dist/connectors/jira/contextLedger.js.map +1 -0
- package/dist/connectors/jira/contextPreamble.d.ts +18 -0
- package/dist/connectors/jira/contextPreamble.d.ts.map +1 -0
- package/dist/connectors/jira/contextPreamble.js +31 -0
- package/dist/connectors/jira/contextPreamble.js.map +1 -0
- package/dist/connectors/jira/inbound.d.ts +132 -0
- package/dist/connectors/jira/inbound.d.ts.map +1 -0
- package/dist/connectors/jira/inbound.js +316 -0
- package/dist/connectors/jira/inbound.js.map +1 -0
- package/dist/connectors/jira/issueBlocks.d.ts +51 -0
- package/dist/connectors/jira/issueBlocks.d.ts.map +1 -0
- package/dist/connectors/jira/issueBlocks.js +182 -0
- package/dist/connectors/jira/issueBlocks.js.map +1 -0
- package/dist/connectors/jira/issueContext.d.ts +25 -0
- package/dist/connectors/jira/issueContext.d.ts.map +1 -0
- package/dist/connectors/jira/issueContext.js +53 -0
- package/dist/connectors/jira/issueContext.js.map +1 -0
- package/dist/connectors/jira/issueDelta.d.ts +35 -0
- package/dist/connectors/jira/issueDelta.d.ts.map +1 -0
- package/dist/connectors/jira/issueDelta.js +50 -0
- package/dist/connectors/jira/issueDelta.js.map +1 -0
- package/dist/connectors/jira/mediaPlaceholders.d.ts +20 -0
- package/dist/connectors/jira/mediaPlaceholders.d.ts.map +1 -0
- package/dist/connectors/jira/mediaPlaceholders.js +92 -0
- package/dist/connectors/jira/mediaPlaceholders.js.map +1 -0
- package/dist/connectors/jira/outbound.d.ts +6 -0
- package/dist/connectors/jira/outbound.d.ts.map +1 -0
- package/dist/connectors/jira/outbound.js +38 -0
- package/dist/connectors/jira/outbound.js.map +1 -0
- package/dist/connectors/jira/prompt.d.ts +37 -0
- package/dist/connectors/jira/prompt.d.ts.map +1 -0
- package/dist/connectors/jira/prompt.js +99 -0
- package/dist/connectors/jira/prompt.js.map +1 -0
- package/dist/connectors/jira/promptSpill.d.ts +50 -0
- package/dist/connectors/jira/promptSpill.d.ts.map +1 -0
- package/dist/connectors/jira/promptSpill.js +157 -0
- package/dist/connectors/jira/promptSpill.js.map +1 -0
- package/dist/connectors/jira/promptText.d.ts +7 -0
- package/dist/connectors/jira/promptText.d.ts.map +1 -0
- package/dist/connectors/jira/promptText.js +26 -0
- package/dist/connectors/jira/promptText.js.map +1 -0
- package/dist/connectors/jira/sessionKeyCodec.d.ts +16 -0
- package/dist/connectors/jira/sessionKeyCodec.d.ts.map +1 -0
- package/dist/connectors/jira/sessionKeyCodec.js +101 -0
- package/dist/connectors/jira/sessionKeyCodec.js.map +1 -0
- package/dist/connectors/jira/trigger.d.ts +50 -0
- package/dist/connectors/jira/trigger.d.ts.map +1 -0
- package/dist/connectors/jira/trigger.js +93 -0
- package/dist/connectors/jira/trigger.js.map +1 -0
- package/dist/connectors/jira/triggerLog.d.ts +51 -0
- package/dist/connectors/jira/triggerLog.d.ts.map +1 -0
- package/dist/connectors/jira/triggerLog.js +78 -0
- package/dist/connectors/jira/triggerLog.js.map +1 -0
- package/dist/connectors/jira/unconfirmedPosts.d.ts +58 -0
- package/dist/connectors/jira/unconfirmedPosts.d.ts.map +1 -0
- package/dist/connectors/jira/unconfirmedPosts.js +105 -0
- package/dist/connectors/jira/unconfirmedPosts.js.map +1 -0
- package/dist/connectors/telegram/answerSink.d.ts +46 -0
- package/dist/connectors/telegram/answerSink.d.ts.map +1 -0
- package/dist/connectors/telegram/answerSink.js +71 -0
- package/dist/connectors/telegram/answerSink.js.map +1 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.d.ts +31 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.js +142 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.js.map +1 -0
- package/dist/connectors/telegram/commands/botCore.d.ts +46 -0
- package/dist/connectors/telegram/commands/botCore.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/botCore.js +3 -0
- package/dist/connectors/telegram/commands/botCore.js.map +1 -0
- package/dist/connectors/telegram/commands/callbackMessage.d.ts +12 -0
- package/dist/connectors/telegram/commands/callbackMessage.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/callbackMessage.js +13 -0
- package/dist/connectors/telegram/commands/callbackMessage.js.map +1 -0
- package/dist/connectors/telegram/commands/compaction.d.ts +47 -0
- package/dist/connectors/telegram/commands/compaction.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/compaction.js +868 -0
- package/dist/connectors/telegram/commands/compaction.js.map +1 -0
- package/dist/connectors/telegram/commands/displayModes.d.ts +13 -0
- package/dist/connectors/telegram/commands/displayModes.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/displayModes.js +335 -0
- package/dist/connectors/telegram/commands/displayModes.js.map +1 -0
- package/dist/connectors/telegram/commands/modelProviders.d.ts +95 -0
- package/dist/connectors/telegram/commands/modelProviders.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/modelProviders.js +841 -0
- package/dist/connectors/telegram/commands/modelProviders.js.map +1 -0
- package/dist/connectors/telegram/commands/reminders.d.ts +54 -0
- package/dist/connectors/telegram/commands/reminders.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/reminders.js +624 -0
- package/dist/connectors/telegram/commands/reminders.js.map +1 -0
- package/dist/connectors/telegram/fileIntake.d.ts +166 -0
- package/dist/connectors/telegram/fileIntake.d.ts.map +1 -0
- package/dist/connectors/telegram/fileIntake.js +304 -0
- package/dist/connectors/telegram/fileIntake.js.map +1 -0
- package/dist/connectors/telegram/fileSendGateway.d.ts +57 -0
- package/dist/connectors/telegram/fileSendGateway.d.ts.map +1 -0
- package/dist/connectors/telegram/fileSendGateway.js +221 -0
- package/dist/connectors/telegram/fileSendGateway.js.map +1 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.d.ts +52 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.d.ts.map +1 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.js +71 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.js.map +1 -0
- package/dist/connectors/telegram/inbound.d.ts +131 -0
- package/dist/connectors/telegram/inbound.d.ts.map +1 -0
- package/dist/connectors/telegram/inbound.js +278 -0
- package/dist/connectors/telegram/inbound.js.map +1 -0
- package/dist/connectors/telegram/languagePicker.d.ts +32 -0
- package/dist/connectors/telegram/languagePicker.d.ts.map +1 -0
- package/dist/connectors/telegram/languagePicker.js +55 -0
- package/dist/connectors/telegram/languagePicker.js.map +1 -0
- package/dist/connectors/telegram/messageSplit.d.ts +62 -0
- package/dist/connectors/telegram/messageSplit.d.ts.map +1 -0
- package/dist/connectors/telegram/messageSplit.js +119 -0
- package/dist/connectors/telegram/messageSplit.js.map +1 -0
- package/dist/connectors/telegram/outbound.d.ts +62 -0
- package/dist/connectors/telegram/outbound.d.ts.map +1 -0
- package/dist/connectors/telegram/outbound.js +116 -0
- package/dist/connectors/telegram/outbound.js.map +1 -0
- package/dist/connectors/telegram/output/createOutputTransport.d.ts +34 -0
- package/dist/connectors/telegram/output/createOutputTransport.d.ts.map +1 -0
- package/dist/connectors/telegram/output/createOutputTransport.js +77 -0
- package/dist/connectors/telegram/output/createOutputTransport.js.map +1 -0
- package/dist/connectors/telegram/output/dmOutputTransport.d.ts +47 -0
- package/dist/connectors/telegram/output/dmOutputTransport.d.ts.map +1 -0
- package/dist/connectors/telegram/output/dmOutputTransport.js +412 -0
- package/dist/connectors/telegram/output/dmOutputTransport.js.map +1 -0
- package/dist/connectors/telegram/outputBacklogGlue.d.ts +38 -0
- package/dist/connectors/telegram/outputBacklogGlue.d.ts.map +1 -0
- package/dist/connectors/telegram/outputBacklogGlue.js +49 -0
- package/dist/connectors/telegram/outputBacklogGlue.js.map +1 -0
- package/dist/connectors/telegram/outputFlushPlan.d.ts +93 -0
- package/dist/connectors/telegram/outputFlushPlan.d.ts.map +1 -0
- package/dist/connectors/telegram/outputFlushPlan.js +120 -0
- package/dist/connectors/telegram/outputFlushPlan.js.map +1 -0
- package/dist/connectors/telegram/questionKeyboards.d.ts +30 -0
- package/dist/connectors/telegram/questionKeyboards.d.ts.map +1 -0
- package/dist/connectors/telegram/questionKeyboards.js +37 -0
- package/dist/connectors/telegram/questionKeyboards.js.map +1 -0
- package/dist/connectors/telegram/renderAgentHtml.d.ts +27 -0
- package/dist/connectors/telegram/renderAgentHtml.d.ts.map +1 -0
- package/dist/connectors/telegram/renderAgentHtml.js +97 -0
- package/dist/connectors/telegram/renderAgentHtml.js.map +1 -0
- package/dist/connectors/telegram/sessionKeyCodec.d.ts +28 -0
- package/dist/connectors/telegram/sessionKeyCodec.d.ts.map +1 -0
- package/dist/connectors/telegram/sessionKeyCodec.js +107 -0
- package/dist/connectors/telegram/sessionKeyCodec.js.map +1 -0
- package/dist/connectors/telegram/telegramCallGuard.d.ts +19 -0
- package/dist/connectors/telegram/telegramCallGuard.d.ts.map +1 -0
- package/dist/connectors/telegram/telegramCallGuard.js +35 -0
- package/dist/connectors/telegram/telegramCallGuard.js.map +1 -0
- package/dist/connectors/telegram/timezonePicker.d.ts +85 -0
- package/dist/connectors/telegram/timezonePicker.d.ts.map +1 -0
- package/dist/connectors/telegram/timezonePicker.js +142 -0
- package/dist/connectors/telegram/timezonePicker.js.map +1 -0
- package/dist/connectors/telegram/updateDispatcher.d.ts +85 -0
- package/dist/connectors/telegram/updateDispatcher.d.ts.map +1 -0
- package/dist/connectors/telegram/updateDispatcher.js +159 -0
- package/dist/connectors/telegram/updateDispatcher.js.map +1 -0
- package/dist/connectors/test/connector.d.ts +52 -0
- package/dist/connectors/test/connector.d.ts.map +1 -0
- package/dist/connectors/test/connector.js +143 -0
- package/dist/connectors/test/connector.js.map +1 -0
- package/dist/connectors/test/sessionKeyCodec.d.ts +25 -0
- package/dist/connectors/test/sessionKeyCodec.d.ts.map +1 -0
- package/dist/connectors/test/sessionKeyCodec.js +50 -0
- package/dist/connectors/test/sessionKeyCodec.js.map +1 -0
- package/dist/diagLog.d.ts +6 -0
- package/dist/diagLog.d.ts.map +1 -0
- package/dist/diagLog.js +58 -0
- package/dist/diagLog.js.map +1 -0
- package/dist/effortLevels.d.ts +68 -0
- package/dist/effortLevels.d.ts.map +1 -0
- package/dist/effortLevels.js +114 -0
- package/dist/effortLevels.js.map +1 -0
- package/dist/folderName.d.ts +42 -0
- package/dist/folderName.d.ts.map +1 -0
- package/dist/folderName.js +51 -0
- package/dist/folderName.js.map +1 -0
- package/dist/i18n/de.d.ts +2 -0
- package/dist/i18n/de.d.ts.map +1 -0
- package/dist/i18n/de.js +537 -0
- package/dist/i18n/de.js.map +1 -0
- package/dist/i18n/en.d.ts +7 -0
- package/dist/i18n/en.d.ts.map +1 -0
- package/dist/i18n/en.js +566 -0
- package/dist/i18n/en.js.map +1 -0
- package/dist/i18n/es.d.ts +2 -0
- package/dist/i18n/es.d.ts.map +1 -0
- package/dist/i18n/es.js +537 -0
- package/dist/i18n/es.js.map +1 -0
- package/dist/i18n/fr.d.ts +2 -0
- package/dist/i18n/fr.d.ts.map +1 -0
- package/dist/i18n/fr.js +537 -0
- package/dist/i18n/fr.js.map +1 -0
- package/dist/i18n/hi.d.ts +2 -0
- package/dist/i18n/hi.d.ts.map +1 -0
- package/dist/i18n/hi.js +537 -0
- package/dist/i18n/hi.js.map +1 -0
- package/dist/i18n/ja.d.ts +2 -0
- package/dist/i18n/ja.d.ts.map +1 -0
- package/dist/i18n/ja.js +537 -0
- package/dist/i18n/ja.js.map +1 -0
- package/dist/i18n/ka.d.ts +2 -0
- package/dist/i18n/ka.d.ts.map +1 -0
- package/dist/i18n/ka.js +537 -0
- package/dist/i18n/ka.js.map +1 -0
- package/dist/i18n/pt.d.ts +2 -0
- package/dist/i18n/pt.d.ts.map +1 -0
- package/dist/i18n/pt.js +537 -0
- package/dist/i18n/pt.js.map +1 -0
- package/dist/i18n/ru.d.ts +6 -0
- package/dist/i18n/ru.d.ts.map +1 -0
- package/dist/i18n/ru.js +540 -0
- package/dist/i18n/ru.js.map +1 -0
- package/dist/i18n/uk.d.ts +8 -0
- package/dist/i18n/uk.d.ts.map +1 -0
- package/dist/i18n/uk.js +542 -0
- package/dist/i18n/uk.js.map +1 -0
- package/dist/i18n/uz.d.ts +2 -0
- package/dist/i18n/uz.d.ts.map +1 -0
- package/dist/i18n/uz.js +537 -0
- package/dist/i18n/uz.js.map +1 -0
- package/dist/i18n/zh.d.ts +2 -0
- package/dist/i18n/zh.d.ts.map +1 -0
- package/dist/i18n/zh.js +537 -0
- package/dist/i18n/zh.js.map +1 -0
- package/dist/i18n.d.ts +115 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +233 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/installManager.d.ts +99 -0
- package/dist/installManager.d.ts.map +1 -0
- package/dist/installManager.js +943 -0
- package/dist/installManager.js.map +1 -0
- package/dist/instanceLock.d.ts +161 -0
- package/dist/instanceLock.d.ts.map +1 -0
- package/dist/instanceLock.js +388 -0
- package/dist/instanceLock.js.map +1 -0
- package/dist/mcpConfig.d.ts +76 -0
- package/dist/mcpConfig.d.ts.map +1 -0
- package/dist/mcpConfig.js +270 -0
- package/dist/mcpConfig.js.map +1 -0
- package/dist/openCodeOpenQuestion.d.ts +44 -0
- package/dist/openCodeOpenQuestion.d.ts.map +1 -0
- package/dist/openCodeOpenQuestion.js +64 -0
- package/dist/openCodeOpenQuestion.js.map +1 -0
- package/dist/openCodeQuestionFlow.d.ts +105 -0
- package/dist/openCodeQuestionFlow.d.ts.map +1 -0
- package/dist/openCodeQuestionFlow.js +143 -0
- package/dist/openCodeQuestionFlow.js.map +1 -0
- package/dist/openCodeSessionRouting.d.ts +133 -0
- package/dist/openCodeSessionRouting.d.ts.map +1 -0
- package/dist/openCodeSessionRouting.js +253 -0
- package/dist/openCodeSessionRouting.js.map +1 -0
- package/dist/openCodeSessionTitle.d.ts +50 -0
- package/dist/openCodeSessionTitle.d.ts.map +1 -0
- package/dist/openCodeSessionTitle.js +84 -0
- package/dist/openCodeSessionTitle.js.map +1 -0
- package/dist/outputTrace.d.ts +108 -0
- package/dist/outputTrace.d.ts.map +1 -0
- package/dist/outputTrace.js +430 -0
- package/dist/outputTrace.js.map +1 -0
- package/dist/pendingQuestionRepost.d.ts +47 -0
- package/dist/pendingQuestionRepost.d.ts.map +1 -0
- package/dist/pendingQuestionRepost.js +29 -0
- package/dist/pendingQuestionRepost.js.map +1 -0
- package/dist/pinnedStatus.d.ts +52 -0
- package/dist/pinnedStatus.d.ts.map +1 -0
- package/dist/pinnedStatus.js +36 -0
- package/dist/pinnedStatus.js.map +1 -0
- package/dist/platform/answerSink.d.ts +93 -0
- package/dist/platform/answerSink.d.ts.map +1 -0
- package/dist/platform/answerSink.js +31 -0
- package/dist/platform/answerSink.js.map +1 -0
- package/dist/platform/capabilityFallback.d.ts +39 -0
- package/dist/platform/capabilityFallback.d.ts.map +1 -0
- package/dist/platform/capabilityFallback.js +55 -0
- package/dist/platform/capabilityFallback.js.map +1 -0
- package/dist/platform/commandRouter.d.ts +51 -0
- package/dist/platform/commandRouter.d.ts.map +1 -0
- package/dist/platform/commandRouter.js +53 -0
- package/dist/platform/commandRouter.js.map +1 -0
- package/dist/platform/connectorSet.d.ts +39 -0
- package/dist/platform/connectorSet.d.ts.map +1 -0
- package/dist/platform/connectorSet.js +55 -0
- package/dist/platform/connectorSet.js.map +1 -0
- package/dist/platform/inbound.d.ts +147 -0
- package/dist/platform/inbound.d.ts.map +1 -0
- package/dist/platform/inbound.js +18 -0
- package/dist/platform/inbound.js.map +1 -0
- package/dist/platform/outbound.d.ts +225 -0
- package/dist/platform/outbound.d.ts.map +1 -0
- package/dist/platform/outbound.js +30 -0
- package/dist/platform/outbound.js.map +1 -0
- package/dist/platform/unservedStateGuard.d.ts +27 -0
- package/dist/platform/unservedStateGuard.d.ts.map +1 -0
- package/dist/platform/unservedStateGuard.js +42 -0
- package/dist/platform/unservedStateGuard.js.map +1 -0
- package/dist/postToSession.d.ts +94 -0
- package/dist/postToSession.d.ts.map +1 -0
- package/dist/postToSession.js +56 -0
- package/dist/postToSession.js.map +1 -0
- package/dist/progressLine.d.ts +180 -0
- package/dist/progressLine.d.ts.map +1 -0
- package/dist/progressLine.js +293 -0
- package/dist/progressLine.js.map +1 -0
- package/dist/rateLimiter.d.ts +246 -0
- package/dist/rateLimiter.d.ts.map +1 -0
- package/dist/rateLimiter.js +555 -0
- package/dist/rateLimiter.js.map +1 -0
- package/dist/requests/answerRequest.d.ts +57 -0
- package/dist/requests/answerRequest.d.ts.map +1 -0
- package/dist/requests/answerRequest.js +96 -0
- package/dist/requests/answerRequest.js.map +1 -0
- package/dist/requests/answerTail.d.ts +83 -0
- package/dist/requests/answerTail.d.ts.map +1 -0
- package/dist/requests/answerTail.js +102 -0
- package/dist/requests/answerTail.js.map +1 -0
- package/dist/requests/limitWaitAnswer.d.ts +87 -0
- package/dist/requests/limitWaitAnswer.d.ts.map +1 -0
- package/dist/requests/limitWaitAnswer.js +83 -0
- package/dist/requests/limitWaitAnswer.js.map +1 -0
- package/dist/requests/requestGroup.d.ts +44 -0
- package/dist/requests/requestGroup.d.ts.map +1 -0
- package/dist/requests/requestGroup.js +63 -0
- package/dist/requests/requestGroup.js.map +1 -0
- package/dist/requests/requestHeader.d.ts +70 -0
- package/dist/requests/requestHeader.d.ts.map +1 -0
- package/dist/requests/requestHeader.js +83 -0
- package/dist/requests/requestHeader.js.map +1 -0
- package/dist/requests/requestLedger.d.ts +217 -0
- package/dist/requests/requestLedger.d.ts.map +1 -0
- package/dist/requests/requestLedger.js +468 -0
- package/dist/requests/requestLedger.js.map +1 -0
- package/dist/requests/sessionTurnProbe.d.ts +52 -0
- package/dist/requests/sessionTurnProbe.d.ts.map +1 -0
- package/dist/requests/sessionTurnProbe.js +29 -0
- package/dist/requests/sessionTurnProbe.js.map +1 -0
- package/dist/requests/types.d.ts +181 -0
- package/dist/requests/types.d.ts.map +1 -0
- package/dist/requests/types.js +9 -0
- package/dist/requests/types.js.map +1 -0
- package/dist/requests/wakeUpEngine.d.ts +160 -0
- package/dist/requests/wakeUpEngine.d.ts.map +1 -0
- package/dist/requests/wakeUpEngine.js +399 -0
- package/dist/requests/wakeUpEngine.js.map +1 -0
- package/dist/requests/wakeUpRules.d.ts +151 -0
- package/dist/requests/wakeUpRules.d.ts.map +1 -0
- package/dist/requests/wakeUpRules.js +167 -0
- package/dist/requests/wakeUpRules.js.map +1 -0
- package/dist/resumeContext.d.ts +87 -0
- package/dist/resumeContext.d.ts.map +1 -0
- package/dist/resumeContext.js +114 -0
- package/dist/resumeContext.js.map +1 -0
- package/dist/scheduler/checkRun.d.ts +95 -0
- package/dist/scheduler/checkRun.d.ts.map +1 -0
- package/dist/scheduler/checkRun.js +172 -0
- package/dist/scheduler/checkRun.js.map +1 -0
- package/dist/scheduler/delivery.d.ts +99 -0
- package/dist/scheduler/delivery.d.ts.map +1 -0
- package/dist/scheduler/delivery.js +212 -0
- package/dist/scheduler/delivery.js.map +1 -0
- package/dist/scheduler/deliveryKind.d.ts +29 -0
- package/dist/scheduler/deliveryKind.d.ts.map +1 -0
- package/dist/scheduler/deliveryKind.js +39 -0
- package/dist/scheduler/deliveryKind.js.map +1 -0
- package/dist/scheduler/directoryThreads.d.ts +19 -0
- package/dist/scheduler/directoryThreads.d.ts.map +1 -0
- package/dist/scheduler/directoryThreads.js +28 -0
- package/dist/scheduler/directoryThreads.js.map +1 -0
- package/dist/scheduler/engine.d.ts +77 -0
- package/dist/scheduler/engine.d.ts.map +1 -0
- package/dist/scheduler/engine.js +337 -0
- package/dist/scheduler/engine.js.map +1 -0
- package/dist/scheduler/injection.d.ts +102 -0
- package/dist/scheduler/injection.d.ts.map +1 -0
- package/dist/scheduler/injection.js +122 -0
- package/dist/scheduler/injection.js.map +1 -0
- package/dist/scheduler/mcpBoot.d.ts +65 -0
- package/dist/scheduler/mcpBoot.d.ts.map +1 -0
- package/dist/scheduler/mcpBoot.js +60 -0
- package/dist/scheduler/mcpBoot.js.map +1 -0
- package/dist/scheduler/mcpSurface.d.ts +355 -0
- package/dist/scheduler/mcpSurface.d.ts.map +1 -0
- package/dist/scheduler/mcpSurface.js +1257 -0
- package/dist/scheduler/mcpSurface.js.map +1 -0
- package/dist/scheduler/rebindResume.d.ts +27 -0
- package/dist/scheduler/rebindResume.d.ts.map +1 -0
- package/dist/scheduler/rebindResume.js +17 -0
- package/dist/scheduler/rebindResume.js.map +1 -0
- package/dist/scheduler/recurrence.d.ts +58 -0
- package/dist/scheduler/recurrence.d.ts.map +1 -0
- package/dist/scheduler/recurrence.js +210 -0
- package/dist/scheduler/recurrence.js.map +1 -0
- package/dist/scheduler/runLedger.d.ts +59 -0
- package/dist/scheduler/runLedger.d.ts.map +1 -0
- package/dist/scheduler/runLedger.js +54 -0
- package/dist/scheduler/runLedger.js.map +1 -0
- package/dist/scheduler/store.d.ts +97 -0
- package/dist/scheduler/store.d.ts.map +1 -0
- package/dist/scheduler/store.js +124 -0
- package/dist/scheduler/store.js.map +1 -0
- package/dist/scheduler/timezoneRecompute.d.ts +61 -0
- package/dist/scheduler/timezoneRecompute.d.ts.map +1 -0
- package/dist/scheduler/timezoneRecompute.js +46 -0
- package/dist/scheduler/timezoneRecompute.js.map +1 -0
- package/dist/scheduler/types.d.ts +139 -0
- package/dist/scheduler/types.d.ts.map +1 -0
- package/dist/scheduler/types.js +8 -0
- package/dist/scheduler/types.js.map +1 -0
- package/dist/sendErrorClassifier.d.ts +45 -0
- package/dist/sendErrorClassifier.d.ts.map +1 -0
- package/dist/sendErrorClassifier.js +65 -0
- package/dist/sendErrorClassifier.js.map +1 -0
- package/dist/sessionKey.d.ts +136 -0
- package/dist/sessionKey.d.ts.map +1 -0
- package/dist/sessionKey.js +153 -0
- package/dist/sessionKey.js.map +1 -0
- package/dist/sessionPick.d.ts +42 -0
- package/dist/sessionPick.d.ts.map +1 -0
- package/dist/sessionPick.js +39 -0
- package/dist/sessionPick.js.map +1 -0
- package/dist/shutdown.d.ts +126 -0
- package/dist/shutdown.d.ts.map +1 -0
- package/dist/shutdown.js +164 -0
- package/dist/shutdown.js.map +1 -0
- package/dist/startupPromptBuffer.d.ts +85 -0
- package/dist/startupPromptBuffer.d.ts.map +1 -0
- package/dist/startupPromptBuffer.js +123 -0
- package/dist/startupPromptBuffer.js.map +1 -0
- package/dist/state.d.ts +1245 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +1830 -0
- package/dist/state.js.map +1 -0
- package/dist/threadContextPreamble.d.ts +89 -0
- package/dist/threadContextPreamble.d.ts.map +1 -0
- package/dist/threadContextPreamble.js +102 -0
- package/dist/threadContextPreamble.js.map +1 -0
- package/dist/threadRouting.d.ts +164 -0
- package/dist/threadRouting.d.ts.map +1 -0
- package/dist/threadRouting.js +182 -0
- package/dist/threadRouting.js.map +1 -0
- package/dist/types.d.ts +1015 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/abortableFifo.d.ts +10 -0
- package/dist/utils/abortableFifo.d.ts.map +1 -0
- package/dist/utils/abortableFifo.js +55 -0
- package/dist/utils/abortableFifo.js.map +1 -0
- package/dist/utils/adoptedToolList.d.ts +27 -0
- package/dist/utils/adoptedToolList.d.ts.map +1 -0
- package/dist/utils/adoptedToolList.js +22 -0
- package/dist/utils/adoptedToolList.js.map +1 -0
- package/dist/utils/agentEnvironment.d.ts +42 -0
- package/dist/utils/agentEnvironment.d.ts.map +1 -0
- package/dist/utils/agentEnvironment.js +122 -0
- package/dist/utils/agentEnvironment.js.map +1 -0
- package/dist/utils/ansiClean.d.ts +11 -0
- package/dist/utils/ansiClean.d.ts.map +1 -0
- package/dist/utils/ansiClean.js +139 -0
- package/dist/utils/ansiClean.js.map +1 -0
- package/dist/utils/autoContinueOnLimit.d.ts +49 -0
- package/dist/utils/autoContinueOnLimit.d.ts.map +1 -0
- package/dist/utils/autoContinueOnLimit.js +69 -0
- package/dist/utils/autoContinueOnLimit.js.map +1 -0
- package/dist/utils/canonicalPathContainment.d.ts +7 -0
- package/dist/utils/canonicalPathContainment.d.ts.map +1 -0
- package/dist/utils/canonicalPathContainment.js +48 -0
- package/dist/utils/canonicalPathContainment.js.map +1 -0
- package/dist/utils/claudeAuthLogin.d.ts +71 -0
- package/dist/utils/claudeAuthLogin.d.ts.map +1 -0
- package/dist/utils/claudeAuthLogin.js +93 -0
- package/dist/utils/claudeAuthLogin.js.map +1 -0
- package/dist/utils/claudeChunkClassifier.d.ts +97 -0
- package/dist/utils/claudeChunkClassifier.d.ts.map +1 -0
- package/dist/utils/claudeChunkClassifier.js +254 -0
- package/dist/utils/claudeChunkClassifier.js.map +1 -0
- package/dist/utils/claudeCodeVersion.d.ts +31 -0
- package/dist/utils/claudeCodeVersion.d.ts.map +1 -0
- package/dist/utils/claudeCodeVersion.js +62 -0
- package/dist/utils/claudeCodeVersion.js.map +1 -0
- package/dist/utils/claudeCompactHook.d.ts +64 -0
- package/dist/utils/claudeCompactHook.d.ts.map +1 -0
- package/dist/utils/claudeCompactHook.js +98 -0
- package/dist/utils/claudeCompactHook.js.map +1 -0
- package/dist/utils/claudeLivenessAction.d.ts +208 -0
- package/dist/utils/claudeLivenessAction.d.ts.map +1 -0
- package/dist/utils/claudeLivenessAction.js +135 -0
- package/dist/utils/claudeLivenessAction.js.map +1 -0
- package/dist/utils/claudeMcpHeal.d.ts +92 -0
- package/dist/utils/claudeMcpHeal.d.ts.map +1 -0
- package/dist/utils/claudeMcpHeal.js +91 -0
- package/dist/utils/claudeMcpHeal.js.map +1 -0
- package/dist/utils/claudeRelayRouting.d.ts +86 -0
- package/dist/utils/claudeRelayRouting.d.ts.map +1 -0
- package/dist/utils/claudeRelayRouting.js +159 -0
- package/dist/utils/claudeRelayRouting.js.map +1 -0
- package/dist/utils/claudeRuntimeInfo.d.ts +26 -0
- package/dist/utils/claudeRuntimeInfo.d.ts.map +1 -0
- package/dist/utils/claudeRuntimeInfo.js +151 -0
- package/dist/utils/claudeRuntimeInfo.js.map +1 -0
- package/dist/utils/claudeScrapeShapes.d.ts +256 -0
- package/dist/utils/claudeScrapeShapes.d.ts.map +1 -0
- package/dist/utils/claudeScrapeShapes.js +290 -0
- package/dist/utils/claudeScrapeShapes.js.map +1 -0
- package/dist/utils/claudeSessionTitle.d.ts +27 -0
- package/dist/utils/claudeSessionTitle.d.ts.map +1 -0
- package/dist/utils/claudeSessionTitle.js +90 -0
- package/dist/utils/claudeSessionTitle.js.map +1 -0
- package/dist/utils/claudeStreamJson.d.ts +202 -0
- package/dist/utils/claudeStreamJson.d.ts.map +1 -0
- package/dist/utils/claudeStreamJson.js +351 -0
- package/dist/utils/claudeStreamJson.js.map +1 -0
- package/dist/utils/claudeSubagentTail.d.ts +93 -0
- package/dist/utils/claudeSubagentTail.d.ts.map +1 -0
- package/dist/utils/claudeSubagentTail.js +136 -0
- package/dist/utils/claudeSubagentTail.js.map +1 -0
- package/dist/utils/clearThreadOutputQueues.d.ts +43 -0
- package/dist/utils/clearThreadOutputQueues.d.ts.map +1 -0
- package/dist/utils/clearThreadOutputQueues.js +39 -0
- package/dist/utils/clearThreadOutputQueues.js.map +1 -0
- package/dist/utils/compactCommandRoute.d.ts +45 -0
- package/dist/utils/compactCommandRoute.d.ts.map +1 -0
- package/dist/utils/compactCommandRoute.js +36 -0
- package/dist/utils/compactCommandRoute.js.map +1 -0
- package/dist/utils/compactOnIdle.d.ts +329 -0
- package/dist/utils/compactOnIdle.d.ts.map +1 -0
- package/dist/utils/compactOnIdle.js +379 -0
- package/dist/utils/compactOnIdle.js.map +1 -0
- package/dist/utils/consoleFileTap.d.ts +51 -0
- package/dist/utils/consoleFileTap.d.ts.map +1 -0
- package/dist/utils/consoleFileTap.js +86 -0
- package/dist/utils/consoleFileTap.js.map +1 -0
- package/dist/utils/displayVerbosity.d.ts +44 -0
- package/dist/utils/displayVerbosity.d.ts.map +1 -0
- package/dist/utils/displayVerbosity.js +75 -0
- package/dist/utils/displayVerbosity.js.map +1 -0
- package/dist/utils/download.d.ts +72 -0
- package/dist/utils/download.d.ts.map +1 -0
- package/dist/utils/download.js +216 -0
- package/dist/utils/download.js.map +1 -0
- package/dist/utils/draftFinalize.d.ts +110 -0
- package/dist/utils/draftFinalize.d.ts.map +1 -0
- package/dist/utils/draftFinalize.js +100 -0
- package/dist/utils/draftFinalize.js.map +1 -0
- package/dist/utils/draftId.d.ts +36 -0
- package/dist/utils/draftId.d.ts.map +1 -0
- package/dist/utils/draftId.js +46 -0
- package/dist/utils/draftId.js.map +1 -0
- package/dist/utils/draftPacer.d.ts +72 -0
- package/dist/utils/draftPacer.d.ts.map +1 -0
- package/dist/utils/draftPacer.js +53 -0
- package/dist/utils/draftPacer.js.map +1 -0
- package/dist/utils/effortStartupKeystroke.d.ts +20 -0
- package/dist/utils/effortStartupKeystroke.d.ts.map +1 -0
- package/dist/utils/effortStartupKeystroke.js +28 -0
- package/dist/utils/effortStartupKeystroke.js.map +1 -0
- package/dist/utils/ensureSessionPlan.d.ts +70 -0
- package/dist/utils/ensureSessionPlan.d.ts.map +1 -0
- package/dist/utils/ensureSessionPlan.js +54 -0
- package/dist/utils/ensureSessionPlan.js.map +1 -0
- package/dist/utils/fileSendPlan.d.ts +217 -0
- package/dist/utils/fileSendPlan.d.ts.map +1 -0
- package/dist/utils/fileSendPlan.js +291 -0
- package/dist/utils/fileSendPlan.js.map +1 -0
- package/dist/utils/fileSendService.d.ts +94 -0
- package/dist/utils/fileSendService.d.ts.map +1 -0
- package/dist/utils/fileSendService.js +387 -0
- package/dist/utils/fileSendService.js.map +1 -0
- package/dist/utils/groupFinalizePlan.d.ts +38 -0
- package/dist/utils/groupFinalizePlan.d.ts.map +1 -0
- package/dist/utils/groupFinalizePlan.js +35 -0
- package/dist/utils/groupFinalizePlan.js.map +1 -0
- package/dist/utils/identicalOutputGuard.d.ts +83 -0
- package/dist/utils/identicalOutputGuard.d.ts.map +1 -0
- package/dist/utils/identicalOutputGuard.js +99 -0
- package/dist/utils/identicalOutputGuard.js.map +1 -0
- package/dist/utils/isoTimestamp.d.ts +16 -0
- package/dist/utils/isoTimestamp.d.ts.map +1 -0
- package/dist/utils/isoTimestamp.js +34 -0
- package/dist/utils/isoTimestamp.js.map +1 -0
- package/dist/utils/jsonStreamBusyWatchdog.d.ts +130 -0
- package/dist/utils/jsonStreamBusyWatchdog.d.ts.map +1 -0
- package/dist/utils/jsonStreamBusyWatchdog.js +122 -0
- package/dist/utils/jsonStreamBusyWatchdog.js.map +1 -0
- package/dist/utils/jsonStreamHost.d.ts +227 -0
- package/dist/utils/jsonStreamHost.d.ts.map +1 -0
- package/dist/utils/jsonStreamHost.js +417 -0
- package/dist/utils/jsonStreamHost.js.map +1 -0
- package/dist/utils/keyedTransitionQueue.d.ts +18 -0
- package/dist/utils/keyedTransitionQueue.d.ts.map +1 -0
- package/dist/utils/keyedTransitionQueue.js +34 -0
- package/dist/utils/keyedTransitionQueue.js.map +1 -0
- package/dist/utils/limitEpisodeRecovery.d.ts +92 -0
- package/dist/utils/limitEpisodeRecovery.d.ts.map +1 -0
- package/dist/utils/limitEpisodeRecovery.js +133 -0
- package/dist/utils/limitEpisodeRecovery.js.map +1 -0
- package/dist/utils/limitHeldPromptQueue.d.ts +48 -0
- package/dist/utils/limitHeldPromptQueue.d.ts.map +1 -0
- package/dist/utils/limitHeldPromptQueue.js +59 -0
- package/dist/utils/limitHeldPromptQueue.js.map +1 -0
- package/dist/utils/limitHeldPrompts.d.ts +58 -0
- package/dist/utils/limitHeldPrompts.d.ts.map +1 -0
- package/dist/utils/limitHeldPrompts.js +65 -0
- package/dist/utils/limitHeldPrompts.js.map +1 -0
- package/dist/utils/linkPreviewSuppression.d.ts +18 -0
- package/dist/utils/linkPreviewSuppression.d.ts.map +1 -0
- package/dist/utils/linkPreviewSuppression.js +37 -0
- package/dist/utils/linkPreviewSuppression.js.map +1 -0
- package/dist/utils/localClock.d.ts +15 -0
- package/dist/utils/localClock.d.ts.map +1 -0
- package/dist/utils/localClock.js +29 -0
- package/dist/utils/localClock.js.map +1 -0
- package/dist/utils/markdownTableRender.d.ts +83 -0
- package/dist/utils/markdownTableRender.d.ts.map +1 -0
- package/dist/utils/markdownTableRender.js +298 -0
- package/dist/utils/markdownTableRender.js.map +1 -0
- package/dist/utils/mediaGroupCollector.d.ts +51 -0
- package/dist/utils/mediaGroupCollector.d.ts.map +1 -0
- package/dist/utils/mediaGroupCollector.js +90 -0
- package/dist/utils/mediaGroupCollector.js.map +1 -0
- package/dist/utils/messageSendService.d.ts +136 -0
- package/dist/utils/messageSendService.d.ts.map +1 -0
- package/dist/utils/messageSendService.js +165 -0
- package/dist/utils/messageSendService.js.map +1 -0
- package/dist/utils/minutesOverride.d.ts +7 -0
- package/dist/utils/minutesOverride.d.ts.map +1 -0
- package/dist/utils/minutesOverride.js +16 -0
- package/dist/utils/minutesOverride.js.map +1 -0
- package/dist/utils/modelPickerPlan.d.ts +119 -0
- package/dist/utils/modelPickerPlan.d.ts.map +1 -0
- package/dist/utils/modelPickerPlan.js +171 -0
- package/dist/utils/modelPickerPlan.js.map +1 -0
- package/dist/utils/modelSetReplyDecision.d.ts +67 -0
- package/dist/utils/modelSetReplyDecision.d.ts.map +1 -0
- package/dist/utils/modelSetReplyDecision.js +27 -0
- package/dist/utils/modelSetReplyDecision.js.map +1 -0
- package/dist/utils/openCodeAuthLogin.d.ts +181 -0
- package/dist/utils/openCodeAuthLogin.d.ts.map +1 -0
- package/dist/utils/openCodeAuthLogin.js +393 -0
- package/dist/utils/openCodeAuthLogin.js.map +1 -0
- package/dist/utils/openCodeCompactPlugin.d.ts +81 -0
- package/dist/utils/openCodeCompactPlugin.d.ts.map +1 -0
- package/dist/utils/openCodeCompactPlugin.js +146 -0
- package/dist/utils/openCodeCompactPlugin.js.map +1 -0
- package/dist/utils/openCodeTurnActivity.d.ts +67 -0
- package/dist/utils/openCodeTurnActivity.d.ts.map +1 -0
- package/dist/utils/openCodeTurnActivity.js +27 -0
- package/dist/utils/openCodeTurnActivity.js.map +1 -0
- package/dist/utils/outputDebounce.d.ts +24 -0
- package/dist/utils/outputDebounce.d.ts.map +1 -0
- package/dist/utils/outputDebounce.js +30 -0
- package/dist/utils/outputDebounce.js.map +1 -0
- package/dist/utils/outputFlushTiming.d.ts +54 -0
- package/dist/utils/outputFlushTiming.d.ts.map +1 -0
- package/dist/utils/outputFlushTiming.js +48 -0
- package/dist/utils/outputFlushTiming.js.map +1 -0
- package/dist/utils/paginateList.d.ts +25 -0
- package/dist/utils/paginateList.d.ts.map +1 -0
- package/dist/utils/paginateList.js +32 -0
- package/dist/utils/paginateList.js.map +1 -0
- package/dist/utils/paneDiff.d.ts +55 -0
- package/dist/utils/paneDiff.d.ts.map +1 -0
- package/dist/utils/paneDiff.js +88 -0
- package/dist/utils/paneDiff.js.map +1 -0
- package/dist/utils/paneResizeGuard.d.ts +69 -0
- package/dist/utils/paneResizeGuard.d.ts.map +1 -0
- package/dist/utils/paneResizeGuard.js +91 -0
- package/dist/utils/paneResizeGuard.js.map +1 -0
- package/dist/utils/persistAdapterSessionIds.d.ts +39 -0
- package/dist/utils/persistAdapterSessionIds.d.ts.map +1 -0
- package/dist/utils/persistAdapterSessionIds.js +28 -0
- package/dist/utils/persistAdapterSessionIds.js.map +1 -0
- package/dist/utils/pinnedBannerSkipDecision.d.ts +44 -0
- package/dist/utils/pinnedBannerSkipDecision.d.ts.map +1 -0
- package/dist/utils/pinnedBannerSkipDecision.js +20 -0
- package/dist/utils/pinnedBannerSkipDecision.js.map +1 -0
- package/dist/utils/pollBackoff.d.ts +45 -0
- package/dist/utils/pollBackoff.d.ts.map +1 -0
- package/dist/utils/pollBackoff.js +44 -0
- package/dist/utils/pollBackoff.js.map +1 -0
- package/dist/utils/promptDelivery.d.ts +46 -0
- package/dist/utils/promptDelivery.d.ts.map +1 -0
- package/dist/utils/promptDelivery.js +49 -0
- package/dist/utils/promptDelivery.js.map +1 -0
- package/dist/utils/providerDisconnectPlan.d.ts +82 -0
- package/dist/utils/providerDisconnectPlan.d.ts.map +1 -0
- package/dist/utils/providerDisconnectPlan.js +110 -0
- package/dist/utils/providerDisconnectPlan.js.map +1 -0
- package/dist/utils/rateLimitLog.d.ts +48 -0
- package/dist/utils/rateLimitLog.d.ts.map +1 -0
- package/dist/utils/rateLimitLog.js +43 -0
- package/dist/utils/rateLimitLog.js.map +1 -0
- package/dist/utils/recentRelayWindow.d.ts +165 -0
- package/dist/utils/recentRelayWindow.d.ts.map +1 -0
- package/dist/utils/recentRelayWindow.js +284 -0
- package/dist/utils/recentRelayWindow.js.map +1 -0
- package/dist/utils/recvPreviewRedaction.d.ts +23 -0
- package/dist/utils/recvPreviewRedaction.d.ts.map +1 -0
- package/dist/utils/recvPreviewRedaction.js +39 -0
- package/dist/utils/recvPreviewRedaction.js.map +1 -0
- package/dist/utils/reminderFlow.d.ts +148 -0
- package/dist/utils/reminderFlow.d.ts.map +1 -0
- package/dist/utils/reminderFlow.js +122 -0
- package/dist/utils/reminderFlow.js.map +1 -0
- package/dist/utils/reminderScheduleText.d.ts +87 -0
- package/dist/utils/reminderScheduleText.d.ts.map +1 -0
- package/dist/utils/reminderScheduleText.js +135 -0
- package/dist/utils/reminderScheduleText.js.map +1 -0
- package/dist/utils/reminderWizard.d.ts +710 -0
- package/dist/utils/reminderWizard.d.ts.map +1 -0
- package/dist/utils/reminderWizard.js +1164 -0
- package/dist/utils/reminderWizard.js.map +1 -0
- package/dist/utils/replyQuote.d.ts +111 -0
- package/dist/utils/replyQuote.d.ts.map +1 -0
- package/dist/utils/replyQuote.js +122 -0
- package/dist/utils/replyQuote.js.map +1 -0
- package/dist/utils/resolveBinary.d.ts +25 -0
- package/dist/utils/resolveBinary.d.ts.map +1 -0
- package/dist/utils/resolveBinary.js +99 -0
- package/dist/utils/resolveBinary.js.map +1 -0
- package/dist/utils/retryAfterHeader.d.ts +7 -0
- package/dist/utils/retryAfterHeader.d.ts.map +1 -0
- package/dist/utils/retryAfterHeader.js +17 -0
- package/dist/utils/retryAfterHeader.js.map +1 -0
- package/dist/utils/rotatingJsonlFile.d.ts +40 -0
- package/dist/utils/rotatingJsonlFile.d.ts.map +1 -0
- package/dist/utils/rotatingJsonlFile.js +106 -0
- package/dist/utils/rotatingJsonlFile.js.map +1 -0
- package/dist/utils/rotatingLogFile.d.ts +25 -0
- package/dist/utils/rotatingLogFile.d.ts.map +1 -0
- package/dist/utils/rotatingLogFile.js +74 -0
- package/dist/utils/rotatingLogFile.js.map +1 -0
- package/dist/utils/sendRateTracker.d.ts +59 -0
- package/dist/utils/sendRateTracker.d.ts.map +1 -0
- package/dist/utils/sendRateTracker.js +144 -0
- package/dist/utils/sendRateTracker.js.map +1 -0
- package/dist/utils/serialQueue.d.ts +5 -0
- package/dist/utils/serialQueue.d.ts.map +1 -0
- package/dist/utils/serialQueue.js +14 -0
- package/dist/utils/serialQueue.js.map +1 -0
- package/dist/utils/sseStreamLifecycle.d.ts +32 -0
- package/dist/utils/sseStreamLifecycle.d.ts.map +1 -0
- package/dist/utils/sseStreamLifecycle.js +41 -0
- package/dist/utils/sseStreamLifecycle.js.map +1 -0
- package/dist/utils/startupReadiness.d.ts +119 -0
- package/dist/utils/startupReadiness.d.ts.map +1 -0
- package/dist/utils/startupReadiness.js +148 -0
- package/dist/utils/startupReadiness.js.map +1 -0
- package/dist/utils/statusFlushDecision.d.ts +18 -0
- package/dist/utils/statusFlushDecision.d.ts.map +1 -0
- package/dist/utils/statusFlushDecision.js +53 -0
- package/dist/utils/statusFlushDecision.js.map +1 -0
- package/dist/utils/subagentRender.d.ts +52 -0
- package/dist/utils/subagentRender.d.ts.map +1 -0
- package/dist/utils/subagentRender.js +66 -0
- package/dist/utils/subagentRender.js.map +1 -0
- package/dist/utils/subagentStatusRender.d.ts +90 -0
- package/dist/utils/subagentStatusRender.d.ts.map +1 -0
- package/dist/utils/subagentStatusRender.js +124 -0
- package/dist/utils/subagentStatusRender.js.map +1 -0
- package/dist/utils/telegramError.d.ts +2 -0
- package/dist/utils/telegramError.d.ts.map +1 -0
- package/dist/utils/telegramError.js +16 -0
- package/dist/utils/telegramError.js.map +1 -0
- package/dist/utils/terminalEmitPlan.d.ts +74 -0
- package/dist/utils/terminalEmitPlan.d.ts.map +1 -0
- package/dist/utils/terminalEmitPlan.js +86 -0
- package/dist/utils/terminalEmitPlan.js.map +1 -0
- package/dist/utils/thinkingRender.d.ts +74 -0
- package/dist/utils/thinkingRender.d.ts.map +1 -0
- package/dist/utils/thinkingRender.js +85 -0
- package/dist/utils/thinkingRender.js.map +1 -0
- package/dist/utils/threadStatusReport.d.ts +55 -0
- package/dist/utils/threadStatusReport.d.ts.map +1 -0
- package/dist/utils/threadStatusReport.js +65 -0
- package/dist/utils/threadStatusReport.js.map +1 -0
- package/dist/utils/threadToggle.d.ts +29 -0
- package/dist/utils/threadToggle.d.ts.map +1 -0
- package/dist/utils/threadToggle.js +39 -0
- package/dist/utils/threadToggle.js.map +1 -0
- package/dist/utils/timezone.d.ts +125 -0
- package/dist/utils/timezone.d.ts.map +1 -0
- package/dist/utils/timezone.js +278 -0
- package/dist/utils/timezone.js.map +1 -0
- package/dist/utils/tmuxExec.d.ts +61 -0
- package/dist/utils/tmuxExec.d.ts.map +1 -0
- package/dist/utils/tmuxExec.js +109 -0
- package/dist/utils/tmuxExec.js.map +1 -0
- package/dist/utils/tmuxSessionName.d.ts +34 -0
- package/dist/utils/tmuxSessionName.d.ts.map +1 -0
- package/dist/utils/tmuxSessionName.js +51 -0
- package/dist/utils/tmuxSessionName.js.map +1 -0
- package/dist/utils/toolResultRender.d.ts +61 -0
- package/dist/utils/toolResultRender.d.ts.map +1 -0
- package/dist/utils/toolResultRender.js +62 -0
- package/dist/utils/toolResultRender.js.map +1 -0
- package/dist/utils/topicRequest.d.ts +61 -0
- package/dist/utils/topicRequest.d.ts.map +1 -0
- package/dist/utils/topicRequest.js +68 -0
- package/dist/utils/topicRequest.js.map +1 -0
- package/dist/utils/topicView.d.ts +55 -0
- package/dist/utils/topicView.d.ts.map +1 -0
- package/dist/utils/topicView.js +56 -0
- package/dist/utils/topicView.js.map +1 -0
- package/dist/utils/transcribeAudio.d.ts +89 -0
- package/dist/utils/transcribeAudio.d.ts.map +1 -0
- package/dist/utils/transcribeAudio.js +249 -0
- package/dist/utils/transcribeAudio.js.map +1 -0
- package/dist/utils/transientFrames.d.ts +52 -0
- package/dist/utils/transientFrames.d.ts.map +1 -0
- package/dist/utils/transientFrames.js +41 -0
- package/dist/utils/transientFrames.js.map +1 -0
- package/dist/utils/typingActive.d.ts +35 -0
- package/dist/utils/typingActive.d.ts.map +1 -0
- package/dist/utils/typingActive.js +22 -0
- package/dist/utils/typingActive.js.map +1 -0
- package/dist/utils/typingLoopBackstop.d.ts +64 -0
- package/dist/utils/typingLoopBackstop.d.ts.map +1 -0
- package/dist/utils/typingLoopBackstop.js +68 -0
- package/dist/utils/typingLoopBackstop.js.map +1 -0
- package/dist/utils/verbosityRender.d.ts +18 -0
- package/dist/utils/verbosityRender.d.ts.map +1 -0
- package/dist/utils/verbosityRender.js +17 -0
- package/dist/utils/verbosityRender.js.map +1 -0
- package/dist/utils/wedgeRecovery.d.ts +57 -0
- package/dist/utils/wedgeRecovery.d.ts.map +1 -0
- package/dist/utils/wedgeRecovery.js +24 -0
- package/dist/utils/wedgeRecovery.js.map +1 -0
- package/dist/utils.d.ts +30 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +61 -0
- package/dist/utils.js.map +1 -0
- package/dist/validation.d.ts +113 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +226 -0
- package/dist/validation.js.map +1 -0
- package/dist/voiceQueue.d.ts +7 -0
- package/dist/voiceQueue.d.ts.map +1 -0
- package/dist/voiceQueue.js +33 -0
- package/dist/voiceQueue.js.map +1 -0
- package/examples/.env.example +17 -0
- package/examples/docker-compose.yml +36 -0
- package/package.json +83 -4
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Pure decision layer behind `/disconnect`: what did deleting a
|
|
3
|
+
* provider's stored credentials actually achieve?
|
|
4
|
+
*
|
|
5
|
+
* `DELETE /auth/:id` only removes what OpenCode keeps in its own auth store. A
|
|
6
|
+
* provider it enables from an ENVIRONMENT VARIABLE (`openrouter` ←
|
|
7
|
+
* `OPENROUTER_API_KEY`) stays fully active afterwards — reporting "disconnected"
|
|
8
|
+
* there would be a lie, and it is exactly the case that motivated the
|
|
9
|
+
* bot-side "hide provider" toggle in `/model`. So the adapter re-reads the live
|
|
10
|
+
* provider config after the delete and asks this helper what to tell the user.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* @name ProviderDisconnectOutcome
|
|
14
|
+
* @description
|
|
15
|
+
* - `removed` — the provider is gone from the live catalog: a clean disconnect.
|
|
16
|
+
* - `stillActiveViaEnv` — credentials were removed but the provider is still
|
|
17
|
+
* listed, i.e. it comes from an environment variable the bot cannot unset.
|
|
18
|
+
*/
|
|
19
|
+
export type ProviderDisconnectOutcome = 'removed' | 'stillActiveViaEnv';
|
|
20
|
+
/** Anchored matcher for `bot.action(...)`, kept beside the builder so the wire
|
|
21
|
+
* format has one definition. */
|
|
22
|
+
export declare const disconnectProviderCallbackRe: RegExp;
|
|
23
|
+
/**
|
|
24
|
+
* @description Callback id for one row of the bare-`/disconnect` provider
|
|
25
|
+
* picker. Index-based like `connm_<idx>` / `resume_<idx>`: Telegram caps
|
|
26
|
+
* `callback_data` at 64 bytes, so the tapped entry is resolved against the
|
|
27
|
+
* per-thread snapshot the picker stored rather than carried by name.
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildDisconnectProviderCallback(providerIndex: number): string;
|
|
30
|
+
export declare function parseDisconnectProviderCallback(callbackData: string): number | null;
|
|
31
|
+
/**
|
|
32
|
+
* @description How many picker snapshots the bot keeps before evicting the
|
|
33
|
+
* oldest. Each is a handful of short provider ids, and an operator realistically
|
|
34
|
+
* opens a couple of pickers — the cap only exists so a long-lived process can
|
|
35
|
+
* never accumulate them without bound.
|
|
36
|
+
*/
|
|
37
|
+
export declare const disconnectPickerSnapshotLimit = 50;
|
|
38
|
+
/**
|
|
39
|
+
* @description Snapshot key for ONE picker message.
|
|
40
|
+
*
|
|
41
|
+
* Keying by thread alone is a destructive bug: a second `/disconnect`
|
|
42
|
+
* overwrites the thread's snapshot while the FIRST picker's buttons stay
|
|
43
|
+
* tappable forever, so tapping "openai" (index 1) on the old message resolves
|
|
44
|
+
* index 1 against the NEW list and deletes a different provider's credentials.
|
|
45
|
+
* The message id makes each keyboard resolve only against the list it was
|
|
46
|
+
* rendered from.
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildDisconnectPickerKey(threadKeyString: string, messageId: number): string;
|
|
49
|
+
/**
|
|
50
|
+
* @description Every snapshot key belonging to `threadKeyString` — the thread
|
|
51
|
+
* teardown sweep, which must drop ALL of a thread's picker snapshots, not just
|
|
52
|
+
* one.
|
|
53
|
+
*
|
|
54
|
+
* The trailing-digits check is load-bearing: a bare `startsWith` on the thread
|
|
55
|
+
* key would make thread `-100:1` claim thread `-100:12`'s snapshots
|
|
56
|
+
* (`"-100:12:5".startsWith("-100:1")` is true), wiping a live sibling topic's
|
|
57
|
+
* picker.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getDisconnectPickerKeysForThread(pickerKeys: Iterable<string>, threadKeyString: string): string[];
|
|
60
|
+
/**
|
|
61
|
+
* @description Keys to evict so the snapshot store stays bounded — the oldest
|
|
62
|
+
* first (`Map` preserves insertion order), keeping at most `limit` entries.
|
|
63
|
+
*/
|
|
64
|
+
export declare function getEvictedDisconnectPickerKeys(pickerKeys: Iterable<string>, limit?: number): string[];
|
|
65
|
+
/**
|
|
66
|
+
* @description Resolve a tapped `dscp_<idx>` button against the snapshot of the
|
|
67
|
+
* message it sits on.
|
|
68
|
+
*
|
|
69
|
+
* Returns `null` — never another message's provider — when the tap carries no
|
|
70
|
+
* message id, when that message's snapshot is gone (an old picker after a
|
|
71
|
+
* restart or an eviction), or when the index is out of range. The caller turns
|
|
72
|
+
* `null` into the "this menu expired" toast.
|
|
73
|
+
*/
|
|
74
|
+
export declare function getDisconnectPickerProviderAt(snapshots: ReadonlyMap<string, readonly string[]>, threadKeyString: string, messageId: number | null, index: number): string | null;
|
|
75
|
+
/**
|
|
76
|
+
* @description Classify a finished disconnect from the provider ids still
|
|
77
|
+
* active after the delete. Comparison is trim+lowercase so a differently-cased
|
|
78
|
+
* catalog entry is never mistaken for a removed provider (which would report a
|
|
79
|
+
* clean disconnect for a provider that is still serving models).
|
|
80
|
+
*/
|
|
81
|
+
export declare function getProviderDisconnectOutcome(providerId: string, activeProviderIdsAfterDelete: readonly string[]): ProviderDisconnectOutcome;
|
|
82
|
+
//# sourceMappingURL=providerDisconnectPlan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerDisconnectPlan.d.ts","sourceRoot":"","sources":["../../src/utils/providerDisconnectPlan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,mBAAmB,CAAC;AAIxE;iCACiC;AACjC,eAAO,MAAM,4BAA4B,QAAiB,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGnF;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE3F;AAED;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC5B,eAAe,EAAE,MAAM,GACtB,MAAM,EAAE,CAKV;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC5B,KAAK,GAAE,MAAsC,GAC5C,MAAM,EAAE,CAGV;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,EACjD,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CAIf;AAMD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,4BAA4B,EAAE,SAAS,MAAM,EAAE,GAC9C,yBAAyB,CAM3B"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Pure decision layer behind `/disconnect`: what did deleting a
|
|
4
|
+
* provider's stored credentials actually achieve?
|
|
5
|
+
*
|
|
6
|
+
* `DELETE /auth/:id` only removes what OpenCode keeps in its own auth store. A
|
|
7
|
+
* provider it enables from an ENVIRONMENT VARIABLE (`openrouter` ←
|
|
8
|
+
* `OPENROUTER_API_KEY`) stays fully active afterwards — reporting "disconnected"
|
|
9
|
+
* there would be a lie, and it is exactly the case that motivated the
|
|
10
|
+
* bot-side "hide provider" toggle in `/model`. So the adapter re-reads the live
|
|
11
|
+
* provider config after the delete and asks this helper what to tell the user.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.disconnectPickerSnapshotLimit = exports.disconnectProviderCallbackRe = void 0;
|
|
15
|
+
exports.buildDisconnectProviderCallback = buildDisconnectProviderCallback;
|
|
16
|
+
exports.parseDisconnectProviderCallback = parseDisconnectProviderCallback;
|
|
17
|
+
exports.buildDisconnectPickerKey = buildDisconnectPickerKey;
|
|
18
|
+
exports.getDisconnectPickerKeysForThread = getDisconnectPickerKeysForThread;
|
|
19
|
+
exports.getEvictedDisconnectPickerKeys = getEvictedDisconnectPickerKeys;
|
|
20
|
+
exports.getDisconnectPickerProviderAt = getDisconnectPickerProviderAt;
|
|
21
|
+
exports.getProviderDisconnectOutcome = getProviderDisconnectOutcome;
|
|
22
|
+
const disconnectProviderCallbackPrefix = 'dscp_';
|
|
23
|
+
/** Anchored matcher for `bot.action(...)`, kept beside the builder so the wire
|
|
24
|
+
* format has one definition. */
|
|
25
|
+
exports.disconnectProviderCallbackRe = /^dscp_(\d+)$/;
|
|
26
|
+
/**
|
|
27
|
+
* @description Callback id for one row of the bare-`/disconnect` provider
|
|
28
|
+
* picker. Index-based like `connm_<idx>` / `resume_<idx>`: Telegram caps
|
|
29
|
+
* `callback_data` at 64 bytes, so the tapped entry is resolved against the
|
|
30
|
+
* per-thread snapshot the picker stored rather than carried by name.
|
|
31
|
+
*/
|
|
32
|
+
function buildDisconnectProviderCallback(providerIndex) {
|
|
33
|
+
return `${disconnectProviderCallbackPrefix}${providerIndex}`;
|
|
34
|
+
}
|
|
35
|
+
function parseDisconnectProviderCallback(callbackData) {
|
|
36
|
+
const match = exports.disconnectProviderCallbackRe.exec(callbackData);
|
|
37
|
+
return match ? Number(match[1]) : null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @description How many picker snapshots the bot keeps before evicting the
|
|
41
|
+
* oldest. Each is a handful of short provider ids, and an operator realistically
|
|
42
|
+
* opens a couple of pickers — the cap only exists so a long-lived process can
|
|
43
|
+
* never accumulate them without bound.
|
|
44
|
+
*/
|
|
45
|
+
exports.disconnectPickerSnapshotLimit = 50;
|
|
46
|
+
/**
|
|
47
|
+
* @description Snapshot key for ONE picker message.
|
|
48
|
+
*
|
|
49
|
+
* Keying by thread alone is a destructive bug: a second `/disconnect`
|
|
50
|
+
* overwrites the thread's snapshot while the FIRST picker's buttons stay
|
|
51
|
+
* tappable forever, so tapping "openai" (index 1) on the old message resolves
|
|
52
|
+
* index 1 against the NEW list and deletes a different provider's credentials.
|
|
53
|
+
* The message id makes each keyboard resolve only against the list it was
|
|
54
|
+
* rendered from.
|
|
55
|
+
*/
|
|
56
|
+
function buildDisconnectPickerKey(threadKeyString, messageId) {
|
|
57
|
+
return `${threadKeyString}:${messageId}`;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @description Every snapshot key belonging to `threadKeyString` — the thread
|
|
61
|
+
* teardown sweep, which must drop ALL of a thread's picker snapshots, not just
|
|
62
|
+
* one.
|
|
63
|
+
*
|
|
64
|
+
* The trailing-digits check is load-bearing: a bare `startsWith` on the thread
|
|
65
|
+
* key would make thread `-100:1` claim thread `-100:12`'s snapshots
|
|
66
|
+
* (`"-100:12:5".startsWith("-100:1")` is true), wiping a live sibling topic's
|
|
67
|
+
* picker.
|
|
68
|
+
*/
|
|
69
|
+
function getDisconnectPickerKeysForThread(pickerKeys, threadKeyString) {
|
|
70
|
+
const prefix = `${threadKeyString}:`;
|
|
71
|
+
return [...pickerKeys].filter((pickerKey) => pickerKey.startsWith(prefix) && /^\d+$/.test(pickerKey.slice(prefix.length)));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @description Keys to evict so the snapshot store stays bounded — the oldest
|
|
75
|
+
* first (`Map` preserves insertion order), keeping at most `limit` entries.
|
|
76
|
+
*/
|
|
77
|
+
function getEvictedDisconnectPickerKeys(pickerKeys, limit = exports.disconnectPickerSnapshotLimit) {
|
|
78
|
+
const keys = [...pickerKeys];
|
|
79
|
+
return keys.length <= limit ? [] : keys.slice(0, keys.length - limit);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @description Resolve a tapped `dscp_<idx>` button against the snapshot of the
|
|
83
|
+
* message it sits on.
|
|
84
|
+
*
|
|
85
|
+
* Returns `null` — never another message's provider — when the tap carries no
|
|
86
|
+
* message id, when that message's snapshot is gone (an old picker after a
|
|
87
|
+
* restart or an eviction), or when the index is out of range. The caller turns
|
|
88
|
+
* `null` into the "this menu expired" toast.
|
|
89
|
+
*/
|
|
90
|
+
function getDisconnectPickerProviderAt(snapshots, threadKeyString, messageId, index) {
|
|
91
|
+
if (messageId === null || !Number.isInteger(index) || index < 0)
|
|
92
|
+
return null;
|
|
93
|
+
const providers = snapshots.get(buildDisconnectPickerKey(threadKeyString, messageId));
|
|
94
|
+
return providers?.[index] ?? null;
|
|
95
|
+
}
|
|
96
|
+
function normalizeProviderId(providerId) {
|
|
97
|
+
return providerId.trim().toLowerCase();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @description Classify a finished disconnect from the provider ids still
|
|
101
|
+
* active after the delete. Comparison is trim+lowercase so a differently-cased
|
|
102
|
+
* catalog entry is never mistaken for a removed provider (which would report a
|
|
103
|
+
* clean disconnect for a provider that is still serving models).
|
|
104
|
+
*/
|
|
105
|
+
function getProviderDisconnectOutcome(providerId, activeProviderIdsAfterDelete) {
|
|
106
|
+
const target = normalizeProviderId(providerId);
|
|
107
|
+
const isStillActive = activeProviderIdsAfterDelete.some((activeProviderId) => normalizeProviderId(activeProviderId) === target);
|
|
108
|
+
return isStillActive ? 'stillActiveViaEnv' : 'removed';
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=providerDisconnectPlan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerDisconnectPlan.js","sourceRoot":"","sources":["../../src/utils/providerDisconnectPlan.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAuBH,0EAEC;AAED,0EAGC;AAoBD,4DAEC;AAYD,4EAQC;AAMD,wEAMC;AAWD,sEASC;AAYD,oEASC;AAlHD,MAAM,gCAAgC,GAAG,OAAO,CAAC;AAEjD;iCACiC;AACpB,QAAA,4BAA4B,GAAG,cAAc,CAAC;AAE3D;;;;;GAKG;AACH,SAAgB,+BAA+B,CAAC,aAAqB;IACnE,OAAO,GAAG,gCAAgC,GAAG,aAAa,EAAE,CAAC;AAC/D,CAAC;AAED,SAAgB,+BAA+B,CAAC,YAAoB;IAClE,MAAM,KAAK,GAAG,oCAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACU,QAAA,6BAA6B,GAAG,EAAE,CAAC;AAEhD;;;;;;;;;GASG;AACH,SAAgB,wBAAwB,CAAC,eAAuB,EAAE,SAAiB;IACjF,OAAO,GAAG,eAAe,IAAI,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,gCAAgC,CAC9C,UAA4B,EAC5B,eAAuB;IAEvB,MAAM,MAAM,GAAG,GAAG,eAAe,GAAG,CAAC;IACrC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAC3B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC5F,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,8BAA8B,CAC5C,UAA4B,EAC5B,QAAgB,qCAA6B;IAE7C,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,6BAA6B,CAC3C,SAAiD,EACjD,eAAuB,EACvB,SAAwB,EACxB,KAAa;IAEb,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;IACtF,OAAO,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,4BAA4B,CAC1C,UAAkB,EAClB,4BAA+C;IAE/C,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CACrD,CAAC,gBAAgB,EAAE,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,KAAK,MAAM,CACvE,CAAC;IACF,OAAO,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Pure formatters for the always-on rate-limit instrumentation
|
|
3
|
+
* (plan 2026-06-24-rate-limit-429-metrics). Kept pure + separate from
|
|
4
|
+
* `rateLimiter.ts`'s module state so they're trivially unit-testable: given the
|
|
5
|
+
* measured rate + queue context, return the exact log string.
|
|
6
|
+
*
|
|
7
|
+
* Both lines stay greppable in the bot-console log:
|
|
8
|
+
* - `[RateLimit] 429` — every 429 the bot receives, with rich context;
|
|
9
|
+
* - `[RateLimit] rate` — the periodic per-chat outbound-rate summary.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* @description Snapshot of the outbound channel at the instant a 429 was
|
|
13
|
+
* received, gathered from the send-rate tracker (rate) and the global send
|
|
14
|
+
* pacer (how many sends were parked behind the gate).
|
|
15
|
+
*/
|
|
16
|
+
export interface RateLimit429Context {
|
|
17
|
+
chatId: number;
|
|
18
|
+
/** Telegram's `retry_after` for this 429, in seconds (already parsed). */
|
|
19
|
+
retryAfterSec: number;
|
|
20
|
+
/** Sends issued for this chat in the last 60s at the moment of the 429. */
|
|
21
|
+
sentPerMin: number;
|
|
22
|
+
/** Busiest short-burst count (sends in any 10s sub-window) in that minute. */
|
|
23
|
+
peak10s: number;
|
|
24
|
+
/** Sends currently parked on the global send pacer (FCFS, no priority). */
|
|
25
|
+
queuedSends: number;
|
|
26
|
+
/** Whether this was the SECOND consecutive 429 (after the single retry). */
|
|
27
|
+
isAfterRetry: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @description Build the rich, greppable 429 log line. Example:
|
|
31
|
+
*
|
|
32
|
+
* [RateLimit] 429 chat=-100123 retryAfter=5s sent/min=38 peak10s=12 queue=7 after_retry=yes
|
|
33
|
+
*
|
|
34
|
+
* Every field is load-bearing for tuning the send pacing later: the measured
|
|
35
|
+
* send-rate (how hard we were pushing), the peak burst (spikes the average
|
|
36
|
+
* hides), and the global queue depth (how much was backed up behind the gate).
|
|
37
|
+
*/
|
|
38
|
+
export declare function formatRateLimit429Line(context: RateLimit429Context): string;
|
|
39
|
+
/**
|
|
40
|
+
* @description Build the periodic per-chat outbound-rate summary line. Example:
|
|
41
|
+
*
|
|
42
|
+
* [RateLimit] rate chat=-100123 sent/min=22 peak10s=8
|
|
43
|
+
*
|
|
44
|
+
* Logged only for chats with recent activity so we can see how close normal
|
|
45
|
+
* operation runs to the per-chat ceiling WITHOUT needing a 429 to occur.
|
|
46
|
+
*/
|
|
47
|
+
export declare function formatRateSummaryLine(chatId: number, sentPerMin: number, peak10s: number): string;
|
|
48
|
+
//# sourceMappingURL=rateLimitLog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimitLog.d.ts","sourceRoot":"","sources":["../../src/utils/rateLimitLog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAS3E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjG"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Pure formatters for the always-on rate-limit instrumentation
|
|
4
|
+
* (plan 2026-06-24-rate-limit-429-metrics). Kept pure + separate from
|
|
5
|
+
* `rateLimiter.ts`'s module state so they're trivially unit-testable: given the
|
|
6
|
+
* measured rate + queue context, return the exact log string.
|
|
7
|
+
*
|
|
8
|
+
* Both lines stay greppable in the bot-console log:
|
|
9
|
+
* - `[RateLimit] 429` — every 429 the bot receives, with rich context;
|
|
10
|
+
* - `[RateLimit] rate` — the periodic per-chat outbound-rate summary.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.formatRateLimit429Line = formatRateLimit429Line;
|
|
14
|
+
exports.formatRateSummaryLine = formatRateSummaryLine;
|
|
15
|
+
/**
|
|
16
|
+
* @description Build the rich, greppable 429 log line. Example:
|
|
17
|
+
*
|
|
18
|
+
* [RateLimit] 429 chat=-100123 retryAfter=5s sent/min=38 peak10s=12 queue=7 after_retry=yes
|
|
19
|
+
*
|
|
20
|
+
* Every field is load-bearing for tuning the send pacing later: the measured
|
|
21
|
+
* send-rate (how hard we were pushing), the peak burst (spikes the average
|
|
22
|
+
* hides), and the global queue depth (how much was backed up behind the gate).
|
|
23
|
+
*/
|
|
24
|
+
function formatRateLimit429Line(context) {
|
|
25
|
+
return (`[RateLimit] 429 chat=${context.chatId} ` +
|
|
26
|
+
`retryAfter=${context.retryAfterSec}s ` +
|
|
27
|
+
`sent/min=${context.sentPerMin} ` +
|
|
28
|
+
`peak10s=${context.peak10s} ` +
|
|
29
|
+
`queue=${context.queuedSends} ` +
|
|
30
|
+
`after_retry=${context.isAfterRetry ? 'yes' : 'no'}`);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @description Build the periodic per-chat outbound-rate summary line. Example:
|
|
34
|
+
*
|
|
35
|
+
* [RateLimit] rate chat=-100123 sent/min=22 peak10s=8
|
|
36
|
+
*
|
|
37
|
+
* Logged only for chats with recent activity so we can see how close normal
|
|
38
|
+
* operation runs to the per-chat ceiling WITHOUT needing a 429 to occur.
|
|
39
|
+
*/
|
|
40
|
+
function formatRateSummaryLine(chatId, sentPerMin, peak10s) {
|
|
41
|
+
return `[RateLimit] rate chat=${chatId} sent/min=${sentPerMin} peak10s=${peak10s}`;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=rateLimitLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimitLog.js","sourceRoot":"","sources":["../../src/utils/rateLimitLog.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AA8BH,wDASC;AAUD,sDAEC;AA9BD;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAC,OAA4B;IACjE,OAAO,CACL,wBAAwB,OAAO,CAAC,MAAM,GAAG;QACzC,cAAc,OAAO,CAAC,aAAa,IAAI;QACvC,YAAY,OAAO,CAAC,UAAU,GAAG;QACjC,WAAW,OAAO,CAAC,OAAO,GAAG;QAC7B,SAAS,OAAO,CAAC,WAAW,GAAG;QAC/B,eAAe,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CACrD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,MAAc,EAAE,UAAkB,EAAE,OAAe;IACvF,OAAO,yBAAyB,MAAM,aAAa,UAAU,YAAY,OAAO,EAAE,CAAC;AACrF,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Rolling window of recently-RELAYED Claude pane lines — the
|
|
3
|
+
* long-horizon companion to the per-poll line-set diff (`getNewPaneContent`
|
|
4
|
+
* in `adapters/claudeCliAdapter.ts`).
|
|
5
|
+
*
|
|
6
|
+
* WHY it exists (live incident 2026-06-10, plan
|
|
7
|
+
* `agent/tasks/actual/2026-06-10-claude-stale-rescrape-dedup.md`): the
|
|
8
|
+
* per-poll diff only knows the immediately-previous pane capture. When the
|
|
9
|
+
* Claude TUI re-renders hours-old scrollback (full repaint, scroll-through,
|
|
10
|
+
* resize), the redrawn lines are absent from that previous capture, so the
|
|
11
|
+
* diff classifies them as "new" and re-relays them — chunked and overlapping
|
|
12
|
+
* as the pane scrolls (a topic was flooded with ~12 chunks of a stale ~1400
|
|
13
|
+
* line diff). This window remembers what was actually RELAYED to the topic,
|
|
14
|
+
* so a re-render of already-sent content is suppressed regardless of WHAT
|
|
15
|
+
* triggered the redraw.
|
|
16
|
+
*
|
|
17
|
+
* Locked tradeoff — the SAME direction as the per-poll set diff (see
|
|
18
|
+
* `getNewPaneContent`'s JSDoc): err toward DROPPING a re-render duplicate. A
|
|
19
|
+
* re-send flood is the user-visible bug; a rare suppressed legit repeat (e.g.
|
|
20
|
+
* re-running an identical long command within the window horizon) is a
|
|
21
|
+
* low-cost loss. Like `lastContent`, the window does not self-heal a
|
|
22
|
+
* wrongly-suppressed line within its horizon. Two guards bound the damage:
|
|
23
|
+
* only SUBSTANTIAL lines (≥ {@link relayDedupMinLineLength} after
|
|
24
|
+
* normalization) are ever recorded or suppressed — short lines ("yes",
|
|
25
|
+
* "done", list bullets) repeat legitimately all the time and always pass —
|
|
26
|
+
* and the FIFO bound means old lines eventually evict as new content is
|
|
27
|
+
* relayed.
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* @description Minimum NORMALIZED line length for the window to record or
|
|
31
|
+
* suppress a line. Shorter lines repeat legitimately too often (confirmations,
|
|
32
|
+
* bullets, numbers) to ever be treated as re-render duplicates.
|
|
33
|
+
*/
|
|
34
|
+
export declare const relayDedupMinLineLength = 16;
|
|
35
|
+
/**
|
|
36
|
+
* @description Window capacity in lines. Sized to cover the incident-scale
|
|
37
|
+
* re-render (a ~1400-line stale diff) with headroom, while keeping the memory
|
|
38
|
+
* bound trivial and letting truly old content evict.
|
|
39
|
+
*/
|
|
40
|
+
export declare const relayWindowMaxLines = 1500;
|
|
41
|
+
/**
|
|
42
|
+
* @description Capacity of the block-signature FIFO behind
|
|
43
|
+
* {@link RecentRelayWindow.checkBlockAlreadyRelayed}. A block is one emitted
|
|
44
|
+
* chunk (a table, a prose paragraph) recorded as a SINGLE joined signature, so
|
|
45
|
+
* far fewer entries than the per-line window need bounding. Sized to remember a
|
|
46
|
+
* good run of recent emitted blocks (covers a looped table re-printed many times
|
|
47
|
+
* within a turn) while keeping the memory bound trivial.
|
|
48
|
+
*/
|
|
49
|
+
export declare const relayBlockSignatureMax = 200;
|
|
50
|
+
/**
|
|
51
|
+
* @description Normalise a pane line for line-identity comparison: trim, then
|
|
52
|
+
* drop a single leading spinner/state glyph ({@link LEADING_COMPARISON_GLYPH_RE}).
|
|
53
|
+
*
|
|
54
|
+
* Single source of truth for BOTH dedup layers — the per-poll set diff
|
|
55
|
+
* (`getNewPaneContent`) and this relay window — which MUST share one
|
|
56
|
+
* normalization domain: the window stores the same normalized forms the pane
|
|
57
|
+
* diff compares, otherwise a redraw would slip past one layer or the other.
|
|
58
|
+
* Comparison-ONLY: this shapes equality/dedup keys, never the text emitted.
|
|
59
|
+
*/
|
|
60
|
+
export declare function normalizeForComparison(line: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* @description COARSER normalization for the LONG-HORIZON relay-window dedup
|
|
63
|
+
* (record + suppress). Builds on {@link normalizeForComparison} and ADDITIONALLY
|
|
64
|
+
* strips markdown emphasis/code markers (`*`, `_`, `` ` ``, `~`) and collapses
|
|
65
|
+
* whitespace runs.
|
|
66
|
+
*
|
|
67
|
+
* WHY a second, coarser form (live re-emit 2026-06-15): a line that scrolled off
|
|
68
|
+
* and was re-rendered comes back with the SAME text but different emphasis spans
|
|
69
|
+
* — `the Claude *liveness loop* …` one capture, `the Claude *liveness* *loop* …`
|
|
70
|
+
* the next — or shifted padding/wrapping. The per-poll diff's plain
|
|
71
|
+
* normalization left those as DIFFERENT strings, so the window failed to
|
|
72
|
+
* recognise the re-render and re-emitted it. Stripping the volatile markup makes
|
|
73
|
+
* the re-render match.
|
|
74
|
+
*
|
|
75
|
+
* It is a strict COARSENING of {@link normalizeForComparison} (only further
|
|
76
|
+
* transforms its output), so the window still recognises every line the per-poll
|
|
77
|
+
* diff emitted (it can only match MORE, never fewer) — the "no redraw slips past
|
|
78
|
+
* one layer" guarantee holds, WITHOUT touching the per-poll core diff (and group
|
|
79
|
+
* mode), where over-suppression would risk dropping genuinely-new content.
|
|
80
|
+
*/
|
|
81
|
+
export declare function normalizeForRelayDedup(line: string): string;
|
|
82
|
+
/**
|
|
83
|
+
* @description Build a single normalized signature for a WHOLE block (a table,
|
|
84
|
+
* a paragraph) so a fully-duplicate block can be recognised even when its
|
|
85
|
+
* individual lines are too short to clear the per-line {@link
|
|
86
|
+
* relayDedupMinLineLength} gate — table border rows (`├──┤`) and tiny cells
|
|
87
|
+
* (`│ ✅ │`) are exactly that case. Drops blank lines, normalizes each surviving
|
|
88
|
+
* line in the SAME coarse domain {@link normalizeForRelayDedup} uses, and joins
|
|
89
|
+
* with `\n`. Returns `''` for a block with no substantial content (so a
|
|
90
|
+
* whitespace-only block is never treated as a relayed block).
|
|
91
|
+
*/
|
|
92
|
+
export declare function buildRelayBlockSignature(blockText: string): string;
|
|
93
|
+
/**
|
|
94
|
+
* @description Bounded FIFO of normalized, already-relayed pane lines.
|
|
95
|
+
* Created per Claude session; see {@link createRecentRelayWindow}.
|
|
96
|
+
*/
|
|
97
|
+
export interface RecentRelayWindow {
|
|
98
|
+
/**
|
|
99
|
+
* Store the chunk's substantial lines (normalized) AND the chunk's joined
|
|
100
|
+
* block signature ({@link buildRelayBlockSignature}). Call ONLY after the
|
|
101
|
+
* chunk was actually emitted as permanent OUTPUT — transient status frames
|
|
102
|
+
* roll in place and never flood as separate messages, so recording them
|
|
103
|
+
* would only risk suppressing genuine output.
|
|
104
|
+
*/
|
|
105
|
+
record(chunkText: string): void;
|
|
106
|
+
/**
|
|
107
|
+
* True when the line's normalized form is a substantial line already
|
|
108
|
+
* relayed. Short lines (< {@link relayDedupMinLineLength}) always return
|
|
109
|
+
* false — they are never suppressed — EXCEPT a short `NN +` diff-change
|
|
110
|
+
* gutter ({@link DIFF_CHANGE_GUTTER_RE}), which is recorded + suppressed on
|
|
111
|
+
* re-appearance (it re-renders and leaks; the shape is never short prose).
|
|
112
|
+
*/
|
|
113
|
+
checkHasLine(line: string): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* True when the WHOLE block (its joined {@link buildRelayBlockSignature})
|
|
116
|
+
* was already relayed — the table-flood guard. Recognises a fully-duplicate
|
|
117
|
+
* block even when every line is too short for the per-line gate. An
|
|
118
|
+
* empty-signature block (whitespace only) always returns false.
|
|
119
|
+
*/
|
|
120
|
+
checkBlockAlreadyRelayed(blockText: string): boolean;
|
|
121
|
+
/** Forget everything (session lifecycle reset points). */
|
|
122
|
+
reset(): void;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* @description Create an empty relay window holding up to `maxLines`
|
|
126
|
+
* normalized lines; the oldest line is evicted first once full.
|
|
127
|
+
*/
|
|
128
|
+
export declare function createRecentRelayWindow(maxLines?: number): RecentRelayWindow;
|
|
129
|
+
/**
|
|
130
|
+
* @description Seed a FRESH relay window from a full pane snapshot so a re-render
|
|
131
|
+
* of content ALREADY ON the pane is recognised as already-relayed on the very
|
|
132
|
+
* first poll — never re-emitted.
|
|
133
|
+
*
|
|
134
|
+
* WHY (live incident 2026-06-24): on adopt/re-attach the bot already
|
|
135
|
+
* seeds the pane-diff baseline (`lastContent`), which suppresses re-appearing
|
|
136
|
+
* PROSE. But a SETTLED table already on the pane is deduped ONLY at the BLOCK
|
|
137
|
+
* level ({@link RecentRelayWindow.checkBlockAlreadyRelayed} in
|
|
138
|
+
* `emitStabilizedTable`) — its border rows and tiny cells fall under the per-line
|
|
139
|
+
* gate. Adopt did NOT seed this window, so the first post-adopt poll saw the
|
|
140
|
+
* table's block signature as unknown and RE-EMITTED the whole table once per
|
|
141
|
+
* restart (~1100 chars). Recording the pane (per-line + whole-pane block) AND the
|
|
142
|
+
* settled table's OWN block signature here makes that first re-render hit
|
|
143
|
+
* `checkBlockAlreadyRelayed === true` and be suppressed.
|
|
144
|
+
*
|
|
145
|
+
* `getTableBlock` is injected (the adapter passes its `getLastSharpTableBlock`)
|
|
146
|
+
* to keep this module free of an adapter import — the adapter already imports
|
|
147
|
+
* from here, so the reverse would be a cycle. Pure (no I/O); the `record` calls
|
|
148
|
+
* are byte-identical to the ones the live emit path makes, so the window's
|
|
149
|
+
* domains agree.
|
|
150
|
+
*/
|
|
151
|
+
export declare function seedRelayWindowFromPane(window: RecentRelayWindow, paneText: string, getTableBlock: (content: string) => string | null): void;
|
|
152
|
+
/**
|
|
153
|
+
* @description Filter a pane-diff chunk against the window: drop every line
|
|
154
|
+
* whose normalized form was already relayed (substantial lines only — short
|
|
155
|
+
* lines always pass). Returns `''` when nothing survives, so the caller can
|
|
156
|
+
* skip the poll's emit entirely (no empty messages).
|
|
157
|
+
*
|
|
158
|
+
* Blank-line shaping mirrors `getNewPaneContent`'s pending-blank exactly: a
|
|
159
|
+
* single blank that sat BETWEEN two surviving lines is preserved as a
|
|
160
|
+
* paragraph separator; leading/trailing blanks and blanks adjacent to dropped
|
|
161
|
+
* lines never leak out. An already-shaped chunk passes through an empty
|
|
162
|
+
* window byte-identical — fresh output is never altered.
|
|
163
|
+
*/
|
|
164
|
+
export declare function getRelayDedupedChunk(relayWindow: RecentRelayWindow, chunkText: string): string;
|
|
165
|
+
//# sourceMappingURL=recentRelayWindow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recentRelayWindow.d.ts","sourceRoot":"","sources":["../../src/utils/recentRelayWindow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAqB1C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAa1C;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACrD,0DAA0D;IAC1D,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,GAAE,MAA4B,GAAG,iBAAiB,CA6DjG;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAChD,IAAI,CAUN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAwB9F"}
|