charness 3.1.0 → 3.3.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 (417) hide show
  1. package/.env.example +11 -13
  2. package/DEVELOPMENT.md +27 -6
  3. package/MIGRATION_1_TO_2.md +1 -1
  4. package/MIGRATION_RENAME_TO_CHARNESS.md +133 -0
  5. package/README.md +185 -618
  6. package/SETUP.md +644 -0
  7. package/dist/adapters/adapterEventRouting.d.ts +2 -1
  8. package/dist/adapters/adapterEventRouting.d.ts.map +1 -1
  9. package/dist/adapters/adapterEventRouting.js +3 -0
  10. package/dist/adapters/adapterEventRouting.js.map +1 -1
  11. package/dist/adapters/adapterNames.d.ts +13 -0
  12. package/dist/adapters/adapterNames.d.ts.map +1 -1
  13. package/dist/adapters/adapterNames.js +16 -0
  14. package/dist/adapters/adapterNames.js.map +1 -1
  15. package/dist/adapters/backendUnavailableError.d.ts +11 -0
  16. package/dist/adapters/backendUnavailableError.d.ts.map +1 -0
  17. package/dist/adapters/backendUnavailableError.js +19 -0
  18. package/dist/adapters/backendUnavailableError.js.map +1 -0
  19. package/dist/adapters/claudeCliAdapter.d.ts +30 -7
  20. package/dist/adapters/claudeCliAdapter.d.ts.map +1 -1
  21. package/dist/adapters/claudeCliAdapter.js +71 -17
  22. package/dist/adapters/claudeCliAdapter.js.map +1 -1
  23. package/dist/adapters/claudeJsonStreamAdapter.d.ts +36 -3
  24. package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -1
  25. package/dist/adapters/claudeJsonStreamAdapter.js +95 -31
  26. package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -1
  27. package/dist/adapters/createAdapter.d.ts +3 -14
  28. package/dist/adapters/createAdapter.d.ts.map +1 -1
  29. package/dist/adapters/createAdapter.js +9 -19
  30. package/dist/adapters/createAdapter.js.map +1 -1
  31. package/dist/adapters/openCodeAdapter.d.ts +140 -12
  32. package/dist/adapters/openCodeAdapter.d.ts.map +1 -1
  33. package/dist/adapters/openCodeAdapter.js +386 -120
  34. package/dist/adapters/openCodeAdapter.js.map +1 -1
  35. package/dist/apiErrorRetry.d.ts +70 -6
  36. package/dist/apiErrorRetry.d.ts.map +1 -1
  37. package/dist/apiErrorRetry.js +312 -34
  38. package/dist/apiErrorRetry.js.map +1 -1
  39. package/dist/apiRetryKick.d.ts +26 -1
  40. package/dist/apiRetryKick.d.ts.map +1 -1
  41. package/dist/apiRetryKick.js +41 -2
  42. package/dist/apiRetryKick.js.map +1 -1
  43. package/dist/bot.d.ts +2 -1
  44. package/dist/bot.d.ts.map +1 -1
  45. package/dist/bot.js +743 -190
  46. package/dist/bot.js.map +1 -1
  47. package/dist/cli/bot.d.ts +4 -2
  48. package/dist/cli/bot.d.ts.map +1 -1
  49. package/dist/cli/bot.js +11 -3
  50. package/dist/cli/bot.js.map +1 -1
  51. package/dist/cli/botEntry.js +3 -1
  52. package/dist/cli/botEntry.js.map +1 -1
  53. package/dist/cli/claudeProfiles.d.ts +4 -4
  54. package/dist/cli/claudeProfiles.js +5 -5
  55. package/dist/cli/claudeProfiles.js.map +1 -1
  56. package/dist/cli/envLoader.d.ts +6 -5
  57. package/dist/cli/envLoader.d.ts.map +1 -1
  58. package/dist/cli/envLoader.js +8 -27
  59. package/dist/cli/envLoader.js.map +1 -1
  60. package/dist/cli/hot.d.ts +9 -3
  61. package/dist/cli/hot.d.ts.map +1 -1
  62. package/dist/cli/hot.js +55 -19
  63. package/dist/cli/hot.js.map +1 -1
  64. package/dist/cli.js +12 -12
  65. package/dist/cli.js.map +1 -1
  66. package/dist/configDirFile.d.ts +73 -0
  67. package/dist/configDirFile.d.ts.map +1 -0
  68. package/dist/configDirFile.js +216 -0
  69. package/dist/configDirFile.js.map +1 -0
  70. package/dist/connectors/jira/adf.d.ts +21 -0
  71. package/dist/connectors/jira/adf.d.ts.map +1 -1
  72. package/dist/connectors/jira/adf.js +39 -0
  73. package/dist/connectors/jira/adf.js.map +1 -1
  74. package/dist/connectors/jira/answerSink.d.ts +20 -3
  75. package/dist/connectors/jira/answerSink.d.ts.map +1 -1
  76. package/dist/connectors/jira/answerSink.js +126 -13
  77. package/dist/connectors/jira/answerSink.js.map +1 -1
  78. package/dist/connectors/jira/client.d.ts +4 -0
  79. package/dist/connectors/jira/client.d.ts.map +1 -1
  80. package/dist/connectors/jira/client.js +3 -0
  81. package/dist/connectors/jira/client.js.map +1 -1
  82. package/dist/connectors/jira/config.d.ts +10 -1
  83. package/dist/connectors/jira/config.d.ts.map +1 -1
  84. package/dist/connectors/jira/config.js +11 -2
  85. package/dist/connectors/jira/config.js.map +1 -1
  86. package/dist/connectors/jira/connector.d.ts +7 -1
  87. package/dist/connectors/jira/connector.d.ts.map +1 -1
  88. package/dist/connectors/jira/connector.js +23 -4
  89. package/dist/connectors/jira/connector.js.map +1 -1
  90. package/dist/connectors/jira/contextLedger.d.ts +6 -0
  91. package/dist/connectors/jira/contextLedger.d.ts.map +1 -1
  92. package/dist/connectors/jira/contextLedger.js +16 -0
  93. package/dist/connectors/jira/contextLedger.js.map +1 -1
  94. package/dist/connectors/jira/contextPreamble.d.ts.map +1 -1
  95. package/dist/connectors/jira/contextPreamble.js +6 -3
  96. package/dist/connectors/jira/contextPreamble.js.map +1 -1
  97. package/dist/connectors/jira/inbound.d.ts +60 -7
  98. package/dist/connectors/jira/inbound.d.ts.map +1 -1
  99. package/dist/connectors/jira/inbound.js +169 -16
  100. package/dist/connectors/jira/inbound.js.map +1 -1
  101. package/dist/connectors/jira/issueBlocks.d.ts +6 -1
  102. package/dist/connectors/jira/issueBlocks.d.ts.map +1 -1
  103. package/dist/connectors/jira/issueBlocks.js +5 -1
  104. package/dist/connectors/jira/issueBlocks.js.map +1 -1
  105. package/dist/connectors/jira/prompt.d.ts +2 -0
  106. package/dist/connectors/jira/prompt.d.ts.map +1 -1
  107. package/dist/connectors/jira/prompt.js +16 -0
  108. package/dist/connectors/jira/prompt.js.map +1 -1
  109. package/dist/connectors/jira/trigger.d.ts +12 -3
  110. package/dist/connectors/jira/trigger.d.ts.map +1 -1
  111. package/dist/connectors/jira/trigger.js +8 -1
  112. package/dist/connectors/jira/trigger.js.map +1 -1
  113. package/dist/connectors/jira/triggerLog.d.ts +10 -3
  114. package/dist/connectors/jira/triggerLog.d.ts.map +1 -1
  115. package/dist/connectors/jira/triggerLog.js +18 -2
  116. package/dist/connectors/jira/triggerLog.js.map +1 -1
  117. package/dist/connectors/telegram/commands/autoContinueLimits.d.ts +2 -2
  118. package/dist/connectors/telegram/commands/autoContinueLimits.d.ts.map +1 -1
  119. package/dist/connectors/telegram/commands/autoContinueLimits.js +4 -4
  120. package/dist/connectors/telegram/commands/autoContinueLimits.js.map +1 -1
  121. package/dist/connectors/telegram/commands/backendSwitch.d.ts +25 -0
  122. package/dist/connectors/telegram/commands/backendSwitch.d.ts.map +1 -0
  123. package/dist/connectors/telegram/commands/backendSwitch.js +104 -0
  124. package/dist/connectors/telegram/commands/backendSwitch.js.map +1 -0
  125. package/dist/connectors/telegram/commands/callbackMessage.d.ts +12 -0
  126. package/dist/connectors/telegram/commands/callbackMessage.d.ts.map +1 -1
  127. package/dist/connectors/telegram/commands/callbackMessage.js +24 -0
  128. package/dist/connectors/telegram/commands/callbackMessage.js.map +1 -1
  129. package/dist/connectors/telegram/commands/callbackToast.d.ts +36 -0
  130. package/dist/connectors/telegram/commands/callbackToast.d.ts.map +1 -0
  131. package/dist/connectors/telegram/commands/callbackToast.js +83 -0
  132. package/dist/connectors/telegram/commands/callbackToast.js.map +1 -0
  133. package/dist/connectors/telegram/commands/claudeAccounts.d.ts +18 -0
  134. package/dist/connectors/telegram/commands/claudeAccounts.d.ts.map +1 -1
  135. package/dist/connectors/telegram/commands/claudeAccounts.js +220 -66
  136. package/dist/connectors/telegram/commands/claudeAccounts.js.map +1 -1
  137. package/dist/connectors/telegram/commands/displayModes.d.ts.map +1 -1
  138. package/dist/connectors/telegram/commands/displayModes.js +4 -2
  139. package/dist/connectors/telegram/commands/displayModes.js.map +1 -1
  140. package/dist/connectors/telegram/commands/fallbackChain.d.ts +5 -8
  141. package/dist/connectors/telegram/commands/fallbackChain.d.ts.map +1 -1
  142. package/dist/connectors/telegram/commands/fallbackChain.js +183 -193
  143. package/dist/connectors/telegram/commands/fallbackChain.js.map +1 -1
  144. package/dist/connectors/telegram/commands/limitsBoard.d.ts +40 -0
  145. package/dist/connectors/telegram/commands/limitsBoard.d.ts.map +1 -0
  146. package/dist/connectors/telegram/commands/limitsBoard.js +281 -0
  147. package/dist/connectors/telegram/commands/limitsBoard.js.map +1 -0
  148. package/dist/connectors/telegram/commands/modelPage.d.ts +130 -0
  149. package/dist/connectors/telegram/commands/modelPage.d.ts.map +1 -0
  150. package/dist/connectors/telegram/commands/modelPage.js +120 -0
  151. package/dist/connectors/telegram/commands/modelPage.js.map +1 -0
  152. package/dist/connectors/telegram/commands/modelProviders.d.ts +9 -1
  153. package/dist/connectors/telegram/commands/modelProviders.d.ts.map +1 -1
  154. package/dist/connectors/telegram/commands/modelProviders.js +203 -111
  155. package/dist/connectors/telegram/commands/modelProviders.js.map +1 -1
  156. package/dist/connectors/telegram/commands/stt.d.ts +32 -0
  157. package/dist/connectors/telegram/commands/stt.d.ts.map +1 -0
  158. package/dist/connectors/telegram/commands/stt.js +460 -0
  159. package/dist/connectors/telegram/commands/stt.js.map +1 -0
  160. package/dist/effortLevels.d.ts +57 -7
  161. package/dist/effortLevels.d.ts.map +1 -1
  162. package/dist/effortLevels.js +65 -9
  163. package/dist/effortLevels.js.map +1 -1
  164. package/dist/i18n/de.d.ts.map +1 -1
  165. package/dist/i18n/de.js +160 -17
  166. package/dist/i18n/de.js.map +1 -1
  167. package/dist/i18n/en.d.ts.map +1 -1
  168. package/dist/i18n/en.js +160 -17
  169. package/dist/i18n/en.js.map +1 -1
  170. package/dist/i18n/es.d.ts.map +1 -1
  171. package/dist/i18n/es.js +160 -17
  172. package/dist/i18n/es.js.map +1 -1
  173. package/dist/i18n/fr.d.ts.map +1 -1
  174. package/dist/i18n/fr.js +160 -17
  175. package/dist/i18n/fr.js.map +1 -1
  176. package/dist/i18n/hi.d.ts.map +1 -1
  177. package/dist/i18n/hi.js +160 -17
  178. package/dist/i18n/hi.js.map +1 -1
  179. package/dist/i18n/ja.d.ts.map +1 -1
  180. package/dist/i18n/ja.js +160 -17
  181. package/dist/i18n/ja.js.map +1 -1
  182. package/dist/i18n/ka.d.ts.map +1 -1
  183. package/dist/i18n/ka.js +160 -17
  184. package/dist/i18n/ka.js.map +1 -1
  185. package/dist/i18n/pt.d.ts.map +1 -1
  186. package/dist/i18n/pt.js +160 -17
  187. package/dist/i18n/pt.js.map +1 -1
  188. package/dist/i18n/ru.d.ts.map +1 -1
  189. package/dist/i18n/ru.js +160 -17
  190. package/dist/i18n/ru.js.map +1 -1
  191. package/dist/i18n/uk.d.ts.map +1 -1
  192. package/dist/i18n/uk.js +160 -17
  193. package/dist/i18n/uk.js.map +1 -1
  194. package/dist/i18n/uz.d.ts.map +1 -1
  195. package/dist/i18n/uz.js +160 -17
  196. package/dist/i18n/uz.js.map +1 -1
  197. package/dist/i18n/zh.d.ts.map +1 -1
  198. package/dist/i18n/zh.js +160 -17
  199. package/dist/i18n/zh.js.map +1 -1
  200. package/dist/index.js +1 -1
  201. package/dist/index.js.map +1 -1
  202. package/dist/installManager.d.ts +36 -6
  203. package/dist/installManager.d.ts.map +1 -1
  204. package/dist/installManager.js +124 -26
  205. package/dist/installManager.js.map +1 -1
  206. package/dist/instanceLock.d.ts.map +1 -1
  207. package/dist/instanceLock.js +10 -8
  208. package/dist/instanceLock.js.map +1 -1
  209. package/dist/instanceSettings.d.ts +52 -0
  210. package/dist/instanceSettings.d.ts.map +1 -0
  211. package/dist/instanceSettings.js +136 -0
  212. package/dist/instanceSettings.js.map +1 -0
  213. package/dist/legacyMigration.d.ts +69 -0
  214. package/dist/legacyMigration.d.ts.map +1 -0
  215. package/dist/legacyMigration.js +338 -0
  216. package/dist/legacyMigration.js.map +1 -0
  217. package/dist/legacyNames.d.ts +107 -0
  218. package/dist/legacyNames.d.ts.map +1 -0
  219. package/dist/legacyNames.js +230 -0
  220. package/dist/legacyNames.js.map +1 -0
  221. package/dist/pinnedStatus.d.ts +7 -1
  222. package/dist/pinnedStatus.d.ts.map +1 -1
  223. package/dist/pinnedStatus.js +1 -1
  224. package/dist/pinnedStatus.js.map +1 -1
  225. package/dist/platform/answerSink.d.ts +5 -0
  226. package/dist/platform/answerSink.d.ts.map +1 -1
  227. package/dist/platform/answerSink.js.map +1 -1
  228. package/dist/requests/answerRequest.d.ts +2 -0
  229. package/dist/requests/answerRequest.d.ts.map +1 -1
  230. package/dist/requests/answerRequest.js +3 -1
  231. package/dist/requests/answerRequest.js.map +1 -1
  232. package/dist/requests/answerStyle.d.ts +11 -0
  233. package/dist/requests/answerStyle.d.ts.map +1 -0
  234. package/dist/requests/answerStyle.js +14 -0
  235. package/dist/requests/answerStyle.js.map +1 -0
  236. package/dist/requests/answerTail.d.ts.map +1 -1
  237. package/dist/requests/answerTail.js +2 -0
  238. package/dist/requests/answerTail.js.map +1 -1
  239. package/dist/requests/requestHeader.d.ts.map +1 -1
  240. package/dist/requests/requestHeader.js +3 -0
  241. package/dist/requests/requestHeader.js.map +1 -1
  242. package/dist/requests/requestLedger.d.ts +8 -0
  243. package/dist/requests/requestLedger.d.ts.map +1 -1
  244. package/dist/requests/requestLedger.js +20 -2
  245. package/dist/requests/requestLedger.js.map +1 -1
  246. package/dist/requests/types.d.ts +3 -1
  247. package/dist/requests/types.d.ts.map +1 -1
  248. package/dist/scheduler/mcpSurface.d.ts +9 -1
  249. package/dist/scheduler/mcpSurface.d.ts.map +1 -1
  250. package/dist/scheduler/mcpSurface.js +49 -16
  251. package/dist/scheduler/mcpSurface.js.map +1 -1
  252. package/dist/shutdown.d.ts +14 -0
  253. package/dist/shutdown.d.ts.map +1 -1
  254. package/dist/shutdown.js +16 -0
  255. package/dist/shutdown.js.map +1 -1
  256. package/dist/state.d.ts +57 -3
  257. package/dist/state.d.ts.map +1 -1
  258. package/dist/state.js +67 -3
  259. package/dist/state.js.map +1 -1
  260. package/dist/stt/sttAutoInstall.d.ts +39 -0
  261. package/dist/stt/sttAutoInstall.d.ts.map +1 -0
  262. package/dist/stt/sttAutoInstall.js +158 -0
  263. package/dist/stt/sttAutoInstall.js.map +1 -0
  264. package/dist/stt/sttChildEnv.d.ts +11 -0
  265. package/dist/stt/sttChildEnv.d.ts.map +1 -0
  266. package/dist/stt/sttChildEnv.js +30 -0
  267. package/dist/stt/sttChildEnv.js.map +1 -0
  268. package/dist/stt/sttConfigEdit.d.ts +71 -0
  269. package/dist/stt/sttConfigEdit.d.ts.map +1 -0
  270. package/dist/stt/sttConfigEdit.js +144 -0
  271. package/dist/stt/sttConfigEdit.js.map +1 -0
  272. package/dist/stt/sttInstall.d.ts +147 -0
  273. package/dist/stt/sttInstall.d.ts.map +1 -0
  274. package/dist/stt/sttInstall.js +491 -0
  275. package/dist/stt/sttInstall.js.map +1 -0
  276. package/dist/stt/sttInstallEntry.d.ts +2 -0
  277. package/dist/stt/sttInstallEntry.d.ts.map +1 -0
  278. package/dist/stt/sttInstallEntry.js +31 -0
  279. package/dist/stt/sttInstallEntry.js.map +1 -0
  280. package/dist/stt/sttInstallReporter.d.ts +45 -0
  281. package/dist/stt/sttInstallReporter.d.ts.map +1 -0
  282. package/dist/stt/sttInstallReporter.js +57 -0
  283. package/dist/stt/sttInstallReporter.js.map +1 -0
  284. package/dist/stt/sttRuntime.d.ts +35 -0
  285. package/dist/stt/sttRuntime.d.ts.map +1 -0
  286. package/dist/stt/sttRuntime.js +73 -0
  287. package/dist/stt/sttRuntime.js.map +1 -0
  288. package/dist/stt/sttScreenPlan.d.ts +193 -0
  289. package/dist/stt/sttScreenPlan.d.ts.map +1 -0
  290. package/dist/stt/sttScreenPlan.js +541 -0
  291. package/dist/stt/sttScreenPlan.js.map +1 -0
  292. package/dist/stt/sttSettings.d.ts +201 -0
  293. package/dist/stt/sttSettings.d.ts.map +1 -0
  294. package/dist/stt/sttSettings.js +387 -0
  295. package/dist/stt/sttSettings.js.map +1 -0
  296. package/dist/stt/sttSidecarOwner.d.ts +115 -0
  297. package/dist/stt/sttSidecarOwner.d.ts.map +1 -0
  298. package/dist/stt/sttSidecarOwner.js +475 -0
  299. package/dist/stt/sttSidecarOwner.js.map +1 -0
  300. package/dist/stt/transcribeChain.d.ts +36 -0
  301. package/dist/stt/transcribeChain.d.ts.map +1 -0
  302. package/dist/stt/transcribeChain.js +42 -0
  303. package/dist/stt/transcribeChain.js.map +1 -0
  304. package/dist/types.d.ts +77 -4
  305. package/dist/types.d.ts.map +1 -1
  306. package/dist/utils/adapterSwitchSessionIds.d.ts +32 -0
  307. package/dist/utils/adapterSwitchSessionIds.d.ts.map +1 -0
  308. package/dist/utils/adapterSwitchSessionIds.js +44 -0
  309. package/dist/utils/adapterSwitchSessionIds.js.map +1 -0
  310. package/dist/utils/backendSwitchPlan.d.ts +63 -0
  311. package/dist/utils/backendSwitchPlan.d.ts.map +1 -0
  312. package/dist/utils/backendSwitchPlan.js +73 -0
  313. package/dist/utils/backendSwitchPlan.js.map +1 -0
  314. package/dist/utils/claudeAccountPickerPlan.d.ts +12 -1
  315. package/dist/utils/claudeAccountPickerPlan.d.ts.map +1 -1
  316. package/dist/utils/claudeAccountPickerPlan.js +20 -1
  317. package/dist/utils/claudeAccountPickerPlan.js.map +1 -1
  318. package/dist/utils/claudeProfiles.d.ts +7 -0
  319. package/dist/utils/claudeProfiles.d.ts.map +1 -1
  320. package/dist/utils/claudeProfiles.js +19 -0
  321. package/dist/utils/claudeProfiles.js.map +1 -1
  322. package/dist/utils/claudeTranscriptContent.d.ts +24 -0
  323. package/dist/utils/claudeTranscriptContent.d.ts.map +1 -0
  324. package/dist/utils/claudeTranscriptContent.js +107 -0
  325. package/dist/utils/claudeTranscriptContent.js.map +1 -0
  326. package/dist/utils/claudeUsage.d.ts +47 -8
  327. package/dist/utils/claudeUsage.d.ts.map +1 -1
  328. package/dist/utils/claudeUsage.js +76 -14
  329. package/dist/utils/claudeUsage.js.map +1 -1
  330. package/dist/utils/claudeUsageRefresher.d.ts +8 -1
  331. package/dist/utils/claudeUsageRefresher.d.ts.map +1 -1
  332. package/dist/utils/claudeUsageRefresher.js +9 -4
  333. package/dist/utils/claudeUsageRefresher.js.map +1 -1
  334. package/dist/utils/effortPickerPlan.d.ts +54 -0
  335. package/dist/utils/effortPickerPlan.d.ts.map +1 -0
  336. package/dist/utils/effortPickerPlan.js +56 -0
  337. package/dist/utils/effortPickerPlan.js.map +1 -0
  338. package/dist/utils/ensureSessionPlan.d.ts +20 -4
  339. package/dist/utils/ensureSessionPlan.d.ts.map +1 -1
  340. package/dist/utils/ensureSessionPlan.js +17 -4
  341. package/dist/utils/ensureSessionPlan.js.map +1 -1
  342. package/dist/utils/fallbackBridge.d.ts +6 -2
  343. package/dist/utils/fallbackBridge.d.ts.map +1 -1
  344. package/dist/utils/fallbackBridge.js +10 -3
  345. package/dist/utils/fallbackBridge.js.map +1 -1
  346. package/dist/utils/fallbackChain.d.ts +36 -0
  347. package/dist/utils/fallbackChain.d.ts.map +1 -1
  348. package/dist/utils/fallbackChain.js +65 -1
  349. package/dist/utils/fallbackChain.js.map +1 -1
  350. package/dist/utils/fallbackSwitchNotice.d.ts +41 -0
  351. package/dist/utils/fallbackSwitchNotice.d.ts.map +1 -0
  352. package/dist/utils/fallbackSwitchNotice.js +75 -0
  353. package/dist/utils/fallbackSwitchNotice.js.map +1 -0
  354. package/dist/utils/fileSendService.d.ts +33 -10
  355. package/dist/utils/fileSendService.d.ts.map +1 -1
  356. package/dist/utils/fileSendService.js +78 -27
  357. package/dist/utils/fileSendService.js.map +1 -1
  358. package/dist/utils/jsonStreamHost.d.ts +39 -0
  359. package/dist/utils/jsonStreamHost.d.ts.map +1 -1
  360. package/dist/utils/jsonStreamHost.js +60 -1
  361. package/dist/utils/jsonStreamHost.js.map +1 -1
  362. package/dist/utils/limitEpisodeRecovery.d.ts +16 -2
  363. package/dist/utils/limitEpisodeRecovery.d.ts.map +1 -1
  364. package/dist/utils/limitEpisodeRecovery.js +44 -3
  365. package/dist/utils/limitEpisodeRecovery.js.map +1 -1
  366. package/dist/utils/limitSettings.d.ts +25 -0
  367. package/dist/utils/limitSettings.d.ts.map +1 -0
  368. package/dist/utils/limitSettings.js +31 -0
  369. package/dist/utils/limitSettings.js.map +1 -0
  370. package/dist/utils/limitsBoardPlan.d.ts +52 -0
  371. package/dist/utils/limitsBoardPlan.d.ts.map +1 -0
  372. package/dist/utils/limitsBoardPlan.js +93 -0
  373. package/dist/utils/limitsBoardPlan.js.map +1 -0
  374. package/dist/utils/openCodeCompactPlugin.d.ts +11 -3
  375. package/dist/utils/openCodeCompactPlugin.d.ts.map +1 -1
  376. package/dist/utils/openCodeCompactPlugin.js +37 -5
  377. package/dist/utils/openCodeCompactPlugin.js.map +1 -1
  378. package/dist/utils/openCodeUsage.d.ts +93 -0
  379. package/dist/utils/openCodeUsage.d.ts.map +1 -0
  380. package/dist/utils/openCodeUsage.js +248 -0
  381. package/dist/utils/openCodeUsage.js.map +1 -0
  382. package/dist/utils/operatorSwitchPlan.d.ts +61 -0
  383. package/dist/utils/operatorSwitchPlan.d.ts.map +1 -0
  384. package/dist/utils/operatorSwitchPlan.js +32 -0
  385. package/dist/utils/operatorSwitchPlan.js.map +1 -0
  386. package/dist/utils/promptDelivery.d.ts +40 -0
  387. package/dist/utils/promptDelivery.d.ts.map +1 -1
  388. package/dist/utils/promptDelivery.js +31 -0
  389. package/dist/utils/promptDelivery.js.map +1 -1
  390. package/dist/utils/recvPreviewRedaction.d.ts +14 -4
  391. package/dist/utils/recvPreviewRedaction.d.ts.map +1 -1
  392. package/dist/utils/recvPreviewRedaction.js +19 -7
  393. package/dist/utils/recvPreviewRedaction.js.map +1 -1
  394. package/dist/utils/startupReadiness.d.ts +3 -3
  395. package/dist/utils/startupReadiness.d.ts.map +1 -1
  396. package/dist/utils/startupReadiness.js +2 -2
  397. package/dist/utils/startupReadiness.js.map +1 -1
  398. package/dist/utils/threadStatusReport.d.ts +3 -1
  399. package/dist/utils/threadStatusReport.d.ts.map +1 -1
  400. package/dist/utils/threadStatusReport.js +4 -3
  401. package/dist/utils/threadStatusReport.js.map +1 -1
  402. package/dist/utils/timezone.d.ts +23 -0
  403. package/dist/utils/timezone.d.ts.map +1 -1
  404. package/dist/utils/timezone.js +38 -0
  405. package/dist/utils/timezone.js.map +1 -1
  406. package/dist/utils/transcribeAudio.d.ts +25 -12
  407. package/dist/utils/transcribeAudio.d.ts.map +1 -1
  408. package/dist/utils/transcribeAudio.js +39 -21
  409. package/dist/utils/transcribeAudio.js.map +1 -1
  410. package/dist/utils/usageRefreshBudget.d.ts +9 -0
  411. package/dist/utils/usageRefreshBudget.d.ts.map +1 -0
  412. package/dist/utils/usageRefreshBudget.js +27 -0
  413. package/dist/utils/usageRefreshBudget.js.map +1 -0
  414. package/examples/.env.example +13 -9
  415. package/examples/docker-compose.yml +20 -17
  416. package/package.json +4 -1
  417. package/stt/gigaam_sidecar.py +800 -0
