@songsid/agend 2.3.4-beta.6 → 2.3.5-alpha.2

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 (386) hide show
  1. package/README.md +2 -0
  2. package/README.zh-TW.md +2 -0
  3. package/THIRD_PARTY_NOTICES.md +53 -0
  4. package/dist/agent-endpoint.d.ts +5 -1
  5. package/dist/agent-endpoint.js +12 -2
  6. package/dist/agent-endpoint.js.map +1 -1
  7. package/dist/backend/claude-code.d.ts +15 -12
  8. package/dist/backend/claude-code.js +137 -133
  9. package/dist/backend/claude-code.js.map +1 -1
  10. package/dist/backend/codex-package.d.ts +5 -2
  11. package/dist/backend/codex-package.js +1 -5
  12. package/dist/backend/codex-package.js.map +1 -1
  13. package/dist/backend/codex.d.ts +136 -113
  14. package/dist/backend/codex.js +1271 -1219
  15. package/dist/backend/codex.js.map +1 -1
  16. package/dist/backend/grok-model-cache.d.ts +7 -0
  17. package/dist/backend/grok-model-cache.js +65 -0
  18. package/dist/backend/grok-model-cache.js.map +1 -0
  19. package/dist/backend/grok.d.ts +2 -0
  20. package/dist/backend/grok.js +22 -0
  21. package/dist/backend/grok.js.map +1 -1
  22. package/dist/backend/native-pane.d.ts +9 -0
  23. package/dist/backend/native-pane.js +59 -0
  24. package/dist/backend/native-pane.js.map +1 -0
  25. package/dist/backend/types.d.ts +7 -0
  26. package/dist/backend/types.js.map +1 -1
  27. package/dist/channel/ipc-bridge.d.ts +2 -0
  28. package/dist/channel/mcp-tools.js +1 -1
  29. package/dist/channel/mcp-tools.js.map +1 -1
  30. package/dist/cli.js +6 -2
  31. package/dist/cli.js.map +1 -1
  32. package/dist/config-validator.js +59 -0
  33. package/dist/config-validator.js.map +1 -1
  34. package/dist/config.js +16 -0
  35. package/dist/config.js.map +1 -1
  36. package/dist/daemon.d.ts +62 -5
  37. package/dist/daemon.js +749 -267
  38. package/dist/daemon.js.map +1 -1
  39. package/dist/delivery-consumed-watch.d.ts +15 -3
  40. package/dist/delivery-consumed-watch.js +23 -1
  41. package/dist/delivery-consumed-watch.js.map +1 -1
  42. package/dist/delivery-outbox.d.ts +5 -0
  43. package/dist/delivery-outbox.js +32 -4
  44. package/dist/delivery-outbox.js.map +1 -1
  45. package/dist/delivery-reconciliation.d.ts +2 -35
  46. package/dist/delivery-reconciliation.js +2 -156
  47. package/dist/delivery-reconciliation.js.map +1 -1
  48. package/dist/fleet-context.d.ts +2 -2
  49. package/dist/fleet-level-config.d.ts +1 -1
  50. package/dist/fleet-level-config.js +2 -0
  51. package/dist/fleet-level-config.js.map +1 -1
  52. package/dist/fleet-manager.d.ts +125 -2
  53. package/dist/fleet-manager.js +1157 -27
  54. package/dist/fleet-manager.js.map +1 -1
  55. package/dist/fleet-windows-runtime.d.ts +92 -0
  56. package/dist/fleet-windows-runtime.js +373 -0
  57. package/dist/fleet-windows-runtime.js.map +1 -0
  58. package/dist/instance-config-impact.js +4 -0
  59. package/dist/instance-config-impact.js.map +1 -1
  60. package/dist/instance-lifecycle.d.ts +20 -3
  61. package/dist/instance-lifecycle.js +358 -156
  62. package/dist/instance-lifecycle.js.map +1 -1
  63. package/dist/local-pane-endpoint.d.ts +46 -0
  64. package/dist/local-pane-endpoint.js +189 -0
  65. package/dist/local-pane-endpoint.js.map +1 -0
  66. package/dist/local-pane-launcher.d.ts +2 -0
  67. package/dist/local-pane-launcher.js +38 -0
  68. package/dist/local-pane-launcher.js.map +1 -0
  69. package/dist/local-pane-stage.ps1 +101 -0
  70. package/dist/locale.js +34 -0
  71. package/dist/locale.js.map +1 -1
  72. package/dist/model-catalog-defaults.d.ts +14 -0
  73. package/dist/model-catalog-defaults.js +20 -0
  74. package/dist/model-catalog-defaults.js.map +1 -0
  75. package/dist/native-agent-admission.d.ts +7 -0
  76. package/dist/native-agent-admission.js +26 -0
  77. package/dist/native-agent-admission.js.map +1 -0
  78. package/dist/native-daemon-client.d.ts +13 -0
  79. package/dist/native-daemon-client.js +28 -0
  80. package/dist/native-daemon-client.js.map +1 -0
  81. package/dist/native-instance-api.d.ts +14 -0
  82. package/dist/native-instance-api.js +205 -0
  83. package/dist/native-instance-api.js.map +1 -0
  84. package/dist/native-instance-input.d.ts +84 -0
  85. package/dist/native-instance-input.js +54 -0
  86. package/dist/native-instance-input.js.map +1 -0
  87. package/dist/native-instance-registry.d.ts +32 -0
  88. package/dist/native-instance-registry.js +105 -0
  89. package/dist/native-instance-registry.js.map +1 -0
  90. package/dist/native-mcp.d.ts +40 -0
  91. package/dist/native-mcp.js +278 -0
  92. package/dist/native-mcp.js.map +1 -0
  93. package/dist/native-model-catalog.d.ts +5 -0
  94. package/dist/native-model-catalog.js +76 -0
  95. package/dist/native-model-catalog.js.map +1 -0
  96. package/dist/native-pane-crash-budget.d.ts +20 -0
  97. package/dist/native-pane-crash-budget.js +60 -0
  98. package/dist/native-pane-crash-budget.js.map +1 -0
  99. package/dist/native-pane-create.d.ts +26 -0
  100. package/dist/native-pane-create.js +53 -0
  101. package/dist/native-pane-create.js.map +1 -0
  102. package/dist/native-pane-lifecycle.d.ts +65 -0
  103. package/dist/native-pane-lifecycle.js +227 -0
  104. package/dist/native-pane-lifecycle.js.map +1 -0
  105. package/dist/native-pane-manager.d.ts +58 -0
  106. package/dist/native-pane-manager.js +563 -0
  107. package/dist/native-pane-manager.js.map +1 -0
  108. package/dist/native-pane-output-log.d.ts +15 -0
  109. package/dist/native-pane-output-log.js +108 -0
  110. package/dist/native-pane-output-log.js.map +1 -0
  111. package/dist/native-pane-reconciliation.d.ts +4 -0
  112. package/dist/native-pane-reconciliation.js +40 -0
  113. package/dist/native-pane-reconciliation.js.map +1 -0
  114. package/dist/native-pane-recovery.d.ts +12 -0
  115. package/dist/native-pane-recovery.js +10 -0
  116. package/dist/native-pane-recovery.js.map +1 -0
  117. package/dist/native-pane-tools.d.ts +2 -0
  118. package/dist/native-pane-tools.js +14 -0
  119. package/dist/native-pane-tools.js.map +1 -0
  120. package/dist/needs-you-hub.d.ts +2 -0
  121. package/dist/needs-you-hub.js +1 -0
  122. package/dist/needs-you-hub.js.map +1 -1
  123. package/dist/needs-you.d.ts +12 -1
  124. package/dist/needs-you.js +8 -1
  125. package/dist/needs-you.js.map +1 -1
  126. package/dist/outbound-handlers.d.ts +16 -2
  127. package/dist/outbound-handlers.js +67 -3
  128. package/dist/outbound-handlers.js.map +1 -1
  129. package/dist/outbound-schemas.d.ts +38 -0
  130. package/dist/outbound-schemas.js +12 -0
  131. package/dist/outbound-schemas.js.map +1 -1
  132. package/dist/pane-port.d.ts +107 -0
  133. package/dist/pane-port.js +2 -0
  134. package/dist/pane-port.js.map +1 -0
  135. package/dist/runtime-api.d.ts +8 -0
  136. package/dist/runtime-api.js +96 -0
  137. package/dist/runtime-api.js.map +1 -0
  138. package/dist/runtime-assets/@xterm/addon-serialize/LICENSE +21 -0
  139. package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.js +2 -0
  140. package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.mjs +19 -0
  141. package/dist/runtime-assets/@xterm/addon-serialize/package.json +29 -0
  142. package/dist/runtime-assets/@xterm/headless/LICENSE +21 -0
  143. package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.js +2 -0
  144. package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.mjs +46 -0
  145. package/dist/runtime-assets/@xterm/headless/package.json +29 -0
  146. package/dist/runtime-assets/node-pty/CONPTY-LICENSE +21 -0
  147. package/dist/runtime-assets/node-pty/CONPTY-NOTICE.md +503 -0
  148. package/dist/runtime-assets/node-pty/LICENSE +69 -0
  149. package/dist/runtime-assets/node-pty/lib/conpty_console_list_agent.js +16 -0
  150. package/dist/runtime-assets/node-pty/lib/eventEmitter2.js +47 -0
  151. package/dist/runtime-assets/node-pty/lib/index.js +52 -0
  152. package/dist/runtime-assets/node-pty/lib/interfaces.js +7 -0
  153. package/dist/runtime-assets/node-pty/lib/shared/conout.js +11 -0
  154. package/dist/runtime-assets/node-pty/lib/terminal.js +190 -0
  155. package/dist/runtime-assets/node-pty/lib/types.js +7 -0
  156. package/dist/runtime-assets/node-pty/lib/unixTerminal.js +346 -0
  157. package/dist/runtime-assets/node-pty/lib/utils.js +39 -0
  158. package/dist/runtime-assets/node-pty/lib/windowsConoutConnection.js +125 -0
  159. package/dist/runtime-assets/node-pty/lib/windowsPtyAgent.js +320 -0
  160. package/dist/runtime-assets/node-pty/lib/windowsTerminal.js +199 -0
  161. package/dist/runtime-assets/node-pty/lib/worker/conoutSocketWorker.js +22 -0
  162. package/dist/runtime-assets/node-pty/package.json +64 -0
  163. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  164. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  165. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  166. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  167. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  168. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  169. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  170. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  171. package/dist/runtime-bundle.d.ts +17 -0
  172. package/dist/runtime-bundle.js +147 -0
  173. package/dist/runtime-bundle.js.map +1 -0
  174. package/dist/runtime-cli.d.ts +2 -0
  175. package/dist/runtime-cli.js +117 -0
  176. package/dist/runtime-cli.js.map +1 -0
  177. package/dist/runtime-client-store.d.ts +49 -0
  178. package/dist/runtime-client-store.js +292 -0
  179. package/dist/runtime-client-store.js.map +1 -0
  180. package/dist/runtime-client.d.ts +100 -0
  181. package/dist/runtime-client.js +700 -0
  182. package/dist/runtime-client.js.map +1 -0
  183. package/dist/runtime-coordinator.d.ts +82 -0
  184. package/dist/runtime-coordinator.js +864 -0
  185. package/dist/runtime-coordinator.js.map +1 -0
  186. package/dist/runtime-pane-assets.d.ts +17 -0
  187. package/dist/runtime-pane-assets.js +23 -0
  188. package/dist/runtime-pane-assets.js.map +1 -0
  189. package/dist/runtime-pane-boot.d.ts +2 -0
  190. package/dist/runtime-pane-boot.js +24 -0
  191. package/dist/runtime-pane-boot.js.map +1 -0
  192. package/dist/runtime-pane-codex-index.d.ts +1 -0
  193. package/dist/runtime-pane-codex-index.js +47 -0
  194. package/dist/runtime-pane-codex-index.js.map +1 -0
  195. package/dist/runtime-pane-config.d.ts +16 -0
  196. package/dist/runtime-pane-config.js +54 -0
  197. package/dist/runtime-pane-config.js.map +1 -0
  198. package/dist/runtime-pane-host.d.ts +43 -0
  199. package/dist/runtime-pane-host.js +403 -0
  200. package/dist/runtime-pane-host.js.map +1 -0
  201. package/dist/runtime-pane-job-owner.d.ts +1 -0
  202. package/dist/runtime-pane-job-owner.js +29 -0
  203. package/dist/runtime-pane-job-owner.js.map +1 -0
  204. package/dist/runtime-pane-job.ps1 +116 -0
  205. package/dist/runtime-pane-link.d.ts +40 -0
  206. package/dist/runtime-pane-link.js +246 -0
  207. package/dist/runtime-pane-link.js.map +1 -0
  208. package/dist/runtime-pane-mcp-protocol.d.ts +32 -0
  209. package/dist/runtime-pane-mcp-protocol.js +39 -0
  210. package/dist/runtime-pane-mcp-protocol.js.map +1 -0
  211. package/dist/runtime-pane-mcp-relay.d.ts +17 -0
  212. package/dist/runtime-pane-mcp-relay.js +70 -0
  213. package/dist/runtime-pane-mcp-relay.js.map +1 -0
  214. package/dist/runtime-pane-mcp.d.ts +43 -0
  215. package/dist/runtime-pane-mcp.js +137 -0
  216. package/dist/runtime-pane-mcp.js.map +1 -0
  217. package/dist/runtime-pane-native.d.ts +45 -0
  218. package/dist/runtime-pane-native.js +65 -0
  219. package/dist/runtime-pane-native.js.map +1 -0
  220. package/dist/runtime-pane-output.d.ts +19 -0
  221. package/dist/runtime-pane-output.js +53 -0
  222. package/dist/runtime-pane-output.js.map +1 -0
  223. package/dist/runtime-pane-port.d.ts +134 -0
  224. package/dist/runtime-pane-port.js +537 -0
  225. package/dist/runtime-pane-port.js.map +1 -0
  226. package/dist/runtime-pane-private.d.ts +14 -0
  227. package/dist/runtime-pane-private.js +51 -0
  228. package/dist/runtime-pane-private.js.map +1 -0
  229. package/dist/runtime-pane-private.ps1 +14 -0
  230. package/dist/runtime-pane-process.d.ts +4 -0
  231. package/dist/runtime-pane-process.js +108 -0
  232. package/dist/runtime-pane-process.js.map +1 -0
  233. package/dist/runtime-pane-protocol.d.ts +169 -0
  234. package/dist/runtime-pane-protocol.js +189 -0
  235. package/dist/runtime-pane-protocol.js.map +1 -0
  236. package/dist/runtime-pane-screen.d.ts +19 -0
  237. package/dist/runtime-pane-screen.js +76 -0
  238. package/dist/runtime-pane-screen.js.map +1 -0
  239. package/dist/runtime-pane-service.d.ts +11 -0
  240. package/dist/runtime-pane-service.js +221 -0
  241. package/dist/runtime-pane-service.js.map +1 -0
  242. package/dist/runtime-pane-stdio-protocol.d.ts +54 -0
  243. package/dist/runtime-pane-stdio-protocol.js +94 -0
  244. package/dist/runtime-pane-stdio-protocol.js.map +1 -0
  245. package/dist/runtime-pane-stdio.d.ts +3 -0
  246. package/dist/runtime-pane-stdio.js +123 -0
  247. package/dist/runtime-pane-stdio.js.map +1 -0
  248. package/dist/runtime-pane-store.d.ts +33 -0
  249. package/dist/runtime-pane-store.js +164 -0
  250. package/dist/runtime-pane-store.js.map +1 -0
  251. package/dist/runtime-pane-transcript-protocol.d.ts +43 -0
  252. package/dist/runtime-pane-transcript-protocol.js +58 -0
  253. package/dist/runtime-pane-transcript-protocol.js.map +1 -0
  254. package/dist/runtime-pane-transcript.d.ts +45 -0
  255. package/dist/runtime-pane-transcript.js +605 -0
  256. package/dist/runtime-pane-transcript.js.map +1 -0
  257. package/dist/runtime-pane-worker.d.ts +1 -0
  258. package/dist/runtime-pane-worker.js +154 -0
  259. package/dist/runtime-pane-worker.js.map +1 -0
  260. package/dist/runtime-protocol.d.ts +149 -0
  261. package/dist/runtime-protocol.js +19 -0
  262. package/dist/runtime-protocol.js.map +1 -0
  263. package/dist/runtime-switches.d.ts +79 -0
  264. package/dist/runtime-switches.js +90 -0
  265. package/dist/runtime-switches.js.map +1 -0
  266. package/dist/runtime-transcript-delta-reader.d.ts +23 -0
  267. package/dist/runtime-transcript-delta-reader.js +74 -0
  268. package/dist/runtime-transcript-delta-reader.js.map +1 -0
  269. package/dist/runtime-transcript-source.d.ts +36 -0
  270. package/dist/runtime-transcript-source.js +189 -0
  271. package/dist/runtime-transcript-source.js.map +1 -0
  272. package/dist/runtime-windows-bridge.d.ts +41 -0
  273. package/dist/runtime-windows-bridge.js +157 -0
  274. package/dist/runtime-windows-bridge.js.map +1 -0
  275. package/dist/settings-api.js +58 -0
  276. package/dist/settings-api.js.map +1 -1
  277. package/dist/settings-change.js +28 -0
  278. package/dist/settings-change.js.map +1 -1
  279. package/dist/settings-confirmation.d.ts +15 -1
  280. package/dist/settings-confirmation.js +46 -9
  281. package/dist/settings-confirmation.js.map +1 -1
  282. package/dist/settings-effect.js +23 -1
  283. package/dist/settings-effect.js.map +1 -1
  284. package/dist/settings-http-confirmation.js +11 -2
  285. package/dist/settings-http-confirmation.js.map +1 -1
  286. package/dist/tmux-control.d.ts +2 -1
  287. package/dist/tmux-control.js.map +1 -1
  288. package/dist/tmux-manager.d.ts +2 -1
  289. package/dist/tmux-manager.js.map +1 -1
  290. package/dist/tmux-pane-host.d.ts +26 -0
  291. package/dist/tmux-pane-host.js +25 -0
  292. package/dist/tmux-pane-host.js.map +1 -0
  293. package/dist/topic-commands.js +3 -0
  294. package/dist/topic-commands.js.map +1 -1
  295. package/dist/transcript-delta-reader.d.ts +1 -1
  296. package/dist/transcript-delta-reader.js +1 -1
  297. package/dist/transcript-delta-reader.js.map +1 -1
  298. package/dist/transcript-monitor.d.ts +3 -0
  299. package/dist/transcript-monitor.js +22 -46
  300. package/dist/transcript-monitor.js.map +1 -1
  301. package/dist/transcript-needles.d.ts +35 -0
  302. package/dist/transcript-needles.js +158 -0
  303. package/dist/transcript-needles.js.map +1 -0
  304. package/dist/transcript-records.d.ts +21 -0
  305. package/dist/transcript-records.js +140 -0
  306. package/dist/transcript-records.js.map +1 -0
  307. package/dist/transcript-sources.d.ts +5 -0
  308. package/dist/transcript-sources.js +8 -79
  309. package/dist/transcript-sources.js.map +1 -1
  310. package/dist/types.d.ts +21 -0
  311. package/dist/ui/agent-proposals.js +90 -0
  312. package/dist/ui/agent-runtime.js +106 -0
  313. package/dist/ui/chat-store.js +13 -2
  314. package/dist/ui/chat-strings.js +48 -0
  315. package/dist/ui/cli-picker.js +42 -0
  316. package/dist/ui/native-instance-settings.js +47 -0
  317. package/dist/ui/native-pane-recovery.js +45 -0
  318. package/dist/ui/panel-chat.js +61 -32
  319. package/dist/ui/panel-details.js +2 -1
  320. package/dist/ui/panel-fleet.js +99 -18
  321. package/dist/ui/panel-needs.js +152 -3
  322. package/dist/ui/panel-runtimes.js +231 -0
  323. package/dist/ui/panel-settings.js +14 -8
  324. package/dist/ui/panel-windows-agent.js +86 -0
  325. package/dist/ui/panel-windows-cli.js +143 -0
  326. package/dist/ui/provider-marks.js +83 -0
  327. package/dist/ui/runtime-catalog.js +55 -0
  328. package/dist/ui/settings-catalog.js +37 -10
  329. package/dist/ui/settings-confirm.js +3 -1
  330. package/dist/ui/settings-dialogs.js +14 -5
  331. package/dist/ui/settings-registry.js +5 -0
  332. package/dist/ui/settings-strings.js +14 -0
  333. package/dist/ui/shared/app-i18n.js +2 -2
  334. package/dist/ui/shared/app-route.js +6 -2
  335. package/dist/ui/shared/app-shell.js +3 -2
  336. package/dist/ui/shared/app-store.js +1 -0
  337. package/dist/ui/shared/app-stream.js +3 -1
  338. package/dist/ui/shared/app.css +301 -0
  339. package/dist/ui/shared/app.js +4 -0
  340. package/dist/ui/shared/header-tools.js +6 -4
  341. package/dist/ui/shared/instance-nav.js +20 -4
  342. package/dist/ui/shared/instance-switch.js +4 -3
  343. package/dist/ui/shared/ui-menu.js +28 -8
  344. package/dist/ui/shared/view-strings.js +6 -0
  345. package/dist/ui/windows-agents-nav.js +2 -0
  346. package/dist/ui/windows-cli-catalog.js +79 -0
  347. package/dist/update-check.d.ts +8 -2
  348. package/dist/update-check.js +5 -2
  349. package/dist/update-check.js.map +1 -1
  350. package/dist/web-api.d.ts +25 -0
  351. package/dist/web-api.js +171 -6
  352. package/dist/web-api.js.map +1 -1
  353. package/dist/web-chat-history.d.ts +19 -2
  354. package/dist/web-chat-history.js +72 -3
  355. package/dist/web-chat-history.js.map +1 -1
  356. package/dist/web-shell-routes.d.ts +4 -1
  357. package/dist/web-shell-routes.js +7 -2
  358. package/dist/web-shell-routes.js.map +1 -1
  359. package/dist/windows-agents.d.ts +112 -0
  360. package/dist/windows-agents.js +463 -0
  361. package/dist/windows-agents.js.map +1 -0
  362. package/dist/windows-cli-api.d.ts +23 -0
  363. package/dist/windows-cli-api.js +158 -0
  364. package/dist/windows-cli-api.js.map +1 -0
  365. package/dist/windows-cli-providers.d.ts +115 -0
  366. package/dist/windows-cli-providers.js +429 -0
  367. package/dist/windows-cli-providers.js.map +1 -0
  368. package/dist/windows-cli-worker.d.ts +58 -0
  369. package/dist/windows-cli-worker.js +479 -0
  370. package/dist/windows-cli-worker.js.map +1 -0
  371. package/dist/windows-cli.d.ts +115 -0
  372. package/dist/windows-cli.js +402 -0
  373. package/dist/windows-cli.js.map +1 -0
  374. package/dist/windows-native-mcp.d.ts +19 -0
  375. package/dist/windows-native-mcp.js +143 -0
  376. package/dist/windows-native-mcp.js.map +1 -0
  377. package/dist/windows-pane-mcp.d.ts +26 -0
  378. package/dist/windows-pane-mcp.js +187 -0
  379. package/dist/windows-pane-mcp.js.map +1 -0
  380. package/package.json +9 -3
  381. package/templates/runtime-assets/conpty-LICENSE +21 -0
  382. package/templates/runtime-assets/conpty-NOTICE.md +503 -0
  383. package/templates/runtime-assets/local-pane-stage.ps1 +101 -0
  384. package/templates/runtime-assets/runtime-pane-job.ps1 +116 -0
  385. package/templates/runtime-assets/runtime-pane-private.ps1 +14 -0
  386. package/templates/runtime-assets/xterm-LICENSE +21 -0
