@songsid/agend 2.3.5-alpha.4 → 2.3.5-beta.1

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 (670) hide show
  1. package/README.md +0 -2
  2. package/README.zh-TW.md +0 -2
  3. package/THIRD_PARTY_NOTICES.md +12 -28
  4. package/dist/agent-cli-instructions.md +1 -1
  5. package/dist/agent-credentials.d.ts +24 -0
  6. package/dist/agent-credentials.js +66 -0
  7. package/dist/agent-credentials.js.map +1 -0
  8. package/dist/agent-endpoint.d.ts +4 -6
  9. package/dist/agent-endpoint.js +15 -12
  10. package/dist/agent-endpoint.js.map +1 -1
  11. package/dist/auth-api.d.ts +0 -21
  12. package/dist/auth-api.js +8 -93
  13. package/dist/auth-api.js.map +1 -1
  14. package/dist/authority/session-authorizations.d.ts +30 -4
  15. package/dist/authority/session-authorizations.js +69 -17
  16. package/dist/authority/session-authorizations.js.map +1 -1
  17. package/dist/authority/web-authority.d.ts +2 -12
  18. package/dist/authority/web-authority.js +4 -25
  19. package/dist/authority/web-authority.js.map +1 -1
  20. package/dist/backend/antigravity.js +3 -1
  21. package/dist/backend/antigravity.js.map +1 -1
  22. package/dist/backend/claude-code.d.ts +12 -15
  23. package/dist/backend/claude-code.js +133 -152
  24. package/dist/backend/claude-code.js.map +1 -1
  25. package/dist/backend/codex-metadata.d.ts +14 -0
  26. package/dist/backend/codex-metadata.js +45 -0
  27. package/dist/backend/codex-metadata.js.map +1 -1
  28. package/dist/backend/codex-package.d.ts +2 -5
  29. package/dist/backend/codex-package.js +5 -1
  30. package/dist/backend/codex-package.js.map +1 -1
  31. package/dist/backend/codex-quota-history.d.ts +7 -0
  32. package/dist/backend/codex-quota-history.js +72 -0
  33. package/dist/backend/codex-quota-history.js.map +1 -0
  34. package/dist/backend/codex-session-lookup.d.ts +6 -0
  35. package/dist/backend/codex-session-lookup.js +1 -1
  36. package/dist/backend/codex-session-lookup.js.map +1 -1
  37. package/dist/backend/codex-speed.d.ts +14 -0
  38. package/dist/backend/codex-speed.js +35 -0
  39. package/dist/backend/codex-speed.js.map +1 -0
  40. package/dist/backend/codex.d.ts +116 -136
  41. package/dist/backend/codex.js +912 -942
  42. package/dist/backend/codex.js.map +1 -1
  43. package/dist/backend/grok-weekly-reset.d.ts +24 -0
  44. package/dist/backend/grok-weekly-reset.js +95 -0
  45. package/dist/backend/grok-weekly-reset.js.map +1 -0
  46. package/dist/backend/grok.d.ts +30 -3
  47. package/dist/backend/grok.js +301 -76
  48. package/dist/backend/grok.js.map +1 -1
  49. package/dist/backend/kiro.d.ts +3 -0
  50. package/dist/backend/kiro.js +50 -2
  51. package/dist/backend/kiro.js.map +1 -1
  52. package/dist/backend/muse.js +5 -3
  53. package/dist/backend/muse.js.map +1 -1
  54. package/dist/backend/types.d.ts +15 -8
  55. package/dist/backend/types.js +3 -0
  56. package/dist/backend/types.js.map +1 -1
  57. package/dist/bundled-tmux-guard.d.ts +21 -0
  58. package/dist/bundled-tmux-guard.js +96 -0
  59. package/dist/bundled-tmux-guard.js.map +1 -0
  60. package/dist/cache-ledger.d.ts +95 -0
  61. package/dist/cache-ledger.js +276 -4
  62. package/dist/cache-ledger.js.map +1 -1
  63. package/dist/cache-service.d.ts +5 -0
  64. package/dist/cache-service.js +16 -4
  65. package/dist/cache-service.js.map +1 -1
  66. package/dist/channel/adapters/discord.js +11 -3
  67. package/dist/channel/adapters/discord.js.map +1 -1
  68. package/dist/channel/adapters/telegram.d.ts +51 -0
  69. package/dist/channel/adapters/telegram.js +235 -17
  70. package/dist/channel/adapters/telegram.js.map +1 -1
  71. package/dist/channel/ipc-bridge.d.ts +0 -2
  72. package/dist/channel/mcp-tools.js +3 -3
  73. package/dist/channel/mcp-tools.js.map +1 -1
  74. package/dist/channel/types.d.ts +2 -0
  75. package/dist/classic-channel-manager.d.ts +2 -0
  76. package/dist/classic-channel-manager.js +5 -1
  77. package/dist/classic-channel-manager.js.map +1 -1
  78. package/dist/cli.js +14 -10
  79. package/dist/cli.js.map +1 -1
  80. package/dist/config-validator.js +30 -71
  81. package/dist/config-validator.js.map +1 -1
  82. package/dist/config.js +3 -17
  83. package/dist/config.js.map +1 -1
  84. package/dist/cross-instance-notice.d.ts +10 -0
  85. package/dist/cross-instance-notice.js +67 -5
  86. package/dist/cross-instance-notice.js.map +1 -1
  87. package/dist/daemon.d.ts +70 -68
  88. package/dist/daemon.js +774 -846
  89. package/dist/daemon.js.map +1 -1
  90. package/dist/dashboard-permissions.d.ts +8 -0
  91. package/dist/dashboard-permissions.js +16 -0
  92. package/dist/dashboard-permissions.js.map +1 -1
  93. package/dist/delivery-consumed-watch.d.ts +26 -16
  94. package/dist/delivery-consumed-watch.js +31 -26
  95. package/dist/delivery-consumed-watch.js.map +1 -1
  96. package/dist/delivery-outbox.d.ts +0 -5
  97. package/dist/delivery-outbox.js +4 -32
  98. package/dist/delivery-outbox.js.map +1 -1
  99. package/dist/delivery-reconciliation.d.ts +42 -2
  100. package/dist/delivery-reconciliation.js +164 -2
  101. package/dist/delivery-reconciliation.js.map +1 -1
  102. package/dist/export-import.d.ts +7 -0
  103. package/dist/export-import.js +44 -10
  104. package/dist/export-import.js.map +1 -1
  105. package/dist/fleet-context.d.ts +4 -2
  106. package/dist/fleet-level-config.d.ts +1 -1
  107. package/dist/fleet-level-config.js +0 -2
  108. package/dist/fleet-level-config.js.map +1 -1
  109. package/dist/fleet-manager.d.ts +108 -245
  110. package/dist/fleet-manager.js +656 -2028
  111. package/dist/fleet-manager.js.map +1 -1
  112. package/dist/general-instance.d.ts +0 -7
  113. package/dist/general-instance.js +3 -20
  114. package/dist/general-instance.js.map +1 -1
  115. package/dist/general-knowledge/skills/concepts/SKILL.md +393 -0
  116. package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +1 -0
  117. package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +3 -1
  118. package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +41 -4
  119. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +9 -3
  120. package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
  121. package/dist/instance-config-impact.js +6 -7
  122. package/dist/instance-config-impact.js.map +1 -1
  123. package/dist/instance-lifecycle.d.ts +19 -23
  124. package/dist/instance-lifecycle.js +216 -383
  125. package/dist/instance-lifecycle.js.map +1 -1
  126. package/dist/instance-topic-delete.d.ts +77 -0
  127. package/dist/instance-topic-delete.js +123 -0
  128. package/dist/instance-topic-delete.js.map +1 -0
  129. package/dist/instructions.d.ts +1 -3
  130. package/dist/instructions.js +1 -7
  131. package/dist/instructions.js.map +1 -1
  132. package/dist/kiro-engine-status.d.ts +11 -0
  133. package/dist/kiro-engine-status.js +6 -0
  134. package/dist/kiro-engine-status.js.map +1 -1
  135. package/dist/locale.js +63 -86
  136. package/dist/locale.js.map +1 -1
  137. package/dist/log-service.d.ts +28 -0
  138. package/dist/log-service.js +29 -0
  139. package/dist/log-service.js.map +1 -1
  140. package/dist/log-steps.d.ts +4 -3
  141. package/dist/log-steps.js +32 -7
  142. package/dist/log-steps.js.map +1 -1
  143. package/dist/logger.d.ts +16 -2
  144. package/dist/logger.js +346 -66
  145. package/dist/logger.js.map +1 -1
  146. package/dist/login-flows.d.ts +7 -0
  147. package/dist/login-flows.js +5 -2
  148. package/dist/login-flows.js.map +1 -1
  149. package/dist/login-manager.js +25 -4
  150. package/dist/login-manager.js.map +1 -1
  151. package/dist/missed-offline.d.ts +25 -0
  152. package/dist/missed-offline.js +79 -0
  153. package/dist/missed-offline.js.map +1 -0
  154. package/dist/muse-usage-relay.d.ts +2 -0
  155. package/dist/muse-usage-relay.js +5 -3
  156. package/dist/muse-usage-relay.js.map +1 -1
  157. package/dist/needs-you-hub.d.ts +6 -3
  158. package/dist/needs-you-hub.js +31 -9
  159. package/dist/needs-you-hub.js.map +1 -1
  160. package/dist/needs-you.d.ts +20 -18
  161. package/dist/needs-you.js +18 -14
  162. package/dist/needs-you.js.map +1 -1
  163. package/dist/office-share-page.js +1 -1
  164. package/dist/office-share-page.js.map +1 -1
  165. package/dist/outbound-handlers.d.ts +2 -16
  166. package/dist/outbound-handlers.js +10 -72
  167. package/dist/outbound-handlers.js.map +1 -1
  168. package/dist/outbound-schemas.d.ts +0 -38
  169. package/dist/outbound-schemas.js +5 -14
  170. package/dist/outbound-schemas.js.map +1 -1
  171. package/dist/pane-quota-history.d.ts +7 -0
  172. package/dist/pane-quota-history.js +47 -0
  173. package/dist/pane-quota-history.js.map +1 -0
  174. package/dist/platform-general.d.ts +46 -0
  175. package/dist/platform-general.js +91 -0
  176. package/dist/platform-general.js.map +1 -0
  177. package/dist/public-web-gateway.js +0 -9
  178. package/dist/public-web-gateway.js.map +1 -1
  179. package/dist/public-web-link.d.ts +0 -11
  180. package/dist/public-web-link.js +0 -13
  181. package/dist/public-web-link.js.map +1 -1
  182. package/dist/queued-handoffs.d.ts +33 -0
  183. package/dist/queued-handoffs.js +75 -0
  184. package/dist/queued-handoffs.js.map +1 -0
  185. package/dist/quickstart-api.js +5 -9
  186. package/dist/quickstart-api.js.map +1 -1
  187. package/dist/quickstart.d.ts +8 -1
  188. package/dist/quickstart.js +42 -4
  189. package/dist/quickstart.js.map +1 -1
  190. package/dist/quota-notice-config.d.ts +22 -0
  191. package/dist/quota-notice-config.js +41 -0
  192. package/dist/quota-notice-config.js.map +1 -0
  193. package/dist/quota-notice.d.ts +7 -0
  194. package/dist/quota-notice.js +40 -0
  195. package/dist/quota-notice.js.map +1 -1
  196. package/dist/reply-buttons-controller.js +10 -6
  197. package/dist/reply-buttons-controller.js.map +1 -1
  198. package/dist/reply-polls.d.ts +2 -2
  199. package/dist/reply-polls.js +3 -3
  200. package/dist/reply-polls.js.map +1 -1
  201. package/dist/scheduler/db.d.ts +2 -1
  202. package/dist/scheduler/db.js +23 -9
  203. package/dist/scheduler/db.js.map +1 -1
  204. package/dist/scheduler/task-board.d.ts +9 -0
  205. package/dist/scheduler/task-board.js +19 -0
  206. package/dist/scheduler/task-board.js.map +1 -1
  207. package/dist/settings-api.d.ts +13 -5
  208. package/dist/settings-api.js +26 -96
  209. package/dist/settings-api.js.map +1 -1
  210. package/dist/settings-baseline.d.ts +0 -1
  211. package/dist/settings-baseline.js +1 -1
  212. package/dist/settings-baseline.js.map +1 -1
  213. package/dist/settings-change.js +23 -28
  214. package/dist/settings-change.js.map +1 -1
  215. package/dist/settings-confirmation.d.ts +1 -16
  216. package/dist/settings-confirmation.js +9 -47
  217. package/dist/settings-confirmation.js.map +1 -1
  218. package/dist/settings-effect.d.ts +0 -4
  219. package/dist/settings-effect.js +1 -58
  220. package/dist/settings-effect.js.map +1 -1
  221. package/dist/settings-http-confirmation.d.ts +0 -4
  222. package/dist/settings-http-confirmation.js +3 -31
  223. package/dist/settings-http-confirmation.js.map +1 -1
  224. package/dist/settings-instance-patch.js +28 -1
  225. package/dist/settings-instance-patch.js.map +1 -1
  226. package/dist/settings-request-capability.d.ts +0 -2
  227. package/dist/settings-request-capability.js +0 -4
  228. package/dist/settings-request-capability.js.map +1 -1
  229. package/dist/settings-transaction.d.ts +0 -4
  230. package/dist/settings-transaction.js +0 -9
  231. package/dist/settings-transaction.js.map +1 -1
  232. package/dist/setup-form.js +3 -6
  233. package/dist/setup-form.js.map +1 -1
  234. package/dist/setup-i18n.js +0 -3
  235. package/dist/setup-i18n.js.map +1 -1
  236. package/dist/task-board-tool.d.ts +11 -0
  237. package/dist/task-board-tool.js +44 -0
  238. package/dist/task-board-tool.js.map +1 -1
  239. package/dist/task-board-waker.d.ts +6 -0
  240. package/dist/task-board-waker.js +4 -0
  241. package/dist/task-board-waker.js.map +1 -1
  242. package/dist/tmux-control.d.ts +1 -2
  243. package/dist/tmux-control.js.map +1 -1
  244. package/dist/tmux-manager.d.ts +1 -2
  245. package/dist/tmux-manager.js.map +1 -1
  246. package/dist/tool-permissions.d.ts +5 -2
  247. package/dist/tool-permissions.js +7 -7
  248. package/dist/tool-permissions.js.map +1 -1
  249. package/dist/tool-progress.d.ts +2 -0
  250. package/dist/tool-progress.js +19 -3
  251. package/dist/tool-progress.js.map +1 -1
  252. package/dist/topic-commands.js +4 -3
  253. package/dist/topic-commands.js.map +1 -1
  254. package/dist/transcript-delta-reader.d.ts +1 -1
  255. package/dist/transcript-delta-reader.js +1 -1
  256. package/dist/transcript-delta-reader.js.map +1 -1
  257. package/dist/transcript-monitor.d.ts +20 -3
  258. package/dist/transcript-monitor.js +92 -24
  259. package/dist/transcript-monitor.js.map +1 -1
  260. package/dist/transcript-sources.d.ts +0 -5
  261. package/dist/transcript-sources.js +79 -8
  262. package/dist/transcript-sources.js.map +1 -1
  263. package/dist/types.d.ts +3 -23
  264. package/dist/ui/app.html +8 -1
  265. package/dist/ui/backend-signin.js +21 -36
  266. package/dist/ui/chat-md-strings.js +9 -0
  267. package/dist/ui/chat-store.js +2 -13
  268. package/dist/ui/chat-strings.js +2 -50
  269. package/dist/ui/chat-thread.js +53 -3
  270. package/dist/ui/fleet-task-card.js +3 -3
  271. package/dist/ui/fleet-task-common.js +10 -0
  272. package/dist/ui/fleet-tasks.js +7 -5
  273. package/dist/ui/fleet-usage.js +90 -27
  274. package/dist/ui/panel-chat.js +37 -66
  275. package/dist/ui/panel-details.js +1 -2
  276. package/dist/ui/panel-fleet.js +88 -107
  277. package/dist/ui/panel-needs.js +21 -163
  278. package/dist/ui/panel-notices.js +4 -3
  279. package/dist/ui/panel-settings.js +149 -239
  280. package/dist/ui/preview-panel.js +84 -6
  281. package/dist/ui/search-dialog.js +3 -2
  282. package/dist/ui/settings-appearance.js +23 -122
  283. package/dist/ui/settings-catalog.js +10 -37
  284. package/dist/ui/settings-codex-copy.js +19 -0
  285. package/dist/ui/settings-confirm.js +1 -3
  286. package/dist/ui/settings-dialogs.js +20 -27
  287. package/dist/ui/settings-guests.js +14 -27
  288. package/dist/ui/settings-model.js +17 -12
  289. package/dist/ui/settings-quota-notice.js +100 -0
  290. package/dist/ui/settings-registry.js +4 -11
  291. package/dist/ui/settings-strings.js +4 -113
  292. package/dist/ui/settings-web-authority.js +13 -15
  293. package/dist/ui/shared/app-i18n.js +2 -2
  294. package/dist/ui/shared/app-needs.js +1 -1
  295. package/dist/ui/shared/app-route.js +2 -6
  296. package/dist/ui/shared/app-shell.js +18 -23
  297. package/dist/ui/shared/app-store.js +2 -3
  298. package/dist/ui/shared/app-stream.js +1 -3
  299. package/dist/ui/shared/app.css +40 -1312
  300. package/dist/ui/shared/app.js +2 -5
  301. package/dist/ui/shared/header-tools.js +4 -6
  302. package/dist/ui/shared/instance-nav.js +7 -34
  303. package/dist/ui/shared/instance-switch.js +3 -4
  304. package/dist/ui/shared/loading.css +37 -0
  305. package/dist/ui/shared/panel-view.js +77 -4
  306. package/dist/ui/shared/signin.js +6 -39
  307. package/dist/ui/shared/tokens.css +0 -1
  308. package/dist/ui/shared/ui-dialog.js +2 -2
  309. package/dist/ui/shared/ui-menu.js +10 -30
  310. package/dist/ui/shared/ui-states.js +14 -3
  311. package/dist/ui/shared/usage-dialog.js +18 -1
  312. package/dist/ui/shared/vendor/vendor.json +2 -19
  313. package/dist/ui/shared/view-history.css +17 -0
  314. package/dist/ui/shared/view-history.js +438 -0
  315. package/dist/ui/shared/view-strings.js +16 -8
  316. package/dist/ui/signin.html +5 -2
  317. package/dist/unattended-install.d.ts +11 -2
  318. package/dist/unattended-install.js +39 -5
  319. package/dist/unattended-install.js.map +1 -1
  320. package/dist/usage/capacity.d.ts +69 -0
  321. package/dist/usage/capacity.js +119 -0
  322. package/dist/usage/capacity.js.map +1 -0
  323. package/dist/usage/i18n-keys.d.ts +1 -1
  324. package/dist/usage/i18n-keys.js +3 -0
  325. package/dist/usage/i18n-keys.js.map +1 -1
  326. package/dist/usage/profile-timeline.d.ts +16 -0
  327. package/dist/usage/profile-timeline.js +58 -0
  328. package/dist/usage/profile-timeline.js.map +1 -0
  329. package/dist/usage/providers.d.ts +5 -0
  330. package/dist/usage/providers.js +5 -0
  331. package/dist/usage/providers.js.map +1 -1
  332. package/dist/usage/quota-history.d.ts +43 -0
  333. package/dist/usage/quota-history.js +168 -0
  334. package/dist/usage/quota-history.js.map +1 -0
  335. package/dist/usage/quota-notices.d.ts +38 -0
  336. package/dist/usage/quota-notices.js +160 -0
  337. package/dist/usage/quota-notices.js.map +1 -0
  338. package/dist/usage/usage-api.d.ts +32 -0
  339. package/dist/usage/usage-api.js +96 -1
  340. package/dist/usage/usage-api.js.map +1 -1
  341. package/dist/usage-report.d.ts +25 -1
  342. package/dist/usage-report.js +55 -4
  343. package/dist/usage-report.js.map +1 -1
  344. package/dist/usage-rollup.d.ts +6 -1
  345. package/dist/usage-rollup.js +16 -4
  346. package/dist/usage-rollup.js.map +1 -1
  347. package/dist/view-api.d.ts +16 -0
  348. package/dist/view-api.js +100 -16
  349. package/dist/view-api.js.map +1 -1
  350. package/dist/view-history.d.ts +84 -0
  351. package/dist/view-history.js +116 -0
  352. package/dist/view-history.js.map +1 -0
  353. package/dist/web-api.d.ts +6 -38
  354. package/dist/web-api.js +20 -255
  355. package/dist/web-api.js.map +1 -1
  356. package/dist/web-chat-history.d.ts +2 -19
  357. package/dist/web-chat-history.js +3 -72
  358. package/dist/web-chat-history.js.map +1 -1
  359. package/dist/web-only-fleet.d.ts +0 -20
  360. package/dist/web-only-fleet.js +0 -21
  361. package/dist/web-only-fleet.js.map +1 -1
  362. package/dist/web-session-authorization.d.ts +13 -2
  363. package/dist/web-session-authorization.js +10 -3
  364. package/dist/web-session-authorization.js.map +1 -1
  365. package/dist/web-session.d.ts +0 -7
  366. package/dist/web-session.js +0 -2
  367. package/dist/web-session.js.map +1 -1
  368. package/dist/web-shell-routes.d.ts +1 -4
  369. package/dist/web-shell-routes.js +2 -7
  370. package/dist/web-shell-routes.js.map +1 -1
  371. package/launcher/private-home.cjs +1 -1
  372. package/package.json +3 -9
  373. package/dist/agent-runtime-api.d.ts +0 -4
  374. package/dist/agent-runtime-api.js +0 -59
  375. package/dist/agent-runtime-api.js.map +0 -1
  376. package/dist/agent-runtime-change.d.ts +0 -74
  377. package/dist/agent-runtime-change.js +0 -102
  378. package/dist/agent-runtime-change.js.map +0 -1
  379. package/dist/backend/grok-model-cache.d.ts +0 -7
  380. package/dist/backend/grok-model-cache.js +0 -65
  381. package/dist/backend/grok-model-cache.js.map +0 -1
  382. package/dist/backend/native-pane.d.ts +0 -9
  383. package/dist/backend/native-pane.js +0 -59
  384. package/dist/backend/native-pane.js.map +0 -1
  385. package/dist/fleet-windows-runtime.d.ts +0 -97
  386. package/dist/fleet-windows-runtime.js +0 -449
  387. package/dist/fleet-windows-runtime.js.map +0 -1
  388. package/dist/general-binding.d.ts +0 -85
  389. package/dist/general-binding.js +0 -298
  390. package/dist/general-binding.js.map +0 -1
  391. package/dist/general-host-owner.d.ts +0 -8
  392. package/dist/general-host-owner.js +0 -26
  393. package/dist/general-host-owner.js.map +0 -1
  394. package/dist/general-role.d.ts +0 -5
  395. package/dist/general-role.js +0 -26
  396. package/dist/general-role.js.map +0 -1
  397. package/dist/local-pane-endpoint.d.ts +0 -46
  398. package/dist/local-pane-endpoint.js +0 -189
  399. package/dist/local-pane-endpoint.js.map +0 -1
  400. package/dist/local-pane-launcher.d.ts +0 -2
  401. package/dist/local-pane-launcher.js +0 -38
  402. package/dist/local-pane-launcher.js.map +0 -1
  403. package/dist/local-pane-stage.ps1 +0 -101
  404. package/dist/model-catalog-defaults.d.ts +0 -14
  405. package/dist/model-catalog-defaults.js +0 -20
  406. package/dist/model-catalog-defaults.js.map +0 -1
  407. package/dist/native-agent-admission.d.ts +0 -7
  408. package/dist/native-agent-admission.js +0 -26
  409. package/dist/native-agent-admission.js.map +0 -1
  410. package/dist/native-daemon-client.d.ts +0 -13
  411. package/dist/native-daemon-client.js +0 -28
  412. package/dist/native-daemon-client.js.map +0 -1
  413. package/dist/native-instance-api.d.ts +0 -14
  414. package/dist/native-instance-api.js +0 -205
  415. package/dist/native-instance-api.js.map +0 -1
  416. package/dist/native-instance-input.d.ts +0 -84
  417. package/dist/native-instance-input.js +0 -54
  418. package/dist/native-instance-input.js.map +0 -1
  419. package/dist/native-instance-registry.d.ts +0 -32
  420. package/dist/native-instance-registry.js +0 -105
  421. package/dist/native-instance-registry.js.map +0 -1
  422. package/dist/native-mcp.d.ts +0 -40
  423. package/dist/native-mcp.js +0 -278
  424. package/dist/native-mcp.js.map +0 -1
  425. package/dist/native-model-catalog.d.ts +0 -5
  426. package/dist/native-model-catalog.js +0 -76
  427. package/dist/native-model-catalog.js.map +0 -1
  428. package/dist/native-pane-crash-budget.d.ts +0 -20
  429. package/dist/native-pane-crash-budget.js +0 -60
  430. package/dist/native-pane-crash-budget.js.map +0 -1
  431. package/dist/native-pane-create.d.ts +0 -26
  432. package/dist/native-pane-create.js +0 -53
  433. package/dist/native-pane-create.js.map +0 -1
  434. package/dist/native-pane-lifecycle.d.ts +0 -65
  435. package/dist/native-pane-lifecycle.js +0 -230
  436. package/dist/native-pane-lifecycle.js.map +0 -1
  437. package/dist/native-pane-manager.d.ts +0 -59
  438. package/dist/native-pane-manager.js +0 -584
  439. package/dist/native-pane-manager.js.map +0 -1
  440. package/dist/native-pane-output-log.d.ts +0 -15
  441. package/dist/native-pane-output-log.js +0 -108
  442. package/dist/native-pane-output-log.js.map +0 -1
  443. package/dist/native-pane-reconciliation.d.ts +0 -4
  444. package/dist/native-pane-reconciliation.js +0 -40
  445. package/dist/native-pane-reconciliation.js.map +0 -1
  446. package/dist/native-pane-recovery.d.ts +0 -12
  447. package/dist/native-pane-recovery.js +0 -10
  448. package/dist/native-pane-recovery.js.map +0 -1
  449. package/dist/native-pane-tools.d.ts +0 -2
  450. package/dist/native-pane-tools.js +0 -14
  451. package/dist/native-pane-tools.js.map +0 -1
  452. package/dist/pane-port.d.ts +0 -118
  453. package/dist/pane-port.js +0 -2
  454. package/dist/pane-port.js.map +0 -1
  455. package/dist/runtime-api.d.ts +0 -8
  456. package/dist/runtime-api.js +0 -171
  457. package/dist/runtime-api.js.map +0 -1
  458. package/dist/runtime-assets/@xterm/addon-serialize/LICENSE +0 -21
  459. package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.js +0 -2
  460. package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.mjs +0 -19
  461. package/dist/runtime-assets/@xterm/addon-serialize/package.json +0 -29
  462. package/dist/runtime-assets/@xterm/headless/LICENSE +0 -21
  463. package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.js +0 -2
  464. package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.mjs +0 -46
  465. package/dist/runtime-assets/@xterm/headless/package.json +0 -29
  466. package/dist/runtime-assets/node-pty/CONPTY-LICENSE +0 -21
  467. package/dist/runtime-assets/node-pty/CONPTY-NOTICE.md +0 -503
  468. package/dist/runtime-assets/node-pty/LICENSE +0 -69
  469. package/dist/runtime-assets/node-pty/lib/conpty_console_list_agent.js +0 -16
  470. package/dist/runtime-assets/node-pty/lib/eventEmitter2.js +0 -47
  471. package/dist/runtime-assets/node-pty/lib/index.js +0 -52
  472. package/dist/runtime-assets/node-pty/lib/interfaces.js +0 -7
  473. package/dist/runtime-assets/node-pty/lib/shared/conout.js +0 -11
  474. package/dist/runtime-assets/node-pty/lib/terminal.js +0 -190
  475. package/dist/runtime-assets/node-pty/lib/types.js +0 -7
  476. package/dist/runtime-assets/node-pty/lib/unixTerminal.js +0 -346
  477. package/dist/runtime-assets/node-pty/lib/utils.js +0 -39
  478. package/dist/runtime-assets/node-pty/lib/windowsConoutConnection.js +0 -125
  479. package/dist/runtime-assets/node-pty/lib/windowsPtyAgent.js +0 -320
  480. package/dist/runtime-assets/node-pty/lib/windowsTerminal.js +0 -199
  481. package/dist/runtime-assets/node-pty/lib/worker/conoutSocketWorker.js +0 -22
  482. package/dist/runtime-assets/node-pty/package.json +0 -64
  483. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  484. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  485. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  486. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  487. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  488. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  489. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  490. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  491. package/dist/runtime-build-info.d.ts +0 -9
  492. package/dist/runtime-build-info.js +0 -57
  493. package/dist/runtime-build-info.js.map +0 -1
  494. package/dist/runtime-bundle.d.ts +0 -19
  495. package/dist/runtime-bundle.js +0 -156
  496. package/dist/runtime-bundle.js.map +0 -1
  497. package/dist/runtime-cli.d.ts +0 -7
  498. package/dist/runtime-cli.js +0 -152
  499. package/dist/runtime-cli.js.map +0 -1
  500. package/dist/runtime-client-store.d.ts +0 -68
  501. package/dist/runtime-client-store.js +0 -344
  502. package/dist/runtime-client-store.js.map +0 -1
  503. package/dist/runtime-client.d.ts +0 -112
  504. package/dist/runtime-client.js +0 -736
  505. package/dist/runtime-client.js.map +0 -1
  506. package/dist/runtime-connection.d.ts +0 -22
  507. package/dist/runtime-connection.js +0 -93
  508. package/dist/runtime-connection.js.map +0 -1
  509. package/dist/runtime-coordinator.d.ts +0 -91
  510. package/dist/runtime-coordinator.js +0 -911
  511. package/dist/runtime-coordinator.js.map +0 -1
  512. package/dist/runtime-general-protocol.d.ts +0 -22
  513. package/dist/runtime-general-protocol.js +0 -57
  514. package/dist/runtime-general-protocol.js.map +0 -1
  515. package/dist/runtime-general-workspace.d.ts +0 -17
  516. package/dist/runtime-general-workspace.js +0 -213
  517. package/dist/runtime-general-workspace.js.map +0 -1
  518. package/dist/runtime-pane-assets.d.ts +0 -17
  519. package/dist/runtime-pane-assets.js +0 -23
  520. package/dist/runtime-pane-assets.js.map +0 -1
  521. package/dist/runtime-pane-boot.d.ts +0 -9
  522. package/dist/runtime-pane-boot.js +0 -47
  523. package/dist/runtime-pane-boot.js.map +0 -1
  524. package/dist/runtime-pane-codex-index.d.ts +0 -1
  525. package/dist/runtime-pane-codex-index.js +0 -47
  526. package/dist/runtime-pane-codex-index.js.map +0 -1
  527. package/dist/runtime-pane-config.d.ts +0 -16
  528. package/dist/runtime-pane-config.js +0 -54
  529. package/dist/runtime-pane-config.js.map +0 -1
  530. package/dist/runtime-pane-host.d.ts +0 -44
  531. package/dist/runtime-pane-host.js +0 -424
  532. package/dist/runtime-pane-host.js.map +0 -1
  533. package/dist/runtime-pane-job-owner.d.ts +0 -1
  534. package/dist/runtime-pane-job-owner.js +0 -29
  535. package/dist/runtime-pane-job-owner.js.map +0 -1
  536. package/dist/runtime-pane-job.ps1 +0 -116
  537. package/dist/runtime-pane-link.d.ts +0 -40
  538. package/dist/runtime-pane-link.js +0 -246
  539. package/dist/runtime-pane-link.js.map +0 -1
  540. package/dist/runtime-pane-mcp-protocol.d.ts +0 -32
  541. package/dist/runtime-pane-mcp-protocol.js +0 -39
  542. package/dist/runtime-pane-mcp-protocol.js.map +0 -1
  543. package/dist/runtime-pane-mcp-relay.d.ts +0 -17
  544. package/dist/runtime-pane-mcp-relay.js +0 -70
  545. package/dist/runtime-pane-mcp-relay.js.map +0 -1
  546. package/dist/runtime-pane-mcp.d.ts +0 -51
  547. package/dist/runtime-pane-mcp.js +0 -150
  548. package/dist/runtime-pane-mcp.js.map +0 -1
  549. package/dist/runtime-pane-native.d.ts +0 -45
  550. package/dist/runtime-pane-native.js +0 -65
  551. package/dist/runtime-pane-native.js.map +0 -1
  552. package/dist/runtime-pane-output.d.ts +0 -19
  553. package/dist/runtime-pane-output.js +0 -53
  554. package/dist/runtime-pane-output.js.map +0 -1
  555. package/dist/runtime-pane-port.d.ts +0 -139
  556. package/dist/runtime-pane-port.js +0 -558
  557. package/dist/runtime-pane-port.js.map +0 -1
  558. package/dist/runtime-pane-private.d.ts +0 -14
  559. package/dist/runtime-pane-private.js +0 -51
  560. package/dist/runtime-pane-private.js.map +0 -1
  561. package/dist/runtime-pane-private.ps1 +0 -14
  562. package/dist/runtime-pane-process.d.ts +0 -4
  563. package/dist/runtime-pane-process.js +0 -108
  564. package/dist/runtime-pane-process.js.map +0 -1
  565. package/dist/runtime-pane-protocol.d.ts +0 -172
  566. package/dist/runtime-pane-protocol.js +0 -195
  567. package/dist/runtime-pane-protocol.js.map +0 -1
  568. package/dist/runtime-pane-screen.d.ts +0 -19
  569. package/dist/runtime-pane-screen.js +0 -76
  570. package/dist/runtime-pane-screen.js.map +0 -1
  571. package/dist/runtime-pane-service.d.ts +0 -11
  572. package/dist/runtime-pane-service.js +0 -221
  573. package/dist/runtime-pane-service.js.map +0 -1
  574. package/dist/runtime-pane-stdio-protocol.d.ts +0 -54
  575. package/dist/runtime-pane-stdio-protocol.js +0 -94
  576. package/dist/runtime-pane-stdio-protocol.js.map +0 -1
  577. package/dist/runtime-pane-stdio.d.ts +0 -3
  578. package/dist/runtime-pane-stdio.js +0 -123
  579. package/dist/runtime-pane-stdio.js.map +0 -1
  580. package/dist/runtime-pane-store.d.ts +0 -33
  581. package/dist/runtime-pane-store.js +0 -164
  582. package/dist/runtime-pane-store.js.map +0 -1
  583. package/dist/runtime-pane-transcript-protocol.d.ts +0 -43
  584. package/dist/runtime-pane-transcript-protocol.js +0 -58
  585. package/dist/runtime-pane-transcript-protocol.js.map +0 -1
  586. package/dist/runtime-pane-transcript.d.ts +0 -45
  587. package/dist/runtime-pane-transcript.js +0 -605
  588. package/dist/runtime-pane-transcript.js.map +0 -1
  589. package/dist/runtime-pane-worker.d.ts +0 -1
  590. package/dist/runtime-pane-worker.js +0 -154
  591. package/dist/runtime-pane-worker.js.map +0 -1
  592. package/dist/runtime-protocol.d.ts +0 -162
  593. package/dist/runtime-protocol.js +0 -37
  594. package/dist/runtime-protocol.js.map +0 -1
  595. package/dist/runtime-switches.d.ts +0 -79
  596. package/dist/runtime-switches.js +0 -90
  597. package/dist/runtime-switches.js.map +0 -1
  598. package/dist/runtime-transcript-delta-reader.d.ts +0 -23
  599. package/dist/runtime-transcript-delta-reader.js +0 -74
  600. package/dist/runtime-transcript-delta-reader.js.map +0 -1
  601. package/dist/runtime-transcript-source.d.ts +0 -36
  602. package/dist/runtime-transcript-source.js +0 -189
  603. package/dist/runtime-transcript-source.js.map +0 -1
  604. package/dist/runtime-windows-bridge.d.ts +0 -41
  605. package/dist/runtime-windows-bridge.js +0 -157
  606. package/dist/runtime-windows-bridge.js.map +0 -1
  607. package/dist/settings-route-lifetime.d.ts +0 -14
  608. package/dist/settings-route-lifetime.js +0 -48
  609. package/dist/settings-route-lifetime.js.map +0 -1
  610. package/dist/tmux-pane-host.d.ts +0 -26
  611. package/dist/tmux-pane-host.js +0 -25
  612. package/dist/tmux-pane-host.js.map +0 -1
  613. package/dist/transcript-needles.d.ts +0 -35
  614. package/dist/transcript-needles.js +0 -158
  615. package/dist/transcript-needles.js.map +0 -1
  616. package/dist/transcript-records.d.ts +0 -21
  617. package/dist/transcript-records.js +0 -140
  618. package/dist/transcript-records.js.map +0 -1
  619. package/dist/ui/agent-proposals.js +0 -90
  620. package/dist/ui/agent-runtime-settings.js +0 -67
  621. package/dist/ui/agent-runtime.js +0 -124
  622. package/dist/ui/cli-picker.js +0 -42
  623. package/dist/ui/general-location.js +0 -71
  624. package/dist/ui/native-instance-settings.js +0 -44
  625. package/dist/ui/native-pane-recovery.js +0 -45
  626. package/dist/ui/panel-runtimes.js +0 -334
  627. package/dist/ui/panel-windows-agent.js +0 -86
  628. package/dist/ui/panel-windows-cli.js +0 -179
  629. package/dist/ui/provider-marks.js +0 -83
  630. package/dist/ui/runtime-catalog.js +0 -55
  631. package/dist/ui/settings-agent-filters.js +0 -94
  632. package/dist/ui/settings-layout.js +0 -245
  633. package/dist/ui/settings-outside.js +0 -176
  634. package/dist/ui/settings-shortcuts.js +0 -65
  635. package/dist/ui/shared/machine-name.js +0 -13
  636. package/dist/ui/shared/qrcode.module.js +0 -2237
  637. package/dist/ui/shared/settings-width.js +0 -31
  638. package/dist/ui/shared/vendor/qrcode-generator.LICENSE +0 -27
  639. package/dist/ui/windows-agents-nav.js +0 -2
  640. package/dist/ui/windows-cli-catalog.js +0 -108
  641. package/dist/web-remote-access.d.ts +0 -152
  642. package/dist/web-remote-access.js +0 -368
  643. package/dist/web-remote-access.js.map +0 -1
  644. package/dist/windows-agents.d.ts +0 -126
  645. package/dist/windows-agents.js +0 -490
  646. package/dist/windows-agents.js.map +0 -1
  647. package/dist/windows-cli-api.d.ts +0 -23
  648. package/dist/windows-cli-api.js +0 -159
  649. package/dist/windows-cli-api.js.map +0 -1
  650. package/dist/windows-cli-providers.d.ts +0 -115
  651. package/dist/windows-cli-providers.js +0 -429
  652. package/dist/windows-cli-providers.js.map +0 -1
  653. package/dist/windows-cli-worker.d.ts +0 -59
  654. package/dist/windows-cli-worker.js +0 -479
  655. package/dist/windows-cli-worker.js.map +0 -1
  656. package/dist/windows-cli.d.ts +0 -116
  657. package/dist/windows-cli.js +0 -407
  658. package/dist/windows-cli.js.map +0 -1
  659. package/dist/windows-native-mcp.d.ts +0 -19
  660. package/dist/windows-native-mcp.js +0 -143
  661. package/dist/windows-native-mcp.js.map +0 -1
  662. package/dist/windows-pane-mcp.d.ts +0 -26
  663. package/dist/windows-pane-mcp.js +0 -187
  664. package/dist/windows-pane-mcp.js.map +0 -1
  665. package/templates/runtime-assets/conpty-LICENSE +0 -21
  666. package/templates/runtime-assets/conpty-NOTICE.md +0 -503
  667. package/templates/runtime-assets/local-pane-stage.ps1 +0 -101
  668. package/templates/runtime-assets/runtime-pane-job.ps1 +0 -116
  669. package/templates/runtime-assets/runtime-pane-private.ps1 +0 -14
  670. package/templates/runtime-assets/xterm-LICENSE +0 -21