@@ -0,0 +1,36 @@
1
+ import { type TranscribeResult, type TranscribeRetryInfo } from '../utils/transcribeAudio';
2
+ import { type ResolvedSttEngine } from './sttSettings';
3
+ /**
4
+ * @description Walk the engine chain for one voice note. An engine that is not
5
+ * the last is tried ONCE: any failure (a refused connection, a timeout, a 5xx,
6
+ * a spawn that did not come up) moves straight on to the next engine, with no
7
+ * retry pause. Only the LAST engine keeps the retry schedule and its notices,
8
+ * since nothing is left to fall back to.
9
+ *
10
+ * An empty transcript (or an empty file) is DEFINITIVE and ends the walk: Groq
11
+ * hallucinates on silence, so another engine's text would not be more true.
12
+ */
13
+ /** @description A non-last engine failed and the next one is about to be tried. */
14
+ export interface TranscribeFallbackInfo {
15
+ /** Name of the engine that failed. */
16
+ from: string;
17
+ /** Name of the engine tried next. */
18
+ to: string;
19
+ error: string;
20
+ }
21
+ export interface TranscribeWithEnginesOptions {
22
+ /** The voice's length in seconds (Telegram's `voice.duration`) — scales every engine's timeout. */
23
+ durationSeconds?: number;
24
+ /** ISO-639-1 hint sent to every engine; `null` → auto-detect. */
25
+ language: string | null;
26
+ /** Pause before each retry of the LAST engine; defaults to the schedule of `transcribeAudio`. */
27
+ retryDelaysMs?: readonly number[];
28
+ onRetry?: (info: TranscribeRetryInfo) => void;
29
+ onFallback?: (info: TranscribeFallbackInfo) => void;
30
+ }
31
+ /** @description The outcome, plus the name of the engine that produced it (the last one tried on failure). */
32
+ export type TranscribeChainResult = TranscribeResult & {
33
+ engine?: string;
34
+ };
35
+ export declare function transcribeWithEngines(filePath: string, engines: readonly ResolvedSttEngine[], options: TranscribeWithEnginesOptions): Promise<TranscribeChainResult>;
36
+ //# sourceMappingURL=transcribeChain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcribeChain.d.ts","sourceRoot":"","sources":["../../src/stt/transcribeChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAEzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3E;;;;;;;;;GASG;AAEH,mFAAmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,4BAA4B;IAC3C,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iGAAiG;IACjG,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACrD;AAED,8GAA8G;AAC9G,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAK3E,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transcribeWithEngines = transcribeWithEngines;
4
+ const transcribeAudio_1 = require("../utils/transcribeAudio");
5
+ const sttSettings_1 = require("./sttSettings");
6
+ /** No retries: a non-last engine is tried once. */
7
+ const noRetryDelaysMs = [];
8
+ async function transcribeWithEngines(filePath, engines, options) {
9
+ let lastFailure = { ok: false, error: 'no speech engine available' };
10
+ for (const [index, engine] of engines.entries()) {
11
+ const nextEngine = engines[index + 1];
12
+ const result = await transcribeWithEngine(filePath, engine, nextEngine === undefined, options);
13
+ if (result.ok)
14
+ return { ...result, engine: engine.name };
15
+ lastFailure = { ...result, engine: engine.name };
16
+ if (result.isDefinitive || nextEngine === undefined)
17
+ break;
18
+ options.onFallback?.({ from: engine.name, to: nextEngine.name, error: result.error });
19
+ }
20
+ return lastFailure;
21
+ }
22
+ async function transcribeWithEngine(filePath, engine, isLast, options) {
23
+ const getEndpoint = async () => {
24
+ const endpoint = await engine.getEndpoint();
25
+ return options.language ? { ...endpoint, language: options.language } : endpoint;
26
+ };
27
+ let endpoint;
28
+ try {
29
+ endpoint = await getEndpoint();
30
+ }
31
+ catch (e) {
32
+ return { ok: false, error: e instanceof Error ? e.message : 'speech engine could not be started' };
33
+ }
34
+ return (0, transcribeAudio_1.transcribeAudio)(filePath, endpoint, {
35
+ timeoutMs: (0, sttSettings_1.getEngineTimeoutMs)(engine.timeout, options.durationSeconds),
36
+ retryDelaysMs: isLast ? options.retryDelaysMs : noRetryDelaysMs,
37
+ onRetry: options.onRetry,
38
+ // A retry asks the engine again: the local one may have crashed or idled out and come back on another port.
39
+ refreshEndpoint: getEndpoint,
40
+ });
41
+ }
42
+ //# sourceMappingURL=transcribeChain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcribeChain.js","sourceRoot":"","sources":["../../src/stt/transcribeChain.ts"],"names":[],"mappings":";;AA6CA,sDAeC;AA5DD,8DAKkC;AAClC,+CAA2E;AAoC3E,mDAAmD;AACnD,MAAM,eAAe,GAAsB,EAAE,CAAC;AAEvC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,OAAqC,EACrC,OAAqC;IAErC,IAAI,WAAW,GAA0B,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;IAC5F,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,KAAK,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/F,IAAI,MAAM,CAAC,EAAE;YAAE,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACzD,WAAW,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,YAAY,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM;QAC3D,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAgB,EAChB,MAAyB,EACzB,MAAe,EACf,OAAqC;IAErC,MAAM,WAAW,GAAG,KAAK,IAAoC,EAAE;QAC7D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnF,CAAC,CAAC;IACF,IAAI,QAA+B,CAAC;IACpC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC,EAAE,CAAC;IACrG,CAAC;IACD,OAAO,IAAA,iCAAe,EAAC,QAAQ,EAAE,QAAQ,EAAE;QACzC,SAAS,EAAE,IAAA,gCAAkB,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC;QACtE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe;QAC/D,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,4GAA4G;QAC5G,eAAe,EAAE,WAAW;KAC7B,CAAC,CAAC;AACL,CAAC"}
package/dist/types.d.ts CHANGED
@@ -140,6 +140,13 @@ export interface ResumeSessionOptions {
140
140
  * quiet, otherwise every hot rebuild spams every active topic.
141
141
  */
142
142
  isWithRecentContext?: boolean;
143
+ /**
144
+ * The bot saw this session take a turn (its seen watermark names it). Set by the wake of a sleeping conversation:
145
+ * a Claude transcript that is then missing was removed (Claude Code's cleanup of old conversations), so the resume
146
+ * fails like a refused one and the caller's recovery tells the topic; without it a missing transcript is a session
147
+ * that never took a turn and its id is started silently.
148
+ */
149
+ isConversationRecorded?: boolean;
143
150
  }
