charness 3.6.1 → 3.8.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 (828) hide show
  1. package/CHANGELOG.md +297 -0
  2. package/DEVELOPMENT.md +35 -5
  3. package/MIGRATION_RENAME_TO_CHARNESS.md +3 -2
  4. package/README.md +84 -782
  5. package/SETUP.md +48 -10
  6. package/agent-plugin/.claude-plugin/plugin.json +7 -0
  7. package/agent-plugin/README.md +35 -0
  8. package/agent-plugin/skills/charness-delegate-claude/SKILL.md +85 -0
  9. package/agent-plugin/skills/charness-delegate-claude/summarize-events.py +90 -0
  10. package/agent-plugin/skills/charness-delegate-opencode/SKILL.md +68 -0
  11. package/agent-plugin/skills/charness-manager/SKILL.md +152 -0
  12. package/dist/adapters/adapterNames.d.ts +6 -0
  13. package/dist/adapters/adapterNames.d.ts.map +1 -1
  14. package/dist/adapters/adapterNames.js +8 -2
  15. package/dist/adapters/adapterNames.js.map +1 -1
  16. package/dist/adapters/claudeCliAdapter.d.ts +8 -0
  17. package/dist/adapters/claudeCliAdapter.d.ts.map +1 -1
  18. package/dist/adapters/claudeCliAdapter.js +42 -5
  19. package/dist/adapters/claudeCliAdapter.js.map +1 -1
  20. package/dist/adapters/claudeJsonStreamAdapter.d.ts +10 -9
  21. package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -1
  22. package/dist/adapters/claudeJsonStreamAdapter.js +53 -55
  23. package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -1
  24. package/dist/adapters/createAdapter.d.ts +8 -0
  25. package/dist/adapters/createAdapter.d.ts.map +1 -1
  26. package/dist/adapters/createAdapter.js +14 -2
  27. package/dist/adapters/createAdapter.js.map +1 -1
  28. package/dist/adapters/openCodeAdapter.d.ts +43 -6
  29. package/dist/adapters/openCodeAdapter.d.ts.map +1 -1
  30. package/dist/adapters/openCodeAdapter.js +97 -7
  31. package/dist/adapters/openCodeAdapter.js.map +1 -1
  32. package/dist/agentLogin/agentLogin.d.ts +1 -1
  33. package/dist/agentLogin/agentLogin.d.ts.map +1 -1
  34. package/dist/apiRetryKick.d.ts +4 -3
  35. package/dist/apiRetryKick.d.ts.map +1 -1
  36. package/dist/apiRetryKick.js +16 -9
  37. package/dist/apiRetryKick.js.map +1 -1
  38. package/dist/bot.d.ts.map +1 -1
  39. package/dist/bot.js +1360 -387
  40. package/dist/bot.js.map +1 -1
  41. package/dist/cli/claudeProfiles.d.ts +11 -6
  42. package/dist/cli/claudeProfiles.d.ts.map +1 -1
  43. package/dist/cli/claudeProfiles.js +50 -22
  44. package/dist/cli/claudeProfiles.js.map +1 -1
  45. package/dist/cli/hot.d.ts +5 -0
  46. package/dist/cli/hot.d.ts.map +1 -1
  47. package/dist/cli/hot.js +71 -25
  48. package/dist/cli/hot.js.map +1 -1
  49. package/dist/cli/tscWatchGuard.d.ts +95 -0
  50. package/dist/cli/tscWatchGuard.d.ts.map +1 -0
  51. package/dist/cli/tscWatchGuard.js +295 -0
  52. package/dist/cli/tscWatchGuard.js.map +1 -0
  53. package/dist/cli.js +55 -1
  54. package/dist/cli.js.map +1 -1
  55. package/dist/configDirFile.d.ts +7 -3
  56. package/dist/configDirFile.d.ts.map +1 -1
  57. package/dist/configDirFile.js +12 -5
  58. package/dist/configDirFile.js.map +1 -1
  59. package/dist/connectors/jira/answerSink.d.ts +10 -0
  60. package/dist/connectors/jira/answerSink.d.ts.map +1 -1
  61. package/dist/connectors/jira/answerSink.js +13 -0
  62. package/dist/connectors/jira/answerSink.js.map +1 -1
  63. package/dist/connectors/jira/config.d.ts +2 -0
  64. package/dist/connectors/jira/config.d.ts.map +1 -1
  65. package/dist/connectors/jira/config.js +9 -1
  66. package/dist/connectors/jira/config.js.map +1 -1
  67. package/dist/connectors/jira/connector.d.ts +11 -1
  68. package/dist/connectors/jira/connector.d.ts.map +1 -1
  69. package/dist/connectors/jira/connector.js +7 -0
  70. package/dist/connectors/jira/connector.js.map +1 -1
  71. package/dist/connectors/jira/inbound.d.ts +27 -4
  72. package/dist/connectors/jira/inbound.d.ts.map +1 -1
  73. package/dist/connectors/jira/inbound.js +69 -8
  74. package/dist/connectors/jira/inbound.js.map +1 -1
  75. package/dist/connectors/jira/issueBlocks.d.ts +5 -0
  76. package/dist/connectors/jira/issueBlocks.d.ts.map +1 -1
  77. package/dist/connectors/jira/issueBlocks.js +11 -0
  78. package/dist/connectors/jira/issueBlocks.js.map +1 -1
  79. package/dist/connectors/telegram/bindPicker.d.ts +5 -0
  80. package/dist/connectors/telegram/bindPicker.d.ts.map +1 -1
  81. package/dist/connectors/telegram/bindPicker.js +18 -1
  82. package/dist/connectors/telegram/bindPicker.js.map +1 -1
  83. package/dist/connectors/telegram/bindPickerClaims.d.ts +46 -0
  84. package/dist/connectors/telegram/bindPickerClaims.d.ts.map +1 -0
  85. package/dist/connectors/telegram/bindPickerClaims.js +83 -0
  86. package/dist/connectors/telegram/bindPickerClaims.js.map +1 -0
  87. package/dist/connectors/telegram/bindSweep.d.ts +32 -0
  88. package/dist/connectors/telegram/bindSweep.d.ts.map +1 -0
  89. package/dist/connectors/telegram/bindSweep.js +47 -0
  90. package/dist/connectors/telegram/bindSweep.js.map +1 -0
  91. package/dist/connectors/telegram/bindingWelcome.d.ts +23 -0
  92. package/dist/connectors/telegram/bindingWelcome.d.ts.map +1 -0
  93. package/dist/connectors/telegram/bindingWelcome.js +26 -0
  94. package/dist/connectors/telegram/bindingWelcome.js.map +1 -0
  95. package/dist/connectors/telegram/botApiConnection.d.ts +74 -0
  96. package/dist/connectors/telegram/botApiConnection.d.ts.map +1 -0
  97. package/dist/connectors/telegram/botApiConnection.js +201 -0
  98. package/dist/connectors/telegram/botApiConnection.js.map +1 -0
  99. package/dist/connectors/telegram/commands/botCore.d.ts +13 -3
  100. package/dist/connectors/telegram/commands/botCore.d.ts.map +1 -1
  101. package/dist/connectors/telegram/commands/botSkills.d.ts +21 -0
  102. package/dist/connectors/telegram/commands/botSkills.d.ts.map +1 -0
  103. package/dist/connectors/telegram/commands/botSkills.js +133 -0
  104. package/dist/connectors/telegram/commands/botSkills.js.map +1 -0
  105. package/dist/connectors/telegram/commands/callbackMessage.d.ts +5 -0
  106. package/dist/connectors/telegram/commands/callbackMessage.d.ts.map +1 -1
  107. package/dist/connectors/telegram/commands/callbackMessage.js +9 -0
  108. package/dist/connectors/telegram/commands/callbackMessage.js.map +1 -1
  109. package/dist/connectors/telegram/commands/compaction.d.ts +65 -3
  110. package/dist/connectors/telegram/commands/compaction.d.ts.map +1 -1
  111. package/dist/connectors/telegram/commands/compaction.js +512 -94
  112. package/dist/connectors/telegram/commands/compaction.js.map +1 -1
  113. package/dist/connectors/telegram/commands/displayModes.d.ts +1 -1
  114. package/dist/connectors/telegram/commands/displayModes.d.ts.map +1 -1
  115. package/dist/connectors/telegram/commands/displayModes.js +6 -18
  116. package/dist/connectors/telegram/commands/displayModes.js.map +1 -1
  117. package/dist/connectors/telegram/commands/fallbackChain.js +5 -5
  118. package/dist/connectors/telegram/commands/fallbackChain.js.map +1 -1
  119. package/dist/connectors/telegram/commands/reminders.d.ts +1 -1
  120. package/dist/connectors/telegram/commands/reminders.d.ts.map +1 -1
  121. package/dist/connectors/telegram/commands/reminders.js +4 -15
  122. package/dist/connectors/telegram/commands/reminders.js.map +1 -1
  123. package/dist/connectors/telegram/commands/runners.d.ts +52 -0
  124. package/dist/connectors/telegram/commands/runners.d.ts.map +1 -0
  125. package/dist/connectors/telegram/commands/runners.js +486 -0
  126. package/dist/connectors/telegram/commands/runners.js.map +1 -0
  127. package/dist/connectors/telegram/commands/selfUpdate.d.ts.map +1 -1
  128. package/dist/connectors/telegram/commands/selfUpdate.js +1 -11
  129. package/dist/connectors/telegram/commands/selfUpdate.js.map +1 -1
  130. package/dist/connectors/telegram/commands/taskAgents.d.ts +22 -0
  131. package/dist/connectors/telegram/commands/taskAgents.d.ts.map +1 -0
  132. package/dist/connectors/telegram/commands/taskAgents.js +104 -0
  133. package/dist/connectors/telegram/commands/taskAgents.js.map +1 -0
  134. package/dist/connectors/telegram/commands/todo.d.ts +82 -0
  135. package/dist/connectors/telegram/commands/todo.d.ts.map +1 -0
  136. package/dist/connectors/telegram/commands/todo.js +384 -0
  137. package/dist/connectors/telegram/commands/todo.js.map +1 -0
  138. package/dist/connectors/telegram/commands/topicCommand.d.ts +6 -2
  139. package/dist/connectors/telegram/commands/topicCommand.d.ts.map +1 -1
  140. package/dist/connectors/telegram/commands/topicCommand.js +6 -9
  141. package/dist/connectors/telegram/commands/topicCommand.js.map +1 -1
  142. package/dist/connectors/telegram/openBindMessages.d.ts +45 -0
  143. package/dist/connectors/telegram/openBindMessages.d.ts.map +1 -0
  144. package/dist/connectors/telegram/openBindMessages.js +67 -0
  145. package/dist/connectors/telegram/openBindMessages.js.map +1 -0
  146. package/dist/connectors/telegram/outputFlushPlan.d.ts +49 -0
  147. package/dist/connectors/telegram/outputFlushPlan.d.ts.map +1 -1
  148. package/dist/connectors/telegram/outputFlushPlan.js +46 -0
  149. package/dist/connectors/telegram/outputFlushPlan.js.map +1 -1
  150. package/dist/connectors/telegram/pendingTopicName.d.ts +26 -0
  151. package/dist/connectors/telegram/pendingTopicName.d.ts.map +1 -0
  152. package/dist/connectors/telegram/pendingTopicName.js +27 -0
  153. package/dist/connectors/telegram/pendingTopicName.js.map +1 -0
  154. package/dist/connectors/telegram/runnerPairingMessages.d.ts +27 -0
  155. package/dist/connectors/telegram/runnerPairingMessages.d.ts.map +1 -0
  156. package/dist/connectors/telegram/runnerPairingMessages.js +105 -0
  157. package/dist/connectors/telegram/runnerPairingMessages.js.map +1 -0
  158. package/dist/connectors/test/connector.d.ts.map +1 -1
  159. package/dist/connectors/test/connector.js +6 -1
  160. package/dist/connectors/test/connector.js.map +1 -1
  161. package/dist/i18n/de.d.ts.map +1 -1
  162. package/dist/i18n/de.js +148 -7
  163. package/dist/i18n/de.js.map +1 -1
  164. package/dist/i18n/en.d.ts.map +1 -1
  165. package/dist/i18n/en.js +148 -7
  166. package/dist/i18n/en.js.map +1 -1
  167. package/dist/i18n/es.d.ts.map +1 -1
  168. package/dist/i18n/es.js +148 -7
  169. package/dist/i18n/es.js.map +1 -1
  170. package/dist/i18n/fr.d.ts.map +1 -1
  171. package/dist/i18n/fr.js +148 -7
  172. package/dist/i18n/fr.js.map +1 -1
  173. package/dist/i18n/hi.d.ts.map +1 -1
  174. package/dist/i18n/hi.js +148 -7
  175. package/dist/i18n/hi.js.map +1 -1
  176. package/dist/i18n/ja.d.ts.map +1 -1
  177. package/dist/i18n/ja.js +148 -7
  178. package/dist/i18n/ja.js.map +1 -1
  179. package/dist/i18n/ka.d.ts.map +1 -1
  180. package/dist/i18n/ka.js +148 -7
  181. package/dist/i18n/ka.js.map +1 -1
  182. package/dist/i18n/pt.d.ts.map +1 -1
  183. package/dist/i18n/pt.js +148 -7
  184. package/dist/i18n/pt.js.map +1 -1
  185. package/dist/i18n/ru.d.ts.map +1 -1
  186. package/dist/i18n/ru.js +148 -7
  187. package/dist/i18n/ru.js.map +1 -1
  188. package/dist/i18n/uk.d.ts.map +1 -1
  189. package/dist/i18n/uk.js +148 -7
  190. package/dist/i18n/uk.js.map +1 -1
  191. package/dist/i18n/uz.d.ts.map +1 -1
  192. package/dist/i18n/uz.js +148 -7
  193. package/dist/i18n/uz.js.map +1 -1
  194. package/dist/i18n/zh.d.ts.map +1 -1
  195. package/dist/i18n/zh.js +148 -7
  196. package/dist/i18n/zh.js.map +1 -1
  197. package/dist/i18n.d.ts +1 -1
  198. package/dist/i18n.js +1 -1
  199. package/dist/installManager.d.ts +70 -1
  200. package/dist/installManager.d.ts.map +1 -1
  201. package/dist/installManager.js +125 -13
  202. package/dist/installManager.js.map +1 -1
  203. package/dist/instanceSettings.d.ts +50 -1
  204. package/dist/instanceSettings.d.ts.map +1 -1
  205. package/dist/instanceSettings.js +119 -26
  206. package/dist/instanceSettings.js.map +1 -1
  207. package/dist/openCodeQuestionFlow.d.ts +30 -0
  208. package/dist/openCodeQuestionFlow.d.ts.map +1 -1
  209. package/dist/openCodeQuestionFlow.js +43 -0
  210. package/dist/openCodeQuestionFlow.js.map +1 -1
  211. package/dist/outputTrace.d.ts +6 -0
  212. package/dist/outputTrace.d.ts.map +1 -1
  213. package/dist/outputTrace.js +24 -1
  214. package/dist/outputTrace.js.map +1 -1
  215. package/dist/postToSession.d.ts +20 -5
  216. package/dist/postToSession.d.ts.map +1 -1
  217. package/dist/postToSession.js +38 -7
  218. package/dist/postToSession.js.map +1 -1
  219. package/dist/remoteRun/cliArgs.d.ts +75 -0
  220. package/dist/remoteRun/cliArgs.d.ts.map +1 -0
  221. package/dist/remoteRun/cliArgs.js +206 -0
  222. package/dist/remoteRun/cliArgs.js.map +1 -0
  223. package/dist/remoteRun/commands.d.ts +77 -0
  224. package/dist/remoteRun/commands.d.ts.map +1 -0
  225. package/dist/remoteRun/commands.js +327 -0
  226. package/dist/remoteRun/commands.js.map +1 -0
  227. package/dist/remoteRun/depsPlan.d.ts +16 -0
  228. package/dist/remoteRun/depsPlan.d.ts.map +1 -0
  229. package/dist/remoteRun/depsPlan.js +82 -0
  230. package/dist/remoteRun/depsPlan.js.map +1 -0
  231. package/dist/remoteRun/exitCodes.d.ts +34 -0
  232. package/dist/remoteRun/exitCodes.d.ts.map +1 -0
  233. package/dist/remoteRun/exitCodes.js +38 -0
  234. package/dist/remoteRun/exitCodes.js.map +1 -0
  235. package/dist/remoteRun/foreground.d.ts +29 -0
  236. package/dist/remoteRun/foreground.d.ts.map +1 -0
  237. package/dist/remoteRun/foreground.js +159 -0
  238. package/dist/remoteRun/foreground.js.map +1 -0
  239. package/dist/remoteRun/interrupts.d.ts +27 -0
  240. package/dist/remoteRun/interrupts.d.ts.map +1 -0
  241. package/dist/remoteRun/interrupts.js +78 -0
  242. package/dist/remoteRun/interrupts.js.map +1 -0
  243. package/dist/remoteRun/jobFiles.d.ts +31 -0
  244. package/dist/remoteRun/jobFiles.d.ts.map +1 -0
  245. package/dist/remoteRun/jobFiles.js +84 -0
  246. package/dist/remoteRun/jobFiles.js.map +1 -0
  247. package/dist/remoteRun/jobFormat.d.ts +16 -0
  248. package/dist/remoteRun/jobFormat.d.ts.map +1 -0
  249. package/dist/remoteRun/jobFormat.js +130 -0
  250. package/dist/remoteRun/jobFormat.js.map +1 -0
  251. package/dist/remoteRun/jobId.d.ts +15 -0
  252. package/dist/remoteRun/jobId.d.ts.map +1 -0
  253. package/dist/remoteRun/jobId.js +85 -0
  254. package/dist/remoteRun/jobId.js.map +1 -0
  255. package/dist/remoteRun/jobMeta.d.ts +18 -0
  256. package/dist/remoteRun/jobMeta.d.ts.map +1 -0
  257. package/dist/remoteRun/jobMeta.js +33 -0
  258. package/dist/remoteRun/jobMeta.js.map +1 -0
  259. package/dist/remoteRun/jobQuery.d.ts +12 -0
  260. package/dist/remoteRun/jobQuery.d.ts.map +1 -0
  261. package/dist/remoteRun/jobQuery.js +22 -0
  262. package/dist/remoteRun/jobQuery.js.map +1 -0
  263. package/dist/remoteRun/jobRecords.d.ts +22 -0
  264. package/dist/remoteRun/jobRecords.d.ts.map +1 -0
  265. package/dist/remoteRun/jobRecords.js +145 -0
  266. package/dist/remoteRun/jobRecords.js.map +1 -0
  267. package/dist/remoteRun/jobState.d.ts +62 -0
  268. package/dist/remoteRun/jobState.d.ts.map +1 -0
  269. package/dist/remoteRun/jobState.js +132 -0
  270. package/dist/remoteRun/jobState.js.map +1 -0
  271. package/dist/remoteRun/leaseTiming.d.ts +18 -0
  272. package/dist/remoteRun/leaseTiming.d.ts.map +1 -0
  273. package/dist/remoteRun/leaseTiming.js +43 -0
  274. package/dist/remoteRun/leaseTiming.js.map +1 -0
  275. package/dist/remoteRun/output.d.ts +37 -0
  276. package/dist/remoteRun/output.d.ts.map +1 -0
  277. package/dist/remoteRun/output.js +127 -0
  278. package/dist/remoteRun/output.js.map +1 -0
  279. package/dist/remoteRun/pairedRunners.d.ts +51 -0
  280. package/dist/remoteRun/pairedRunners.d.ts.map +1 -0
  281. package/dist/remoteRun/pairedRunners.js +165 -0
  282. package/dist/remoteRun/pairedRunners.js.map +1 -0
  283. package/dist/remoteRun/pathPatterns.d.ts +33 -0
  284. package/dist/remoteRun/pathPatterns.d.ts.map +1 -0
  285. package/dist/remoteRun/pathPatterns.js +115 -0
  286. package/dist/remoteRun/pathPatterns.js.map +1 -0
  287. package/dist/remoteRun/probe.d.ts +78 -0
  288. package/dist/remoteRun/probe.d.ts.map +1 -0
  289. package/dist/remoteRun/probe.js +157 -0
  290. package/dist/remoteRun/probe.js.map +1 -0
  291. package/dist/remoteRun/project.d.ts +26 -0
  292. package/dist/remoteRun/project.d.ts.map +1 -0
  293. package/dist/remoteRun/project.js +159 -0
  294. package/dist/remoteRun/project.js.map +1 -0
  295. package/dist/remoteRun/projectConfig.d.ts +38 -0
  296. package/dist/remoteRun/projectConfig.d.ts.map +1 -0
  297. package/dist/remoteRun/projectConfig.js +87 -0
  298. package/dist/remoteRun/projectConfig.js.map +1 -0
  299. package/dist/remoteRun/remoteRunCli.d.ts +22 -0
  300. package/dist/remoteRun/remoteRunCli.d.ts.map +1 -0
  301. package/dist/remoteRun/remoteRunCli.js +119 -0
  302. package/dist/remoteRun/remoteRunCli.js.map +1 -0
  303. package/dist/remoteRun/remoteRunError.d.ts +14 -0
  304. package/dist/remoteRun/remoteRunError.d.ts.map +1 -0
  305. package/dist/remoteRun/remoteRunError.js +28 -0
  306. package/dist/remoteRun/remoteRunError.js.map +1 -0
  307. package/dist/remoteRun/rsync.d.ts +17 -0
  308. package/dist/remoteRun/rsync.d.ts.map +1 -0
  309. package/dist/remoteRun/rsync.js +39 -0
  310. package/dist/remoteRun/rsync.js.map +1 -0
  311. package/dist/remoteRun/runnerClient.d.ts +52 -0
  312. package/dist/remoteRun/runnerClient.d.ts.map +1 -0
  313. package/dist/remoteRun/runnerClient.js +143 -0
  314. package/dist/remoteRun/runnerClient.js.map +1 -0
  315. package/dist/remoteRun/runnerSummary.d.ts +24 -0
  316. package/dist/remoteRun/runnerSummary.d.ts.map +1 -0
  317. package/dist/remoteRun/runnerSummary.js +86 -0
  318. package/dist/remoteRun/runnerSummary.js.map +1 -0
  319. package/dist/remoteRun/runnerWait.d.ts +68 -0
  320. package/dist/remoteRun/runnerWait.d.ts.map +1 -0
  321. package/dist/remoteRun/runnerWait.js +137 -0
  322. package/dist/remoteRun/runnerWait.js.map +1 -0
  323. package/dist/remoteRun/runnerWaitTiming.d.ts +16 -0
  324. package/dist/remoteRun/runnerWaitTiming.d.ts.map +1 -0
  325. package/dist/remoteRun/runnerWaitTiming.js +37 -0
  326. package/dist/remoteRun/runnerWaitTiming.js.map +1 -0
  327. package/dist/remoteRun/runners.d.ts +57 -0
  328. package/dist/remoteRun/runners.d.ts.map +1 -0
  329. package/dist/remoteRun/runners.js +209 -0
  330. package/dist/remoteRun/runners.js.map +1 -0
  331. package/dist/remoteRun/runnersCatalog.d.ts +14 -0
  332. package/dist/remoteRun/runnersCatalog.d.ts.map +1 -0
  333. package/dist/remoteRun/runnersCatalog.js +68 -0
  334. package/dist/remoteRun/runnersCatalog.js.map +1 -0
  335. package/dist/remoteRun/runnersConfig.d.ts +53 -0
  336. package/dist/remoteRun/runnersConfig.d.ts.map +1 -0
  337. package/dist/remoteRun/runnersConfig.js +109 -0
  338. package/dist/remoteRun/runnersConfig.js.map +1 -0
  339. package/dist/remoteRun/safeCopy.d.ts +31 -0
  340. package/dist/remoteRun/safeCopy.d.ts.map +1 -0
  341. package/dist/remoteRun/safeCopy.js +137 -0
  342. package/dist/remoteRun/safeCopy.js.map +1 -0
  343. package/dist/remoteRun/sendPlan.d.ts +67 -0
  344. package/dist/remoteRun/sendPlan.d.ts.map +1 -0
  345. package/dist/remoteRun/sendPlan.js +139 -0
  346. package/dist/remoteRun/sendPlan.js.map +1 -0
  347. package/dist/remoteRun/ssh.d.ts +82 -0
  348. package/dist/remoteRun/ssh.d.ts.map +1 -0
  349. package/dist/remoteRun/ssh.js +236 -0
  350. package/dist/remoteRun/ssh.js.map +1 -0
  351. package/dist/remoteRun/submit.d.ts +29 -0
  352. package/dist/remoteRun/submit.d.ts.map +1 -0
  353. package/dist/remoteRun/submit.js +142 -0
  354. package/dist/remoteRun/submit.js.map +1 -0
  355. package/dist/requests/answerRequest.d.ts +5 -0
  356. package/dist/requests/answerRequest.d.ts.map +1 -1
  357. package/dist/requests/answerRequest.js +16 -1
  358. package/dist/requests/answerRequest.js.map +1 -1
  359. package/dist/requests/requestLedger.d.ts +13 -0
  360. package/dist/requests/requestLedger.d.ts.map +1 -1
  361. package/dist/requests/requestLedger.js +9 -0
  362. package/dist/requests/requestLedger.js.map +1 -1
  363. package/dist/requests/topicRequestSettle.d.ts +30 -0
  364. package/dist/requests/topicRequestSettle.d.ts.map +1 -0
  365. package/dist/requests/topicRequestSettle.js +23 -0
  366. package/dist/requests/topicRequestSettle.js.map +1 -0
  367. package/dist/requests/wakeUpEngine.d.ts +4 -0
  368. package/dist/requests/wakeUpEngine.d.ts.map +1 -1
  369. package/dist/requests/wakeUpEngine.js +5 -1
  370. package/dist/requests/wakeUpEngine.js.map +1 -1
  371. package/dist/runnerUtility/adminCheck.d.ts +11 -0
  372. package/dist/runnerUtility/adminCheck.d.ts.map +1 -0
  373. package/dist/runnerUtility/adminCheck.js +68 -0
  374. package/dist/runnerUtility/adminCheck.js.map +1 -0
  375. package/dist/runnerUtility/appInstall.d.ts +25 -0
  376. package/dist/runnerUtility/appInstall.d.ts.map +1 -0
  377. package/dist/runnerUtility/appInstall.js +147 -0
  378. package/dist/runnerUtility/appInstall.js.map +1 -0
  379. package/dist/runnerUtility/appUpdate.d.ts +39 -0
  380. package/dist/runnerUtility/appUpdate.d.ts.map +1 -0
  381. package/dist/runnerUtility/appUpdate.js +90 -0
  382. package/dist/runnerUtility/appUpdate.js.map +1 -0
  383. package/dist/runnerUtility/execEnv.d.ts +21 -0
  384. package/dist/runnerUtility/execEnv.d.ts.map +1 -0
  385. package/dist/runnerUtility/execEnv.js +109 -0
  386. package/dist/runnerUtility/execEnv.js.map +1 -0
  387. package/dist/runnerUtility/execSession.d.ts +13 -0
  388. package/dist/runnerUtility/execSession.d.ts.map +1 -0
  389. package/dist/runnerUtility/execSession.js +58 -0
  390. package/dist/runnerUtility/execSession.js.map +1 -0
  391. package/dist/runnerUtility/hubClient.d.ts +30 -0
  392. package/dist/runnerUtility/hubClient.d.ts.map +1 -0
  393. package/dist/runnerUtility/hubClient.js +127 -0
  394. package/dist/runnerUtility/hubClient.js.map +1 -0
  395. package/dist/runnerUtility/injectStream.d.ts +9 -0
  396. package/dist/runnerUtility/injectStream.d.ts.map +1 -0
  397. package/dist/runnerUtility/injectStream.js +12 -0
  398. package/dist/runnerUtility/injectStream.js.map +1 -0
  399. package/dist/runnerUtility/iosCheck.d.ts +62 -0
  400. package/dist/runnerUtility/iosCheck.d.ts.map +1 -0
  401. package/dist/runnerUtility/iosCheck.js +200 -0
  402. package/dist/runnerUtility/iosCheck.js.map +1 -0
  403. package/dist/runnerUtility/launcher.d.ts +5 -0
  404. package/dist/runnerUtility/launcher.d.ts.map +1 -0
  405. package/dist/runnerUtility/launcher.js +85 -0
  406. package/dist/runnerUtility/launcher.js.map +1 -0
  407. package/dist/runnerUtility/linkLoop.d.ts +47 -0
  408. package/dist/runnerUtility/linkLoop.d.ts.map +1 -0
  409. package/dist/runnerUtility/linkLoop.js +281 -0
  410. package/dist/runnerUtility/linkLoop.js.map +1 -0
  411. package/dist/runnerUtility/localLinkStop.d.ts +23 -0
  412. package/dist/runnerUtility/localLinkStop.d.ts.map +1 -0
  413. package/dist/runnerUtility/localLinkStop.js +79 -0
  414. package/dist/runnerUtility/localLinkStop.js.map +1 -0
  415. package/dist/runnerUtility/machineReport.d.ts +39 -0
  416. package/dist/runnerUtility/machineReport.d.ts.map +1 -0
  417. package/dist/runnerUtility/machineReport.js +161 -0
  418. package/dist/runnerUtility/machineReport.js.map +1 -0
  419. package/dist/runnerUtility/packageId.d.ts +5 -0
  420. package/dist/runnerUtility/packageId.d.ts.map +1 -0
  421. package/dist/runnerUtility/packageId.js +64 -0
  422. package/dist/runnerUtility/packageId.js.map +1 -0
  423. package/dist/runnerUtility/pairingRecovery.d.ts +31 -0
  424. package/dist/runnerUtility/pairingRecovery.d.ts.map +1 -0
  425. package/dist/runnerUtility/pairingRecovery.js +24 -0
  426. package/dist/runnerUtility/pairingRecovery.js.map +1 -0
  427. package/dist/runnerUtility/pueueDaemon.d.ts +36 -0
  428. package/dist/runnerUtility/pueueDaemon.d.ts.map +1 -0
  429. package/dist/runnerUtility/pueueDaemon.js +165 -0
  430. package/dist/runnerUtility/pueueDaemon.js.map +1 -0
  431. package/dist/runnerUtility/runnerCli.d.ts +18 -0
  432. package/dist/runnerUtility/runnerCli.d.ts.map +1 -0
  433. package/dist/runnerUtility/runnerCli.js +184 -0
  434. package/dist/runnerUtility/runnerCli.js.map +1 -0
  435. package/dist/runnerUtility/runnerCommands.d.ts +67 -0
  436. package/dist/runnerUtility/runnerCommands.d.ts.map +1 -0
  437. package/dist/runnerUtility/runnerCommands.js +418 -0
  438. package/dist/runnerUtility/runnerCommands.js.map +1 -0
  439. package/dist/runnerUtility/runnerConfig.d.ts +63 -0
  440. package/dist/runnerUtility/runnerConfig.d.ts.map +1 -0
  441. package/dist/runnerUtility/runnerConfig.js +153 -0
  442. package/dist/runnerUtility/runnerConfig.js.map +1 -0
  443. package/dist/runnerUtility/runnerFlags.d.ts +9 -0
  444. package/dist/runnerUtility/runnerFlags.d.ts.map +1 -0
  445. package/dist/runnerUtility/runnerFlags.js +53 -0
  446. package/dist/runnerUtility/runnerFlags.js.map +1 -0
  447. package/dist/runnerUtility/runnerHome.d.ts +30 -0
  448. package/dist/runnerUtility/runnerHome.d.ts.map +1 -0
  449. package/dist/runnerUtility/runnerHome.js +82 -0
  450. package/dist/runnerUtility/runnerHome.js.map +1 -0
  451. package/dist/runnerUtility/runnerKeys.d.ts +11 -0
  452. package/dist/runnerUtility/runnerKeys.d.ts.map +1 -0
  453. package/dist/runnerUtility/runnerKeys.js +80 -0
  454. package/dist/runnerUtility/runnerKeys.js.map +1 -0
  455. package/dist/runnerUtility/runnerServers.d.ts +40 -0
  456. package/dist/runnerUtility/runnerServers.d.ts.map +1 -0
  457. package/dist/runnerUtility/runnerServers.js +79 -0
  458. package/dist/runnerUtility/runnerServers.js.map +1 -0
  459. package/dist/runnerUtility/serviceManager.d.ts +54 -0
  460. package/dist/runnerUtility/serviceManager.d.ts.map +1 -0
  461. package/dist/runnerUtility/serviceManager.js +413 -0
  462. package/dist/runnerUtility/serviceManager.js.map +1 -0
  463. package/dist/runnerUtility/serviceUnits.d.ts +36 -0
  464. package/dist/runnerUtility/serviceUnits.d.ts.map +1 -0
  465. package/dist/runnerUtility/serviceUnits.js +169 -0
  466. package/dist/runnerUtility/serviceUnits.js.map +1 -0
  467. package/dist/runnerUtility/toolInstall.d.ts +95 -0
  468. package/dist/runnerUtility/toolInstall.d.ts.map +1 -0
  469. package/dist/runnerUtility/toolInstall.js +232 -0
  470. package/dist/runnerUtility/toolInstall.js.map +1 -0
  471. package/dist/runnerUtility/versionPollTiming.d.ts +16 -0
  472. package/dist/runnerUtility/versionPollTiming.d.ts.map +1 -0
  473. package/dist/runnerUtility/versionPollTiming.js +36 -0
  474. package/dist/runnerUtility/versionPollTiming.js.map +1 -0
  475. package/dist/runners/authorizedKeys.d.ts +52 -0
  476. package/dist/runners/authorizedKeys.d.ts.map +1 -0
  477. package/dist/runners/authorizedKeys.js +153 -0
  478. package/dist/runners/authorizedKeys.js.map +1 -0
  479. package/dist/runners/bootstrapLine.d.ts +4 -0
  480. package/dist/runners/bootstrapLine.d.ts.map +1 -0
  481. package/dist/runners/bootstrapLine.js +69 -0
  482. package/dist/runners/bootstrapLine.js.map +1 -0
  483. package/dist/runners/gate.d.ts +41 -0
  484. package/dist/runners/gate.d.ts.map +1 -0
  485. package/dist/runners/gate.js +216 -0
  486. package/dist/runners/gate.js.map +1 -0
  487. package/dist/runners/gateLink.d.ts +26 -0
  488. package/dist/runners/gateLink.d.ts.map +1 -0
  489. package/dist/runners/gateLink.js +240 -0
  490. package/dist/runners/gateLink.js.map +1 -0
  491. package/dist/runners/gateProtocol.d.ts +98 -0
  492. package/dist/runners/gateProtocol.d.ts.map +1 -0
  493. package/dist/runners/gateProtocol.js +149 -0
  494. package/dist/runners/gateProtocol.js.map +1 -0
  495. package/dist/runners/gateWrapper.d.ts +6 -0
  496. package/dist/runners/gateWrapper.d.ts.map +1 -0
  497. package/dist/runners/gateWrapper.js +70 -0
  498. package/dist/runners/gateWrapper.js.map +1 -0
  499. package/dist/runners/hubAddress.d.ts +33 -0
  500. package/dist/runners/hubAddress.d.ts.map +1 -0
  501. package/dist/runners/hubAddress.js +88 -0
  502. package/dist/runners/hubAddress.js.map +1 -0
  503. package/dist/runners/hubAddressCandidates.d.ts +16 -0
  504. package/dist/runners/hubAddressCandidates.d.ts.map +1 -0
  505. package/dist/runners/hubAddressCandidates.js +96 -0
  506. package/dist/runners/hubAddressCandidates.js.map +1 -0
  507. package/dist/runners/hubIds.d.ts +16 -0
  508. package/dist/runners/hubIds.d.ts.map +1 -0
  509. package/dist/runners/hubIds.js +25 -0
  510. package/dist/runners/hubIds.js.map +1 -0
  511. package/dist/runners/hubKey.d.ts +6 -0
  512. package/dist/runners/hubKey.d.ts.map +1 -0
  513. package/dist/runners/hubKey.js +78 -0
  514. package/dist/runners/hubKey.js.map +1 -0
  515. package/dist/runners/hubLock.d.ts +7 -0
  516. package/dist/runners/hubLock.d.ts.map +1 -0
  517. package/dist/runners/hubLock.js +230 -0
  518. package/dist/runners/hubLock.js.map +1 -0
  519. package/dist/runners/hubPackage.d.ts +23 -0
  520. package/dist/runners/hubPackage.d.ts.map +1 -0
  521. package/dist/runners/hubPackage.js +184 -0
  522. package/dist/runners/hubPackage.js.map +1 -0
  523. package/dist/runners/hubPairing.d.ts +63 -0
  524. package/dist/runners/hubPairing.d.ts.map +1 -0
  525. package/dist/runners/hubPairing.js +261 -0
  526. package/dist/runners/hubPairing.js.map +1 -0
  527. package/dist/runners/hubPaths.d.ts +38 -0
  528. package/dist/runners/hubPaths.d.ts.map +1 -0
  529. package/dist/runners/hubPaths.js +94 -0
  530. package/dist/runners/hubPaths.js.map +1 -0
  531. package/dist/runners/hubRegistry.d.ts +112 -0
  532. package/dist/runners/hubRegistry.d.ts.map +1 -0
  533. package/dist/runners/hubRegistry.js +210 -0
  534. package/dist/runners/hubRegistry.js.map +1 -0
  535. package/dist/runners/linkControl.d.ts +27 -0
  536. package/dist/runners/linkControl.d.ts.map +1 -0
  537. package/dist/runners/linkControl.js +124 -0
  538. package/dist/runners/linkControl.js.map +1 -0
  539. package/dist/runners/pairCode.d.ts +30 -0
  540. package/dist/runners/pairCode.d.ts.map +1 -0
  541. package/dist/runners/pairCode.js +46 -0
  542. package/dist/runners/pairCode.js.map +1 -0
  543. package/dist/runners/pairingTiming.d.ts +18 -0
  544. package/dist/runners/pairingTiming.d.ts.map +1 -0
  545. package/dist/runners/pairingTiming.js +42 -0
  546. package/dist/runners/pairingTiming.js.map +1 -0
  547. package/dist/runners/runnerProxy.d.ts +9 -0
  548. package/dist/runners/runnerProxy.d.ts.map +1 -0
  549. package/dist/runners/runnerProxy.js +67 -0
  550. package/dist/runners/runnerProxy.js.map +1 -0
  551. package/dist/runners/runnerRemoval.d.ts +21 -0
  552. package/dist/runners/runnerRemoval.d.ts.map +1 -0
  553. package/dist/runners/runnerRemoval.js +82 -0
  554. package/dist/runners/runnerRemoval.js.map +1 -0
  555. package/dist/runners/runnersCli.d.ts +16 -0
  556. package/dist/runners/runnersCli.d.ts.map +1 -0
  557. package/dist/runners/runnersCli.js +214 -0
  558. package/dist/runners/runnersCli.js.map +1 -0
  559. package/dist/runners/runnersList.d.ts +17 -0
  560. package/dist/runners/runnersList.d.ts.map +1 -0
  561. package/dist/runners/runnersList.js +49 -0
  562. package/dist/runners/runnersList.js.map +1 -0
  563. package/dist/runners/runnersOverview.d.ts +20 -0
  564. package/dist/runners/runnersOverview.d.ts.map +1 -0
  565. package/dist/runners/runnersOverview.js +55 -0
  566. package/dist/runners/runnersOverview.js.map +1 -0
  567. package/dist/runners/sshKeys.d.ts +26 -0
  568. package/dist/runners/sshKeys.d.ts.map +1 -0
  569. package/dist/runners/sshKeys.js +60 -0
  570. package/dist/runners/sshKeys.js.map +1 -0
  571. package/dist/runners/tarArchive.d.ts +20 -0
  572. package/dist/runners/tarArchive.d.ts.map +1 -0
  573. package/dist/runners/tarArchive.js +70 -0
  574. package/dist/runners/tarArchive.js.map +1 -0
  575. package/dist/scheduler/delivery.d.ts +2 -0
  576. package/dist/scheduler/delivery.d.ts.map +1 -1
  577. package/dist/scheduler/delivery.js +8 -4
  578. package/dist/scheduler/delivery.js.map +1 -1
  579. package/dist/scheduler/mcpSurface.d.ts +65 -10
  580. package/dist/scheduler/mcpSurface.d.ts.map +1 -1
  581. package/dist/scheduler/mcpSurface.js +319 -89
  582. package/dist/scheduler/mcpSurface.js.map +1 -1
  583. package/dist/scheduler/recurrence.d.ts +5 -0
  584. package/dist/scheduler/recurrence.d.ts.map +1 -1
  585. package/dist/scheduler/recurrence.js +12 -2
  586. package/dist/scheduler/recurrence.js.map +1 -1
  587. package/dist/scheduler/strictToolInput.d.ts +45 -0
  588. package/dist/scheduler/strictToolInput.d.ts.map +1 -0
  589. package/dist/scheduler/strictToolInput.js +155 -0
  590. package/dist/scheduler/strictToolInput.js.map +1 -0
  591. package/dist/scheduler/types.d.ts +5 -0
  592. package/dist/scheduler/types.d.ts.map +1 -1
  593. package/dist/scheduler/workerWatch.d.ts +23 -0
  594. package/dist/scheduler/workerWatch.d.ts.map +1 -0
  595. package/dist/scheduler/workerWatch.js +26 -0
  596. package/dist/scheduler/workerWatch.js.map +1 -0
  597. package/dist/selfUpdate/emittedSource.d.ts +11 -0
  598. package/dist/selfUpdate/emittedSource.d.ts.map +1 -0
  599. package/dist/selfUpdate/emittedSource.js +24 -0
  600. package/dist/selfUpdate/emittedSource.js.map +1 -0
  601. package/dist/selfUpdate/gitSource.d.ts +0 -6
  602. package/dist/selfUpdate/gitSource.d.ts.map +1 -1
  603. package/dist/selfUpdate/gitSource.js +2 -18
  604. package/dist/selfUpdate/gitSource.js.map +1 -1
  605. package/dist/selfUpdate/selfCheck.js +2 -2
  606. package/dist/selfUpdate/selfCheck.js.map +1 -1
  607. package/dist/selfUpdate/updatePending.d.ts +1 -1
  608. package/dist/sendErrorClassifier.d.ts +10 -0
  609. package/dist/sendErrorClassifier.d.ts.map +1 -1
  610. package/dist/sendErrorClassifier.js +22 -0
  611. package/dist/sendErrorClassifier.js.map +1 -1
  612. package/dist/state.d.ts +78 -7
  613. package/dist/state.d.ts.map +1 -1
  614. package/dist/state.js +125 -8
  615. package/dist/state.js.map +1 -1
  616. package/dist/stateFile.d.ts +9 -0
  617. package/dist/stateFile.d.ts.map +1 -0
  618. package/dist/stateFile.js +57 -0
  619. package/dist/stateFile.js.map +1 -0
  620. package/dist/stt/sttInstall.d.ts +7 -3
  621. package/dist/stt/sttInstall.d.ts.map +1 -1
  622. package/dist/stt/sttInstall.js +8 -4
  623. package/dist/stt/sttInstall.js.map +1 -1
  624. package/dist/stt/sttSettings.d.ts +2 -1
  625. package/dist/stt/sttSettings.d.ts.map +1 -1
  626. package/dist/stt/sttSettings.js +3 -2
  627. package/dist/stt/sttSettings.js.map +1 -1
  628. package/dist/stt/transcribeChain.js +2 -0
  629. package/dist/stt/transcribeChain.js.map +1 -1
  630. package/dist/testTimings.d.ts +16 -3
  631. package/dist/testTimings.d.ts.map +1 -1
  632. package/dist/testTimings.js +35 -2
  633. package/dist/testTimings.js.map +1 -1
  634. package/dist/todos/board.d.ts +83 -0
  635. package/dist/todos/board.d.ts.map +1 -0
  636. package/dist/todos/board.js +227 -0
  637. package/dist/todos/board.js.map +1 -0
  638. package/dist/todos/format.d.ts +33 -0
  639. package/dist/todos/format.d.ts.map +1 -0
  640. package/dist/todos/format.js +90 -0
  641. package/dist/todos/format.js.map +1 -0
  642. package/dist/todos/merge.d.ts +46 -0
  643. package/dist/todos/merge.d.ts.map +1 -0
  644. package/dist/todos/merge.js +137 -0
  645. package/dist/todos/merge.js.map +1 -0
  646. package/dist/todos/midTurn.d.ts +75 -0
  647. package/dist/todos/midTurn.d.ts.map +1 -0
  648. package/dist/todos/midTurn.js +214 -0
  649. package/dist/todos/midTurn.js.map +1 -0
  650. package/dist/todos/nag.d.ts +85 -0
  651. package/dist/todos/nag.d.ts.map +1 -0
  652. package/dist/todos/nag.js +103 -0
  653. package/dist/todos/nag.js.map +1 -0
  654. package/dist/todos/order.d.ts +25 -0
  655. package/dist/todos/order.d.ts.map +1 -0
  656. package/dist/todos/order.js +61 -0
  657. package/dist/todos/order.js.map +1 -0
  658. package/dist/todos/projects.d.ts +102 -0
  659. package/dist/todos/projects.d.ts.map +1 -0
  660. package/dist/todos/projects.js +342 -0
  661. package/dist/todos/projects.js.map +1 -0
  662. package/dist/todos/registry.d.ts +64 -0
  663. package/dist/todos/registry.d.ts.map +1 -0
  664. package/dist/todos/registry.js +116 -0
  665. package/dist/todos/registry.js.map +1 -0
  666. package/dist/todos/reminderEngine.d.ts +78 -0
  667. package/dist/todos/reminderEngine.d.ts.map +1 -0
  668. package/dist/todos/reminderEngine.js +162 -0
  669. package/dist/todos/reminderEngine.js.map +1 -0
  670. package/dist/todos/store.d.ts +34 -0
  671. package/dist/todos/store.d.ts.map +1 -0
  672. package/dist/todos/store.js +208 -0
  673. package/dist/todos/store.js.map +1 -0
  674. package/dist/todos/tools.d.ts +26 -0
  675. package/dist/todos/tools.d.ts.map +1 -0
  676. package/dist/todos/tools.js +25 -0
  677. package/dist/todos/tools.js.map +1 -0
  678. package/dist/todos/types.d.ts +85 -0
  679. package/dist/todos/types.d.ts.map +1 -0
  680. package/dist/todos/types.js +30 -0
  681. package/dist/todos/types.js.map +1 -0
  682. package/dist/trackers/taskAgentLimit.d.ts +58 -0
  683. package/dist/trackers/taskAgentLimit.d.ts.map +1 -0
  684. package/dist/trackers/taskAgentLimit.js +62 -0
  685. package/dist/trackers/taskAgentLimit.js.map +1 -0
  686. package/dist/trackers/taskAgentSlots.d.ts +109 -0
  687. package/dist/trackers/taskAgentSlots.d.ts.map +1 -0
  688. package/dist/trackers/taskAgentSlots.js +227 -0
  689. package/dist/trackers/taskAgentSlots.js.map +1 -0
  690. package/dist/trackers/types.d.ts +14 -0
  691. package/dist/trackers/types.d.ts.map +1 -0
  692. package/dist/trackers/types.js +3 -0
  693. package/dist/trackers/types.js.map +1 -0
  694. package/dist/types.d.ts +80 -4
  695. package/dist/types.d.ts.map +1 -1
  696. package/dist/utils/adoptReplayGate.d.ts +16 -0
  697. package/dist/utils/adoptReplayGate.d.ts.map +1 -0
  698. package/dist/utils/adoptReplayGate.js +35 -0
  699. package/dist/utils/adoptReplayGate.js.map +1 -0
  700. package/dist/utils/agentEnvironment.d.ts +6 -2
  701. package/dist/utils/agentEnvironment.d.ts.map +1 -1
  702. package/dist/utils/agentEnvironment.js +13 -2
  703. package/dist/utils/agentEnvironment.js.map +1 -1
  704. package/dist/utils/agentPlugin.d.ts +113 -0
  705. package/dist/utils/agentPlugin.d.ts.map +1 -0
  706. package/dist/utils/agentPlugin.js +192 -0
  707. package/dist/utils/agentPlugin.js.map +1 -0
  708. package/dist/utils/autoContinueOnLimit.d.ts +7 -4
  709. package/dist/utils/autoContinueOnLimit.d.ts.map +1 -1
  710. package/dist/utils/autoContinueOnLimit.js +8 -5
  711. package/dist/utils/autoContinueOnLimit.js.map +1 -1
  712. package/dist/utils/botSkills.d.ts +62 -0
  713. package/dist/utils/botSkills.d.ts.map +1 -0
  714. package/dist/utils/botSkills.js +53 -0
  715. package/dist/utils/botSkills.js.map +1 -0
  716. package/dist/utils/botSkillsSetting.d.ts +7 -0
  717. package/dist/utils/botSkillsSetting.d.ts.map +1 -0
  718. package/dist/utils/botSkillsSetting.js +9 -0
  719. package/dist/utils/botSkillsSetting.js.map +1 -0
  720. package/dist/utils/claudeCodeVersion.d.ts +7 -0
  721. package/dist/utils/claudeCodeVersion.d.ts.map +1 -1
  722. package/dist/utils/claudeCodeVersion.js +14 -1
  723. package/dist/utils/claudeCodeVersion.js.map +1 -1
  724. package/dist/utils/claudeCompactHook.d.ts +33 -15
  725. package/dist/utils/claudeCompactHook.d.ts.map +1 -1
  726. package/dist/utils/claudeCompactHook.js +36 -17
  727. package/dist/utils/claudeCompactHook.js.map +1 -1
  728. package/dist/utils/claudeCompactSummary.d.ts +15 -0
  729. package/dist/utils/claudeCompactSummary.d.ts.map +1 -0
  730. package/dist/utils/claudeCompactSummary.js +96 -0
  731. package/dist/utils/claudeCompactSummary.js.map +1 -0
  732. package/dist/utils/claudeLimitSwitch.d.ts +11 -9
  733. package/dist/utils/claudeLimitSwitch.d.ts.map +1 -1
  734. package/dist/utils/claudeLimitSwitch.js +18 -16
  735. package/dist/utils/claudeLimitSwitch.js.map +1 -1
  736. package/dist/utils/claudeProfiles.d.ts +5 -0
  737. package/dist/utils/claudeProfiles.d.ts.map +1 -1
  738. package/dist/utils/claudeProfiles.js +14 -0
  739. package/dist/utils/claudeProfiles.js.map +1 -1
  740. package/dist/utils/claudeSessionTitle.d.ts +2 -1
  741. package/dist/utils/claudeSessionTitle.d.ts.map +1 -1
  742. package/dist/utils/claudeSessionTitle.js +14 -14
  743. package/dist/utils/claudeSessionTitle.js.map +1 -1
  744. package/dist/utils/claudeUsage.d.ts +95 -15
  745. package/dist/utils/claudeUsage.d.ts.map +1 -1
  746. package/dist/utils/claudeUsage.js +241 -41
  747. package/dist/utils/claudeUsage.js.map +1 -1
  748. package/dist/utils/claudeUsageRefresher.d.ts +10 -0
  749. package/dist/utils/claudeUsageRefresher.d.ts.map +1 -1
  750. package/dist/utils/claudeUsageRefresher.js +11 -0
  751. package/dist/utils/claudeUsageRefresher.js.map +1 -1
  752. package/dist/utils/claudeUserEntry.d.ts +50 -0
  753. package/dist/utils/claudeUserEntry.d.ts.map +1 -0
  754. package/dist/utils/claudeUserEntry.js +120 -0
  755. package/dist/utils/claudeUserEntry.js.map +1 -0
  756. package/dist/utils/clearThreadOutputQueues.d.ts +4 -3
  757. package/dist/utils/clearThreadOutputQueues.d.ts.map +1 -1
  758. package/dist/utils/clearThreadOutputQueues.js +1 -1
  759. package/dist/utils/clearThreadOutputQueues.js.map +1 -1
  760. package/dist/utils/compactOnIdle.d.ts +33 -13
  761. package/dist/utils/compactOnIdle.d.ts.map +1 -1
  762. package/dist/utils/compactOnIdle.js +35 -15
  763. package/dist/utils/compactOnIdle.js.map +1 -1
  764. package/dist/utils/fallbackBridge.d.ts +5 -0
  765. package/dist/utils/fallbackBridge.d.ts.map +1 -1
  766. package/dist/utils/fallbackBridge.js +19 -3
  767. package/dist/utils/fallbackBridge.js.map +1 -1
  768. package/dist/utils/fallbackChain.d.ts +9 -3
  769. package/dist/utils/fallbackChain.d.ts.map +1 -1
  770. package/dist/utils/fallbackChain.js +21 -3
  771. package/dist/utils/fallbackChain.js.map +1 -1
  772. package/dist/utils/fileSendPlan.d.ts +6 -0
  773. package/dist/utils/fileSendPlan.d.ts.map +1 -1
  774. package/dist/utils/fileSendPlan.js +11 -0
  775. package/dist/utils/fileSendPlan.js.map +1 -1
  776. package/dist/utils/fileSendService.d.ts +7 -1
  777. package/dist/utils/fileSendService.d.ts.map +1 -1
  778. package/dist/utils/fileSendService.js +6 -2
  779. package/dist/utils/fileSendService.js.map +1 -1
  780. package/dist/utils/groupFinalizePlan.d.ts +8 -10
  781. package/dist/utils/groupFinalizePlan.d.ts.map +1 -1
  782. package/dist/utils/groupFinalizePlan.js +8 -12
  783. package/dist/utils/groupFinalizePlan.js.map +1 -1
  784. package/dist/utils/jsonStreamHost.d.ts +13 -0
  785. package/dist/utils/jsonStreamHost.d.ts.map +1 -1
  786. package/dist/utils/jsonStreamHost.js +13 -0
  787. package/dist/utils/jsonStreamHost.js.map +1 -1
  788. package/dist/utils/messageSendService.d.ts +5 -3
  789. package/dist/utils/messageSendService.d.ts.map +1 -1
  790. package/dist/utils/messageSendService.js +12 -5
  791. package/dist/utils/messageSendService.js.map +1 -1
  792. package/dist/utils/openCodeCompactPlugin.d.ts +39 -14
  793. package/dist/utils/openCodeCompactPlugin.d.ts.map +1 -1
  794. package/dist/utils/openCodeCompactPlugin.js +106 -38
  795. package/dist/utils/openCodeCompactPlugin.js.map +1 -1
  796. package/dist/utils/promptDelivery.d.ts +29 -12
  797. package/dist/utils/promptDelivery.d.ts.map +1 -1
  798. package/dist/utils/promptDelivery.js +13 -5
  799. package/dist/utils/promptDelivery.js.map +1 -1
  800. package/dist/utils/runnersScreenPlan.d.ts +130 -0
  801. package/dist/utils/runnersScreenPlan.d.ts.map +1 -0
  802. package/dist/utils/runnersScreenPlan.js +257 -0
  803. package/dist/utils/runnersScreenPlan.js.map +1 -0
  804. package/dist/utils/sentKindsSummary.d.ts +10 -0
  805. package/dist/utils/sentKindsSummary.d.ts.map +1 -0
  806. package/dist/utils/sentKindsSummary.js +18 -0
  807. package/dist/utils/sentKindsSummary.js.map +1 -0
  808. package/dist/utils/telegramError.d.ts +6 -0
  809. package/dist/utils/telegramError.d.ts.map +1 -1
  810. package/dist/utils/telegramError.js +12 -0
  811. package/dist/utils/telegramError.js.map +1 -1
  812. package/dist/utils/topicView.d.ts +1 -1
  813. package/dist/utils/topicView.js +1 -1
  814. package/dist/utils/transcribeAudio.d.ts +10 -0
  815. package/dist/utils/transcribeAudio.d.ts.map +1 -1
  816. package/dist/utils/transcribeAudio.js +22 -3
  817. package/dist/utils/transcribeAudio.js.map +1 -1
  818. package/dist/utils/transcriptErrorTime.d.ts +8 -0
  819. package/dist/utils/transcriptErrorTime.d.ts.map +1 -0
  820. package/dist/utils/transcriptErrorTime.js +56 -0
  821. package/dist/utils/transcriptErrorTime.js.map +1 -0
  822. package/dist/utils/wedgeRecovery.d.ts +2 -0
  823. package/dist/utils/wedgeRecovery.d.ts.map +1 -1
  824. package/dist/utils/wedgeRecovery.js +1 -1
  825. package/dist/utils/wedgeRecovery.js.map +1 -1
  826. package/package.json +15 -4
  827. package/remoteRun/runner.sh +1317 -0
  828. package/stt/gigaam_sidecar.py +555 -50
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  /**
3
3
  * @description The OpenCode plugin the bot installs so that a compaction OpenCode
4
- * runs ON ITS OWN when the context overflows also tells the next session which
5
- * skills to load again.
4
+ * runs ON ITS OWN when the context overflows also gets the resume guidance — the
5
+ * skills to load again and the next-steps checklist that ends the summary
6
+ * (`compactionResumeGuidance`).
6
7
  *
7
- * WHY this exists: the loaded-skills guidance rides the bot's per-invocation
8
+ * WHY this exists: the resume guidance rides the bot's per-invocation
8
9
  * `instruction` (`POST /session/:id/summarize`), which an overflow compaction
9
10
  * never receives, and unlike D3 it is not baked into the fork's prompt. OpenCode
10
11
  * runs the plugin hook `experimental.session.compacting` before EVERY compaction
@@ -18,6 +19,15 @@
18
19
  * file and rewrites it only when its content changed; the user's `opencode.json`
19
20
  * is never touched.
20
21
  *
22
+ * The file name carries a hash of the plugin's content. `GET /config` reports a
23
+ * loaded plugin only by that name, so a name that is the same for every version
24
+ * would make an instance that loaded an OLDER text read as up to date: it would
25
+ * never be recreated, and the bot would leave the guidance out of its own
26
+ * instruction on the strength of a plugin that carries less than the current
27
+ * one. With the hash only an instance that loaded the current text counts
28
+ * ({@link checkHasOpenCodeCompactPlugin}); an older copy of the file is removed on
29
+ * install, so a new instance never loads two.
30
+ *
21
31
  * A RUNNING instance does not rescan: OpenCode loads plugins once per project
22
32
  * folder. `POST /instance/dispose?directory=` makes the next request recreate the
23
33
  * folder's instance, which then loads the plugin — no server restart, sessions
@@ -29,34 +39,41 @@
29
39
  *
30
40
  * The hook only sees the session id, never the bot's per-invocation instruction,
31
41
  * so it cannot skip a compaction that already carries the guidance. The bot
32
- * therefore leaves the skills guidance out of its instruction when the folder's
33
- * instance has this plugin ({@link checkHasOpenCodeCompactPlugin} over
42
+ * therefore leaves the resume guidance out of its instruction when the folder's
43
+ * instance has the CURRENT plugin ({@link checkHasOpenCodeCompactPlugin} over
34
44
  * `GET /config`), and keeps it otherwise.
35
45
  */
