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 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * @description Builds the "[Telegram thread context]" preamble the bot glues
3
+ * ahead of a forwarded prompt so the agent knows WHERE it works — which forum
4
+ * topic, in which group, under which thread key, and which bound folder.
5
+ *
6
+ * The preamble is plain English (agent-facing, NOT i18n) and uniform across
7
+ * both backends: the bot just prepends it to the prompt text in
8
+ * `forwardPromptToAgent`, the single choke point for direct texts,
9
+ * startup-buffer replays, and voice transcripts.
10
+ *
11
+ * It is re-injected on the next prompt whenever the built text differs from
12
+ * the per-thread marker the bot last sent — which happens on a fresh
13
+ * session (marker cleared on start/stop/closed), after a topic rename
14
+ * (stored name changed), or after `/clear` (marker reset). See the
15
+ * should-inject decision below.
16
+ */
17
+ import { type SessionKey } from './sessionKey';
18
+ /** First line of every preamble — the agent-recognisable marker. */
19
+ export declare const threadContextPreambleHeader = "[Telegram thread context]";
20
+ /**
21
+ * @description Inputs needed to render the preamble. `topicName` and
22
+ * `groupTitle` are optional because the Bot API can't always supply them
23
+ * (pre-existing topics have no learned name; the group title cache is empty
24
+ * until the first authorised update after a restart).
25
+ */
26
+ export interface ThreadContextPreambleInput {
27
+ /** Forum-topic display name, when known. */
28
+ topicName?: string;
29
+ /** Group (supergroup) title, when known. */
30
+ groupTitle?: string;
31
+ /** The thread key — its `chatId:threadId` form is exposed to the agent. */
32
+ key: SessionKey;
33
+ /** Bound subfolder under `WORK_ROOT`. */
34
+ subdir: string;
35
+ /**
36
+ * The instance timezone every clock the bot renders speaks in. Carried here
37
+ * because it is STATIC for a session and therefore rides the existing
38
+ * on-change injection for free; the current INSTANT deliberately stays on the
39
+ * per-prompt paths (`/timestamps`, the `/schedule` templates), since a value
40
+ * that changes every message would re-inject the preamble on every message.
41
+ * Optional so a caller that has no zone to report simply omits the field.
42
+ */
43
+ timezone?: string;
44
+ }
45
+ /**
46
+ * @description Render the preamble block. Always includes the `thread:` /
47
+ * `folder:` line (joined by a `timezone:` part when a zone is supplied); the
48
+ * `topic:` / `group:` line is included only when at least one of those two
49
+ * fields is known (the topic name is dropped when unknown, per the locked
50
+ * decision).
51
+ *
52
+ * Returns a multi-line string WITHOUT a trailing prompt — the caller joins
53
+ * it to the user's text with a blank-line separator.
54
+ */
55
+ export declare function buildThreadContextPreamble(input: ThreadContextPreambleInput): string;
56
+ /**
57
+ * @description Whether the forwarded text must NOT get a preamble glued on.
58
+ * Slash commands forwarded to the agent (`/clear`, `/compact`, …) are plain
59
+ * control tokens — prepending the preamble would corrupt them into ordinary
60
+ * text the agent can't act on. The preamble rides only normal prompts.
61
+ */
62
+ export declare function checkShouldSkipPreambleForText(text: string): boolean;
63
+ /**
64
+ * @description Glue a freshly-built preamble ahead of the user's prompt.
65
+ */
66
+ export declare function prependThreadContextPreamble(preamble: string, prompt: string): string;
67
+ /**
68
+ * @description Decide whether the preamble must ride the next prompt.
69
+ *
70
+ * The bot keeps an in-memory marker (the last preamble it injected for a
71
+ * thread). We inject when the freshly-built preamble differs from the
72
+ * marker — a missing marker (fresh session, post-`/clear` reset) always
73
+ * differs, and a rename / late group-title discovery changes the built text
74
+ * so it differs too. Identical text means the agent already has up-to-date
75
+ * context this session, so we skip to avoid noise.
76
+ */
77
+ export declare function checkShouldInjectPreamble(builtPreamble: string, lastInjectedMarker: string | undefined): boolean;
78
+ /**
79
+ * @description Strip a leading preamble block from a stored prompt text.
80
+ *
81
+ * Backend transcripts store the prompt AS FORWARDED — preamble included. When
82
+ * such a turn is shown back to the user (e.g. the "↩️ Resumed — last N
83
+ * messages" context block), the service header is noise: the user wants to
84
+ * see what THEY said, not the bot's glue. The preamble is everything from the
85
+ * marker header up to the first blank line (see
86
+ * {@link prependThreadContextPreamble}).
87
+ */
88
+ export declare function stripThreadContextPreamble(text: string): string;
89
+ //# sourceMappingURL=threadContextPreamble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threadContextPreamble.d.ts","sourceRoot":"","sources":["../src/threadContextPreamble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,oEAAoE;AACpE,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,GAAG,EAAE,UAAU,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,GAAG,MAAM,CAapF;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpE;AAKD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/D"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ /**
3
+ * @description Builds the "[Telegram thread context]" preamble the bot glues
4
+ * ahead of a forwarded prompt so the agent knows WHERE it works — which forum
5
+ * topic, in which group, under which thread key, and which bound folder.
6
+ *
7
+ * The preamble is plain English (agent-facing, NOT i18n) and uniform across
8
+ * both backends: the bot just prepends it to the prompt text in
9
+ * `forwardPromptToAgent`, the single choke point for direct texts,
10
+ * startup-buffer replays, and voice transcripts.
11
+ *
12
+ * It is re-injected on the next prompt whenever the built text differs from
13
+ * the per-thread marker the bot last sent — which happens on a fresh
14
+ * session (marker cleared on start/stop/closed), after a topic rename
15
+ * (stored name changed), or after `/clear` (marker reset). See the
16
+ * should-inject decision below.
17
+ */
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.threadContextPreambleHeader = void 0;
20
+ exports.buildThreadContextPreamble = buildThreadContextPreamble;
21
+ exports.checkShouldSkipPreambleForText = checkShouldSkipPreambleForText;
22
+ exports.prependThreadContextPreamble = prependThreadContextPreamble;
23
+ exports.checkShouldInjectPreamble = checkShouldInjectPreamble;
24
+ exports.stripThreadContextPreamble = stripThreadContextPreamble;
25
+ const sessionKey_1 = require("./sessionKey");
26
+ /** First line of every preamble — the agent-recognisable marker. */
27
+ exports.threadContextPreambleHeader = '[Telegram thread context]';
28
+ /**
29
+ * @description Render the preamble block. Always includes the `thread:` /
30
+ * `folder:` line (joined by a `timezone:` part when a zone is supplied); the
31
+ * `topic:` / `group:` line is included only when at least one of those two
32
+ * fields is known (the topic name is dropped when unknown, per the locked
33
+ * decision).
34
+ *
35
+ * Returns a multi-line string WITHOUT a trailing prompt — the caller joins
36
+ * it to the user's text with a blank-line separator.
37
+ */
38
+ function buildThreadContextPreamble(input) {
39
+ const { topicName, groupTitle, key, subdir, timezone } = input;
40
+ const lines = [exports.threadContextPreambleHeader];
41
+ const identityParts = [];
42
+ if (topicName)
43
+ identityParts.push(`topic: "${topicName}"`);
44
+ if (groupTitle)
45
+ identityParts.push(`group: "${groupTitle}"`);
46
+ if (identityParts.length > 0)
47
+ lines.push(identityParts.join(' | '));
48
+ const threadParts = [`thread: ${(0, sessionKey_1.keyToString)(key)}`, `folder: ${subdir}`];
49
+ if (timezone)
50
+ threadParts.push(`timezone: ${timezone}`);
51
+ lines.push(threadParts.join(' | '));
52
+ return lines.join('\n');
53
+ }
54
+ /**
55
+ * @description Whether the forwarded text must NOT get a preamble glued on.
56
+ * Slash commands forwarded to the agent (`/clear`, `/compact`, …) are plain
57
+ * control tokens — prepending the preamble would corrupt them into ordinary
58
+ * text the agent can't act on. The preamble rides only normal prompts.
59
+ */
60
+ function checkShouldSkipPreambleForText(text) {
61
+ return text.startsWith('/');
62
+ }
63
+ /** Separator between the preamble block and the user's prompt text. */
64
+ const preamblePromptSeparator = '\n\n';
65
+ /**
66
+ * @description Glue a freshly-built preamble ahead of the user's prompt.
67
+ */
68
+ function prependThreadContextPreamble(preamble, prompt) {
69
+ return `${preamble}${preamblePromptSeparator}${prompt}`;
70
+ }
71
+ /**
72
+ * @description Decide whether the preamble must ride the next prompt.
73
+ *
74
+ * The bot keeps an in-memory marker (the last preamble it injected for a
75
+ * thread). We inject when the freshly-built preamble differs from the
76
+ * marker — a missing marker (fresh session, post-`/clear` reset) always
77
+ * differs, and a rename / late group-title discovery changes the built text
78
+ * so it differs too. Identical text means the agent already has up-to-date
79
+ * context this session, so we skip to avoid noise.
80
+ */
81
+ function checkShouldInjectPreamble(builtPreamble, lastInjectedMarker) {
82
+ return builtPreamble !== lastInjectedMarker;
83
+ }
84
+ /**
85
+ * @description Strip a leading preamble block from a stored prompt text.
86
+ *
87
+ * Backend transcripts store the prompt AS FORWARDED — preamble included. When
88
+ * such a turn is shown back to the user (e.g. the "↩️ Resumed — last N
89
+ * messages" context block), the service header is noise: the user wants to
90
+ * see what THEY said, not the bot's glue. The preamble is everything from the
91
+ * marker header up to the first blank line (see
92
+ * {@link prependThreadContextPreamble}).
93
+ */
94
+ function stripThreadContextPreamble(text) {
95
+ if (!text.startsWith(exports.threadContextPreambleHeader))
96
+ return text;
97
+ const separatorIndex = text.indexOf(preamblePromptSeparator);
98
+ if (separatorIndex === -1)
99
+ return text;
100
+ return text.slice(separatorIndex + preamblePromptSeparator.length);
101
+ }
102
+ //# sourceMappingURL=threadContextPreamble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threadContextPreamble.js","sourceRoot":"","sources":["../src/threadContextPreamble.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AA2CH,gEAaC;AAQD,wEAEC;AAQD,oEAEC;AAYD,8DAKC;AAYD,gEAKC;AA5GD,6CAA4D;AAE5D,oEAAoE;AACvD,QAAA,2BAA2B,GAAG,2BAA2B,CAAC;AA4BvE;;;;;;;;;GASG;AACH,SAAgB,0BAA0B,CAAC,KAAiC;IAC1E,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,KAAK,GAAa,CAAC,mCAA2B,CAAC,CAAC;IAEtD,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,SAAS;QAAE,aAAa,CAAC,IAAI,CAAC,WAAW,SAAS,GAAG,CAAC,CAAC;IAC3D,IAAI,UAAU;QAAE,aAAa,CAAC,IAAI,CAAC,WAAW,UAAU,GAAG,CAAC,CAAC;IAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,CAAC,WAAW,IAAA,wBAAW,EAAC,GAAG,CAAC,EAAE,EAAE,WAAW,MAAM,EAAE,CAAC,CAAC;IACzE,IAAI,QAAQ;QAAE,WAAW,CAAC,IAAI,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,8BAA8B,CAAC,IAAY;IACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,uEAAuE;AACvE,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC;;GAEG;AACH,SAAgB,4BAA4B,CAAC,QAAgB,EAAE,MAAc;IAC3E,OAAO,GAAG,QAAQ,GAAG,uBAAuB,GAAG,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CACvC,aAAqB,EACrB,kBAAsC;IAEtC,OAAO,aAAa,KAAK,kBAAkB,CAAC;AAC9C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,0BAA0B,CAAC,IAAY;IACrD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mCAA2B,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7D,IAAI,cAAc,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * @description Pure routing-decision logic — extracted from `bot.ts` so
3
+ * the gating rules (plan §8) can be unit-tested without booting Telegraf,
4
+ * parsing ENV, or pulling in 30+ adapter dependencies.
5
+ *
6
+ * The Telegram `Context` object carries everything we need:
7
+ * - `ctx.chat` → forum supergroup detection + chat-id allowlist gate
8
+ * - `ctx.message` (or `ctx.callbackQuery.message`) →
9
+ * `message_thread_id` + `is_topic_message`
10
+ *
11
+ * Both fields are passed in by `bot.ts:getThreadKey` after pulling them
12
+ * from the live context, so this module can stay free of Telegraf imports.
13
+ *
14
+ * The `GENERAL_THREAD_ID = 1` constant is the magic number for the
15
+ * General forum topic — Telegram returns the thread id either as `1` or
16
+ * (sometimes) as `undefined` for posts in General; we normalise both to 1.
17
+ *
18
+ * Plan §11 Этап 7 / R2.
19
+ */
20
+ import type { SessionKey } from './sessionKey';
21
+ /** Telegram's stable id for the General forum topic. */
22
+ export declare const GENERAL_THREAD_ID = 1;
23
+ /**
24
+ * @description "General" thread id in the owner-DM surface. A message posted to
25
+ * the DM's main thread carries NO `message_thread_id`; we normalise that to `0`
26
+ * (distinct from the supergroup's `1`) so the two surfaces never collide in a
27
+ * persisted `SessionKey` and `checkIsGeneral` can stay mode-aware.
28
+ */
29
+ export declare const DM_GENERAL_THREAD_ID = 0;
30
+ /**
31
+ * @description Which Telegram surface(s) the bot serves.
32
+ *
33
+ * - `group` — only the forum supergroup (creator/admins gated, paired by
34
+ * `ALLOWED_GROUP_ID`).
35
+ * - `dm` — only the owner's 1:1 private chat with forum-topic mode (owner-id gated).
36
+ * - `both` — DEFAULT. ONE instance serves the owner DM AND the group at once,
37
+ * decided PER CHAT (the DM surface is inert if no `OWNER_USER_ID` is set, so a
38
+ * bare deploy stays group-only).
39
+ */
40
+ export type ChatMode = 'group' | 'dm' | 'both';
41
+ /** The valid {@link ChatMode} values, for env validation. */
42
+ export declare const chatModeValues: readonly ChatMode[];
43
+ /** Type guard: is `value` a valid {@link ChatMode}? */
44
+ export declare function checkIsChatMode(value: string): value is ChatMode;
45
+ /**
46
+ * @description Minimal shape of the bits of `ctx.chat` we read. We accept
47
+ * `unknown` widths on optional fields so callers can pass a Telegraf
48
+ * `Chat` union without casting.
49
+ */
50
+ export interface RouteChat {
51
+ id: number;
52
+ type?: string;
53
+ /** Present (and `true`) only on forum-enabled supergroups. */
54
+ is_forum?: boolean;
55
+ }
56
+ /**
57
+ * @description Minimal shape of the bits of `ctx.message` /
58
+ * `ctx.callbackQuery.message` we read.
59
+ */
60
+ export interface RouteMessage {
61
+ message_thread_id?: number;
62
+ is_topic_message?: boolean;
63
+ }
64
+ export interface RouteInput {
65
+ chat: RouteChat | undefined;
66
+ /** From `ctx.message` (top-level update). */
67
+ message?: RouteMessage | undefined;
68
+ /** From `ctx.callbackQuery?.message` (inline-button presses). */
69
+ callbackQueryMessage?: RouteMessage | undefined;
70
+ }
71
+ /**
72
+ * @description Compute the `SessionKey` for an incoming Telegram update,
73
+ * or return `null` if the bot should silently ignore it.
74
+ *
75
+ * Gating rules (plan §8):
76
+ * 1. Chat is a forum supergroup (`type === 'supergroup'` AND `is_forum`).
77
+ * 2. `chat.id === allowedGroupId`.
78
+ * 3. If a `message_thread_id` is present, `is_topic_message` must be
79
+ * `true` — guards against plain reply-threads in non-forum
80
+ * supergroups, which also carry `message_thread_id` but are NOT
81
+ * topics (plan §4.3 point 2, T7).
82
+ * 4. Missing `message_thread_id` → General topic (id 1).
83
+ */
84
+ export declare function resolveThreadKey(input: RouteInput, allowedGroupId: number): SessionKey | null;
85
+ /**
86
+ * @description Compute the `SessionKey` for an incoming update in DM mode, or
87
+ * `null` if the bot should ignore it.
88
+ *
89
+ * The DM surface accepts updates ONLY from the OWNER'S private chat — and the
90
+ * owner's private-chat id IS the owner's user id, so a single equality both
91
+ * gates the chat and identifies the owner:
92
+ * 1. `chat.type === 'private'` — any non-DM update is ignored here.
93
+ * 2. `chat.id === ownerUserId` — only the owner's DM, never another user's.
94
+ *
95
+ * The thread is the DM-topic's `message_thread_id`; a message in the DM's main
96
+ * thread carries none → normalised to {@link DM_GENERAL_THREAD_ID} (0). Unlike
97
+ * the supergroup path there is no `is_topic_message` gate: a private chat has no
98
+ * reply-thread/topic ambiguity to disambiguate.
99
+ */
100
+ export declare function resolveDmThreadKey(input: RouteInput, ownerUserId: number): SessionKey | null;
101
+ /** Runtime surface config for {@link resolveThreadKeyForMode} / {@link checkIsDmThreadKey}. */
102
+ export interface SurfaceRouting {
103
+ /** The served surface(s) for this process. */
104
+ mode: ChatMode;
105
+ /** The owner's user id (= the owner's DM chat id), or `NaN` when no DM owner. */
106
+ ownerUserId: number;
107
+ /** The effective forum supergroup id, or `NaN` while unpaired. */
108
+ allowedGroupId: number;
109
+ /** Whether the DM surface is live (false ⇒ the owner-DM resolver is skipped). */
110
+ isDmSurfaceActive: boolean;
111
+ }
112
+ /**
113
+ * @description Per-chat discriminator: does `key` belong to the DM surface? A DM
114
+ * key's `chatId` is the owner's user id (`resolveDmThreadKey` gates
115
+ * `chat.id === ownerUserId`), so the equality both identifies the surface and
116
+ * re-asserts the owner. Always false when the DM surface is inert — then
117
+ * `ownerUserId` is `NaN`, which never equals a real chat id anyway, but the guard
118
+ * makes a group-only `both` unambiguously group.
119
+ */
120
+ export declare function checkIsDmThreadKey(key: SessionKey, ownerUserId: number, isDmSurfaceActive: boolean): boolean;
121
+ /**
122
+ * @description Resolve the `SessionKey` for an update across BOTH surfaces, per
123
+ * {@link ChatMode}. The two resolvers are disjoint (a private chat vs. a forum
124
+ * supergroup), so trying both in `both` is unambiguous — an update matches at
125
+ * most one. The owner-DM resolver runs first when the DM surface is live
126
+ * (skipped when inert); the group resolver runs unless we are DM-only. A
127
+ * non-matching surface returns `null` → drop. The single composition behind
128
+ * `bot.ts:getThreadKey`, kept pure here so it is unit-testable.
129
+ */
130
+ export declare function resolveThreadKeyForMode(input: RouteInput, routing: SurfaceRouting): SessionKey | null;
131
+ /**
132
+ * @description Convenience: is this the General topic? Used by command
133
+ * handlers that have different semantics in General vs. a thematic topic
134
+ * (e.g. `/ls` is General-only, `/bind` is topic-only).
135
+ *
136
+ * Mode-aware: the supergroup surface marks General with `1`, the DM surface
137
+ * with `0` (no `message_thread_id`). Pass the active {@link ChatMode} so the
138
+ * right marker is checked.
139
+ */
140
+ export declare function checkIsGeneralTopic(key: SessionKey, mode?: ChatMode): boolean;
141
+ /** Inputs for the auto-pairing decision (side-effect free). */
142
+ export interface PairingInput {
143
+ chat: RouteChat | undefined;
144
+ /** Already-effective group id (env or previously paired), or `null`. */
145
+ currentGroupId: number | null;
146
+ /** True when `ALLOWED_GROUP_ID` env is set numerically — pairing disabled. */
147
+ isEnvLocked: boolean;
148
+ }
149
+ /**
150
+ * @description Decide whether an incoming update's chat is STRUCTURALLY a
151
+ * pairing candidate. Returns the chat id to pair, or `null`.
152
+ *
153
+ * Eligible only when ALL hold:
154
+ * 1. Not locked by a numeric `ALLOWED_GROUP_ID` env.
155
+ * 2. No effective group id yet (`currentGroupId === null`).
156
+ * 3. The chat is a forum supergroup (same gate as {@link resolveThreadKey}).
157
+ *
158
+ * The actor's authority — they must be a creator/administrator of the group, so
159
+ * a random group can't hijack pairing — is verified separately and
160
+ * asynchronously by the caller via `getChatAdministrators`; it can't live in a
161
+ * pure helper.
162
+ */
163
+ export declare function resolvePairingCandidate(input: PairingInput): number | null;
164
+ //# sourceMappingURL=threadRouting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threadRouting.d.ts","sourceRoot":"","sources":["../src/threadRouting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ/C,wDAAwD;AACxD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAE/C,6DAA6D;AAC7D,eAAO,MAAM,cAAc,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE3E,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAEhE;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,iEAAiE;IACjE,oBAAoB,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAsB7F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAQ5F;AAED,+FAA+F;AAC/F,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAMT;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,cAAc,GACtB,UAAU,GAAG,IAAI,CAOnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,GAAE,QAAkB,GAAG,OAAO,CAItF;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,wEAAwE;IACxE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAM1E"}
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ /**
3
+ * @description Pure routing-decision logic — extracted from `bot.ts` so
4
+ * the gating rules (plan §8) can be unit-tested without booting Telegraf,
5
+ * parsing ENV, or pulling in 30+ adapter dependencies.
6
+ *
7
+ * The Telegram `Context` object carries everything we need:
8
+ * - `ctx.chat` → forum supergroup detection + chat-id allowlist gate
9
+ * - `ctx.message` (or `ctx.callbackQuery.message`) →
10
+ * `message_thread_id` + `is_topic_message`
11
+ *
12
+ * Both fields are passed in by `bot.ts:getThreadKey` after pulling them
13
+ * from the live context, so this module can stay free of Telegraf imports.
14
+ *
15
+ * The `GENERAL_THREAD_ID = 1` constant is the magic number for the
16
+ * General forum topic — Telegram returns the thread id either as `1` or
17
+ * (sometimes) as `undefined` for posts in General; we normalise both to 1.
18
+ *
19
+ * Plan §11 Этап 7 / R2.
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.chatModeValues = exports.DM_GENERAL_THREAD_ID = exports.GENERAL_THREAD_ID = void 0;
23
+ exports.checkIsChatMode = checkIsChatMode;
24
+ exports.resolveThreadKey = resolveThreadKey;
25
+ exports.resolveDmThreadKey = resolveDmThreadKey;
26
+ exports.checkIsDmThreadKey = checkIsDmThreadKey;
27
+ exports.resolveThreadKeyForMode = resolveThreadKeyForMode;
28
+ exports.checkIsGeneralTopic = checkIsGeneralTopic;
29
+ exports.resolvePairingCandidate = resolvePairingCandidate;
30
+ const sessionKeyCodec_1 = require("./connectors/telegram/sessionKeyCodec");
31
+ /** Telegram's stable id for the General forum topic. */
32
+ exports.GENERAL_THREAD_ID = 1;
33
+ /**
34
+ * @description "General" thread id in the owner-DM surface. A message posted to
35
+ * the DM's main thread carries NO `message_thread_id`; we normalise that to `0`
36
+ * (distinct from the supergroup's `1`) so the two surfaces never collide in a
37
+ * persisted `SessionKey` and `checkIsGeneral` can stay mode-aware.
38
+ */
39
+ exports.DM_GENERAL_THREAD_ID = 0;
40
+ /** The valid {@link ChatMode} values, for env validation. */
41
+ exports.chatModeValues = ['group', 'dm', 'both'];
42
+ /** Type guard: is `value` a valid {@link ChatMode}? */
43
+ function checkIsChatMode(value) {
44
+ return exports.chatModeValues.includes(value);
45
+ }
46
+ /**
47
+ * @description Compute the `SessionKey` for an incoming Telegram update,
48
+ * or return `null` if the bot should silently ignore it.
49
+ *
50
+ * Gating rules (plan §8):
51
+ * 1. Chat is a forum supergroup (`type === 'supergroup'` AND `is_forum`).
52
+ * 2. `chat.id === allowedGroupId`.
53
+ * 3. If a `message_thread_id` is present, `is_topic_message` must be
54
+ * `true` — guards against plain reply-threads in non-forum
55
+ * supergroups, which also carry `message_thread_id` but are NOT
56
+ * topics (plan §4.3 point 2, T7).
57
+ * 4. Missing `message_thread_id` → General topic (id 1).
58
+ */
59
+ function resolveThreadKey(input, allowedGroupId) {
60
+ const chat = input.chat;
61
+ if (!chat || chat.type !== 'supergroup')
62
+ return null;
63
+ if (!chat.is_forum)
64
+ return null;
65
+ if (chat.id !== allowedGroupId)
66
+ return null;
67
+ // Callback-query updates carry the originating message under
68
+ // `ctx.callbackQuery.message`. Either source is fine — they share the
69
+ // forum-topic fields by Telegram's data model.
70
+ const msg = input.message ?? input.callbackQueryMessage;
71
+ const rawThreadId = msg?.message_thread_id;
72
+ const isTopicMessage = msg?.is_topic_message;
73
+ // Reply-threads in non-forum supergroups also carry message_thread_id.
74
+ // We've already gated on `is_forum`, but a forum supergroup can still
75
+ // host a reply on the General-topic root — `is_topic_message` is `false`
76
+ // in that case and we should NOT mis-route it to a custom topic id.
77
+ if (rawThreadId && !isTopicMessage)
78
+ return null;
79
+ const threadId = rawThreadId ?? exports.GENERAL_THREAD_ID;
80
+ return (0, sessionKeyCodec_1.makeTelegramKey)(chat.id, threadId);
81
+ }
82
+ /**
83
+ * @description Compute the `SessionKey` for an incoming update in DM mode, or
84
+ * `null` if the bot should ignore it.
85
+ *
86
+ * The DM surface accepts updates ONLY from the OWNER'S private chat — and the
87
+ * owner's private-chat id IS the owner's user id, so a single equality both
88
+ * gates the chat and identifies the owner:
89
+ * 1. `chat.type === 'private'` — any non-DM update is ignored here.
90
+ * 2. `chat.id === ownerUserId` — only the owner's DM, never another user's.
91
+ *
92
+ * The thread is the DM-topic's `message_thread_id`; a message in the DM's main
93
+ * thread carries none → normalised to {@link DM_GENERAL_THREAD_ID} (0). Unlike
94
+ * the supergroup path there is no `is_topic_message` gate: a private chat has no
95
+ * reply-thread/topic ambiguity to disambiguate.
96
+ */
97
+ function resolveDmThreadKey(input, ownerUserId) {
98
+ const chat = input.chat;
99
+ if (!chat || chat.type !== 'private')
100
+ return null;
101
+ if (chat.id !== ownerUserId)
102
+ return null;
103
+ const msg = input.message ?? input.callbackQueryMessage;
104
+ const threadId = msg?.message_thread_id ?? exports.DM_GENERAL_THREAD_ID;
105
+ return (0, sessionKeyCodec_1.makeTelegramKey)(chat.id, threadId);
106
+ }
107
+ /**
108
+ * @description Per-chat discriminator: does `key` belong to the DM surface? A DM
109
+ * key's `chatId` is the owner's user id (`resolveDmThreadKey` gates
110
+ * `chat.id === ownerUserId`), so the equality both identifies the surface and
111
+ * re-asserts the owner. Always false when the DM surface is inert — then
112
+ * `ownerUserId` is `NaN`, which never equals a real chat id anyway, but the guard
113
+ * makes a group-only `both` unambiguously group.
114
+ */
115
+ function checkIsDmThreadKey(key, ownerUserId, isDmSurfaceActive) {
116
+ if (!isDmSurfaceActive)
117
+ return false;
118
+ // A predicate must answer, not throw: a key from another platform simply
119
+ // isn't this Telegram surface's DM.
120
+ if (!(0, sessionKeyCodec_1.checkIsTelegramKey)(key))
121
+ return false;
122
+ return (0, sessionKeyCodec_1.getTelegramChatId)(key) === ownerUserId;
123
+ }
124
+ /**
125
+ * @description Resolve the `SessionKey` for an update across BOTH surfaces, per
126
+ * {@link ChatMode}. The two resolvers are disjoint (a private chat vs. a forum
127
+ * supergroup), so trying both in `both` is unambiguous — an update matches at
128
+ * most one. The owner-DM resolver runs first when the DM surface is live
129
+ * (skipped when inert); the group resolver runs unless we are DM-only. A
130
+ * non-matching surface returns `null` → drop. The single composition behind
131
+ * `bot.ts:getThreadKey`, kept pure here so it is unit-testable.
132
+ */
133
+ function resolveThreadKeyForMode(input, routing) {
134
+ if (routing.isDmSurfaceActive) {
135
+ const dmKey = resolveDmThreadKey(input, routing.ownerUserId);
136
+ if (dmKey)
137
+ return dmKey;
138
+ }
139
+ if (routing.mode === 'dm')
140
+ return null;
141
+ return resolveThreadKey(input, routing.allowedGroupId);
142
+ }
143
+ /**
144
+ * @description Convenience: is this the General topic? Used by command
145
+ * handlers that have different semantics in General vs. a thematic topic
146
+ * (e.g. `/ls` is General-only, `/bind` is topic-only).
147
+ *
148
+ * Mode-aware: the supergroup surface marks General with `1`, the DM surface
149
+ * with `0` (no `message_thread_id`). Pass the active {@link ChatMode} so the
150
+ * right marker is checked.
151
+ */
152
+ function checkIsGeneralTopic(key, mode = 'group') {
153
+ if (!(0, sessionKeyCodec_1.checkIsTelegramKey)(key))
154
+ return false;
155
+ const generalThreadId = mode === 'dm' ? exports.DM_GENERAL_THREAD_ID : exports.GENERAL_THREAD_ID;
156
+ return (0, sessionKeyCodec_1.getTelegramThreadId)(key) === generalThreadId;
157
+ }
158
+ /**
159
+ * @description Decide whether an incoming update's chat is STRUCTURALLY a
160
+ * pairing candidate. Returns the chat id to pair, or `null`.
161
+ *
162
+ * Eligible only when ALL hold:
163
+ * 1. Not locked by a numeric `ALLOWED_GROUP_ID` env.
164
+ * 2. No effective group id yet (`currentGroupId === null`).
165
+ * 3. The chat is a forum supergroup (same gate as {@link resolveThreadKey}).
166
+ *
167
+ * The actor's authority — they must be a creator/administrator of the group, so
168
+ * a random group can't hijack pairing — is verified separately and
169
+ * asynchronously by the caller via `getChatAdministrators`; it can't live in a
170
+ * pure helper.
171
+ */
172
+ function resolvePairingCandidate(input) {
173
+ if (input.isEnvLocked)
174
+ return null;
175
+ if (input.currentGroupId !== null)
176
+ return null;
177
+ const { chat } = input;
178
+ if (!chat || chat.type !== 'supergroup' || !chat.is_forum)
179
+ return null;
180
+ return chat.id;
181
+ }
182
+ //# sourceMappingURL=threadRouting.js.map