144
151
  /**
145
152
  * @description One tappable option of an interactive agent question
@@ -217,9 +224,19 @@ export interface PendingQuestionState {
217
224
  * restart) — so the bot posts a pinned notice instead of arming a timer.
218
225
  */
219
226
  export interface AgentApiErrorClass {
220
- kind: 'transient' | 'usageLimit' | 'auth';
227
+ /**
228
+ * `conversationTail` — the provider refused a request whose history ended on the MODEL's turn (Gemini through
229
+ * OpenCode v1's agent loop): a user turn fixes it, so it gets one immediate "continue".
230
+ */
231
+ kind: 'transient' | 'usageLimit' | 'auth' | 'conversationTail';
221
232
  /** Epoch ms when a usage window resets, if the error text exposed one. */
222
233
  resetAt?: number;
234
+ /**
235
+ * A usage-limit wording that does not by itself prove the window is used up — Anthropic's "This request would
236
+ * exceed your account's rate limit" comes at 0–84 % shown usage too. The bot probes once with a short retry and
237
+ * waits for the reset only when it repeats right after the probe or the account's usage reading is at 100 %.
238
+ */
239
+ isUnconfirmed?: boolean;
223
240
  }
224
241
  /**
225
242
  * @description The bot's per-thread record of an armed auto-retry after a
@@ -249,6 +266,11 @@ export interface ApiRetryState {
249
266
  * continues where it is. Persisted, so a restart keeps the target.
250
267
  */
