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.
Files changed (988) hide show
  1. package/.env.example +88 -0
  2. package/DEVELOPMENT.md +110 -0
  3. package/LICENSE +21 -0
  4. package/MIGRATION_1_TO_2.md +24 -0
  5. package/README.md +1024 -2
  6. package/dist/accessControl.d.ts +71 -0
  7. package/dist/accessControl.d.ts.map +1 -0
  8. package/dist/accessControl.js +108 -0
  9. package/dist/accessControl.js.map +1 -0
  10. package/dist/adapters/adapterEventRouting.d.ts +51 -0
  11. package/dist/adapters/adapterEventRouting.d.ts.map +1 -0
  12. package/dist/adapters/adapterEventRouting.js +74 -0
  13. package/dist/adapters/adapterEventRouting.js.map +1 -0
  14. package/dist/adapters/adapterNames.d.ts +19 -0
  15. package/dist/adapters/adapterNames.d.ts.map +1 -0
  16. package/dist/adapters/adapterNames.js +25 -0
  17. package/dist/adapters/adapterNames.js.map +1 -0
  18. package/dist/adapters/claudeCliAdapter.d.ts +1336 -0
  19. package/dist/adapters/claudeCliAdapter.d.ts.map +1 -0
  20. package/dist/adapters/claudeCliAdapter.js +4204 -0
  21. package/dist/adapters/claudeCliAdapter.js.map +1 -0
  22. package/dist/adapters/claudeJsonStreamAdapter.d.ts +548 -0
  23. package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -0
  24. package/dist/adapters/claudeJsonStreamAdapter.js +1810 -0
  25. package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -0
  26. package/dist/adapters/claudePlatformFlags.d.ts +35 -0
  27. package/dist/adapters/claudePlatformFlags.d.ts.map +1 -0
  28. package/dist/adapters/claudePlatformFlags.js +46 -0
  29. package/dist/adapters/claudePlatformFlags.js.map +1 -0
  30. package/dist/adapters/createAdapter.d.ts +252 -0
  31. package/dist/adapters/createAdapter.d.ts.map +1 -0
  32. package/dist/adapters/createAdapter.js +475 -0
  33. package/dist/adapters/createAdapter.js.map +1 -0
  34. package/dist/adapters/openCodeAdapter.d.ts +1446 -0
  35. package/dist/adapters/openCodeAdapter.d.ts.map +1 -0
  36. package/dist/adapters/openCodeAdapter.js +4540 -0
  37. package/dist/adapters/openCodeAdapter.js.map +1 -0
  38. package/dist/adapters/sessionLaunchDefaults.d.ts +28 -0
  39. package/dist/adapters/sessionLaunchDefaults.d.ts.map +1 -0
  40. package/dist/adapters/sessionLaunchDefaults.js +15 -0
  41. package/dist/adapters/sessionLaunchDefaults.js.map +1 -0
  42. package/dist/adapters/terminalAdapter.d.ts +68 -0
  43. package/dist/adapters/terminalAdapter.d.ts.map +1 -0
  44. package/dist/adapters/terminalAdapter.js +371 -0
  45. package/dist/adapters/terminalAdapter.js.map +1 -0
  46. package/dist/agentLogin/agentLogin.d.ts +31 -0
  47. package/dist/agentLogin/agentLogin.d.ts.map +1 -0
  48. package/dist/agentLogin/agentLogin.js +493 -0
  49. package/dist/agentLogin/agentLogin.js.map +1 -0
  50. package/dist/agentTrigger.d.ts +28 -0
  51. package/dist/agentTrigger.d.ts.map +1 -0
  52. package/dist/agentTrigger.js +53 -0
  53. package/dist/agentTrigger.js.map +1 -0
  54. package/dist/apiErrorRetry.d.ts +209 -0
  55. package/dist/apiErrorRetry.d.ts.map +1 -0
  56. package/dist/apiErrorRetry.js +351 -0
  57. package/dist/apiErrorRetry.js.map +1 -0
  58. package/dist/apiRetryKick.d.ts +148 -0
  59. package/dist/apiRetryKick.d.ts.map +1 -0
  60. package/dist/apiRetryKick.js +158 -0
  61. package/dist/apiRetryKick.js.map +1 -0
  62. package/dist/bootClassifier.d.ts +46 -0
  63. package/dist/bootClassifier.d.ts.map +1 -0
  64. package/dist/bootClassifier.js +43 -0
  65. package/dist/bootClassifier.js.map +1 -0
  66. package/dist/bot.d.ts +207 -0
  67. package/dist/bot.d.ts.map +1 -0
  68. package/dist/bot.js +10611 -0
  69. package/dist/bot.js.map +1 -0
  70. package/dist/botFileStorage.d.ts +60 -0
  71. package/dist/botFileStorage.d.ts.map +1 -0
  72. package/dist/botFileStorage.js +205 -0
  73. package/dist/botFileStorage.js.map +1 -0
  74. package/dist/cli/applyDnsFix.d.ts +7 -0
  75. package/dist/cli/applyDnsFix.d.ts.map +1 -0
  76. package/dist/cli/applyDnsFix.js +46 -0
  77. package/dist/cli/applyDnsFix.js.map +1 -0
  78. package/dist/cli/bot.d.ts +27 -0
  79. package/dist/cli/bot.d.ts.map +1 -0
  80. package/dist/cli/bot.js +98 -0
  81. package/dist/cli/bot.js.map +1 -0
  82. package/dist/cli/botEntry.d.ts +3 -0
  83. package/dist/cli/botEntry.d.ts.map +1 -0
  84. package/dist/cli/botEntry.js +11 -0
  85. package/dist/cli/botEntry.js.map +1 -0
  86. package/dist/cli/connectorGuards.d.ts +31 -0
  87. package/dist/cli/connectorGuards.d.ts.map +1 -0
  88. package/dist/cli/connectorGuards.js +159 -0
  89. package/dist/cli/connectorGuards.js.map +1 -0
  90. package/dist/cli/envLoader.d.ts +34 -0
  91. package/dist/cli/envLoader.d.ts.map +1 -0
  92. package/dist/cli/envLoader.js +132 -0
  93. package/dist/cli/envLoader.js.map +1 -0
  94. package/dist/cli/hot.d.ts +82 -0
  95. package/dist/cli/hot.d.ts.map +1 -0
  96. package/dist/cli/hot.js +323 -0
  97. package/dist/cli/hot.js.map +1 -0
  98. package/dist/cli.d.ts +3 -0
  99. package/dist/cli.d.ts.map +1 -0
  100. package/dist/cli.js +130 -0
  101. package/dist/cli.js.map +1 -0
  102. package/dist/connectors/jira/adf.d.ts +72 -0
  103. package/dist/connectors/jira/adf.d.ts.map +1 -0
  104. package/dist/connectors/jira/adf.js +407 -0
  105. package/dist/connectors/jira/adf.js.map +1 -0
  106. package/dist/connectors/jira/agentBinaries.d.ts +14 -0
  107. package/dist/connectors/jira/agentBinaries.d.ts.map +1 -0
  108. package/dist/connectors/jira/agentBinaries.js +75 -0
  109. package/dist/connectors/jira/agentBinaries.js.map +1 -0
  110. package/dist/connectors/jira/answerSink.d.ts +52 -0
  111. package/dist/connectors/jira/answerSink.d.ts.map +1 -0
  112. package/dist/connectors/jira/answerSink.js +220 -0
  113. package/dist/connectors/jira/answerSink.js.map +1 -0
  114. package/dist/connectors/jira/attachmentDownload.d.ts +41 -0
  115. package/dist/connectors/jira/attachmentDownload.d.ts.map +1 -0
  116. package/dist/connectors/jira/attachmentDownload.js +92 -0
  117. package/dist/connectors/jira/attachmentDownload.js.map +1 -0
  118. package/dist/connectors/jira/attachmentTool.d.ts +43 -0
  119. package/dist/connectors/jira/attachmentTool.d.ts.map +1 -0
  120. package/dist/connectors/jira/attachmentTool.js +150 -0
  121. package/dist/connectors/jira/attachmentTool.js.map +1 -0
  122. package/dist/connectors/jira/client.d.ts +490 -0
  123. package/dist/connectors/jira/client.d.ts.map +1 -0
  124. package/dist/connectors/jira/client.js +453 -0
  125. package/dist/connectors/jira/client.js.map +1 -0
  126. package/dist/connectors/jira/config.d.ts +117 -0
  127. package/dist/connectors/jira/config.d.ts.map +1 -0
  128. package/dist/connectors/jira/config.js +350 -0
  129. package/dist/connectors/jira/config.js.map +1 -0
  130. package/dist/connectors/jira/configFile.d.ts +10 -0
  131. package/dist/connectors/jira/configFile.d.ts.map +1 -0
  132. package/dist/connectors/jira/configFile.js +50 -0
  133. package/dist/connectors/jira/configFile.js.map +1 -0
  134. package/dist/connectors/jira/connector.d.ts +68 -0
  135. package/dist/connectors/jira/connector.d.ts.map +1 -0
  136. package/dist/connectors/jira/connector.js +257 -0
  137. package/dist/connectors/jira/connector.js.map +1 -0
  138. package/dist/connectors/jira/contextLedger.d.ts +59 -0
  139. package/dist/connectors/jira/contextLedger.d.ts.map +1 -0
  140. package/dist/connectors/jira/contextLedger.js +194 -0
  141. package/dist/connectors/jira/contextLedger.js.map +1 -0
  142. package/dist/connectors/jira/contextPreamble.d.ts +18 -0
  143. package/dist/connectors/jira/contextPreamble.d.ts.map +1 -0
  144. package/dist/connectors/jira/contextPreamble.js +31 -0
  145. package/dist/connectors/jira/contextPreamble.js.map +1 -0
  146. package/dist/connectors/jira/inbound.d.ts +132 -0
  147. package/dist/connectors/jira/inbound.d.ts.map +1 -0
  148. package/dist/connectors/jira/inbound.js +316 -0
  149. package/dist/connectors/jira/inbound.js.map +1 -0
  150. package/dist/connectors/jira/issueBlocks.d.ts +51 -0
  151. package/dist/connectors/jira/issueBlocks.d.ts.map +1 -0
  152. package/dist/connectors/jira/issueBlocks.js +182 -0
  153. package/dist/connectors/jira/issueBlocks.js.map +1 -0
  154. package/dist/connectors/jira/issueContext.d.ts +25 -0
  155. package/dist/connectors/jira/issueContext.d.ts.map +1 -0
  156. package/dist/connectors/jira/issueContext.js +53 -0
  157. package/dist/connectors/jira/issueContext.js.map +1 -0
  158. package/dist/connectors/jira/issueDelta.d.ts +35 -0
  159. package/dist/connectors/jira/issueDelta.d.ts.map +1 -0
  160. package/dist/connectors/jira/issueDelta.js +50 -0
  161. package/dist/connectors/jira/issueDelta.js.map +1 -0
  162. package/dist/connectors/jira/mediaPlaceholders.d.ts +20 -0
  163. package/dist/connectors/jira/mediaPlaceholders.d.ts.map +1 -0
  164. package/dist/connectors/jira/mediaPlaceholders.js +92 -0
  165. package/dist/connectors/jira/mediaPlaceholders.js.map +1 -0
  166. package/dist/connectors/jira/outbound.d.ts +6 -0
  167. package/dist/connectors/jira/outbound.d.ts.map +1 -0
  168. package/dist/connectors/jira/outbound.js +38 -0
  169. package/dist/connectors/jira/outbound.js.map +1 -0
  170. package/dist/connectors/jira/prompt.d.ts +37 -0
  171. package/dist/connectors/jira/prompt.d.ts.map +1 -0
  172. package/dist/connectors/jira/prompt.js +99 -0
  173. package/dist/connectors/jira/prompt.js.map +1 -0
  174. package/dist/connectors/jira/promptSpill.d.ts +50 -0
  175. package/dist/connectors/jira/promptSpill.d.ts.map +1 -0
  176. package/dist/connectors/jira/promptSpill.js +157 -0
  177. package/dist/connectors/jira/promptSpill.js.map +1 -0
  178. package/dist/connectors/jira/promptText.d.ts +7 -0
  179. package/dist/connectors/jira/promptText.d.ts.map +1 -0
  180. package/dist/connectors/jira/promptText.js +26 -0
  181. package/dist/connectors/jira/promptText.js.map +1 -0
  182. package/dist/connectors/jira/sessionKeyCodec.d.ts +16 -0
  183. package/dist/connectors/jira/sessionKeyCodec.d.ts.map +1 -0
  184. package/dist/connectors/jira/sessionKeyCodec.js +101 -0
  185. package/dist/connectors/jira/sessionKeyCodec.js.map +1 -0
  186. package/dist/connectors/jira/trigger.d.ts +50 -0
  187. package/dist/connectors/jira/trigger.d.ts.map +1 -0
  188. package/dist/connectors/jira/trigger.js +93 -0
  189. package/dist/connectors/jira/trigger.js.map +1 -0
  190. package/dist/connectors/jira/triggerLog.d.ts +51 -0
  191. package/dist/connectors/jira/triggerLog.d.ts.map +1 -0
  192. package/dist/connectors/jira/triggerLog.js +78 -0
  193. package/dist/connectors/jira/triggerLog.js.map +1 -0
  194. package/dist/connectors/jira/unconfirmedPosts.d.ts +58 -0
  195. package/dist/connectors/jira/unconfirmedPosts.d.ts.map +1 -0
  196. package/dist/connectors/jira/unconfirmedPosts.js +105 -0
  197. package/dist/connectors/jira/unconfirmedPosts.js.map +1 -0
  198. package/dist/connectors/telegram/answerSink.d.ts +46 -0
  199. package/dist/connectors/telegram/answerSink.d.ts.map +1 -0
  200. package/dist/connectors/telegram/answerSink.js +71 -0
  201. package/dist/connectors/telegram/answerSink.js.map +1 -0
  202. package/dist/connectors/telegram/commands/autoContinueLimits.d.ts +31 -0
  203. package/dist/connectors/telegram/commands/autoContinueLimits.d.ts.map +1 -0
  204. package/dist/connectors/telegram/commands/autoContinueLimits.js +142 -0
  205. package/dist/connectors/telegram/commands/autoContinueLimits.js.map +1 -0
  206. package/dist/connectors/telegram/commands/botCore.d.ts +46 -0
  207. package/dist/connectors/telegram/commands/botCore.d.ts.map +1 -0
  208. package/dist/connectors/telegram/commands/botCore.js +3 -0
  209. package/dist/connectors/telegram/commands/botCore.js.map +1 -0
  210. package/dist/connectors/telegram/commands/callbackMessage.d.ts +12 -0
  211. package/dist/connectors/telegram/commands/callbackMessage.d.ts.map +1 -0
  212. package/dist/connectors/telegram/commands/callbackMessage.js +13 -0
  213. package/dist/connectors/telegram/commands/callbackMessage.js.map +1 -0
  214. package/dist/connectors/telegram/commands/compaction.d.ts +47 -0
  215. package/dist/connectors/telegram/commands/compaction.d.ts.map +1 -0
  216. package/dist/connectors/telegram/commands/compaction.js +868 -0
  217. package/dist/connectors/telegram/commands/compaction.js.map +1 -0
  218. package/dist/connectors/telegram/commands/displayModes.d.ts +13 -0
  219. package/dist/connectors/telegram/commands/displayModes.d.ts.map +1 -0
  220. package/dist/connectors/telegram/commands/displayModes.js +335 -0
  221. package/dist/connectors/telegram/commands/displayModes.js.map +1 -0
  222. package/dist/connectors/telegram/commands/modelProviders.d.ts +95 -0
  223. package/dist/connectors/telegram/commands/modelProviders.d.ts.map +1 -0
  224. package/dist/connectors/telegram/commands/modelProviders.js +841 -0
  225. package/dist/connectors/telegram/commands/modelProviders.js.map +1 -0
  226. package/dist/connectors/telegram/commands/reminders.d.ts +54 -0
  227. package/dist/connectors/telegram/commands/reminders.d.ts.map +1 -0
  228. package/dist/connectors/telegram/commands/reminders.js +624 -0
  229. package/dist/connectors/telegram/commands/reminders.js.map +1 -0
  230. package/dist/connectors/telegram/fileIntake.d.ts +166 -0
  231. package/dist/connectors/telegram/fileIntake.d.ts.map +1 -0
  232. package/dist/connectors/telegram/fileIntake.js +304 -0
  233. package/dist/connectors/telegram/fileIntake.js.map +1 -0
  234. package/dist/connectors/telegram/fileSendGateway.d.ts +57 -0
  235. package/dist/connectors/telegram/fileSendGateway.d.ts.map +1 -0
  236. package/dist/connectors/telegram/fileSendGateway.js +221 -0
  237. package/dist/connectors/telegram/fileSendGateway.js.map +1 -0
  238. package/dist/connectors/telegram/foreignKeyFallbacks.d.ts +52 -0
  239. package/dist/connectors/telegram/foreignKeyFallbacks.d.ts.map +1 -0
  240. package/dist/connectors/telegram/foreignKeyFallbacks.js +71 -0
  241. package/dist/connectors/telegram/foreignKeyFallbacks.js.map +1 -0
  242. package/dist/connectors/telegram/inbound.d.ts +131 -0
  243. package/dist/connectors/telegram/inbound.d.ts.map +1 -0
  244. package/dist/connectors/telegram/inbound.js +278 -0
  245. package/dist/connectors/telegram/inbound.js.map +1 -0
  246. package/dist/connectors/telegram/languagePicker.d.ts +32 -0
  247. package/dist/connectors/telegram/languagePicker.d.ts.map +1 -0
  248. package/dist/connectors/telegram/languagePicker.js +55 -0
  249. package/dist/connectors/telegram/languagePicker.js.map +1 -0
  250. package/dist/connectors/telegram/messageSplit.d.ts +62 -0
  251. package/dist/connectors/telegram/messageSplit.d.ts.map +1 -0
  252. package/dist/connectors/telegram/messageSplit.js +119 -0
  253. package/dist/connectors/telegram/messageSplit.js.map +1 -0
  254. package/dist/connectors/telegram/outbound.d.ts +62 -0
  255. package/dist/connectors/telegram/outbound.d.ts.map +1 -0
  256. package/dist/connectors/telegram/outbound.js +116 -0
  257. package/dist/connectors/telegram/outbound.js.map +1 -0
  258. package/dist/connectors/telegram/output/createOutputTransport.d.ts +34 -0
  259. package/dist/connectors/telegram/output/createOutputTransport.d.ts.map +1 -0
  260. package/dist/connectors/telegram/output/createOutputTransport.js +77 -0
  261. package/dist/connectors/telegram/output/createOutputTransport.js.map +1 -0
  262. package/dist/connectors/telegram/output/dmOutputTransport.d.ts +47 -0
  263. package/dist/connectors/telegram/output/dmOutputTransport.d.ts.map +1 -0
  264. package/dist/connectors/telegram/output/dmOutputTransport.js +412 -0
  265. package/dist/connectors/telegram/output/dmOutputTransport.js.map +1 -0
  266. package/dist/connectors/telegram/outputBacklogGlue.d.ts +38 -0
  267. package/dist/connectors/telegram/outputBacklogGlue.d.ts.map +1 -0
  268. package/dist/connectors/telegram/outputBacklogGlue.js +49 -0
  269. package/dist/connectors/telegram/outputBacklogGlue.js.map +1 -0
  270. package/dist/connectors/telegram/outputFlushPlan.d.ts +93 -0
  271. package/dist/connectors/telegram/outputFlushPlan.d.ts.map +1 -0
  272. package/dist/connectors/telegram/outputFlushPlan.js +120 -0
  273. package/dist/connectors/telegram/outputFlushPlan.js.map +1 -0
  274. package/dist/connectors/telegram/questionKeyboards.d.ts +30 -0
  275. package/dist/connectors/telegram/questionKeyboards.d.ts.map +1 -0
  276. package/dist/connectors/telegram/questionKeyboards.js +37 -0
  277. package/dist/connectors/telegram/questionKeyboards.js.map +1 -0
  278. package/dist/connectors/telegram/renderAgentHtml.d.ts +27 -0
  279. package/dist/connectors/telegram/renderAgentHtml.d.ts.map +1 -0
  280. package/dist/connectors/telegram/renderAgentHtml.js +97 -0
  281. package/dist/connectors/telegram/renderAgentHtml.js.map +1 -0
  282. package/dist/connectors/telegram/sessionKeyCodec.d.ts +28 -0
  283. package/dist/connectors/telegram/sessionKeyCodec.d.ts.map +1 -0
  284. package/dist/connectors/telegram/sessionKeyCodec.js +107 -0
  285. package/dist/connectors/telegram/sessionKeyCodec.js.map +1 -0
  286. package/dist/connectors/telegram/telegramCallGuard.d.ts +19 -0
  287. package/dist/connectors/telegram/telegramCallGuard.d.ts.map +1 -0
  288. package/dist/connectors/telegram/telegramCallGuard.js +35 -0
  289. package/dist/connectors/telegram/telegramCallGuard.js.map +1 -0
  290. package/dist/connectors/telegram/timezonePicker.d.ts +85 -0
  291. package/dist/connectors/telegram/timezonePicker.d.ts.map +1 -0
  292. package/dist/connectors/telegram/timezonePicker.js +142 -0
  293. package/dist/connectors/telegram/timezonePicker.js.map +1 -0
  294. package/dist/connectors/telegram/updateDispatcher.d.ts +85 -0
  295. package/dist/connectors/telegram/updateDispatcher.d.ts.map +1 -0
  296. package/dist/connectors/telegram/updateDispatcher.js +159 -0
  297. package/dist/connectors/telegram/updateDispatcher.js.map +1 -0
  298. package/dist/connectors/test/connector.d.ts +52 -0
  299. package/dist/connectors/test/connector.d.ts.map +1 -0
  300. package/dist/connectors/test/connector.js +143 -0
  301. package/dist/connectors/test/connector.js.map +1 -0
  302. package/dist/connectors/test/sessionKeyCodec.d.ts +25 -0
  303. package/dist/connectors/test/sessionKeyCodec.d.ts.map +1 -0
  304. package/dist/connectors/test/sessionKeyCodec.js +50 -0
  305. package/dist/connectors/test/sessionKeyCodec.js.map +1 -0
  306. package/dist/diagLog.d.ts +6 -0
  307. package/dist/diagLog.d.ts.map +1 -0
  308. package/dist/diagLog.js +58 -0
  309. package/dist/diagLog.js.map +1 -0
  310. package/dist/effortLevels.d.ts +68 -0
  311. package/dist/effortLevels.d.ts.map +1 -0
  312. package/dist/effortLevels.js +114 -0
  313. package/dist/effortLevels.js.map +1 -0
  314. package/dist/folderName.d.ts +42 -0
  315. package/dist/folderName.d.ts.map +1 -0
  316. package/dist/folderName.js +51 -0
  317. package/dist/folderName.js.map +1 -0
  318. package/dist/i18n/de.d.ts +2 -0
  319. package/dist/i18n/de.d.ts.map +1 -0
  320. package/dist/i18n/de.js +537 -0
  321. package/dist/i18n/de.js.map +1 -0
  322. package/dist/i18n/en.d.ts +7 -0
  323. package/dist/i18n/en.d.ts.map +1 -0
  324. package/dist/i18n/en.js +566 -0
  325. package/dist/i18n/en.js.map +1 -0
  326. package/dist/i18n/es.d.ts +2 -0
  327. package/dist/i18n/es.d.ts.map +1 -0
  328. package/dist/i18n/es.js +537 -0
  329. package/dist/i18n/es.js.map +1 -0
  330. package/dist/i18n/fr.d.ts +2 -0
  331. package/dist/i18n/fr.d.ts.map +1 -0
  332. package/dist/i18n/fr.js +537 -0
  333. package/dist/i18n/fr.js.map +1 -0
  334. package/dist/i18n/hi.d.ts +2 -0
  335. package/dist/i18n/hi.d.ts.map +1 -0
  336. package/dist/i18n/hi.js +537 -0
  337. package/dist/i18n/hi.js.map +1 -0
  338. package/dist/i18n/ja.d.ts +2 -0
  339. package/dist/i18n/ja.d.ts.map +1 -0
  340. package/dist/i18n/ja.js +537 -0
  341. package/dist/i18n/ja.js.map +1 -0
  342. package/dist/i18n/ka.d.ts +2 -0
  343. package/dist/i18n/ka.d.ts.map +1 -0
  344. package/dist/i18n/ka.js +537 -0
  345. package/dist/i18n/ka.js.map +1 -0
  346. package/dist/i18n/pt.d.ts +2 -0
  347. package/dist/i18n/pt.d.ts.map +1 -0
  348. package/dist/i18n/pt.js +537 -0
  349. package/dist/i18n/pt.js.map +1 -0
  350. package/dist/i18n/ru.d.ts +6 -0
  351. package/dist/i18n/ru.d.ts.map +1 -0
  352. package/dist/i18n/ru.js +540 -0
  353. package/dist/i18n/ru.js.map +1 -0
  354. package/dist/i18n/uk.d.ts +8 -0
  355. package/dist/i18n/uk.d.ts.map +1 -0
  356. package/dist/i18n/uk.js +542 -0
  357. package/dist/i18n/uk.js.map +1 -0
  358. package/dist/i18n/uz.d.ts +2 -0
  359. package/dist/i18n/uz.d.ts.map +1 -0
  360. package/dist/i18n/uz.js +537 -0
  361. package/dist/i18n/uz.js.map +1 -0
  362. package/dist/i18n/zh.d.ts +2 -0
  363. package/dist/i18n/zh.d.ts.map +1 -0
  364. package/dist/i18n/zh.js +537 -0
  365. package/dist/i18n/zh.js.map +1 -0
  366. package/dist/i18n.d.ts +115 -0
  367. package/dist/i18n.d.ts.map +1 -0
  368. package/dist/i18n.js +233 -0
  369. package/dist/i18n.js.map +1 -0
  370. package/dist/index.d.ts +3 -0
  371. package/dist/index.d.ts.map +1 -0
  372. package/dist/index.js +10 -0
  373. package/dist/index.js.map +1 -0
  374. package/dist/installManager.d.ts +99 -0
  375. package/dist/installManager.d.ts.map +1 -0
  376. package/dist/installManager.js +943 -0
  377. package/dist/installManager.js.map +1 -0
  378. package/dist/instanceLock.d.ts +161 -0
  379. package/dist/instanceLock.d.ts.map +1 -0
  380. package/dist/instanceLock.js +388 -0
  381. package/dist/instanceLock.js.map +1 -0
  382. package/dist/mcpConfig.d.ts +76 -0
  383. package/dist/mcpConfig.d.ts.map +1 -0
  384. package/dist/mcpConfig.js +270 -0
  385. package/dist/mcpConfig.js.map +1 -0
  386. package/dist/openCodeOpenQuestion.d.ts +44 -0
  387. package/dist/openCodeOpenQuestion.d.ts.map +1 -0
  388. package/dist/openCodeOpenQuestion.js +64 -0
  389. package/dist/openCodeOpenQuestion.js.map +1 -0
  390. package/dist/openCodeQuestionFlow.d.ts +105 -0
  391. package/dist/openCodeQuestionFlow.d.ts.map +1 -0
  392. package/dist/openCodeQuestionFlow.js +143 -0
  393. package/dist/openCodeQuestionFlow.js.map +1 -0
  394. package/dist/openCodeSessionRouting.d.ts +133 -0
  395. package/dist/openCodeSessionRouting.d.ts.map +1 -0
  396. package/dist/openCodeSessionRouting.js +253 -0
  397. package/dist/openCodeSessionRouting.js.map +1 -0
  398. package/dist/openCodeSessionTitle.d.ts +50 -0
  399. package/dist/openCodeSessionTitle.d.ts.map +1 -0
  400. package/dist/openCodeSessionTitle.js +84 -0
  401. package/dist/openCodeSessionTitle.js.map +1 -0
  402. package/dist/outputTrace.d.ts +108 -0
  403. package/dist/outputTrace.d.ts.map +1 -0
  404. package/dist/outputTrace.js +430 -0
  405. package/dist/outputTrace.js.map +1 -0
  406. package/dist/pendingQuestionRepost.d.ts +47 -0
  407. package/dist/pendingQuestionRepost.d.ts.map +1 -0
  408. package/dist/pendingQuestionRepost.js +29 -0
  409. package/dist/pendingQuestionRepost.js.map +1 -0
  410. package/dist/pinnedStatus.d.ts +52 -0
  411. package/dist/pinnedStatus.d.ts.map +1 -0
  412. package/dist/pinnedStatus.js +36 -0
  413. package/dist/pinnedStatus.js.map +1 -0
  414. package/dist/platform/answerSink.d.ts +93 -0
  415. package/dist/platform/answerSink.d.ts.map +1 -0
  416. package/dist/platform/answerSink.js +31 -0
  417. package/dist/platform/answerSink.js.map +1 -0
  418. package/dist/platform/capabilityFallback.d.ts +39 -0
  419. package/dist/platform/capabilityFallback.d.ts.map +1 -0
  420. package/dist/platform/capabilityFallback.js +55 -0
  421. package/dist/platform/capabilityFallback.js.map +1 -0
  422. package/dist/platform/commandRouter.d.ts +51 -0
  423. package/dist/platform/commandRouter.d.ts.map +1 -0
  424. package/dist/platform/commandRouter.js +53 -0
  425. package/dist/platform/commandRouter.js.map +1 -0
  426. package/dist/platform/connectorSet.d.ts +39 -0
  427. package/dist/platform/connectorSet.d.ts.map +1 -0
  428. package/dist/platform/connectorSet.js +55 -0
  429. package/dist/platform/connectorSet.js.map +1 -0
  430. package/dist/platform/inbound.d.ts +147 -0
  431. package/dist/platform/inbound.d.ts.map +1 -0
  432. package/dist/platform/inbound.js +18 -0
  433. package/dist/platform/inbound.js.map +1 -0
  434. package/dist/platform/outbound.d.ts +225 -0
  435. package/dist/platform/outbound.d.ts.map +1 -0
  436. package/dist/platform/outbound.js +30 -0
  437. package/dist/platform/outbound.js.map +1 -0
  438. package/dist/platform/unservedStateGuard.d.ts +27 -0
  439. package/dist/platform/unservedStateGuard.d.ts.map +1 -0
  440. package/dist/platform/unservedStateGuard.js +42 -0
  441. package/dist/platform/unservedStateGuard.js.map +1 -0
  442. package/dist/postToSession.d.ts +94 -0
  443. package/dist/postToSession.d.ts.map +1 -0
  444. package/dist/postToSession.js +56 -0
  445. package/dist/postToSession.js.map +1 -0
  446. package/dist/progressLine.d.ts +180 -0
  447. package/dist/progressLine.d.ts.map +1 -0
  448. package/dist/progressLine.js +293 -0
  449. package/dist/progressLine.js.map +1 -0
  450. package/dist/rateLimiter.d.ts +246 -0
  451. package/dist/rateLimiter.d.ts.map +1 -0
  452. package/dist/rateLimiter.js +555 -0
  453. package/dist/rateLimiter.js.map +1 -0
  454. package/dist/requests/answerRequest.d.ts +57 -0
  455. package/dist/requests/answerRequest.d.ts.map +1 -0
  456. package/dist/requests/answerRequest.js +96 -0
  457. package/dist/requests/answerRequest.js.map +1 -0
  458. package/dist/requests/answerTail.d.ts +83 -0
  459. package/dist/requests/answerTail.d.ts.map +1 -0
  460. package/dist/requests/answerTail.js +102 -0
  461. package/dist/requests/answerTail.js.map +1 -0
  462. package/dist/requests/limitWaitAnswer.d.ts +87 -0
  463. package/dist/requests/limitWaitAnswer.d.ts.map +1 -0
  464. package/dist/requests/limitWaitAnswer.js +83 -0
  465. package/dist/requests/limitWaitAnswer.js.map +1 -0
  466. package/dist/requests/requestGroup.d.ts +44 -0
  467. package/dist/requests/requestGroup.d.ts.map +1 -0
  468. package/dist/requests/requestGroup.js +63 -0
  469. package/dist/requests/requestGroup.js.map +1 -0
  470. package/dist/requests/requestHeader.d.ts +70 -0
  471. package/dist/requests/requestHeader.d.ts.map +1 -0
  472. package/dist/requests/requestHeader.js +83 -0
  473. package/dist/requests/requestHeader.js.map +1 -0
  474. package/dist/requests/requestLedger.d.ts +217 -0
  475. package/dist/requests/requestLedger.d.ts.map +1 -0
  476. package/dist/requests/requestLedger.js +468 -0
  477. package/dist/requests/requestLedger.js.map +1 -0
  478. package/dist/requests/sessionTurnProbe.d.ts +52 -0
  479. package/dist/requests/sessionTurnProbe.d.ts.map +1 -0
  480. package/dist/requests/sessionTurnProbe.js +29 -0
  481. package/dist/requests/sessionTurnProbe.js.map +1 -0
  482. package/dist/requests/types.d.ts +181 -0
  483. package/dist/requests/types.d.ts.map +1 -0
  484. package/dist/requests/types.js +9 -0
  485. package/dist/requests/types.js.map +1 -0
  486. package/dist/requests/wakeUpEngine.d.ts +160 -0
  487. package/dist/requests/wakeUpEngine.d.ts.map +1 -0
  488. package/dist/requests/wakeUpEngine.js +399 -0
  489. package/dist/requests/wakeUpEngine.js.map +1 -0
  490. package/dist/requests/wakeUpRules.d.ts +151 -0
  491. package/dist/requests/wakeUpRules.d.ts.map +1 -0
  492. package/dist/requests/wakeUpRules.js +167 -0
  493. package/dist/requests/wakeUpRules.js.map +1 -0
  494. package/dist/resumeContext.d.ts +87 -0
  495. package/dist/resumeContext.d.ts.map +1 -0
  496. package/dist/resumeContext.js +114 -0
  497. package/dist/resumeContext.js.map +1 -0
  498. package/dist/scheduler/checkRun.d.ts +95 -0
  499. package/dist/scheduler/checkRun.d.ts.map +1 -0
  500. package/dist/scheduler/checkRun.js +172 -0
  501. package/dist/scheduler/checkRun.js.map +1 -0
  502. package/dist/scheduler/delivery.d.ts +99 -0
  503. package/dist/scheduler/delivery.d.ts.map +1 -0
  504. package/dist/scheduler/delivery.js +212 -0
  505. package/dist/scheduler/delivery.js.map +1 -0
  506. package/dist/scheduler/deliveryKind.d.ts +29 -0
  507. package/dist/scheduler/deliveryKind.d.ts.map +1 -0
  508. package/dist/scheduler/deliveryKind.js +39 -0
  509. package/dist/scheduler/deliveryKind.js.map +1 -0
  510. package/dist/scheduler/directoryThreads.d.ts +19 -0
  511. package/dist/scheduler/directoryThreads.d.ts.map +1 -0
  512. package/dist/scheduler/directoryThreads.js +28 -0
  513. package/dist/scheduler/directoryThreads.js.map +1 -0
  514. package/dist/scheduler/engine.d.ts +77 -0
  515. package/dist/scheduler/engine.d.ts.map +1 -0
  516. package/dist/scheduler/engine.js +337 -0
  517. package/dist/scheduler/engine.js.map +1 -0
  518. package/dist/scheduler/injection.d.ts +102 -0
  519. package/dist/scheduler/injection.d.ts.map +1 -0
  520. package/dist/scheduler/injection.js +122 -0
  521. package/dist/scheduler/injection.js.map +1 -0
  522. package/dist/scheduler/mcpBoot.d.ts +65 -0
  523. package/dist/scheduler/mcpBoot.d.ts.map +1 -0
  524. package/dist/scheduler/mcpBoot.js +60 -0
  525. package/dist/scheduler/mcpBoot.js.map +1 -0
  526. package/dist/scheduler/mcpSurface.d.ts +355 -0
  527. package/dist/scheduler/mcpSurface.d.ts.map +1 -0
  528. package/dist/scheduler/mcpSurface.js +1257 -0
  529. package/dist/scheduler/mcpSurface.js.map +1 -0
  530. package/dist/scheduler/rebindResume.d.ts +27 -0
  531. package/dist/scheduler/rebindResume.d.ts.map +1 -0
  532. package/dist/scheduler/rebindResume.js +17 -0
  533. package/dist/scheduler/rebindResume.js.map +1 -0
  534. package/dist/scheduler/recurrence.d.ts +58 -0
  535. package/dist/scheduler/recurrence.d.ts.map +1 -0
  536. package/dist/scheduler/recurrence.js +210 -0
  537. package/dist/scheduler/recurrence.js.map +1 -0
  538. package/dist/scheduler/runLedger.d.ts +59 -0
  539. package/dist/scheduler/runLedger.d.ts.map +1 -0
  540. package/dist/scheduler/runLedger.js +54 -0
  541. package/dist/scheduler/runLedger.js.map +1 -0
  542. package/dist/scheduler/store.d.ts +97 -0
  543. package/dist/scheduler/store.d.ts.map +1 -0
  544. package/dist/scheduler/store.js +124 -0
  545. package/dist/scheduler/store.js.map +1 -0
  546. package/dist/scheduler/timezoneRecompute.d.ts +61 -0
  547. package/dist/scheduler/timezoneRecompute.d.ts.map +1 -0
  548. package/dist/scheduler/timezoneRecompute.js +46 -0
  549. package/dist/scheduler/timezoneRecompute.js.map +1 -0
  550. package/dist/scheduler/types.d.ts +139 -0
  551. package/dist/scheduler/types.d.ts.map +1 -0
  552. package/dist/scheduler/types.js +8 -0
  553. package/dist/scheduler/types.js.map +1 -0
  554. package/dist/sendErrorClassifier.d.ts +45 -0
  555. package/dist/sendErrorClassifier.d.ts.map +1 -0
  556. package/dist/sendErrorClassifier.js +65 -0
  557. package/dist/sendErrorClassifier.js.map +1 -0
  558. package/dist/sessionKey.d.ts +136 -0
  559. package/dist/sessionKey.d.ts.map +1 -0
  560. package/dist/sessionKey.js +153 -0
  561. package/dist/sessionKey.js.map +1 -0
  562. package/dist/sessionPick.d.ts +42 -0
  563. package/dist/sessionPick.d.ts.map +1 -0
  564. package/dist/sessionPick.js +39 -0
  565. package/dist/sessionPick.js.map +1 -0
  566. package/dist/shutdown.d.ts +126 -0
  567. package/dist/shutdown.d.ts.map +1 -0
  568. package/dist/shutdown.js +164 -0
  569. package/dist/shutdown.js.map +1 -0
  570. package/dist/startupPromptBuffer.d.ts +85 -0
  571. package/dist/startupPromptBuffer.d.ts.map +1 -0
  572. package/dist/startupPromptBuffer.js +123 -0
  573. package/dist/startupPromptBuffer.js.map +1 -0
  574. package/dist/state.d.ts +1245 -0
  575. package/dist/state.d.ts.map +1 -0
  576. package/dist/state.js +1830 -0
  577. package/dist/state.js.map +1 -0
  578. package/dist/threadContextPreamble.d.ts +89 -0
  579. package/dist/threadContextPreamble.d.ts.map +1 -0
  580. package/dist/threadContextPreamble.js +102 -0
  581. package/dist/threadContextPreamble.js.map +1 -0
  582. package/dist/threadRouting.d.ts +164 -0
  583. package/dist/threadRouting.d.ts.map +1 -0
  584. package/dist/threadRouting.js +182 -0
  585. package/dist/threadRouting.js.map +1 -0
  586. package/dist/types.d.ts +1015 -0
  587. package/dist/types.d.ts.map +1 -0
  588. package/dist/types.js +3 -0
  589. package/dist/types.js.map +1 -0
  590. package/dist/utils/abortableFifo.d.ts +10 -0
  591. package/dist/utils/abortableFifo.d.ts.map +1 -0
  592. package/dist/utils/abortableFifo.js +55 -0
  593. package/dist/utils/abortableFifo.js.map +1 -0
  594. package/dist/utils/adoptedToolList.d.ts +27 -0
  595. package/dist/utils/adoptedToolList.d.ts.map +1 -0
  596. package/dist/utils/adoptedToolList.js +22 -0
  597. package/dist/utils/adoptedToolList.js.map +1 -0
  598. package/dist/utils/agentEnvironment.d.ts +42 -0
  599. package/dist/utils/agentEnvironment.d.ts.map +1 -0
  600. package/dist/utils/agentEnvironment.js +122 -0
  601. package/dist/utils/agentEnvironment.js.map +1 -0
  602. package/dist/utils/ansiClean.d.ts +11 -0
  603. package/dist/utils/ansiClean.d.ts.map +1 -0
  604. package/dist/utils/ansiClean.js +139 -0
  605. package/dist/utils/ansiClean.js.map +1 -0
  606. package/dist/utils/autoContinueOnLimit.d.ts +49 -0
  607. package/dist/utils/autoContinueOnLimit.d.ts.map +1 -0
  608. package/dist/utils/autoContinueOnLimit.js +69 -0
  609. package/dist/utils/autoContinueOnLimit.js.map +1 -0
  610. package/dist/utils/canonicalPathContainment.d.ts +7 -0
  611. package/dist/utils/canonicalPathContainment.d.ts.map +1 -0
  612. package/dist/utils/canonicalPathContainment.js +48 -0
  613. package/dist/utils/canonicalPathContainment.js.map +1 -0
  614. package/dist/utils/claudeAuthLogin.d.ts +71 -0
  615. package/dist/utils/claudeAuthLogin.d.ts.map +1 -0
  616. package/dist/utils/claudeAuthLogin.js +93 -0
  617. package/dist/utils/claudeAuthLogin.js.map +1 -0
  618. package/dist/utils/claudeChunkClassifier.d.ts +97 -0
  619. package/dist/utils/claudeChunkClassifier.d.ts.map +1 -0
  620. package/dist/utils/claudeChunkClassifier.js +254 -0
  621. package/dist/utils/claudeChunkClassifier.js.map +1 -0
  622. package/dist/utils/claudeCodeVersion.d.ts +31 -0
  623. package/dist/utils/claudeCodeVersion.d.ts.map +1 -0
  624. package/dist/utils/claudeCodeVersion.js +62 -0
  625. package/dist/utils/claudeCodeVersion.js.map +1 -0
  626. package/dist/utils/claudeCompactHook.d.ts +64 -0
  627. package/dist/utils/claudeCompactHook.d.ts.map +1 -0
  628. package/dist/utils/claudeCompactHook.js +98 -0
  629. package/dist/utils/claudeCompactHook.js.map +1 -0
  630. package/dist/utils/claudeLivenessAction.d.ts +208 -0
  631. package/dist/utils/claudeLivenessAction.d.ts.map +1 -0
  632. package/dist/utils/claudeLivenessAction.js +135 -0
  633. package/dist/utils/claudeLivenessAction.js.map +1 -0
  634. package/dist/utils/claudeMcpHeal.d.ts +92 -0
  635. package/dist/utils/claudeMcpHeal.d.ts.map +1 -0
  636. package/dist/utils/claudeMcpHeal.js +91 -0
  637. package/dist/utils/claudeMcpHeal.js.map +1 -0
  638. package/dist/utils/claudeRelayRouting.d.ts +86 -0
  639. package/dist/utils/claudeRelayRouting.d.ts.map +1 -0
  640. package/dist/utils/claudeRelayRouting.js +159 -0
  641. package/dist/utils/claudeRelayRouting.js.map +1 -0
  642. package/dist/utils/claudeRuntimeInfo.d.ts +26 -0
  643. package/dist/utils/claudeRuntimeInfo.d.ts.map +1 -0
  644. package/dist/utils/claudeRuntimeInfo.js +151 -0
  645. package/dist/utils/claudeRuntimeInfo.js.map +1 -0
  646. package/dist/utils/claudeScrapeShapes.d.ts +256 -0
  647. package/dist/utils/claudeScrapeShapes.d.ts.map +1 -0
  648. package/dist/utils/claudeScrapeShapes.js +290 -0
  649. package/dist/utils/claudeScrapeShapes.js.map +1 -0
  650. package/dist/utils/claudeSessionTitle.d.ts +27 -0
  651. package/dist/utils/claudeSessionTitle.d.ts.map +1 -0
  652. package/dist/utils/claudeSessionTitle.js +90 -0
  653. package/dist/utils/claudeSessionTitle.js.map +1 -0
  654. package/dist/utils/claudeStreamJson.d.ts +202 -0
  655. package/dist/utils/claudeStreamJson.d.ts.map +1 -0
  656. package/dist/utils/claudeStreamJson.js +351 -0
  657. package/dist/utils/claudeStreamJson.js.map +1 -0
  658. package/dist/utils/claudeSubagentTail.d.ts +93 -0
  659. package/dist/utils/claudeSubagentTail.d.ts.map +1 -0
  660. package/dist/utils/claudeSubagentTail.js +136 -0
  661. package/dist/utils/claudeSubagentTail.js.map +1 -0
  662. package/dist/utils/clearThreadOutputQueues.d.ts +43 -0
  663. package/dist/utils/clearThreadOutputQueues.d.ts.map +1 -0
  664. package/dist/utils/clearThreadOutputQueues.js +39 -0
  665. package/dist/utils/clearThreadOutputQueues.js.map +1 -0
  666. package/dist/utils/compactCommandRoute.d.ts +45 -0
  667. package/dist/utils/compactCommandRoute.d.ts.map +1 -0
  668. package/dist/utils/compactCommandRoute.js +36 -0
  669. package/dist/utils/compactCommandRoute.js.map +1 -0
  670. package/dist/utils/compactOnIdle.d.ts +329 -0
  671. package/dist/utils/compactOnIdle.d.ts.map +1 -0
  672. package/dist/utils/compactOnIdle.js +379 -0
  673. package/dist/utils/compactOnIdle.js.map +1 -0
  674. package/dist/utils/consoleFileTap.d.ts +51 -0
  675. package/dist/utils/consoleFileTap.d.ts.map +1 -0
  676. package/dist/utils/consoleFileTap.js +86 -0
  677. package/dist/utils/consoleFileTap.js.map +1 -0
  678. package/dist/utils/displayVerbosity.d.ts +44 -0
  679. package/dist/utils/displayVerbosity.d.ts.map +1 -0
  680. package/dist/utils/displayVerbosity.js +75 -0
  681. package/dist/utils/displayVerbosity.js.map +1 -0
  682. package/dist/utils/download.d.ts +72 -0
  683. package/dist/utils/download.d.ts.map +1 -0
  684. package/dist/utils/download.js +216 -0
  685. package/dist/utils/download.js.map +1 -0
  686. package/dist/utils/draftFinalize.d.ts +110 -0
  687. package/dist/utils/draftFinalize.d.ts.map +1 -0
  688. package/dist/utils/draftFinalize.js +100 -0
  689. package/dist/utils/draftFinalize.js.map +1 -0
  690. package/dist/utils/draftId.d.ts +36 -0
  691. package/dist/utils/draftId.d.ts.map +1 -0
  692. package/dist/utils/draftId.js +46 -0
  693. package/dist/utils/draftId.js.map +1 -0
  694. package/dist/utils/draftPacer.d.ts +72 -0
  695. package/dist/utils/draftPacer.d.ts.map +1 -0
  696. package/dist/utils/draftPacer.js +53 -0
  697. package/dist/utils/draftPacer.js.map +1 -0
  698. package/dist/utils/effortStartupKeystroke.d.ts +20 -0
  699. package/dist/utils/effortStartupKeystroke.d.ts.map +1 -0
  700. package/dist/utils/effortStartupKeystroke.js +28 -0
  701. package/dist/utils/effortStartupKeystroke.js.map +1 -0
  702. package/dist/utils/ensureSessionPlan.d.ts +70 -0
  703. package/dist/utils/ensureSessionPlan.d.ts.map +1 -0
  704. package/dist/utils/ensureSessionPlan.js +54 -0
  705. package/dist/utils/ensureSessionPlan.js.map +1 -0
  706. package/dist/utils/fileSendPlan.d.ts +217 -0
  707. package/dist/utils/fileSendPlan.d.ts.map +1 -0
  708. package/dist/utils/fileSendPlan.js +291 -0
  709. package/dist/utils/fileSendPlan.js.map +1 -0
  710. package/dist/utils/fileSendService.d.ts +94 -0
  711. package/dist/utils/fileSendService.d.ts.map +1 -0
  712. package/dist/utils/fileSendService.js +387 -0
  713. package/dist/utils/fileSendService.js.map +1 -0
  714. package/dist/utils/groupFinalizePlan.d.ts +38 -0
  715. package/dist/utils/groupFinalizePlan.d.ts.map +1 -0
  716. package/dist/utils/groupFinalizePlan.js +35 -0
  717. package/dist/utils/groupFinalizePlan.js.map +1 -0
  718. package/dist/utils/identicalOutputGuard.d.ts +83 -0
  719. package/dist/utils/identicalOutputGuard.d.ts.map +1 -0
  720. package/dist/utils/identicalOutputGuard.js +99 -0
  721. package/dist/utils/identicalOutputGuard.js.map +1 -0
  722. package/dist/utils/isoTimestamp.d.ts +16 -0
  723. package/dist/utils/isoTimestamp.d.ts.map +1 -0
  724. package/dist/utils/isoTimestamp.js +34 -0
  725. package/dist/utils/isoTimestamp.js.map +1 -0
  726. package/dist/utils/jsonStreamBusyWatchdog.d.ts +130 -0
  727. package/dist/utils/jsonStreamBusyWatchdog.d.ts.map +1 -0
  728. package/dist/utils/jsonStreamBusyWatchdog.js +122 -0
  729. package/dist/utils/jsonStreamBusyWatchdog.js.map +1 -0
  730. package/dist/utils/jsonStreamHost.d.ts +227 -0
  731. package/dist/utils/jsonStreamHost.d.ts.map +1 -0
  732. package/dist/utils/jsonStreamHost.js +417 -0
  733. package/dist/utils/jsonStreamHost.js.map +1 -0
  734. package/dist/utils/keyedTransitionQueue.d.ts +18 -0
  735. package/dist/utils/keyedTransitionQueue.d.ts.map +1 -0
  736. package/dist/utils/keyedTransitionQueue.js +34 -0
  737. package/dist/utils/keyedTransitionQueue.js.map +1 -0
  738. package/dist/utils/limitEpisodeRecovery.d.ts +92 -0
  739. package/dist/utils/limitEpisodeRecovery.d.ts.map +1 -0
  740. package/dist/utils/limitEpisodeRecovery.js +133 -0
  741. package/dist/utils/limitEpisodeRecovery.js.map +1 -0
  742. package/dist/utils/limitHeldPromptQueue.d.ts +48 -0
  743. package/dist/utils/limitHeldPromptQueue.d.ts.map +1 -0
  744. package/dist/utils/limitHeldPromptQueue.js +59 -0
  745. package/dist/utils/limitHeldPromptQueue.js.map +1 -0
  746. package/dist/utils/limitHeldPrompts.d.ts +58 -0
  747. package/dist/utils/limitHeldPrompts.d.ts.map +1 -0
  748. package/dist/utils/limitHeldPrompts.js +65 -0
  749. package/dist/utils/limitHeldPrompts.js.map +1 -0
  750. package/dist/utils/linkPreviewSuppression.d.ts +18 -0
  751. package/dist/utils/linkPreviewSuppression.d.ts.map +1 -0
  752. package/dist/utils/linkPreviewSuppression.js +37 -0
  753. package/dist/utils/linkPreviewSuppression.js.map +1 -0
  754. package/dist/utils/localClock.d.ts +15 -0
  755. package/dist/utils/localClock.d.ts.map +1 -0
  756. package/dist/utils/localClock.js +29 -0
  757. package/dist/utils/localClock.js.map +1 -0
  758. package/dist/utils/markdownTableRender.d.ts +83 -0
  759. package/dist/utils/markdownTableRender.d.ts.map +1 -0
  760. package/dist/utils/markdownTableRender.js +298 -0
  761. package/dist/utils/markdownTableRender.js.map +1 -0
  762. package/dist/utils/mediaGroupCollector.d.ts +51 -0
  763. package/dist/utils/mediaGroupCollector.d.ts.map +1 -0
  764. package/dist/utils/mediaGroupCollector.js +90 -0
  765. package/dist/utils/mediaGroupCollector.js.map +1 -0
  766. package/dist/utils/messageSendService.d.ts +136 -0
  767. package/dist/utils/messageSendService.d.ts.map +1 -0
  768. package/dist/utils/messageSendService.js +165 -0
  769. package/dist/utils/messageSendService.js.map +1 -0
  770. package/dist/utils/minutesOverride.d.ts +7 -0
  771. package/dist/utils/minutesOverride.d.ts.map +1 -0
  772. package/dist/utils/minutesOverride.js +16 -0
  773. package/dist/utils/minutesOverride.js.map +1 -0
  774. package/dist/utils/modelPickerPlan.d.ts +119 -0
  775. package/dist/utils/modelPickerPlan.d.ts.map +1 -0
  776. package/dist/utils/modelPickerPlan.js +171 -0
  777. package/dist/utils/modelPickerPlan.js.map +1 -0
  778. package/dist/utils/modelSetReplyDecision.d.ts +67 -0
  779. package/dist/utils/modelSetReplyDecision.d.ts.map +1 -0
  780. package/dist/utils/modelSetReplyDecision.js +27 -0
  781. package/dist/utils/modelSetReplyDecision.js.map +1 -0
  782. package/dist/utils/openCodeAuthLogin.d.ts +181 -0
  783. package/dist/utils/openCodeAuthLogin.d.ts.map +1 -0
  784. package/dist/utils/openCodeAuthLogin.js +393 -0
  785. package/dist/utils/openCodeAuthLogin.js.map +1 -0
  786. package/dist/utils/openCodeCompactPlugin.d.ts +81 -0
  787. package/dist/utils/openCodeCompactPlugin.d.ts.map +1 -0
  788. package/dist/utils/openCodeCompactPlugin.js +146 -0
  789. package/dist/utils/openCodeCompactPlugin.js.map +1 -0
  790. package/dist/utils/openCodeTurnActivity.d.ts +67 -0
  791. package/dist/utils/openCodeTurnActivity.d.ts.map +1 -0
  792. package/dist/utils/openCodeTurnActivity.js +27 -0
  793. package/dist/utils/openCodeTurnActivity.js.map +1 -0
  794. package/dist/utils/outputDebounce.d.ts +24 -0
  795. package/dist/utils/outputDebounce.d.ts.map +1 -0
  796. package/dist/utils/outputDebounce.js +30 -0
  797. package/dist/utils/outputDebounce.js.map +1 -0
  798. package/dist/utils/outputFlushTiming.d.ts +54 -0
  799. package/dist/utils/outputFlushTiming.d.ts.map +1 -0
  800. package/dist/utils/outputFlushTiming.js +48 -0
  801. package/dist/utils/outputFlushTiming.js.map +1 -0
  802. package/dist/utils/paginateList.d.ts +25 -0
  803. package/dist/utils/paginateList.d.ts.map +1 -0
  804. package/dist/utils/paginateList.js +32 -0
  805. package/dist/utils/paginateList.js.map +1 -0
  806. package/dist/utils/paneDiff.d.ts +55 -0
  807. package/dist/utils/paneDiff.d.ts.map +1 -0
  808. package/dist/utils/paneDiff.js +88 -0
  809. package/dist/utils/paneDiff.js.map +1 -0
  810. package/dist/utils/paneResizeGuard.d.ts +69 -0
  811. package/dist/utils/paneResizeGuard.d.ts.map +1 -0
  812. package/dist/utils/paneResizeGuard.js +91 -0
  813. package/dist/utils/paneResizeGuard.js.map +1 -0
  814. package/dist/utils/persistAdapterSessionIds.d.ts +39 -0
  815. package/dist/utils/persistAdapterSessionIds.d.ts.map +1 -0
  816. package/dist/utils/persistAdapterSessionIds.js +28 -0
  817. package/dist/utils/persistAdapterSessionIds.js.map +1 -0
  818. package/dist/utils/pinnedBannerSkipDecision.d.ts +44 -0
  819. package/dist/utils/pinnedBannerSkipDecision.d.ts.map +1 -0
  820. package/dist/utils/pinnedBannerSkipDecision.js +20 -0
  821. package/dist/utils/pinnedBannerSkipDecision.js.map +1 -0
  822. package/dist/utils/pollBackoff.d.ts +45 -0
  823. package/dist/utils/pollBackoff.d.ts.map +1 -0
  824. package/dist/utils/pollBackoff.js +44 -0
  825. package/dist/utils/pollBackoff.js.map +1 -0
  826. package/dist/utils/promptDelivery.d.ts +46 -0
  827. package/dist/utils/promptDelivery.d.ts.map +1 -0
  828. package/dist/utils/promptDelivery.js +49 -0
  829. package/dist/utils/promptDelivery.js.map +1 -0
  830. package/dist/utils/providerDisconnectPlan.d.ts +82 -0
  831. package/dist/utils/providerDisconnectPlan.d.ts.map +1 -0
  832. package/dist/utils/providerDisconnectPlan.js +110 -0
  833. package/dist/utils/providerDisconnectPlan.js.map +1 -0
  834. package/dist/utils/rateLimitLog.d.ts +48 -0
  835. package/dist/utils/rateLimitLog.d.ts.map +1 -0
  836. package/dist/utils/rateLimitLog.js +43 -0
  837. package/dist/utils/rateLimitLog.js.map +1 -0
  838. package/dist/utils/recentRelayWindow.d.ts +165 -0
  839. package/dist/utils/recentRelayWindow.d.ts.map +1 -0
  840. package/dist/utils/recentRelayWindow.js +284 -0
  841. package/dist/utils/recentRelayWindow.js.map +1 -0
  842. package/dist/utils/recvPreviewRedaction.d.ts +23 -0
  843. package/dist/utils/recvPreviewRedaction.d.ts.map +1 -0
  844. package/dist/utils/recvPreviewRedaction.js +39 -0
  845. package/dist/utils/recvPreviewRedaction.js.map +1 -0
  846. package/dist/utils/reminderFlow.d.ts +148 -0
  847. package/dist/utils/reminderFlow.d.ts.map +1 -0
  848. package/dist/utils/reminderFlow.js +122 -0
  849. package/dist/utils/reminderFlow.js.map +1 -0
  850. package/dist/utils/reminderScheduleText.d.ts +87 -0
  851. package/dist/utils/reminderScheduleText.d.ts.map +1 -0
  852. package/dist/utils/reminderScheduleText.js +135 -0
  853. package/dist/utils/reminderScheduleText.js.map +1 -0
  854. package/dist/utils/reminderWizard.d.ts +710 -0
  855. package/dist/utils/reminderWizard.d.ts.map +1 -0
  856. package/dist/utils/reminderWizard.js +1164 -0
  857. package/dist/utils/reminderWizard.js.map +1 -0
  858. package/dist/utils/replyQuote.d.ts +111 -0
  859. package/dist/utils/replyQuote.d.ts.map +1 -0
  860. package/dist/utils/replyQuote.js +122 -0
  861. package/dist/utils/replyQuote.js.map +1 -0
  862. package/dist/utils/resolveBinary.d.ts +25 -0
  863. package/dist/utils/resolveBinary.d.ts.map +1 -0
  864. package/dist/utils/resolveBinary.js +99 -0
  865. package/dist/utils/resolveBinary.js.map +1 -0
  866. package/dist/utils/retryAfterHeader.d.ts +7 -0
  867. package/dist/utils/retryAfterHeader.d.ts.map +1 -0
  868. package/dist/utils/retryAfterHeader.js +17 -0
  869. package/dist/utils/retryAfterHeader.js.map +1 -0
  870. package/dist/utils/rotatingJsonlFile.d.ts +40 -0
  871. package/dist/utils/rotatingJsonlFile.d.ts.map +1 -0
  872. package/dist/utils/rotatingJsonlFile.js +106 -0
  873. package/dist/utils/rotatingJsonlFile.js.map +1 -0
  874. package/dist/utils/rotatingLogFile.d.ts +25 -0
  875. package/dist/utils/rotatingLogFile.d.ts.map +1 -0
  876. package/dist/utils/rotatingLogFile.js +74 -0
  877. package/dist/utils/rotatingLogFile.js.map +1 -0
  878. package/dist/utils/sendRateTracker.d.ts +59 -0
  879. package/dist/utils/sendRateTracker.d.ts.map +1 -0
  880. package/dist/utils/sendRateTracker.js +144 -0
  881. package/dist/utils/sendRateTracker.js.map +1 -0
  882. package/dist/utils/serialQueue.d.ts +5 -0
  883. package/dist/utils/serialQueue.d.ts.map +1 -0
  884. package/dist/utils/serialQueue.js +14 -0
  885. package/dist/utils/serialQueue.js.map +1 -0
  886. package/dist/utils/sseStreamLifecycle.d.ts +32 -0
  887. package/dist/utils/sseStreamLifecycle.d.ts.map +1 -0
  888. package/dist/utils/sseStreamLifecycle.js +41 -0
  889. package/dist/utils/sseStreamLifecycle.js.map +1 -0
  890. package/dist/utils/startupReadiness.d.ts +119 -0
  891. package/dist/utils/startupReadiness.d.ts.map +1 -0
  892. package/dist/utils/startupReadiness.js +148 -0
  893. package/dist/utils/startupReadiness.js.map +1 -0
  894. package/dist/utils/statusFlushDecision.d.ts +18 -0
  895. package/dist/utils/statusFlushDecision.d.ts.map +1 -0
  896. package/dist/utils/statusFlushDecision.js +53 -0
  897. package/dist/utils/statusFlushDecision.js.map +1 -0
  898. package/dist/utils/subagentRender.d.ts +52 -0
  899. package/dist/utils/subagentRender.d.ts.map +1 -0
  900. package/dist/utils/subagentRender.js +66 -0
  901. package/dist/utils/subagentRender.js.map +1 -0
  902. package/dist/utils/subagentStatusRender.d.ts +90 -0
  903. package/dist/utils/subagentStatusRender.d.ts.map +1 -0
  904. package/dist/utils/subagentStatusRender.js +124 -0
  905. package/dist/utils/subagentStatusRender.js.map +1 -0
  906. package/dist/utils/telegramError.d.ts +2 -0
  907. package/dist/utils/telegramError.d.ts.map +1 -0
  908. package/dist/utils/telegramError.js +16 -0
  909. package/dist/utils/telegramError.js.map +1 -0
  910. package/dist/utils/terminalEmitPlan.d.ts +74 -0
  911. package/dist/utils/terminalEmitPlan.d.ts.map +1 -0
  912. package/dist/utils/terminalEmitPlan.js +86 -0
  913. package/dist/utils/terminalEmitPlan.js.map +1 -0
  914. package/dist/utils/thinkingRender.d.ts +74 -0
  915. package/dist/utils/thinkingRender.d.ts.map +1 -0
  916. package/dist/utils/thinkingRender.js +85 -0
  917. package/dist/utils/thinkingRender.js.map +1 -0
  918. package/dist/utils/threadStatusReport.d.ts +55 -0
  919. package/dist/utils/threadStatusReport.d.ts.map +1 -0
  920. package/dist/utils/threadStatusReport.js +65 -0
  921. package/dist/utils/threadStatusReport.js.map +1 -0
  922. package/dist/utils/threadToggle.d.ts +29 -0
  923. package/dist/utils/threadToggle.d.ts.map +1 -0
  924. package/dist/utils/threadToggle.js +39 -0
  925. package/dist/utils/threadToggle.js.map +1 -0
  926. package/dist/utils/timezone.d.ts +125 -0
  927. package/dist/utils/timezone.d.ts.map +1 -0
  928. package/dist/utils/timezone.js +278 -0
  929. package/dist/utils/timezone.js.map +1 -0
  930. package/dist/utils/tmuxExec.d.ts +61 -0
  931. package/dist/utils/tmuxExec.d.ts.map +1 -0
  932. package/dist/utils/tmuxExec.js +109 -0
  933. package/dist/utils/tmuxExec.js.map +1 -0
  934. package/dist/utils/tmuxSessionName.d.ts +34 -0
  935. package/dist/utils/tmuxSessionName.d.ts.map +1 -0
  936. package/dist/utils/tmuxSessionName.js +51 -0
  937. package/dist/utils/tmuxSessionName.js.map +1 -0
  938. package/dist/utils/toolResultRender.d.ts +61 -0
  939. package/dist/utils/toolResultRender.d.ts.map +1 -0
  940. package/dist/utils/toolResultRender.js +62 -0
  941. package/dist/utils/toolResultRender.js.map +1 -0
  942. package/dist/utils/topicRequest.d.ts +61 -0
  943. package/dist/utils/topicRequest.d.ts.map +1 -0
  944. package/dist/utils/topicRequest.js +68 -0
  945. package/dist/utils/topicRequest.js.map +1 -0
  946. package/dist/utils/topicView.d.ts +55 -0
  947. package/dist/utils/topicView.d.ts.map +1 -0
  948. package/dist/utils/topicView.js +56 -0
  949. package/dist/utils/topicView.js.map +1 -0
  950. package/dist/utils/transcribeAudio.d.ts +89 -0
  951. package/dist/utils/transcribeAudio.d.ts.map +1 -0
  952. package/dist/utils/transcribeAudio.js +249 -0
  953. package/dist/utils/transcribeAudio.js.map +1 -0
  954. package/dist/utils/transientFrames.d.ts +52 -0
  955. package/dist/utils/transientFrames.d.ts.map +1 -0
  956. package/dist/utils/transientFrames.js +41 -0
  957. package/dist/utils/transientFrames.js.map +1 -0
  958. package/dist/utils/typingActive.d.ts +35 -0
  959. package/dist/utils/typingActive.d.ts.map +1 -0
  960. package/dist/utils/typingActive.js +22 -0
  961. package/dist/utils/typingActive.js.map +1 -0
  962. package/dist/utils/typingLoopBackstop.d.ts +64 -0
  963. package/dist/utils/typingLoopBackstop.d.ts.map +1 -0
  964. package/dist/utils/typingLoopBackstop.js +68 -0
  965. package/dist/utils/typingLoopBackstop.js.map +1 -0
  966. package/dist/utils/verbosityRender.d.ts +18 -0
  967. package/dist/utils/verbosityRender.d.ts.map +1 -0
  968. package/dist/utils/verbosityRender.js +17 -0
  969. package/dist/utils/verbosityRender.js.map +1 -0
  970. package/dist/utils/wedgeRecovery.d.ts +57 -0
  971. package/dist/utils/wedgeRecovery.d.ts.map +1 -0
  972. package/dist/utils/wedgeRecovery.js +24 -0
  973. package/dist/utils/wedgeRecovery.js.map +1 -0
  974. package/dist/utils.d.ts +30 -0
  975. package/dist/utils.d.ts.map +1 -0
  976. package/dist/utils.js +61 -0
  977. package/dist/utils.js.map +1 -0
  978. package/dist/validation.d.ts +113 -0
  979. package/dist/validation.d.ts.map +1 -0
  980. package/dist/validation.js +226 -0
  981. package/dist/validation.js.map +1 -0
  982. package/dist/voiceQueue.d.ts +7 -0
  983. package/dist/voiceQueue.d.ts.map +1 -0
  984. package/dist/voiceQueue.js +33 -0
  985. package/dist/voiceQueue.js.map +1 -0
  986. package/examples/.env.example +17 -0
  987. package/examples/docker-compose.yml +36 -0
  988. package/package.json +83 -4