36
46
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
47
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
48
  };
39
49
  Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.legacyOpenCodeCompactPluginId = exports.legacyOpenCodeCompactPluginFileName = exports.openCodeCompactPluginId = exports.openCodeCompactPluginFileName = void 0;
50
+ exports.openCodeCompactPluginFileName = exports.legacyOpenCodeCompactPluginId = exports.legacyOpenCodeCompactPluginFileName = exports.openCodeCompactPluginId = void 0;
41
51
  exports.getOpenCodeCompactPluginContext = getOpenCodeCompactPluginContext;
42
52
  exports.buildOpenCodeCompactPluginSource = buildOpenCodeCompactPluginSource;
53
+ exports.getOpenCodeCompactPluginFileName = getOpenCodeCompactPluginFileName;
43
54
  exports.resolveOpenCodeGlobalPluginDir = resolveOpenCodeGlobalPluginDir;
44
55
  exports.checkHasOpenCodeCompactPlugin = checkHasOpenCodeCompactPlugin;
45
56
  exports.getCompactPluginActivation = getCompactPluginActivation;
57
+ exports.checkIsOpenCodeSessionStatusIdle = checkIsOpenCodeSessionStatusIdle;
46
58
  exports.installOpenCodeCompactPlugin = installOpenCodeCompactPlugin;
