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
@@ -0,0 +1,67 @@
1
+ import { type RedeemReply } from '../runners/gateProtocol';
2
+ import { type HubEndpoint } from './hubClient';
3
+ import { type ProcessControl } from './localLinkStop';
4
+ import { type CommandRunner } from '../selfUpdate/commandRunner';
5
+ import { type ServiceDeps } from './serviceManager';
6
+ import { type RunnerHomePaths } from './runnerHome';
7
+ import { type RunnerKeys } from './runnerKeys';
8
+ /**
9
+ * @description The commands of `charness-runner` that need the installed package (and so its dependencies): `pair`, `run`, `status`,
10
+ * `check`. `runnerCli.ts` starts them only after the app is installed.
11
+ */
12
+ export interface CommandIo {
13
+ stdout: (text: string) => void;
14
+ stderr: (text: string) => void;
15
+ }
16
+ /** @description The «Keep it running» part of the pairing text: the terminal, a service without admin, and — on a Mac — the always-on daemon. */
17
+ export declare function formatKeepRunningHelp(paths: RunnerHomePaths, platform?: NodeJS.Platform, accountName?: string): string;
18
+ export declare function formatRemovedMessage(label: string): string;
19
+ export interface PairingOutcomeInputs {
20
+ endpoint: HubEndpoint;
21
+ keys: RunnerKeys;
22
+ reply: Extract<RedeemReply, {
23
+ ok: true;
24
+ }>;
25
+ /** The id of the archive this copy was installed from — NOT the hub's current package, which is only what is available now. */
26
+ packageId: string | null;
27
+ appDir: string;
28
+ }
29
+ /**
30
+ * @description `charness-runner pair <code>` (run from the INSTALLED copy): redeem the code, record who the runner serves, install its
31
+ * tools. A pairing that an earlier run left half done is recovered FIRST (with the runner's own key), whatever the new code is. Returns the exit code.
32
+ */
33
+ export declare function runPair(code: string, appDir: string, packageId: string | null, io: CommandIo, homeDir?: string): Promise<number>;
34
+ /** @description `charness-runner run`: ensure the tools and Pueue, then hold the link until stopped. Returns the exit code (75 = restart onto an update). */
35
+ export declare function runLink(io: CommandIo, appDir: string, homeDir?: string): Promise<number>;
36
+ /** @description `charness-runner status`. */
37
+ export declare function runStatus(io: CommandIo, homeDir?: string, processControl?: ProcessControl): number;
38
+ /** @description `charness-runner check`: the machine report and the tools, installing what is missing. */
39
+ export declare function runCheck(io: CommandIo, homeDir?: string): Promise<number>;
40
+ /** @description `charness-runner pause` / `resume`: take this machine out of rotation, or back in. */
41
+ export declare function runPause(isPaused: boolean, io: CommandIo, homeDir?: string): number;
42
+ /** @description `charness-runner service install|uninstall [--system --user <account>]`. */
43
+ export declare function runService(args: readonly string[], io: CommandIo, deps?: ServiceDeps): Promise<number>;
44
+ export interface UnpairOptions {
45
+ /** Do not tell the hub (it is gone, or this machine cannot reach it). */
46
+ isLocalOnly: boolean;
47
+ }
48
+ export interface UnpairDeps {
49
+ service: ServiceDeps;
50
+ process: ProcessControl;
51
+ queueRunner: CommandRunner;
52
+ }
53
+ export declare function createUnpairDeps(): UnpairDeps;
54
+ /**
55
+ * @description `charness-runner unpair`: forget the pairing — and make that true. In this order:
56
+ * 1. a system service (installed by an admin) is NOT touched from the account: unpair stops there and prints the admin command, because a
57
+ * pairing cannot be forgotten under a running daemon that holds it;
58
+ * 2. the hub is told (it removes the key line and cuts the link) unless `--local`;
59
+ * 3. the link on this machine is STOPPED and checked to be gone — the user service removed (verified), a foreground `run` ended — since a
60
+ * running link keeps the keys in memory and goes on serving the hub's commands whatever the files say;
61
+ * 4. the queue's jobs are stopped (this machine no longer serves that hub's agents);
62
+ * 5. only then `config.json`, the keys, the status, the pause and the iOS result are deleted. The installed program, the tools, the work
63
+ * folder and the queue (now empty) stay.
64
+ * A step that fails stops the command with exit 1 and says what is left.
65
+ */
66
+ export declare function runUnpair(options: UnpairOptions, io: CommandIo, homeDir?: string, deps?: UnpairDeps): Promise<number>;
67
+ //# sourceMappingURL=runnerCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runnerCommands.d.ts","sourceRoot":"","sources":["../../src/runnerUtility/runnerCommands.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwC,KAAK,WAAW,EAAsB,MAAM,yBAAyB,CAAC;AAKrH,OAAO,EAAqD,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAMlG,OAAO,EAAiE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrH,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE7E,OAAO,EAA6F,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/I,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAoC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAKjF;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AA4CD,iJAAiJ;AACjJ,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAAE,WAAW,GAAE,MAA+B,GAAG,MAAM,CAahK;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1C,+HAA+H;IAC/H,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAwBD;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,MAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsEpJ;AAED,6JAA6J;AAC7J,wBAAsB,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuD5G;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,MAAqB,EAAE,cAAc,GAAE,cAAuC,GAAG,MAAM,CAwBxI;AAED,0GAA0G;AAC1G,wBAAsB,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,MAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAM7F;AAED,sGAAsG;AACtG,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,MAAqB,GAAG,MAAM,CASjG;AAED,4FAA4F;AAC5F,wBAAsB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAE,WAAiC,GAAG,OAAO,CAAC,MAAM,CAAC,CASjI;AAED,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,aAAa,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAE7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,MAAqB,EAAE,IAAI,GAAE,UAA+B,GAAG,OAAO,CAAC,MAAM,CAAC,CA8C7J"}
@@ -0,0 +1,418 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.formatKeepRunningHelp = formatKeepRunningHelp;
37
+ exports.formatRemovedMessage = formatRemovedMessage;
38
+ exports.runPair = runPair;
39
+ exports.runLink = runLink;
40
+ exports.runStatus = runStatus;
41
+ exports.runCheck = runCheck;
42
+ exports.runPause = runPause;
43
+ exports.runService = runService;
44
+ exports.createUnpairDeps = createUnpairDeps;
45
+ exports.runUnpair = runUnpair;
46
+ const fs = __importStar(require("fs"));
47
+ const os = __importStar(require("os"));
48
+ const path = __importStar(require("path"));
49
+ const runnersList_1 = require("../runners/runnersList");
50
+ const gateProtocol_1 = require("../runners/gateProtocol");
51
+ const pairCode_1 = require("../runners/pairCode");
52
+ const adminCheck_1 = require("./adminCheck");
53
+ const launcher_1 = require("./launcher");
54
+ const appInstall_1 = require("./appInstall");
55
+ const hubClient_1 = require("./hubClient");
56
+ const pairingRecovery_1 = require("./pairingRecovery");
57
+ const linkLoop_1 = require("./linkLoop");
58
+ const machineReport_1 = require("./machineReport");
59
+ const pueueDaemon_1 = require("./pueueDaemon");
60
+ const iosCheck_1 = require("./iosCheck");
61
+ const localLinkStop_1 = require("./localLinkStop");
62
+ const commandRunner_1 = require("../selfUpdate/commandRunner");
63
+ const runnerFlags_1 = require("./runnerFlags");
64
+ const serviceManager_1 = require("./serviceManager");
65
+ const runnerConfig_1 = require("./runnerConfig");
66
+ const runnerHome_1 = require("./runnerHome");
67
+ const runnerKeys_1 = require("./runnerKeys");
68
+ const execEnv_1 = require("./execEnv");
69
+ const runnerServers_1 = require("./runnerServers");
70
+ const toolInstall_1 = require("./toolInstall");
71
+ const envFileTemplate = '# KEY=VALUE lines, added to the environment of every job that runs on this machine (read again for each job).\n';
72
+ const shutdownGraceMs = 3000;
73
+ /** How long `run` waits for the service-managed Pueue to answer. */
74
+ const pueueServiceWaitMs = 20 * 1000;
75
+ /** How often the link looks at Xcode: a new version is checked again (`iosCheck.ts`). */
76
+ const iosRecheckIntervalMs = 60 * 60 * 1000;
77
+ const packageJsonRelativePath = path.join('..', '..', 'package.json');
78
+ function readOwnVersion() {
79
+ try {
80
+ const parsed = JSON.parse(fs.readFileSync(path.join(__dirname, packageJsonRelativePath), 'utf8'));
81
+ return parsed.version ?? 'unknown';
82
+ }
83
+ catch {
84
+ return 'unknown';
85
+ }
86
+ }
87
+ function formatToolLine(rsync, pueue) {
88
+ const describe = (name, outcome) => {
89
+ if (outcome === null)
90
+ return `${name}: not checked`;
91
+ if (!outcome.ok)
92
+ return `${name}: MISSING`;
93
+ return `${name} ${outcome.tool.version} (${outcome.wasInstalled ? 'installed' : path.dirname(outcome.tool.path)})`;
94
+ };
95
+ return ` tools: ${describe('rsync', rsync)} · ${describe('pueue', pueue)}`;
96
+ }
97
+ async function printMachineCheck(paths, io) {
98
+ io.stdout('charness-runner — checking this machine\n');
99
+ const report = await (0, machineReport_1.collectMachineReport)((0, machineReport_1.createMachineProbe)(paths.homeDir), paths.root);
100
+ io.stdout(`${(0, machineReport_1.formatMachineReport)(report).join('\n')}\n`);
101
+ const account = os.userInfo().username;
102
+ if ((0, adminCheck_1.checkIsAdminAccount)((0, adminCheck_1.readAccountFacts)()))
103
+ io.stdout(`${(0, adminCheck_1.formatAdminWarning)(account).join('\n')}\n`);
104
+ return report;
105
+ }
106
+ async function installTools(paths, deps, io) {
107
+ const pueue = await (0, toolInstall_1.ensurePueue)(paths, deps);
108
+ const rsync = await (0, toolInstall_1.ensureRsync)(paths, deps);
109
+ io.stdout(`${formatToolLine(rsync, pueue)}\n`);
110
+ for (const outcome of [pueue, rsync])
111
+ if (!outcome.ok)
112
+ io.stderr(`charness-runner: ${outcome.reason}\n`);
113
+ }
114
+ /** @description The «Keep it running» part of the pairing text: the terminal, a service without admin, and — on a Mac — the always-on daemon. */
115
+ function formatKeepRunningHelp(paths, platform = process.platform, accountName = os.userInfo().username) {
116
+ const lines = [
117
+ 'Keep it running:',
118
+ ` ${paths.launcher} run`,
119
+ ' here, in this terminal (Ctrl-C stops)',
120
+ ` ${paths.launcher} service install`,
121
+ platform === 'darwin' ? ' in the background while this user is logged in' : ' in the background, also after a logout or a reboot (a systemd user service that lingers)',
122
+ ];
123
+ if (platform === 'darwin') {
124
+ lines.push(` sudo ${paths.launcher} service install --system --user ${accountName}`, ' always, also logged out — once, from an admin account');
125
+ }
126
+ lines.push('');
127
+ return lines.join('\n');
128
+ }
129
+ function formatRemovedMessage(label) {
130
+ return `This runner was removed by ${label}. Pair again with a new line from /runners.`;
131
+ }
132
+ /** @description Record a pairing the hub has committed: folders, `current`, launcher, `config.json`; then the tools. Removes `pairing.json`. */
133
+ async function finishPairing(paths, inputs, io, isRecovered) {
134
+ const { endpoint, reply } = inputs;
135
+ const config = {
136
+ runnerId: reply.runnerId,
137
+ name: reply.name,
138
+ hub: { host: endpoint.host, port: endpoint.port, user: endpoint.user, hostKey: endpoint.hostKey, publicKey: reply.hubPublicKey, label: reply.label },
139
+ packageId: inputs.packageId,
140
+ pairedAtMs: Date.now(),
141
+ };
142
+ for (const directory of [paths.workDir, paths.logsDir])
143
+ fs.mkdirSync(directory, { recursive: true, mode: 0o700 });
144
+ if (!fs.existsSync(paths.envFile))
145
+ fs.writeFileSync(paths.envFile, envFileTemplate, { mode: 0o600 });
146
+ (0, appInstall_1.switchCurrentApp)(paths, inputs.appDir);
147
+ (0, launcher_1.ensureLauncher)(paths, process.execPath);
148
+ (0, runnerConfig_1.writeRunnerConfig)(paths, config);
149
+ (0, runnerConfig_1.removePairingInProgress)(paths);
150
+ (0, appInstall_1.removeOldApps)(paths);
151
+ await installTools(paths, (0, toolInstall_1.createToolDeps)(), io);
152
+ io.stdout(`\n${isRecovered ? 'Recovered a pairing whose answer was lost: paired' : 'Paired'} with charness ${reply.label} (${endpoint.host}:${endpoint.port}) as runner “${reply.name}”.\n`);
153
+ io.stdout(`Its agents will run their projects' code on this machine as user «${os.userInfo().username}».\n\n${formatKeepRunningHelp(paths)}`);
154
+ }
155
+ /**
156
+ * @description `charness-runner pair <code>` (run from the INSTALLED copy): redeem the code, record who the runner serves, install its
157
+ * tools. A pairing that an earlier run left half done is recovered FIRST (with the runner's own key), whatever the new code is. Returns the exit code.
158
+ */
159
+ async function runPair(code, appDir, packageId, io, homeDir = os.homedir()) {
160
+ const paths = (0, runnerHome_1.getRunnerHomePaths)(homeDir);
161
+ const existing = (0, runnerConfig_1.readRunnerConfig)(paths);
162
+ if (existing !== null) {
163
+ io.stderr(`charness-runner: this account is already paired (as “${existing.name}” with ${existing.hub.label}).\n`);
164
+ return 1;
165
+ }
166
+ const decoded = (0, pairCode_1.decodePairCode)(code);
167
+ if (!decoded.ok) {
168
+ io.stderr(`charness-runner: ${decoded.error}\n`);
169
+ return 1;
170
+ }
171
+ const payload = decoded.payload;
172
+ const keys = (0, runnerKeys_1.ensureRunnerKeys)(paths);
173
+ const interrupted = (0, runnerConfig_1.readPairingInProgress)(paths);
174
+ if (interrupted !== null) {
175
+ const recovery = await (0, pairingRecovery_1.recoverPairing)({ host: interrupted.host, port: interrupted.port, user: interrupted.user, hostKey: interrupted.hostKey }, keys);
176
+ if (recovery.kind === 'recovered') {
177
+ await finishPairing(paths, { endpoint: interrupted, keys, reply: recovery.reply, packageId: interrupted.packageId, appDir }, io, true);
178
+ return 0;
179
+ }
180
+ if (recovery.kind === 'unreachable') {
181
+ io.stderr(`charness-runner: an earlier pairing was interrupted and the hub cannot be asked about it now (${recovery.message}); try again in a moment.\n`);
182
+ return 1;
183
+ }
184
+ (0, runnerConfig_1.removePairingInProgress)(paths);
185
+ }
186
+ const endpoint = { host: payload.host, port: payload.port, user: payload.user, hostKey: payload.hostKey };
187
+ const report = await printMachineCheck(paths, io);
188
+ const request = {
189
+ suggestedName: os.hostname(),
190
+ publicKey: keys.client.publicKey,
191
+ hostKey: keys.server.publicKey,
192
+ workDir: paths.workDir,
193
+ os: report.osName,
194
+ arch: report.arch,
195
+ version: readOwnVersion(),
196
+ serviceKind: 'foreground',
197
+ };
198
+ (0, runnerConfig_1.writePairingInProgress)(paths, { pairId: payload.pairId, ...endpoint, startedAtMs: Date.now(), packageId });
199
+ let reply = null;
200
+ let failure = 'pairing failed';
201
+ try {
202
+ const client = await (0, hubClient_1.connectToHub)(endpoint, payload.privateKey);
203
+ try {
204
+ reply = await (0, hubClient_1.requestGateJson)(client, 'redeem', JSON.stringify(request), gateProtocol_1.redeemReplySchema);
205
+ }
206
+ finally {
207
+ client.end();
208
+ }
209
+ }
210
+ catch (error) {
211
+ failure = error instanceof hubClient_1.HubConnectionError && error.failure === 'auth' ? 'the hub refused this pairing line — it has expired or has been used already; make a new one' : error instanceof Error ? error.message : failure;
212
+ }
213
+ if (reply !== null && !reply.ok) {
214
+ (0, runnerConfig_1.removePairingInProgress)(paths);
215
+ io.stderr(`charness-runner: the hub refused the pairing: ${reply.reason}\n`);
216
+ return 1;
217
+ }
218
+ if (reply === null) {
219
+ // No answer: the hub may have committed all the same (its answer lost on the way). The runner's own key can ask.
220
+ const recovery = await (0, pairingRecovery_1.recoverPairing)(endpoint, keys);
221
+ if (recovery.kind === 'recovered') {
222
+ await finishPairing(paths, { endpoint, keys, reply: recovery.reply, packageId, appDir }, io, true);
223
+ return 0;
224
+ }
225
+ if (recovery.kind === 'not-registered')
226
+ (0, runnerConfig_1.removePairingInProgress)(paths);
227
+ io.stderr(`charness-runner: ${failure}${recovery.kind === 'unreachable' ? ' (run `charness-runner pair` again later to finish if the hub did register this machine)' : ''}\n`);
228
+ return 1;
229
+ }
230
+ await finishPairing(paths, { endpoint, keys, reply, packageId, appDir }, io, false);
231
+ return 0;
232
+ }
233
+ /** @description `charness-runner run`: ensure the tools and Pueue, then hold the link until stopped. Returns the exit code (75 = restart onto an update). */
234
+ async function runLink(io, appDir, homeDir = os.homedir()) {
235
+ const paths = (0, runnerHome_1.getRunnerHomePaths)(homeDir);
236
+ let config = (0, runnerConfig_1.readRunnerConfig)(paths);
237
+ const keys = (0, runnerKeys_1.readRunnerKeys)(paths);
238
+ const interrupted = config === null && keys !== null ? (0, runnerConfig_1.readPairingInProgress)(paths) : null;
239
+ if (interrupted !== null && keys !== null) {
240
+ const recovery = await (0, pairingRecovery_1.recoverPairing)({ host: interrupted.host, port: interrupted.port, user: interrupted.user, hostKey: interrupted.hostKey }, keys);
241
+ if (recovery.kind === 'recovered') {
242
+ await finishPairing(paths, { endpoint: interrupted, keys, reply: recovery.reply, packageId: interrupted.packageId, appDir }, io, true);
243
+ config = (0, runnerConfig_1.readRunnerConfig)(paths);
244
+ }
245
+ else if (recovery.kind === 'not-registered') {
246
+ (0, runnerConfig_1.removePairingInProgress)(paths);
247
+ }
248
+ }
249
+ if (config === null || keys === null) {
250
+ io.stderr('charness-runner: this account is not paired. Run the line from /runners on this machine first.\n');
251
+ return 1;
252
+ }
253
+ (0, launcher_1.ensureLauncher)(paths, process.execPath);
254
+ const toolDeps = (0, toolInstall_1.createToolDeps)();
255
+ if (!(await (0, toolInstall_1.findPueue)(paths, toolDeps)))
256
+ await (0, toolInstall_1.ensurePueue)(paths, toolDeps);
257
+ // A service that manages Pueue owns the daemon: starting a second one here would only fight it for the socket.
258
+ const isPueueRunning = (0, serviceManager_1.readServiceKind)(paths) === null ? await (0, pueueDaemon_1.ensurePueueDaemon)(paths) : await (0, pueueDaemon_1.waitForPueueDaemon)(paths, pueueServiceWaitMs);
259
+ if (!isPueueRunning)
260
+ io.stderr('charness-runner: Pueue is not running; jobs cannot be queued until it is (the link goes up anyway).\n');
261
+ const iosDeps = (0, iosCheck_1.createIosCheckDeps)();
262
+ // The record cannot be written (the state folder, a full disk): the Mac then says «being checked» — and why is in the log, not nowhere.
263
+ const logIosCheckError = (error) => { io.stderr(`charness-runner: the iOS Simulator check could not be recorded (${error instanceof Error ? error.message : 'unknown error'})\n`); };
264
+ void (0, iosCheck_1.refreshIosCheck)(paths, iosDeps, { isStartup: true }).catch(logIosCheckError);
265
+ const iosTimer = setInterval(() => { void (0, iosCheck_1.refreshIosCheck)(paths, iosDeps, { isStartup: false }).catch(logIosCheckError); }, iosRecheckIntervalMs);
266
+ iosTimer.unref();
267
+ const loopRef = { current: null };
268
+ const servers = (0, runnerServers_1.createRunnerServers)({
269
+ serverPrivateKey: keys.server.privateKey,
270
+ hubPublicKey: config.hub.publicKey,
271
+ readEnv: () => (0, execEnv_1.readExecEnv)(paths),
272
+ cwd: paths.workDir,
273
+ onActiveCountChange: () => loopRef.current?.notifyActiveCountChange(),
274
+ });
275
+ loopRef.current = (0, linkLoop_1.createLinkLoop)({
276
+ paths,
277
+ config,
278
+ keys,
279
+ servers,
280
+ log: (line) => io.stderr(`charness-runner: ${line}\n`),
281
+ stopJobs: async () => { await (0, pueueDaemon_1.stopAllPueueJobs)(paths); },
282
+ });
283
+ const controller = new AbortController();
284
+ const stop = () => {
285
+ controller.abort();
286
+ setTimeout(() => process.exit(0), shutdownGraceMs).unref();
287
+ };
288
+ process.once('SIGINT', stop);
289
+ process.once('SIGTERM', stop);
290
+ io.stdout(`charness-runner: serving ${config.hub.label} as “${config.name}” (Ctrl-C stops)\n`);
291
+ return loopRef.current.run(controller.signal);
292
+ }
293
+ /** @description `charness-runner status`. */
294
+ function runStatus(io, homeDir = os.homedir(), processControl = (0, localLinkStop_1.createProcessControl)()) {
295
+ const paths = (0, runnerHome_1.getRunnerHomePaths)(homeDir);
296
+ const config = (0, runnerConfig_1.readRunnerConfig)(paths);
297
+ if (config === null) {
298
+ io.stdout('This account is not paired. Run the line from /runners on this machine to attach it to a charness.\n');
299
+ return 0;
300
+ }
301
+ const status = (0, runnerConfig_1.readRunnerStatus)(paths);
302
+ const lines = [`Runner “${config.name}” of charness ${config.hub.label} (${config.hub.host}:${config.hub.port})`];
303
+ if (status === null || !(0, localLinkStop_1.checkIsRunnerLinkProcess)(status.pid, processControl)) {
304
+ lines.push(' link: not running (start it with `charness-runner run`)');
305
+ }
306
+ else if (status.state === 'removed') {
307
+ lines.push(` ${formatRemovedMessage(config.hub.label)}`);
308
+ }
309
+ else {
310
+ lines.push(` link: ${status.state} since ${(0, runnersList_1.formatListTimestamp)(status.sinceMs)}${status.lastError === null ? '' : ` (last error: ${status.lastError})`}`);
311
+ lines.push(` jobs running over the link: ${status.activeJobs}`);
312
+ }
313
+ const serviceKind = (0, serviceManager_1.readServiceKind)(paths);
314
+ lines.push(` service: ${serviceKind === null ? 'none (run it by hand, or `service install`)' : serviceKind === 'system-service' ? 'system service (always on)' : 'user service'}${(0, runnerFlags_1.checkIsRunnerPaused)(paths) ? ' · PAUSED (no jobs are sent here; `resume` ends it)' : ''}`);
315
+ const ios = (0, iosCheck_1.readIosCheck)(paths);
316
+ if (ios !== null && ios.status !== 'skipped')
317
+ lines.push(` ios: ${ios.status === 'pass' ? `the Simulator boots (Xcode ${ios.xcode ?? 'unknown'})` : `no — needs the runner user's login session (${ios.reason ?? 'the boot check failed'})`}`);
318
+ lines.push(` package: ${config.packageId ?? 'unknown'} · paired ${(0, runnersList_1.formatListTimestamp)(config.pairedAtMs)}`);
319
+ io.stdout(`${lines.join('\n')}\n`);
320
+ return 0;
321
+ }
322
+ /** @description `charness-runner check`: the machine report and the tools, installing what is missing. */
323
+ async function runCheck(io, homeDir = os.homedir()) {
324
+ const paths = (0, runnerHome_1.getRunnerHomePaths)(homeDir);
325
+ await printMachineCheck(paths, io);
326
+ const toolDeps = (0, toolInstall_1.createToolDeps)();
327
+ await installTools(paths, toolDeps, io);
328
+ return (await (0, toolInstall_1.findRsync)(paths, toolDeps)) !== null && (await (0, toolInstall_1.findPueue)(paths, toolDeps)) !== null ? 0 : 1;
329
+ }
330
+ /** @description `charness-runner pause` / `resume`: take this machine out of rotation, or back in. */
331
+ function runPause(isPaused, io, homeDir = os.homedir()) {
332
+ const paths = (0, runnerHome_1.getRunnerHomePaths)(homeDir);
333
+ if ((0, runnerConfig_1.readRunnerConfig)(paths) === null) {
334
+ io.stderr('charness-runner: this account is not paired.\n');
335
+ return 1;
336
+ }
337
+ (0, runnerFlags_1.setRunnerPaused)(paths, isPaused);
338
+ io.stdout(isPaused ? 'Paused: the link stays up, but no job is sent to this machine until `charness-runner resume`.\n' : 'Resumed: this machine takes jobs again.\n');
339
+ return 0;
340
+ }
341
+ /** @description `charness-runner service install|uninstall [--system --user <account>]`. */
342
+ async function runService(args, io, deps = (0, serviceManager_1.createServiceDeps)()) {
343
+ const parsed = (0, serviceManager_1.parseServiceCommand)(args);
344
+ if (!parsed.ok) {
345
+ io.stderr(`charness-runner: ${parsed.error}\n`);
346
+ return 2;
347
+ }
348
+ const result = parsed.action === 'install' ? await (0, serviceManager_1.installService)(parsed.request, deps) : await (0, serviceManager_1.uninstallService)(parsed.request, deps);
349
+ io.stdout(result.lines.length === 0 ? '' : `${result.lines.join('\n')}\n`);
350
+ return result.ok ? 0 : 1;
351
+ }
352
+ function createUnpairDeps() {
353
+ return { service: (0, serviceManager_1.createServiceDeps)(), process: (0, localLinkStop_1.createProcessControl)(), queueRunner: commandRunner_1.runCommand };
354
+ }
355
+ /**
356
+ * @description `charness-runner unpair`: forget the pairing — and make that true. In this order:
357
+ * 1. a system service (installed by an admin) is NOT touched from the account: unpair stops there and prints the admin command, because a
358
+ * pairing cannot be forgotten under a running daemon that holds it;
359
+ * 2. the hub is told (it removes the key line and cuts the link) unless `--local`;
360
+ * 3. the link on this machine is STOPPED and checked to be gone — the user service removed (verified), a foreground `run` ended — since a
361
+ * running link keeps the keys in memory and goes on serving the hub's commands whatever the files say;
362
+ * 4. the queue's jobs are stopped (this machine no longer serves that hub's agents);
363
+ * 5. only then `config.json`, the keys, the status, the pause and the iOS result are deleted. The installed program, the tools, the work
364
+ * folder and the queue (now empty) stay.
365
+ * A step that fails stops the command with exit 1 and says what is left.
366
+ */
367
+ async function runUnpair(options, io, homeDir = os.homedir(), deps = createUnpairDeps()) {
368
+ const paths = (0, runnerHome_1.getRunnerHomePaths)(homeDir);
369
+ const config = (0, runnerConfig_1.readRunnerConfig)(paths);
370
+ const keys = (0, runnerKeys_1.readRunnerKeys)(paths);
371
+ if (config === null || keys === null) {
372
+ io.stderr('charness-runner: this account is not paired.\n');
373
+ return 1;
374
+ }
375
+ const serviceKind = (0, serviceManager_1.readServiceKind)(paths);
376
+ if (serviceKind === 'system-service') {
377
+ io.stderr(`charness-runner: this runner runs as a system service, which only an admin can remove. Remove it first, then unpair: sudo ${paths.launcher} service uninstall --system --user ${os.userInfo().username}. Nothing was changed.\n`);
378
+ return 1;
379
+ }
380
+ if (!options.isLocalOnly) {
381
+ try {
382
+ const client = await (0, hubClient_1.connectToHub)({ host: config.hub.host, port: config.hub.port, user: config.hub.user, hostKey: config.hub.hostKey }, keys.client.privateKey);
383
+ try {
384
+ await (0, hubClient_1.requestGateJson)(client, 'unpair', null, gateProtocol_1.unpairReplySchema);
385
+ }
386
+ finally {
387
+ client.end();
388
+ }
389
+ }
390
+ catch (error) {
391
+ // A hub that no longer accepts the key has already forgotten this machine: nothing is left to tell it.
392
+ if (!(error instanceof hubClient_1.HubConnectionError && error.failure === 'auth')) {
393
+ io.stderr(`charness-runner: the hub could not be told (${error instanceof Error ? error.message : 'unknown error'}). Nothing was changed. Try again, or use \`unpair --local\` to forget the pairing here only.\n`);
394
+ return 1;
395
+ }
396
+ }
397
+ }
398
+ if (serviceKind === 'user-service') {
399
+ const removed = await (0, serviceManager_1.uninstallService)({ isSystem: false, userName: null }, deps.service);
400
+ if (!removed.ok) {
401
+ io.stderr(`charness-runner: the service on this machine could not be stopped, so the pairing is kept here: ${removed.lines.join(' ')}\n`);
402
+ return 1;
403
+ }
404
+ }
405
+ const stillRunning = await (0, localLinkStop_1.stopLocalLink)(paths, deps.process);
406
+ if (stillRunning !== null) {
407
+ io.stderr(`charness-runner: the runner on this machine could not be stopped (${stillRunning}), so the pairing is kept here. Stop it by hand and run unpair again.\n`);
408
+ return 1;
409
+ }
410
+ if (!(await (0, pueueDaemon_1.stopAllPueueJobs)(paths, deps.queueRunner)))
411
+ io.stderr('charness-runner: some jobs of the queue may still be running; check `pueue status` with the runner\'s configuration.\n');
412
+ for (const file of [paths.config, paths.status, paths.pairing, paths.pausedFlag, paths.iosCheck])
413
+ fs.rmSync(file, { force: true });
414
+ fs.rmSync(paths.keysDir, { recursive: true, force: true });
415
+ io.stdout(`Unpaired from charness ${config.hub.label}${options.isLocalOnly ? ' (here only — the hub was not told)' : ''}. The link on this machine is stopped, and so are its jobs.\n`);
416
+ return 0;
417
+ }
418
+ //# sourceMappingURL=runnerCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runnerCommands.js","sourceRoot":"","sources":["../../src/runnerUtility/runnerCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { z } from 'zod';
2
+ import type { RunnerHomePaths } from './runnerHome';
3
+ declare const runnerConfigSchema: z.ZodObject<{
4
+ runnerId: z.ZodString;
5
+ name: z.ZodString;
6
+ hub: z.ZodObject<{
7
+ host: z.ZodString;
8
+ port: z.ZodNumber;
9
+ user: z.ZodString;
10
+ hostKey: z.ZodString;
11
+ publicKey: z.ZodString;
12
+ label: z.ZodString;
13
+ }, z.core.$strict>;
14
+ packageId: z.ZodNullable<z.ZodString>;
15
+ pairedAtMs: z.ZodNumber;
16
+ }, z.core.$strict>;
17
+ /** @name RunnerConfig @description `config.json`. */
18
+ export type RunnerConfig = z.infer<typeof runnerConfigSchema>;
19
+ export declare const linkStates: readonly ["connecting", "linked", "removed", "error"];
20
+ /** @name LinkState @description What the link is doing. */
21
+ export type LinkState = (typeof linkStates)[number];
22
+ declare const runnerStatusSchema: z.ZodObject<{
23
+ pid: z.ZodNumber;
24
+ state: z.ZodEnum<{
25
+ error: "error";
26
+ removed: "removed";
27
+ connecting: "connecting";
28
+ linked: "linked";
29
+ }>;
30
+ sinceMs: z.ZodNumber;
31
+ updatedAtMs: z.ZodNumber;
32
+ lastError: z.ZodNullable<z.ZodString>;
33
+ activeJobs: z.ZodNumber;
34
+ packageId: z.ZodNullable<z.ZodString>;
35
+ }, z.core.$strict>;
36
+ /** @name RunnerStatus @description `status.json`. */
37
+ export type RunnerStatus = z.infer<typeof runnerStatusSchema>;
38
+ declare const pairingInProgressSchema: z.ZodObject<{
39
+ pairId: z.ZodString;
40
+ host: z.ZodString;
41
+ port: z.ZodNumber;
42
+ user: z.ZodString;
43
+ hostKey: z.ZodString;
44
+ startedAtMs: z.ZodNumber;
45
+ packageId: z.ZodNullable<z.ZodString>;
46
+ }, z.core.$strict>;
47
+ /** @name PairingInProgress @description `pairing.json`: the hub's address and the code's id — NOT the temporary key — written before a code is redeemed. */
48
+ export type PairingInProgress = z.infer<typeof pairingInProgressSchema>;
49
+ export declare class RunnerConfigError extends Error {
50
+ constructor(message: string);
51
+ }
52
+ /** @description `config.json`, or `null` when this account is not paired. */
53
+ export declare function readRunnerConfig(paths: RunnerHomePaths): RunnerConfig | null;
54
+ export declare function writeRunnerConfig(paths: RunnerHomePaths, config: RunnerConfig): void;
55
+ /** @description `status.json`, or `null` when `run` never wrote one (an unreadable one reads as none: it is only a report). */
56
+ export declare function readRunnerStatus(paths: RunnerHomePaths): RunnerStatus | null;
57
+ export declare function writeRunnerStatus(paths: RunnerHomePaths, status: RunnerStatus): void;
58
+ /** @description `pairing.json`, or `null` when no pairing is half done. */
59
+ export declare function readPairingInProgress(paths: RunnerHomePaths): PairingInProgress | null;
60
+ export declare function writePairingInProgress(paths: RunnerHomePaths, pairing: PairingInProgress): void;
61
+ export declare function removePairingInProgress(paths: RunnerHomePaths): void;
62
+ export {};
63
+ //# sourceMappingURL=runnerConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runnerConfig.d.ts","sourceRoot":"","sources":["../../src/runnerUtility/runnerConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAWpD,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;kBAiBtB,CAAC;AAEH,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,UAAU,uDAAwD,CAAC;AAChF,2DAA2D;AAC3D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;kBAStB,CAAC;AAEH,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,QAAA,MAAM,uBAAuB;;;;;;;;kBAS3B,CAAC;AAEH,4JAA4J;AAC5J,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAqBD,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAE5E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAEpF;AAED,+HAA+H;AAC/H,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAM5E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAEpF;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,CAEtF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAE/F;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAEpE"}