@@ -1,490 +0,0 @@
1
- /** Named Windows CLI conversations; independent of Linux/tmux instances. Local administrator only. */
2
- import { existsSync, mkdirSync, readFileSync, statSync } from "node:fs";
3
- import { atomicWriteFileSync } from "./atomic-write.js";
4
- import { dirname, join } from "node:path";
5
- import { createHash, randomUUID } from "node:crypto";
6
- import { maxAgentsPerMachine } from "./runtime-switches.js";
7
- import { getAgendHome } from "./paths.js";
8
- import { validWindowsAgentId, validWindowsDirectory } from "./windows-cli-worker.js";
9
- import { validNativeSessionId } from "./windows-cli-providers.js";
10
- import { validateRuntimePaneSnapshot } from "./runtime-pane-protocol.js";
11
- import { windowsBridgeFor } from "./windows-cli.js";
12
- import { isNativeProviderId, nativeProvider, validateNativeModel } from "./windows-cli-providers.js";
13
- /**
14
- * M-2297: the per-PC agent limit is reached. The message keeps its original first sentence (callers match on it) and
15
- * names the limit and what holds the slots; `limit` and `holders` carry the same for a localised view.
16
- */
17
- export class MachineSlotLimitError extends Error {
18
- limit;
19
- holders;
20
- constructor(limit, holders) {
21
- super(`This Windows computer has reached its concurrent agent limit (${limit}): ${holders.map(h => h.unknown ? `${h.name} (outcome unknown — check and unlock it)` : h.name).join(", ")}`);
22
- this.limit = limit;
23
- this.holders = holders;
24
- this.name = "MachineSlotLimitError";
25
- }
26
- }
27
- const idPattern = /^[a-f0-9-]{36}$/i;
28
- const shortText = (value, limit) => typeof value === "string" && value.length <= limit && !value.includes("\0");
29
- export class WindowsAgents {
30
- bridge;
31
- data = { version: 1, agents: [], requests: {} };
32
- file;
33
- listeners = new Set();
34
- launching = new Set();
35
- constructor(home, bridge) {
36
- this.bridge = bridge;
37
- this.file = join(home, "windows-agents.json");
38
- if (existsSync(this.file)) {
39
- if (statSync(this.file).size > 20 * 1024 * 1024)
40
- throw new Error("Windows agent store is too large");
41
- const value = JSON.parse(readFileSync(this.file, "utf8"));
42
- if (value.version !== 1 || !Array.isArray(value.agents) || !value.requests || typeof value.requests !== "object")
43
- throw new Error("Invalid Windows agent store");
44
- this.data = value;
45
- // Version 1 profiles created before provider selection were all Codex conversations.
46
- for (const agent of this.data.agents) {
47
- agent.cli ??= "codex";
48
- if (!isNativeProviderId(agent.cli))
49
- throw new Error("Invalid Windows agent CLI");
50
- }
51
- }
52
- }
53
- change(fn) {
54
- const before = JSON.stringify(this.data);
55
- try {
56
- const result = fn();
57
- const body = JSON.stringify(this.data);
58
- if (Buffer.byteLength(body) > 20 * 1024 * 1024)
59
- throw new Error("Windows agent history limit reached");
60
- mkdirSync(dirname(this.file), { recursive: true });
61
- atomicWriteFileSync(this.file, body, { mode: 0o600 });
62
- for (const listener of [...this.listeners]) {
63
- try {
64
- listener();
65
- }
66
- catch { /* Observers cannot roll back committed data. */ }
67
- }
68
- return result;
69
- }
70
- catch (e) {
71
- this.data = JSON.parse(before);
72
- throw e;
73
- }
74
- }
75
- find(id) {
76
- const agent = this.data.agents.find(a => a.id === id);
77
- if (!agent)
78
- throw new Error("Windows agent not found");
79
- return agent;
80
- }
81
- useExecutor(executor) { this.bridge = executor; }
82
- get(id) {
83
- // A paired runtime can finish while the coordinator is restarting. Reconcile its durable result before
84
- // interpreting a saved active turn as an orphan; provider session IDs still belong to the same machine.
85
- const saved = this.find(id), recovered = saved.activeId ? this.bridge.get(saved.activeId) : null;
86
- if (saved.activeId && !saved.paneLaunchId && recovered?.finishedAt && recovered.outcomeConfirmed === true) {
87
- this.change(() => {
88
- const turn = saved.turns.find(row => row.id === saved.activeId);
89
- if (turn)
90
- Object.assign(turn, { output: recovered.output, status: recovered.status, finishedAt: recovered.finishedAt, error: recovered.error });
91
- if (recovered.threadId)
92
- saved.threadId = recovered.threadId;
93
- delete saved.activeId;
94
- });
95
- }
96
- const agent = structuredClone(this.find(id));
97
- const task = agent.activeId ? this.bridge.get(agent.activeId) : null;
98
- const blocked = !!agent.activeId && ((!task && !this.launching.has(agent.activeId)) || task?.outcomeConfirmed === false || !!task?.finishedAt);
99
- const turn = agent.turns.find(t => t.id === agent.activeId);
100
- if (turn && task)
101
- Object.assign(turn, { status: task.status, output: task.output, error: task.error });
102
- if (turn && blocked) {
103
- turn.status = "interrupted";
104
- turn.error = "Windows execution outcome is unknown. Check that its Windows processes stopped before unlocking this agent.";
105
- }
106
- return { ...agent, blocked };
107
- }
108
- list() {
109
- return this.data.agents.map(a => { const { turns: _turns, instructions: _instructions, ...row } = this.get(a.id); return row; });
110
- }
111
- subscribe(listener) { this.listeners.add(listener); return () => { this.listeners.delete(listener); }; }
112
- /** Synchronous profile reservation is shared by exec and pane starts. Unknown owners still occupy a slot. */
113
- admitMachineSlot(agent) {
114
- const machine = agent.machineId?.toLowerCase();
115
- const holders = this.data.agents.filter(other => other.id !== agent.id && other.machineId?.toLowerCase() === machine && !!other.activeId);
116
- const limit = maxAgentsPerMachine();
117
- if (holders.length >= limit) {
118
- // M-2297: say which agents hold the slots, by the name a person gave them (the instance name is windows-<uuid>).
119
- // "Unknown outcome" is the exec turn's lost-task state (`blocked`); a pane holder has no exec task, so that flag
120
- // says nothing about it and it is never marked from it (#3003 acceptance: every healthy pane showed as unknown).
121
- throw new MachineSlotLimitError(limit, holders.map(other => ({ name: other.name || other.fleet_instance || other.id,
122
- unknown: !other.paneLaunchId && this.get(other.id).blocked })));
123
- }
124
- }
125
- /** Metadata reservation before a pane can spawn. Exec and persistent adapters can never own one profile together. */
126
- reservePane(id, launchId) {
127
- const agent = this.find(id);
128
- if (!validWindowsAgentId(launchId) || agent.paused || agent.activeId && agent.activeId !== launchId
129
- || agent.paneLaunchId && agent.paneLaunchId !== launchId || agent.activeId === launchId && agent.paneLaunchId !== launchId)
130
- throw Error("Windows profile has another active or unconfirmed owner");
131
- if (!agent.activeId)
132
- this.admitMachineSlot(agent);
133
- if (agent.paneLaunchId !== launchId || agent.activeId !== launchId)
134
- this.change(() => { agent.activeId = launchId; agent.paneLaunchId = launchId; });
135
- return structuredClone(agent);
136
- }
137
- setPaneRecovery(id, recovery) {
138
- const agent = this.find(id);
139
- if (JSON.stringify(agent.paneRecovery) === JSON.stringify(recovery))
140
- return;
141
- this.change(() => { if (recovery) {
142
- agent.paneRecovery = structuredClone(recovery);
143
- agent.paneRecoveryAt = Date.now();
144
- }
145
- else {
146
- delete agent.paneRecovery;
147
- delete agent.paneRecoveryAt;
148
- } });
149
- }
150
- pinPaneSession(id, launchId, sessionId) {
151
- const agent = this.find(id);
152
- if (agent.activeId !== launchId || agent.paneLaunchId !== launchId || !validNativeSessionId(agent.cli, sessionId)
153
- || agent.threadId && agent.threadId !== sessionId)
154
- throw Error("Windows pane conversation differs from its reserved profile");
155
- if (agent.threadId !== sessionId)
156
- this.change(() => { agent.threadId = sessionId; });
157
- }
158
- /** Only a durable fresh-session intent plus an exact positive exit can replace a pane pin. No provider data is removed. */
159
- replacePaneSession(id, raw, nextSessionId) {
160
- const previous = validateRuntimePaneSnapshot(raw), agent = this.find(id);
161
- if (agent.cli !== "claude-code" || agent.activeId || agent.paneLaunchId || previous.state !== "exited"
162
- || previous.agentId !== id || previous.instance !== agent.fleet_instance || !previous.sessionId
163
- || !validNativeSessionId("claude-code", nextSessionId) || previous.sessionId === nextSessionId
164
- || agent.threadId !== previous.sessionId && agent.threadId !== nextSessionId)
165
- throw Error("Fresh pane conversation scope differs");
166
- if (agent.threadId !== nextSessionId)
167
- this.change(() => { agent.threadId = nextSessionId; delete agent.paneRecovery; delete agent.paneRecoveryAt; });
168
- }
169
- /** The durable Codex fresh intent is committed first; only its exact observed launch may replace the old pin. */
170
- pinFreshCodexSession(id, rawPrevious, rawObserved) {
171
- const previous = validateRuntimePaneSnapshot(rawPrevious), observed = validateRuntimePaneSnapshot(rawObserved), agent = this.find(id);
172
- if (agent.cli !== "codex" || previous.state !== "exited" || previous.noLaunch
173
- || previous.agentId !== id || previous.instance !== agent.fleet_instance || observed.agentId !== id || observed.instance !== previous.instance
174
- || !["running", "exited"].includes(observed.state) || observed.noLaunch || !observed.sessionId || !validNativeSessionId("codex", observed.sessionId)
175
- || observed.launchId === previous.launchId || observed.sessionId === previous.sessionId
176
- || agent.activeId !== observed.launchId || agent.paneLaunchId !== observed.launchId
177
- || agent.threadId !== previous.sessionId && agent.threadId !== observed.sessionId)
178
- throw Error("Fresh Codex conversation scope differs");
179
- if (agent.threadId !== observed.sessionId)
180
- this.change(() => { agent.threadId = observed.sessionId; delete agent.paneRecovery; delete agent.paneRecoveryAt; });
181
- }
182
- /** A fresh Codex launch can exit before reporting any UUID. Release only that positive exit; retain the old pin. */
183
- releaseUnpinnedCodexPane(id, rawPrevious, rawExit) {
184
- const previous = validateRuntimePaneSnapshot(rawPrevious), exit = validateRuntimePaneSnapshot(rawExit), agent = this.find(id);
185
- if (agent.cli !== "codex" || previous.state !== "exited" || previous.noLaunch || !previous.sessionId || agent.threadId !== previous.sessionId
186
- || previous.agentId !== id || previous.instance !== agent.fleet_instance || exit.agentId !== id || exit.instance !== previous.instance
187
- || exit.state !== "exited" || exit.noLaunch || exit.sessionId !== undefined || exit.launchId === previous.launchId
188
- || agent.activeId !== exit.launchId || agent.paneLaunchId !== exit.launchId)
189
- throw Error("Unpinned Codex exit scope differs");
190
- this.change(() => { delete agent.activeId; delete agent.paneLaunchId; });
191
- }
192
- /** Only an exact positive owned-exit snapshot releases the old exec-compatible reservation. */
193
- releasePane(id, raw) {
194
- const snapshot = validateRuntimePaneSnapshot(raw), agent = this.find(id);
195
- if (snapshot.agentId !== id || snapshot.state !== "exited" || agent.activeId !== snapshot.launchId || agent.paneLaunchId !== snapshot.launchId
196
- || agent.fleet_instance && agent.fleet_instance !== snapshot.instance || agent.threadId && snapshot.sessionId !== undefined && snapshot.sessionId !== agent.threadId)
197
- throw Error("Windows pane exit identity is unconfirmed");
198
- this.change(() => { delete agent.activeId; delete agent.paneLaunchId; });
199
- }
200
- bindInstance(id, name) {
201
- if (!name || name.length > 128 || /[\\/\x00-\x1f\x7f]/.test(name) || name.includes(".."))
202
- throw new Error("Invalid Fleet instance name");
203
- const agent = this.find(id);
204
- if (agent.fleet_instance === name)
205
- return;
206
- this.change(() => { agent.fleet_instance = name; });
207
- }
208
- /** A confirmed General binding is born already linked, so legacy import can never turn it into a worker. */
209
- ensureGeneralBinding(input, authorized) {
210
- if (!validWindowsAgentId(input.id) || !validWindowsAgentId(input.machineId) || !validWindowsDirectory(input.cwd)
211
- || !input.instance || input.instance.length > 128 || /[\\/\x00-\x1f\x7f]/.test(input.instance) || input.instance.includes("..")
212
- || !shortText(input.name, 64) || !input.name || !shortText(input.instructions, 8000) || !shortText(input.description, 512)
213
- || input.cli !== "claude-code" && input.cli !== "codex")
214
- throw Error("Invalid General Windows binding");
215
- const model = validateNativeModel(input.model);
216
- const found = this.data.agents.find(row => row.id === input.id);
217
- if (found) {
218
- if (found.fleet_instance !== input.instance || found.machineId !== input.machineId || found.cli !== input.cli || found.cwd !== input.cwd)
219
- throw Error("Retained General Windows profile differs");
220
- return this.update(found.id, { name: input.name, model: model ?? "", instructions: input.instructions, description: input.description }, authorized);
221
- }
222
- if (!authorized())
223
- throw Error("General binding authority expired");
224
- if (this.data.agents.length >= 16)
225
- throw Error("This preview supports at most 16 Windows agents");
226
- const agent = { id: input.id, name: input.name, cwd: input.cwd, machineId: input.machineId, cli: input.cli,
227
- ...(model ? { model } : {}), sandbox: "workspace-write", instructions: input.instructions, description: input.description,
228
- createdAt: Date.now(), turns: [], fleet_instance: input.instance };
229
- return this.change(() => { if (!authorized())
230
- throw Error("General binding authority expired"); this.data.agents.push(agent); return structuredClone(agent); });
231
- }
232
- /** Validate without changing the retained launch or profile (used before an explicit cold-settings stop). */
233
- previewUpdate(id, patch) {
234
- const current = this.find(id);
235
- if (!patch || typeof patch !== "object" || Array.isArray(patch) || Object.keys(patch).some(key => !["name", "cwd", "description", "instructions", "sandbox", "cli", "model"].includes(key)))
236
- throw new Error("Unknown Windows agent field");
237
- const next = structuredClone(current);
238
- if (Object.hasOwn(patch, "name")) {
239
- if (!shortText(patch.name, 64) || !patch.name.trim() || /[\x00-\x1f\x7f]/.test(patch.name))
240
- throw new Error("Enter a Windows agent name (1–64 characters)");
241
- next.name = patch.name.trim();
242
- if (this.data.agents.some(agent => agent.id !== id && agent.name.toLowerCase() === next.name.toLowerCase()))
243
- throw new Error("A Windows agent already uses that name");
244
- }
245
- if (Object.hasOwn(patch, "cwd")) {
246
- if (!validWindowsDirectory(patch.cwd))
247
- throw new Error("Enter an absolute Windows working directory");
248
- next.cwd = patch.cwd;
249
- }
250
- if (Object.hasOwn(patch, "cli")) {
251
- if (!isNativeProviderId(patch.cli))
252
- throw new Error("Choose a supported Windows CLI");
253
- next.cli = patch.cli;
254
- }
255
- if (current.threadId && (next.cli !== current.cli || next.cwd !== current.cwd))
256
- throw new Error("Start a new conversation before changing this agent's CLI or working directory");
257
- if (Object.hasOwn(patch, "description")) {
258
- if (!shortText(patch.description, 512))
259
- throw new Error("Agent description is too long");
260
- next.description = patch.description;
261
- }
262
- if (Object.hasOwn(patch, "instructions")) {
263
- if (!shortText(patch.instructions, 8000))
264
- throw new Error("Agent instructions are too long");
265
- next.instructions = patch.instructions;
266
- }
267
- if (Object.hasOwn(patch, "model")) {
268
- const model = validateNativeModel(patch.model);
269
- if (model)
270
- next.model = model;
271
- else
272
- delete next.model;
273
- }
274
- if (Object.hasOwn(patch, "sandbox")) {
275
- if (patch.sandbox !== "read-only" && patch.sandbox !== "workspace-write")
276
- throw new Error("Choose a file access mode");
277
- next.sandbox = patch.sandbox;
278
- }
279
- const provider = nativeProvider(next.cli);
280
- if (!provider.supports.execution || !provider.supports.resume)
281
- throw new Error(provider.reason || "This CLI cannot create Windows conversations yet");
282
- if (next.sandbox === "read-only" && !provider.readOnlySupport)
283
- throw new Error(`${provider.name} does not support read-only execution`);
284
- return next;
285
- }
286
- update(id, patch, authorized = () => true) {
287
- const current = this.find(id), next = this.previewUpdate(id, patch);
288
- // Only identity metadata is hot. A retained/unknown pane still fences every effective launch setting.
289
- const cold = ["cwd", "cli", "instructions", "sandbox", "model"].some(key => (next[key] ?? "") !== (current[key] ?? ""));
290
- if (current.activeId && (!current.paneLaunchId || cold))
291
- throw new Error("Wait for the Windows agent to finish before changing its settings");
292
- if (!authorized())
293
- throw new Error("Authorization expired before changing the Windows agent");
294
- if (JSON.stringify(next) === JSON.stringify(current))
295
- return structuredClone(current);
296
- this.change(() => { this.data.agents[this.data.agents.findIndex(agent => agent.id === id)] = next; });
297
- return structuredClone(next);
298
- }
299
- remove(id, authorized = () => true) {
300
- const agent = this.find(id);
301
- if (agent.activeId)
302
- throw new Error("Cancel and finish the Windows agent before removing it");
303
- if (!authorized())
304
- throw new Error("Authorization expired before removing the Windows agent");
305
- const snapshot = structuredClone(agent);
306
- this.change(() => { this.data.agents = this.data.agents.filter(row => row.id !== id); });
307
- // Workspaces, provider sessions and request tombstones survive removal.
308
- return snapshot;
309
- }
310
- restore(snapshot) {
311
- if (this.data.agents.some(row => row.id === snapshot.id || row.name.toLowerCase() === snapshot.name.toLowerCase()))
312
- throw new Error("Cannot restore a Windows agent over an existing agent");
313
- this.change(() => { this.data.agents.push(structuredClone(snapshot)); });
314
- }
315
- setPaused(id, paused) {
316
- const agent = this.find(id);
317
- if (typeof paused !== "boolean")
318
- throw new Error("Paused must be a boolean");
319
- if (agent.paused === paused || !agent.paused && !paused)
320
- return structuredClone(agent);
321
- this.change(() => { agent.paused = paused; });
322
- return structuredClone(agent);
323
- }
324
- cancel(id) {
325
- const agent = this.find(id);
326
- if (agent.paneLaunchId)
327
- throw new Error("Persistent panes are cancelled through the Fleet daemon, never the exec worker");
328
- return agent.activeId ? this.bridge.cancel(agent.activeId) : null;
329
- }
330
- async create(input, authorized = () => true, binding) {
331
- if (binding && !/^[\p{L}\p{N}_-]{1,160}$/u.test(binding.instance))
332
- throw Error("Invalid Fleet instance binding");
333
- if (!input || typeof input !== "object" || Array.isArray(input))
334
- throw new Error("Agent must be an object");
335
- const v = input;
336
- if (Object.keys(v).some(k => !["name", "cwd", "description", "instructions", "sandbox", "cli", "model", "machineId"].includes(k)))
337
- throw new Error("Unknown Windows agent field");
338
- if (v.machineId !== undefined && (typeof v.machineId !== "string" || !/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i.test(v.machineId)))
339
- throw new Error("Choose a paired runtime machine");
340
- const cli = v.cli ?? "codex";
341
- if (!isNativeProviderId(cli))
342
- throw new Error("Choose a supported Windows CLI");
343
- const provider = nativeProvider(cli), model = validateNativeModel(v.model);
344
- if (!provider.supports.execution || !provider.supports.resume)
345
- throw new Error(provider.reason || "This CLI cannot create Windows conversations yet");
346
- if (v.sandbox === "read-only" && !provider.readOnlySupport)
347
- throw new Error(`${provider.name} does not support read-only execution; choose native CLI permissions`);
348
- if (!shortText(v.name, 64) || !v.name.trim() || /[\x00-\x1f\x7f]/.test(v.name))
349
- throw new Error("Enter a Windows agent name (1–64 characters)");
350
- const suppliedCwd = v.cwd === undefined ? "" : typeof v.cwd === "string" ? v.cwd.trim() : null;
351
- if (suppliedCwd === null || suppliedCwd && !validWindowsDirectory(suppliedCwd))
352
- throw new Error("Enter an absolute Windows working directory or leave it empty");
353
- if (v.sandbox !== "read-only" && v.sandbox !== "workspace-write")
354
- throw new Error("Choose a file access mode");
355
- if (!shortText(v.description ?? "", 512) || !shortText(v.instructions ?? "", 8000))
356
- throw new Error("Agent description or instructions are too long");
357
- const available = () => {
358
- const owners = new Set(this.data.agents.map(a => a.fleet_instance ? `instance:${a.fleet_instance}` : `profile:${a.id}`));
359
- if (owners.size >= 16 && (!binding || !owners.has(`instance:${binding.instance}`)))
360
- throw Error("This preview supports at most 16 Windows agents");
361
- if (this.data.agents.some(a => a.name.toLowerCase() === v.name.trim().toLowerCase() && (!binding || a.fleet_instance !== binding.instance)))
362
- throw Error("A Windows agent already uses that name");
363
- };
364
- available();
365
- if (!authorized())
366
- throw new Error("Authorization expired before creating the Windows agent");
367
- const id = randomUUID(), name = v.name.trim();
368
- const machineId = v.machineId;
369
- // Managed workspaces are created by the selected machine; supplied paths are checked again before execution.
370
- const cwd = suppliedCwd || await (machineId ? this.bridge.prepareWorkspace(id, authorized, machineId) : this.bridge.prepareWorkspace(id, authorized));
371
- if (!validWindowsDirectory(cwd))
372
- throw new Error("Could not create a valid Windows workspace");
373
- const agent = { id, name, cli, ...(model ? { model } : {}), ...(machineId ? { machineId } : {}), ...(binding ? { fleet_instance: binding.instance, paused: true } : {}), cwd, sandbox: v.sandbox, description: String(v.description ?? ""), instructions: String(v.instructions ?? ""), createdAt: Date.now(), turns: [] };
374
- this.change(() => {
375
- if (!authorized())
376
- throw new Error("Authorization expired while creating the Windows agent");
377
- // Another creation may have completed while native Windows prepared this workspace.
378
- available();
379
- this.data.agents.push(agent);
380
- });
381
- return structuredClone(agent);
382
- }
383
- send(id, value, authorized, options = {}) {
384
- const agent = this.find(id);
385
- const v = value;
386
- if (!v || typeof v !== "object" || Array.isArray(v) || Object.keys(v).some(k => !["requestId", "prompt"].includes(k))
387
- || typeof v.requestId !== "string" || !idPattern.test(v.requestId) || !shortText(v.prompt, 8000) || !v.prompt.trim())
388
- throw new Error("Invalid Windows agent message");
389
- const requestId = v.requestId, prompt = v.prompt;
390
- const digest = createHash("sha256").update(prompt).digest("hex");
391
- const old = Object.hasOwn(this.data.requests, requestId) ? this.data.requests[requestId] : null;
392
- if (old) {
393
- if (old.agentId !== id || old.digest !== digest)
394
- throw new Error("requestId belongs to a different message");
395
- const turn = this.get(id).turns.find(t => t.id === requestId);
396
- if (!turn)
397
- throw new Error("This message was already sent; its visible history has expired");
398
- return turn;
399
- }
400
- if (agent.paneLaunchId)
401
- throw new Error("This Windows profile is reserved by its persistent pane");
402
- if (agent.activeId)
403
- throw new Error(this.get(id).blocked ? "Check Windows processes and unlock this agent before continuing" : "This Windows agent is still working");
404
- if (agent.paused)
405
- throw new Error("This Windows agent is paused; resume it before sending work");
406
- if (Object.keys(this.data.requests).length >= 4096)
407
- throw new Error("Windows agent preview message limit reached");
408
- this.admitMachineSlot(agent);
409
- this.launching.add(requestId);
410
- try {
411
- this.change(() => {
412
- agent.activeId = requestId;
413
- agent.turns.push({ id: requestId, prompt, output: "", status: "starting", startedAt: Date.now() });
414
- if (agent.turns.length > 10)
415
- agent.turns.shift();
416
- this.data.requests[requestId] = { agentId: id, digest };
417
- });
418
- }
419
- catch (error) {
420
- this.launching.delete(requestId);
421
- throw error;
422
- }
423
- try {
424
- return this.bridge.start({ requestId, cli: agent.cli, ...(agent.model ? { model: agent.model } : {}), cwd: agent.cwd, sandbox: agent.sandbox,
425
- prompt: agent.instructions ? `Agent instructions:\n${agent.instructions}\n\nUser task:\n${prompt}` : prompt }, authorized, {
426
- resumeSessionId: agent.threadId,
427
- ...(agent.machineId ? { machineId: agent.machineId } : {}),
428
- ...(options.mcp ? { mcp: options.mcp } : {}), ...(options.context ? { context: options.context } : {}),
429
- onSettled: task => {
430
- try {
431
- this.change(() => {
432
- const current = this.find(id), turn = current.turns.find(t => t.id === requestId);
433
- Object.assign(turn, { output: task.output, status: task.status, finishedAt: task.finishedAt, error: task.error });
434
- if (task.threadId)
435
- current.threadId = task.threadId;
436
- if (task.status === "completed" && !current.threadId) {
437
- turn.status = "failed";
438
- turn.error = "CLI returned no conversation id. The next message will start a new conversation.";
439
- }
440
- if (task.outcomeConfirmed)
441
- delete current.activeId;
442
- });
443
- }
444
- catch (error) {
445
- options.onSettled?.({ ...task, status: "failed", error: `Could not save Windows conversation: ${error instanceof Error ? error.message : error}` });
446
- throw error;
447
- }
448
- const saved = this.find(id).turns.find(turn => turn.id === requestId);
449
- options.onSettled?.(saved?.status === "failed" ? { ...task, status: "failed", error: saved.error } : { ...task });
450
- },
451
- });
452
- }
453
- catch (e) {
454
- this.change(() => { const current = this.find(id); delete current.activeId; current.turns = current.turns.filter(t => t.id !== requestId); delete this.data.requests[requestId]; });
455
- throw e;
456
- }
457
- finally {
458
- this.launching.delete(requestId);
459
- }
460
- }
461
- recover(id, confirmedStopped) {
462
- const agent = this.find(id);
463
- if (agent.paneLaunchId)
464
- throw new Error("A persistent pane needs its exact owned exit receipt before unlocking");
465
- if (confirmedStopped !== true || !agent.activeId || !this.get(id).blocked)
466
- throw new Error("Confirm the disconnected Windows process has stopped before unlocking");
467
- this.bridge.releaseUnknown(agent.activeId);
468
- this.change(() => {
469
- const turn = agent.turns.find(t => t.id === agent.activeId);
470
- if (turn) {
471
- turn.status = "interrupted";
472
- turn.finishedAt = Date.now();
473
- }
474
- delete agent.activeId;
475
- });
476
- return this.get(id);
477
- }
478
- }
479
- const stores = new WeakMap();
480
- export function windowsAgentsFor(owner, executor) {
481
- let store = stores.get(owner);
482
- if (!store) {
483
- store = new WindowsAgents(owner.dataDir ?? getAgendHome(), executor ?? windowsBridgeFor(owner));
484
- stores.set(owner, store);
485
- }
486
- else if (executor)
487
- store.useExecutor(executor);
488
- return store;
489
- }
490
- //# sourceMappingURL=windows-agents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"windows-agents.js","sourceRoot":"","sources":["../src/windows-agents.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import type { IncomingMessage, ServerResponse } from "node:http";
2
- import type { WebSessionStore } from "./web-session.js";
3
- import { type WindowsCliBridge } from "./windows-cli.js";
4
- import type { FleetWindowsRuntime } from "./fleet-windows-runtime.js";
5
- export interface WindowsCliApiContext {
6
- readonly webToken: string | null;
7
- readonly webSessions?: WebSessionStore | null;
8
- readonly dataDir?: string;
9
- readonly fleetConfig?: {
10
- instances: Record<string, {
11
- runtime?: "wsl" | "windows";
12
- native_agent_id?: string;
13
- }>;
14
- } | null;
15
- nativeInstanceRuntime?(): FleetWindowsRuntime;
16
- deliverToInstance?(name: string, payload: Record<string, unknown>, options?: {
17
- stillCurrent?: () => boolean;
18
- }): Promise<boolean | void>;
19
- emitSseEvent?(event: string, data: unknown): void;
20
- }
21
- /** The ordinary dashboard gate AND an explicit admin-only, non-public boundary. Rechecked after every await. */
22
- export declare function nativeCliAuthorization(req: IncomingMessage, url: URL, ctx: WindowsCliApiContext): boolean;
23
- export declare function handleWindowsCliRequest(req: IncomingMessage, res: ServerResponse, url: URL, ctx: WindowsCliApiContext, bridge?: WindowsCliBridge): boolean;