59
+ const crypto_1 = __importDefault(require("crypto"));
47
60
  const fs_1 = __importDefault(require("fs"));
48
61
  const os_1 = __importDefault(require("os"));
49
62
  const path_1 = __importDefault(require("path"));
50
63
  const compactOnIdle_1 = require("./compactOnIdle");
51
64
  const legacyNames_1 = require("../legacyNames");
52
- /** File name of the plugin in OpenCode's plugin folder; also how the bot recognises it in `GET /config`. */
53
- exports.openCodeCompactPluginFileName = 'charness-compaction.js';
54
65
  /** OpenCode requires a path plugin to export an id. */
55
66
  exports.openCodeCompactPluginId = 'charness-compaction';
67
+ /** The part of the plugin's file name before the content hash. */
68
+ const openCodeCompactPluginFileStem = 'charness-compaction';
69
+ /** Hex digits of the content hash in the file name: enough that two texts never share one, short enough to read. */
70
+ const openCodeCompactPluginHashLength = 8;
71
+ /** The file name of any version of the plugin: the stem, an optional content hash (the first release had none). */
72
+ const openCodeCompactPluginFileNamePattern = new RegExp(`^${openCodeCompactPluginFileStem}(?:-[0-9a-f]{${openCodeCompactPluginHashLength}})?\\.js$`);
56
73
  /**
57
- * The file and id the same plugin had before the rename. A folder instance that
58
- * loaded it keeps it in memory, so it still counts as "has the plugin"; the FILE
59
- * is removed on install so a new instance does not load both.
74
+ * The file and id the same plugin had before the rename. The file is removed on
75
+ * install so a new instance does not load both; an instance that loaded it carries
76
+ * an older text, so it no longer counts as "has the plugin".
60
77
  */