251
268
  resumeOn?: FallbackChainEntry;
269
+ /**
270
+ * The short probe retry of an UNCONFIRMED usage limit ({@link AgentApiErrorClass.isUnconfirmed}). Persisted, so the
271
+ * same error right after a probe that a restart re-armed still confirms the limit instead of being probed again.
272
+ */
273
+ isLimitProbe?: boolean;
252
274
  }
253
275
  /**
254
276
  * @description IDENTITY of a json-stream session's `stdout.jsonl` — its byte size
@@ -560,6 +582,28 @@ export type CompactionResult = {
560
582
  ok: false;
561
583
  error: string;
562
584
  };
585
+ /**
586
+ * @name EffortSetOutcome
587
+ * @description What {@link AgentAdapter.setEffort} did with a pick, so a caller never guesses it from state:
588
+ * - `applied` — the thread has the pick and nothing is left to do (a live session runs it; OpenCode applies it per
589
+ * prompt and a session started later seeds it);
590
+ * - `stored` — the pick is saved but cannot apply yet (no agent is running); `notice` says when it will;
591
+ * - `refused` — nothing was changed; `reason` says why (an unknown level, a model without levels).
592
+ */
593
+ export type EffortSetOutcome = {
594
+ status: 'applied';
595
+ } | {
596
+ status: 'stored';
597
+ notice: string;
598
+ } | {
599
+ status: 'refused';
600
+ reason: string;
601
+ };
602
+ /** @name EffortState @description See {@link AgentAdapter.getEffortState}. */
603
+ export interface EffortState {
604
+ running: string | null;
605
+ nextStart: string;
606
+ }
563
607
  /**
564
608
  * @description Unified interface for AI agent backends (Claude CLI, OpenCode, etc.).
565
609
  * Each adapter manages sessions keyed by `SessionKey` and communicates via EventEmitter.
@@ -578,6 +622,7 @@ export type CompactionResult = {
578
622
  * - 'suspended' (key: SessionKey) — `suspendSession` completed: the process is gone, the session stays resumable (the idle stop; lifecycle plan L3)
579
623
  * - 'turnEnded' (key: SessionKey) — a turn's terminal `result` was processed (json-stream); the per-turn lifecycle stops the process on it (L5)
580
624
  * - 'contextCompacted' (key: SessionKey, trigger: string | null) — a compaction COMPLETED (json-stream): one the bot issued, or the CLI's own overflow compaction; the conversation's context was replaced by a summary (Jira prompt context C6)
625
+ * - 'conversationLost' (key: SessionKey) — a live re-spawn (an account, model or effort change; json-stream) found the conversation's transcript gone and began a NEW conversation under the same id; the bot tells the topic and resets what the conversation was told
581
626
  * - 'closed' (key: SessionKey) — session died on its own (process exit, SSE giveup, server crash)
582
627
  * - 'error' (key: SessionKey, error: Error) — asynchronous failure AFTER successful startSession resolution
583
628
  *
@@ -916,8 +961,8 @@ export interface AgentAdapter extends EventEmitter {
916
961
  getAvailableModels?(): Promise<string[]>;
917
962
  /**
918
963
  * Set the reasoning-effort level for this thread. Same convention as
919
- * {@link setModel}: returns `null` on success, a short user-facing
920
- * message on failure / notice (e.g. "level X is not valid for model Y").
964
+ * {@link setModel}, but its result is typed ({@link EffortSetOutcome}): applied, stored for the next start, or
965
+ * refused with a short user-facing reason (e.g. "level X is not valid for model Y").
921
966
  *
922
967
  * Per-backend semantics:
923
968
  *
@@ -928,13 +973,41 @@ export interface AgentAdapter extends EventEmitter {
928
973
  * adapter's prompt-send path, sent as `body.variant` alongside the model
929
974
  * override (no separate request, no env configuration).
930
975
  */