@@ -0,0 +1,493 @@
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.createAgentLogin = createAgentLogin;
37
+ /**
38
+ * Out-of-band sign-in drivers: `claude auth login` (json-stream `/login`) and `opencode auth login`
39
+ * (`/connect` OAuth) in a pty, relayed through the topic. See README.md in this folder.
40
+ */
41
+ const fs_1 = require("fs");
42
+ const os = __importStar(require("os"));
43
+ const createAdapter_1 = require("../adapters/createAdapter");
44
+ const sessionKey_1 = require("../sessionKey");
45
+ const installManager_1 = require("../installManager");
46
+ const i18n_1 = require("../i18n");
47
+ const node_pty_1 = require("node-pty");
48
+ const resolveBinary_1 = require("../utils/resolveBinary");
49
+ const claudeAuthLogin_1 = require("../utils/claudeAuthLogin");
50
+ const openCodeAuthLogin_1 = require("../utils/openCodeAuthLogin");
51
+ /**
52
+ * @description Every message that leaves a sign-in flow waiting for pasted input ends with the
53
+ * localized `/esc to cancel` line — the way out of a pending login (Telegram renders the bare
54
+ * `/esc` as a tappable command).
55
+ */
56
+ function appendEscToCancelHint(text) {
57
+ return `${text}\n${(0, i18n_1.t)('login.esc_hint')}`;
58
+ }
59
+ /**
60
+ * How long to wait for the sign-in URL before giving up. The host egress firewall
61
+ * can hold the OAuth-init network call (decision window up to ~2 min), so this is
62
+ * generous; a permitted call returns the URL sub-second.
63
+ */
64
+ const authLoginUrlTimeoutMs = 120_000;
65
+ const authLoginPtyCols = 100;
66
+ const authLoginPtyRows = 40;
67
+ const authStatusProbeTimeoutMs = 5_000;
68
+ /**
69
+ * @description Read the provider's credential type out of OpenCode's on-disk
70
+ * `auth.json` after the flow exits. Returns `true` when the provider is authed
71
+ * as `oauth` (a fresh success — distinct from a stale `api` entry left by an
72
+ * earlier key-based `/connect`), `false` when it isn't, `null` when the file
73
+ * can't be read (caller falls back to the exit code).
74
+ */
75
+ async function readOpenCodeProviderAuthed(providerId) {
76
+ try {
77
+ const authPath = (0, openCodeAuthLogin_1.getOpenCodeAuthFilePath)({
78
+ XDG_DATA_HOME: process.env.XDG_DATA_HOME,
79
+ HOME: os.homedir(),
80
+ });
81
+ const raw = await fs_1.promises.readFile(authPath, 'utf8');
82
+ return (0, openCodeAuthLogin_1.checkProviderAuthed)(JSON.parse(raw), providerId, 'oauth');
83
+ }
84
+ catch {
85
+ return null;
86
+ }
87
+ }
88
+ /**
89
+ * @description Build the sign-in drivers over their ports. The in-flight flows (one per
90
+ * thread, per sign-in kind) are state of the returned instance, not of the module.
91
+ */
92
+ function createAgentLogin(ports) {
93
+ const { replyToThread, deleteThreadMessage, clearAuthNotice, execFileAsync } = ports;
94
+ /** Per-thread in-flight `claude auth login` flows, keyed by `keyToString(key)`. */
95
+ const pendingAuthLogins = new Map();
96
+ /**
97
+ * @description Whether the thread's `/login` flow has reached the "paste code"
98
+ * stage — the sign-in URL was relayed and the next plain text is the OAuth code.
99
+ * Mirrors the tmux backend's `isLoginPastePending` (true only once the paste
100
+ * prompt is live), so a message typed in the pre-URL boot window is NOT
101
+ * swallowed/deleted as a code. Teardown still keys off the map itself, not this.
102
+ */
103
+ function checkIsAuthLoginAwaitingCode(key) {
104
+ return pendingAuthLogins.get((0, sessionKey_1.keyToString)(key))?.urlRelayed === true;
105
+ }
106
+ /** Kill + forget a thread's in-flight login (idempotent). Reports nothing. */
107
+ function cancelClaudeAuthLogin(key) {
108
+ const k = (0, sessionKey_1.keyToString)(key);
109
+ const pending = pendingAuthLogins.get(k);
110
+ if (!pending)
111
+ return;
112
+ pendingAuthLogins.delete(k);
113
+ clearTimeout(pending.timeoutTimer);
114
+ try {
115
+ pending.pty.kill();
116
+ }
117
+ catch {
118
+ /* already exited */
119
+ }
120
+ }
121
+ /** Read `claude auth status --json` → loggedIn, or `null` if the probe fails. */
122
+ async function readAuthLoginStatus() {
123
+ try {
124
+ const { stdout } = await execFileAsync((0, resolveBinary_1.resolveClaudeBinary)(), ['auth', 'status', '--json'], { timeout: authStatusProbeTimeoutMs });
125
+ return (0, claudeAuthLogin_1.parseAuthStatusLoggedIn)(stdout);
126
+ }
127
+ catch {
128
+ return null;
129
+ }
130
+ }
131
+ /**
132
+ * @description Start the out-of-band `/login` flow for a json-stream thread: spawn
133
+ * `claude auth login --claudeai` in a pty, relay the sign-in URL when it appears,
134
+ * and arm the pending-code state (the thread's next plain text is written into the
135
+ * pty as the code). Re-running `/login` while a flow is pending restarts it.
136
+ */
137
+ async function startClaudeAuthLogin(key) {
138
+ const k = (0, sessionKey_1.keyToString)(key);
139
+ cancelClaudeAuthLogin(key); // clean restart on a repeated /login
140
+ let child;
141
+ try {
142
+ // Force subscription login (never metered): `--claudeai` picks the Claude
143
+ // subscription and dropping ANTHROPIC_API_KEY keeps the metered console path
144
+ // out of the way. cwd is irrelevant — login writes to `~/.claude` globally.
145
+ const env = { ...process.env };
146
+ delete env.ANTHROPIC_API_KEY;
147
+ child = (0, node_pty_1.spawn)((0, resolveBinary_1.resolveClaudeBinary)(), ['auth', 'login', '--claudeai'], {
148
+ name: 'xterm-256color',
149
+ cols: authLoginPtyCols,
150
+ rows: authLoginPtyRows,
151
+ cwd: process.cwd(),
152
+ env,
153
+ });
154
+ }
155
+ catch (e) {
156
+ console.warn(`[login] ${k} pty spawn failed:`, e);
157
+ await replyToThread(key, (0, i18n_1.t)('agent.login_failed'));
158
+ return;
159
+ }
160
+ const pending = {
161
+ pty: child,
162
+ output: '',
163
+ urlRelayed: false,
164
+ timeoutTimer: setTimeout(() => {
165
+ void onAuthLoginUrlTimeout(key, child);
166
+ }, authLoginUrlTimeoutMs),
167
+ };
168
+ pendingAuthLogins.set(k, pending);
169
+ child.onData((chunk) => {
170
+ const current = pendingAuthLogins.get(k);
171
+ if (!current || current.pty !== child)
172
+ return; // cancelled/replaced
173
+ current.output += chunk;
174
+ // Relay the URL only once the "paste code" prompt is up — that guarantees the
175
+ // full URL block already rendered (never a chunk-split half-URL).
176
+ if (!current.urlRelayed && (0, claudeAuthLogin_1.checkIsClaudeAuthLoginCodePrompt)(current.output)) {
177
+ const url = (0, claudeAuthLogin_1.parseClaudeAuthLoginUrl)(current.output);
178
+ if (url) {
179
+ current.urlRelayed = true;
180
+ clearTimeout(current.timeoutTimer);
181
+ void replyToThread(key, appendEscToCancelHint((0, i18n_1.t)('agent.login_url', { url })));
182
+ }
183
+ }
184
+ });
185
+ child.onExit(({ exitCode }) => {
186
+ void onAuthLoginExit(key, child, exitCode);
187
+ });
188
+ }
189
+ /**
190
+ * @description The pending flow's next plain text is the OAuth code: type it into
191
+ * the pty, delete the user's message (the code is a single-use secret), and post
192
+ * the 🔐 ack. The final success/failure notice comes from {@link onAuthLoginExit}.
193
+ * A message that is not a plausible code (an ordinary sentence) is NOT consumed:
194
+ * the flow stays armed and the topic is told it is still waiting, with `/esc` as
195
+ * the way out — a pending login must never silently swallow the topic.
196
+ * @returns `true` when the message was consumed as the code, `false` when it was
197
+ * answered with the waiting hint instead.
198
+ */
199
+ async function submitClaudeAuthLoginCode(key, code, messageId) {
200
+ const pending = pendingAuthLogins.get((0, sessionKey_1.keyToString)(key));
201
+ if (!pending)
202
+ return false;
203
+ if (!(0, openCodeAuthLogin_1.checkIsPlausibleOAuthCode)(code)) {
204
+ await replyToThread(key, appendEscToCancelHint((0, i18n_1.t)('login.waiting_code')));
205
+ return false;
206
+ }
207
+ pending.pty.write(`${code.trim()}\r`);
208
+ await deleteThreadMessage(key, messageId);
209
+ await replyToThread(key, (0, i18n_1.t)('agent.login_code_relayed'));
210
+ return true;
211
+ }
212
+ /** No sign-in URL within the window → the OAuth-init call was likely blocked. */
213
+ async function onAuthLoginUrlTimeout(key, child) {
214
+ const k = (0, sessionKey_1.keyToString)(key);
215
+ const pending = pendingAuthLogins.get(k);
216
+ if (!pending || pending.pty !== child || pending.urlRelayed)
217
+ return;
218
+ cancelClaudeAuthLogin(key);
219
+ await replyToThread(key, (0, i18n_1.t)('agent.login_failed'));
220
+ }
221
+ /**
222
+ * @description The `claude auth login` process exited. If the thread's flow is
223
+ * still active (not cancelled/replaced), report the outcome: `claude auth status`
224
+ * is authoritative, exit code is the fallback. On success clear the pinned
225
+ * logged-out notice (recovery). A cancelled flow already dropped its entry, so
226
+ * this no-ops for it (never reports a false "success" on a teardown kill).
227
+ */
228
+ async function onAuthLoginExit(key, child, exitCode) {
229
+ const k = (0, sessionKey_1.keyToString)(key);
230
+ const pending = pendingAuthLogins.get(k);
231
+ if (!pending || pending.pty !== child)
232
+ return; // cancelled/replaced → no report
233
+ clearTimeout(pending.timeoutTimer);
234
+ pendingAuthLogins.delete(k);
235
+ const loggedIn = await readAuthLoginStatus();
236
+ if ((0, claudeAuthLogin_1.checkIsAuthLoginSucceeded)({ exitCode, loggedIn })) {
237
+ clearAuthNotice(key); // recovery → retire any pinned logged-out notice
238
+ await replyToThread(key, (0, i18n_1.t)('agent.login_success'));
239
+ }
240
+ else {
241
+ await replyToThread(key, (0, i18n_1.t)('agent.login_failed'));
242
+ }
243
+ }
244
+ /** Per-thread in-flight `opencode auth login` OAuth flows, keyed by `keyToString(key)`. */
245
+ const pendingOpenCodeOAuth = new Map();
246
+ /**
247
+ * @description Whether the thread's OAuth flow has reached a stage where the next
248
+ * plain text is the OAuth reply (a paste-style code OR a loopback callback URL).
249
+ * A device flow never sets this (nothing is pasted back — it self-completes).
250
+ */
251
+ function checkIsOpenCodeOAuthAwaitingReply(key) {
252
+ return pendingOpenCodeOAuth.get((0, sessionKey_1.keyToString)(key))?.awaitingReply === true;
253
+ }
254
+ /** Kill + forget a thread's in-flight OAuth login (idempotent). Reports nothing. */
255
+ function cancelOpenCodeOAuthLogin(key) {
256
+ const k = (0, sessionKey_1.keyToString)(key);
257
+ const pending = pendingOpenCodeOAuth.get(k);
258
+ if (!pending)
259
+ return;
260
+ pendingOpenCodeOAuth.delete(k);
261
+ clearTimeout(pending.timeoutTimer);
262
+ try {
263
+ pending.pty.kill();
264
+ }
265
+ catch {
266
+ /* already exited */
267
+ }
268
+ }
269
+ /**
270
+ * @description Start the out-of-band OAuth flow for `/connect <provider>`: spawn
271
+ * `opencode auth login -p <id> -m <label>` in a pty, relay the sign-in URL (+ the
272
+ * device code, for a device flow) once it's fully rendered, and — for a paste
273
+ * flow — arm the pending-code state. Re-running restarts a pending flow.
274
+ */
275
+ async function startOpenCodeOAuthLogin(key, providerId, methodLabel) {
276
+ const k = (0, sessionKey_1.keyToString)(key);
277
+ cancelOpenCodeOAuthLogin(key); // clean restart on a repeat
278
+ let child;
279
+ try {
280
+ // Drop provider API-key envs so the login uses the subscription/account path
281
+ // and can't be short-circuited by an ambient key. cwd is irrelevant — login
282
+ // writes to OpenCode's global auth.json.
283
+ const env = (0, installManager_1.getOpenCodeChildEnv)();
284
+ delete env.OPENAI_API_KEY;
285
+ delete env.ANTHROPIC_API_KEY;
286
+ child = (0, node_pty_1.spawn)((0, resolveBinary_1.resolveOpenCodeBinary)(), (0, openCodeAuthLogin_1.buildOpenCodeAuthLoginArgs)(providerId, methodLabel), {
287
+ name: 'xterm-256color',
288
+ cols: authLoginPtyCols,
289
+ rows: authLoginPtyRows,
290
+ cwd: process.cwd(),
291
+ env,
292
+ });
293
+ }
294
+ catch (e) {
295
+ console.warn(`[connect] ${k} opencode oauth pty spawn failed:`, e);
296
+ await replyToThread(key, (0, i18n_1.t)('connect.oauth_failed', { provider: providerId }));
297
+ return;
298
+ }
299
+ const pending = {
300
+ pty: child,
301
+ providerId,
302
+ methodLabel,
303
+ output: '',
304
+ infoRelayed: false,
305
+ awaitingReply: false,
306
+ isLoopback: false,
307
+ redirectPort: null,
308
+ redirectPath: null,
309
+ oauthState: null,
310
+ timeoutTimer: setTimeout(() => {
311
+ void onOpenCodeOAuthUrlTimeout(key, child);
312
+ }, authLoginUrlTimeoutMs),
313
+ };
314
+ pendingOpenCodeOAuth.set(k, pending);
315
+ child.onData((chunk) => {
316
+ const current = pendingOpenCodeOAuth.get(k);
317
+ if (!current || current.pty !== child)
318
+ return; // cancelled/replaced
319
+ current.output += chunk;
320
+ if (current.infoRelayed)
321
+ return;
322
+ // Relay only once the URL block is fully rendered (a device code, the poll,
323
+ // or a paste prompt is present) — never a chunk-split half-URL.
324
+ if (!(0, openCodeAuthLogin_1.checkIsOAuthInfoReady)(current.output))
325
+ return;
326
+ const url = (0, openCodeAuthLogin_1.parseOpenCodeOAuthUrl)(current.output);
327
+ if (!url)
328
+ return;
329
+ current.infoRelayed = true;
330
+ clearTimeout(current.timeoutTimer);
331
+ const deviceCode = (0, openCodeAuthLogin_1.parseOpenCodeDeviceCode)(current.output);
332
+ const isPaste = (0, openCodeAuthLogin_1.checkIsOpenCodeOAuthPastePrompt)(current.output) && !deviceCode;
333
+ // Loopback (browser) flow: the CLI redirects to localhost, which a REMOTE
334
+ // browser can't reach — so we relay the URL and bridge the callback the user
335
+ // pastes back (either the full callback URL or the bare code, completed with
336
+ // the stored state). Parse the completion target now, while the authorize
337
+ // URL (with state) is fully rendered.
338
+ const isLoopback = !deviceCode && !isPaste && (0, openCodeAuthLogin_1.checkIsLoopbackOAuthFlow)(current.output);
339
+ if (deviceCode) {
340
+ void replyToThread(key, (0, i18n_1.t)('connect.oauth_device', { provider: providerId, url, code: deviceCode }));
341
+ }
342
+ else {
343
+ void replyToThread(key, (0, i18n_1.t)('connect.oauth_url_only', { provider: providerId, url }));
344
+ }
345
+ if (isPaste) {
346
+ current.awaitingReply = true;
347
+ void replyToThread(key, appendEscToCancelHint((0, i18n_1.t)('connect.oauth_paste')));
348
+ }
349
+ else if (isLoopback) {
350
+ const details = (0, openCodeAuthLogin_1.parseOAuthAuthorizeDetails)(current.output);
351
+ current.isLoopback = true;
352
+ current.redirectPort = details.redirectPort;
353
+ current.redirectPath = details.redirectPath;
354
+ current.oauthState = details.state;
355
+ current.awaitingReply = true;
356
+ void replyToThread(key, appendEscToCancelHint((0, i18n_1.t)('connect.oauth_loopback')));
357
+ }
358
+ else {
359
+ void replyToThread(key, (0, i18n_1.t)('connect.oauth_waiting'));
360
+ }
361
+ });
362
+ child.onExit(({ exitCode }) => {
363
+ void onOpenCodeOAuthExit(key, child, exitCode);
364
+ });
365
+ }
366
+ /**
367
+ * @description Handle the user's reply to a pending OAuth flow. The reply is
368
+ * classified URL-FIRST, then as a bare code (requested behaviour): recognise a
369
+ * pasted callback link first, otherwise a validated code — a value that is
370
+ * neither (an ordinary chat message like "я перезагрузил") is NEVER consumed as
371
+ * a credential, so a stale "awaiting reply" state can't swallow unrelated text.
372
+ *
373
+ * - LOOPBACK (browser) flow: the pasted callback URL (or a bare code + the
374
+ * stored `state`) is replayed against the CLI's local callback server on the
375
+ * host (`127.0.0.1:<port>/auth/callback?…`) — the bot bridges what the remote
376
+ * browser could not reach. The CLI then exchanges the code and exits.
377
+ * - PASTE flow: the code is typed into the pty verbatim.
378
+ *
379
+ * The user's message is deleted (single-use secret); success/failure comes from
380
+ * {@link onOpenCodeOAuthExit} once the CLI process exits.
381
+ * @returns `true` when the reply was consumed as an OAuth reply, `false` when it
382
+ * was not recognised (caller keeps the flow armed and hints).
383
+ */
384
+ async function submitOpenCodeOAuthReply(key, text, messageId) {
385
+ const pending = pendingOpenCodeOAuth.get((0, sessionKey_1.keyToString)(key));
386
+ if (!pending)
387
+ return false;
388
+ const reply = (0, openCodeAuthLogin_1.classifyOpenCodeOAuthReply)(text);
389
+ if (reply === null) {
390
+ // Not a link, not a plausible code → do not consume it as a credential.
391
+ await replyToThread(key, appendEscToCancelHint((0, i18n_1.t)('connect.oauth_invalid_reply')));
392
+ return false;
393
+ }
394
+ if (pending.isLoopback) {
395
+ // Complete the loopback exchange on the host. Prefer values from the pasted
396
+ // callback URL; fall back to the stored port/path/state for a bare code.
397
+ const completionUrl = (0, openCodeAuthLogin_1.buildLoopbackCompletionUrl)({
398
+ port: (reply.kind === 'callback' ? reply.port : null) ?? pending.redirectPort,
399
+ path: (reply.kind === 'callback' ? reply.path : null) ?? pending.redirectPath,
400
+ code: reply.code,
401
+ state: (reply.kind === 'callback' ? reply.state : null) ?? pending.oauthState,
402
+ });
403
+ if (!completionUrl) {
404
+ await replyToThread(key, appendEscToCancelHint((0, i18n_1.t)('connect.oauth_invalid_reply')));
405
+ return false;
406
+ }
407
+ await deleteThreadMessage(key, messageId);
408
+ await replyToThread(key, (0, i18n_1.t)('agent.login_code_relayed'));
409
+ try {
410
+ // The CLI's local callback server exchanges the code and lets the pty exit.
411
+ const res = await fetch(completionUrl, { signal: AbortSignal.timeout(30_000) });
412
+ // Drain the body so the connection closes cleanly; ignore its content.
413
+ await res.text().catch(() => '');
414
+ }
415
+ catch (e) {
416
+ console.warn(`[connect] ${(0, sessionKey_1.keyToString)(key)} loopback callback replay failed:`, e);
417
+ // The pty is still waiting; onExit will report the eventual outcome, but a
418
+ // transport failure here means it likely won't — surface it now.
419
+ await replyToThread(key, (0, i18n_1.t)('connect.oauth_failed', { provider: pending.providerId }));
420
+ }
421
+ return true;
422
+ }
423
+ // Paste flow: type the code into the pty verbatim.
424
+ await deleteThreadMessage(key, messageId);
425
+ await replyToThread(key, (0, i18n_1.t)('agent.login_code_relayed'));
426
+ pending.pty.write(`${reply.code}\r`);
427
+ return true;
428
+ }
429
+ /** No sign-in URL within the window → the OAuth-init call was likely blocked. */
430
+ async function onOpenCodeOAuthUrlTimeout(key, child) {
431
+ const k = (0, sessionKey_1.keyToString)(key);
432
+ const pending = pendingOpenCodeOAuth.get(k);
433
+ if (!pending || pending.pty !== child || pending.infoRelayed)
434
+ return;
435
+ cancelOpenCodeOAuthLogin(key);
436
+ await replyToThread(key, (0, i18n_1.t)('connect.oauth_failed', { provider: pending.providerId }));
437
+ }
438
+ /**
439
+ * @description The `opencode auth login` process exited. If the thread's flow is
440
+ * still active, report the outcome: `auth.json` is authoritative (the provider's
441
+ * entry flips to `oauth`), exit code is the fallback. A cancelled flow already
442
+ * dropped its entry, so this no-ops for it.
443
+ */
444
+ async function onOpenCodeOAuthExit(key, child, exitCode) {
445
+ const k = (0, sessionKey_1.keyToString)(key);
446
+ const pending = pendingOpenCodeOAuth.get(k);
447
+ if (!pending || pending.pty !== child)
448
+ return; // cancelled/replaced → no report
449
+ clearTimeout(pending.timeoutTimer);
450
+ pendingOpenCodeOAuth.delete(k);
451
+ const authed = await readOpenCodeProviderAuthed(pending.providerId);
452
+ if ((0, openCodeAuthLogin_1.checkIsOpenCodeOAuthSucceeded)({ exitCode, authed })) {
453
+ const adapter = (0, createAdapter_1.getAdapter)('opencode');
454
+ const isProviderAuthReloaded = adapter.reloadProviderAuth
455
+ ? await adapter.reloadProviderAuth()
456
+ : false;
457
+ if (isProviderAuthReloaded) {
458
+ await replyToThread(key, (0, i18n_1.t)('connect.oauth_success', { provider: pending.providerId }));
459
+ }
460
+ else {
461
+ await replyToThread(key, (0, i18n_1.t)('connect.oauth_failed', { provider: pending.providerId }));
462
+ }
463
+ }
464
+ else {
465
+ await replyToThread(key, (0, i18n_1.t)('connect.oauth_failed', { provider: pending.providerId }));
466
+ }
467
+ }
468
+ /**
469
+ * @description `/esc` while a sign-in waits for pasted input: cancel whichever flow the
470
+ * thread has (the json-stream `/login`, the `/connect` OAuth) in one shared step — the
471
+ * caller confirms to the topic. Returns `false` when nothing was pending, so `/esc`
472
+ * keeps its ordinary meaning (interrupt the agent) in that case.
473
+ */
474
+ function cancelPendingLogin(key) {
475
+ const k = (0, sessionKey_1.keyToString)(key);
476
+ const hadPending = pendingAuthLogins.has(k) || pendingOpenCodeOAuth.has(k);
477
+ cancelClaudeAuthLogin(key);
478
+ cancelOpenCodeOAuthLogin(key);
479
+ return hadPending;
480
+ }
481
+ return {
482
+ cancelPendingLogin,
483
+ checkIsAuthLoginAwaitingCode,
484
+ cancelClaudeAuthLogin,
485
+ startClaudeAuthLogin,
486
+ submitClaudeAuthLoginCode,
487
+ checkIsOpenCodeOAuthAwaitingReply,
488
+ cancelOpenCodeOAuthLogin,
489
+ startOpenCodeOAuthLogin,
490
+ submitOpenCodeOAuthReply,
491
+ };
492
+ }
493
+ //# sourceMappingURL=agentLogin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentLogin.js","sourceRoot":"","sources":["../../src/agentLogin/agentLogin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @description Natural-language agent trigger parser. Extracted from
3
+ * `bot.ts` (audit S19 / #25) so the regex / synonym list — which rots
4
+ * silently when new spellings are added — can be unit-tested in
5
+ * isolation without booting Telegraf.
6
+ *
7
+ * Patterns intentionally cover ru + en folklore spellings:
8
+ *
9
+ * - "клод" / "клауд" / "клоуд" / "claude" / "cloud"
10
+ * - "опенкод" / "опен код" / "opencode" / "open code"
11
+ *
12
+ * Words can be preceded by "запусти(те)" (a colloquial "start <agent>"
13
+ * trigger commonly used in Russian-language chats). Anything after a
14
+ * trigger word that includes the agent name plus a space is treated as
15
+ * the prompt argument.
16
+ *
17
+ * The function is pure: same input → same output, no I/O, no side
18
+ * effects. Punctuation at the end of a bare trigger (`клод!`, `claude.`)
19
+ * is tolerated so users don't get surprising "didn't recognise that"
20
+ * responses.
21
+ */
22
+ export interface AgentTriggerMatch {
23
+ isMatch: boolean;
24
+ adapterName?: 'claude' | 'opencode';
25
+ args?: string;
26
+ }
27
+ export declare function parseAgentTrigger(text: string): AgentTriggerMatch;
28
+ //# sourceMappingURL=agentTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentTrigger.d.ts","sourceRoot":"","sources":["../src/agentTrigger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAmBH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CASjE"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * @description Natural-language agent trigger parser. Extracted from
4
+ * `bot.ts` (audit S19 / #25) so the regex / synonym list — which rots
5
+ * silently when new spellings are added — can be unit-tested in
6
+ * isolation without booting Telegraf.
7
+ *
8
+ * Patterns intentionally cover ru + en folklore spellings:
9
+ *
10
+ * - "клод" / "клауд" / "клоуд" / "claude" / "cloud"
11
+ * - "опенкод" / "опен код" / "opencode" / "open code"
12
+ *
13
+ * Words can be preceded by "запусти(те)" (a colloquial "start <agent>"
14
+ * trigger commonly used in Russian-language chats). Anything after a
15
+ * trigger word that includes the agent name plus a space is treated as
16
+ * the prompt argument.
17
+ *
18
+ * The function is pure: same input → same output, no I/O, no side
19
+ * effects. Punctuation at the end of a bare trigger (`клод!`, `claude.`)
20
+ * is tolerated so users don't get surprising "didn't recognise that"
21
+ * responses.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.parseAgentTrigger = parseAgentTrigger;
25
+ const startClaudePhrases = new Set([
26
+ 'клод', 'клауд', 'клоуд', 'claude', 'cloud',
27
+ 'запусти клод', 'запусти клода',
28
+ 'запусти клауд', 'запусти клауда',
29
+ 'запусти клоуд', 'запусти клоуда',
30
+ 'запусти claude', 'запусти cloud',
31
+ ]);
32
+ const startOpencodePhrases = new Set([
33
+ 'opencode', 'опенкод', 'open code', 'опен код',
34
+ 'запусти opencode', 'запусти опенкод',
35
+ 'запусти open code', 'запусти опен код',
36
+ ]);
37
+ const CLAUDE_ARGS_REGEX = /^(claude|клод|клауд|клоуд)\s+(.+)$/;
38
+ const OPENCODE_ARGS_REGEX = /^(opencode|опенкод|open code|опен код)\s+(.+)$/;
39
+ function parseAgentTrigger(text) {
40
+ const normalized = text.toLowerCase().trim().replace(/[.,!?;:]+$/, '');
41
+ if (startClaudePhrases.has(normalized))
42
+ return { isMatch: true, adapterName: 'claude' };
43
+ const claudeArgs = normalized.match(CLAUDE_ARGS_REGEX);
44
+ if (claudeArgs)
45
+ return { isMatch: true, adapterName: 'claude', args: claudeArgs[2] };
46
+ if (startOpencodePhrases.has(normalized))
47
+ return { isMatch: true, adapterName: 'opencode' };
48
+ const ocArgs = normalized.match(OPENCODE_ARGS_REGEX);
49
+ if (ocArgs)
50
+ return { isMatch: true, adapterName: 'opencode', args: ocArgs[2] };
51
+ return { isMatch: false };
52
+ }
53
+ //# sourceMappingURL=agentTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentTrigger.js","sourceRoot":"","sources":["../src/agentTrigger.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;AAyBH,8CASC;AAhCD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;IAC3C,cAAc,EAAE,eAAe;IAC/B,eAAe,EAAE,gBAAgB;IACjC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,eAAe;CAClC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU;IAC9C,kBAAkB,EAAE,iBAAiB;IACrC,mBAAmB,EAAE,kBAAkB;CACxC,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,oCAAoC,CAAC;AAC/D,MAAM,mBAAmB,GAAG,gDAAgD,CAAC;AAQ7E,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvE,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxF,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvD,IAAI,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IAC5F,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACrD,IAAI,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC"}