61
78
  exports.legacyOpenCodeCompactPluginFileName = 'telegramcode-compaction.js';
62
79
  exports.legacyOpenCodeCompactPluginId = 'telegramcode-compaction';
@@ -64,10 +81,10 @@ exports.legacyOpenCodeCompactPluginId = 'telegramcode-compaction';
64
81
  * @description The text the plugin adds to every compaction prompt. OpenCode
65
82
  * appends it AFTER the bot's per-invocation instruction, which may end with the
66
83
  * F2 closing-section directive ("write nothing after the end marker"), so the text
67
- * says outright that the skills list belongs inside the summary.
84
+ * says outright that the skills list and the checklist belong inside the summary.
68
85
  */
69
86
  function getOpenCodeCompactPluginContext() {
70
- return `Additional instruction for the summary itself (put it inside the summary, never after a closing section the instructions above require): ${compactOnIdle_1.compactionSkillsGuidance}`;
87
+ return `Additional instruction for the summary itself (put it inside the summary, never after a closing section the instructions above require): ${compactOnIdle_1.compactionResumeGuidance}`;
71
88
  }
72
89
  /** @description The plugin module source: a v1 plugin (`default` export with `id` + `server`). */
73
90
  function buildOpenCodeCompactPluginSource(context) {
@@ -85,24 +102,36 @@ function buildOpenCodeCompactPluginSource(context) {
85
102
  '',
86
103
  ].join('\n');
87
104
  }