931
- setEffort?(key: SessionKey, level: string): Promise<string | null>;
976
+ setEffort?(key: SessionKey, level: string): Promise<EffortSetOutcome>;
932
977
  /**
933
978
  * Currently selected reasoning-effort level for this thread, or `null`
934
979
  * if none has been chosen (adapter default in effect). Mirrors
935
980
  * {@link getCurrentModel}'s sync read pattern.
936
981
  */
937
982
  getEffort?(key: SessionKey): string | null;
983
+ /**
984
+ * The thread's effort as it stands now, for display: the level the LIVE session uses (`running`: `null` with no
985
+ * live session, or when it cannot be known — a tmux TUI adopted after a restart), and the level the thread's next
986
+ * session start will use (`nextStart`: its own pick, else the instance default; OpenCode: rounded to the model's
987
+ * variants when they are known). The two differ when the default changed under a running session — a change
988
+ * applies from the next start, never to a running one. A backend without the method has no effort concept, and
989
+ * `null` says the same of one thread: its model is KNOWN to offer no levels (OpenCode: no variants), so a start
990
+ * sends none and there is nothing to show — a model not known yet keeps answering with the default.
991
+ */
992
+ getEffortState?(key: SessionKey): EffortState | null;
993
+ /**
994
+ * The `provider/model` the thread's NEXT session will run on this backend — its saved `/model` pick, else the
995
+ * server's default — or `null` when neither is known (OpenCode only; the question before a switch to it names it).
996
+ */
997
+ getProspectiveModelLabel?(key: SessionKey): Promise<string | null>;
998
+ /**
999
+ * The level this thread picked itself with `/effort`, or `null` when it follows the instance default
1000
+ * (`settings.json`). Unlike {@link getEffort} it is never a derived default — OpenCode's `getEffort` answers
1001
+ * with the clamped default of a live session — so `/effort` can tell "set for this topic" from "as in General".
1002
+ */
1003
+ getOwnEffort?(key: SessionKey): string | null;
1004
+ /**
1005
+ * Drop the thread's own `/effort` pick so it follows the instance default again. A live session is brought to
1006
+ * that default the way a pick would be (Claude json-stream: a `--resume` re-spawn when the level differs;
1007
+ * tmux Claude: the `/effort` keystroke; OpenCode: the per-prompt variant); a stopped one reads it at its next
1008
+ * start. It cannot be refused: whatever the thread had, it follows the default after it.
1009
+ */
1010
+ clearEffort?(key: SessionKey): Promise<void>;
938
1011
  /**
939
1012
  * Levels valid for the thread's current backend + model. Returns an
940
1013
  * empty array when the adapter has no opinion on effort (e.g. an OpenCode
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;AAEtF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,oIAAoI;IACpI,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8EAA8E;IAC9E,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IAC7B,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;IAC1C,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjC,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,CAAC;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,0BAA0B,CAAC;AAEjF;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,WAAW,EAAE,oBAAoB,CAAC;IAClC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3E;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IACrC;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3C;;;;;;OAMG;IACH,qBAAqB,IAAI,UAAU,EAAE,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,KAAK,EAAE,aAAa,CAAC;IACrB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb;wCACoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;;;OAOG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACjE;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAIvB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjG,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IAEnC;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IAExC;;;;OAIG;IACH,cAAc,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IAEvC;;;;;;;;;;;;;;;OAeG;IACH,uBAAuB,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IAEnD;;;;;;;;OAQG;IACH,cAAc,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IAE1C;;;;;;;OAOG;IACH,sBAAsB,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IAElD;;;;OAIG;IACH,wBAAwB,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IAEpD;;;;;OAKG;IACH,qCAAqC,CAAC,IAAI,IAAI,CAAC;IAE/C;;;;;;OAMG;IACH,sCAAsC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;;;;OAOG;IACH,yCAAyC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAI7E,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5E,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAIlD;;;;;;;;OAQG;IACH,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACvE;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEvE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAElF;;;;;;;;OAQG;IACH,4BAA4B,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAE5C;;;;;;;OAOG;IACH,0BAA0B,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAErE;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElH;;;;;;;;OAQG;IACH,WAAW,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEtD;;;;;;;OAOG;IACH,sBAAsB,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D;;;;;;;;;OASG;IACH,cAAc,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAE3G;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,CACf,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,aAAa,GAAG,IAAI,GAC9B,OAAO,CAAC,aAAa,CAAC,CAAC;IAI1B;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE9F;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEjF;;;;OAIG;IACH,wBAAwB,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE7E;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpE,eAAe,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;IACjD,wCAAwC;IACxC,kBAAkB,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAIzC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnE;;;;OAIG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;IAE3C;;;;;;;;OAQG;IACH,wBAAwB,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAI9D,wDAAwD;IACxD,cAAc,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC;IAE5D;;;;;;;;;OASG;IACH,cAAc,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IAEvC;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAI5D;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;;;;OASG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAIrC,SAAS,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5D,OAAO,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IAEnC;;;;;;;;;OASG;IACH,oBAAoB,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD;;;;;OAKG;IACH,iBAAiB,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IAE7C;;;;;;OAMG;IACH,mBAAmB,CAAC,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IAE/C,aAAa,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAChE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @description Which session ids a thread keeps when its adapter changes (`bot.ts` `switchThreadAdapter`). The live
3
+ * row holds the ids of the backend FAMILY the thread runs on (both Claude backends share one id; OpenCode has its
4
+ * own), and one PARKED slot (`state.parkedSessions`) holds the id of the family the thread last LEFT, so a switch
5
+ * back — a plain `/claude` ↔ `/opencode`, after a usage-limit fallback switch too — resumes the conversation it
6
+ * left instead of starting a new one.
7
+ *
8
+ * Both halves happen in the same step: the family being left is parked AND the family being entered is restored from
9
+ * the slot. (Doing one or the other loses a conversation: a round trip Claude → OpenCode → Claude parks the
10
+ * OpenCode id over the parked Claude one, and the thread comes back to a fresh Claude conversation.)
11
+ *
12
+ * Pure: the caller reads the thread's row and slot and writes the result.
13
+ */
14
+ import type { ParkedSession } from '../state';
15
+ /** The ids the thread's row holds, per family. */
16
+ export interface SessionIds {
17
+ claudeSessionId?: string;
18
+ opencodeSessionId?: string;
19
+ }
20
+ /** What the thread's row and the parked slot become: `parked` is `undefined` to leave the slot as it is. */
21
+ export interface AdapterSwitchSessionIds {
22
+ ids: SessionIds;
23
+ parked: ParkedSession | null | undefined;
24
+ }
25
+ export declare function getAdapterSwitchSessionIds(input: {
26
+ previousName: string | undefined;
27
+ nextName: string;
28
+ agent: SessionIds;
29
+ parked: ParkedSession | null;
30
+ parkedAt: string;
31
+ }): AdapterSwitchSessionIds;
32
+ //# sourceMappingURL=adapterSwitchSessionIds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapterSwitchSessionIds.d.ts","sourceRoot":"","sources":["../../src/utils/adapterSwitchSessionIds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,4GAA4G;AAC5G,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1C;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,uBAAuB,CAwB1B"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * @description Which session ids a thread keeps when its adapter changes (`bot.ts` `switchThreadAdapter`). The live
4
+ * row holds the ids of the backend FAMILY the thread runs on (both Claude backends share one id; OpenCode has its
5
+ * own), and one PARKED slot (`state.parkedSessions`) holds the id of the family the thread last LEFT, so a switch
6
+ * back — a plain `/claude` ↔ `/opencode`, after a usage-limit fallback switch too — resumes the conversation it
7
+ * left instead of starting a new one.
8
+ *
9
+ * Both halves happen in the same step: the family being left is parked AND the family being entered is restored from
10
+ * the slot. (Doing one or the other loses a conversation: a round trip Claude → OpenCode → Claude parks the
11
+ * OpenCode id over the parked Claude one, and the thread comes back to a fresh Claude conversation.)
12
+ *
13
+ * Pure: the caller reads the thread's row and slot and writes the result.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.getAdapterSwitchSessionIds = getAdapterSwitchSessionIds;
17
+ const adapterNames_1 = require("../adapters/adapterNames");
18
+ function getAdapterSwitchSessionIds(input) {
19
+ const { previousName, nextName, agent, parked, parkedAt } = input;
20
+ const ids = {};
21
+ // Both Claude backends share the on-disk transcript, so the id stays across tmux-scrape ↔ json-stream.
22
+ if ((0, adapterNames_1.checkIsClaudeBackend)(nextName) && agent.claudeSessionId)
23
+ ids.claudeSessionId = agent.claudeSessionId;
24
+ if (nextName === adapterNames_1.openCodeAdapterName && agent.opencodeSessionId)
25
+ ids.opencodeSessionId = agent.opencodeSessionId;
26
+ let leftBehind = null;
27
+ if (previousName && (0, adapterNames_1.checkIsClaudeBackend)(previousName) && !(0, adapterNames_1.checkIsClaudeBackend)(nextName) && agent.claudeSessionId) {
28
+ leftBehind = { adapterName: previousName, claudeSessionId: agent.claudeSessionId, parkedAt };
29
+ }
30
+ else if (previousName === adapterNames_1.openCodeAdapterName && nextName !== adapterNames_1.openCodeAdapterName && agent.opencodeSessionId) {
31
+ leftBehind = { adapterName: previousName, opencodeSessionId: agent.opencodeSessionId, parkedAt };
32
+ }
33
+ let isRestored = false;
34
+ if (parked && (0, adapterNames_1.checkIsClaudeBackend)(nextName) && !ids.claudeSessionId && parked.claudeSessionId) {
35
+ ids.claudeSessionId = parked.claudeSessionId;
36
+ isRestored = true;
37
+ }
38
+ else if (parked && nextName === adapterNames_1.openCodeAdapterName && !ids.opencodeSessionId && parked.opencodeSessionId) {
39
+ ids.opencodeSessionId = parked.opencodeSessionId;
40
+ isRestored = true;
41
+ }
42
+ return { ids, parked: leftBehind ?? (isRestored ? null : undefined) };
43
+ }
44
+ //# sourceMappingURL=adapterSwitchSessionIds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapterSwitchSessionIds.js","sourceRoot":"","sources":["../../src/utils/adapterSwitchSessionIds.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAiBH,gEA8BC;AA7CD,2DAAqF;AAerF,SAAgB,0BAA0B,CAAC,KAM1C;IACC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAClE,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,uGAAuG;IACvG,IAAI,IAAA,mCAAoB,EAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,eAAe;QAAE,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IACzG,IAAI,QAAQ,KAAK,kCAAmB,IAAI,KAAK,CAAC,iBAAiB;QAAE,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAEjH,IAAI,UAAU,GAAyB,IAAI,CAAC;IAC5C,IAAI,YAAY,IAAI,IAAA,mCAAoB,EAAC,YAAY,CAAC,IAAI,CAAC,IAAA,mCAAoB,EAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QACnH,UAAU,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC/F,CAAC;SAAM,IAAI,YAAY,KAAK,kCAAmB,IAAI,QAAQ,KAAK,kCAAmB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC/G,UAAU,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC;IACnG,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,MAAM,IAAI,IAAA,mCAAoB,EAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC/F,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC7C,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;SAAM,IAAI,MAAM,IAAI,QAAQ,KAAK,kCAAmB,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC5G,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACjD,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;AACxE,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @description The pure side of a MANUAL switch of a topic between the two agent backends, Claude and OpenCode
3
+ * (`/claude` and `/opencode`, a Claude account picked in `/accounts` on an OpenCode topic, the natural-language
4
+ * "start …" phrases). A switch that has a conversation to hand over asks once first — the operator is told the
5
+ * context is handed over in compacted form — and a topic with nothing to carry switches at once.
6
+ *
7
+ * This module decides WHEN to ask, words the question and owns the two `callback_data` of its one-shot keyboard.
8
+ * The question and the buttons are `connectors/telegram/commands/backendSwitch.ts`; the switch itself is `bot.ts`
9
+ * (`executeBackendSwitch`, the same cross-backend move the usage-limit switch makes).
10
+ */
11
+ /** The two agent families a topic can hand a conversation between. */
12
+ export type BackendFamily = 'claude' | 'opencode';
13
+ /**
14
+ * Where a manual switch goes. A Claude target names an account: `isProfilePicked` is whether the operator PICKED it
15
+ * (an account tap, `/accounts use`) — the switch then records it as the topic's own pick — or it is only the account
16
+ * the topic already follows (`/claude`), which the switch leaves to General; `model` is the CLI alias the switch pins
17
+ * (`null`: the session's own model). An OpenCode target carries `modelLabel`, the model the question names (`null` when
18
+ * the server's default cannot be read), and `model`, the model the operator PICKED — the switch pins it after the move;
19
+ * `null` leaves the model alone, so a topic that follows the server's default keeps following it.
20
+ */
21
+ export type BackendSwitchTarget = {
22
+ backend: 'claude';
23
+ profile: string;
24
+ isProfilePicked: boolean;
25
+ model: string | null;
26
+ } | {
27
+ backend: 'opencode';
28
+ modelLabel: string | null;
29
+ model: {
30
+ providerId: string;
31
+ modelId: string;
32
+ } | null;
33
+ };
34
+ /** The family an adapter name belongs to; `null` for a shell or an unknown name (nothing to hand over from or to). */
35
+ export declare function getBackendFamily(adapterName: string | undefined): BackendFamily | null;
36
+ /**
37
+ * @description Whether a switch to `target` must ask first: the topic runs on the OTHER backend and that backend
38
+ * holds a conversation to hand over. Any other switch — the same family (a flip between the Claude backends, a
39
+ * plain restart), a topic that runs nothing or only a shell, a fresh topic — goes ahead without a question.
40
+ */
41
+ export declare function checkNeedsBackendSwitchConfirmation(input: {
42
+ currentAdapterName: string | undefined;
43
+ targetBackend: BackendFamily;
44
+ hasConversation: boolean;
45
+ }): boolean;
46
+ /** The model a switch to `target` pins once the target runs: a Claude alias, an OpenCode `provider/model` label; `null` pins nothing. */
47
+ export declare function getBackendSwitchModelToPin(target: BackendSwitchTarget): string | null;
48
+ /** The one-shot keyboard of the question: continue / cancel. Constant data — the question is identified by its message. */
49
+ export declare const backendSwitchContinueCallback = "bsw_ok";
50
+ export declare const backendSwitchCancelCallback = "bsw_no";
51
+ export declare const backendSwitchCallbackRe: RegExp;
52
+ /** A family by name: `Claude` / `OpenCode`. */
53
+ export declare function formatBackendFamily(family: BackendFamily): string;
54
+ /** The target as the question names it: `Claude «work»`, `Claude «work» (sonnet)`, `OpenCode openai/gpt-5`, or `OpenCode` when its model is unknown. */
55
+ export declare function formatBackendSwitchTarget(target: BackendSwitchTarget): string;
56
+ /** The target as the context bridge names it, the way a chain rung is labelled: `Claude · work`, `OpenCode · openai/gpt-5`. */
57
+ export declare function formatBackendSwitchBridgeLabel(target: BackendSwitchTarget): string;
58
+ /** The question: where the topic goes from and to, then the shared line about the hand-over. */
59
+ export declare function buildBackendSwitchQuestion(input: {
60
+ from: BackendFamily;
61
+ target: BackendSwitchTarget;
62
+ }): string;
63
+ //# sourceMappingURL=backendSwitchPlan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backendSwitchPlan.d.ts","sourceRoot":"","sources":["../../src/utils/backendSwitchPlan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,sEAAsE;AACtE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACtF;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC;AAE9G,sHAAsH;AACtH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,CAItF;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAGV;AAED,yIAAyI;AACzI,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAGrF;AAED,2HAA2H;AAC3H,eAAO,MAAM,6BAA6B,WAAW,CAAC;AACtD,eAAO,MAAM,2BAA2B,WAAW,CAAC;AACpD,eAAO,MAAM,uBAAuB,QAAkB,CAAC;AAEvD,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEjE;AAED,wJAAwJ;AACxJ,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAM7E;AAED,+HAA+H;AAC/H,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAGlF;AAED,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAAG,MAAM,CAG9G"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ /**
3
+ * @description The pure side of a MANUAL switch of a topic between the two agent backends, Claude and OpenCode
4
+ * (`/claude` and `/opencode`, a Claude account picked in `/accounts` on an OpenCode topic, the natural-language
5
+ * "start …" phrases). A switch that has a conversation to hand over asks once first — the operator is told the
6
+ * context is handed over in compacted form — and a topic with nothing to carry switches at once.
7
+ *
8
+ * This module decides WHEN to ask, words the question and owns the two `callback_data` of its one-shot keyboard.
9
+ * The question and the buttons are `connectors/telegram/commands/backendSwitch.ts`; the switch itself is `bot.ts`
10
+ * (`executeBackendSwitch`, the same cross-backend move the usage-limit switch makes).
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.backendSwitchCallbackRe = exports.backendSwitchCancelCallback = exports.backendSwitchContinueCallback = void 0;
14
+ exports.getBackendFamily = getBackendFamily;
15
+ exports.checkNeedsBackendSwitchConfirmation = checkNeedsBackendSwitchConfirmation;
16
+ exports.getBackendSwitchModelToPin = getBackendSwitchModelToPin;
17
+ exports.formatBackendFamily = formatBackendFamily;
18
+ exports.formatBackendSwitchTarget = formatBackendSwitchTarget;
19
+ exports.formatBackendSwitchBridgeLabel = formatBackendSwitchBridgeLabel;
20
+ exports.buildBackendSwitchQuestion = buildBackendSwitchQuestion;
21
+ const i18n_1 = require("../i18n");
22
+ const adapterNames_1 = require("../adapters/adapterNames");
23
+ /** The family an adapter name belongs to; `null` for a shell or an unknown name (nothing to hand over from or to). */
24
+ function getBackendFamily(adapterName) {
25
+ if (adapterName === undefined)
26
+ return null;
27
+ if ((0, adapterNames_1.checkIsClaudeBackend)(adapterName))
28
+ return 'claude';
29
+ return adapterName === adapterNames_1.openCodeAdapterName ? 'opencode' : null;
30
+ }
31
+ /**
32
+ * @description Whether a switch to `target` must ask first: the topic runs on the OTHER backend and that backend
33
+ * holds a conversation to hand over. Any other switch — the same family (a flip between the Claude backends, a
34
+ * plain restart), a topic that runs nothing or only a shell, a fresh topic — goes ahead without a question.
35
+ */
36
+ function checkNeedsBackendSwitchConfirmation(input) {
37
+ const currentFamily = getBackendFamily(input.currentAdapterName);
38
+ return currentFamily !== null && currentFamily !== input.targetBackend && input.hasConversation;
39
+ }
40
+ /** The model a switch to `target` pins once the target runs: a Claude alias, an OpenCode `provider/model` label; `null` pins nothing. */
41
+ function getBackendSwitchModelToPin(target) {
42
+ if (target.model === null)
43
+ return null;
44
+ return target.backend === 'claude' ? target.model : `${target.model.providerId}/${target.model.modelId}`;
45
+ }
46
+ /** The one-shot keyboard of the question: continue / cancel. Constant data — the question is identified by its message. */
47
+ exports.backendSwitchContinueCallback = 'bsw_ok';
48
+ exports.backendSwitchCancelCallback = 'bsw_no';
49
+ exports.backendSwitchCallbackRe = /^bsw_(ok|no)$/;
50
+ /** A family by name: `Claude` / `OpenCode`. */
51
+ function formatBackendFamily(family) {
52
+ return family === 'claude' ? (0, i18n_1.t)('fallback.backendClaude') : (0, i18n_1.t)('fallback.backendOpenCode');
53
+ }
54
+ /** The target as the question names it: `Claude «work»`, `Claude «work» (sonnet)`, `OpenCode openai/gpt-5`, or `OpenCode` when its model is unknown. */
55
+ function formatBackendSwitchTarget(target) {
56
+ if (target.backend === 'claude') {
57
+ const account = `${(0, i18n_1.t)('fallback.backendClaude')} «${target.profile}»`;
58
+ return target.model === null ? account : `${account} (${target.model})`;
59
+ }
60
+ return target.modelLabel === null ? (0, i18n_1.t)('fallback.backendOpenCode') : `${(0, i18n_1.t)('fallback.backendOpenCode')} ${target.modelLabel}`;
61
+ }
62
+ /** The target as the context bridge names it, the way a chain rung is labelled: `Claude · work`, `OpenCode · openai/gpt-5`. */
63
+ function formatBackendSwitchBridgeLabel(target) {
64
+ if (target.backend === 'claude')
65
+ return `${(0, i18n_1.t)('fallback.backendClaude')} · ${target.profile}${target.model === null ? '' : ` · ${target.model}`}`;
66
+ return target.modelLabel === null ? (0, i18n_1.t)('fallback.backendOpenCode') : `${(0, i18n_1.t)('fallback.backendOpenCode')} · ${target.modelLabel}`;
67
+ }
68
+ /** The question: where the topic goes from and to, then the shared line about the hand-over. */
69
+ function buildBackendSwitchQuestion(input) {
70
+ const question = (0, i18n_1.t)('backendSwitch.question', { from: formatBackendFamily(input.from), to: formatBackendSwitchTarget(input.target) });
71
+ return `${question}\n${(0, i18n_1.t)('handover.note')}`;
72
+ }
73
+ //# sourceMappingURL=backendSwitchPlan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backendSwitchPlan.js","sourceRoot":"","sources":["../../src/utils/backendSwitchPlan.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,13 @@ export declare const accountDisconnectCallbackRe: RegExp;
31
31
  export declare const accountDisconnectConfirmCallbackRe: RegExp;
