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,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Pure resolver for the `/auto_continue_limits` toggle — whether the bot may
|
|
4
|
+
* wait out a provider USAGE/SESSION limit and resume the topic by itself once the
|
|
5
|
+
* window resets.
|
|
6
|
+
*
|
|
7
|
+
* Scope is deliberately narrow: it gates ONLY the `usageLimit` error class. The
|
|
8
|
+
* short transient retries (rate-limited / overloaded, 5·10·20 min) stay
|
|
9
|
+
* unconditional — nobody wants to hand-restart after a 30-second hiccup — and an
|
|
10
|
+
* `auth` error is surfaced, never retried, so neither class consults this.
|
|
11
|
+
*
|
|
12
|
+
* Kept out of `bot.ts` (which cannot be imported by tests — its module-scope
|
|
13
|
+
* `parseEnv()` exits without a bot token), mirroring `resolveCompactOnIdleEnabled`
|
|
14
|
+
* in `compactOnIdle.ts`.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.skipArmedRetryCallbackPrefix = void 0;
|
|
18
|
+
exports.resolveAutoContinueOnLimitEnabled = resolveAutoContinueOnLimitEnabled;
|
|
19
|
+
exports.resolveClaudeAutoSwitchOnLimitEnabled = resolveClaudeAutoSwitchOnLimitEnabled;
|
|
20
|
+
exports.buildSkipArmedRetryCallbackData = buildSkipArmedRetryCallbackData;
|
|
21
|
+
exports.parseSkipArmedRetryCallbackData = parseSkipArmedRetryCallbackData;
|
|
22
|
+
exports.getArmedRetrySkipDecision = getArmedRetrySkipDecision;
|
|
23
|
+
const threadToggle_1 = require("./threadToggle");
|
|
24
|
+
/**
|
|
25
|
+
* @description Resolve whether limit auto-continue is enabled for a thread. A
|
|
26
|
+
* per-thread override always wins; otherwise the instance-wide default applies,
|
|
27
|
+
* which is ON when unset — the feature predates the toggle and was
|
|
28
|
+
* unconditional, so ON is the behaviour-preserving default.
|
|
29
|
+
*/
|
|
30
|
+
function resolveAutoContinueOnLimitEnabled(globalDefault, threadOverride) {
|
|
31
|
+
return (0, threadToggle_1.resolveDefaultOnThreadToggle)(globalDefault, threadOverride);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @description Resolve whether the bot may switch a limited topic to ANOTHER Claude account profile by itself
|
|
35
|
+
* (`/account` → auto-switch; the decisions live in `claudeLimitSwitch.ts`, which re-exports this). A per-thread
|
|
36
|
+
* override wins; otherwise the instance default; unset everywhere ⇒ OFF — moving work between subscriptions is
|
|
37
|
+
* an account-policy decision the operator opts into. Kept beside its sibling so `state.ts` loads no more than it did.
|
|
38
|
+
*/
|
|
39
|
+
function resolveClaudeAutoSwitchOnLimitEnabled(globalDefault, threadOverride) {
|
|
40
|
+
return (0, threadToggle_1.resolveThreadToggle)(globalDefault, threadOverride, false);
|
|
41
|
+
}
|
|
42
|
+
/** `callback_data` prefix of the «skip this resume once» button. */
|
|
43
|
+
exports.skipArmedRetryCallbackPrefix = 'acl_skip_';
|
|
44
|
+
/**
|
|
45
|
+
* @description Build the «skip once» button's `callback_data`. The armed record's
|
|
46
|
+
* `fireAt` is BAKED IN because inline buttons stay tappable forever: without it a
|
|
47
|
+
* tap on an OLD notice would cancel whatever episode happens to be armed NOW (the
|
|
48
|
+
* same class of bug as the `/disconnect` picker resolving a stale index against a
|
|
49
|
+
* fresh provider list). Prefix + a 13-digit epoch is ~22 bytes, far inside
|
|
50
|
+
* Telegram's 64-byte `callback_data` cap.
|
|
51
|
+
*/
|
|
52
|
+
function buildSkipArmedRetryCallbackData(fireAt) {
|
|
53
|
+
return `${exports.skipArmedRetryCallbackPrefix}${fireAt}`;
|
|
54
|
+
}
|
|
55
|
+
/** Inverse of {@link buildSkipArmedRetryCallbackData}; `null` for foreign data. */
|
|
56
|
+
function parseSkipArmedRetryCallbackData(data) {
|
|
57
|
+
if (!data.startsWith(exports.skipArmedRetryCallbackPrefix))
|
|
58
|
+
return null;
|
|
59
|
+
const raw = data.slice(exports.skipArmedRetryCallbackPrefix.length);
|
|
60
|
+
if (!/^\d+$/.test(raw))
|
|
61
|
+
return null;
|
|
62
|
+
return Number(raw);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @description What a «skip once» tap should do: `skip` only when the thread still
|
|
66
|
+
* has that EXACT armed resume pending, `expired` when nothing is armed any more or
|
|
67
|
+
* a DIFFERENT episode is (the notice the user tapped is stale). `expired` must
|
|
68
|
+
* change no state — silently skipping the newer episode would cancel a resume the
|
|
69
|
+
* user never asked to cancel.
|
|
70
|
+
*
|
|
71
|
+
* @param armedFireAt `fireAt` of the thread's currently pending limit resume, or
|
|
72
|
+
* `null` when none is armed.
|
|
73
|
+
*/
|
|
74
|
+
function getArmedRetrySkipDecision(input) {
|
|
75
|
+
if (input.armedFireAt === null)
|
|
76
|
+
return 'expired';
|
|
77
|
+
return input.armedFireAt === input.requestedFireAt ? 'skip' : 'expired';
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=autoContinueOnLimit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoContinueOnLimit.js","sourceRoot":"","sources":["../../src/utils/autoContinueOnLimit.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAUH,8EAKC;AAQD,sFAKC;AAaD,0EAEC;AAGD,0EAKC;AAYD,8DAMC;AAnED,iDAAmF;AAEnF;;;;;GAKG;AACH,SAAgB,iCAAiC,CAC/C,aAAkC,EAClC,cAAmC;IAEnC,OAAO,IAAA,2CAA4B,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qCAAqC,CACnD,aAAkC,EAClC,cAAmC;IAEnC,OAAO,IAAA,kCAAmB,EAAC,aAAa,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,oEAAoE;AACvD,QAAA,4BAA4B,GAAG,WAAW,CAAC;AAExD;;;;;;;GAOG;AACH,SAAgB,+BAA+B,CAAC,MAAc;IAC5D,OAAO,GAAG,oCAA4B,GAAG,MAAM,EAAE,CAAC;AACpD,CAAC;AAED,mFAAmF;AACnF,SAAgB,+BAA+B,CAAC,IAAY;IAC1D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,oCAA4B,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,oCAA4B,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CAAC,KAGzC;IACC,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACjD,OAAO,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface CanonicalPathContainment {
|
|
2
|
+
canonicalPath: string;
|
|
3
|
+
isWithinRoot: boolean;
|
|
4
|
+
}
|
|
5
|
+
/** Resolve one candidate against a canonical root and compare with a separator-safe boundary. */
|
|
6
|
+
export declare function resolveCanonicalPathContainment(canonicalRootPath: string, relativePath: string): CanonicalPathContainment;
|
|
7
|
+
//# sourceMappingURL=canonicalPathContainment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonicalPathContainment.d.ts","sourceRoot":"","sources":["../../src/utils/canonicalPathContainment.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,iGAAiG;AACjG,wBAAgB,+BAA+B,CAC7C,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,MAAM,GACnB,wBAAwB,CAQ1B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.resolveCanonicalPathContainment = resolveCanonicalPathContainment;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
/** Resolve one candidate against a canonical root and compare with a separator-safe boundary. */
|
|
40
|
+
function resolveCanonicalPathContainment(canonicalRootPath, relativePath) {
|
|
41
|
+
const canonicalPath = fs.realpathSync(path.resolve(canonicalRootPath, relativePath));
|
|
42
|
+
return {
|
|
43
|
+
canonicalPath,
|
|
44
|
+
isWithinRoot: canonicalPath === canonicalRootPath ||
|
|
45
|
+
canonicalPath.startsWith(canonicalRootPath + path.sep),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=canonicalPathContainment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonicalPathContainment.js","sourceRoot":"","sources":["../../src/utils/canonicalPathContainment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,0EAWC;AApBD,uCAAyB;AACzB,2CAA6B;AAO7B,iGAAiG;AACjG,SAAgB,+BAA+B,CAC7C,iBAAyB,EACzB,YAAoB;IAEpB,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;IACrF,OAAO;QACL,aAAa;QACb,YAAY,EACV,aAAa,KAAK,iBAAiB;YACnC,aAAa,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC;KACzD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Pure plan of the `/account` picker (`connectors/telegram/commands/claudeAccounts.ts`): the
|
|
3
|
+
* `callback_data` codecs and the per-profile row model. Profile names are slugs of at most 32 characters
|
|
4
|
+
* (`utils/claudeProfiles.ts`), so a button BAKES THE NAME into its data (`acct_use_<name>` is at most 41
|
|
5
|
+
* bytes, under Telegram's 64-byte cap) and an old keyboard can never act on a profile other than the one it
|
|
6
|
+
* named — a removed name simply resolves to "unknown profile".
|
|
7
|
+
*/
|
|
8
|
+
import type { ClaudeProfileRecord } from '../state';
|
|
9
|
+
import { type ClaudeAccountKind } from './claudeProfiles';
|
|
10
|
+
/** Switch the topic (General: the instance default) to the named profile. */
|
|
11
|
+
export declare const accountUseCallbackRe: RegExp;
|
|
12
|
+
/** Open the sub-picker that chooses a profile to sign in again / to remove. */
|
|
13
|
+
export declare const accountLoginMenuCallback = "acct_login_menu";
|
|
14
|
+
export declare const accountRemoveMenuCallback = "acct_rm_menu";
|
|
15
|
+
/** Start the sign-in of the named profile. */
|
|
16
|
+
export declare const accountLoginCallbackRe: RegExp;
|
|
17
|
+
/** Ask to confirm the removal of the named profile, then remove it. */
|
|
18
|
+
export declare const accountRemoveCallbackRe: RegExp;
|
|
19
|
+
export declare const accountRemoveConfirmCallbackRe: RegExp;
|
|
20
|
+
/** Ask for a new profile's name. */
|
|
21
|
+
export declare const accountAddCallback = "acct_add";
|
|
22
|
+
/** A topic drops its own pick and follows the instance default again. */
|
|
23
|
+
export declare const accountFollowDefaultCallback = "acct_follow";
|
|
24
|
+
/** Arm the OpenCode provider-id capture (the next plain message names the provider to connect). */
|
|
25
|
+
export declare const accountAddProviderCallback = "acct_ocadd";
|
|
26
|
+
/**
|
|
27
|
+
* Disconnect an OpenCode provider: the INDEX points into the provider list the screen listed, snapshotted per
|
|
28
|
+
* message (a provider id can be long and the list changes), then the confirmation of the same index.
|
|
29
|
+
*/
|
|
30
|
+
export declare const accountDisconnectCallbackRe: RegExp;
|
|
31
|
+
export declare const accountDisconnectConfirmCallbackRe: RegExp;
|
|
32
|
+
/** Connect an OpenCode provider again (the `/connect <provider>` method picker); same snapshot index. */
|
|
33
|
+
export declare const accountReconnectCallbackRe: RegExp;
|
|
34
|
+
/** Back to the main picker from a sub-picker. */
|
|
35
|
+
export declare const accountBackCallback = "acct_back";
|
|
36
|
+
/** Flip the auto-switch-on-limit setting (`utils/claudeLimitSwitch.ts`): the topic's override, in General the instance default. */
|
|
37
|
+
export declare const accountAutoSwitchOnCallback = "acct_autosw_on";
|
|
38
|
+
export declare const accountAutoSwitchOffCallback = "acct_autosw_off";
|
|
39
|
+
export declare function buildAccountUseCallback(name: string): string;
|
|
40
|
+
export declare function buildAccountLoginCallback(name: string): string;
|
|
41
|
+
export declare function buildAccountDisconnectCallback(index: number): string;
|
|
42
|
+
export declare function buildAccountReconnectCallback(index: number): string;
|
|
43
|
+
export declare function buildAccountDisconnectConfirmCallback(index: number): string;
|
|
44
|
+
export declare function buildAccountRemoveCallback(name: string): string;
|
|
45
|
+
export declare function buildAccountRemoveConfirmCallback(name: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* @description The name a callback's data carries, or `null` when the data is not that button's or names an
|
|
48
|
+
* impossible profile (`default` is a valid target for use / login / removal only where `allowDefault`).
|
|
49
|
+
*/
|
|
50
|
+
export declare function parseAccountCallbackName(data: string, re: RegExp, options: {
|
|
51
|
+
allowDefault: boolean;
|
|
52
|
+
}): string | null;
|
|
53
|
+
/** One line / one button of the picker. */
|
|
54
|
+
export interface AccountPickerRow {
|
|
55
|
+
name: string;
|
|
56
|
+
/** The profile the topic (General: the instance) effectively uses. */
|
|
57
|
+
isActive: boolean;
|
|
58
|
+
/** The CLI's last answer; `undefined` when never read. */
|
|
59
|
+
loggedIn: boolean | undefined;
|
|
60
|
+
email: string | null;
|
|
61
|
+
subscriptionType: string | null;
|
|
62
|
+
kind: ClaudeAccountKind;
|
|
63
|
+
/** How many bound topics resolve to this profile. */
|
|
64
|
+
topicCount: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @description The picker's rows: `default` first, then the added profiles in creation order. `topicCounts`
|
|
68
|
+
* is the resolved use per profile (explicit picks AND topics that follow the instance default), so the count
|
|
69
|
+
* answers "which topics would a removal or re-login touch".
|
|
70
|
+
*/
|
|
71
|
+
export declare function buildAccountPickerRows(input: {
|
|
72
|
+
records: Readonly<Record<string, ClaudeProfileRecord>>;
|
|
73
|
+
defaultStatus: {
|
|
74
|
+
loggedIn: boolean | undefined;
|
|
75
|
+
email: string | null;
|
|
76
|
+
subscriptionType: string | null;
|
|
77
|
+
};
|
|
78
|
+
activeName: string;
|
|
79
|
+
topicCounts: ReadonlyMap<string, number>;
|
|
80
|
+
/** The operator removed (signed out) `default`: it has no row until it is signed in again. */
|
|
81
|
+
isDefaultRemoved?: boolean;
|
|
82
|
+
}): AccountPickerRow[];
|
|
83
|
+
/** The profile each bound topic resolves to, counted per profile name. */
|
|
84
|
+
export declare function countTopicsPerProfile(resolvedNames: Iterable<string>): Map<string, number>;
|
|
85
|
+
//# sourceMappingURL=claudeAccountPickerPlan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeAccountPickerPlan.d.ts","sourceRoot":"","sources":["../../src/utils/claudeAccountPickerPlan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Pure plan of the `/account` picker (`connectors/telegram/commands/claudeAccounts.ts`): the
|
|
4
|
+
* `callback_data` codecs and the per-profile row model. Profile names are slugs of at most 32 characters
|
|
5
|
+
* (`utils/claudeProfiles.ts`), so a button BAKES THE NAME into its data (`acct_use_<name>` is at most 41
|
|
6
|
+
* bytes, under Telegram's 64-byte cap) and an old keyboard can never act on a profile other than the one it
|
|
7
|
+
* named — a removed name simply resolves to "unknown profile".
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.accountAutoSwitchOffCallback = exports.accountAutoSwitchOnCallback = exports.accountBackCallback = exports.accountReconnectCallbackRe = exports.accountDisconnectConfirmCallbackRe = exports.accountDisconnectCallbackRe = exports.accountAddProviderCallback = exports.accountFollowDefaultCallback = exports.accountAddCallback = exports.accountRemoveConfirmCallbackRe = exports.accountRemoveCallbackRe = exports.accountLoginCallbackRe = exports.accountRemoveMenuCallback = exports.accountLoginMenuCallback = exports.accountUseCallbackRe = void 0;
|
|
11
|
+
exports.buildAccountUseCallback = buildAccountUseCallback;
|
|
12
|
+
exports.buildAccountLoginCallback = buildAccountLoginCallback;
|
|
13
|
+
exports.buildAccountDisconnectCallback = buildAccountDisconnectCallback;
|
|
14
|
+
exports.buildAccountReconnectCallback = buildAccountReconnectCallback;
|
|
15
|
+
exports.buildAccountDisconnectConfirmCallback = buildAccountDisconnectConfirmCallback;
|
|
16
|
+
exports.buildAccountRemoveCallback = buildAccountRemoveCallback;
|
|
17
|
+
exports.buildAccountRemoveConfirmCallback = buildAccountRemoveConfirmCallback;
|
|
18
|
+
exports.parseAccountCallbackName = parseAccountCallbackName;
|
|
19
|
+
exports.buildAccountPickerRows = buildAccountPickerRows;
|
|
20
|
+
exports.countTopicsPerProfile = countTopicsPerProfile;
|
|
21
|
+
const claudeProfiles_1 = require("./claudeProfiles");
|
|
22
|
+
const nameGroup = '([a-z0-9][a-z0-9_-]{0,31})';
|
|
23
|
+
/** Switch the topic (General: the instance default) to the named profile. */
|
|
24
|
+
exports.accountUseCallbackRe = new RegExp(`^acct_use_${nameGroup}$`);
|
|
25
|
+
/** Open the sub-picker that chooses a profile to sign in again / to remove. */
|
|
26
|
+
exports.accountLoginMenuCallback = 'acct_login_menu';
|
|
27
|
+
exports.accountRemoveMenuCallback = 'acct_rm_menu';
|
|
28
|
+
/** Start the sign-in of the named profile. */
|
|
29
|
+
exports.accountLoginCallbackRe = new RegExp(`^acct_login_${nameGroup}$`);
|
|
30
|
+
/** Ask to confirm the removal of the named profile, then remove it. */
|
|
31
|
+
exports.accountRemoveCallbackRe = new RegExp(`^acct_rm_${nameGroup}$`);
|
|
32
|
+
exports.accountRemoveConfirmCallbackRe = new RegExp(`^acct_rmok_${nameGroup}$`);
|
|
33
|
+
/** Ask for a new profile's name. */
|
|
34
|
+
exports.accountAddCallback = 'acct_add';
|
|
35
|
+
/** A topic drops its own pick and follows the instance default again. */
|
|
36
|
+
exports.accountFollowDefaultCallback = 'acct_follow';
|
|
37
|
+
/** Arm the OpenCode provider-id capture (the next plain message names the provider to connect). */
|
|
38
|
+
exports.accountAddProviderCallback = 'acct_ocadd';
|
|
39
|
+
/**
|
|
40
|
+
* Disconnect an OpenCode provider: the INDEX points into the provider list the screen listed, snapshotted per
|
|
41
|
+
* message (a provider id can be long and the list changes), then the confirmation of the same index.
|
|
42
|
+
*/
|
|
43
|
+
exports.accountDisconnectCallbackRe = /^acct_dc_(\d{1,2})$/;
|
|
44
|
+
exports.accountDisconnectConfirmCallbackRe = /^acct_dcok_(\d{1,2})$/;
|
|
45
|
+
/** Connect an OpenCode provider again (the `/connect <provider>` method picker); same snapshot index. */
|
|
46
|
+
exports.accountReconnectCallbackRe = /^acct_dcre_(\d{1,2})$/;
|
|
47
|
+
/** Back to the main picker from a sub-picker. */
|
|
48
|
+
exports.accountBackCallback = 'acct_back';
|
|
49
|
+
/** Flip the auto-switch-on-limit setting (`utils/claudeLimitSwitch.ts`): the topic's override, in General the instance default. */
|
|
50
|
+
exports.accountAutoSwitchOnCallback = 'acct_autosw_on';
|
|
51
|
+
exports.accountAutoSwitchOffCallback = 'acct_autosw_off';
|
|
52
|
+
function buildAccountUseCallback(name) {
|
|
53
|
+
return `acct_use_${name}`;
|
|
54
|
+
}
|
|
55
|
+
function buildAccountLoginCallback(name) {
|
|
56
|
+
return `acct_login_${name}`;
|
|
57
|
+
}
|
|
58
|
+
function buildAccountDisconnectCallback(index) {
|
|
59
|
+
return `acct_dc_${index}`;
|
|
60
|
+
}
|
|
61
|
+
function buildAccountReconnectCallback(index) {
|
|
62
|
+
return `acct_dcre_${index}`;
|
|
63
|
+
}
|
|
64
|
+
function buildAccountDisconnectConfirmCallback(index) {
|
|
65
|
+
return `acct_dcok_${index}`;
|
|
66
|
+
}
|
|
67
|
+
function buildAccountRemoveCallback(name) {
|
|
68
|
+
return `acct_rm_${name}`;
|
|
69
|
+
}
|
|
70
|
+
function buildAccountRemoveConfirmCallback(name) {
|
|
71
|
+
return `acct_rmok_${name}`;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @description The name a callback's data carries, or `null` when the data is not that button's or names an
|
|
75
|
+
* impossible profile (`default` is a valid target for use / login / removal only where `allowDefault`).
|
|
76
|
+
*/
|
|
77
|
+
function parseAccountCallbackName(data, re, options) {
|
|
78
|
+
const match = data.match(re);
|
|
79
|
+
if (!match)
|
|
80
|
+
return null;
|
|
81
|
+
const name = match[1];
|
|
82
|
+
if (name === claudeProfiles_1.defaultClaudeProfileName)
|
|
83
|
+
return options.allowDefault ? name : null;
|
|
84
|
+
return (0, claudeProfiles_1.checkIsValidClaudeProfileName)(name) ? name : null;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* @description The picker's rows: `default` first, then the added profiles in creation order. `topicCounts`
|
|
88
|
+
* is the resolved use per profile (explicit picks AND topics that follow the instance default), so the count
|
|
89
|
+
* answers "which topics would a removal or re-login touch".
|
|
90
|
+
*/
|
|
91
|
+
function buildAccountPickerRows(input) {
|
|
92
|
+
const rows = input.isDefaultRemoved ? [] : [{
|
|
93
|
+
name: claudeProfiles_1.defaultClaudeProfileName,
|
|
94
|
+
isActive: input.activeName === claudeProfiles_1.defaultClaudeProfileName,
|
|
95
|
+
loggedIn: input.defaultStatus.loggedIn,
|
|
96
|
+
email: input.defaultStatus.email,
|
|
97
|
+
subscriptionType: input.defaultStatus.subscriptionType,
|
|
98
|
+
kind: (0, claudeProfiles_1.getClaudeAccountKind)(input.defaultStatus.subscriptionType),
|
|
99
|
+
topicCount: input.topicCounts.get(claudeProfiles_1.defaultClaudeProfileName) ?? 0,
|
|
100
|
+
}];
|
|
101
|
+
const added = Object.entries(input.records)
|
|
102
|
+
.sort(([, a], [, b]) => a.createdAt.localeCompare(b.createdAt));
|
|
103
|
+
for (const [name, record] of added) {
|
|
104
|
+
rows.push({
|
|
105
|
+
name,
|
|
106
|
+
isActive: input.activeName === name,
|
|
107
|
+
loggedIn: record.loggedIn,
|
|
108
|
+
email: record.email ?? null,
|
|
109
|
+
subscriptionType: record.subscriptionType ?? null,
|
|
110
|
+
kind: (0, claudeProfiles_1.getClaudeAccountKind)(record.subscriptionType ?? null),
|
|
111
|
+
topicCount: input.topicCounts.get(name) ?? 0,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
return rows;
|
|
115
|
+
}
|
|
116
|
+
/** The profile each bound topic resolves to, counted per profile name. */
|
|
117
|
+
function countTopicsPerProfile(resolvedNames) {
|
|
118
|
+
const counts = new Map();
|
|
119
|
+
for (const name of resolvedNames)
|
|
120
|
+
counts.set(name, (counts.get(name) ?? 0) + 1);
|
|
121
|
+
return counts;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=claudeAccountPickerPlan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeAccountPickerPlan.js","sourceRoot":"","sources":["../../src/utils/claudeAccountPickerPlan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Pure helpers behind the json-stream `/login` out-of-band auth
|
|
3
|
+
* flow. The json-stream Claude backend has no TUI to host Claude's interactive
|
|
4
|
+
* `/login`, so the bot drives `claude auth login --claudeai` in a pty and relays
|
|
5
|
+
* it through the topic (URL out -> pasted code in). These are the parse/decision
|
|
6
|
+
* helpers; the impure pty driving + per-thread state live in `agentLogin/agentLogin.ts`
|
|
7
|
+
* (mirrors the `apiErrorRetry.ts` pure-layer / manager split).
|
|
8
|
+
*
|
|
9
|
+
* The success signal is authoritative from `claude auth status --json`
|
|
10
|
+
* (`{"loggedIn": true, ...}`), with the process exit code as the fallback.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* @description The load-bearing marker line of Claude's `/login` OAuth
|
|
14
|
+
* "paste the code" step (`Paste code here if prompted > `). Shared with the
|
|
15
|
+
* tmux-scrape backend's login-paste detection so the marker string has a single
|
|
16
|
+
* definition.
|
|
17
|
+
*/
|
|
18
|
+
export declare const claudeLoginPastePromptRe: RegExp;
|
|
19
|
+
/**
|
|
20
|
+
* @description First `http(s)` URL in `claude auth login`'s pty output — the
|
|
21
|
+
* OAuth sign-in link. The CLI prints it inside an OSC-8 hyperlink
|
|
22
|
+
* (`ESC]8;;<url>BEL`) and again as visible blue text; the match stops at the
|
|
23
|
+
* first whitespace / C0 control char (the BEL that terminates the OSC-8 target),
|
|
24
|
+
* so the captured URL is already clean of ANSI. Returns `null` if none yet.
|
|
25
|
+
*/
|
|
26
|
+
export declare function parseClaudeAuthLoginUrl(ptyOutput: string): string | null;
|
|
27
|
+
/**
|
|
28
|
+
* @description Whether the accumulated pty output has reached the "paste the
|
|
29
|
+
* code" prompt — i.e. the CLI has printed the sign-in URL and is now waiting for
|
|
30
|
+
* the code. Used to gate the URL relay so a URL split across pty chunks is never
|
|
31
|
+
* relayed half-rendered.
|
|
32
|
+
*/
|
|
33
|
+
export declare function checkIsClaudeAuthLoginCodePrompt(ptyOutput: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* @description Read `loggedIn` out of `claude auth status --json`. Returns the
|
|
36
|
+
* boolean, or `null` when the JSON is missing/malformed or lacks the field.
|
|
37
|
+
*/
|
|
38
|
+
export declare function parseAuthStatusLoggedIn(statusJson: string): boolean | null;
|
|
39
|
+
/**
|
|
40
|
+
* @description Decide whether the login succeeded. `claude auth status` is
|
|
41
|
+
* authoritative (it reflects the real on-disk credentials after the flow); the
|
|
42
|
+
* process exit code is only the fallback when the status probe could not be read
|
|
43
|
+
* (`loggedIn === null`).
|
|
44
|
+
*/
|
|
45
|
+
export declare function checkIsAuthLoginSucceeded(input: {
|
|
46
|
+
exitCode: number | null;
|
|
47
|
+
loggedIn: boolean | null;
|
|
48
|
+
}): boolean;
|
|
49
|
+
/** How a `/login` slash command is handled for a thread. */
|
|
50
|
+
export type LoginCommandRoute = 'outOfBand' | 'forwardToAgent';
|
|
51
|
+
/**
|
|
52
|
+
* @description Route a `/login` command by the thread's Claude backend. Only the
|
|
53
|
+
* json-stream backends (`claude-json-stream` and `claude-per-turn` — one host,
|
|
54
|
+
* no TUI to host the OAuth flow) intercept it into the bot-driven out-of-band
|
|
55
|
+
* flow; every other case — tmux-scrape Claude
|
|
56
|
+
* (its TUI hosts `/login` itself), OpenCode/terminal, or a no-pick thread — keeps
|
|
57
|
+
* the existing verbatim forward.
|
|
58
|
+
*
|
|
59
|
+
* The backend is read from the thread's RAW adapter pick, NOT a "resolve to the
|
|
60
|
+
* Claude default" call: an OpenCode/terminal thread has a non-Claude raw pick, so
|
|
61
|
+
* gating on the raw name avoids wrongly intercepting `/login` on those threads
|
|
62
|
+
* (which a default-resolving check would do once json-stream is the default).
|
|
63
|
+
* `checkIsJsonStreamBackend` is injected to keep this helper free of an adapter
|
|
64
|
+
* import.
|
|
65
|
+
*/
|
|
66
|
+
export declare function getLoginCommandRoute(input: {
|
|
67
|
+
command: string;
|
|
68
|
+
rawBackendName: string | undefined;
|
|
69
|
+
checkIsJsonStreamBackend: (adapterName: string) => boolean;
|
|
70
|
+
}): LoginCommandRoute;
|
|
71
|
+
//# sourceMappingURL=claudeAuthLogin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeAuthLogin.d.ts","sourceRoot":"","sources":["../../src/utils/claudeAuthLogin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAgC,CAAC;AAKtE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxE;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAO1E;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B,GAAG,OAAO,CAGV;AAED,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,wBAAwB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5D,GAAG,iBAAiB,CAIpB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description Pure helpers behind the json-stream `/login` out-of-band auth
|
|
4
|
+
* flow. The json-stream Claude backend has no TUI to host Claude's interactive
|
|
5
|
+
* `/login`, so the bot drives `claude auth login --claudeai` in a pty and relays
|
|
6
|
+
* it through the topic (URL out -> pasted code in). These are the parse/decision
|
|
7
|
+
* helpers; the impure pty driving + per-thread state live in `agentLogin/agentLogin.ts`
|
|
8
|
+
* (mirrors the `apiErrorRetry.ts` pure-layer / manager split).
|
|
9
|
+
*
|
|
10
|
+
* The success signal is authoritative from `claude auth status --json`
|
|
11
|
+
* (`{"loggedIn": true, ...}`), with the process exit code as the fallback.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.claudeLoginPastePromptRe = void 0;
|
|
15
|
+
exports.parseClaudeAuthLoginUrl = parseClaudeAuthLoginUrl;
|
|
16
|
+
exports.checkIsClaudeAuthLoginCodePrompt = checkIsClaudeAuthLoginCodePrompt;
|
|
17
|
+
exports.parseAuthStatusLoggedIn = parseAuthStatusLoggedIn;
|
|
18
|
+
exports.checkIsAuthLoginSucceeded = checkIsAuthLoginSucceeded;
|
|
19
|
+
exports.getLoginCommandRoute = getLoginCommandRoute;
|
|
20
|
+
/**
|
|
21
|
+
* @description The load-bearing marker line of Claude's `/login` OAuth
|
|
22
|
+
* "paste the code" step (`Paste code here if prompted > `). Shared with the
|
|
23
|
+
* tmux-scrape backend's login-paste detection so the marker string has a single
|
|
24
|
+
* definition.
|
|
25
|
+
*/
|
|
26
|
+
exports.claudeLoginPastePromptRe = /Paste code here if prompted/;
|
|
27
|
+
/** Matches the first http(s) URL, stopping at whitespace or any C0 control char. */
|
|
28
|
+
const oauthLoginUrlRe = /https?:\/\/[^\s\u0000-\u001f]+/;
|
|
29
|
+
/**
|
|
30
|
+
* @description First `http(s)` URL in `claude auth login`'s pty output — the
|
|
31
|
+
* OAuth sign-in link. The CLI prints it inside an OSC-8 hyperlink
|
|
32
|
+
* (`ESC]8;;<url>BEL`) and again as visible blue text; the match stops at the
|
|
33
|
+
* first whitespace / C0 control char (the BEL that terminates the OSC-8 target),
|
|
34
|
+
* so the captured URL is already clean of ANSI. Returns `null` if none yet.
|
|
35
|
+
*/
|
|
36
|
+
function parseClaudeAuthLoginUrl(ptyOutput) {
|
|
37
|
+
const match = ptyOutput.match(oauthLoginUrlRe);
|
|
38
|
+
return match ? match[0] : null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @description Whether the accumulated pty output has reached the "paste the
|
|
42
|
+
* code" prompt — i.e. the CLI has printed the sign-in URL and is now waiting for
|
|
43
|
+
* the code. Used to gate the URL relay so a URL split across pty chunks is never
|
|
44
|
+
* relayed half-rendered.
|
|
45
|
+
*/
|
|
46
|
+
function checkIsClaudeAuthLoginCodePrompt(ptyOutput) {
|
|
47
|
+
return exports.claudeLoginPastePromptRe.test(ptyOutput);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @description Read `loggedIn` out of `claude auth status --json`. Returns the
|
|
51
|
+
* boolean, or `null` when the JSON is missing/malformed or lacks the field.
|
|
52
|
+
*/
|
|
53
|
+
function parseAuthStatusLoggedIn(statusJson) {
|
|
54
|
+
try {
|
|
55
|
+
const parsed = JSON.parse(statusJson);
|
|
56
|
+
return typeof parsed.loggedIn === 'boolean' ? parsed.loggedIn : null;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @description Decide whether the login succeeded. `claude auth status` is
|
|
64
|
+
* authoritative (it reflects the real on-disk credentials after the flow); the
|
|
65
|
+
* process exit code is only the fallback when the status probe could not be read
|
|
66
|
+
* (`loggedIn === null`).
|
|
67
|
+
*/
|
|
68
|
+
function checkIsAuthLoginSucceeded(input) {
|
|
69
|
+
if (input.loggedIn !== null)
|
|
70
|
+
return input.loggedIn;
|
|
71
|
+
return input.exitCode === 0;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @description Route a `/login` command by the thread's Claude backend. Only the
|
|
75
|
+
* json-stream backends (`claude-json-stream` and `claude-per-turn` — one host,
|
|
76
|
+
* no TUI to host the OAuth flow) intercept it into the bot-driven out-of-band
|
|
77
|
+
* flow; every other case — tmux-scrape Claude
|
|
78
|
+
* (its TUI hosts `/login` itself), OpenCode/terminal, or a no-pick thread — keeps
|
|
79
|
+
* the existing verbatim forward.
|
|
80
|
+
*
|
|
81
|
+
* The backend is read from the thread's RAW adapter pick, NOT a "resolve to the
|
|
82
|
+
* Claude default" call: an OpenCode/terminal thread has a non-Claude raw pick, so
|
|
83
|
+
* gating on the raw name avoids wrongly intercepting `/login` on those threads
|
|
84
|
+
* (which a default-resolving check would do once json-stream is the default).
|
|
85
|
+
* `checkIsJsonStreamBackend` is injected to keep this helper free of an adapter
|
|
86
|
+
* import.
|
|
87
|
+
*/
|
|
88
|
+
function getLoginCommandRoute(input) {
|
|
89
|
+
return input.command === 'login' && input.rawBackendName !== undefined && input.checkIsJsonStreamBackend(input.rawBackendName)
|
|
90
|
+
? 'outOfBand'
|
|
91
|
+
: 'forwardToAgent';
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=claudeAuthLogin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeAuthLogin.js","sourceRoot":"","sources":["../../src/utils/claudeAuthLogin.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAoBH,0DAGC;AAQD,4EAEC;AAMD,0DAOC;AAQD,8DAMC;AAoBD,oDAQC;AAtFD;;;;;GAKG;AACU,QAAA,wBAAwB,GAAG,6BAA6B,CAAC;AAEtE,oFAAoF;AACpF,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAEzD;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,SAAiB;IACvD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gCAAgC,CAAC,SAAiB;IAChE,OAAO,gCAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,UAAkB;IACxD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA2B,CAAC;QAChE,OAAO,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,KAGzC;IACC,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IACnD,OAAO,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC;AAC9B,CAAC;AAKD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,oBAAoB,CAAC,KAIpC;IACC,OAAO,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,cAAc,CAAC;QAC5H,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,gBAAgB,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description PURE classifier that segments a scraped, ANSI-cleaned Claude
|
|
3
|
+
* TUI pane chunk into TAGGED spans, carrying tool-fence context across poll
|
|
4
|
+
* chunks (the same cross-poll state the relay already threads as
|
|
5
|
+
* `session.openToolKind` through {@link stripTuiElementsWithContext}).
|
|
6
|
+
*
|
|
7
|
+
* This is the decision layer for the verbosity scopes (S4 `/tool_results`, S5
|
|
8
|
+
* `/thinking`, S6 sub-agent panel fold): given a chunk it labels each run of
|
|
9
|
+
* lines so a later caller can keep / drop / re-route them per the topic's
|
|
10
|
+
* verbosity mode. S3 only BUILDS and TESTS the classifier — it is NOT wired
|
|
11
|
+
* into the live relay yet, so the relay path keeps behaving exactly as today.
|
|
12
|
+
*
|
|
13
|
+
* Design rules:
|
|
14
|
+
* - Reuses the line-shape regexes from {@link ./claudeScrapeShapes} and the
|
|
15
|
+
* sub-agent progress shape from {@link ../progressLine} — ONE definition per
|
|
16
|
+
* shape, never a copy.
|
|
17
|
+
* - Conservative default: a line not positively recognised as tool / thinking
|
|
18
|
+
* / panel chatter / chrome is tagged {@link ClaudeChunkTag.Prose} — the
|
|
19
|
+
* agent's real answer is never swallowed.
|
|
20
|
+
* - Cross-poll fence semantics DERIVE FROM {@link fenceToolResultBodies} but
|
|
21
|
+
* are not identical (this classifier serves the verbosity consumer, not the
|
|
22
|
+
* fencer): a tool header opens a kind; a `⎿` body or its orphan indented
|
|
23
|
+
* continuation is the tool body for that kind; a solid prose line closes the
|
|
24
|
+
* kind. Two intentional divergences, flagged at their call sites below: a
|
|
25
|
+
* file-kind `⎿` summary is tagged `ToolBody` (the fencer keeps it prose),
|
|
26
|
+
* and a `◯`/`▰▱` panel line does NOT close an open kind (the fencer resets
|
|
27
|
+
* it). A future S4 reader must not assume identical reset behavior.
|
|
28
|
+
*/
|
|
29
|
+
import { type ToolResultKind } from './claudeScrapeShapes';
|
|
30
|
+
/**
|
|
31
|
+
* @name ClaudeChunkTag
|
|
32
|
+
* @description The classification of a run of pane lines.
|
|
33
|
+
* - `thinkingBlock` — "Thinking for {N}s…" / "Thought for Ns" headers,
|
|
34
|
+
* their reasoning body, and the post-thinking trailer.
|
|
35
|
+
* - `toolHeader` — a tool-call header line (`● Bash(…)`, `✓ Read(…)`).
|
|
36
|
+
* - `toolBody` — the `⎿` result body + its fenced/indented body.
|
|
37
|
+
* - `subagentPanelPreview` — the tool-PREVIEW chatter the TUI draws under a
|
|
38
|
+
* running `◯` sub-agent panel (`⎿ Bash(…)` previews,
|
|
39
|
+
* "… +N tool uses" walls) — distinct from the ◯
|
|
40
|
+
* title line itself (progress, tagged chrome).
|
|
41
|
+
* - `prose` — real agent answer text (the conservative default).
|
|
42
|
+
* - `chrome` — TUI chrome the relay already drops (box-drawing,
|
|
43
|
+
* nav hints, question/survey chrome, input echo,
|
|
44
|
+
* installer ads, ◯ panel title, spinner ticks).
|
|
45
|
+
*/
|
|
46
|
+
export declare enum ClaudeChunkTag {
|
|
47
|
+
ThinkingBlock = "thinkingBlock",
|
|
48
|
+
ToolHeader = "toolHeader",
|
|
49
|
+
ToolBody = "toolBody",
|
|
50
|
+
SubagentPanelPreview = "subagentPanelPreview",
|
|
51
|
+
Prose = "prose",
|
|
52
|
+
Chrome = "chrome"
|
|
53
|
+
}
|
|
54
|
+
/** One classified run of consecutive same-tag lines, original order preserved. */
|
|
55
|
+
export interface ClaudeChunkSegment {
|
|
56
|
+
tag: ClaudeChunkTag;
|
|
57
|
+
text: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @description Fence / block state threaded BETWEEN poll chunks — mirrors the
|
|
61
|
+
* adapter's `session.openToolKind`. A tool body, a thinking block, or a
|
|
62
|
+
* sub-agent panel can span the boundary between two scraped chunks (Claude
|
|
63
|
+
* redraws the whole pane each poll; the diff emits only NEW lines, so a slow
|
|
64
|
+
* command's output arrives in a later poll without its header).
|
|
65
|
+
*/
|
|
66
|
+
export interface ClaudeChunkContext {
|
|
67
|
+
/** Open tool-result kind (`output`/`file`) whose body is still streaming, or null. */
|
|
68
|
+
toolKind: ToolResultKind | null;
|
|
69
|
+
/** A "Thinking for…" block is open and its reasoning body is still streaming. */
|
|
70
|
+
isThinkingOpen: boolean;
|
|
71
|
+
/** A `◯` sub-agent panel is on screen, so its `⎿`/`Tool(…)` previews are panel chatter. */
|
|
72
|
+
isSubagentPanelOpen: boolean;
|
|
73
|
+
}
|
|
74
|
+
/** The all-closed starting context (also used when a fresh session begins). */
|
|
75
|
+
export declare function createInitialChunkContext(): ClaudeChunkContext;
|
|
76
|
+
/** Result of classifying one chunk: ordered segments + the context to thread on. */
|
|
77
|
+
export interface ClaudeChunkClassification {
|
|
78
|
+
segments: ClaudeChunkSegment[];
|
|
79
|
+
outgoingContext: ClaudeChunkContext;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @description Classify one scraped, ANSI-cleaned chunk into tagged segments,
|
|
83
|
+
* threading {@link ClaudeChunkContext} across polls.
|
|
84
|
+
*
|
|
85
|
+
* Per-line precedence (first match wins), then adjacent same-tag lines coalesce:
|
|
86
|
+
* 1. blank line → inherits the still-open block's tag (keeps a body contiguous)
|
|
87
|
+
* 2. code fence → toggles an agent fence; inside it everything is prose
|
|
88
|
+
* 3. ◯ panel title / spinner tick / generic chrome → `chrome` (sets panel flag)
|
|
89
|
+
* 4. sub-agent panel preview (`⎿ Tool(…)`, indented `Tool(…)`, "+N tool uses"
|
|
90
|
+
* while a panel is open) → `subagentPanelPreview`
|
|
91
|
+
* 5. thinking header / trailer / open-thinking body → `thinkingBlock`
|
|
92
|
+
* 6. tool header → `toolHeader` (opens the matching kind)
|
|
93
|
+
* 7. `⎿` marker / indented continuation of an open tool kind → `toolBody`
|
|
94
|
+
* 8. anything else → `prose` (closes any open tool/thinking block)
|
|
95
|
+
*/
|
|
96
|
+
export declare function classifyClaudeChunk(chunkText: string, incomingContext: ClaudeChunkContext): ClaudeChunkClassification;
|
|
97
|
+
//# sourceMappingURL=claudeChunkClassifier.d.ts.map
|