105
+ /**
106
+ * @description The plugin's file name for a given source: the stem and a hash of the source. `GET /config` names a
107
+ * loaded plugin by this file name alone, so the name is what tells an instance that loaded this text from one that
108
+ * loaded an older one.
109
+ */
110
+ function getOpenCodeCompactPluginFileName(source) {
111
+ const contentHash = crypto_1.default.createHash('sha256').update(source).digest('hex').slice(0, openCodeCompactPluginHashLength);
112
+ return `${openCodeCompactPluginFileStem}-${contentHash}.js`;
113
+ }
114
+ /** File name of the CURRENT plugin in OpenCode's plugin folder; also how the bot recognises it in `GET /config`. */
115
+ exports.openCodeCompactPluginFileName = getOpenCodeCompactPluginFileName(buildOpenCodeCompactPluginSource(getOpenCodeCompactPluginContext()));
88
116
  /** @description OpenCode's global plugin folder, resolved the way OpenCode resolves it (XDG config home). */
89
117
  function resolveOpenCodeGlobalPluginDir(env) {
90
118
  const configHome = env.XDG_CONFIG_HOME || path_1.default.join(os_1.default.homedir(), '.config');
91
119
  return path_1.default.join(configHome, 'opencode', 'plugins');
92
120
  }
93
121
  /**
94
- * @description Whether a `GET /config` `plugin` list contains the bot's plugin. A
122
+ * @description Whether a `GET /config` `plugin` list contains the CURRENT bot plugin. A
95
123
  * spec is a string or a `[spec, options]` tuple; OpenCode reports a path plugin as
96
- * a `file://` URL.
124
+ * a `file://` URL. Only the current file name counts: an instance that loaded an
125
+ * older version of the plugin (another content hash, the unhashed first release, the
126
+ * pre-rename file) keeps the older text in memory, so it must be recreated and the
127
+ * bot must still send the guidance itself.
97
128
  */