32
32
  /** Connect an OpenCode provider again (the `/connect <provider>` method picker); same snapshot index. */
33
33
  export declare const accountReconnectCallbackRe: RegExp;
34
+ /**
35
+ * A provider row in a topic: switch the topic to the provider (its model page opens), by the INDEX of the screen's
36
+ * provider list; then a model on the open page (the index into that provider's models) and a page arrow.
37
+ */
38
+ export declare const accountOpenCodeUseCallbackRe: RegExp;
39
+ export declare const accountOpenCodeModelCallbackRe: RegExp;
40
+ export declare const accountOpenCodePageCallbackRe: RegExp;
34
41
  /** Back to the main picker from a sub-picker. */
35
42
  export declare const accountBackCallback = "acct_back";
36
43
  /** Flip the auto-switch-on-limit setting (`utils/claudeLimitSwitch.ts`): the topic's override, in General the instance default. */
@@ -39,6 +46,9 @@ export declare const accountAutoSwitchOffCallback = "acct_autosw_off";
39
46
  export declare function buildAccountUseCallback(name: string): string;
40
47
  export declare function buildAccountLoginCallback(name: string): string;
41
48
  export declare function buildAccountDisconnectCallback(index: number): string;
49
+ export declare function buildAccountOpenCodeUseCallback(index: number): string;
50
+ export declare function buildAccountOpenCodeModelCallback(index: number): string;
51
+ export declare function buildAccountOpenCodePageCallback(page: number): string;
42
52
  export declare function buildAccountReconnectCallback(index: number): string;