package/README.md CHANGED
@@ -307,3 +307,5 @@ The channel's `backend_options` are merged over the fleet.yaml defaults'. Profil
307
307
  ## License
308
308
 
309
309
  MIT
310
+
311
+ All third-party trademarks, logos and icons shown in AgEnD (the supported CLIs' marks) belong to their respective owners and are used only to identify the supported runtimes; no affiliation or endorsement is implied. Each mark's source and licence: [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md#cli-provider-marks).
package/README.zh-TW.md CHANGED
@@ -307,3 +307,5 @@ channels:
307
307
  ## 授權
308
308
 
309
309
  MIT
310
+
311
+ AgEnD 中出現的第三方商標、標誌和圖示(支援的 CLI 的標誌)皆屬於其各自的擁有者,僅用來辨識支援的執行環境,不代表與其有任何關聯或獲得其背書。各標誌的來源與授權見 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md#cli-provider-marks)。
@@ -38,3 +38,56 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
38
38
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
39
39
  SOFTWARE.
40
40
  ```
41
+
42
+ ## CLI provider marks
43
+
44
+ The CLI panel and selectors identify each supported CLI by its product mark. All
45
+ third-party trademarks, logos and icons belong to their respective owners and are
46
+ used only to identify the supported runtimes; no affiliation with or endorsement
47
+ by their owners is implied. Each mark is bundled unmodified (complete SVGs byte for
48
+ byte, as base64 data images; single-colour marks as their vector paths, drawn in
49
+ the text colour), retrieved on 2026-11-02:
50
+
51
+ | Mark | Source | Terms |
52
+ |---|---|---|
53
+ | OpenAI (Codex) | https://openai.com/brand/ (the official website's inline Blossom vector) | the owner's brand page |
54
+ | Claude (Claude Code) | https://claude.com/icon.svg (original vector path and orange fill) | the owner's website |
55
+ | Anthropic | https://www.anthropic.com/ (company mark; Claude Code uses the Claude product mark) | the owner's website |
56
+ | Kiro | https://kiro.dev/icon.svg (original complete SVG) | the owner's website |
57
+ | Antigravity | https://antigravity.google/press, the press kit's "Icon - Full Color" SVG (`/assets/image/brand/antigravity-icon__full-color.svg`) | the press kit (its page states no further usage terms) |
58
+ | Grok | @lobehub/icons 1.102.0, `grok.svg` ("Grok (xAI)") — https://github.com/lobehub/lobe-icons | MIT |
59
+ | OpenCode | @lobehub/icons 1.102.0, `opencode.svg` ("opencode", opencode.ai) | MIT |
60
+ | Muse (Meta Muse Code) | @lobehub/icons 1.102.0, `muse-color.svg` ("Muse (Meta)", muse.ai) | MIT |
61
+
62
+ @lobehub/icons (https://github.com/lobehub/lobe-icons) is distributed under the
63
+ following licence, which covers the icon set's code and files; the marks
64
+ themselves remain their owners' trademarks:
65
+
66
+ ```
67
+ MIT License
68
+
69
+ Copyright (c) 2023 LobeHub
70
+
71
+ Permission is hereby granted, free of charge, to any person obtaining a copy
72
+ of this software and associated documentation files (the "Software"), to deal
73
+ in the Software without restriction, including without limitation the rights
74
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
75
+ copies of the Software, and to permit persons to whom the Software is
76
+ furnished to do so, subject to the following conditions:
77
+
78
+ The above copyright notice and this permission notice shall be included in all
79
+ copies or substantial portions of the Software.
80
+
81
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
82
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
83
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
84
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
85
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
86
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
87
+ SOFTWARE.
88
+ ```
89
+
90
+ A generic two-letter tile per provider (AgEnD's own) replaces any mark at once:
91
+ `MARK_SWITCH` in `src/ui/provider-marks.js` turns every mark off, or withholds one
92
+ provider's. Vector paths and image data are bundled in `src/ui/provider-marks.js`;
93
+ no remote image requests are made by the dashboard.
@@ -24,6 +24,10 @@ export interface PersistedReplyContext {
24
24
  /** Read the last real channel target persisted by the instance daemon. */
25
25
  export declare function readPersistedReplyContext(dataDir: string, instance: string): PersistedReplyContext | null;
26
26
  export interface AgentEndpointContext extends OutboundContext {
27
+ /** Native Windows MCP children hold per-turn capabilities, separate from disk-based Linux instance tokens. */
28
+ nativeMcpSessions?(): {
29
+ handleRequest(req: IncomingMessage, res: ServerResponse): boolean;
30
+ };
27
31
  /** #2305: an instance's reaction to a web chat message (FleetManager.reactToWebMessage). */
28
32
  reactToWebMessage?(instance: string, messageId: string, emoji: unknown): Promise<{
29
33
  ok: true;
@@ -72,4 +76,4 @@ export declare class ToolNotPermittedError extends Error {
72
76
  * would have had holes exactly where the early returns are.
73
77
  */
74
78
  export declare function toolForAgentOp(op: string): string | null;
75
- export declare function dispatchAgentOperation(ctx: AgentEndpointContext, instance: string, op: string, args: Record<string, unknown>): Promise<unknown>;
79
+ export declare function dispatchAgentOperation(ctx: AgentEndpointContext, instance: string, op: string, args: Record<string, unknown>, trustedOperationId?: string): Promise<unknown>;
@@ -75,6 +75,9 @@ const DURABLE_HTTP_TOOLS = new Set([
75
75
  * instance name, length mismatch, wrong value).
76
76
  */
77
77
  function verifyInstanceToken(ctx, instance, provided) {
78
+ // A Windows identity is admitted only by its active native MCP capability. A stale token file is not a fallback.
79
+ if (ctx.fleetConfig?.instances[instance]?.runtime === "windows")
80
+ return false;
78
81
  if (!provided)
79
82
  return false;
80
83
  // instance name must be a safe filename component (allow Unicode, block traversal)
@@ -118,6 +121,11 @@ export function handleAgentRequest(req, res, ctx) {
118
121
  res.end(JSON.stringify({ error: "Method not allowed" }));
119
122
  return;
120
123
  }
124
+ if (req.headers["x-agend-native-token"] !== undefined) {
125
+ if (!ctx.nativeMcpSessions?.().handleRequest(req, res))
126
+ refuseEarly(req, res, 401, "Native MCP capability is unavailable");
127
+ return;
128
+ }
121
129
  // ── (1) Validate token BEFORE reading the body ──────────────────────────
122
130
  // Reading an unbounded body before authentication lets any local process
123
131
  // exhaust memory by sending a large unauthenticated request. Extract the
@@ -247,7 +255,9 @@ export function toolForAgentOp(op) {
247
255
  return OP_MAP[op];
248
256
  return null;
249
257
  }
250
- export async function dispatchAgentOperation(ctx, instance, op, args) {
258
+ export async function dispatchAgentOperation(ctx, instance, op, args, trustedOperationId) {
259
+ if (trustedOperationId !== undefined && !/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i.test(trustedOperationId))
260
+ throw Error("Invalid internal operation identity");
251
261
  // Sink 3 of 3, before any branch below: the early-returning ops are as much
252
262
  // a tool call as the mapped ones. Enforce policy for the token-resolved identity
253
263
  // here; this does not isolate hostile shell processes sharing that identity.
@@ -274,7 +284,7 @@ export async function dispatchAgentOperation(ctx, instance, op, args) {
274
284
  // handler. The returned operation_id lets the CLI report/query the exact
275
285
  // accepted operation instead of retrying it as a new tool call.
276
286
  const operationId = requestedTool && DURABLE_HTTP_TOOLS.has(requestedTool)
277
- ? randomUUID()
287
+ ? trustedOperationId ?? randomUUID()
278
288
  : undefined;
279
289
  // Schedule CRUD
280
290
  if (op.startsWith("schedule-")) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-endpoint.js","sourceRoot":"","sources":["../src/agent-endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-endpoint.js","sourceRoot":"","sources":["../src/agent-endpoint.ts"],"names":[],"mappings":"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"}
@@ -211,8 +211,8 @@ export declare function claudeFileSendCardActive(pane: string): boolean;
211
211
  export declare const CLAUDE_DANGEROUS_COMMAND_BLOCKED_NOTICE = "[system:dangerous-command-blocked]\nThe previous command was classified as dangerous and was automatically denied. Do not retry it. Use a safe form instead (for example `${VAR:?}` validation, a literal path, or skip the destructive operation).";
212
212
  /** Startup budget for a resuming claude-code launch (fresh starts keep the default). */
213
213
  export declare const CLAUDE_RESUME_STARTUP_BUDGET_MS = 60000;
214
- export declare class ClaudeCodeBackend implements CliBackend {
215
- private instanceDir;
214
+ /** Pane-only detectors: construction performs no provider, config or session discovery. */
215
+ export declare class ClaudePaneDetectors {
216
216
  readonly binaryName = "claude";
217
217
  readonly replyCompletionGuard = true;
218
218
  /**
@@ -224,14 +224,6 @@ export declare class ClaudeCodeBackend implements CliBackend {
224
224
  getStartupBudgetMs(ctx: {
225
225
  resume: boolean;
226
226
  }): number | undefined;
227
- private binaryPath;
228
- constructor(instanceDir: string);
229
- /** #1811: what the last launch left out and why — the Log tab and daemon.log, never a channel. */
230
- private quietLaunchNotes;
231
- consumeQuietLaunchNotes(): string[];
232
- buildCommand(config: CliBackendConfig): string;
233
- private hasProjectSession;
234
- writeConfig(config: CliBackendConfig): void;
235
227
  /**
236
228
  * `❯` is the input box, which Claude Code renders persistently — it is on screen
237
229
  * while the agent works, not only when it is waiting. So this marks "the TUI has
@@ -327,8 +319,6 @@ export declare class ClaudeCodeBackend implements CliBackend {
327
319
  * the transcript shows a turn open.
328
320
  */
329
321
  isPeriodicRedrawIdlePane(pane: string): boolean;
330
- getContextUsage(): number | null;
331
- getSessionId(): string | null;
332
322
  getErrorPatterns(): ErrorPattern[];
333
323
  getStartupDialogs(): StartupDialog[];
334
324
  getRuntimeDialogs(): RuntimeDialog[];
@@ -336,6 +326,19 @@ export declare class ClaudeCodeBackend implements CliBackend {
336
326
  getCompactCommand(): string;
337
327
  getClearCommand(): string;
338
328
  getCancelKey(): string;
329
+ }
330
+ export declare class ClaudeCodeBackend extends ClaudePaneDetectors implements CliBackend {
331
+ private instanceDir;
332
+ private binaryPath;
333
+ constructor(instanceDir: string);
334
+ /** #1811: what the last launch left out and why — the Log tab and daemon.log, never a channel. */
335
+ private quietLaunchNotes;
336
+ consumeQuietLaunchNotes(): string[];
337
+ buildCommand(config: CliBackendConfig): string;
338
+ private hasProjectSession;
339
+ writeConfig(config: CliBackendConfig): void;
340
+ getContextUsage(): number | null;
341
+ getSessionId(): string | null;
339
342
  /** #1217: Claude's own words for a session that is not there to resume. */
340
343
  resumeMissingPattern(): RegExp;
341
344
  quitBlockedByDialog(pane: string): boolean;
@@ -1079,8 +1079,8 @@ const CLAUDE_BYPASS_ENTRIES = [
1079
1079
  ];
1080
1080
  /** Startup budget for a resuming claude-code launch (fresh starts keep the default). */
1081
1081
  export const CLAUDE_RESUME_STARTUP_BUDGET_MS = 60_000;
1082
- export class ClaudeCodeBackend {
1083
- instanceDir;
1082
+ /** Pane-only detectors: construction performs no provider, config or session discovery. */
1083
+ export class ClaudePaneDetectors {
1084
1084
  binaryName = "claude";
1085
1085
  replyCompletionGuard = true;
1086
1086
  /**
@@ -1092,116 +1092,6 @@ export class ClaudeCodeBackend {
1092
1092
  getStartupBudgetMs(ctx) {
1093
1093
  return ctx.resume ? CLAUDE_RESUME_STARTUP_BUDGET_MS : undefined;
1094
1094
  }
1095
- binaryPath;
1096
- constructor(instanceDir) {
1097
- this.instanceDir = instanceDir;
1098
- this.binaryPath = resolveBinary("claude");
1099
- }
1100
- /** #1811: what the last launch left out and why — the Log tab and daemon.log, never a channel. */
1101
- quietLaunchNotes = [];
1102
- consumeQuietLaunchNotes() { const notes = this.quietLaunchNotes; this.quietLaunchNotes = []; return notes; }
1103
- buildCommand(config) {
1104
- const settingsPath = join(this.instanceDir, "claude-settings.json");
1105
- const mcpConfigPath = join(this.instanceDir, "mcp-config.json");
1106
- const envPrefix = ["CMUX_CLAUDE_HOOKS_DISABLED=1", "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1"];
1107
- // #1699: a named credential profile is its own config dir — its login, account, trust and conversations. No profile:
1108
- // nothing added, nothing created (the command is exactly what it was).
1109
- const profileDir = claudeProfileConfigDir(config.backendOptions);
1110
- if (profileDir) {
1111
- prepareCredentialProfileHome(credentialHomeSpec("claude-code"), profileDir);
1112
- // #1754: the project's auto-memory is the shared one, as on the default login.
1113
- linkSharedClaudeMemory(profileDir, config.workingDirectory, credentialHomeSpec("claude-code").sharedRoot());
1114
- envPrefix.push(`CLAUDE_CONFIG_DIR=${shellQuote(profileDir)}`);
1115
- }
1116
- if (process.env.ANTHROPIC_BASE_URL)
1117
- envPrefix.push(`ANTHROPIC_BASE_URL=${shellQuote(process.env.ANTHROPIC_BASE_URL)}`);
1118
- // #2010: an opt-in prompt-cache TTL for the main thread and its subagents. Unset: nothing added, the CLI chooses.
1119
- const ttl = promptCacheTtl(config.backendOptions);
1120
- if (ttl)
1121
- envPrefix.push(`CLAUDE_CODE_PROMPT_CACHE_TTL=${ttl}`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL=${ttl}`);
1122
- // The fleet's API key only where this instance's own config dir has no OAuth login: a key in the environment wins
1123
- // over the login, so reading another dir here bills the wrong account (#1699).
1124
- if (process.env.ANTHROPIC_API_KEY && !this.hasOAuthSession(profileDir)) {
1125
- envPrefix.push(`ANTHROPIC_API_KEY=${shellQuote(process.env.ANTHROPIC_API_KEY)}`);
1126
- }
1127
- let cmd = `${envPrefix.join(" ")} ${this.binaryPath} --settings ${settingsPath} --mcp-config ${mcpConfigPath}`;
1128
- if (config.skipPermissions !== false)
1129
- cmd += " --dangerously-skip-permissions";
1130
- const sessionIdFile = join(this.instanceDir, "session-id");
1131
- // `session-id` belongs to the instance, not the backend. A ClassicBot can
1132
- // switch from Kiro (or another CLI) to Claude while retaining that marker.
1133
- // Claude's bare `--continue` then looks for a conversation in this cwd and
1134
- // exits when the workspace has never had a Claude session. Treat Claude's
1135
- // own project transcript as the source of truth instead of the generic
1136
- // marker alone. This also makes an empty/missing Classic workspace start
1137
- // fresh rather than entering a resume crash loop.
1138
- if (!config.skipResume && existsSync(sessionIdFile) && this.hasProjectSession(config.workingDirectory, profileDir)) {
1139
- cmd += " --continue";
1140
- }
1141
- if (config.model) {
1142
- const model = validateModel(config.model);
1143
- warnIfModelMismatch("claude-code", model);
1144
- cmd += ` --model ${shellQuote(model)}`;
1145
- }
1146
- // #1811: the configured effort, where this claude takes it (launch-effort.ts); else a quiet note.
1147
- const effort = flagEffort("claude-code", config.effort, this.binaryPath);
1148
- if (effort.arg)
1149
- cmd += effort.arg;
1150
- this.quietLaunchNotes = effort.note ? [effort.note] : [];
1151
- // Additive system prompt: append fleet instructions without overriding Claude's built-in prompt
1152
- const instrFile = join(this.instanceDir, "fleet-instructions.md");
1153
- if (existsSync(instrFile)) {
1154
- cmd += ` --append-system-prompt-file ${instrFile}`;
1155
- }
1156
- return cmd;
1157
- }
1158
- hasProjectSession(workingDirectory, profileDir) {
1159
- const cwd = workingDirectory.trim();
1160
- if (!cwd)
1161
- return false;
1162
- const configDir = claudeConfigDirFor(profileDir);
1163
- const encodedCwd = claudeProjectKey(cwd);
1164
- try {
1165
- return readdirSync(join(configDir, "projects", encodedCwd), { withFileTypes: true })
1166
- .some(entry => entry.isFile() && entry.name.endsWith(".jsonl"));
1167
- }
1168
- catch {
1169
- return false;
1170
- }
1171
- }
1172
- writeConfig(config) {
1173
- // 1. Write mcp-config.json to instance dir (loaded via --mcp-config)
1174
- const mcpConfigPath = join(this.instanceDir, "mcp-config.json");
1175
- const mcpConfig = { mcpServers: config.mcpServers };
1176
- writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2));
1177
- // 2. Write statusline script
1178
- const statusLineCommand = this.writeStatusLineScript();
1179
- // 3. Write claude-settings.json (permissions handled by --dangerously-skip-permissions)
1180
- const settings = {
1181
- statusLine: {
1182
- type: "command",
1183
- command: statusLineCommand,
1184
- },
1185
- };
1186
- // The Bypass Permissions warning appears on a first run (and whenever the
1187
- // user's own settings have not recorded the acceptance) for every launch
1188
- // with --dangerously-skip-permissions. AgEnD passes that flag deliberately,
1189
- // so record the acceptance in the flag-level settings this file is loaded as
1190
- // (--settings): claude 2.1.286 then never paints the dialog (verified live).
1191
- // Only when the flag is actually passed — see buildCommand.
1192
- if (config.skipPermissions !== false)
1193
- settings.skipDangerousModePermissionPrompt = true;
1194
- writeFileSync(join(this.instanceDir, "claude-settings.json"), JSON.stringify(settings));
1195
- // 4. Pre-approve API key to skip interactive prompt on startup
1196
- this.preApproveApiKey(config);
1197
- // 5. Write fleet instructions file (loaded via --append-system-prompt-file)
1198
- if (config.instructions) {
1199
- try {
1200
- writeFileSync(join(this.instanceDir, "fleet-instructions.md"), config.instructions);
1201
- }
1202
- catch { /* best effort */ }
1203
- }
1204
- }
1205
1095
  /**
1206
1096
  * `❯` is the input box, which Claude Code renders persistently — it is on screen
1207
1097
  * while the agent works, not only when it is waiting. So this marks "the TUI has
@@ -1312,27 +1202,6 @@ export class ClaudeCodeBackend {
1312
1202
  const box = readClaudeInputBox(pane);
1313
1203
  return box !== null && box.queued !== true && !this.getBusyPattern().test(pane);
1314
1204
  }
1315
- getContextUsage() {
1316
- try {
1317
- const sf = join(this.instanceDir, "statusline.json");
1318
- const data = JSON.parse(readFileSync(sf, "utf-8"));
1319
- return data.context_window?.used_percentage ?? null;
1320
- }
1321
- catch (err) {
1322
- // File may not exist yet during startup — return null to signal unavailable
1323
- return null;
1324
- }
1325
- }
1326
- getSessionId() {
1327
- try {
1328
- const sf = join(this.instanceDir, "statusline.json");
1329
- const data = JSON.parse(readFileSync(sf, "utf-8"));
1330
- return data.session_id ?? null;
1331
- }
1332
- catch {
1333
- return null;
1334
- }
1335
- }
1336
1205
  getErrorPatterns() {
1337
1206
  return [
1338
1207
  { pattern: /API Error: Rate limit/i, type: "rate_limit", action: "failover", message: "API rate limit reached" },
@@ -1627,6 +1496,141 @@ export class ClaudeCodeBackend {
1627
1496
  getCompactCommand() { return "/compact"; }
1628
1497
  getClearCommand() { return "/clear"; }
1629
1498
  getCancelKey() { return "Escape"; }
1499
+ }
1500
+ export class ClaudeCodeBackend extends ClaudePaneDetectors {
1501
+ instanceDir;
1502
+ binaryPath;
1503
+ constructor(instanceDir) {
1504
+ super();
1505
+ this.instanceDir = instanceDir;
1506
+ this.binaryPath = resolveBinary("claude");
1507
+ }
1508
+ /** #1811: what the last launch left out and why — the Log tab and daemon.log, never a channel. */
1509
+ quietLaunchNotes = [];
1510
+ consumeQuietLaunchNotes() { const notes = this.quietLaunchNotes; this.quietLaunchNotes = []; return notes; }
1511
+ buildCommand(config) {
1512
+ const settingsPath = join(this.instanceDir, "claude-settings.json");
1513
+ const mcpConfigPath = join(this.instanceDir, "mcp-config.json");
1514
+ const envPrefix = ["CMUX_CLAUDE_HOOKS_DISABLED=1", "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1"];
1515
+ // #1699: a named credential profile is its own config dir — its login, account, trust and conversations. No profile:
1516
+ // nothing added, nothing created (the command is exactly what it was).
1517
+ const profileDir = claudeProfileConfigDir(config.backendOptions);
1518
+ if (profileDir) {
1519
+ prepareCredentialProfileHome(credentialHomeSpec("claude-code"), profileDir);
1520
+ // #1754: the project's auto-memory is the shared one, as on the default login.
1521
+ linkSharedClaudeMemory(profileDir, config.workingDirectory, credentialHomeSpec("claude-code").sharedRoot());
1522
+ envPrefix.push(`CLAUDE_CONFIG_DIR=${shellQuote(profileDir)}`);
1523
+ }
1524
+ if (process.env.ANTHROPIC_BASE_URL)
1525
+ envPrefix.push(`ANTHROPIC_BASE_URL=${shellQuote(process.env.ANTHROPIC_BASE_URL)}`);
1526
+ // #2010: an opt-in prompt-cache TTL for the main thread and its subagents. Unset: nothing added, the CLI chooses.
1527
+ const ttl = promptCacheTtl(config.backendOptions);
1528
+ if (ttl)
1529
+ envPrefix.push(`CLAUDE_CODE_PROMPT_CACHE_TTL=${ttl}`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL=${ttl}`);
1530
+ // The fleet's API key only where this instance's own config dir has no OAuth login: a key in the environment wins
1531
+ // over the login, so reading another dir here bills the wrong account (#1699).
1532
+ if (process.env.ANTHROPIC_API_KEY && !this.hasOAuthSession(profileDir)) {
1533
+ envPrefix.push(`ANTHROPIC_API_KEY=${shellQuote(process.env.ANTHROPIC_API_KEY)}`);
1534
+ }
1535
+ let cmd = `${envPrefix.join(" ")} ${this.binaryPath} --settings ${settingsPath} --mcp-config ${mcpConfigPath}`;
1536
+ if (config.skipPermissions !== false)
1537
+ cmd += " --dangerously-skip-permissions";
1538
+ const sessionIdFile = join(this.instanceDir, "session-id");
1539
+ // `session-id` belongs to the instance, not the backend. A ClassicBot can
1540
+ // switch from Kiro (or another CLI) to Claude while retaining that marker.
1541
+ // Claude's bare `--continue` then looks for a conversation in this cwd and
1542
+ // exits when the workspace has never had a Claude session. Treat Claude's
1543
+ // own project transcript as the source of truth instead of the generic
1544
+ // marker alone. This also makes an empty/missing Classic workspace start
1545
+ // fresh rather than entering a resume crash loop.
1546
+ if (!config.skipResume && existsSync(sessionIdFile) && this.hasProjectSession(config.workingDirectory, profileDir)) {
1547
+ cmd += " --continue";
1548
+ }
1549
+ if (config.model) {
1550
+ const model = validateModel(config.model);
1551
+ warnIfModelMismatch("claude-code", model);
1552
+ cmd += ` --model ${shellQuote(model)}`;
1553
+ }
1554
+ // #1811: the configured effort, where this claude takes it (launch-effort.ts); else a quiet note.
1555
+ const effort = flagEffort("claude-code", config.effort, this.binaryPath);
1556
+ if (effort.arg)
1557
+ cmd += effort.arg;
1558
+ this.quietLaunchNotes = effort.note ? [effort.note] : [];
1559
+ // Additive system prompt: append fleet instructions without overriding Claude's built-in prompt
1560
+ const instrFile = join(this.instanceDir, "fleet-instructions.md");
1561
+ if (existsSync(instrFile)) {
1562
+ cmd += ` --append-system-prompt-file ${instrFile}`;
1563
+ }
1564
+ return cmd;
1565
+ }
1566
+ hasProjectSession(workingDirectory, profileDir) {
1567
+ const cwd = workingDirectory.trim();
1568
+ if (!cwd)
1569
+ return false;
1570
+ const configDir = claudeConfigDirFor(profileDir);
1571
+ const encodedCwd = claudeProjectKey(cwd);
1572
+ try {
1573
+ return readdirSync(join(configDir, "projects", encodedCwd), { withFileTypes: true })
1574
+ .some(entry => entry.isFile() && entry.name.endsWith(".jsonl"));
1575
+ }
1576
+ catch {
1577
+ return false;
1578
+ }
1579
+ }
1580
+ writeConfig(config) {
1581
+ // 1. Write mcp-config.json to instance dir (loaded via --mcp-config)
1582
+ const mcpConfigPath = join(this.instanceDir, "mcp-config.json");
1583
+ const mcpConfig = { mcpServers: config.mcpServers };
1584
+ writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2));
1585
+ // 2. Write statusline script
1586
+ const statusLineCommand = this.writeStatusLineScript();
1587
+ // 3. Write claude-settings.json (permissions handled by --dangerously-skip-permissions)
1588
+ const settings = {
1589
+ statusLine: {
1590
+ type: "command",
1591
+ command: statusLineCommand,
1592
+ },
1593
+ };
1594
+ // The Bypass Permissions warning appears on a first run (and whenever the
1595
+ // user's own settings have not recorded the acceptance) for every launch
1596
+ // with --dangerously-skip-permissions. AgEnD passes that flag deliberately,
1597
+ // so record the acceptance in the flag-level settings this file is loaded as
1598
+ // (--settings): claude 2.1.286 then never paints the dialog (verified live).
1599
+ // Only when the flag is actually passed — see buildCommand.
1600
+ if (config.skipPermissions !== false)
1601
+ settings.skipDangerousModePermissionPrompt = true;
1602
+ writeFileSync(join(this.instanceDir, "claude-settings.json"), JSON.stringify(settings));
1603
+ // 4. Pre-approve API key to skip interactive prompt on startup
1604
+ this.preApproveApiKey(config);
1605
+ // 5. Write fleet instructions file (loaded via --append-system-prompt-file)
1606
+ if (config.instructions) {
1607
+ try {
1608
+ writeFileSync(join(this.instanceDir, "fleet-instructions.md"), config.instructions);
1609
+ }
1610
+ catch { /* best effort */ }
1611
+ }
1612
+ }
1613
+ getContextUsage() {
1614
+ try {
1615
+ const sf = join(this.instanceDir, "statusline.json");
1616
+ const data = JSON.parse(readFileSync(sf, "utf-8"));
1617
+ return data.context_window?.used_percentage ?? null;
1618
+ }
1619
+ catch (err) {
1620
+ // File may not exist yet during startup — return null to signal unavailable
1621
+ return null;
1622
+ }
1623
+ }
1624
+ getSessionId() {
1625
+ try {
1626
+ const sf = join(this.instanceDir, "statusline.json");
1627
+ const data = JSON.parse(readFileSync(sf, "utf-8"));
1628
+ return data.session_id ?? null;
1629
+ }
1630
+ catch {
1631
+ return null;
1632
+ }
1633
+ }
1630
1634
  /** #1217: Claude's own words for a session that is not there to resume. */
1631
1635
  resumeMissingPattern() {
1632
1636
  return /no conversation found|no conversation to (continue|resume)|no previous (session|conversation)/i;