98
129
  function checkHasOpenCodeCompactPlugin(pluginSpecs) {
99
130
  if (!Array.isArray(pluginSpecs))
100
131
  return false;
101
132
  return pluginSpecs.some((entry) => {
102
133
  const spec = Array.isArray(entry) ? entry[0] : entry;
103
- return (typeof spec === 'string' &&
104
- (spec.endsWith(`/${exports.openCodeCompactPluginFileName}`) ||
105
- spec.endsWith(`/${exports.legacyOpenCodeCompactPluginFileName}`)));
134
+ return typeof spec === 'string' && spec.endsWith(`/${exports.openCodeCompactPluginFileName}`);
106
135
  });
107
136
  }
108
137
  /**
@@ -114,11 +143,16 @@ function checkHasOpenCodeCompactPlugin(pluginSpecs) {
114
143
  function getCompactPluginActivation(input) {
115
144
  if (checkHasOpenCodeCompactPlugin(input.pluginSpecs))
116
145
  return 'loaded';
117
- const status = input.sessionStatus;
118
- if (!status || typeof status !== 'object' || Array.isArray(status))
119
- return 'busy';
120
- const isAnyBusy = Object.values(status).some((entry) => !entry || typeof entry !== 'object' || entry.type !== 'idle');
121
- return isAnyBusy ? 'busy' : 'recreate';
146
+ return checkIsOpenCodeSessionStatusIdle(input.sessionStatus) ? 'recreate' : 'busy';
147
+ }
148
+ /**
149
+ * @description Whether a `GET /session/status` map says every session of the instance is idle. A status the bot
150
+ * cannot read counts as busy: an instance or a server is never recreated on a guess.
151
+ */
152
+ function checkIsOpenCodeSessionStatusIdle(sessionStatus) {
153
+ if (!sessionStatus || typeof sessionStatus !== 'object' || Array.isArray(sessionStatus))
154
+ return false;
155
+ return Object.values(sessionStatus).every((entry) => typeof entry === 'object' && entry !== null && 'type' in entry && entry.type === 'idle');
122
156
  }
123
157
  /**
124
158
  * @description Remove the plugin file a pre-rename release installed, so a folder
@@ -140,39 +174,73 @@ function removeLegacyOpenCodeCompactPlugin(pluginDir) {
140
174
  }
141
175
  (0, legacyNames_1.warnLegacyNameOnce)('opencode-compact-plugin', `${(0, legacyNames_1.formatDeprecation)(legacyPath, path_1.default.join(pluginDir, exports.openCodeCompactPluginFileName))}; the old file was removed`);
142
176
  }
177
+ /**
178
+ * @description Remove every OTHER version of the plugin from the folder, so a new
179
+ * folder instance loads one copy of the guidance, not an older text beside the
180
+ * current one. Only a file that is the bot's own (its name fits the plugin's and it
181
+ * exports the plugin's id) goes; anything else stays. Best-effort: a failure leaves a
182
+ * duplicate guidance, which is harmless.
183
+ */
184
+ function removeOutdatedOpenCodeCompactPlugins(pluginDir) {
185
+ let fileNames;
186
+ try {
187
+ fileNames = fs_1.default.readdirSync(pluginDir);
188
+ }
189
+ catch {
190
+ return;
191
+ }
192
+ for (const fileName of fileNames) {
193
+ if (fileName === exports.openCodeCompactPluginFileName || !openCodeCompactPluginFileNamePattern.test(fileName))
194
+ continue;
195
+ const outdatedPath = path_1.default.join(pluginDir, fileName);
196
+ try {
197
+ if (!fs_1.default.readFileSync(outdatedPath, 'utf-8').includes(JSON.stringify(exports.openCodeCompactPluginId)))
198
+ continue;
199
+ fs_1.default.unlinkSync(outdatedPath);
200
+ console.log(`[compact-plugin] removed the outdated plugin file ${outdatedPath}`);
201
+ }
202
+ catch {
203
+ // Gone already or not ours to read: it stays.
204
+ }
205
+ }
206
+ }
143
207
  /**
144
208
  * @description Put the plugin into OpenCode's global plugin folder. Idempotent:
145
209
  * an identical file is left alone, a stale one is replaced atomically (a folder
146
210
  * instance being created concurrently never reads half a file). Any failure is
147
211
  * logged and returned — the plugin improves a summary, it must never block an
148
212
  * OpenCode start or the bot's boot. The file a pre-rename release installed is
149
- * removed first.
213
+ * removed first; the older versions of the current name, once the current file is
214
+ * in place (a folder instance created in between loads both, never none).
150
215
  */
