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,537 @@
1
+ "use strict";
2
+ // Machine-translated from en. Native review welcome.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.deDict = void 0;
5
+ exports.deDict = {
6
+ 'access.denied': 'Zugriff verweigert.',
7
+ 'access.group_only': 'Ich arbeite nur in der konfigurierten Forum-Supergroup.',
8
+ 'thread.no_binding': '📁 Dieser Thread ist nicht mit einem Ordner verknüpft. Verwende /bind <subdir> oder wähle aus der Liste.',
9
+ 'thread.bind_required': '📁 Verknüpfe zuerst einen Ordner: /bind <subdir>. Der Agent läuft nur im verknüpften Ordner.',
10
+ 'thread.bound': '📁 Verknüpft mit `{subdir}`.\nStarte /claude oder /opencode.',
11
+ 'thread.unbound': '📁 Verknüpfung aufgehoben.',
12
+ 'thread.general_no_agent': 'General ist nicht mit einem Ordner verknüpft — wechsle in einen thematischen Thread, um mit einem Agent zu sprechen.',
13
+ 'thread.welcome_bound': '👋 Thread erstellt und automatisch mit `{subdir}` verknüpft (Thread-Name passte zu einem Unterordner).\nStarte /claude oder /opencode.',
14
+ 'thread.welcome_pick': '👋 Thread erstellt. Verknüpfe einen Ordner: /bind <subdir>, oder wähle einen aus der Liste.',
15
+ 'thread.bind_collision': '⚠️ Ordner `{subdir}` wird bereits von Threads verwendet: {threads}.\nVerknüpfung hinzugefügt; Sessions bleiben unabhängig (eigene tmux/SSE).',
16
+ 'thread.no_agent_with_binding': '📁 Ordner `{subdir}` ist verknüpft. Starte /claude oder /opencode, um den Dialog zu beginnen.',
17
+ 'bind.usage': 'Verwendung: /bind <subdir>\nBeispiel: /bind overview',
18
+ 'bind.current': '📂 Aktuell verknüpft: `{subdir}`',
19
+ 'bind.current_none': '📂 Noch nicht verknüpft',
20
+ 'bind.in_general': '/bind funktioniert nur in thematischen Threads, nicht in General.',
21
+ 'bind.invalid_chars': '❌ Der Ordnername darf keine Steuerzeichen enthalten.',
22
+ 'bind.not_found': '❌ Ordner `{subdir}` nicht unter `WORK_ROOT` (`{workRoot}`) gefunden.',
23
+ 'bind.outside_root': '❌ Pfad verlässt `WORK_ROOT`.',
24
+ 'bind.not_directory': '❌ `{subdir}` existiert, ist aber kein Ordner.',
25
+ 'bind.leave_button': '⬅️ Aktuellen Ordner verlassen',
26
+ 'bind.create_button': '➕ Neuen Ordner erstellen',
27
+ 'bind.create_prompt': '✏️ Sende den Namen des neuen Ordners (wird unter `WORK_ROOT` erstellt). Jeder Befehl bricht ab.',
28
+ 'bind.create_cb': 'Erstelle neuen Ordner…',
29
+ 'bind.create_empty': '❌ Name ist leer. Sende einen Ordnernamen.',
30
+ 'bind.create_separator': '❌ Name darf kein `/` oder `\\` enthalten. Sende einen einfachen Namen.',
31
+ 'bind.create_dot_segment': '❌ `.` und `..` können nicht als Ordnername verwendet werden.',
32
+ 'bind.create_hidden': '❌ Name darf nicht mit einem Punkt beginnen.',
33
+ 'bind.create_invalid_chars': '❌ Ordnername darf keine Steuerzeichen enthalten.',
34
+ 'bind.create_exists': '📁 Ordner `{subdir}` existiert bereits — verknüpfe damit.',
35
+ 'bind.create_failed': '❌ Ordner konnte nicht erstellt werden: {error}',
36
+ 'ls.header': '📁 Unterordner von `{workRoot}`:',
37
+ 'ls.empty': '📁 Keine verknüpfbaren Unterordner unter `WORK_ROOT`.',
38
+ 'list.header': '🧵 Thread-Verknüpfungen ({count}):',
39
+ 'list.empty': '🧵 Noch keine Verknüpfungen. Erstelle einen Thread und führe /bind aus.',
40
+ 'list.row': '• {threadId}: `{subdir}` · {agent} · {status}',
41
+ 'list.row_closed': '• {threadId}: `{subdir}` · {agent} · 🔒 closed',
42
+ 'new.general_hint': '/new funktioniert innerhalb eines verknüpften Threads — öffne einen Thread und führe /new aus, um die Agent-Session neu zu starten.',
43
+ 'help.general': '*Befehle in General:*\n' +
44
+ '/ls — `WORK_ROOT`-Unterordner auflisten\n' +
45
+ '/list — Threads auflisten\n' +
46
+ '/status — Status aller Threads\n' +
47
+ '/quitall — jeden laufenden Agent beenden\n' +
48
+ '/whoami /version — Debug\n\n' +
49
+ 'Um mit einem Agent zu sprechen — öffne einen thematischen Thread.',
50
+ 'help.thread_unbound': '*Thread ist nicht mit einem Ordner verknüpft.*\n' +
51
+ '/bind <subdir> — verknüpfen (oder aus Liste wählen)\n' +
52
+ '/ls — `WORK_ROOT`-Unterordner (in General)',
53
+ 'help.thread_bound': '*Thread verknüpft mit `{subdir}`.*\n' +
54
+ '/claude /opencode — Agent starten\n' +
55
+ '/connect — OpenCode-Provider-API-Key verbinden (Standard: OpenAI)\n' +
56
+ '/disconnect — gespeicherte Zugangsdaten eines Providers entfernen\n' +
57
+ '/terminal — Shell in diesem Ordner öffnen\n' +
58
+ '/new — Session neu starten (alte → /sessions)\n' +
59
+ '/model /sessions — wechseln\n' +
60
+ '/effort — Reasoning-Effort-Stufe\n' +
61
+ '/verbosity — Ausgabedetail und was das Thema zeigt (Stream / Antworten)\n' +
62
+ '/quit /status /output — Steuerung\n' +
63
+ '/compact — Agent-Kontext komprimieren\n' +
64
+ '/compact_on_idle — bei Leerlauf automatisch komprimieren (Umschalter)\n' +
65
+ '/auto_continue_limits — automatisch nach einem Nutzungslimit fortsetzen (Umschalter)\n' +
66
+ '/clear — Thread-Nachrichten löschen\n' +
67
+ '/c /y /n /enter /up /down /tab /esc — TUI-Tasten (Claude)\n' +
68
+ '/bind — Verknüpfung verwalten',
69
+ 'doctor.header': '🔍 *Charness Doctor*',
70
+ 'doctor.ok': '✅ {label}',
71
+ 'doctor.warn': '⚠️ {label} — {hint}',
72
+ 'doctor.fail': '❌ {label} — {hint}',
73
+ 'doctor.bot_admin': 'Bot ist Gruppen-Admin',
74
+ 'doctor.can_manage_topics': '`can_manage_topics` gewährt',
75
+ 'doctor.can_delete_messages': '`can_delete_messages` gewährt',
76
+ 'doctor.can_pin_messages': '`can_pin_messages` gewährt',
77
+ 'doctor.privacy_off': 'Privacy-Modus deaktiviert',
78
+ 'doctor.privacy_hint': '@BotFather → /setprivacy → Disable, dann Bot entfernen und neu hinzufügen',
79
+ 'doctor.workroot_subdirs': '`WORK_ROOT`: `{workRoot}` ({count} Unterordner)',
80
+ 'doctor.datadir_path': '`DATA_DIR`: `{dataDir}`',
81
+ 'doctor.claude_installed': 'claude CLI installiert',
82
+ 'doctor.opencode_installed': 'opencode CLI installiert',
83
+ 'doctor.state_valid': 'state.json gültig ({bindings} Verknüpfungen, {active} aktiv)',
84
+ 'doctor.state_archived': 'vorherige state.json war beschädigt, Archiv: {path}',
85
+ 'doctor.cli_missing': 'nicht in PATH gefunden (Auto-Install läuft bei /claude oder /opencode)',
86
+ 'doctor.no_admin_info': 'Bot-Rechte nicht lesbar — getChatMember fehlgeschlagen',
87
+ 'onboarding.welcome': '👋 *Charness 2.0*\n\n' +
88
+ 'Checkliste für den Einsatz:\n' +
89
+ '1️⃣ Mach mich zum Gruppen-Admin mit Rechten:\n' +
90
+ ' • Manage Topics, Delete Messages, Pin Messages\n' +
91
+ '2️⃣ @BotFather → /setprivacy → Disable, dann entferne und füge mich neu hinzu\n' +
92
+ '3️⃣ Führe /doctor aus, um zu sehen, was noch fehlt\n' +
93
+ '4️⃣ In jedem thematischen Thread /bind <subdir> ausführen und Agent starten\n\n' +
94
+ '`WORK_ROOT`: `{workRoot}`',
95
+ 'binding.welcome.header': '📁 Verknüpft mit `{subdir}`',
96
+ 'binding.welcome.claude_md': '• CLAUDE.md: {size}',
97
+ 'binding.welcome.mcp_json': '• `.mcp.json`: {count} Server',
98
+ 'binding.welcome.git': '• git: Branch `{branch}`{detail}',
99
+ 'binding.welcome.git_clean': ', sauber',
100
+ 'binding.welcome.git_dirty': ', unbestätigte Änderungen',
101
+ 'binding.welcome.git_none': '• git: nicht initialisiert',
102
+ 'binding.welcome.start_prompt': 'Beginne eine Unterhaltung:',
103
+ 'mcp.header': '🔌 *MCP-Server für diesen Thread:*',
104
+ 'mcp.row': '• `{name}` — {source}',
105
+ 'mcp.empty': '🔌 Keine MCP-Server konfiguriert.',
106
+ 'mcp.source_user': 'user (~/.claude/settings.json)',
107
+ 'mcp.source_group': 'group (`DATA_DIR`/mcp.json)',
108
+ 'mcp.source_project': 'project (`{workDir}/.mcp.json`)',
109
+ 'mcp.source_thread': 'thread (`DATA_DIR`/threads/...)',
110
+ 'doctor.pin_hint': 'Pinned-Thread-Status (Stage 7) wird nicht verfügbar sein',
111
+ 'whoami.report': '👤 user: `{userId}`\n💬 chat: `{chatId}`\n🧵 thread: `{threadId}`\n' +
112
+ '🔐 allowed: {allowed}\n📁 binding: {binding}',
113
+ 'whoami.binding_unbound': '(keine Verknüpfung)',
114
+ 'pair.success': '✅ Gruppe verknüpft. id: `{groupId}`. Der Bot bedient nun diese Supergroup.',
115
+ 'pair.locked': 'ℹ️ Die Gruppen-ID ist über `ALLOWED_GROUP_ID` gesetzt — Auto-Pairing ist deaktiviert. ' +
116
+ 'Um die Gruppe zu wechseln, ändere die Variable und starte den Bot neu.',
117
+ 'pair.only_forum': '❌ /pair funktioniert nur in einer Forum-Supergroup (Topics aktivieren).',
118
+ 'pair.not_admin': '❌ Nur ein Gruppen-Administrator oder Ersteller kann den Bot verknüpfen.',
119
+ 'pair.not_paired': 'Gruppe noch nicht verknüpft (Pairing-Modus)',
120
+ 'pair.dm': "ℹ️ /pair ist im DM-Modus nicht nötig — der Bot bedient deinen privaten Chat.",
121
+ 'version.report': '*Charness {bot}*\n' +
122
+ 'Node: {node}\n' +
123
+ 'tmux: {tmux}\n' +
124
+ 'claude: {claude}\n' +
125
+ 'opencode: {opencode}',
126
+ 'version.unknown': '(nicht verfügbar)',
127
+ 'status.global_header': '📊 *Alle Threads* ({total}):',
128
+ 'status.global_row': '• `{key}` → `{subdir}` · {agent} · {status}',
129
+ 'status.global_empty': '📊 Noch keine Threads.',
130
+ 'status.thread_report': 'Status:\n\nAgent: {agent}\nOrdner: {subdir}\nSitzung: {session}',
131
+ 'status.thread_view': 'Ansicht: {view}',
132
+ 'status.thread_model': 'Modell: {model}',
133
+ 'status.thread_effort': 'Aufwand: {effort}',
134
+ 'status.thread_started': 'Gestartet: {started}',
135
+ 'status.thread_running': 'läuft',
136
+ 'status.thread_stopped': 'gestoppt',
137
+ 'status.thread_sleeping': 'schläft — wird mit der nächsten Nachricht fortgesetzt',
138
+ 'status.thread_no_agent': 'keiner (starte /claude oder /opencode)',
139
+ 'status.thread_no_binding': '(keine Bindung — WORK_ROOT)',
140
+ 'status.thread_workdir': 'Arbeitsverzeichnis: {workDir}',
141
+ 'status.thread_runtime_version': 'Laufzeitversion: {version}',
142
+ 'status.thread_context': 'Kontext: {used} / {limit} Token',
143
+ 'language.status': '🌐 Sprache: {display}',
144
+ 'language.set_success': '✅ Sprache für diesen Chat auf `{locale}` gesetzt.',
145
+ 'language.auto_success': '✅ Sprache auf automatisch zurückgesetzt. Aktuell: {display}.',
146
+ 'language.invalid': '⚠️ Locale `{locale}` wird nicht unterstützt. Verfügbar: {locales}.',
147
+ 'timezone.status': '🌍 Zeitzone: {zone} — jetzt {now}',
148
+ 'timezone.usage': 'Verwendung: /timezone <IANA-Zone> · /timezone +04:00 · /timezone auto\nOder sende /timezone ohne Argument, um aus einer Liste zu wählen.',
149
+ 'timezone.set_success': '✅ Zeitzone: {zone} — jetzt {now}\nNeu berechnete Zeitpläne: {count}',
150
+ 'timezone.auto_success': '✅ Zeitzone auf die Host-Zone zurückgesetzt: {zone} — jetzt {now}\nNeu berechnete Zeitpläne: {count}',
151
+ 'timezone.invalid': '⚠️ Unbekannte Zeitzone `{zone}`. Nutze einen IANA-Namen (z. B. `Europe/Moscow`) oder einen festen Offset (z. B. `+04:00`). Sende /timezone, um aus einer Liste zu wählen.',
152
+ 'timezone.offset_unsupported': '⚠️ Der Offset `{zone}` lässt sich nicht anwenden — nur volle Stunden wirken. Nutze stattdessen den IANA-Namen deiner Zone (z. B. `Asia/Kolkata` für +05:30).',
153
+ 'timezone.fixed_offset_warning': '⚠️ Ein fester Offset folgt der Sommerzeit nicht — er liegt das halbe Jahr über eine Stunde daneben.',
154
+ 'timezone.picker_regions': '🌍 Zeitzone: {zone}\nJetzt: {now}\n\nWähle eine Region:',
155
+ 'timezone.picker_zones': '🌍 {region} — Seite {page}/{total}',
156
+ 'timezone.picker_expired': 'Diese Liste ist veraltet — sende /timezone erneut.',
157
+ 'agent.ready': '{label} bereit in `{subdir}`{argsSuffix}\n{infoBlock}Sende eine Nachricht:',
158
+ 'agent.ready_model': '🧠 Modell: {model}',
159
+ 'agent.no_session': 'Kein Agent läuft. /claude oder /opencode zum Starten.',
160
+ 'agent.session_ended': '{label}: Session beendet',
161
+ 'agent.stopped': '{label} gestoppt',
162
+ 'agent.sleeping_released': 'Die schlafende Sitzung wurde freigegeben — die nächste Nachricht startet eine neue.',
163
+ 'agent.resume_failed_fresh': '⚠️ Das vorherige Gespräch konnte nicht fortgesetzt werden — eine neue Sitzung wurde gestartet.',
164
+ 'agent.exit_signal_sent': 'Doppeltes Ctrl+C gesendet — {label} wird beendet',
165
+ 'agent.already_active': '{label} läuft hier bereits. Sende eine Nachricht oder /quit.',
166
+ 'agent.starting': 'Starte {label} in `{subdir}`…',
167
+ 'agent.queued_starting': '⏳ {label} startet noch — deine Nachricht ist in der Warteschlange und wird gesendet, sobald der Agent bereit ist.',
168
+ 'agent.question_hint': 'ℹ️ Antworte mit der Optionsnummer (z.B. 1) oder y/n. Auch: /up /down zum Bewegen, /enter zum Bestätigen, /c zum Abbrechen.',
169
+ 'agent.start_failed': '{label} konnte nicht gestartet werden: {error}',
170
+ 'agent.no_response': '⚠️ Der Agent hat deine Anfrage angenommen, aber nicht begonnen zu antworten – die Sitzung hängt möglicherweise. Sende sie erneut oder /new für eine neue Sitzung.',
171
+ 'agent.session_restarting': '⚠️ Der Agent hat nicht geantwortet – die Sitzung hängt. Ich starte sie neu und wiederhole deine Anfrage…',
172
+ 'agent.session_recovering': '⚠️ Der Agent hat nicht geantwortet – ich stelle wieder her (dein Verlauf bleibt erhalten) und wiederhole die Anfrage…',
173
+ 'agent.question_cancelled_for_prompt': '⚠️ Vorherige Frage abgebrochen — führe deine neue Anfrage aus.',
174
+ 'agent.question_cancelled_msg_label': '❌ Frage abgebrochen: {header}',
175
+ 'agent.login_code_relayed': '🔐 Login-Code an Claude weitergeleitet — die Token-Nachricht wurde aus dem Verlauf gelöscht.',
176
+ 'agent.login_url': '🔐 Um dich bei Claude anzumelden, öffne diesen Link, schließe die Anmeldung ab und füge den Code hier ein:\n{url}',
177
+ 'agent.login_success': '✅ Bei Claude angemeldet.',
178
+ 'agent.login_failed': '⚠️ Anmeldung bei Claude fehlgeschlagen. Führe /login aus, um es erneut zu versuchen.',
179
+ 'login.esc_hint': '/esc zum Abbrechen',
180
+ 'login.waiting_code': '⏳ Warte auf den Login-Code — füge den Code aus dem Anmeldelink als nächste Nachricht ein.',
181
+ 'login.cancelled': '✖ Anmeldung abgebrochen. Nachrichten gehen wieder an den Agenten.',
182
+ 'agent.workingIndicator': '{glyph} arbeite…',
183
+ 'terminal.ready': '🖥 Terminal bereit in `{subdir}`{argsSuffix}\nJede Nachricht wird als Befehl ausgeführt. /c — Ctrl+C, /up /down — Verlauf, /tab — Vervollständigung, /quit — schließen.',
184
+ 'effort.choose': '⚙️ Aktueller Effort: {current}\nWähle eine Stufe:',
185
+ 'effort.current_none': 'nicht gesetzt',
186
+ 'effort.set_success': '✅ Effort: {level}',
187
+ 'effort.current_hint': '⚙️ Effort: {effort}\nMit /effort änderbar',
188
+ 'effort.invalid_level': '⚠️ Stufe `{level}` ist ungültig. Verfügbar: {valid}.',
189
+ 'effort.not_available': 'ℹ️ Für das aktuelle Modell sind keine Reasoning-Effort-Stufen verfügbar.',
190
+ 'effort.not_supported': 'ℹ️ Modell `{model}` hat keine Reasoning-Effort-Stufen.',
191
+ 'effort.start_agent_first': 'ℹ️ Stufe gespeichert. Kein Agent läuft — wird beim nächsten Start angewendet.',
192
+ 'effort.cleared_on_model_switch': 'ℹ️ Effort `{level}` zurückgesetzt: das neue Modell `{model}` unterstützt ihn nicht.',
193
+ 'effort.unsupported_backend': 'Effort-Steuerung wird für {label} nicht unterstützt.',
194
+ 'effort.no_session': 'Kein Agent läuft. Starte einen mit /claude oder /opencode.',
195
+ 'thinking.live': '•••',
196
+ 'thinking.thoughtForSeconds': '💭 dachte {seconds}s nach',
197
+ 'thinking.choose': '☁️ Aktueller Thinking-Modus: {current}\nWähle einen Modus:',
198
+ 'thinking.set_success': '✅ Thinking-Modus: {mode}',
199
+ 'thinking.invalid_mode': '⚠️ Modus `{mode}` ist ungültig. Verfügbar: {valid}.',
200
+ 'thinking.mode.minimal': 'minimal',
201
+ 'thinking.mode.short': 'kurz',
202
+ 'thinking.mode.full': 'voll',
203
+ 'toolResults.choose': '🔧 Aktueller Tool-Ergebnis-Modus: {current}\nWähle einen Modus:',
204
+ 'toolResults.set_success': '✅ Tool-Ergebnis-Modus: {mode}',
205
+ 'toolResults.invalid_mode': '⚠️ Modus `{mode}` ist ungültig. Verfügbar: {valid}.',
206
+ 'toolResults.mode.minimal': 'minimal',
207
+ 'toolResults.mode.short': 'kurz',
208
+ 'toolResults.mode.full': 'voll',
209
+ 'toolResults.truncated_footer': '… (gekürzt, /tool_results full)',
210
+ 'toolResults.activity_status': '🔧 {tool} …',
211
+ 'toolResults.activity_fallback': 'Tool',
212
+ 'subagent.status_elapsed': '🤖 Sub-Agent: {title} · {elapsed}',
213
+ 'subagent.panel_fold_status': '🤖 Sub-Agent arbeitet …',
214
+ 'subagent.delegating_status': '🤖 Delegiere: {title} …',
215
+ 'subagent.chunk_prefix': '🤖 ⤷',
216
+ 'subagent.fallback_title': 'Sub-Agent',
217
+ 'subagent.choose': '🤖 Aktueller Sub-Agent-Modus: {current}\nWähle einen Modus:',
218
+ 'subagent.set_success': '✅ Sub-Agent-Modus: {mode}',
219
+ 'subagent.invalid_mode': '⚠️ Modus `{mode}` ist ungültig. Verfügbar: {valid}.',
220
+ 'subagent.mode.minimal': 'minimal',
221
+ 'subagent.mode.short': 'kurz',
222
+ 'subagent.mode.full': 'voll',
223
+ 'verbosity.choose': '🔊 Ausgabe — Detail: {current} · Ansicht: {view}\nZeile 1 — Detail des Streams · Zeile 2 — was dieses Thema zeigt:',
224
+ 'verbosity.set_success': '✅ Ausgabedetaillierung: {mode} (Thinking, Tool-Ergebnisse, Sub-Agenten)',
225
+ 'verbosity.invalid_mode': '⚠️ `{mode}` ist ungültig. Detailstufen: {valid}. Ansichten: {views}.',
226
+ 'verbosity.custom': 'benutzerdefiniert (Thinking: {thinking} · Tools: {toolResults} · Sub-Agenten: {subagent})',
227
+ 'verbosity.mode.minimal': 'minimal',
228
+ 'verbosity.mode.short': 'kurz',
229
+ 'verbosity.mode.full': 'voll',
230
+ 'verbosity.view.stream': 'Nur Stream',
231
+ 'verbosity.view.streamAnswers': 'Stream + Antworten',
232
+ 'verbosity.view.answers': 'Nur Antworten',
233
+ 'verbosity.view_set_success': '✅ Dieses Thema zeigt: {view} (gilt ab der nächsten Nachricht)',
234
+ 'model.set_success': '🧠 Modell gesetzt auf: {model}',
235
+ 'model.saved_for_next_start': 'Modell gespeichert: {model} — wird beim nächsten Agent-Start angewendet.',
236
+ 'model.start_agent_first': 'Keine aktive Session. Starte zuerst einen Agent.',
237
+ 'model.current_default': 'Standard',
238
+ 'model.none_available': '🧠 Aktuell: {current}\n\nKeine Modelle verfügbar. Setze eines manuell mit /model <provider/model>.',
239
+ 'model.invalid_number': '❌ Ungültige Nummer. Führe /model aus, um die Liste zu sehen.',
240
+ 'model.pick_provider': '🧠 Aktuell: {current}\n\nWähle einen Anbieter:',
241
+ 'model.all_hidden': '🧠 Aktuell: {current}\n\nAlle Anbieter sind ausgeblendet. Tippe 👁, um einen zurückzuholen.',
242
+ 'model.hidden_header': '🙈 Aus dieser Auswahl ausgeblendet — tippe 👁 zum Wiederherstellen.',
243
+ 'model.provider_button': '📦 {provider} ({count})',
244
+ 'model.hidden_provider_button': '🙈 {provider} ({count})',
245
+ 'model.hide_button': '🙈',
246
+ 'model.show_button': '👁',
247
+ 'model.back_button': '⬅️ Anbieter',
248
+ 'model.prev_button': '⬅️ Zurück',
249
+ 'model.next_button': 'Weiter ➡️',
250
+ 'model.page_button': '{page}/{totalPages}',
251
+ 'model.page_header': '🧠 {provider} — {count} Modelle · Seite {page}/{totalPages}\nAktuell: {current}',
252
+ 'model.page_hint': 'Antworte mit einer Nummer zur Auswahl oder /model <Name> zum Suchen.',
253
+ 'model.page_hint_buttons_only': 'Tippe ein Modell an, um zu wechseln, oder /model <Name> zum Suchen.',
254
+ 'disconnect.unsupported_backend': 'Das Trennen von OpenCode-Providern ist in diesem Build nicht verfügbar.',
255
+ 'disconnect.invalid_provider': '❌ Ungültige Anbieter-ID {provider}. Beispiel: /disconnect openrouter',
256
+ 'disconnect.no_providers': 'Keine Anbieter zum Trennen.',
257
+ 'disconnect.pick_provider': 'Wähle einen Anbieter zum Trennen — seine gespeicherten Zugangsdaten werden entfernt:',
258
+ 'disconnect.provider_button': '🔌 {provider}',
259
+ 'disconnect.success': '✅ Anbieter {provider} getrennt — gespeicherte Zugangsdaten entfernt.',
260
+ 'disconnect.still_active_env': '⚠️ Die gespeicherten Zugangsdaten für {provider} wurden entfernt, der Anbieter ist aber weiterhin aktiv: OpenCode aktiviert ihn über eine Umgebungsvariable. Entferne diese Variable und starte OpenCode neu, oder blende den Anbieter über /model aus.',
261
+ 'disconnect.failed': '⚠️ {provider} konnte nicht getrennt werden: {reason}',
262
+ 'rename_session.usage': 'Verwendung: /rename_session <neuer Titel>',
263
+ 'rename_session.start_agent_first': 'Keine aktive Session. Starte zuerst einen Agent (/claude oder /opencode).',
264
+ 'rename_session.unsupported_backend': 'Session-Umbenennung wird für {label} nicht unterstützt.',
265
+ 'rename_session.success': '✅ Session umbenannt: {title}',
266
+ 'rename_session.failed': '⚠️ Session konnte nicht umbenannt werden: {reason}',
267
+ 'compact.started': '🧹 Der Session-Kontext wird komprimiert — der Agent macht mit der Zusammenfassung weiter.',
268
+ 'compact.done': '✅ Kontext komprimiert.',
269
+ 'compact.done_tokens': '✅ Kontext komprimiert: {pre} → {post} Tokens.',
270
+ 'compact.summaryHeader': '📄 Zusammenfassung der Komprimierung:',
271
+ 'compact.start_agent_first': 'Keine aktive Session. Starte zuerst einen Agent (/claude oder /opencode).',
272
+ 'compact.unsupported_backend': 'Kontext-Komprimierung wird für {label} nicht unterstützt.',
273
+ 'compact.model_unresolved': '⚠️ Komprimieren nicht möglich: für diese Session ist kein Modell ermittelt. Wähle eines mit /model und versuche es erneut.',
274
+ 'compact.failed': '⚠️ Session-Kontext konnte nicht komprimiert werden: {reason}',
275
+ 'compact.busy': '⚠️ Der Agent ist gerade beschäftigt — führe /compact erneut aus, sobald der aktuelle Vorgang fertig ist.',
276
+ 'compact.closingSectionInstruction': 'After the summary, append a final section wrapped EXACTLY between a line containing only {startMarker} and a line containing only {endMarker}. Inside that section, write IN GERMAN: (1) one or two terse sentences on what we were doing and the immediate next step; (2) if you asked the user a question that is still unanswered, restate that question and list its answer options. Write nothing after {endMarker}.',
277
+ 'compactOnIdle.notice': '🧹 Bei Leerlauf automatisch komprimiert, um Tokens über den Cache zu sparen.\n/compact_on_idle — abschalten oder die Zusammenfassung zeigen.',
278
+ 'compactOnIdle.on': 'AN',
279
+ 'compactOnIdle.off': 'AUS',
280
+ 'compactOnIdle.title': '🧹 Auto-Komprimierung bei Leerlauf für dieses Thema: {state}\n{summaryLine}\n\nWenn die Sitzung ~55 Min. untätig ist, wird ihr Kontext automatisch komprimiert, um Tokens zu sparen (der Prompt-Cache ist noch warm).\n\nUm es für ALLE Themen auf einmal umzuschalten, führe dies im General-Thema aus.',
281
+ 'compactOnIdle.titleGeneral': '🧹 Auto-Komprimierung bei Leerlauf — Standard für ALLE Themen: {state}\n{summaryLine}\n\nWenn eine Sitzung ~55 Min. untätig ist, wird ihr Kontext automatisch komprimiert, um Tokens zu sparen.\n\nJedes Thema kann dies mit seinem eigenen /compact_on_idle überschreiben.',
282
+ 'compactOnIdle.enableButton': 'Aktivieren',
283
+ 'compactOnIdle.disableButton': 'Deaktivieren',
284
+ 'compactOnIdle.summaryLine': '📄 Zusammenfassung nach der Komprimierung: {state}',
285
+ 'compactOnIdle.summaryShowButton': '📄 Zusammenfassung zeigen',
286
+ 'compactOnIdle.summaryHideButton': 'Zusammenfassung ausblenden',
287
+ 'compactOnIdle.setThisTopic': '✅ Auto-Komprimierung bei Leerlauf: {state} für dieses Thema.',
288
+ 'compactOnIdle.setGlobal': '✅ Auto-Komprimierung bei Leerlauf: {state} für ALLE Themen (themenspezifische Überschreibungen gelten weiterhin).',
289
+ 'compactOnIdle.unsupported': 'Auto-Komprimierung bei Leerlauf gilt für eine aktive Agent-Sitzung. Starte zuerst /claude oder /opencode in einem gebundenen Thema.',
290
+ 'compactOnIdle.pendingQuestionReask': '❓ Du hast noch eine offene Frage. Tippe auf eine Option, um sie zu beantworten und fortzufahren:',
291
+ 'compactSummary.on': 'EIN',
292
+ 'compactSummary.off': 'AUS',
293
+ 'compactSummary.title': '📄 Zusammenfassung der Komprimierung in diesem Thema posten: {state}\n\nNach einer Komprimierung wird die vollständige Zusammenfassung des Agents ins Thema geschrieben, damit du siehst, was erhalten blieb.\n\nUm das für ALLE Themen umzustellen, führe dies im Thema „General“ aus.',
294
+ 'compactSummary.titleGeneral': '📄 Zusammenfassung der Komprimierung posten — Standard für ALLE Themen: {state}\n\nNach einer Komprimierung wird die vollständige Zusammenfassung des Agents ins Thema geschrieben, damit du siehst, was erhalten blieb.\n\nJedes Thema kann das mit eigenem /compact_summary überschreiben.',
295
+ 'compactSummary.enableButton': 'Aktivieren',
296
+ 'compactSummary.disableButton': 'Deaktivieren',
297
+ 'compactSummary.setThisTopic': '✅ Zusammenfassung der Komprimierung: {state} für dieses Thema.',
298
+ 'compactSummary.setGlobal': '✅ Zusammenfassung der Komprimierung: {state} für ALLE Themen (themenspezifische Überschreibungen gelten weiter).',
299
+ 'compactSummary.unsupported': 'Eine Shell hat keinen Kontext zum Komprimieren, also gibt es keine Zusammenfassung zu posten.',
300
+ 'autoContinueLimits.on': 'AN',
301
+ 'autoContinueLimits.off': 'AUS',
302
+ 'autoContinueLimits.title': '🚧 Automatisches Fortsetzen nach einem Nutzungslimit für dieses Thema: {state}\n\nWenn der Agent ein Nutzungs- bzw. Sitzungslimit erreicht, wartet der Bot, bis das Zeitfenster zurückgesetzt ist, und weist den Agenten dann selbst an fortzufahren (die Fortsetzungsmeldung wird angepinnt, damit ein stummgeschaltetes Thema dich trotzdem benachrichtigt).\n\nUm es für ALLE Themen auf einmal umzuschalten, führe dies im General-Thema aus.',
303
+ 'autoContinueLimits.titleGeneral': '🚧 Automatisches Fortsetzen nach einem Nutzungslimit — Standard für ALLE Themen: {state}\n\nWenn ein Agent ein Nutzungs- bzw. Sitzungslimit erreicht, wartet der Bot, bis das Zeitfenster zurückgesetzt ist, und weist den Agenten dann selbst an fortzufahren.\n\nJedes Thema kann dies mit seinem eigenen /auto_continue_limits überschreiben.',
304
+ 'autoContinueLimits.enableButton': 'Aktivieren',
305
+ 'autoContinueLimits.disableButton': 'Deaktivieren',
306
+ 'autoContinueLimits.skipButton': '⏭ Einmal überspringen',
307
+ 'autoContinueLimits.skipDone': 'Diese Fortsetzung wurde übersprungen.',
308
+ 'autoContinueLimits.skipExpired': 'Nichts zu überspringen — dieses Warten ist bereits vorbei.',
309
+ 'autoContinueLimits.skippedNotice': '⏭ Übersprungen: Ich setze diese eine nicht selbst fort. Schreib mir, wann es weitergehen soll — das automatische Fortsetzen bleibt für dieses Thema an.',
310
+ 'autoContinueLimits.noticeHint': 'Führe /auto_continue_limits aus, um diese eine Fortsetzung zu überspringen oder das automatische Fortsetzen für dieses Thema abzuschalten.',
311
+ 'autoContinueLimits.setThisTopic': '✅ Automatisches Fortsetzen nach einem Nutzungslimit: {state} für dieses Thema.',
312
+ 'autoContinueLimits.setGlobal': '✅ Automatisches Fortsetzen nach einem Nutzungslimit: {state} für ALLE Themen (themenspezifische Überschreibungen gelten weiterhin).',
313
+ 'autoContinueLimits.limitReachedDisabled': '🚧 Nutzungslimit erreicht. Automatisches Fortsetzen ist für dieses Thema aus, also warte ich — schreib mir, wann es weitergehen soll (/auto_continue_limits on für automatisches Fortsetzen).',
314
+ 'connect.prompt_key': '🔑 Sende den API-Key für `{provider}` als nächste Nachricht. Ich lösche die Key-Nachricht aus dem Verlauf.',
315
+ 'connect.empty_key': '❌ API-Key ist leer. Sende den Key als nächste Nachricht.',
316
+ 'connect.invalid_key': '❌ Das sieht nicht wie ein API key aus (er enthält Leerzeichen oder nicht-lateinische Zeichen). Sende als nächste Nachricht nur den Key oder starte /connect erneut.',
317
+ 'connect.invalid_provider': '❌ Ungültige Provider-ID `{provider}`. Beispiel: /connect openai',
318
+ 'connect.unsupported_provider': '⚠️ Provider `{provider}` unterstützt keinen einfachen API-Key-Login über diesen Ablauf. Verwende die OpenCode-UI/CLI für diesen Provider.',
319
+ 'connect.unsupported_backend': 'OpenCode-Provider-Auth ist in diesem Build nicht verfügbar.',
320
+ 'connect.failed': '⚠️ Verbinden von `{provider}` fehlgeschlagen: {reason}',
321
+ 'connect.success': '✅ Provider `{provider}` verbunden. OpenCode-Server wurde nicht neu gestartet.',
322
+ 'connect.cancelled': 'API-Key-Eingabe abgebrochen.',
323
+ 'connect.pick_method': '`{provider}` verbinden — wie? Wähle eine Methode:',
324
+ 'connect.no_methods': '⚠️ Keine Auth-Methoden für `{provider}` gefunden.',
325
+ 'connect.oauth_device': '🔓 Um `{provider}` zu verbinden: öffne {url} und gib den Code `{code}` ein, dann bestätige. Auf einem Server die *headless*-Methode nutzen. Ich melde mich hier, wenn es fertig ist.',
326
+ 'connect.oauth_url_only': '🔓 Um `{provider}` zu verbinden: öffne {url} und schließe die Anmeldung ab. Ich melde mich hier, wenn es fertig ist.',
327
+ 'connect.oauth_paste': '🔑 Füge nach der Bestätigung den Code als nächste Nachricht hier ein — ich lösche ihn aus dem Verlauf.',
328
+ 'connect.oauth_waiting': '⏳ Warte auf Autorisierung…',
329
+ 'connect.oauth_loopback': '🔑 Nach der Autorisierung versucht dein Browser, eine `localhost`-Seite zu öffnen, die nicht lädt — das ist hier normal. Kopiere diese URL aus der Adresszeile und sende sie als nächste Nachricht zurück (oder nur den `code`-Wert). Ich lösche sie aus dem Verlauf und schließe die Anmeldung ab.',
330
+ 'connect.oauth_invalid_reply': '❌ Das sieht weder nach einer Callback-URL noch nach einem Auth-Code aus. Füge nach der Autorisierung die `localhost`-Callback-URL aus deinem Browser ein (oder den `code`-Wert).',
331
+ 'connect.oauth_callback_no_flow': '⚠️ Das sieht nach einer OAuth-Callback-URL aus, aber hier läuft gerade keine Anmeldung — ich habe sie gelöscht. Starte /connect, um erneut zu beginnen.',
332
+ 'connect.oauth_success': '✅ `{provider}` per OAuth verbunden. Die Zugangsdaten des OpenCode-Servers wurden aktualisiert.',
333
+ 'connect.oauth_failed': '⚠️ OAuth-Anmeldung für `{provider}` nicht abgeschlossen. Führe /connect erneut aus.',
334
+ 'quit_all.none_active': 'Keine Agenten laufen — nichts zu stoppen.',
335
+ 'quit_all.summary': '🚪 {stopped} von {total} aktiven Agenten beendet.',
336
+ 'quit_all.general_only': '`/quit-all` ist nur im General-Topic verfügbar.',
337
+ 'clearMessages.summary': '🗑 {deleted} von {total} Nachrichten gelöscht. ' +
338
+ 'Telegram weigert sich, Nachrichten älter als 48 h zu löschen — der Rest bleibt im Verlauf.',
339
+ 'clearMessages.no_messages': 'Keine Nachrichten zum Löschen in diesem Thread.',
340
+ 'edited.hint': "✏️ Bearbeitete Nachrichten behandle ich nicht als neue Eingabe — sende die Korrektur als separate Nachricht.",
341
+ 'voice.no_api_key': 'Sprache erfordert `GROQ_API_KEY` (kostenlos) oder `OPENAI_API_KEY`.',
342
+ 'voice.failed': 'Sprachnachricht konnte nicht transkribiert werden.',
343
+ 'voice.retrying': '⚠️ Sprachnachricht konnte nicht transkribiert werden ({error}). Neuer Versuch in {seconds} s…',
344
+ 'voice.transcribed': '🎤 {text}',
345
+ 'file.too_big': '📎 Datei überschreitet das Bot-API-Limit ({cap} MB) — ich kann sie nicht herunterladen. Sende eine kleinere Datei.',
346
+ 'file.download_failed': '📎 Datei konnte nicht heruntergeladen werden. Bitte versuche es erneut.',
347
+ 'error.workdir.gone': '📁 Ordner `{subdir}` ist von der Festplatte verschwunden. Führe /bind <newdir> aus.',
348
+ 'error.tg.thread.deleted': '⚠️ Thread wurde in Telegram gelöscht; Verknüpfung aufgehoben.',
349
+ 'error.tg.thread.closed': '🔒 Thread {key} ist geschlossen — öffne ihn in deinem Telegram-Client erneut oder lösche ihn vollständig.',
350
+ 'error.tg.perm.delete': '🔐 Kann Nachrichten nicht löschen. Gewähre dem Bot `can_delete_messages`.',
351
+ 'error.tg.perm.manage_topics': '🔐 `can_manage_topics` fehlt. Mach mich zum Gruppen-Admin.',
352
+ 'error.state.corrupted': '⚠️ state.json war beschädigt; Verknüpfungen zurückgesetzt. Führe /bind erneut aus, wo nötig.',
353
+ 'error.start_in_general': 'Agent kann in General nicht gestartet werden — das ist ein Service-Topic. Öffne einen thematischen Thread.',
354
+ 'cb.access_denied': 'Zugriff verweigert',
355
+ 'cb.bind_only_topical': '/bind funktioniert nur in thematischen Threads',
356
+ 'cb.binding_to': 'Verknüpfe mit {subdir}…',
357
+ 'cb.no_active_session': 'Keine aktive Session',
358
+ 'cb.model_error': 'Fehler: {error}',
359
+ 'cb.model_set': 'Modell: {model}',
360
+ 'cb.model_provider_gone': 'Dieser Anbieter existiert nicht mehr — /model erneut ausführen',
361
+ 'cb.model_hidden': 'Ausgeblendet: {provider}',
362
+ 'cb.model_shown': 'Eingeblendet: {provider}',
363
+ 'cb.disconnect_expired': 'Dieses Trennen-Menü ist abgelaufen — /disconnect erneut ausführen',
364
+ 'cb.not_supported': 'Nicht unterstützt für {label}',
365
+ 'cb.unknown_agent': 'Unbekannter Agent',
366
+ 'cb.agent_switched': 'Gewechselt zu {label}',
367
+ 'cb.resume_only_topical': 'Resume funktioniert nur in thematischen Threads',
368
+ 'cb.bind_folder_first': 'Verknüpfe zuerst einen Ordner via /bind',
369
+ 'cb.agent_not_running': 'Agent läuft nicht',
370
+ 'cb.no_pending_question': 'Keine ausstehende Frage',
371
+ 'cb.connect_method_expired': 'Dieses Verbinden-Menü ist abgelaufen — /connect erneut ausführen',
372
+ 'cb.invalid_option': 'Ungültige Option',
373
+ 'cb.sent_option': 'Gesendet: {option}',
374
+ 'cb.effort_set': 'Effort: {level}',
375
+ 'cb.effort_error': 'Fehler: {error}',
376
+ 'cb.claudeMode_already': 'Bereits aktiv',
377
+ 'cb.claudeMode_switching': 'Wechsle…',
378
+ 'claudeMode.pick': '⚙️ Claude Code Backend — aktuell: {label}\nWähle ein Backend (Wechsel behält denselben Dialog):',
379
+ 'claudeMode.not_claude': "Dieses Topic ist nicht auf Claude Code — /claude_mode wechselt nur Claude's Backend.",
380
+ 'claudeMode.already': 'Bereits {label}.',
381
+ 'claudeMode.set_idle': '⚙️ Claude-Backend: {label} — wird beim nächsten Start angewendet.',
382
+ 'claudeMode.switched_resumed': '⚙️ Gewechselt zu {label} — derselbe Dialog fortgesetzt.',
383
+ 'claudeMode.switched_fresh': '⚙️ Gewechselt zu {label} — neue Session gestartet.',
384
+ 'claudeMode.perTurn_refused': '⚠️ Per-turn braucht Claude Code {min} oder neuer — dieses Gespräch lief zuletzt mit {version}. Das Backend wurde nicht geändert.',
385
+ 'cb.thinking_set': 'Thinking: {mode}',
386
+ 'cb.thinking_error': 'Fehler: {error}',
387
+ 'cb.toolresults_set': 'Tool-Ergebnisse: {mode}',
388
+ 'cb.toolresults_error': 'Fehler: {error}',
389
+ 'cb.subagent_set': 'Sub-Agenten: {mode}',
390
+ 'cb.subagent_error': 'Fehler: {error}',
391
+ 'cb.verbosity_set': 'Ausgabedetaillierung: {mode}',
392
+ 'cb.verbosity_error': 'Fehler: {error}',
393
+ 'cb.view_set': 'Dieses Thema zeigt: {view}',
394
+ 'session.list_header': 'Sessions zum Fortsetzen ({label}):',
395
+ 'session.list_footer': 'Sende 1–{max} zum Fortsetzen · 0 zum Abbrechen',
396
+ 'session.none': 'Keine fortsetzbaren Sessions in diesem Ordner.',
397
+ 'session.cancelled': 'Abgebrochen. Session-Auswahl geschlossen.',
398
+ 'session.invalid': 'Ungültige Nummer. Gib einen Wert von 1 bis {max} ein.',
399
+ 'session.resumed': 'Session fortgesetzt. Sende deine Nachricht:',
400
+ 'session.resume_failed': 'Session konnte nicht fortgesetzt werden: {error}',
401
+ 'session.expired': 'Session-Liste ist veraltet. Führe /sessions erneut aus.',
402
+ 'session.load_failed': 'Sessions konnten nicht geladen werden.',
403
+ 'resume.context_header': '↩️ Fortgesetzt — letzte {count} Nachrichten:',
404
+ 'resume.context_user_label': '👤',
405
+ 'resume.context_assistant_label': '🤖',
406
+ 'recap.missedCountHeader': '⚠️ {count} Nachricht(en) verpasst, während der Bot offline war. Neueste aus der Session:',
407
+ 'recap.restartedFallbackHeader': '🔄 Bot neu gestartet. Neueste aus der Session:',
408
+ 'recap.stillWorkingLine': '⏳ Der Agent arbeitet noch…',
409
+ 'trace.onThisThreadReply': '🔎 Tracing für diesen Thread aktiviert.',
410
+ 'trace.offThisThreadReply': '🔎 Tracing für diesen Thread deaktiviert.',
411
+ 'trace.onAllThreadsReply': '🔎 Tracing für ALLE Threads aktiviert.',
412
+ 'trace.offAllThreadsReply': '🔎 Tracing überall deaktiviert (das «all»-Flag und die Thread-Liste wurden geleert).',
413
+ 'trace.statusReply': '🔎 Trace — dieser Thread: {thisThread}\nAlle Threads: {allThreads}\nGetracete Threads: {count}',
414
+ 'trace.statusOnLabel': 'an',
415
+ 'trace.statusOffLabel': 'aus',
416
+ 'trace.usageHint': 'Verwendung: /trace on | off | on all | off all | (kein Argument — Status)',
417
+ 'timestamps.onReply': '🕐 Zeitstempel aktiviert: jeder an den Agent weitergeleitete Prompt erhält die Sendezeit als erste Zeile (nie im Topic gepostet).',
418
+ 'timestamps.offReply': '🕐 Zeitstempel für diesen Thread deaktiviert.',
419
+ 'timestamps.statusOnReply': '🕐 Zeitstempel: an für diesen Thread.',
420
+ 'timestamps.statusOffReply': '🕐 Zeitstempel: aus für diesen Thread.',
421
+ 'timestamps.usageHint': 'Verwendung: /timestamps on | off | (kein Argument — Status)',
422
+ 'schedule.fired': '⏰ Zeitplan „{name}« ({schedule}){missedNote}\n\n{prompt}',
423
+ 'schedule.missedNote': ' — verpasst um {time}, hole nach',
424
+ 'schedule.checkFailed': '🚨 Prüfung „{name}« fehlgeschlagen: {failure} ({schedule}){missedNote}\n$ {command}\n\n{output}\n\nDer Agent wird geweckt. Keine weiteren Alarme, bis die Prüfung wieder besteht.',
425
+ 'schedule.checkRecovered': '✅ Prüfung „{name}« besteht wieder.',
426
+ 'schedule.pausedUnbound': '⏸ Zeitpläne pausiert: {count} — das Topic wurde vom Ordner getrennt. /bind bringt sie zurück.',
427
+ 'schedule.resumedRebind': '▶️ Zeitpläne fortgesetzt: {count} (nächster Lauf ab jetzt neu berechnet).',
428
+ 'schedule.noAgent': '⚠️ Nichts geplant — in diesem Thema läuft kein Agent, ein geplanter Lauf hätte also nichts zu starten. Starte zuerst /claude oder /opencode.',
429
+ 'schedule.currentTimeNote': 'Current time is {now} in timezone {zone}. Resolve every relative time phrasing ("tomorrow", "in 2 hours", "9am") against THAT clock — the schedule fires in the same timezone.',
430
+ 'schedule.forwardPromptTemplate': 'The user wants to schedule the following. Use the schedule_create / schedule_list / schedule_cancel MCP tools (cron for repeats, one-shot for a single run), translating any time phrasing into the right schedule, then confirm to the user IN GERMAN what you scheduled.\n\n{timeNote}\n\nRequest: {text}',
431
+ 'schedule.interviewPromptTemplate': 'The user invoked /schedule with no details. Ask them IN GERMAN what prompt they want scheduled and WHEN (one-time or repeating). Once you have both, create it with the schedule_create MCP tool and confirm IN GERMAN what you scheduled.\n\n{timeNote}',
432
+ // ── /reminders (bot-local reminders: buttons only, no agent involved) ──
433
+ 'reminders.fired': '🔔 {text}\n\n📅 {schedule}{missedNote}',
434
+ 'reminders.scheduleDaily': 'täglich um {time}',
435
+ 'reminders.scheduleWeekdays': 'werktags um {time}',
436
+ 'reminders.scheduleWeekly': '{weekday} um {time}',
437
+ 'reminders.scheduleMonthly': 'am {dayOfMonth}. um {time}',
438
+ 'reminders.scheduleOnce': '{date} um {time}',
439
+ 'reminders.scheduleRaw': 'cron {text}',
440
+ 'reminders.nextRunToday': 'heute um {time}',
441
+ 'reminders.nextRunTomorrow': 'morgen um {time}',
442
+ 'reminders.nextRunOnDate': '{date} um {time}',
443
+ 'reminders.nextRunNone': '—',
444
+ 'reminders.hubTitle': '🔔 Erinnerungen',
445
+ 'reminders.hubEmptyLine': 'Noch keine Erinnerungen.',
446
+ 'reminders.hubActiveLine': 'Aktiv: {count}',
447
+ 'reminders.hubLimitLine': 'Aktiv: {count} — das Limit von {limit} ist erreicht. Lösche eine, um eine neue anzulegen.',
448
+ 'reminders.addButton': '➕ Hinzufügen',
449
+ 'reminders.listButton': '📋 Liste ({count})',
450
+ 'reminders.closeButton': '✕ Schließen',
451
+ 'reminders.closedNotice': '🔔 Erinnerungen geschlossen.',
452
+ 'reminders.listTitle': '📋 Erinnerungen ({count})',
453
+ 'reminders.listPageLine': 'Seite {page} von {total}',
454
+ 'reminders.listRow': '🔔 {name} · {schedule}',
455
+ 'reminders.listPrevButton': '‹ Vorherige',
456
+ 'reminders.listNextButton': 'Nächste ›',
457
+ 'reminders.listBackToHubButton': '‹ Zurück',
458
+ 'reminders.cardTitle': '🔔 {name}',
459
+ 'reminders.cardWhen': 'Wann: {schedule}',
460
+ 'reminders.cardText': 'Text: „{text}“',
461
+ 'reminders.cardNext': 'Nächste: {next}',
462
+ 'reminders.cardDeleteButton': '🗑 Löschen',
463
+ 'reminders.cardBackToListButton': '‹ Zur Liste',
464
+ 'reminders.createdTitle': '✅ Erinnerung erstellt',
465
+ 'reminders.doneListButton': '📋 Liste',
466
+ 'reminders.wizardTitle': '🔔 Neue Erinnerung',
467
+ 'reminders.pickRepeat': 'Wiederholung: {value}',
468
+ 'reminders.pickDate': 'Datum: {value}',
469
+ 'reminders.pickWeekday': 'Wochentag: {value}',
470
+ 'reminders.pickDayOfMonth': 'Tag im Monat: {value}',
471
+ 'reminders.pickTime': 'Uhrzeit: {value}',
472
+ 'reminders.pickText': 'Text: „{value}“',
473
+ 'reminders.stepRepeatQuestion': 'SCHRITT 1/4 · Wie oft?',
474
+ 'reminders.stepDateQuestion': 'SCHRITT 2/4 · Welcher Tag?',
475
+ 'reminders.stepDateGridQuestion': 'SCHRITT 2/4 · Datum wählen:',
476
+ 'reminders.stepWeekdayQuestion': 'SCHRITT 2/4 · Welcher Wochentag?',
477
+ 'reminders.stepDayOfMonthQuestion': 'SCHRITT 2/4 · Welcher Tag im Monat?',
478
+ 'reminders.stepDayOfMonthGridQuestion': 'SCHRITT 2/4 · Tag im Monat wählen:',
479
+ 'reminders.stepTimeQuestion': 'SCHRITT 3/4 · Um welche Uhrzeit?',
480
+ 'reminders.stepHourQuestion': 'SCHRITT 3/4 · Stunde wählen:',
481
+ 'reminders.stepMinuteQuestion': 'SCHRITT 3/4 · {hour}:__ — Minuten wählen:',
482
+ 'reminders.stepTextQuestion': 'SCHRITT 4/4 · Sende den Erinnerungstext — tippe ihn oder nimm eine Sprachnachricht auf.',
483
+ 'reminders.repeatOnceButton': 'Einmal',
484
+ 'reminders.repeatDailyButton': 'Täglich',
485
+ 'reminders.repeatWeekdaysButton': 'Werktags',
486
+ 'reminders.repeatWeeklyButton': 'Wöchentlich',
487
+ 'reminders.repeatMonthlyButton': 'Monatlich',
488
+ 'reminders.dateTodayButton': 'Heute',
489
+ 'reminders.dateTomorrowButton': 'Morgen',
490
+ 'reminders.dateOtherButton': '✏️ Anderes Datum…',
491
+ 'reminders.dayOfMonthOtherButton': '✏️ Anderer Tag…',
492
+ 'reminders.timeOtherButton': '🕐 Andere Uhrzeit',
493
+ 'reminders.backButton': '‹ Zurück',
494
+ 'reminders.cancelButton': '✕ Abbrechen',
495
+ 'reminders.weekdayMondayButton': 'Mo',
496
+ 'reminders.weekdayTuesdayButton': 'Di',
497
+ 'reminders.weekdayWednesdayButton': 'Mi',
498
+ 'reminders.weekdayThursdayButton': 'Do',
499
+ 'reminders.weekdayFridayButton': 'Fr',
500
+ 'reminders.weekdaySaturdayButton': 'Sa',
501
+ 'reminders.weekdaySundayButton': 'So',
502
+ 'reminders.errorPastTime': '⚠️ Diese Uhrzeit ist schon vorbei. Wähle eine spätere Uhrzeit oder geh zurück und ändere den Tag.',
503
+ 'reminders.errorInvalidDate': '⚠️ Dieses Datum gibt es nicht. Wähle ein anderes.',
504
+ 'reminders.errorInvalidTime': '⚠️ Diese Uhrzeit gibt es an diesem Tag nicht — die Uhren werden umgestellt. Wähle eine andere Uhrzeit.',
505
+ 'reminders.errorTextTooLong': '⚠️ Dieser Text ist zu lang (höchstens {limit} Zeichen) und wurde NICHT gespeichert. Sende einen kürzeren.',
506
+ 'reminders.cancelledNotice': '✕ Abgebrochen',
507
+ 'reminders.expiredNotice': '✕ Abgelaufen — der Erinnerungstext kam nie an.',
508
+ 'reminders.capReachedNotice': '⚠️ Dieses Thema hat bereits {limit} Erinnerungen — lösche eine, bevor du eine neue anlegst.',
509
+ 'reminders.wizardExpiredCbAnswer': 'Dieser Assistent ist veraltet — führe /reminders erneut aus.',
510
+ 'reminders.deletedCbAnswer': '🗑 Gelöscht',
511
+ 'reminders.deleteGoneCbAnswer': 'Schon gelöscht.',
512
+ 'reminders.cardExpiredCbAnswer': 'Diese Erinnerung gibt es nicht mehr.',
513
+ 'apiRetry.transientNotice': '⏳ API rate-limited — automatischer Wiederholungsversuch in {minutes} Min (Versuch {attempt}).',
514
+ 'apiRetry.usageLimitDelayNotice': '🚧 Nutzungslimit erreicht — Wiederholung in {minutes} Min (Versuch {attempt}).',
515
+ 'apiRetry.usageLimitResetNotice': '🚧 Nutzungslimit erreicht — automatisches Fortsetzen nach Reset (~{time}).',
516
+ 'apiRetry.resuming': '↻ Fortsetzen…',
517
+ 'apiRetry.limitResetResuming': '✅ Das Limit-Fenster wurde zurückgesetzt — ich setze die Arbeit in diesem Thema fort.',
518
+ 'apiRetry.giveUp': '⚠️ Konnte nach {attempts} Versuchen nicht fortsetzen. Schreibe mir, wann ich weitermachen soll.',
519
+ 'apiRetry.continueNudge': 'Fahre von dort fort, wo du aufgehört hast.',
520
+ 'apiRetry.loggedOutClaude': '⚠️ Claude ist abgemeldet — führe /login aus, um fortzufahren.',
521
+ 'apiRetry.loggedOutOpenCode': '⚠️ OpenCode: ungültige Anmeldedaten — starte den opencode-Server neu.',
522
+ // ── startup readiness status (boot-time owner notice) ──
523
+ 'startup.ready': '✅ Bereit — ich kann Nachrichten in Bot-Threads und Gruppenthemen verarbeiten.',
524
+ 'startup.header_not_ready': '⚠️ Einrichtung unvollständig. Um mit mir zu arbeiten, schließe bitte diese Schritte ab:',
525
+ 'startup.item.create_group': 'Erstelle eine Forum-Supergruppe mit aktivierten Themen und schreibe mir dort eine Nachricht, um sie zu koppeln.',
526
+ 'startup.item.grant_admin': 'Mache mich zum Admin mit diesen Rechten: {missing}.',
527
+ 'startup.item.bind_topic': 'Erstelle ein Thema und binde es mit /bind an einen Ordner.',
528
+ 'startup.item.install_agent': 'Installiere ein Agent-CLI — claude oder opencode.',
529
+ 'startup.item.optional_groq': '(optional) Füge GROQ_API_KEY zu deiner .env hinzu und starte neu, um Spracheingabe zu aktivieren.',
530
+ 'startup.item.optional_owner': '(optional) Setze OWNER_USER_ID, um diesen Status in deinem privaten Chat zu erhalten.',
531
+ 'requests.alert.notAnsweringNotice': '⚠️ Anfrage {requestId} blieb unbeantwortet: Der Agent hat seine Züge ohne Antwort beendet, und die Erinnerungen haben aufgegeben. Prüfe die Sitzung in diesem Thema.',
532
+ 'requests.alert.unreachableNotice': '⚠️ Anfrage {requestId} blieb unbeantwortet: Die Sitzung des Agenten war für eine Erinnerung nicht erreichbar. Prüfe die Sitzung in diesem Thema.',
533
+ 'requests.limit.answerAfterResetNotice': '🚧 Nutzungslimit erreicht — die Antwort kommt nach {time}.',
534
+ 'requests.limit.answerNextAttemptNotice': '🚧 Nutzungslimit erreicht — nächster Versuch um {time}.',
535
+ 'requests.limit.answerAutoResumeOffNotice': '🚧 Nutzungslimit erreicht. Die automatische Fortsetzung ist aus — die Arbeit wartet, bis der Betreiber sie fortsetzt.',
536
+ };
537
+ //# sourceMappingURL=de.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"de.js","sourceRoot":"","sources":["../../src/i18n/de.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description Canonical English catalog — the reference every other locale
3
+ * falls back to. A key missing in any locale resolves here. When adding a new
4
+ * key, add it here FIRST, then mirror it in every other locale file.
5
+ */
6
+ export declare const enDict: Record<string, string>;
7
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4qBzC,CAAC"}