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,74 @@
1
+ /**
2
+ * @description Pure decision helpers for the terminal adapter's streaming model.
3
+ * Kept out of `adapters/terminalAdapter.ts` so the "one rolling message per
4
+ * command" rule and the `tmux new-session` argv are unit-testable without
5
+ * booting tmux.
6
+ */
7
+ /**
8
+ * @description Default terminal pane width in columns. Wide enough that normal
9
+ * command output (builds, logs, `ls -la`, `git status`) doesn't wrap awkwardly,
10
+ * matching the Claude adapter's pane sizing intent.
11
+ */
12
+ export declare const terminalPaneCols = 200;
13
+ /** @description Default terminal pane height in rows. */
14
+ export declare const terminalPaneRows = 50;
15
+ /**
16
+ * @description Tmux session-name prefix that namespaces terminal shells on the
17
+ * tmux server, distinct from Claude's `claude-` prefix. Parsed back to a
18
+ * `SessionKey` via `utils/tmuxSessionName` with this prefix.
19
+ */
20
+ export declare const terminalTmuxPrefix = "term";
21
+ /** @description Shell to spawn for a terminal session — the operator's `$SHELL`, else bash. */
22
+ export declare const defaultShell: string;
23
+ /**
24
+ * @description Decide how a non-empty cleaned diff chunk should be emitted for a
25
+ * terminal session, given whether the next output is "fresh" (a new command's
26
+ * first output) or a continuation of the in-flight one.
27
+ *
28
+ * Mirrors OpenCode's streaming-reply contract: the FIRST chunk after a command
29
+ * is a new message; every later chunk of the SAME command's output appends
30
+ * (`isContinuation`). The `nextOutputFresh` flag is re-armed by `sendInput`
31
+ * (every submitted command), so each command gets exactly one rolling message
32
+ * that grows as its output streams.
33
+ */
34
+ export declare function getTerminalEmitPlan(nextOutputFresh: boolean): {
35
+ isContinuation: boolean;
36
+ };
37
+ /**
38
+ * @description Build the text actually emitted for one terminal poll-delta so the
39
+ * downstream bare-concat continuation join (`appendPendingOutput`: `pending +
40
+ * output`) keeps the inter-poll line break.
41
+ *
42
+ * Unlike OpenCode's token tails (cut mid-word, so they MUST concat bare), each
43
+ * terminal poll-delta is a complete line/block of shell output, so consecutive
44
+ * deltas of one command have to be SEPARATED by a `\n`. We carry that `\n` inside
45
+ * the emitted text (rather than a `meta` flag) so it works identically for the
46
+ * group `queueOutput` and the DM `feedDraft` paths without touching either.
47
+ *
48
+ * - CONTINUATION (`isContinuation` true) → prefix one `\n`, so the bare concat
49
+ * yields `pending\n delta`.
50
+ * - FRESH (`isContinuation` false) → return the chunk unchanged: a fresh delta
51
+ * opens a new message and a message must never start blank.
52
+ *
53
+ * No doubling: the chunk is already trailing-`\n`-trimmed upstream
54
+ * (`getNewPaneContent` trims, the adapter `.trim()`s again), so a single-poll
55
+ * multi-line chunk keeps its OWN interior newlines and gains no extra blank.
56
+ */
57
+ export declare function buildTerminalEmitText(chunk: string, isContinuation: boolean): string;
58
+ /**
59
+ * @description Build the `tmux new-session` argv for a terminal shell. Pure so
60
+ * the shell-command + `-c <workDir>` + size flags are unit-testable. tmux execs
61
+ * the trailing `shellCommand` via `$SHELL -c`; the caller passes an already
62
+ * shell-safe command string (the bare shell path needs no quoting, but routing
63
+ * it through the same builder keeps one assembly point).
64
+ *
65
+ * No `--session-id`, no permission flags, no MCP — a terminal is just a shell.
66
+ */
67
+ export declare function buildTerminalNewSessionArgs(input: {
68
+ sessionName: string;
69
+ workDir: string;
70
+ shellCommand: string;
71
+ cols: number;
72
+ rows: number;
73
+ }): string[];
74
+ //# sourceMappingURL=terminalEmitPlan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminalEmitPlan.d.ts","sourceRoot":"","sources":["../../src/utils/terminalEmitPlan.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC,+FAA+F;AAC/F,eAAO,MAAM,YAAY,QAAmC,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,OAAO,GAAG;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,CAEzF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,MAAM,CAEpF;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,EAAE,CAUX"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ /**
3
+ * @description Pure decision helpers for the terminal adapter's streaming model.
4
+ * Kept out of `adapters/terminalAdapter.ts` so the "one rolling message per
5
+ * command" rule and the `tmux new-session` argv are unit-testable without
6
+ * booting tmux.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.defaultShell = exports.terminalTmuxPrefix = exports.terminalPaneRows = exports.terminalPaneCols = void 0;
10
+ exports.getTerminalEmitPlan = getTerminalEmitPlan;
11
+ exports.buildTerminalEmitText = buildTerminalEmitText;
12
+ exports.buildTerminalNewSessionArgs = buildTerminalNewSessionArgs;
13
+ /**
14
+ * @description Default terminal pane width in columns. Wide enough that normal
15
+ * command output (builds, logs, `ls -la`, `git status`) doesn't wrap awkwardly,
16
+ * matching the Claude adapter's pane sizing intent.
17
+ */
18
+ exports.terminalPaneCols = 200;
19
+ /** @description Default terminal pane height in rows. */
20
+ exports.terminalPaneRows = 50;
21
+ /**
22
+ * @description Tmux session-name prefix that namespaces terminal shells on the
23
+ * tmux server, distinct from Claude's `claude-` prefix. Parsed back to a
24
+ * `SessionKey` via `utils/tmuxSessionName` with this prefix.
25
+ */
26
+ exports.terminalTmuxPrefix = 'term';
27
+ /** @description Shell to spawn for a terminal session — the operator's `$SHELL`, else bash. */
28
+ exports.defaultShell = process.env.SHELL || '/bin/bash';
29
+ /**
30
+ * @description Decide how a non-empty cleaned diff chunk should be emitted for a
31
+ * terminal session, given whether the next output is "fresh" (a new command's
32
+ * first output) or a continuation of the in-flight one.
33
+ *
34
+ * Mirrors OpenCode's streaming-reply contract: the FIRST chunk after a command
35
+ * is a new message; every later chunk of the SAME command's output appends
36
+ * (`isContinuation`). The `nextOutputFresh` flag is re-armed by `sendInput`
37
+ * (every submitted command), so each command gets exactly one rolling message
38
+ * that grows as its output streams.
39
+ */
40
+ function getTerminalEmitPlan(nextOutputFresh) {
41
+ return { isContinuation: !nextOutputFresh };
42
+ }
43
+ /**
44
+ * @description Build the text actually emitted for one terminal poll-delta so the
45
+ * downstream bare-concat continuation join (`appendPendingOutput`: `pending +
46
+ * output`) keeps the inter-poll line break.
47
+ *
48
+ * Unlike OpenCode's token tails (cut mid-word, so they MUST concat bare), each
49
+ * terminal poll-delta is a complete line/block of shell output, so consecutive
50
+ * deltas of one command have to be SEPARATED by a `\n`. We carry that `\n` inside
51
+ * the emitted text (rather than a `meta` flag) so it works identically for the
52
+ * group `queueOutput` and the DM `feedDraft` paths without touching either.
53
+ *
54
+ * - CONTINUATION (`isContinuation` true) → prefix one `\n`, so the bare concat
55
+ * yields `pending\n delta`.
56
+ * - FRESH (`isContinuation` false) → return the chunk unchanged: a fresh delta
57
+ * opens a new message and a message must never start blank.
58
+ *
59
+ * No doubling: the chunk is already trailing-`\n`-trimmed upstream
60
+ * (`getNewPaneContent` trims, the adapter `.trim()`s again), so a single-poll
61
+ * multi-line chunk keeps its OWN interior newlines and gains no extra blank.
62
+ */
63
+ function buildTerminalEmitText(chunk, isContinuation) {
64
+ return isContinuation ? `\n${chunk}` : chunk;
65
+ }
66
+ /**
67
+ * @description Build the `tmux new-session` argv for a terminal shell. Pure so
68
+ * the shell-command + `-c <workDir>` + size flags are unit-testable. tmux execs
69
+ * the trailing `shellCommand` via `$SHELL -c`; the caller passes an already
70
+ * shell-safe command string (the bare shell path needs no quoting, but routing
71
+ * it through the same builder keeps one assembly point).
72
+ *
73
+ * No `--session-id`, no permission flags, no MCP — a terminal is just a shell.
74
+ */
75
+ function buildTerminalNewSessionArgs(input) {
76
+ return [
77
+ 'new-session',
78
+ '-d',
79
+ '-s', input.sessionName,
80
+ '-x', input.cols.toString(),
81
+ '-y', input.rows.toString(),
82
+ '-c', input.workDir,
83
+ input.shellCommand,
84
+ ];
85
+ }
86
+ //# sourceMappingURL=terminalEmitPlan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminalEmitPlan.js","sourceRoot":"","sources":["../../src/utils/terminalEmitPlan.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiCH,kDAEC;AAsBD,sDAEC;AAWD,kEAgBC;AApFD;;;;GAIG;AACU,QAAA,gBAAgB,GAAG,GAAG,CAAC;AAEpC,yDAAyD;AAC5C,QAAA,gBAAgB,GAAG,EAAE,CAAC;AAEnC;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,MAAM,CAAC;AAEzC,+FAA+F;AAClF,QAAA,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,SAAgB,mBAAmB,CAAC,eAAwB;IAC1D,OAAO,EAAE,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,qBAAqB,CAAC,KAAa,EAAE,cAAuB;IAC1E,OAAO,cAAc,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,2BAA2B,CAAC,KAM3C;IACC,OAAO;QACL,aAAa;QACb,IAAI;QACJ,IAAI,EAAE,KAAK,CAAC,WAAW;QACvB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,KAAK,CAAC,OAAO;QACnB,KAAK,CAAC,YAAY;KACnB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @description Pure decision + formatting helpers for the OpenCode "thinking"
3
+ * (chain-of-thought) rendering lifecycle. The adapter emits a mode-AGNOSTIC
4
+ * {@link ThinkingEvent}; the bot's `handleAgentThinking` consults
5
+ * {@link getThinkingEventAction} per emit and {@link getThinkingAnswerStartAction}
6
+ * when the answer begins. Extracted from `bot.ts` so the mode×phase matrix is
7
+ * unit-testable without the Telegraf / token-bucket machinery (same pattern as
8
+ * `statusFlushDecision.ts`).
9
+ *
10
+ * The mode only controls what REMAINS after reasoning ends — the live
11
+ * "thinking …" indicator is shown in ALL three modes while the agent reasons.
12
+ */
13
+ import type { DisplayVerbosityMode, ThinkingPhase } from '../types';
14
+ /**
15
+ * @name ThinkingMessageAction
16
+ * @description What the bot should do with the thread's thinking message.
17
+ *
18
+ * - `editLiveLabel` — show / refresh the live "☁️ thinking …" indicator
19
+ * (label only, no reasoning body). Used by `short` + `minimal` while reasoning.
20
+ * - `editLiveDetailed` — show / refresh the live indicator WITH the full
21
+ * accumulated reasoning text appended under it. Used by `full` while
22
+ * reasoning.
23
+ * - `collapseToDuration`— replace the body with the collapsed
24
+ * "💭 thought for {N}s" line and persist (clear the tracked id). `short` done.
25
+ * - `keep` — leave the message exactly as-is and persist (clear the
26
+ * tracked id so the next response starts a fresh message). `full` done.
27
+ * - `holdForAnswer` — leave the message as-is but KEEP tracking its id, so
28
+ * the answer-start trigger can delete it. `minimal` done — the live indicator
29
+ * stays until the answer begins.
30
+ * - `delete` — remove the thinking message entirely (clear the id).
31
+ * `minimal` when the answer starts.
32
+ * - `noop` — do nothing. (`full`/`short` need no special
33
+ * handling when the answer starts — their message already persists.)
34
+ */
35
+ export type ThinkingMessageAction = 'editLiveLabel' | 'editLiveDetailed' | 'collapseToDuration' | 'keep' | 'holdForAnswer' | 'delete' | 'noop';
36
+ /**
37
+ * @description Decide what the bot does for a `thinking` event in `mode` at
38
+ * `phase`. Pure — depends only on the mode and phase, never on Telegram state.
39
+ *
40
+ * Matrix:
41
+ * ```
42
+ * phase=live phase=done
43
+ * full editLiveDetailed keep
44
+ * short editLiveLabel collapseToDuration
45
+ * minimal editLiveLabel holdForAnswer
46
+ * ```
47
+ * `minimal`+done resolves to `holdForAnswer` (not `delete`): the live indicator
48
+ * stays AND its id stays tracked until the ANSWER starts, which is a separate
49
+ * trigger ({@link getThinkingAnswerStartAction}). If the answer never comes
50
+ * (e.g. the turn ends with only reasoning), the held frame simply persists —
51
+ * acceptable and rare.
52
+ */
53
+ export declare function getThinkingEventAction(mode: DisplayVerbosityMode, phase: ThinkingPhase): ThinkingMessageAction;
54
+ /**
55
+ * @description Decide what the bot does to the thinking message when the real
56
+ * answer starts (first `output` of the response). Only `minimal` removes it;
57
+ * the other modes leave their persisted message in place.
58
+ */
59
+ export declare function getThinkingAnswerStartAction(mode: DisplayVerbosityMode): ThinkingMessageAction;
60
+ /**
61
+ * @description Format a reasoning duration (ms) into a whole-second count for
62
+ * the "thought for {N}s" collapsed line. Rounds to the nearest second, with a
63
+ * floor of 1 so a sub-second reasoning burst never reads "thought for 0s".
64
+ */
65
+ export declare function formatThinkingDurationSeconds(durationMs: number): number;
66
+ /**
67
+ * @description Parse the whole-second reasoning duration out of a scraped Claude
68
+ * thinking block, or null when no duration clause is present. The Claude backend
69
+ * has no millisecond timestamps like OpenCode — the only signal is the duration
70
+ * the TUI renders as text in the block's header / trailer, so this scrapes it
71
+ * from {@link THINKING_DURATION_CLAUSE_RE} (the first line that carries one).
72
+ */
73
+ export declare function parseThinkingDurationSeconds(blockText: string): number | null;
74
+ //# sourceMappingURL=thinkingRender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinkingRender.d.ts","sourceRoot":"","sources":["../../src/utils/thinkingRender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMpE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,kBAAkB,GAClB,oBAAoB,GACpB,MAAM,GACN,eAAe,GACf,QAAQ,GACR,MAAM,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,GAAG,qBAAqB,CAQ9G;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,oBAAoB,GAAG,qBAAqB,CAE9F;AAKD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGxE;AAgBD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU7E"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getThinkingEventAction = getThinkingEventAction;
4
+ exports.getThinkingAnswerStartAction = getThinkingAnswerStartAction;
5
+ exports.formatThinkingDurationSeconds = formatThinkingDurationSeconds;
6
+ exports.parseThinkingDurationSeconds = parseThinkingDurationSeconds;
7
+ /**
8
+ * @description Decide what the bot does for a `thinking` event in `mode` at
9
+ * `phase`. Pure — depends only on the mode and phase, never on Telegram state.
10
+ *
11
+ * Matrix:
12
+ * ```
13
+ * phase=live phase=done
14
+ * full editLiveDetailed keep
15
+ * short editLiveLabel collapseToDuration
16
+ * minimal editLiveLabel holdForAnswer
17
+ * ```
18
+ * `minimal`+done resolves to `holdForAnswer` (not `delete`): the live indicator
19
+ * stays AND its id stays tracked until the ANSWER starts, which is a separate
20
+ * trigger ({@link getThinkingAnswerStartAction}). If the answer never comes
21
+ * (e.g. the turn ends with only reasoning), the held frame simply persists —
22
+ * acceptable and rare.
23
+ */
24
+ function getThinkingEventAction(mode, phase) {
25
+ if (phase === 'live') {
26
+ return mode === 'full' ? 'editLiveDetailed' : 'editLiveLabel';
27
+ }
28
+ // phase === 'done'
29
+ if (mode === 'short')
30
+ return 'collapseToDuration';
31
+ if (mode === 'minimal')
32
+ return 'holdForAnswer';
33
+ return 'keep';
34
+ }
35
+ /**
36
+ * @description Decide what the bot does to the thinking message when the real
37
+ * answer starts (first `output` of the response). Only `minimal` removes it;
38
+ * the other modes leave their persisted message in place.
39
+ */
40
+ function getThinkingAnswerStartAction(mode) {
41
+ return mode === 'minimal' ? 'delete' : 'noop';
42
+ }
43
+ /** Milliseconds in one second — for the "thought for {N}s" duration formatter. */
44
+ const millisecondsPerSecond = 1000;
45
+ /**
46
+ * @description Format a reasoning duration (ms) into a whole-second count for
47
+ * the "thought for {N}s" collapsed line. Rounds to the nearest second, with a
48
+ * floor of 1 so a sub-second reasoning burst never reads "thought for 0s".
49
+ */
50
+ function formatThinkingDurationSeconds(durationMs) {
51
+ if (!Number.isFinite(durationMs) || durationMs <= 0)
52
+ return 1;
53
+ return Math.max(1, Math.round(durationMs / millisecondsPerSecond));
54
+ }
55
+ const secondsPerMinute = 60;
56
+ const secondsPerHour = 3600;
57
+ /**
58
+ * @description Extract the FIRST `for <Nh Nm Ns>` duration clause anywhere in a
59
+ * scraped Claude thinking block — the `Thinking for *1m 6s*…` header
60
+ * (`THINKING_HEADER_RE`) or the `✻ Cooked for 1m 6s` trailer
61
+ * (`POST_THINKING_TRAILER_RE`). Tolerates the ANSI-bold `*…*` wraps and the
62
+ * trailing U+2026 ellipsis around the duration. Each of h/m/s is optional but
63
+ * at least one must be present for a match.
64
+ */
65
+ const THINKING_DURATION_CLAUSE_RE = /\bfor\s+\*?(?:(\d+)h\s+)?(?:(\d+)m\s+)?(?:(\d+)s)\*?/;
66
+ /**
67
+ * @description Parse the whole-second reasoning duration out of a scraped Claude
68
+ * thinking block, or null when no duration clause is present. The Claude backend
69
+ * has no millisecond timestamps like OpenCode — the only signal is the duration
70
+ * the TUI renders as text in the block's header / trailer, so this scrapes it
71
+ * from {@link THINKING_DURATION_CLAUSE_RE} (the first line that carries one).
72
+ */
73
+ function parseThinkingDurationSeconds(blockText) {
74
+ for (const line of blockText.split('\n')) {
75
+ const match = line.match(THINKING_DURATION_CLAUSE_RE);
76
+ if (!match)
77
+ continue;
78
+ const hours = match[1] ? Number(match[1]) : 0;
79
+ const minutes = match[2] ? Number(match[2]) : 0;
80
+ const seconds = match[3] ? Number(match[3]) : 0;
81
+ return hours * secondsPerHour + minutes * secondsPerMinute + seconds;
82
+ }
83
+ return null;
84
+ }
85
+ //# sourceMappingURL=thinkingRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinkingRender.js","sourceRoot":"","sources":["../../src/utils/thinkingRender.ts"],"names":[],"mappings":";;AAiEA,wDAQC;AAOD,oEAEC;AAUD,sEAGC;AAuBD,oEAUC;AAhFD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,sBAAsB,CAAC,IAA0B,EAAE,KAAoB;IACrF,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC;IAChE,CAAC;IACD,mBAAmB;IACnB,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,oBAAoB,CAAC;IAClD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC;IAC/C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,4BAA4B,CAAC,IAA0B;IACrE,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAED,kFAAkF;AAClF,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,6BAA6B,CAAC,UAAkB;IAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B;;;;;;;GAOG;AACH,MAAM,2BAA2B,GAC/B,sDAAsD,CAAC;AAEzD;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAAC,SAAiB;IAC5D,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,KAAK,GAAG,cAAc,GAAG,OAAO,GAAG,gBAAgB,GAAG,OAAO,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type { AgentRuntimeInfo } from '../types';
2
+ export interface ThreadStatusReportInput {
3
+ agentLine: string;
4
+ subdir: string;
5
+ isActive: boolean;
6
+ /** No live process, but the session is kept: the next message resumes it (lifecycle plan L3). */
7
+ isSleeping: boolean;
8
+ workDir: string | null;
9
+ model: string | null;
10
+ effort: string | null;
11
+ startedAt: string | null;
12
+ runtime: AgentRuntimeInfo | null;
13
+ /** The topic's view, already localized (`verbosity.view.*`). */
14
+ view: string;
15
+ /** Instance timezone, already resolved (stored pick, else the host zone). */
16
+ timezone: string;
17
+ /** That zone's current wall clock, e.g. `18:42 (+03:00)`. */
18
+ timezoneNow: string;
19
+ }
20
+ /**
21
+ * @description Render the per-topic `/status` report. Pure (locale comes from
22
+ * the caller's async i18n context) and kept OUT of `bot.ts` so it is unit-testable
23
+ * without importing the bot module, whose module-scope `parseEnv()` exits the
24
+ * process when `TELEGRAM_BOT_TOKEN` is unset.
25
+ *
26
+ * Model / effort / start date / runtime rows are session properties: they are
27
+ * meaningless once the session stopped, so a stopped thread renders only the
28
+ * header, the bound working directory, the topic's view and the timezone.
29
+ */
30
+ export declare function getThreadStatusReport({ agentLine, subdir, isActive, isSleeping, workDir, model, effort, startedAt, runtime, view, timezone, timezoneNow, }: ThreadStatusReportInput): string;
31
+ export interface ThreadStatusModelSources {
32
+ /** Live model the adapter itself can name right now (`getCurrentModel`). */
33
+ adapterModel: string | null;
34
+ /** Model the runtime reports it ACTUALLY ran last ({@link AgentRuntimeInfo.model}). */
35
+ runtimeModel: string | null;
36
+ /** Model persisted on the agent row when the session was started. */
37
+ persistedModel: string | null;
38
+ }
39
+ /**
40
+ * @description Resolve the model `/status` names for a live session, most
41
+ * authoritative source first.
42
+ *
43
+ * The runtime report sits in the MIDDLE on purpose: the Claude tmux backend
44
+ * keeps its model inside the TUI, so its `getCurrentModel` is permanently null
45
+ * and the runtime's self-report is the only model source there — without this
46
+ * step `/status` named no model at all on that whole backend. It must still lose
47
+ * to a live adapter value, which knows about a model switch the runtime has not
48
+ * yet written a turn for.
49
+ *
50
+ * Each step falls through on any FALSY value, not just `null`: an adapter that
51
+ * answers with an empty string knows no model either, and `??` let that empty
52
+ * string win over a real runtime-reported one, rendering a blank `/status` row.
53
+ */
54
+ export declare function getThreadStatusModel({ adapterModel, runtimeModel, persistedModel, }: ThreadStatusModelSources): string | null;
55
+ //# sourceMappingURL=threadStatusReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threadStatusReport.d.ts","sourceRoot":"","sources":["../../src/utils/threadStatusReport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,iGAAiG;IACjG,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,WAAW,GACZ,EAAE,uBAAuB,GAAG,MAAM,CA2BlC;AAED,MAAM,WAAW,wBAAwB;IACvC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,uFAAuF;IACvF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,EAAE,wBAAwB,GAAG,MAAM,GAAG,IAAI,CAE1C"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getThreadStatusReport = getThreadStatusReport;
4
+ exports.getThreadStatusModel = getThreadStatusModel;
5
+ const i18n_1 = require("../i18n");
6
+ /**
7
+ * @description Render the per-topic `/status` report. Pure (locale comes from
8
+ * the caller's async i18n context) and kept OUT of `bot.ts` so it is unit-testable
9
+ * without importing the bot module, whose module-scope `parseEnv()` exits the
10
+ * process when `TELEGRAM_BOT_TOKEN` is unset.
11
+ *
12
+ * Model / effort / start date / runtime rows are session properties: they are
13
+ * meaningless once the session stopped, so a stopped thread renders only the
14
+ * header, the bound working directory, the topic's view and the timezone.
15
+ */
16
+ function getThreadStatusReport({ agentLine, subdir, isActive, isSleeping, workDir, model, effort, startedAt, runtime, view, timezone, timezoneNow, }) {
17
+ const lines = [
18
+ (0, i18n_1.t)('status.thread_report', {
19
+ agent: agentLine,
20
+ subdir,
21
+ session: isActive ? (0, i18n_1.t)('status.thread_running') : isSleeping ? (0, i18n_1.t)('status.thread_sleeping') : (0, i18n_1.t)('status.thread_stopped'),
22
+ }),
23
+ ];
24
+ if (workDir !== null)
25
+ lines.push((0, i18n_1.t)('status.thread_workdir', { workDir }));
26
+ // A topic property, not a session one (S6): named whether or not an agent runs.
27
+ lines.push((0, i18n_1.t)('status.thread_view', { view }));
28
+ // Instance-wide, not a session property: it belongs ABOVE the early return so
29
+ // a stopped thread still reports which clock its schedules will fire on.
30
+ lines.push((0, i18n_1.t)('timezone.status', { zone: timezone, now: timezoneNow }));
31
+ if (!isActive)
32
+ return lines.join('\n');
33
+ if (model)
34
+ lines.push((0, i18n_1.t)('status.thread_model', { model }));
35
+ if (effort)
36
+ lines.push((0, i18n_1.t)('status.thread_effort', { effort }));
37
+ if (startedAt)
38
+ lines.push((0, i18n_1.t)('status.thread_started', { started: startedAt }));
39
+ const unavailable = (0, i18n_1.t)('version.unknown');
40
+ lines.push((0, i18n_1.t)('status.thread_runtime_version', { version: runtime?.version ?? unavailable }));
41
+ lines.push((0, i18n_1.t)('status.thread_context', {
42
+ used: runtime?.contextUsedTokens ?? unavailable,
43
+ limit: runtime?.contextWindowTokens ?? unavailable,
44
+ }));
45
+ return lines.join('\n');
46
+ }
47
+ /**
48
+ * @description Resolve the model `/status` names for a live session, most
49
+ * authoritative source first.
50
+ *
51
+ * The runtime report sits in the MIDDLE on purpose: the Claude tmux backend
52
+ * keeps its model inside the TUI, so its `getCurrentModel` is permanently null
53
+ * and the runtime's self-report is the only model source there — without this
54
+ * step `/status` named no model at all on that whole backend. It must still lose
55
+ * to a live adapter value, which knows about a model switch the runtime has not
56
+ * yet written a turn for.
57
+ *
58
+ * Each step falls through on any FALSY value, not just `null`: an adapter that
59
+ * answers with an empty string knows no model either, and `??` let that empty
60
+ * string win over a real runtime-reported one, rendering a blank `/status` row.
61
+ */
62
+ function getThreadStatusModel({ adapterModel, runtimeModel, persistedModel, }) {
63
+ return adapterModel || runtimeModel || persistedModel || null;
64
+ }
65
+ //# sourceMappingURL=threadStatusReport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threadStatusReport.js","sourceRoot":"","sources":["../../src/utils/threadStatusReport.ts"],"names":[],"mappings":";;AAgCA,sDAwCC;AA0BD,oDAMC;AAxGD,kCAA4B;AAsB5B;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,WAAW,GACa;IACxB,MAAM,KAAK,GAAG;QACZ,IAAA,QAAC,EAAC,sBAAsB,EAAE;YACxB,KAAK,EAAE,SAAS;YAChB,MAAM;YACN,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAA,QAAC,EAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,QAAC,EAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAA,QAAC,EAAC,uBAAuB,CAAC;SACvH,CAAC;KACH,CAAC;IACF,IAAI,OAAO,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1E,gFAAgF;IAChF,KAAK,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,8EAA8E;IAC9E,yEAAyE;IACzE,KAAK,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3D,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9D,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,IAAA,QAAC,EAAC,iBAAiB,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,+BAA+B,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC;IAC7F,KAAK,CAAC,IAAI,CAAC,IAAA,QAAC,EAAC,uBAAuB,EAAE;QACpC,IAAI,EAAE,OAAO,EAAE,iBAAiB,IAAI,WAAW;QAC/C,KAAK,EAAE,OAAO,EAAE,mBAAmB,IAAI,WAAW;KACnD,CAAC,CAAC,CAAC;IAEJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAWD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,YAAY,EACZ,cAAc,GACW;IACzB,OAAO,YAAY,IAAI,YAAY,IAAI,cAAc,IAAI,IAAI,CAAC;AAChE,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @description The resolution rule shared by every per-thread toggle with an
3
+ * instance-wide default (`/compact_on_idle`, `/auto_continue_limits`,
4
+ * `/compact_summary`): a per-thread override always wins, otherwise the
5
+ * instance-wide default applies, and an unset default means the setting's own
6
+ * fallback — ON for the first two, OFF for `/compact_summary`.
7
+ *
8
+ * Extracted because the same four lines were already written out twice and the
9
+ * third toggle would have made three copies of one rule — the kind of duplication
10
+ * where one copy silently stops matching the others. Each toggle keeps its OWN
11
+ * named wrapper: the name is what documents which setting is being resolved (and
12
+ * why its fallback is the right one), so call sites and tests stay unchanged.
13
+ */
14
+ /**
15
+ * @description Resolve a per-thread toggle. `threadOverride` present (true OR
16
+ * false) wins over everything; otherwise `globalDefault`; `undefined` for both
17
+ * means `unsetValue`.
18
+ *
19
+ * Both inputs are `boolean | undefined` on purpose: "never set" must stay
20
+ * distinguishable from an explicit value, or a General «Disable» would be
21
+ * re-enabled by the fallback on the next boot.
22
+ */
23
+ export declare function resolveThreadToggle(globalDefault: boolean | undefined, threadOverride: boolean | undefined, unsetValue: boolean): boolean;
24
+ /**
25
+ * @description {@link resolveThreadToggle} for a toggle that is ON when nothing is
26
+ * set.
27
+ */
28
+ export declare function resolveDefaultOnThreadToggle(globalDefault: boolean | undefined, threadOverride: boolean | undefined): boolean;
29
+ //# sourceMappingURL=threadToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threadToggle.d.ts","sourceRoot":"","sources":["../../src/utils/threadToggle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,OAAO,GAAG,SAAS,EAClC,cAAc,EAAE,OAAO,GAAG,SAAS,EACnC,UAAU,EAAE,OAAO,GAClB,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,OAAO,GAAG,SAAS,EAClC,cAAc,EAAE,OAAO,GAAG,SAAS,GAClC,OAAO,CAET"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * @description The resolution rule shared by every per-thread toggle with an
4
+ * instance-wide default (`/compact_on_idle`, `/auto_continue_limits`,
5
+ * `/compact_summary`): a per-thread override always wins, otherwise the
6
+ * instance-wide default applies, and an unset default means the setting's own
7
+ * fallback — ON for the first two, OFF for `/compact_summary`.
8
+ *
9
+ * Extracted because the same four lines were already written out twice and the
10
+ * third toggle would have made three copies of one rule — the kind of duplication
11
+ * where one copy silently stops matching the others. Each toggle keeps its OWN
12
+ * named wrapper: the name is what documents which setting is being resolved (and
13
+ * why its fallback is the right one), so call sites and tests stay unchanged.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.resolveThreadToggle = resolveThreadToggle;
17
+ exports.resolveDefaultOnThreadToggle = resolveDefaultOnThreadToggle;
18
+ /**
19
+ * @description Resolve a per-thread toggle. `threadOverride` present (true OR
20
+ * false) wins over everything; otherwise `globalDefault`; `undefined` for both
21
+ * means `unsetValue`.
22
+ *
23
+ * Both inputs are `boolean | undefined` on purpose: "never set" must stay
24
+ * distinguishable from an explicit value, or a General «Disable» would be
25
+ * re-enabled by the fallback on the next boot.
26
+ */
27
+ function resolveThreadToggle(globalDefault, threadOverride, unsetValue) {
28
+ if (threadOverride !== undefined)
29
+ return threadOverride;
30
+ return globalDefault ?? unsetValue;
31
+ }
32
+ /**
33
+ * @description {@link resolveThreadToggle} for a toggle that is ON when nothing is
34
+ * set.
35
+ */
36
+ function resolveDefaultOnThreadToggle(globalDefault, threadOverride) {
37
+ return resolveThreadToggle(globalDefault, threadOverride, true);
38
+ }
39
+ //# sourceMappingURL=threadToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threadToggle.js","sourceRoot":"","sources":["../../src/utils/threadToggle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAWH,kDAOC;AAMD,oEAKC;AA3BD;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CACjC,aAAkC,EAClC,cAAmC,EACnC,UAAmB;IAEnB,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IACxD,OAAO,aAAa,IAAI,UAAU,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAgB,4BAA4B,CAC1C,aAAkC,EAClC,cAAmC;IAEnC,OAAO,mBAAmB,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC"}