charness 0.0.0-stage → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +88 -0
- package/DEVELOPMENT.md +110 -0
- package/LICENSE +21 -0
- package/MIGRATION_1_TO_2.md +24 -0
- package/README.md +1024 -2
- package/dist/accessControl.d.ts +71 -0
- package/dist/accessControl.d.ts.map +1 -0
- package/dist/accessControl.js +108 -0
- package/dist/accessControl.js.map +1 -0
- package/dist/adapters/adapterEventRouting.d.ts +51 -0
- package/dist/adapters/adapterEventRouting.d.ts.map +1 -0
- package/dist/adapters/adapterEventRouting.js +74 -0
- package/dist/adapters/adapterEventRouting.js.map +1 -0
- package/dist/adapters/adapterNames.d.ts +19 -0
- package/dist/adapters/adapterNames.d.ts.map +1 -0
- package/dist/adapters/adapterNames.js +25 -0
- package/dist/adapters/adapterNames.js.map +1 -0
- package/dist/adapters/claudeCliAdapter.d.ts +1336 -0
- package/dist/adapters/claudeCliAdapter.d.ts.map +1 -0
- package/dist/adapters/claudeCliAdapter.js +4204 -0
- package/dist/adapters/claudeCliAdapter.js.map +1 -0
- package/dist/adapters/claudeJsonStreamAdapter.d.ts +548 -0
- package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -0
- package/dist/adapters/claudeJsonStreamAdapter.js +1810 -0
- package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -0
- package/dist/adapters/claudePlatformFlags.d.ts +35 -0
- package/dist/adapters/claudePlatformFlags.d.ts.map +1 -0
- package/dist/adapters/claudePlatformFlags.js +46 -0
- package/dist/adapters/claudePlatformFlags.js.map +1 -0
- package/dist/adapters/createAdapter.d.ts +252 -0
- package/dist/adapters/createAdapter.d.ts.map +1 -0
- package/dist/adapters/createAdapter.js +475 -0
- package/dist/adapters/createAdapter.js.map +1 -0
- package/dist/adapters/openCodeAdapter.d.ts +1446 -0
- package/dist/adapters/openCodeAdapter.d.ts.map +1 -0
- package/dist/adapters/openCodeAdapter.js +4540 -0
- package/dist/adapters/openCodeAdapter.js.map +1 -0
- package/dist/adapters/sessionLaunchDefaults.d.ts +28 -0
- package/dist/adapters/sessionLaunchDefaults.d.ts.map +1 -0
- package/dist/adapters/sessionLaunchDefaults.js +15 -0
- package/dist/adapters/sessionLaunchDefaults.js.map +1 -0
- package/dist/adapters/terminalAdapter.d.ts +68 -0
- package/dist/adapters/terminalAdapter.d.ts.map +1 -0
- package/dist/adapters/terminalAdapter.js +371 -0
- package/dist/adapters/terminalAdapter.js.map +1 -0
- package/dist/agentLogin/agentLogin.d.ts +31 -0
- package/dist/agentLogin/agentLogin.d.ts.map +1 -0
- package/dist/agentLogin/agentLogin.js +493 -0
- package/dist/agentLogin/agentLogin.js.map +1 -0
- package/dist/agentTrigger.d.ts +28 -0
- package/dist/agentTrigger.d.ts.map +1 -0
- package/dist/agentTrigger.js +53 -0
- package/dist/agentTrigger.js.map +1 -0
- package/dist/apiErrorRetry.d.ts +209 -0
- package/dist/apiErrorRetry.d.ts.map +1 -0
- package/dist/apiErrorRetry.js +351 -0
- package/dist/apiErrorRetry.js.map +1 -0
- package/dist/apiRetryKick.d.ts +148 -0
- package/dist/apiRetryKick.d.ts.map +1 -0
- package/dist/apiRetryKick.js +158 -0
- package/dist/apiRetryKick.js.map +1 -0
- package/dist/bootClassifier.d.ts +46 -0
- package/dist/bootClassifier.d.ts.map +1 -0
- package/dist/bootClassifier.js +43 -0
- package/dist/bootClassifier.js.map +1 -0
- package/dist/bot.d.ts +207 -0
- package/dist/bot.d.ts.map +1 -0
- package/dist/bot.js +10611 -0
- package/dist/bot.js.map +1 -0
- package/dist/botFileStorage.d.ts +60 -0
- package/dist/botFileStorage.d.ts.map +1 -0
- package/dist/botFileStorage.js +205 -0
- package/dist/botFileStorage.js.map +1 -0
- package/dist/cli/applyDnsFix.d.ts +7 -0
- package/dist/cli/applyDnsFix.d.ts.map +1 -0
- package/dist/cli/applyDnsFix.js +46 -0
- package/dist/cli/applyDnsFix.js.map +1 -0
- package/dist/cli/bot.d.ts +27 -0
- package/dist/cli/bot.d.ts.map +1 -0
- package/dist/cli/bot.js +98 -0
- package/dist/cli/bot.js.map +1 -0
- package/dist/cli/botEntry.d.ts +3 -0
- package/dist/cli/botEntry.d.ts.map +1 -0
- package/dist/cli/botEntry.js +11 -0
- package/dist/cli/botEntry.js.map +1 -0
- package/dist/cli/connectorGuards.d.ts +31 -0
- package/dist/cli/connectorGuards.d.ts.map +1 -0
- package/dist/cli/connectorGuards.js +159 -0
- package/dist/cli/connectorGuards.js.map +1 -0
- package/dist/cli/envLoader.d.ts +34 -0
- package/dist/cli/envLoader.d.ts.map +1 -0
- package/dist/cli/envLoader.js +132 -0
- package/dist/cli/envLoader.js.map +1 -0
- package/dist/cli/hot.d.ts +82 -0
- package/dist/cli/hot.d.ts.map +1 -0
- package/dist/cli/hot.js +323 -0
- package/dist/cli/hot.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +130 -0
- package/dist/cli.js.map +1 -0
- package/dist/connectors/jira/adf.d.ts +72 -0
- package/dist/connectors/jira/adf.d.ts.map +1 -0
- package/dist/connectors/jira/adf.js +407 -0
- package/dist/connectors/jira/adf.js.map +1 -0
- package/dist/connectors/jira/agentBinaries.d.ts +14 -0
- package/dist/connectors/jira/agentBinaries.d.ts.map +1 -0
- package/dist/connectors/jira/agentBinaries.js +75 -0
- package/dist/connectors/jira/agentBinaries.js.map +1 -0
- package/dist/connectors/jira/answerSink.d.ts +52 -0
- package/dist/connectors/jira/answerSink.d.ts.map +1 -0
- package/dist/connectors/jira/answerSink.js +220 -0
- package/dist/connectors/jira/answerSink.js.map +1 -0
- package/dist/connectors/jira/attachmentDownload.d.ts +41 -0
- package/dist/connectors/jira/attachmentDownload.d.ts.map +1 -0
- package/dist/connectors/jira/attachmentDownload.js +92 -0
- package/dist/connectors/jira/attachmentDownload.js.map +1 -0
- package/dist/connectors/jira/attachmentTool.d.ts +43 -0
- package/dist/connectors/jira/attachmentTool.d.ts.map +1 -0
- package/dist/connectors/jira/attachmentTool.js +150 -0
- package/dist/connectors/jira/attachmentTool.js.map +1 -0
- package/dist/connectors/jira/client.d.ts +490 -0
- package/dist/connectors/jira/client.d.ts.map +1 -0
- package/dist/connectors/jira/client.js +453 -0
- package/dist/connectors/jira/client.js.map +1 -0
- package/dist/connectors/jira/config.d.ts +117 -0
- package/dist/connectors/jira/config.d.ts.map +1 -0
- package/dist/connectors/jira/config.js +350 -0
- package/dist/connectors/jira/config.js.map +1 -0
- package/dist/connectors/jira/configFile.d.ts +10 -0
- package/dist/connectors/jira/configFile.d.ts.map +1 -0
- package/dist/connectors/jira/configFile.js +50 -0
- package/dist/connectors/jira/configFile.js.map +1 -0
- package/dist/connectors/jira/connector.d.ts +68 -0
- package/dist/connectors/jira/connector.d.ts.map +1 -0
- package/dist/connectors/jira/connector.js +257 -0
- package/dist/connectors/jira/connector.js.map +1 -0
- package/dist/connectors/jira/contextLedger.d.ts +59 -0
- package/dist/connectors/jira/contextLedger.d.ts.map +1 -0
- package/dist/connectors/jira/contextLedger.js +194 -0
- package/dist/connectors/jira/contextLedger.js.map +1 -0
- package/dist/connectors/jira/contextPreamble.d.ts +18 -0
- package/dist/connectors/jira/contextPreamble.d.ts.map +1 -0
- package/dist/connectors/jira/contextPreamble.js +31 -0
- package/dist/connectors/jira/contextPreamble.js.map +1 -0
- package/dist/connectors/jira/inbound.d.ts +132 -0
- package/dist/connectors/jira/inbound.d.ts.map +1 -0
- package/dist/connectors/jira/inbound.js +316 -0
- package/dist/connectors/jira/inbound.js.map +1 -0
- package/dist/connectors/jira/issueBlocks.d.ts +51 -0
- package/dist/connectors/jira/issueBlocks.d.ts.map +1 -0
- package/dist/connectors/jira/issueBlocks.js +182 -0
- package/dist/connectors/jira/issueBlocks.js.map +1 -0
- package/dist/connectors/jira/issueContext.d.ts +25 -0
- package/dist/connectors/jira/issueContext.d.ts.map +1 -0
- package/dist/connectors/jira/issueContext.js +53 -0
- package/dist/connectors/jira/issueContext.js.map +1 -0
- package/dist/connectors/jira/issueDelta.d.ts +35 -0
- package/dist/connectors/jira/issueDelta.d.ts.map +1 -0
- package/dist/connectors/jira/issueDelta.js +50 -0
- package/dist/connectors/jira/issueDelta.js.map +1 -0
- package/dist/connectors/jira/mediaPlaceholders.d.ts +20 -0
- package/dist/connectors/jira/mediaPlaceholders.d.ts.map +1 -0
- package/dist/connectors/jira/mediaPlaceholders.js +92 -0
- package/dist/connectors/jira/mediaPlaceholders.js.map +1 -0
- package/dist/connectors/jira/outbound.d.ts +6 -0
- package/dist/connectors/jira/outbound.d.ts.map +1 -0
- package/dist/connectors/jira/outbound.js +38 -0
- package/dist/connectors/jira/outbound.js.map +1 -0
- package/dist/connectors/jira/prompt.d.ts +37 -0
- package/dist/connectors/jira/prompt.d.ts.map +1 -0
- package/dist/connectors/jira/prompt.js +99 -0
- package/dist/connectors/jira/prompt.js.map +1 -0
- package/dist/connectors/jira/promptSpill.d.ts +50 -0
- package/dist/connectors/jira/promptSpill.d.ts.map +1 -0
- package/dist/connectors/jira/promptSpill.js +157 -0
- package/dist/connectors/jira/promptSpill.js.map +1 -0
- package/dist/connectors/jira/promptText.d.ts +7 -0
- package/dist/connectors/jira/promptText.d.ts.map +1 -0
- package/dist/connectors/jira/promptText.js +26 -0
- package/dist/connectors/jira/promptText.js.map +1 -0
- package/dist/connectors/jira/sessionKeyCodec.d.ts +16 -0
- package/dist/connectors/jira/sessionKeyCodec.d.ts.map +1 -0
- package/dist/connectors/jira/sessionKeyCodec.js +101 -0
- package/dist/connectors/jira/sessionKeyCodec.js.map +1 -0
- package/dist/connectors/jira/trigger.d.ts +50 -0
- package/dist/connectors/jira/trigger.d.ts.map +1 -0
- package/dist/connectors/jira/trigger.js +93 -0
- package/dist/connectors/jira/trigger.js.map +1 -0
- package/dist/connectors/jira/triggerLog.d.ts +51 -0
- package/dist/connectors/jira/triggerLog.d.ts.map +1 -0
- package/dist/connectors/jira/triggerLog.js +78 -0
- package/dist/connectors/jira/triggerLog.js.map +1 -0
- package/dist/connectors/jira/unconfirmedPosts.d.ts +58 -0
- package/dist/connectors/jira/unconfirmedPosts.d.ts.map +1 -0
- package/dist/connectors/jira/unconfirmedPosts.js +105 -0
- package/dist/connectors/jira/unconfirmedPosts.js.map +1 -0
- package/dist/connectors/telegram/answerSink.d.ts +46 -0
- package/dist/connectors/telegram/answerSink.d.ts.map +1 -0
- package/dist/connectors/telegram/answerSink.js +71 -0
- package/dist/connectors/telegram/answerSink.js.map +1 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.d.ts +31 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.js +142 -0
- package/dist/connectors/telegram/commands/autoContinueLimits.js.map +1 -0
- package/dist/connectors/telegram/commands/botCore.d.ts +46 -0
- package/dist/connectors/telegram/commands/botCore.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/botCore.js +3 -0
- package/dist/connectors/telegram/commands/botCore.js.map +1 -0
- package/dist/connectors/telegram/commands/callbackMessage.d.ts +12 -0
- package/dist/connectors/telegram/commands/callbackMessage.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/callbackMessage.js +13 -0
- package/dist/connectors/telegram/commands/callbackMessage.js.map +1 -0
- package/dist/connectors/telegram/commands/compaction.d.ts +47 -0
- package/dist/connectors/telegram/commands/compaction.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/compaction.js +868 -0
- package/dist/connectors/telegram/commands/compaction.js.map +1 -0
- package/dist/connectors/telegram/commands/displayModes.d.ts +13 -0
- package/dist/connectors/telegram/commands/displayModes.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/displayModes.js +335 -0
- package/dist/connectors/telegram/commands/displayModes.js.map +1 -0
- package/dist/connectors/telegram/commands/modelProviders.d.ts +95 -0
- package/dist/connectors/telegram/commands/modelProviders.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/modelProviders.js +841 -0
- package/dist/connectors/telegram/commands/modelProviders.js.map +1 -0
- package/dist/connectors/telegram/commands/reminders.d.ts +54 -0
- package/dist/connectors/telegram/commands/reminders.d.ts.map +1 -0
- package/dist/connectors/telegram/commands/reminders.js +624 -0
- package/dist/connectors/telegram/commands/reminders.js.map +1 -0
- package/dist/connectors/telegram/fileIntake.d.ts +166 -0
- package/dist/connectors/telegram/fileIntake.d.ts.map +1 -0
- package/dist/connectors/telegram/fileIntake.js +304 -0
- package/dist/connectors/telegram/fileIntake.js.map +1 -0
- package/dist/connectors/telegram/fileSendGateway.d.ts +57 -0
- package/dist/connectors/telegram/fileSendGateway.d.ts.map +1 -0
- package/dist/connectors/telegram/fileSendGateway.js +221 -0
- package/dist/connectors/telegram/fileSendGateway.js.map +1 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.d.ts +52 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.d.ts.map +1 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.js +71 -0
- package/dist/connectors/telegram/foreignKeyFallbacks.js.map +1 -0
- package/dist/connectors/telegram/inbound.d.ts +131 -0
- package/dist/connectors/telegram/inbound.d.ts.map +1 -0
- package/dist/connectors/telegram/inbound.js +278 -0
- package/dist/connectors/telegram/inbound.js.map +1 -0
- package/dist/connectors/telegram/languagePicker.d.ts +32 -0
- package/dist/connectors/telegram/languagePicker.d.ts.map +1 -0
- package/dist/connectors/telegram/languagePicker.js +55 -0
- package/dist/connectors/telegram/languagePicker.js.map +1 -0
- package/dist/connectors/telegram/messageSplit.d.ts +62 -0
- package/dist/connectors/telegram/messageSplit.d.ts.map +1 -0
- package/dist/connectors/telegram/messageSplit.js +119 -0
- package/dist/connectors/telegram/messageSplit.js.map +1 -0
- package/dist/connectors/telegram/outbound.d.ts +62 -0
- package/dist/connectors/telegram/outbound.d.ts.map +1 -0
- package/dist/connectors/telegram/outbound.js +116 -0
- package/dist/connectors/telegram/outbound.js.map +1 -0
- package/dist/connectors/telegram/output/createOutputTransport.d.ts +34 -0
- package/dist/connectors/telegram/output/createOutputTransport.d.ts.map +1 -0
- package/dist/connectors/telegram/output/createOutputTransport.js +77 -0
- package/dist/connectors/telegram/output/createOutputTransport.js.map +1 -0
- package/dist/connectors/telegram/output/dmOutputTransport.d.ts +47 -0
- package/dist/connectors/telegram/output/dmOutputTransport.d.ts.map +1 -0
- package/dist/connectors/telegram/output/dmOutputTransport.js +412 -0
- package/dist/connectors/telegram/output/dmOutputTransport.js.map +1 -0
- package/dist/connectors/telegram/outputBacklogGlue.d.ts +38 -0
- package/dist/connectors/telegram/outputBacklogGlue.d.ts.map +1 -0
- package/dist/connectors/telegram/outputBacklogGlue.js +49 -0
- package/dist/connectors/telegram/outputBacklogGlue.js.map +1 -0
- package/dist/connectors/telegram/outputFlushPlan.d.ts +93 -0
- package/dist/connectors/telegram/outputFlushPlan.d.ts.map +1 -0
- package/dist/connectors/telegram/outputFlushPlan.js +120 -0
- package/dist/connectors/telegram/outputFlushPlan.js.map +1 -0
- package/dist/connectors/telegram/questionKeyboards.d.ts +30 -0
- package/dist/connectors/telegram/questionKeyboards.d.ts.map +1 -0
- package/dist/connectors/telegram/questionKeyboards.js +37 -0
- package/dist/connectors/telegram/questionKeyboards.js.map +1 -0
- package/dist/connectors/telegram/renderAgentHtml.d.ts +27 -0
- package/dist/connectors/telegram/renderAgentHtml.d.ts.map +1 -0
- package/dist/connectors/telegram/renderAgentHtml.js +97 -0
- package/dist/connectors/telegram/renderAgentHtml.js.map +1 -0
- package/dist/connectors/telegram/sessionKeyCodec.d.ts +28 -0
- package/dist/connectors/telegram/sessionKeyCodec.d.ts.map +1 -0
- package/dist/connectors/telegram/sessionKeyCodec.js +107 -0
- package/dist/connectors/telegram/sessionKeyCodec.js.map +1 -0
- package/dist/connectors/telegram/telegramCallGuard.d.ts +19 -0
- package/dist/connectors/telegram/telegramCallGuard.d.ts.map +1 -0
- package/dist/connectors/telegram/telegramCallGuard.js +35 -0
- package/dist/connectors/telegram/telegramCallGuard.js.map +1 -0
- package/dist/connectors/telegram/timezonePicker.d.ts +85 -0
- package/dist/connectors/telegram/timezonePicker.d.ts.map +1 -0
- package/dist/connectors/telegram/timezonePicker.js +142 -0
- package/dist/connectors/telegram/timezonePicker.js.map +1 -0
- package/dist/connectors/telegram/updateDispatcher.d.ts +85 -0
- package/dist/connectors/telegram/updateDispatcher.d.ts.map +1 -0
- package/dist/connectors/telegram/updateDispatcher.js +159 -0
- package/dist/connectors/telegram/updateDispatcher.js.map +1 -0
- package/dist/connectors/test/connector.d.ts +52 -0
- package/dist/connectors/test/connector.d.ts.map +1 -0
- package/dist/connectors/test/connector.js +143 -0
- package/dist/connectors/test/connector.js.map +1 -0
- package/dist/connectors/test/sessionKeyCodec.d.ts +25 -0
- package/dist/connectors/test/sessionKeyCodec.d.ts.map +1 -0
- package/dist/connectors/test/sessionKeyCodec.js +50 -0
- package/dist/connectors/test/sessionKeyCodec.js.map +1 -0
- package/dist/diagLog.d.ts +6 -0
- package/dist/diagLog.d.ts.map +1 -0
- package/dist/diagLog.js +58 -0
- package/dist/diagLog.js.map +1 -0
- package/dist/effortLevels.d.ts +68 -0
- package/dist/effortLevels.d.ts.map +1 -0
- package/dist/effortLevels.js +114 -0
- package/dist/effortLevels.js.map +1 -0
- package/dist/folderName.d.ts +42 -0
- package/dist/folderName.d.ts.map +1 -0
- package/dist/folderName.js +51 -0
- package/dist/folderName.js.map +1 -0
- package/dist/i18n/de.d.ts +2 -0
- package/dist/i18n/de.d.ts.map +1 -0
- package/dist/i18n/de.js +537 -0
- package/dist/i18n/de.js.map +1 -0
- package/dist/i18n/en.d.ts +7 -0
- package/dist/i18n/en.d.ts.map +1 -0
- package/dist/i18n/en.js +566 -0
- package/dist/i18n/en.js.map +1 -0
- package/dist/i18n/es.d.ts +2 -0
- package/dist/i18n/es.d.ts.map +1 -0
- package/dist/i18n/es.js +537 -0
- package/dist/i18n/es.js.map +1 -0
- package/dist/i18n/fr.d.ts +2 -0
- package/dist/i18n/fr.d.ts.map +1 -0
- package/dist/i18n/fr.js +537 -0
- package/dist/i18n/fr.js.map +1 -0
- package/dist/i18n/hi.d.ts +2 -0
- package/dist/i18n/hi.d.ts.map +1 -0
- package/dist/i18n/hi.js +537 -0
- package/dist/i18n/hi.js.map +1 -0
- package/dist/i18n/ja.d.ts +2 -0
- package/dist/i18n/ja.d.ts.map +1 -0
- package/dist/i18n/ja.js +537 -0
- package/dist/i18n/ja.js.map +1 -0
- package/dist/i18n/ka.d.ts +2 -0
- package/dist/i18n/ka.d.ts.map +1 -0
- package/dist/i18n/ka.js +537 -0
- package/dist/i18n/ka.js.map +1 -0
- package/dist/i18n/pt.d.ts +2 -0
- package/dist/i18n/pt.d.ts.map +1 -0
- package/dist/i18n/pt.js +537 -0
- package/dist/i18n/pt.js.map +1 -0
- package/dist/i18n/ru.d.ts +6 -0
- package/dist/i18n/ru.d.ts.map +1 -0
- package/dist/i18n/ru.js +540 -0
- package/dist/i18n/ru.js.map +1 -0
- package/dist/i18n/uk.d.ts +8 -0
- package/dist/i18n/uk.d.ts.map +1 -0
- package/dist/i18n/uk.js +542 -0
- package/dist/i18n/uk.js.map +1 -0
- package/dist/i18n/uz.d.ts +2 -0
- package/dist/i18n/uz.d.ts.map +1 -0
- package/dist/i18n/uz.js +537 -0
- package/dist/i18n/uz.js.map +1 -0
- package/dist/i18n/zh.d.ts +2 -0
- package/dist/i18n/zh.d.ts.map +1 -0
- package/dist/i18n/zh.js +537 -0
- package/dist/i18n/zh.js.map +1 -0
- package/dist/i18n.d.ts +115 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +233 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/installManager.d.ts +99 -0
- package/dist/installManager.d.ts.map +1 -0
- package/dist/installManager.js +943 -0
- package/dist/installManager.js.map +1 -0
- package/dist/instanceLock.d.ts +161 -0
- package/dist/instanceLock.d.ts.map +1 -0
- package/dist/instanceLock.js +388 -0
- package/dist/instanceLock.js.map +1 -0
- package/dist/mcpConfig.d.ts +76 -0
- package/dist/mcpConfig.d.ts.map +1 -0
- package/dist/mcpConfig.js +270 -0
- package/dist/mcpConfig.js.map +1 -0
- package/dist/openCodeOpenQuestion.d.ts +44 -0
- package/dist/openCodeOpenQuestion.d.ts.map +1 -0
- package/dist/openCodeOpenQuestion.js +64 -0
- package/dist/openCodeOpenQuestion.js.map +1 -0
- package/dist/openCodeQuestionFlow.d.ts +105 -0
- package/dist/openCodeQuestionFlow.d.ts.map +1 -0
- package/dist/openCodeQuestionFlow.js +143 -0
- package/dist/openCodeQuestionFlow.js.map +1 -0
- package/dist/openCodeSessionRouting.d.ts +133 -0
- package/dist/openCodeSessionRouting.d.ts.map +1 -0
- package/dist/openCodeSessionRouting.js +253 -0
- package/dist/openCodeSessionRouting.js.map +1 -0
- package/dist/openCodeSessionTitle.d.ts +50 -0
- package/dist/openCodeSessionTitle.d.ts.map +1 -0
- package/dist/openCodeSessionTitle.js +84 -0
- package/dist/openCodeSessionTitle.js.map +1 -0
- package/dist/outputTrace.d.ts +108 -0
- package/dist/outputTrace.d.ts.map +1 -0
- package/dist/outputTrace.js +430 -0
- package/dist/outputTrace.js.map +1 -0
- package/dist/pendingQuestionRepost.d.ts +47 -0
- package/dist/pendingQuestionRepost.d.ts.map +1 -0
- package/dist/pendingQuestionRepost.js +29 -0
- package/dist/pendingQuestionRepost.js.map +1 -0
- package/dist/pinnedStatus.d.ts +52 -0
- package/dist/pinnedStatus.d.ts.map +1 -0
- package/dist/pinnedStatus.js +36 -0
- package/dist/pinnedStatus.js.map +1 -0
- package/dist/platform/answerSink.d.ts +93 -0
- package/dist/platform/answerSink.d.ts.map +1 -0
- package/dist/platform/answerSink.js +31 -0
- package/dist/platform/answerSink.js.map +1 -0
- package/dist/platform/capabilityFallback.d.ts +39 -0
- package/dist/platform/capabilityFallback.d.ts.map +1 -0
- package/dist/platform/capabilityFallback.js +55 -0
- package/dist/platform/capabilityFallback.js.map +1 -0
- package/dist/platform/commandRouter.d.ts +51 -0
- package/dist/platform/commandRouter.d.ts.map +1 -0
- package/dist/platform/commandRouter.js +53 -0
- package/dist/platform/commandRouter.js.map +1 -0
- package/dist/platform/connectorSet.d.ts +39 -0
- package/dist/platform/connectorSet.d.ts.map +1 -0
- package/dist/platform/connectorSet.js +55 -0
- package/dist/platform/connectorSet.js.map +1 -0
- package/dist/platform/inbound.d.ts +147 -0
- package/dist/platform/inbound.d.ts.map +1 -0
- package/dist/platform/inbound.js +18 -0
- package/dist/platform/inbound.js.map +1 -0
- package/dist/platform/outbound.d.ts +225 -0
- package/dist/platform/outbound.d.ts.map +1 -0
- package/dist/platform/outbound.js +30 -0
- package/dist/platform/outbound.js.map +1 -0
- package/dist/platform/unservedStateGuard.d.ts +27 -0
- package/dist/platform/unservedStateGuard.d.ts.map +1 -0
- package/dist/platform/unservedStateGuard.js +42 -0
- package/dist/platform/unservedStateGuard.js.map +1 -0
- package/dist/postToSession.d.ts +94 -0
- package/dist/postToSession.d.ts.map +1 -0
- package/dist/postToSession.js +56 -0
- package/dist/postToSession.js.map +1 -0
- package/dist/progressLine.d.ts +180 -0
- package/dist/progressLine.d.ts.map +1 -0
- package/dist/progressLine.js +293 -0
- package/dist/progressLine.js.map +1 -0
- package/dist/rateLimiter.d.ts +246 -0
- package/dist/rateLimiter.d.ts.map +1 -0
- package/dist/rateLimiter.js +555 -0
- package/dist/rateLimiter.js.map +1 -0
- package/dist/requests/answerRequest.d.ts +57 -0
- package/dist/requests/answerRequest.d.ts.map +1 -0
- package/dist/requests/answerRequest.js +96 -0
- package/dist/requests/answerRequest.js.map +1 -0
- package/dist/requests/answerTail.d.ts +83 -0
- package/dist/requests/answerTail.d.ts.map +1 -0
- package/dist/requests/answerTail.js +102 -0
- package/dist/requests/answerTail.js.map +1 -0
- package/dist/requests/limitWaitAnswer.d.ts +87 -0
- package/dist/requests/limitWaitAnswer.d.ts.map +1 -0
- package/dist/requests/limitWaitAnswer.js +83 -0
- package/dist/requests/limitWaitAnswer.js.map +1 -0
- package/dist/requests/requestGroup.d.ts +44 -0
- package/dist/requests/requestGroup.d.ts.map +1 -0
- package/dist/requests/requestGroup.js +63 -0
- package/dist/requests/requestGroup.js.map +1 -0
- package/dist/requests/requestHeader.d.ts +70 -0
- package/dist/requests/requestHeader.d.ts.map +1 -0
- package/dist/requests/requestHeader.js +83 -0
- package/dist/requests/requestHeader.js.map +1 -0
- package/dist/requests/requestLedger.d.ts +217 -0
- package/dist/requests/requestLedger.d.ts.map +1 -0
- package/dist/requests/requestLedger.js +468 -0
- package/dist/requests/requestLedger.js.map +1 -0
- package/dist/requests/sessionTurnProbe.d.ts +52 -0
- package/dist/requests/sessionTurnProbe.d.ts.map +1 -0
- package/dist/requests/sessionTurnProbe.js +29 -0
- package/dist/requests/sessionTurnProbe.js.map +1 -0
- package/dist/requests/types.d.ts +181 -0
- package/dist/requests/types.d.ts.map +1 -0
- package/dist/requests/types.js +9 -0
- package/dist/requests/types.js.map +1 -0
- package/dist/requests/wakeUpEngine.d.ts +160 -0
- package/dist/requests/wakeUpEngine.d.ts.map +1 -0
- package/dist/requests/wakeUpEngine.js +399 -0
- package/dist/requests/wakeUpEngine.js.map +1 -0
- package/dist/requests/wakeUpRules.d.ts +151 -0
- package/dist/requests/wakeUpRules.d.ts.map +1 -0
- package/dist/requests/wakeUpRules.js +167 -0
- package/dist/requests/wakeUpRules.js.map +1 -0
- package/dist/resumeContext.d.ts +87 -0
- package/dist/resumeContext.d.ts.map +1 -0
- package/dist/resumeContext.js +114 -0
- package/dist/resumeContext.js.map +1 -0
- package/dist/scheduler/checkRun.d.ts +95 -0
- package/dist/scheduler/checkRun.d.ts.map +1 -0
- package/dist/scheduler/checkRun.js +172 -0
- package/dist/scheduler/checkRun.js.map +1 -0
- package/dist/scheduler/delivery.d.ts +99 -0
- package/dist/scheduler/delivery.d.ts.map +1 -0
- package/dist/scheduler/delivery.js +212 -0
- package/dist/scheduler/delivery.js.map +1 -0
- package/dist/scheduler/deliveryKind.d.ts +29 -0
- package/dist/scheduler/deliveryKind.d.ts.map +1 -0
- package/dist/scheduler/deliveryKind.js +39 -0
- package/dist/scheduler/deliveryKind.js.map +1 -0
- package/dist/scheduler/directoryThreads.d.ts +19 -0
- package/dist/scheduler/directoryThreads.d.ts.map +1 -0
- package/dist/scheduler/directoryThreads.js +28 -0
- package/dist/scheduler/directoryThreads.js.map +1 -0
- package/dist/scheduler/engine.d.ts +77 -0
- package/dist/scheduler/engine.d.ts.map +1 -0
- package/dist/scheduler/engine.js +337 -0
- package/dist/scheduler/engine.js.map +1 -0
- package/dist/scheduler/injection.d.ts +102 -0
- package/dist/scheduler/injection.d.ts.map +1 -0
- package/dist/scheduler/injection.js +122 -0
- package/dist/scheduler/injection.js.map +1 -0
- package/dist/scheduler/mcpBoot.d.ts +65 -0
- package/dist/scheduler/mcpBoot.d.ts.map +1 -0
- package/dist/scheduler/mcpBoot.js +60 -0
- package/dist/scheduler/mcpBoot.js.map +1 -0
- package/dist/scheduler/mcpSurface.d.ts +355 -0
- package/dist/scheduler/mcpSurface.d.ts.map +1 -0
- package/dist/scheduler/mcpSurface.js +1257 -0
- package/dist/scheduler/mcpSurface.js.map +1 -0
- package/dist/scheduler/rebindResume.d.ts +27 -0
- package/dist/scheduler/rebindResume.d.ts.map +1 -0
- package/dist/scheduler/rebindResume.js +17 -0
- package/dist/scheduler/rebindResume.js.map +1 -0
- package/dist/scheduler/recurrence.d.ts +58 -0
- package/dist/scheduler/recurrence.d.ts.map +1 -0
- package/dist/scheduler/recurrence.js +210 -0
- package/dist/scheduler/recurrence.js.map +1 -0
- package/dist/scheduler/runLedger.d.ts +59 -0
- package/dist/scheduler/runLedger.d.ts.map +1 -0
- package/dist/scheduler/runLedger.js +54 -0
- package/dist/scheduler/runLedger.js.map +1 -0
- package/dist/scheduler/store.d.ts +97 -0
- package/dist/scheduler/store.d.ts.map +1 -0
- package/dist/scheduler/store.js +124 -0
- package/dist/scheduler/store.js.map +1 -0
- package/dist/scheduler/timezoneRecompute.d.ts +61 -0
- package/dist/scheduler/timezoneRecompute.d.ts.map +1 -0
- package/dist/scheduler/timezoneRecompute.js +46 -0
- package/dist/scheduler/timezoneRecompute.js.map +1 -0
- package/dist/scheduler/types.d.ts +139 -0
- package/dist/scheduler/types.d.ts.map +1 -0
- package/dist/scheduler/types.js +8 -0
- package/dist/scheduler/types.js.map +1 -0
- package/dist/sendErrorClassifier.d.ts +45 -0
- package/dist/sendErrorClassifier.d.ts.map +1 -0
- package/dist/sendErrorClassifier.js +65 -0
- package/dist/sendErrorClassifier.js.map +1 -0
- package/dist/sessionKey.d.ts +136 -0
- package/dist/sessionKey.d.ts.map +1 -0
- package/dist/sessionKey.js +153 -0
- package/dist/sessionKey.js.map +1 -0
- package/dist/sessionPick.d.ts +42 -0
- package/dist/sessionPick.d.ts.map +1 -0
- package/dist/sessionPick.js +39 -0
- package/dist/sessionPick.js.map +1 -0
- package/dist/shutdown.d.ts +126 -0
- package/dist/shutdown.d.ts.map +1 -0
- package/dist/shutdown.js +164 -0
- package/dist/shutdown.js.map +1 -0
- package/dist/startupPromptBuffer.d.ts +85 -0
- package/dist/startupPromptBuffer.d.ts.map +1 -0
- package/dist/startupPromptBuffer.js +123 -0
- package/dist/startupPromptBuffer.js.map +1 -0
- package/dist/state.d.ts +1245 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +1830 -0
- package/dist/state.js.map +1 -0
- package/dist/threadContextPreamble.d.ts +89 -0
- package/dist/threadContextPreamble.d.ts.map +1 -0
- package/dist/threadContextPreamble.js +102 -0
- package/dist/threadContextPreamble.js.map +1 -0
- package/dist/threadRouting.d.ts +164 -0
- package/dist/threadRouting.d.ts.map +1 -0
- package/dist/threadRouting.js +182 -0
- package/dist/threadRouting.js.map +1 -0
- package/dist/types.d.ts +1015 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/abortableFifo.d.ts +10 -0
- package/dist/utils/abortableFifo.d.ts.map +1 -0
- package/dist/utils/abortableFifo.js +55 -0
- package/dist/utils/abortableFifo.js.map +1 -0
- package/dist/utils/adoptedToolList.d.ts +27 -0
- package/dist/utils/adoptedToolList.d.ts.map +1 -0
- package/dist/utils/adoptedToolList.js +22 -0
- package/dist/utils/adoptedToolList.js.map +1 -0
- package/dist/utils/agentEnvironment.d.ts +42 -0
- package/dist/utils/agentEnvironment.d.ts.map +1 -0
- package/dist/utils/agentEnvironment.js +122 -0
- package/dist/utils/agentEnvironment.js.map +1 -0
- package/dist/utils/ansiClean.d.ts +11 -0
- package/dist/utils/ansiClean.d.ts.map +1 -0
- package/dist/utils/ansiClean.js +139 -0
- package/dist/utils/ansiClean.js.map +1 -0
- package/dist/utils/autoContinueOnLimit.d.ts +49 -0
- package/dist/utils/autoContinueOnLimit.d.ts.map +1 -0
- package/dist/utils/autoContinueOnLimit.js +69 -0
- package/dist/utils/autoContinueOnLimit.js.map +1 -0
- package/dist/utils/canonicalPathContainment.d.ts +7 -0
- package/dist/utils/canonicalPathContainment.d.ts.map +1 -0
- package/dist/utils/canonicalPathContainment.js +48 -0
- package/dist/utils/canonicalPathContainment.js.map +1 -0
- package/dist/utils/claudeAuthLogin.d.ts +71 -0
- package/dist/utils/claudeAuthLogin.d.ts.map +1 -0
- package/dist/utils/claudeAuthLogin.js +93 -0
- package/dist/utils/claudeAuthLogin.js.map +1 -0
- package/dist/utils/claudeChunkClassifier.d.ts +97 -0
- package/dist/utils/claudeChunkClassifier.d.ts.map +1 -0
- package/dist/utils/claudeChunkClassifier.js +254 -0
- package/dist/utils/claudeChunkClassifier.js.map +1 -0
- package/dist/utils/claudeCodeVersion.d.ts +31 -0
- package/dist/utils/claudeCodeVersion.d.ts.map +1 -0
- package/dist/utils/claudeCodeVersion.js +62 -0
- package/dist/utils/claudeCodeVersion.js.map +1 -0
- package/dist/utils/claudeCompactHook.d.ts +64 -0
- package/dist/utils/claudeCompactHook.d.ts.map +1 -0
- package/dist/utils/claudeCompactHook.js +98 -0
- package/dist/utils/claudeCompactHook.js.map +1 -0
- package/dist/utils/claudeLivenessAction.d.ts +208 -0
- package/dist/utils/claudeLivenessAction.d.ts.map +1 -0
- package/dist/utils/claudeLivenessAction.js +135 -0
- package/dist/utils/claudeLivenessAction.js.map +1 -0
- package/dist/utils/claudeMcpHeal.d.ts +92 -0
- package/dist/utils/claudeMcpHeal.d.ts.map +1 -0
- package/dist/utils/claudeMcpHeal.js +91 -0
- package/dist/utils/claudeMcpHeal.js.map +1 -0
- package/dist/utils/claudeRelayRouting.d.ts +86 -0
- package/dist/utils/claudeRelayRouting.d.ts.map +1 -0
- package/dist/utils/claudeRelayRouting.js +159 -0
- package/dist/utils/claudeRelayRouting.js.map +1 -0
- package/dist/utils/claudeRuntimeInfo.d.ts +26 -0
- package/dist/utils/claudeRuntimeInfo.d.ts.map +1 -0
- package/dist/utils/claudeRuntimeInfo.js +151 -0
- package/dist/utils/claudeRuntimeInfo.js.map +1 -0
- package/dist/utils/claudeScrapeShapes.d.ts +256 -0
- package/dist/utils/claudeScrapeShapes.d.ts.map +1 -0
- package/dist/utils/claudeScrapeShapes.js +290 -0
- package/dist/utils/claudeScrapeShapes.js.map +1 -0
- package/dist/utils/claudeSessionTitle.d.ts +27 -0
- package/dist/utils/claudeSessionTitle.d.ts.map +1 -0
- package/dist/utils/claudeSessionTitle.js +90 -0
- package/dist/utils/claudeSessionTitle.js.map +1 -0
- package/dist/utils/claudeStreamJson.d.ts +202 -0
- package/dist/utils/claudeStreamJson.d.ts.map +1 -0
- package/dist/utils/claudeStreamJson.js +351 -0
- package/dist/utils/claudeStreamJson.js.map +1 -0
- package/dist/utils/claudeSubagentTail.d.ts +93 -0
- package/dist/utils/claudeSubagentTail.d.ts.map +1 -0
- package/dist/utils/claudeSubagentTail.js +136 -0
- package/dist/utils/claudeSubagentTail.js.map +1 -0
- package/dist/utils/clearThreadOutputQueues.d.ts +43 -0
- package/dist/utils/clearThreadOutputQueues.d.ts.map +1 -0
- package/dist/utils/clearThreadOutputQueues.js +39 -0
- package/dist/utils/clearThreadOutputQueues.js.map +1 -0
- package/dist/utils/compactCommandRoute.d.ts +45 -0
- package/dist/utils/compactCommandRoute.d.ts.map +1 -0
- package/dist/utils/compactCommandRoute.js +36 -0
- package/dist/utils/compactCommandRoute.js.map +1 -0
- package/dist/utils/compactOnIdle.d.ts +329 -0
- package/dist/utils/compactOnIdle.d.ts.map +1 -0
- package/dist/utils/compactOnIdle.js +379 -0
- package/dist/utils/compactOnIdle.js.map +1 -0
- package/dist/utils/consoleFileTap.d.ts +51 -0
- package/dist/utils/consoleFileTap.d.ts.map +1 -0
- package/dist/utils/consoleFileTap.js +86 -0
- package/dist/utils/consoleFileTap.js.map +1 -0
- package/dist/utils/displayVerbosity.d.ts +44 -0
- package/dist/utils/displayVerbosity.d.ts.map +1 -0
- package/dist/utils/displayVerbosity.js +75 -0
- package/dist/utils/displayVerbosity.js.map +1 -0
- package/dist/utils/download.d.ts +72 -0
- package/dist/utils/download.d.ts.map +1 -0
- package/dist/utils/download.js +216 -0
- package/dist/utils/download.js.map +1 -0
- package/dist/utils/draftFinalize.d.ts +110 -0
- package/dist/utils/draftFinalize.d.ts.map +1 -0
- package/dist/utils/draftFinalize.js +100 -0
- package/dist/utils/draftFinalize.js.map +1 -0
- package/dist/utils/draftId.d.ts +36 -0
- package/dist/utils/draftId.d.ts.map +1 -0
- package/dist/utils/draftId.js +46 -0
- package/dist/utils/draftId.js.map +1 -0
- package/dist/utils/draftPacer.d.ts +72 -0
- package/dist/utils/draftPacer.d.ts.map +1 -0
- package/dist/utils/draftPacer.js +53 -0
- package/dist/utils/draftPacer.js.map +1 -0
- package/dist/utils/effortStartupKeystroke.d.ts +20 -0
- package/dist/utils/effortStartupKeystroke.d.ts.map +1 -0
- package/dist/utils/effortStartupKeystroke.js +28 -0
- package/dist/utils/effortStartupKeystroke.js.map +1 -0
- package/dist/utils/ensureSessionPlan.d.ts +70 -0
- package/dist/utils/ensureSessionPlan.d.ts.map +1 -0
- package/dist/utils/ensureSessionPlan.js +54 -0
- package/dist/utils/ensureSessionPlan.js.map +1 -0
- package/dist/utils/fileSendPlan.d.ts +217 -0
- package/dist/utils/fileSendPlan.d.ts.map +1 -0
- package/dist/utils/fileSendPlan.js +291 -0
- package/dist/utils/fileSendPlan.js.map +1 -0
- package/dist/utils/fileSendService.d.ts +94 -0
- package/dist/utils/fileSendService.d.ts.map +1 -0
- package/dist/utils/fileSendService.js +387 -0
- package/dist/utils/fileSendService.js.map +1 -0
- package/dist/utils/groupFinalizePlan.d.ts +38 -0
- package/dist/utils/groupFinalizePlan.d.ts.map +1 -0
- package/dist/utils/groupFinalizePlan.js +35 -0
- package/dist/utils/groupFinalizePlan.js.map +1 -0
- package/dist/utils/identicalOutputGuard.d.ts +83 -0
- package/dist/utils/identicalOutputGuard.d.ts.map +1 -0
- package/dist/utils/identicalOutputGuard.js +99 -0
- package/dist/utils/identicalOutputGuard.js.map +1 -0
- package/dist/utils/isoTimestamp.d.ts +16 -0
- package/dist/utils/isoTimestamp.d.ts.map +1 -0
- package/dist/utils/isoTimestamp.js +34 -0
- package/dist/utils/isoTimestamp.js.map +1 -0
- package/dist/utils/jsonStreamBusyWatchdog.d.ts +130 -0
- package/dist/utils/jsonStreamBusyWatchdog.d.ts.map +1 -0
- package/dist/utils/jsonStreamBusyWatchdog.js +122 -0
- package/dist/utils/jsonStreamBusyWatchdog.js.map +1 -0
- package/dist/utils/jsonStreamHost.d.ts +227 -0
- package/dist/utils/jsonStreamHost.d.ts.map +1 -0
- package/dist/utils/jsonStreamHost.js +417 -0
- package/dist/utils/jsonStreamHost.js.map +1 -0
- package/dist/utils/keyedTransitionQueue.d.ts +18 -0
- package/dist/utils/keyedTransitionQueue.d.ts.map +1 -0
- package/dist/utils/keyedTransitionQueue.js +34 -0
- package/dist/utils/keyedTransitionQueue.js.map +1 -0
- package/dist/utils/limitEpisodeRecovery.d.ts +92 -0
- package/dist/utils/limitEpisodeRecovery.d.ts.map +1 -0
- package/dist/utils/limitEpisodeRecovery.js +133 -0
- package/dist/utils/limitEpisodeRecovery.js.map +1 -0
- package/dist/utils/limitHeldPromptQueue.d.ts +48 -0
- package/dist/utils/limitHeldPromptQueue.d.ts.map +1 -0
- package/dist/utils/limitHeldPromptQueue.js +59 -0
- package/dist/utils/limitHeldPromptQueue.js.map +1 -0
- package/dist/utils/limitHeldPrompts.d.ts +58 -0
- package/dist/utils/limitHeldPrompts.d.ts.map +1 -0
- package/dist/utils/limitHeldPrompts.js +65 -0
- package/dist/utils/limitHeldPrompts.js.map +1 -0
- package/dist/utils/linkPreviewSuppression.d.ts +18 -0
- package/dist/utils/linkPreviewSuppression.d.ts.map +1 -0
- package/dist/utils/linkPreviewSuppression.js +37 -0
- package/dist/utils/linkPreviewSuppression.js.map +1 -0
- package/dist/utils/localClock.d.ts +15 -0
- package/dist/utils/localClock.d.ts.map +1 -0
- package/dist/utils/localClock.js +29 -0
- package/dist/utils/localClock.js.map +1 -0
- package/dist/utils/markdownTableRender.d.ts +83 -0
- package/dist/utils/markdownTableRender.d.ts.map +1 -0
- package/dist/utils/markdownTableRender.js +298 -0
- package/dist/utils/markdownTableRender.js.map +1 -0
- package/dist/utils/mediaGroupCollector.d.ts +51 -0
- package/dist/utils/mediaGroupCollector.d.ts.map +1 -0
- package/dist/utils/mediaGroupCollector.js +90 -0
- package/dist/utils/mediaGroupCollector.js.map +1 -0
- package/dist/utils/messageSendService.d.ts +136 -0
- package/dist/utils/messageSendService.d.ts.map +1 -0
- package/dist/utils/messageSendService.js +165 -0
- package/dist/utils/messageSendService.js.map +1 -0
- package/dist/utils/minutesOverride.d.ts +7 -0
- package/dist/utils/minutesOverride.d.ts.map +1 -0
- package/dist/utils/minutesOverride.js +16 -0
- package/dist/utils/minutesOverride.js.map +1 -0
- package/dist/utils/modelPickerPlan.d.ts +119 -0
- package/dist/utils/modelPickerPlan.d.ts.map +1 -0
- package/dist/utils/modelPickerPlan.js +171 -0
- package/dist/utils/modelPickerPlan.js.map +1 -0
- package/dist/utils/modelSetReplyDecision.d.ts +67 -0
- package/dist/utils/modelSetReplyDecision.d.ts.map +1 -0
- package/dist/utils/modelSetReplyDecision.js +27 -0
- package/dist/utils/modelSetReplyDecision.js.map +1 -0
- package/dist/utils/openCodeAuthLogin.d.ts +181 -0
- package/dist/utils/openCodeAuthLogin.d.ts.map +1 -0
- package/dist/utils/openCodeAuthLogin.js +393 -0
- package/dist/utils/openCodeAuthLogin.js.map +1 -0
- package/dist/utils/openCodeCompactPlugin.d.ts +81 -0
- package/dist/utils/openCodeCompactPlugin.d.ts.map +1 -0
- package/dist/utils/openCodeCompactPlugin.js +146 -0
- package/dist/utils/openCodeCompactPlugin.js.map +1 -0
- package/dist/utils/openCodeTurnActivity.d.ts +67 -0
- package/dist/utils/openCodeTurnActivity.d.ts.map +1 -0
- package/dist/utils/openCodeTurnActivity.js +27 -0
- package/dist/utils/openCodeTurnActivity.js.map +1 -0
- package/dist/utils/outputDebounce.d.ts +24 -0
- package/dist/utils/outputDebounce.d.ts.map +1 -0
- package/dist/utils/outputDebounce.js +30 -0
- package/dist/utils/outputDebounce.js.map +1 -0
- package/dist/utils/outputFlushTiming.d.ts +54 -0
- package/dist/utils/outputFlushTiming.d.ts.map +1 -0
- package/dist/utils/outputFlushTiming.js +48 -0
- package/dist/utils/outputFlushTiming.js.map +1 -0
- package/dist/utils/paginateList.d.ts +25 -0
- package/dist/utils/paginateList.d.ts.map +1 -0
- package/dist/utils/paginateList.js +32 -0
- package/dist/utils/paginateList.js.map +1 -0
- package/dist/utils/paneDiff.d.ts +55 -0
- package/dist/utils/paneDiff.d.ts.map +1 -0
- package/dist/utils/paneDiff.js +88 -0
- package/dist/utils/paneDiff.js.map +1 -0
- package/dist/utils/paneResizeGuard.d.ts +69 -0
- package/dist/utils/paneResizeGuard.d.ts.map +1 -0
- package/dist/utils/paneResizeGuard.js +91 -0
- package/dist/utils/paneResizeGuard.js.map +1 -0
- package/dist/utils/persistAdapterSessionIds.d.ts +39 -0
- package/dist/utils/persistAdapterSessionIds.d.ts.map +1 -0
- package/dist/utils/persistAdapterSessionIds.js +28 -0
- package/dist/utils/persistAdapterSessionIds.js.map +1 -0
- package/dist/utils/pinnedBannerSkipDecision.d.ts +44 -0
- package/dist/utils/pinnedBannerSkipDecision.d.ts.map +1 -0
- package/dist/utils/pinnedBannerSkipDecision.js +20 -0
- package/dist/utils/pinnedBannerSkipDecision.js.map +1 -0
- package/dist/utils/pollBackoff.d.ts +45 -0
- package/dist/utils/pollBackoff.d.ts.map +1 -0
- package/dist/utils/pollBackoff.js +44 -0
- package/dist/utils/pollBackoff.js.map +1 -0
- package/dist/utils/promptDelivery.d.ts +46 -0
- package/dist/utils/promptDelivery.d.ts.map +1 -0
- package/dist/utils/promptDelivery.js +49 -0
- package/dist/utils/promptDelivery.js.map +1 -0
- package/dist/utils/providerDisconnectPlan.d.ts +82 -0
- package/dist/utils/providerDisconnectPlan.d.ts.map +1 -0
- package/dist/utils/providerDisconnectPlan.js +110 -0
- package/dist/utils/providerDisconnectPlan.js.map +1 -0
- package/dist/utils/rateLimitLog.d.ts +48 -0
- package/dist/utils/rateLimitLog.d.ts.map +1 -0
- package/dist/utils/rateLimitLog.js +43 -0
- package/dist/utils/rateLimitLog.js.map +1 -0
- package/dist/utils/recentRelayWindow.d.ts +165 -0
- package/dist/utils/recentRelayWindow.d.ts.map +1 -0
- package/dist/utils/recentRelayWindow.js +284 -0
- package/dist/utils/recentRelayWindow.js.map +1 -0
- package/dist/utils/recvPreviewRedaction.d.ts +23 -0
- package/dist/utils/recvPreviewRedaction.d.ts.map +1 -0
- package/dist/utils/recvPreviewRedaction.js +39 -0
- package/dist/utils/recvPreviewRedaction.js.map +1 -0
- package/dist/utils/reminderFlow.d.ts +148 -0
- package/dist/utils/reminderFlow.d.ts.map +1 -0
- package/dist/utils/reminderFlow.js +122 -0
- package/dist/utils/reminderFlow.js.map +1 -0
- package/dist/utils/reminderScheduleText.d.ts +87 -0
- package/dist/utils/reminderScheduleText.d.ts.map +1 -0
- package/dist/utils/reminderScheduleText.js +135 -0
- package/dist/utils/reminderScheduleText.js.map +1 -0
- package/dist/utils/reminderWizard.d.ts +710 -0
- package/dist/utils/reminderWizard.d.ts.map +1 -0
- package/dist/utils/reminderWizard.js +1164 -0
- package/dist/utils/reminderWizard.js.map +1 -0
- package/dist/utils/replyQuote.d.ts +111 -0
- package/dist/utils/replyQuote.d.ts.map +1 -0
- package/dist/utils/replyQuote.js +122 -0
- package/dist/utils/replyQuote.js.map +1 -0
- package/dist/utils/resolveBinary.d.ts +25 -0
- package/dist/utils/resolveBinary.d.ts.map +1 -0
- package/dist/utils/resolveBinary.js +99 -0
- package/dist/utils/resolveBinary.js.map +1 -0
- package/dist/utils/retryAfterHeader.d.ts +7 -0
- package/dist/utils/retryAfterHeader.d.ts.map +1 -0
- package/dist/utils/retryAfterHeader.js +17 -0
- package/dist/utils/retryAfterHeader.js.map +1 -0
- package/dist/utils/rotatingJsonlFile.d.ts +40 -0
- package/dist/utils/rotatingJsonlFile.d.ts.map +1 -0
- package/dist/utils/rotatingJsonlFile.js +106 -0
- package/dist/utils/rotatingJsonlFile.js.map +1 -0
- package/dist/utils/rotatingLogFile.d.ts +25 -0
- package/dist/utils/rotatingLogFile.d.ts.map +1 -0
- package/dist/utils/rotatingLogFile.js +74 -0
- package/dist/utils/rotatingLogFile.js.map +1 -0
- package/dist/utils/sendRateTracker.d.ts +59 -0
- package/dist/utils/sendRateTracker.d.ts.map +1 -0
- package/dist/utils/sendRateTracker.js +144 -0
- package/dist/utils/sendRateTracker.js.map +1 -0
- package/dist/utils/serialQueue.d.ts +5 -0
- package/dist/utils/serialQueue.d.ts.map +1 -0
- package/dist/utils/serialQueue.js +14 -0
- package/dist/utils/serialQueue.js.map +1 -0
- package/dist/utils/sseStreamLifecycle.d.ts +32 -0
- package/dist/utils/sseStreamLifecycle.d.ts.map +1 -0
- package/dist/utils/sseStreamLifecycle.js +41 -0
- package/dist/utils/sseStreamLifecycle.js.map +1 -0
- package/dist/utils/startupReadiness.d.ts +119 -0
- package/dist/utils/startupReadiness.d.ts.map +1 -0
- package/dist/utils/startupReadiness.js +148 -0
- package/dist/utils/startupReadiness.js.map +1 -0
- package/dist/utils/statusFlushDecision.d.ts +18 -0
- package/dist/utils/statusFlushDecision.d.ts.map +1 -0
- package/dist/utils/statusFlushDecision.js +53 -0
- package/dist/utils/statusFlushDecision.js.map +1 -0
- package/dist/utils/subagentRender.d.ts +52 -0
- package/dist/utils/subagentRender.d.ts.map +1 -0
- package/dist/utils/subagentRender.js +66 -0
- package/dist/utils/subagentRender.js.map +1 -0
- package/dist/utils/subagentStatusRender.d.ts +90 -0
- package/dist/utils/subagentStatusRender.d.ts.map +1 -0
- package/dist/utils/subagentStatusRender.js +124 -0
- package/dist/utils/subagentStatusRender.js.map +1 -0
- package/dist/utils/telegramError.d.ts +2 -0
- package/dist/utils/telegramError.d.ts.map +1 -0
- package/dist/utils/telegramError.js +16 -0
- package/dist/utils/telegramError.js.map +1 -0
- package/dist/utils/terminalEmitPlan.d.ts +74 -0
- package/dist/utils/terminalEmitPlan.d.ts.map +1 -0
- package/dist/utils/terminalEmitPlan.js +86 -0
- package/dist/utils/terminalEmitPlan.js.map +1 -0
- package/dist/utils/thinkingRender.d.ts +74 -0
- package/dist/utils/thinkingRender.d.ts.map +1 -0
- package/dist/utils/thinkingRender.js +85 -0
- package/dist/utils/thinkingRender.js.map +1 -0
- package/dist/utils/threadStatusReport.d.ts +55 -0
- package/dist/utils/threadStatusReport.d.ts.map +1 -0
- package/dist/utils/threadStatusReport.js +65 -0
- package/dist/utils/threadStatusReport.js.map +1 -0
- package/dist/utils/threadToggle.d.ts +29 -0
- package/dist/utils/threadToggle.d.ts.map +1 -0
- package/dist/utils/threadToggle.js +39 -0
- package/dist/utils/threadToggle.js.map +1 -0
- package/dist/utils/timezone.d.ts +125 -0
- package/dist/utils/timezone.d.ts.map +1 -0
- package/dist/utils/timezone.js +278 -0
- package/dist/utils/timezone.js.map +1 -0
- package/dist/utils/tmuxExec.d.ts +61 -0
- package/dist/utils/tmuxExec.d.ts.map +1 -0
- package/dist/utils/tmuxExec.js +109 -0
- package/dist/utils/tmuxExec.js.map +1 -0
- package/dist/utils/tmuxSessionName.d.ts +34 -0
- package/dist/utils/tmuxSessionName.d.ts.map +1 -0
- package/dist/utils/tmuxSessionName.js +51 -0
- package/dist/utils/tmuxSessionName.js.map +1 -0
- package/dist/utils/toolResultRender.d.ts +61 -0
- package/dist/utils/toolResultRender.d.ts.map +1 -0
- package/dist/utils/toolResultRender.js +62 -0
- package/dist/utils/toolResultRender.js.map +1 -0
- package/dist/utils/topicRequest.d.ts +61 -0
- package/dist/utils/topicRequest.d.ts.map +1 -0
- package/dist/utils/topicRequest.js +68 -0
- package/dist/utils/topicRequest.js.map +1 -0
- package/dist/utils/topicView.d.ts +55 -0
- package/dist/utils/topicView.d.ts.map +1 -0
- package/dist/utils/topicView.js +56 -0
- package/dist/utils/topicView.js.map +1 -0
- package/dist/utils/transcribeAudio.d.ts +89 -0
- package/dist/utils/transcribeAudio.d.ts.map +1 -0
- package/dist/utils/transcribeAudio.js +249 -0
- package/dist/utils/transcribeAudio.js.map +1 -0
- package/dist/utils/transientFrames.d.ts +52 -0
- package/dist/utils/transientFrames.d.ts.map +1 -0
- package/dist/utils/transientFrames.js +41 -0
- package/dist/utils/transientFrames.js.map +1 -0
- package/dist/utils/typingActive.d.ts +35 -0
- package/dist/utils/typingActive.d.ts.map +1 -0
- package/dist/utils/typingActive.js +22 -0
- package/dist/utils/typingActive.js.map +1 -0
- package/dist/utils/typingLoopBackstop.d.ts +64 -0
- package/dist/utils/typingLoopBackstop.d.ts.map +1 -0
- package/dist/utils/typingLoopBackstop.js +68 -0
- package/dist/utils/typingLoopBackstop.js.map +1 -0
- package/dist/utils/verbosityRender.d.ts +18 -0
- package/dist/utils/verbosityRender.d.ts.map +1 -0
- package/dist/utils/verbosityRender.js +17 -0
- package/dist/utils/verbosityRender.js.map +1 -0
- package/dist/utils/wedgeRecovery.d.ts +57 -0
- package/dist/utils/wedgeRecovery.d.ts.map +1 -0
- package/dist/utils/wedgeRecovery.js +24 -0
- package/dist/utils/wedgeRecovery.js.map +1 -0
- package/dist/utils.d.ts +30 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +61 -0
- package/dist/utils.js.map +1 -0
- package/dist/validation.d.ts +113 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +226 -0
- package/dist/validation.js.map +1 -0
- package/dist/voiceQueue.d.ts +7 -0
- package/dist/voiceQueue.d.ts.map +1 -0
- package/dist/voiceQueue.js +33 -0
- package/dist/voiceQueue.js.map +1 -0
- package/examples/.env.example +17 -0
- package/examples/docker-compose.yml +36 -0
- package/package.json +83 -4
package/dist/cli/hot.js
ADDED
|
@@ -0,0 +1,323 @@
|
|
|
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.runHot = runHot;
|
|
37
|
+
exports.getHotChildShutdownSignal = getHotChildShutdownSignal;
|
|
38
|
+
exports.getUnexpectedHotChildExitCode = getUnexpectedHotChildExitCode;
|
|
39
|
+
exports.checkIsHotModeSupported = checkIsHotModeSupported;
|
|
40
|
+
exports.checkIsTscWatchReady = checkIsTscWatchReady;
|
|
41
|
+
exports.prepareHotOpenCodeServer = prepareHotOpenCodeServer;
|
|
42
|
+
exports.buildHotWorkerEnv = buildHotWorkerEnv;
|
|
43
|
+
const fs = __importStar(require("fs"));
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const child_process_1 = require("child_process");
|
|
46
|
+
const connectorGuards_1 = require("./connectorGuards");
|
|
47
|
+
const connectorSet_1 = require("../platform/connectorSet");
|
|
48
|
+
const installManager_1 = require("../installManager");
|
|
49
|
+
const tscWatchCompleteMarker = 'Watching for file changes.';
|
|
50
|
+
const tscWatchReadyMarker = `Found 0 errors. ${tscWatchCompleteMarker}`;
|
|
51
|
+
const tscWatchTailLength = tscWatchReadyMarker.length - 1;
|
|
52
|
+
/**
|
|
53
|
+
* @description Wrapper-entry for `telegramcode hot` — hot-reload mode for
|
|
54
|
+
* the global terminal bin.
|
|
55
|
+
*
|
|
56
|
+
* **What it does:** starts `tsc -w` from the project root, then starts
|
|
57
|
+
* `nodemon` only after the watcher's first completed compile. Editing any
|
|
58
|
+
* `src/**` file rebuilds `dist/` and nodemon restarts the internal
|
|
59
|
+
* `dist/cli/botEntry.js` worker on the new artifact. The bot's own
|
|
60
|
+
* graceful-shutdown sequence (state flush → lock release → exit) makes the
|
|
61
|
+
* old → new handoff clean enough that mid-work agent sessions are re-attached
|
|
62
|
+
* on the next boot. OpenCode is pre-started by this long-lived supervisor;
|
|
63
|
+
* later generations use a one-shot external host, so none remain inside
|
|
64
|
+
* nodemon's worker subtree and in-flight turns survive reloads.
|
|
65
|
+
*
|
|
66
|
+
* **Why it lives in the bin** (not only as `yarn hot`): the user runs
|
|
67
|
+
* `telegramcode` as a globally-installed `npm link` symlink, so they don't
|
|
68
|
+
* have a yarn project in front of them. Exposing hot reload as a
|
|
69
|
+
* subcommand makes the same workflow reachable from any CWD — we just
|
|
70
|
+
* resolve the project root from the bin's own realpath. `yarn hot` in the
|
|
71
|
+
* repo is the in-project equivalent.
|
|
72
|
+
*
|
|
73
|
+
* **Failure modes handled:**
|
|
74
|
+
* - fresh checkout → nodemon waits until `tsc -w` produces the worker entry;
|
|
75
|
+
* - broken intermediate TS edit → `tsc -w` doesn't emit, so nodemon
|
|
76
|
+
* never sees a new artifact and the running bot keeps serving;
|
|
77
|
+
* - bot crash at runtime (e.g. a second poller appears and Telegram
|
|
78
|
+
* answers 409) → nodemon's `exitcrash` exits instead of parking on
|
|
79
|
+
* "app crashed - waiting for file changes", so this wrapper tears
|
|
80
|
+
* down and the supervisor (systemd) starts a clean generation.
|
|
81
|
+
* Without it the wrapper stays alive with no bot under it, and the
|
|
82
|
+
* service looks `active (running)` while the bot is dead;
|
|
83
|
+
* - wrapper termination → tsc receives the original signal, while nodemon
|
|
84
|
+
* receives its graceful `SIGINT`; we wait for both before exiting.
|
|
85
|
+
*
|
|
86
|
+
* `yarn hot` reaches this same wrapper. It spawns directly so the installed
|
|
87
|
+
* bin doesn't need any devDep but `nodemon` + `typescript`
|
|
88
|
+
* (always present in this project because the consumer of the bin IS this
|
|
89
|
+
* project — `npm link` exposes the same `node_modules/.bin`).
|
|
90
|
+
*/
|
|
91
|
+
async function runHot() {
|
|
92
|
+
// The operator's real launch directory (e.g. `~/src`). Captured BEFORE any
|
|
93
|
+
// spawn so it reflects where `telegramcode hot` was invoked — the worker
|
|
94
|
+
// can't derive it later, because nodemon runs it with cwd = projectRoot.
|
|
95
|
+
const launchCwd = process.cwd();
|
|
96
|
+
const projectRoot = resolveProjectRoot();
|
|
97
|
+
if (!checkIsHotModeSupported(process.platform)) {
|
|
98
|
+
process.stderr.write('telegramcode hot: Windows is not supported because nodemon cannot gracefully drain its worker tree.\n');
|
|
99
|
+
process.exit(1);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
// Match the worker's env sources without changing the launch cwd that owns
|
|
103
|
+
// WORK_ROOT. This is load-bearing when the repo .env selects a custom port.
|
|
104
|
+
// The connector guards wrap it, as in the plain start (Jira plan J3).
|
|
105
|
+
(0, connectorGuards_1.loadEnvWithConnectorGuards)(projectRoot);
|
|
106
|
+
// Only nodemon's replaceable worker externalizes later server generations.
|
|
107
|
+
// The long-lived supervisor owns the initial server directly.
|
|
108
|
+
delete process.env[installManager_1.openCodeExternalHostEnvName];
|
|
109
|
+
process.env[installManager_1.openCodeOwnershipFileEnvName] = (0, installManager_1.getDefaultOpenCodeOwnershipFilePath)(projectRoot);
|
|
110
|
+
const distEntry = path.join(projectRoot, 'dist', 'cli', 'botEntry.js');
|
|
111
|
+
const tscBin = localBin(projectRoot, 'tsc');
|
|
112
|
+
const nodemonBin = localBin(projectRoot, 'nodemon');
|
|
113
|
+
if (!fs.existsSync(tscBin) || !fs.existsSync(nodemonBin)) {
|
|
114
|
+
process.stderr.write(`telegramcode hot: missing devDependencies in ${projectRoot}.\n` +
|
|
115
|
+
` expected: ${tscBin}\n` +
|
|
116
|
+
` expected: ${nodemonBin}\n` +
|
|
117
|
+
`Run \`yarn install\` (or \`npm install\`) in the project root and retry.\n`);
|
|
118
|
+
process.exit(1);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
// nodemon kills the worker's complete descendant tree on every rebuild.
|
|
122
|
+
// Own OpenCode here, as a sibling of nodemon, so an agent turn survives the
|
|
123
|
+
// relay worker being replaced. The worker's normal ensure call adopts it.
|
|
124
|
+
// OpenCode serves Telegram topics only; an instance without Telegram must not
|
|
125
|
+
// start — or, finding a stale server on the port, stop — any OpenCode server.
|
|
126
|
+
const connectors = (0, connectorSet_1.parseConnectors)(process.env.CONNECTORS);
|
|
127
|
+
if (connectors.ok && connectors.connectors.includes('telegram'))
|
|
128
|
+
await prepareHotOpenCodeServer();
|
|
129
|
+
process.stderr.write(`telegramcode hot: project=${projectRoot}\n` +
|
|
130
|
+
`telegramcode hot: starting \`tsc -w\`; nodemon starts after the first completed compile.\n` +
|
|
131
|
+
`telegramcode hot: Ctrl-C stops both watchers.\n`);
|
|
132
|
+
// Forward terminating signals. We deliberately do NOT re-raise on
|
|
133
|
+
// ourselves after children exit — once both watchers are down the wrapper
|
|
134
|
+
// resolves normally and Node exits with the recorded code. Re-raising
|
|
135
|
+
// would mask the underlying child exit code.
|
|
136
|
+
const children = new Set();
|
|
137
|
+
let nodemonChild = null;
|
|
138
|
+
let shuttingDown = false;
|
|
139
|
+
let finalCode = 0;
|
|
140
|
+
let resolveChildrenStopped = null;
|
|
141
|
+
const childrenStopped = new Promise((resolve) => {
|
|
142
|
+
resolveChildrenStopped = resolve;
|
|
143
|
+
});
|
|
144
|
+
const checkShouldResolveChildren = () => {
|
|
145
|
+
if (shuttingDown && children.size === 0)
|
|
146
|
+
resolveChildrenStopped?.();
|
|
147
|
+
};
|
|
148
|
+
const forwardSignal = (sig) => {
|
|
149
|
+
if (shuttingDown)
|
|
150
|
+
return;
|
|
151
|
+
shuttingDown = true;
|
|
152
|
+
for (const child of children) {
|
|
153
|
+
if (child.killed || child.exitCode !== null)
|
|
154
|
+
continue;
|
|
155
|
+
const childName = child === nodemonChild ? 'nodemon' : 'tsc';
|
|
156
|
+
child.kill(getHotChildShutdownSignal(childName, sig));
|
|
157
|
+
}
|
|
158
|
+
checkShouldResolveChildren();
|
|
159
|
+
};
|
|
160
|
+
for (const sig of ['SIGINT', 'SIGTERM', 'SIGHUP']) {
|
|
161
|
+
process.on(sig, () => forwardSignal(sig));
|
|
162
|
+
}
|
|
163
|
+
const registerChild = (child, childName) => {
|
|
164
|
+
children.add(child);
|
|
165
|
+
let isSettled = false;
|
|
166
|
+
const settleChild = (code, signal, error) => {
|
|
167
|
+
if (isSettled)
|
|
168
|
+
return;
|
|
169
|
+
isSettled = true;
|
|
170
|
+
children.delete(child);
|
|
171
|
+
if (error) {
|
|
172
|
+
process.stderr.write(`telegramcode hot: child error (${childName}): ${error.message}\n`);
|
|
173
|
+
if (!shuttingDown && finalCode === 0)
|
|
174
|
+
finalCode = 1;
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
const label = childName === 'tsc' ? 'tsc -w' : 'nodemon';
|
|
178
|
+
process.stderr.write(`telegramcode hot: ${label} exited ` +
|
|
179
|
+
`(code=${code ?? 'null'}, signal=${signal ?? 'null'})\n`);
|
|
180
|
+
if (!shuttingDown && finalCode === 0) {
|
|
181
|
+
finalCode = getUnexpectedHotChildExitCode(code);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (!shuttingDown)
|
|
185
|
+
forwardSignal('SIGTERM');
|
|
186
|
+
checkShouldResolveChildren();
|
|
187
|
+
};
|
|
188
|
+
child.on('exit', (code, signal) => settleChild(code, signal));
|
|
189
|
+
child.on('error', (error) => settleChild(null, null, error));
|
|
190
|
+
};
|
|
191
|
+
const startNodemon = () => {
|
|
192
|
+
if (shuttingDown || nodemonChild !== null)
|
|
193
|
+
return;
|
|
194
|
+
nodemonChild = (0, child_process_1.spawn)(process.execPath, [nodemonBin], {
|
|
195
|
+
cwd: projectRoot,
|
|
196
|
+
stdio: 'inherit',
|
|
197
|
+
env: buildHotWorkerEnv(process.env, launchCwd),
|
|
198
|
+
});
|
|
199
|
+
registerChild(nodemonChild, 'nodemon');
|
|
200
|
+
};
|
|
201
|
+
// Keep stdout piped so tsc does not clear the terminal between rebuilds and
|
|
202
|
+
// so nodemon can be gated on the first completed watch compile.
|
|
203
|
+
const tscChild = (0, child_process_1.spawn)(process.execPath, [tscBin, '-w'], {
|
|
204
|
+
cwd: projectRoot,
|
|
205
|
+
stdio: ['ignore', 'pipe', 'inherit'],
|
|
206
|
+
});
|
|
207
|
+
registerChild(tscChild, 'tsc');
|
|
208
|
+
let tscOutputTail = '';
|
|
209
|
+
tscChild.stdout?.on('data', (chunk) => {
|
|
210
|
+
const output = chunk.toString();
|
|
211
|
+
process.stdout.write(output);
|
|
212
|
+
const inspectionText = tscOutputTail + output;
|
|
213
|
+
const isWatchComplete = inspectionText.includes(tscWatchCompleteMarker);
|
|
214
|
+
const isWatchReady = checkIsTscWatchReady(inspectionText);
|
|
215
|
+
tscOutputTail = inspectionText.slice(-tscWatchTailLength);
|
|
216
|
+
if (!isWatchComplete || nodemonChild !== null || shuttingDown)
|
|
217
|
+
return;
|
|
218
|
+
tscOutputTail = '';
|
|
219
|
+
if (!isWatchReady) {
|
|
220
|
+
process.stderr.write('telegramcode hot: compile has TypeScript errors; nodemon is waiting for a clean build. ' +
|
|
221
|
+
'Fix the errors and save.\n');
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
if (fs.existsSync(distEntry)) {
|
|
225
|
+
startNodemon();
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
process.stderr.write('telegramcode hot: clean compile produced no dist worker entry. ' +
|
|
229
|
+
'Check the TypeScript output path and save; nodemon will keep waiting.\n');
|
|
230
|
+
});
|
|
231
|
+
await childrenStopped;
|
|
232
|
+
process.exit(finalCode);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* @description Select the signal used to stop each hot-mode watcher. Nodemon's
|
|
236
|
+
* SIGTERM handler can terminate its shell before the asynchronous process-tree
|
|
237
|
+
* sweep reaches the bot worker, leaving that worker alive with the instance
|
|
238
|
+
* lock. SIGINT follows nodemon's graceful quit path and waits for the tree.
|
|
239
|
+
*/
|
|
240
|
+
function getHotChildShutdownSignal(childName, wrapperSignal) {
|
|
241
|
+
return childName === 'nodemon' ? 'SIGINT' : wrapperSignal;
|
|
242
|
+
}
|
|
243
|
+
/** Return a failing wrapper code whenever a watcher stops on its own. */
|
|
244
|
+
function getUnexpectedHotChildExitCode(code) {
|
|
245
|
+
return code !== null && code !== 0 ? code : 1;
|
|
246
|
+
}
|
|
247
|
+
function checkIsHotModeSupported(platform) {
|
|
248
|
+
return platform !== 'win32';
|
|
249
|
+
}
|
|
250
|
+
function checkIsTscWatchReady(text) {
|
|
251
|
+
return text.includes(tscWatchReadyMarker);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* @description Pre-start OpenCode in the long-lived hot supervisor, outside
|
|
255
|
+
* nodemon's worker subtree. A missing binary or failed start stays non-fatal:
|
|
256
|
+
* hot mode must still serve Claude/terminal and the worker can retry OpenCode
|
|
257
|
+
* through the externally hosted startup path.
|
|
258
|
+
*/
|
|
259
|
+
async function prepareHotOpenCodeServer(deps = {
|
|
260
|
+
checkIsInstalled: installManager_1.checkIsInstalled,
|
|
261
|
+
ensureOpenCodeServer: installManager_1.ensureOpenCodeServer,
|
|
262
|
+
stopOpenCodeServer: installManager_1.stopOpenCodeServer,
|
|
263
|
+
writeWarning: (message) => process.stderr.write(message),
|
|
264
|
+
}) {
|
|
265
|
+
if (!deps.checkIsInstalled('opencode'))
|
|
266
|
+
return false;
|
|
267
|
+
try {
|
|
268
|
+
await deps.ensureOpenCodeServer();
|
|
269
|
+
return true;
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
// `ensureOpenCodeServer` confirms cleanup for generations it started. This
|
|
273
|
+
// extra stop also covers failures outside that startup window.
|
|
274
|
+
deps.stopOpenCodeServer();
|
|
275
|
+
const message = error instanceof Error ? error.message : error?.toString() ?? 'unknown error';
|
|
276
|
+
deps.writeWarning(`telegramcode hot: OpenCode pre-start failed: ${message}\n`);
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* @description Build the env handed to the hot-mode worker (nodemon → bot).
|
|
282
|
+
*
|
|
283
|
+
* In hot mode the supervisor runs `nodemon` with cwd = projectRoot (it must,
|
|
284
|
+
* to watch `dist/`), and the worker (`node dist/cli/botEntry.js`) inherits that
|
|
285
|
+
* cwd. Left alone the worker would default `WORK_ROOT` to `process.cwd()` =
|
|
286
|
+
* the project checkout, so `/bind` would list folders inside the Charness
|
|
287
|
+
* checkout instead of the operator's projects parent. We hand the worker the real
|
|
288
|
+
* launch dir as `WORK_ROOT` so it binds against where the wrapper was started.
|
|
289
|
+
*
|
|
290
|
+
* An explicit `WORK_ROOT` in the inherited env always wins (advanced
|
|
291
|
+
* override); empty/unset falls back to `launchCwd` — matching how `runBot`
|
|
292
|
+
* itself treats `WORK_ROOT` (`!process.env.WORK_ROOT`).
|
|
293
|
+
*/
|
|
294
|
+
function buildHotWorkerEnv(baseEnv, launchCwd) {
|
|
295
|
+
return {
|
|
296
|
+
...baseEnv,
|
|
297
|
+
WORK_ROOT: baseEnv.WORK_ROOT || launchCwd,
|
|
298
|
+
[installManager_1.openCodeExternalHostEnvName]: installManager_1.openCodeExternalHostEnvValue,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* @description Resolve the project root from this module's own location.
|
|
303
|
+
*
|
|
304
|
+
* Layout: this file compiles to `<root>/dist/cli/hot.js`, so two `dirname`
|
|
305
|
+
* hops land on `<root>`. We canonicalize via `fs.realpathSync` because the
|
|
306
|
+
* global bin is an `npm link` symlink — without it, `__dirname` would point
|
|
307
|
+
* at the symlinked clone in the user's `node_modules`, not the editable
|
|
308
|
+
* checkout where `tsc -w` and `nodemon` must actually run.
|
|
309
|
+
*/
|
|
310
|
+
function resolveProjectRoot() {
|
|
311
|
+
const here = fs.realpathSync(__dirname);
|
|
312
|
+
return path.resolve(here, '..', '..');
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* @description Path to a binary inside the project's local `node_modules/.bin`.
|
|
316
|
+
*
|
|
317
|
+
* Returned even if the file is missing — the caller checks `fs.existsSync`
|
|
318
|
+
* and prints a help message naming the expected path.
|
|
319
|
+
*/
|
|
320
|
+
function localBin(projectRoot, name) {
|
|
321
|
+
return path.join(projectRoot, 'node_modules', '.bin', name);
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=hot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hot.js","sourceRoot":"","sources":["../../src/cli/hot.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const applyDnsFix_1 = require("./cli/applyDnsFix");
|
|
40
|
+
const bot_1 = require("./cli/bot");
|
|
41
|
+
const hot_1 = require("./cli/hot");
|
|
42
|
+
(0, applyDnsFix_1.applyDnsFix)();
|
|
43
|
+
/**
|
|
44
|
+
* @description Print the package version to stdout for `telegramcode --version`.
|
|
45
|
+
*
|
|
46
|
+
* Reads it from the shipped package.json (`__dirname` is `dist/`, so the file
|
|
47
|
+
* sits one level up) — the same idiom the `/version` bot command uses — so the
|
|
48
|
+
* number never drifts from a hardcoded string.
|
|
49
|
+
*/
|
|
50
|
+
function printVersion() {
|
|
51
|
+
let version = 'unknown';
|
|
52
|
+
try {
|
|
53
|
+
const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf8'));
|
|
54
|
+
version = pkg.version || version;
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
/* fall through to unknown */
|
|
58
|
+
}
|
|
59
|
+
process.stdout.write(`${version}\n`);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @description Print top-level usage to stderr.
|
|
63
|
+
*
|
|
64
|
+
* Keeps the message short and copy-pastable. Detailed docs live in README;
|
|
65
|
+
* we surface just enough here for someone running `telegramcode --help`
|
|
66
|
+
* cold to know what to try next.
|
|
67
|
+
*/
|
|
68
|
+
function printUsage() {
|
|
69
|
+
process.stderr.write(`Usage:\n` +
|
|
70
|
+
` telegramcode Start the bot (WORK_ROOT defaults to $PWD)\n` +
|
|
71
|
+
` telegramcode hot Hot-reload dev mode: tsc -w + nodemon on dist/\n` +
|
|
72
|
+
` (rebuilds + restarts the bot on src/ edits;\n` +
|
|
73
|
+
` in-flight agent sessions are reattached)\n` +
|
|
74
|
+
` telegramcode --help, -h Show this help\n` +
|
|
75
|
+
` telegramcode --version, -v Print the version\n` +
|
|
76
|
+
`\n` +
|
|
77
|
+
`Environment:\n` +
|
|
78
|
+
` Loaded from ~/.config/telegramcode/.env (base) then $PWD/.env (override),\n` +
|
|
79
|
+
` or with ENV_FILE=<absolute path> from that one file only.\n` +
|
|
80
|
+
` Required to start: TELEGRAM_BOT_TOKEN (unless CONNECTORS leaves out telegram).\n` +
|
|
81
|
+
` Access = creator + admins of the served forum group (read live; no user list).\n` +
|
|
82
|
+
` ALLOWED_GROUP_ID is optional — leave it empty to auto-pair with your\n` +
|
|
83
|
+
` forum supergroup on first contact (or use /pair in the group).\n` +
|
|
84
|
+
` WORK_ROOT defaults to $PWD if unset.\n`);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* @description Top-level dispatcher.
|
|
88
|
+
*
|
|
89
|
+
* Branches on `argv[2]`:
|
|
90
|
+
* - missing → start the Telegram bot
|
|
91
|
+
* - `hot` → hot-reload dev mode
|
|
92
|
+
* - `-h | --help | help` → usage
|
|
93
|
+
* - `-v | --version | version` → print the package version
|
|
94
|
+
* - anything else → usage + exit 2
|
|
95
|
+
*
|
|
96
|
+
* The old `cli claude` passthrough is REMOVED: running plain
|
|
97
|
+
* `claude --dangerously-skip-permissions` in the project folder shares
|
|
98
|
+
* sessions with the bot naturally (same `~/.claude/projects/<cwd-slug>/`
|
|
99
|
+
* transcript store), so the wrapper added nothing.
|
|
100
|
+
*
|
|
101
|
+
* Exit 2 (not 1) for unknown commands matches the convention used by most
|
|
102
|
+
* Unix tools to distinguish "bad invocation" from "ran but failed".
|
|
103
|
+
*/
|
|
104
|
+
async function main() {
|
|
105
|
+
const [sub] = process.argv.slice(2);
|
|
106
|
+
if (sub === undefined) {
|
|
107
|
+
await (0, bot_1.runBot)();
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (sub === 'hot') {
|
|
111
|
+
await (0, hot_1.runHot)();
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (sub === '--help' || sub === '-h' || sub === 'help') {
|
|
115
|
+
printUsage();
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (sub === '--version' || sub === '-v' || sub === 'version') {
|
|
119
|
+
printVersion();
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
process.stderr.write(`Unknown command: ${sub}\n\n`);
|
|
123
|
+
printUsage();
|
|
124
|
+
process.exit(2);
|
|
125
|
+
}
|
|
126
|
+
main().catch((err) => {
|
|
127
|
+
console.error(err);
|
|
128
|
+
process.exit(1);
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAyB;AACzB,2CAA6B;AAC7B,mDAAgD;AAChD,mCAAmC;AACnC,mCAAmC;AAEnC,IAAA,yBAAW,GAAE,CAAC;AAEd;;;;;;GAMG;AACH,SAAS,YAAY;IACnB,IAAI,OAAO,GAAG,SAAS,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5F,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,UAAU;QACR,8EAA8E;QAC9E,kFAAkF;QAClF,iFAAiF;QACjF,+EAA+E;QAC/E,kDAAkD;QAClD,qDAAqD;QACrD,IAAI;QACJ,gBAAgB;QAChB,+EAA+E;QAC/E,+DAA+D;QAC/D,oFAAoF;QACpF,oFAAoF;QACpF,0EAA0E;QAC1E,oEAAoE;QACpE,0CAA0C,CAC7C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAA,YAAM,GAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,MAAM,IAAA,YAAM,GAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACvD,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7D,YAAY,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,MAAM,CAAC,CAAC;IACpD,UAAU,EAAE,CAAC;IACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* @description Atlassian Document Format for the Jira connector (plan J4, D3):
|
|
4
|
+
* the agent's Markdown answer becomes an ADF comment body (`marklassian`), an
|
|
5
|
+
* issue's ADF description / comments become plain text for the agent's prompt
|
|
6
|
+
* (D15), and an answer longer than a comment holds is split on block
|
|
7
|
+
* boundaries first.
|
|
8
|
+
*/
|
|
9
|
+
/** An attribute value: any JSON value (ADF keeps e.g. a table's column widths as an array). */
|
|
10
|
+
export type AdfAttributeValue = string | number | boolean | null | AdfAttributeValue[] | {
|
|
11
|
+
[name: string]: AdfAttributeValue;
|
|
12
|
+
};
|
|
13
|
+
export interface AdfMark {
|
|
14
|
+
type: string;
|
|
15
|
+
attrs?: Record<string, AdfAttributeValue>;
|
|
16
|
+
}
|
|
17
|
+
export interface AdfNode {
|
|
18
|
+
type: string;
|
|
19
|
+
attrs?: Record<string, AdfAttributeValue>;
|
|
20
|
+
content?: AdfNode[];
|
|
21
|
+
marks?: AdfMark[];
|
|
22
|
+
text?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface AdfDocument {
|
|
25
|
+
version: 1;
|
|
26
|
+
type: 'doc';
|
|
27
|
+
content: AdfNode[];
|
|
28
|
+
}
|
|
29
|
+
/** Any JSON value — an ADF attribute, and the raw value of a Jira field the connector does not model. */
|
|
30
|
+
export declare const attributeValueSchema: z.ZodType<AdfAttributeValue>;
|
|
31
|
+
/** Validates an ADF node from a Jira response (unknown keys are dropped). */
|
|
32
|
+
export declare const adfNodeSchema: z.ZodType<AdfNode>;
|
|
33
|
+
/** Markdown the agent wrote → an ADF document for a comment body (D3); HTML in it stays literal text (R17), no media or unsafe links (R25). */
|
|
34
|
+
export declare function convertMarkdownToAdf(markdown: string): AdfDocument;
|
|
35
|
+
export declare function getStringAttribute(node: AdfNode | AdfMark, name: string): string | null;
|
|
36
|
+
/**
|
|
37
|
+
* What a media node (`media` in a `mediaSingle` / `mediaGroup`, or a `mediaInline`) stands for in the text.
|
|
38
|
+
* The caller supplies it: only it knows the issue's attachments.
|
|
39
|
+
*/
|
|
40
|
+
export type AdfMediaResolver = (node: AdfNode) => string;
|
|
41
|
+
/**
|
|
42
|
+
* @description An ADF document (or node) as plain text for the agent's prompt:
|
|
43
|
+
* one line per block, list items as `- …`, mentions by their display text,
|
|
44
|
+
* cards by their URL, a link as `text (address)`, a media node by what
|
|
45
|
+
* `resolveMedia` says (nothing without one). Other formatting is dropped.
|
|
46
|
+
*/
|
|
47
|
+
export declare function getAdfText(node: AdfNode | AdfDocument | null | undefined, resolveMedia?: AdfMediaResolver): string;
|
|
48
|
+
/** Comfortably under Jira's 32 767-character comment body. */
|
|
49
|
+
export declare const jiraCommentMarkdownMaxChars = 30000;
|
|
50
|
+
/**
|
|
51
|
+
* The same margin for the serialized ADF body (R19): which count Jira enforces
|
|
52
|
+
* is not documented, and ADF JSON runs several times longer than its Markdown.
|
|
53
|
+
*/
|
|
54
|
+
export declare const jiraCommentAdfMaxChars = 30000;
|
|
55
|
+
/**
|
|
56
|
+
* @description Split an answer into comment-sized Markdown chunks: whole blocks
|
|
57
|
+
* (paragraphs, lists, fenced code) packed in order; only a block that alone is
|
|
58
|
+
* too long is split inside, a code block keeping its fences on every piece.
|
|
59
|
+
* Blank input yields no chunk.
|
|
60
|
+
*/
|
|
61
|
+
export declare function splitMarkdownForComments(markdown: string, maxChars?: number): string[];
|
|
62
|
+
/**
|
|
63
|
+
* @description An answer as the comment bodies to post, in order (R19): each
|
|
64
|
+
* fits Jira's limit by BOTH counts — its Markdown and its serialized ADF. Split
|
|
65
|
+
* by {@link splitMarkdownForComments} first; a piece whose ADF is still too
|
|
66
|
+
* long is split again with a cap scaled by its own ADF/Markdown ratio.
|
|
67
|
+
*/
|
|
68
|
+
export declare function createCommentBodies(markdown: string, limits?: {
|
|
69
|
+
markdownMaxChars: number;
|
|
70
|
+
adfMaxChars: number;
|
|
71
|
+
}): AdfDocument[];
|
|
72
|
+
//# sourceMappingURL=adf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adf.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/adf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;GAMG;AAEH,+FAA+F;AAC/F,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,iBAAiB,EAAE,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAA;CAAE,CAAC;AAE/H,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,yGAAyG;AACzG,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAS7D,CAAC;AAOF,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAQ5C,CAAC;AAsHF,+IAA+I;AAC/I,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAMlE;AAWD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGvF;AAUD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC;AAwCzD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAKlH;AAED,8DAA8D;AAC9D,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAiI7C;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAA8B,GAAG,MAAM,EAAE,CAkB3G;AAgBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAA2F,GACjJ,WAAW,EAAE,CAEf"}
|