151
216
  function installOpenCodeCompactPlugin(pluginDir = resolveOpenCodeGlobalPluginDir(process.env)) {
152
217
  removeLegacyOpenCodeCompactPlugin(pluginDir);
153
218
  const pluginPath = path_1.default.join(pluginDir, exports.openCodeCompactPluginFileName);
154
219
  const source = buildOpenCodeCompactPluginSource(getOpenCodeCompactPluginContext());
220
+ let isCurrentFileInPlace = false;
155
221
  try {
156
- if (fs_1.default.readFileSync(pluginPath, 'utf-8') === source)
157
- return 'unchanged';
222
+ isCurrentFileInPlace = fs_1.default.readFileSync(pluginPath, 'utf-8') === source;
158
223
  }
159
224
  catch {
160
225
  // Missing or unreadable: (re)write below.
161
226
  }
162
- const tmpPath = `${pluginPath}.${process.pid}.${Date.now()}.tmp`;
163
- try {
164
- fs_1.default.mkdirSync(pluginDir, { recursive: true });
165
- fs_1.default.writeFileSync(tmpPath, source);
166
- fs_1.default.renameSync(tmpPath, pluginPath);
167
- }
168
- catch (e) {
169
- console.warn(`[compact-plugin] cannot write ${pluginPath}:`, e);
227
+ if (!isCurrentFileInPlace) {
228
+ const tmpPath = `${pluginPath}.${process.pid}.${Date.now()}.tmp`;
170
229
  try {
171
- fs_1.default.unlinkSync(tmpPath);
230
+ fs_1.default.mkdirSync(pluginDir, { recursive: true });
231
+ fs_1.default.writeFileSync(tmpPath, source);
232
+ fs_1.default.renameSync(tmpPath, pluginPath);
233
+ }
234
+ catch (e) {
235
+ console.warn(`[compact-plugin] cannot write ${pluginPath}:`, e);
236
+ try {
237
+ fs_1.default.unlinkSync(tmpPath);
238
+ }
239
+ catch { /* never written */ }
240
+ return 'failed';
172
241
  }
173
- catch { /* never written */ }
174
- return 'failed';
175
242
  }
176
- return 'written';
243
+ removeOutdatedOpenCodeCompactPlugins(pluginDir);
244
+ return isCurrentFileInPlace ? 'unchanged' : 'written';
177
245
  }
178
246
  //# sourceMappingURL=openCodeCompactPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openCodeCompactPlugin.js","sourceRoot":"","sources":["../../src/utils/openCodeCompactPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openCodeCompactPlugin.js","sourceRoot":"","sources":["../../src/utils/openCodeCompactPlugin.ts"],"names":[],"mappings":"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"}
@@ -2,22 +2,26 @@ import { type SessionKey } from '../sessionKey';
2
2
  import type { BufferedPromptSettled, StartupPromptBuffer } from '../startupPromptBuffer';
3
3
  /**
4
4
  * @name PromptDeliveryDeps
5
- * @description What {@link deliverPromptOrBuffer} acts through. `announceQueued`
6
- * tells the person their prompt waits for the session to come up — a topic
7
- * message, so it is only called for a Telegram conversation.
5
+ * @description What {@link deliverPromptOrBuffer} acts through. `forwardPrompt` says where the
6
+ * forward put the prompt ({@link LatePromptOutcome}); `announceQueued` tells the person their
7
+ * prompt waits for the session to come up — a topic message, so it is only called for a
8
+ * Telegram conversation.
8
9
  */
9
10
  export interface PromptDeliveryDeps {
10
11
  startupBuffer: Pick<StartupPromptBuffer, 'addPrompt'>;
11
- forwardPrompt: (key: SessionKey, text: string) => Promise<void>;
12
+ forwardPrompt: (key: SessionKey, text: string) => Promise<LatePromptOutcome>;
12
13
  announceQueued: (key: SessionKey) => Promise<void>;
13
14
  }
14
15
  /**
15
16
  * @name PromptDelivery
16
17
  * @description Where {@link deliverPromptOrBuffer} put the prompt: `forwarded` to the
17
- * session (done), or `buffered` behind a session start (it waits in memory until the
18
- * start ends — see `onBufferedSettled`).
18
+ * session (done), `buffered` behind a session start (it waits in memory until the
19
+ * start ends — see `onBufferedSettled`), or `noSession` — the forward found no session
20
+ * left to take it (a prompt that waited for a bot restart's replay; the person was
21
+ * told), so nothing will ever answer it: what the caller opened for it must not wait
22
+ * for a turn.
19
23
  */
20
- export type PromptDelivery = 'forwarded' | 'buffered';
24
+ export type PromptDelivery = 'forwarded' | 'buffered' | 'noSession';
21
25
  /**
22
26
  * @description Deliver `text` to a conversation's agent while honouring the startup
23
27
  * window: mid-startup the prompt is buffered (it replays in order once the session
@@ -47,18 +51,24 @@ export declare function deliverPromptOrBuffer(deps: PromptDeliveryDeps, key: Ses
47
51
  * @name LatePromptRoute
48
52
  * @description How a prompt decided on when it ARRIVED is delivered once its handler is ready to forward it:
49
53
  * `buffer` — a start or the idle stop is under way (its window is open: the prompt waits there, and the stop resumes the
50
- * session for it); `wake` — the process is gone meanwhile (the conversation sleeps: wake it, then forward); `forward`.
54
+ * session for it); `wake` — the process is gone meanwhile (the conversation sleeps: wake it, then forward); `forward`;
55
+ * `drop` — only for a technical prompt that finds no live session without a window: nothing is done for it.
51
56
  */
52
- export type LatePromptRoute = 'buffer' | 'wake' | 'forward';
57
+ export type LatePromptRoute = 'buffer' | 'wake' | 'forward' | 'drop';
53
58
  /**
54
59
  * @description The {@link LatePromptRoute} of a prompt, read at the moment it is forwarded. The idle stop posts a
55
60
  * re-asked question just before it stops the process, and a handler awaits between reading the session's state and the
56
61
  * forward (the tap's toast, the request it opens): written into a process being stopped the prompt was lost, and
57
62
  * into one already gone it was dropped.
63
+ *
64
+ * A bot-made TECHNICAL prompt (the todo list's standalone reminder) is posted only into a live session that is idle at
65
+ * this moment — never a resume, never held for a later one, never reported to the person: where a user's prompt would be
66
+ * buffered or wake the conversation, it is dropped.
58
67
  */
59
68
  export declare function getLatePromptRoute(input: {
60
69
  isWindowOpen: boolean;
61
70
  isSessionActive: boolean;
71
+ isTechnical?: boolean;
62
72
  }): LatePromptRoute;
63
73
  /** @description What a wake did: whether a session is up to forward to, and whether it already told the topic something. */
64
74
  export interface LateWakeResult {
@@ -74,15 +84,22 @@ export interface LateWakeResult {
74
84
  * already said why (`isAlreadyTold`), where a second, generic line would contradict it.
75
85
  */
76
86
  export interface LatePromptDeliveryPorts {
87
+ /** A bot-made technical prompt: dropped, not buffered or woken for, where a session is not live (see {@link getLatePromptRoute}). */
88
+ isTechnical?: boolean;
77
89
  checkIsWindowOpen: () => boolean;
78
90
  checkIsSessionActive: () => boolean;
79
91
  buffer: () => Promise<void>;
80
92
  wake: () => Promise<LateWakeResult>;
81
- forward: () => Promise<void>;
93
+ /** Where the forward put the prompt: `forwarded`, or what a forward that routes it again itself (a prompt that waited for an adopt replay) ended in — passed on as the answer. */
94
+ forward: () => Promise<LatePromptOutcome>;
82
95
  reportNoSession: (isAlreadyTold: boolean) => Promise<void>;
83
96
  }
84
- /** @description Where {@link deliverLatePrompt} put the prompt; `noSession` — nowhere: nothing to deliver it to. */
85
- export type LatePromptOutcome = 'buffered' | 'forwarded' | 'noSession';
97
+ /**
98
+ * @description Where {@link deliverLatePrompt} put the prompt; `noSession` — nowhere: nothing to deliver it to (the wake found
99
+ * nothing to resume, or the forward itself ended so); `dropped` — a technical prompt that found no live session, left alone
100
+ * on purpose (nothing buffered, woken or said).
101
+ */
102
+ export type LatePromptOutcome = 'buffered' | 'forwarded' | 'noSession' | 'dropped';
86
103
  /**
87
104
  * @description Deliver a prompt whose handler decided, when it arrived, that the session is live — routed again by
88
105
  * {@link getLatePromptRoute} now, after the handler's awaits. A wake that finds nothing never forwards: the forward
@@ -1 +1 @@
1
- {"version":3,"file":"promptDelivery.d.ts","sourceRoot":"","sources":["../../src/utils/promptDelivery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;IACtD,aAAa,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,OAAO,EACnB,iBAAiB,CAAC,EAAE,qBAAqB,GACxC,OAAO,CAAC,cAAc,CAAC,CAiBzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,GAAG,eAAe,CAG9G;AAED,4HAA4H;AAC5H,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,gGAAgG;IAChG,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,OAAO,CAAC;IACjC,oBAAoB,EAAE,MAAM,OAAO,CAAC;IACpC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,eAAe,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,oHAAoH;AACpH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAEvE;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAelG"}
1
+ {"version":3,"file":"promptDelivery.d.ts","sourceRoot":"","sources":["../../src/utils/promptDelivery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEzF;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;IACtD,aAAa,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7E,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,OAAO,EACnB,iBAAiB,CAAC,EAAE,qBAAqB,GACxC,OAAO,CAAC,cAAc,CAAC,CAkBzB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAErE;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,eAAe,CAIrI;AAED,4HAA4H;AAC5H,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,gGAAgG;IAChG,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,qIAAqI;IACrI,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,MAAM,OAAO,CAAC;IACjC,oBAAoB,EAAE,MAAM,OAAO,CAAC;IACpC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,kLAAkL;IAClL,OAAO,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1C,eAAe,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;AAEnF;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAelG"}
@@ -31,8 +31,9 @@ const sessionKeyCodec_1 = require("../connectors/telegram/sessionKeyCodec");
31
31
  */
32
32
  async function deliverPromptOrBuffer(deps, key, text, isStarting, onBufferedSettled) {
33
33
  if (!isStarting) {
34
- await deps.forwardPrompt(key, text);
35
- return 'forwarded';
34
+ // Only `noSession` is told apart: a forward that re-routed the prompt behind a stop window itself registered no
35
+ // `onBufferedSettled`, so it reads as forwarded, as it always did.
36
+ return (await deps.forwardPrompt(key, text)) === 'noSession' ? 'noSession' : 'forwarded';
36
37
  }
37
38
  const isFirstBuffered = deps.startupBuffer.addPrompt((0, sessionKey_1.keyToString)(key), text, onBufferedSettled);
38
39
  if (isFirstBuffered && (0, sessionKeyCodec_1.checkIsTelegramKey)(key)) {
@@ -53,8 +54,14 @@ async function deliverPromptOrBuffer(deps, key, text, isStarting, onBufferedSett
53
54
  * re-asked question just before it stops the process, and a handler awaits between reading the session's state and the
54
55
  * forward (the tap's toast, the request it opens): written into a process being stopped the prompt was lost, and
55
56
  * into one already gone it was dropped.
57
+ *
58
+ * A bot-made TECHNICAL prompt (the todo list's standalone reminder) is posted only into a live session that is idle at
59
+ * this moment — never a resume, never held for a later one, never reported to the person: where a user's prompt would be
60
+ * buffered or wake the conversation, it is dropped.
56
61
  */
57
62
  function getLatePromptRoute(input) {
63
+ if (input.isTechnical === true)
64
+ return input.isWindowOpen || !input.isSessionActive ? 'drop' : 'forward';
58
65
  if (input.isWindowOpen)
59
66
  return 'buffer';
60
67
  return input.isSessionActive ? 'forward' : 'wake';
@@ -65,7 +72,9 @@ function getLatePromptRoute(input) {
65
72
  * would show the topic as working while the adapter drops the text.
66
73
  */
67
74
  async function deliverLatePrompt(ports) {
68
- const route = getLatePromptRoute({ isWindowOpen: ports.checkIsWindowOpen(), isSessionActive: ports.checkIsSessionActive() });
75
+ const route = getLatePromptRoute({ isWindowOpen: ports.checkIsWindowOpen(), isSessionActive: ports.checkIsSessionActive(), isTechnical: ports.isTechnical });
76
+ if (route === 'drop')
77
+ return 'dropped';
69
78
  if (route === 'buffer') {
70
79
  await ports.buffer();
71
80
  return 'buffered';
@@ -77,7 +86,6 @@ async function deliverLatePrompt(ports) {
77
86
  return 'noSession';
78
87
  }
79
88
  }
80
- await ports.forward();
81
- return 'forwarded';
89
+ return ports.forward();
82
90
  }
83
91
  //# sourceMappingURL=promptDelivery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promptDelivery.js","sourceRoot":"","sources":["../../src/utils/promptDelivery.ts"],"names":[],"mappings":";;AAgDA,sDAuBC;AAgBD,gDAGC;AAiCD,8CAeC;AA1ID,8CAA6D;AAC7D,4EAA4E;AAuB5E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,KAAK,UAAU,qBAAqB,CACzC,IAAwB,EACxB,GAAe,EACf,IAAY,EACZ,UAAmB,EACnB,iBAAyC;IAEzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAA,wBAAW,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAChG,IAAI,eAAe,IAAI,IAAA,oCAAkB,EAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,sGAAsG;QACtG,sGAAsG;QACtG,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sCAAsC,IAAA,wBAAW,EAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAUD;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,KAA0D;IAC3F,IAAI,KAAK,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAC;IACxC,OAAO,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC;AA4BD;;;;GAIG;AACI,KAAK,UAAU,iBAAiB,CAAC,KAA8B;IACpE,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC7H,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjD,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACtB,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"promptDelivery.js","sourceRoot":"","sources":["../../src/utils/promptDelivery.ts"],"names":[],"mappings":";;AAoDA,sDAwBC;AAqBD,gDAIC;AAwCD,8CAeC;AA5JD,8CAA6D;AAC7D,4EAA4E;AA2B5E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,KAAK,UAAU,qBAAqB,CACzC,IAAwB,EACxB,GAAe,EACf,IAAY,EACZ,UAAmB,EACnB,iBAAyC;IAEzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,gHAAgH;QAChH,mEAAmE;QACnE,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3F,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAA,wBAAW,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAChG,IAAI,eAAe,IAAI,IAAA,oCAAkB,EAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,sGAAsG;QACtG,sGAAsG;QACtG,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sCAAsC,IAAA,wBAAW,EAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAWD;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAAC,KAAiF;IAClH,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,IAAI,KAAK,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAC;IACxC,OAAO,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC;AAmCD;;;;GAIG;AACI,KAAK,UAAU,iBAAiB,CAAC,KAA8B;IACpE,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7J,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjD,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * @description Pure plan of the `/runners` screen (`connectors/telegram/commands/runners.ts`): the list of paired machines with
3
+ * what they said about themselves, the buttons, the confirmation of a removal, the address step of the first pairing, the pairing
4
+ * message and the texts that replace it once the code was used or expired. Everything here takes the facts in and gives text and
5
+ * button data out, so the first render and every re-render can never drift apart, and the callback data is checked for Telegram's
6
+ * 64-byte cap in one place.
7
+ *
8
+ * Buttons carry the registry revision AND the runner's position in the WHOLE list (`rnr_<rev>_<i>_<action>`): a keyboard left in the
9
+ * history acts on the list it was drawn from or is refused, never on a neighbour that moved up — whichever page it stands on.
10
+ *
11
+ * The text is BOUNDED: Telegram refuses a message over 4096 characters, and what a machine reports about itself (CPU model, capability
12
+ * details) has no length of its own, so every reported string is clipped and the machines are split over pages of at most
13
+ * {@link maxScreenTextChars}. A page holds at least one machine; a list that fits is one page with no navigation.
14
+ */
15
+ import type { Translate } from '../i18n';
16
+ import { type RunnerProbe } from '../remoteRun/probe';
17
+ import type { PairedRunner } from '../runners/hubRegistry';
18
+ import type { RunnerJobsStop } from '../runners/runnerRemoval';
19
+ /** Telegram refuses callback data over 64 BYTES. */
20
+ export declare const maxCallbackDataBytes = 64;
21
+ /** The most characters a screen's text may have: Telegram's limit is 4096, the rest is the margin for the title, notes and the page line. */
22
+ export declare const maxScreenTextChars = 3600;
23
+ /** The longest a string a machine reported about itself (CPU model, a capability's detail, its OS name) is shown. */
24
+ export declare const maxReportedTextChars = 80;
25
+ export declare const runnersCallbackPrefix = "rnr_";
26
+ export declare const runnersPairCallback = "rnr_pair";
27
+ export declare const runnersRefreshCallback = "rnr_refresh";
28
+ export declare const runnersAddressUseCallback = "rnr_aduse";
29
+ export declare const runnersAddressOtherCallback = "rnr_adother";
30
+ /** Matches `rnr_pg_<page>` (0-based): a view change that acts on nothing, so it carries no revision. */
31
+ export declare const runnersPageCallbackRe: RegExp;
32
+ /** What a button next to a runner does. `remove` asks; `removeYes` / `removeNo` answer the question. */
33
+ export type RunnerAction = 'pause' | 'resume' | 'remove' | 'removeYes' | 'removeNo';
34
+ /** Matches `rnr_<rev>_<index>_<action code>`. */
35
+ export declare const runnerActionCallbackRe: RegExp;
36
+ export type RunnersCallback = {
37
+ kind: 'pair';
38
+ } | {
39
+ kind: 'refresh';
40
+ } | {
41
+ kind: 'addressUse';
42
+ } | {
43
+ kind: 'addressOther';
44
+ } | {
45
+ kind: 'page';
46
+ page: number;
47
+ } | {
48
+ kind: 'runner';
49
+ revision: number;
50
+ index: number;
51
+ action: RunnerAction;
52
+ };
53
+ export declare function buildRunnersPageCallback(page: number): string;
54
+ export declare function buildRunnerActionCallback(revision: number, index: number, action: RunnerAction): string;
55
+ /** @description Read a button's callback data; `null` when it is not one of this screen's. */
56
+ export declare function parseRunnersCallback(data: string): RunnersCallback | null;
57
+ export interface ScreenButton {
58
+ text: string;
59
+ data: string;
60
+ }
61
+ /** @name RunnersScreen @description Text and keyboard rows of one render. */
62
+ export interface RunnersScreen {
63
+ text: string;
64
+ rows: ScreenButton[][];
65
+ }
66
+ /** @name RunnersListScreen @description The list as one page: which of how many it is. */
67
+ export interface RunnersListScreen extends RunnersScreen {
68
+ /** 0-based, clamped into the list that exists. */
69
+ page: number;
70
+ pageCount: number;
71
+ }
72
+ /** @name RunnerScreenEntry @description One paired machine and everything known of it right now. */
73
+ export interface RunnerScreenEntry {
74
+ runner: PairedRunner;
75
+ isOnline: boolean;
76
+ /** The last time the hub knew the link alive; `null` = never connected. */
77
+ lastSeenMs: number | null;
78
+ /** The live probe while online, else the last snapshot taken when the machine was seen; `null` = never probed. */
79
+ probe: RunnerProbe | null;
80
+ }
81
+ export interface RunnersScreenModel {
82
+ /** The registry revision the keyboard is built from. */
83
+ revision: number;
84
+ entries: readonly RunnerScreenEntry[];
85
+ /** When each pairing code that is still open expires. */
86
+ openPairingExpiries: readonly number[];
87
+ /** A probe is running: the screen says so, and is re-rendered when it ends. */
88
+ isChecking: boolean;
89
+ }
90
+ /** @description Formats an instant for the operator (`1 Nov 14:02`) in the bot's timezone and the topic's language. */
91
+ export type FormatTime = (epochMs: number) => string;
92
+ /** @description `text` as a string a machine reported: no longer than {@link maxReportedTextChars}, cut with an ellipsis. */
93
+ export declare function clipReportedText(text: string): string;
94
+ /**
95
+ * @description Split the entry blocks over pages: each page takes blocks while the text stays within `budget` characters (blocks joined by
96
+ * a blank line), and at least one block, so a block over the budget alone still has a page. Returns each page's first block and the
97
+ * block after its last.
98
+ */
99
+ export declare function paginateBlocks(blocks: readonly string[], budget: number): Array<{
100
+ start: number;
101
+ end: number;
102
+ }>;
103
+ /**
104
+ * @description The list screen, page `page` (0-based; a page past the end is the last): the machines on it, a button to pair another, a
105
+ * Pause/Resume and a Remove per machine on the page, the page buttons when there is more than one page, Refresh.
106
+ */
107
+ export declare function buildRunnersScreen(model: RunnersScreenModel, t: Translate, formatTime: FormatTime, page?: number): RunnersListScreen;
108
+ /**
109
+ * @description The message that says what a removal came to: the key is deleted in every case, and the jobs were stopped from the hub, or the
110
+ * machine was offline (it stops them itself once it finds out), or they could not be stopped from here (it does the same). Three outcomes,
111
+ * three texts — «offline» is not what «failed» means.
112
+ */
113
+ export declare function buildRemovalOutcomeText(runnerName: string, jobs: RunnerJobsStop, t: Translate): string;
114
+ /** @description The question a Remove button turns the screen into. */
115
+ export declare function buildRemoveConfirmation(runnerName: string, revision: number, index: number, t: Translate): RunnersScreen;
116
+ /**
117
+ * @description The address step of the first pairing. With a proposal (an address of this machine that answered with its own
118
+ * sshd) it offers «Use …» and «Enter another address»; without one only the second, and says no address was found.
119
+ */
120
+ export declare function buildAddressStep(proposedAddress: string | null, t: Translate): RunnersScreen;
121
+ /** @description The pairing message's text parts: what stands above the line and below it. The line itself sits between them. */
122
+ export declare function buildPairingMessageParts(pairingLifetimeMinutes: number, t: Translate): {
123
+ intro: string;
124
+ outro: string;
125
+ };
126
+ /** @description What the pairing message becomes once the code was used. */
127
+ export declare function buildPairedText(runnerName: string, pairedAtMs: number, t: Translate, formatTime: FormatTime): string;
128
+ /** @description What the pairing message becomes once the code expired unused. */
129
+ export declare function buildExpiredText(t: Translate): string;
130
+ //# sourceMappingURL=runnersScreenPlan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runnersScreenPlan.d.ts","sourceRoot":"","sources":["../../src/utils/runnersScreenPlan.ts"],"names":[],"mappings":"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"}