43
53
  export declare function buildAccountDisconnectConfirmCallback(index: number): string;
44
54
  export declare function buildAccountRemoveCallback(name: string): string;
@@ -75,7 +85,8 @@ export declare function buildAccountPickerRows(input: {
75
85
  email: string | null;
76
86
  subscriptionType: string | null;
77
87
  };
78
- activeName: string;
88
+ /** The account the ✓ sits on; `null` for none (the topic runs OpenCode). */
89
+ activeName: string | null;
79
90
  topicCounts: ReadonlyMap<string, number>;
80
91
  /** The operator removed (signed out) `default`: it has no row until it is signed in again. */
81
92
  isDefaultRemoved?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"claudeAccountPickerPlan.d.ts","sourceRoot":"","sources":["../../src/utils/claudeAccountPickerPlan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claudeAccountPickerPlan.d.ts","sourceRoot":"","sources":["../../src/utils/claudeAccountPickerPlan.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,13 @@
7
7
  * named — a removed name simply resolves to "unknown profile".
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.accountAutoSwitchOffCallback = exports.accountAutoSwitchOnCallback = exports.accountBackCallback = exports.accountReconnectCallbackRe = exports.accountDisconnectConfirmCallbackRe = exports.accountDisconnectCallbackRe = exports.accountAddProviderCallback = exports.accountFollowDefaultCallback = exports.accountAddCallback = exports.accountRemoveConfirmCallbackRe = exports.accountRemoveCallbackRe = exports.accountLoginCallbackRe = exports.accountRemoveMenuCallback = exports.accountLoginMenuCallback = exports.accountUseCallbackRe = void 0;
10
+ exports.accountAutoSwitchOffCallback = exports.accountAutoSwitchOnCallback = exports.accountBackCallback = exports.accountOpenCodePageCallbackRe = exports.accountOpenCodeModelCallbackRe = exports.accountOpenCodeUseCallbackRe = exports.accountReconnectCallbackRe = exports.accountDisconnectConfirmCallbackRe = exports.accountDisconnectCallbackRe = exports.accountAddProviderCallback = exports.accountFollowDefaultCallback = exports.accountAddCallback = exports.accountRemoveConfirmCallbackRe = exports.accountRemoveCallbackRe = exports.accountLoginCallbackRe = exports.accountRemoveMenuCallback = exports.accountLoginMenuCallback = exports.accountUseCallbackRe = void 0;
11
11
  exports.buildAccountUseCallback = buildAccountUseCallback;
12
12
  exports.buildAccountLoginCallback = buildAccountLoginCallback;
13
13
  exports.buildAccountDisconnectCallback = buildAccountDisconnectCallback;
14
+ exports.buildAccountOpenCodeUseCallback = buildAccountOpenCodeUseCallback;
15
+ exports.buildAccountOpenCodeModelCallback = buildAccountOpenCodeModelCallback;
16
+ exports.buildAccountOpenCodePageCallback = buildAccountOpenCodePageCallback;
14
17
  exports.buildAccountReconnectCallback = buildAccountReconnectCallback;
15
18
  exports.buildAccountDisconnectConfirmCallback = buildAccountDisconnectConfirmCallback;
16
19
  exports.buildAccountRemoveCallback = buildAccountRemoveCallback;
@@ -44,6 +47,13 @@ exports.accountDisconnectCallbackRe = /^acct_dc_(\d{1,2})$/;
44
47
  exports.accountDisconnectConfirmCallbackRe = /^acct_dcok_(\d{1,2})$/;
45
48
  /** Connect an OpenCode provider again (the `/connect <provider>` method picker); same snapshot index. */
46
49
  exports.accountReconnectCallbackRe = /^acct_dcre_(\d{1,2})$/;
50
+ /**
51
+ * A provider row in a topic: switch the topic to the provider (its model page opens), by the INDEX of the screen's
52
+ * provider list; then a model on the open page (the index into that provider's models) and a page arrow.
53
+ */
54
+ exports.accountOpenCodeUseCallbackRe = /^acct_ocuse_(\d{1,2})$/;
55
+ exports.accountOpenCodeModelCallbackRe = /^acct_ocm_(\d{1,3})$/;
56
+ exports.accountOpenCodePageCallbackRe = /^acct_ocpg_(\d{1,3})$/;
47
57
  /** Back to the main picker from a sub-picker. */
48
58
  exports.accountBackCallback = 'acct_back';
49
59
  /** Flip the auto-switch-on-limit setting (`utils/claudeLimitSwitch.ts`): the topic's override, in General the instance default. */
@@ -58,6 +68,15 @@ function buildAccountLoginCallback(name) {
58
68
  function buildAccountDisconnectCallback(index) {
59
69
  return `acct_dc_${index}`;
60
70
  }
71
+ function buildAccountOpenCodeUseCallback(index) {
72
+ return `acct_ocuse_${index}`;
73
+ }
74
+ function buildAccountOpenCodeModelCallback(index) {
75
+ return `acct_ocm_${index}`;
76
+ }
77
+ function buildAccountOpenCodePageCallback(page) {
78
+ return `acct_ocpg_${page}`;
79
+ }
61
80
  function buildAccountReconnectCallback(index) {
62
81
  return `acct_dcre_${index}`;
63
82
  }