@songsid/agend 2.3.5-alpha.5 → 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 (976) hide show
  1. package/README.md +0 -2
  2. package/README.zh-TW.md +0 -2
  3. package/THIRD_PARTY_NOTICES.md +0 -68
  4. package/dist/agent-endpoint.d.ts +1 -5
  5. package/dist/agent-endpoint.js +2 -12
  6. package/dist/agent-endpoint.js.map +1 -1
  7. package/dist/agent-file-read.js +1 -1
  8. package/dist/agent-file-read.js.map +1 -1
  9. package/dist/auth-api.d.ts +0 -48
  10. package/dist/auth-api.js +4 -250
  11. package/dist/auth-api.js.map +1 -1
  12. package/dist/authority/session-authorizations.d.ts +2 -0
  13. package/dist/authority/session-authorizations.js +7 -1
  14. package/dist/authority/session-authorizations.js.map +1 -1
  15. package/dist/authority/web-authority.d.ts +2 -12
  16. package/dist/authority/web-authority.js +4 -25
  17. package/dist/authority/web-authority.js.map +1 -1
  18. package/dist/backend/claude-code.d.ts +12 -15
  19. package/dist/backend/claude-code.js +133 -152
  20. package/dist/backend/claude-code.js.map +1 -1
  21. package/dist/backend/codex-footer-hints.d.ts +0 -3
  22. package/dist/backend/codex-footer-hints.js +0 -14
  23. package/dist/backend/codex-footer-hints.js.map +1 -1
  24. package/dist/backend/codex-package.d.ts +2 -5
  25. package/dist/backend/codex-package.js +5 -1
  26. package/dist/backend/codex-package.js.map +1 -1
  27. package/dist/backend/codex-quota-history.js +19 -4
  28. package/dist/backend/codex-quota-history.js.map +1 -1
  29. package/dist/backend/codex.d.ts +115 -142
  30. package/dist/backend/codex.js +1094 -1187
  31. package/dist/backend/codex.js.map +1 -1
  32. package/dist/backend/grok.d.ts +0 -2
  33. package/dist/backend/grok.js +0 -22
  34. package/dist/backend/grok.js.map +1 -1
  35. package/dist/backend/types.d.ts +2 -7
  36. package/dist/backend/types.js.map +1 -1
  37. package/dist/bundled-tmux-guard.d.ts +21 -0
  38. package/dist/bundled-tmux-guard.js +96 -0
  39. package/dist/bundled-tmux-guard.js.map +1 -0
  40. package/dist/channel/ipc-bridge.d.ts +0 -2
  41. package/dist/channel/mcp-tools.js +2 -2
  42. package/dist/channel/mcp-tools.js.map +1 -1
  43. package/dist/classic-channel-manager.d.ts +2 -0
  44. package/dist/classic-channel-manager.js +5 -1
  45. package/dist/classic-channel-manager.js.map +1 -1
  46. package/dist/cli.js +30 -127
  47. package/dist/cli.js.map +1 -1
  48. package/dist/config-validator.js +13 -74
  49. package/dist/config-validator.js.map +1 -1
  50. package/dist/config.js +3 -17
  51. package/dist/config.js.map +1 -1
  52. package/dist/daemon.d.ts +5 -72
  53. package/dist/daemon.js +275 -869
  54. package/dist/daemon.js.map +1 -1
  55. package/dist/delivery-consumed-watch.d.ts +3 -15
  56. package/dist/delivery-consumed-watch.js +1 -23
  57. package/dist/delivery-consumed-watch.js.map +1 -1
  58. package/dist/delivery-outbox.d.ts +0 -5
  59. package/dist/delivery-outbox.js +4 -32
  60. package/dist/delivery-outbox.js.map +1 -1
  61. package/dist/delivery-reconciliation.d.ts +42 -2
  62. package/dist/delivery-reconciliation.js +164 -2
  63. package/dist/delivery-reconciliation.js.map +1 -1
  64. package/dist/doctor.js +9 -20
  65. package/dist/doctor.js.map +1 -1
  66. package/dist/fleet-context.d.ts +2 -2
  67. package/dist/fleet-level-config.d.ts +1 -1
  68. package/dist/fleet-level-config.js +0 -2
  69. package/dist/fleet-level-config.js.map +1 -1
  70. package/dist/fleet-manager.d.ts +9 -498
  71. package/dist/fleet-manager.js +202 -2849
  72. package/dist/fleet-manager.js.map +1 -1
  73. package/dist/general-instance.d.ts +0 -7
  74. package/dist/general-instance.js +3 -20
  75. package/dist/general-instance.js.map +1 -1
  76. package/dist/general-knowledge/skills/concepts/SKILL.md +18 -50
  77. package/dist/general-knowledge/skills/credential-profiles/SKILL.md +2 -5
  78. package/dist/general-knowledge/skills/fleet-health/SKILL.md +2 -2
  79. package/dist/general-knowledge/skills/session-management/SKILL.md +1 -1
  80. package/dist/general-knowledge/skills/tui-effort/SKILL.md +10 -10
  81. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +13 -23
  82. package/dist/instance-config-impact.js +4 -8
  83. package/dist/instance-config-impact.js.map +1 -1
  84. package/dist/instance-lifecycle.d.ts +3 -22
  85. package/dist/instance-lifecycle.js +176 -393
  86. package/dist/instance-lifecycle.js.map +1 -1
  87. package/dist/instructions.d.ts +0 -2
  88. package/dist/instructions.js +0 -6
  89. package/dist/instructions.js.map +1 -1
  90. package/dist/locale.js +2 -147
  91. package/dist/locale.js.map +1 -1
  92. package/dist/login-flows.d.ts +7 -8
  93. package/dist/login-flows.js +1 -24
  94. package/dist/login-flows.js.map +1 -1
  95. package/dist/ls-rows.js +4 -3
  96. package/dist/ls-rows.js.map +1 -1
  97. package/dist/muse-usage-relay.d.ts +2 -0
  98. package/dist/muse-usage-relay.js +5 -3
  99. package/dist/muse-usage-relay.js.map +1 -1
  100. package/dist/needs-you-hub.d.ts +0 -5
  101. package/dist/needs-you-hub.js +2 -18
  102. package/dist/needs-you-hub.js.map +1 -1
  103. package/dist/needs-you.d.ts +2 -45
  104. package/dist/needs-you.js +2 -26
  105. package/dist/needs-you.js.map +1 -1
  106. package/dist/office-share-page.js +3 -3
  107. package/dist/office-share-page.js.map +1 -1
  108. package/dist/office-share.d.ts +0 -11
  109. package/dist/office-share.js +0 -14
  110. package/dist/office-share.js.map +1 -1
  111. package/dist/outbound-handlers.d.ts +2 -30
  112. package/dist/outbound-handlers.js +4 -109
  113. package/dist/outbound-handlers.js.map +1 -1
  114. package/dist/outbound-schemas.d.ts +1 -71
  115. package/dist/outbound-schemas.js +14 -36
  116. package/dist/outbound-schemas.js.map +1 -1
  117. package/dist/pane-quota-history.d.ts +0 -2
  118. package/dist/pane-quota-history.js +0 -20
  119. package/dist/pane-quota-history.js.map +1 -1
  120. package/dist/pause-marker.d.ts +1 -1
  121. package/dist/pause-marker.js +1 -1
  122. package/dist/pause-marker.js.map +1 -1
  123. package/dist/public-web-gateway.js +0 -16
  124. package/dist/public-web-gateway.js.map +1 -1
  125. package/dist/public-web-link.d.ts +0 -11
  126. package/dist/public-web-link.js +0 -13
  127. package/dist/public-web-link.js.map +1 -1
  128. package/dist/quickstart-api.js +5 -9
  129. package/dist/quickstart-api.js.map +1 -1
  130. package/dist/quickstart.d.ts +0 -6
  131. package/dist/quickstart.js +6 -44
  132. package/dist/quickstart.js.map +1 -1
  133. package/dist/quota-notice-config.d.ts +22 -0
  134. package/dist/quota-notice-config.js +41 -0
  135. package/dist/quota-notice-config.js.map +1 -0
  136. package/dist/scheduler/task-board-text.js +1 -1
  137. package/dist/scheduler/task-board-text.js.map +1 -1
  138. package/dist/scheduler/task-board.d.ts +0 -4
  139. package/dist/scheduler/task-board.js +3 -9
  140. package/dist/scheduler/task-board.js.map +1 -1
  141. package/dist/service-installer.d.ts +2 -7
  142. package/dist/service-installer.js +10 -13
  143. package/dist/service-installer.js.map +1 -1
  144. package/dist/settings-api.d.ts +0 -12
  145. package/dist/settings-api.js +7 -487
  146. package/dist/settings-api.js.map +1 -1
  147. package/dist/settings-baseline.d.ts +0 -7
  148. package/dist/settings-baseline.js +1 -3
  149. package/dist/settings-baseline.js.map +1 -1
  150. package/dist/settings-change.js +7 -35
  151. package/dist/settings-change.js.map +1 -1
  152. package/dist/settings-confirmation.d.ts +1 -16
  153. package/dist/settings-confirmation.js +9 -47
  154. package/dist/settings-confirmation.js.map +1 -1
  155. package/dist/settings-effect.d.ts +0 -17
  156. package/dist/settings-effect.js +1 -155
  157. package/dist/settings-effect.js.map +1 -1
  158. package/dist/settings-http-confirmation.d.ts +0 -4
  159. package/dist/settings-http-confirmation.js +3 -43
  160. package/dist/settings-http-confirmation.js.map +1 -1
  161. package/dist/settings-instance-patch.js +1 -1
  162. package/dist/settings-instance-patch.js.map +1 -1
  163. package/dist/settings-request-capability.d.ts +0 -2
  164. package/dist/settings-request-capability.js +0 -4
  165. package/dist/settings-request-capability.js.map +1 -1
  166. package/dist/settings-transaction.d.ts +0 -4
  167. package/dist/settings-transaction.js +0 -9
  168. package/dist/settings-transaction.js.map +1 -1
  169. package/dist/setup-form.js +3 -6
  170. package/dist/setup-form.js.map +1 -1
  171. package/dist/setup-i18n.js +0 -3
  172. package/dist/setup-i18n.js.map +1 -1
  173. package/dist/setup-wizard.js +2 -6
  174. package/dist/setup-wizard.js.map +1 -1
  175. package/dist/task-board-tool.d.ts +1 -2
  176. package/dist/task-board-tool.js +6 -62
  177. package/dist/task-board-tool.js.map +1 -1
  178. package/dist/tmux-control.d.ts +1 -2
  179. package/dist/tmux-control.js +4 -4
  180. package/dist/tmux-control.js.map +1 -1
  181. package/dist/tmux-exec-helper.js +1 -32
  182. package/dist/tmux-exec-helper.js.map +1 -1
  183. package/dist/tmux-manager.d.ts +2 -3
  184. package/dist/tmux-manager.js +36 -45
  185. package/dist/tmux-manager.js.map +1 -1
  186. package/dist/tmux-read.js +3 -4
  187. package/dist/tmux-read.js.map +1 -1
  188. package/dist/tool-permissions.js +1 -2
  189. package/dist/tool-permissions.js.map +1 -1
  190. package/dist/topic-commands.js +5 -9
  191. package/dist/topic-commands.js.map +1 -1
  192. package/dist/transcript-delta-reader.d.ts +1 -1
  193. package/dist/transcript-delta-reader.js +1 -1
  194. package/dist/transcript-delta-reader.js.map +1 -1
  195. package/dist/transcript-monitor.d.ts +0 -3
  196. package/dist/transcript-monitor.js +51 -27
  197. package/dist/transcript-monitor.js.map +1 -1
  198. package/dist/transcript-sources.d.ts +0 -5
  199. package/dist/transcript-sources.js +79 -8
  200. package/dist/transcript-sources.js.map +1 -1
  201. package/dist/types.d.ts +3 -29
  202. package/dist/ui/app.html +8 -1
  203. package/dist/ui/backend-signin.js +21 -39
  204. package/dist/ui/chat-ambient.js +1 -1
  205. package/dist/ui/chat-md-strings.js +9 -3
  206. package/dist/ui/chat-render.js +670 -3
  207. package/dist/ui/chat-store.js +3 -14
  208. package/dist/ui/chat-strings.js +285 -3
  209. package/dist/ui/chat-thread.js +969 -3
  210. package/dist/ui/chat-time.js +80 -3
  211. package/dist/ui/chat-tour.js +1 -1
  212. package/dist/ui/fleet-office-pack.d.ts +0 -9
  213. package/dist/ui/fleet-office-pack.js +4 -76
  214. package/dist/ui/fleet-office-skin.js +5 -23
  215. package/dist/ui/fleet-office-store.js +0 -5
  216. package/dist/ui/fleet-office.js +6 -173
  217. package/dist/ui/fleet-task-card.js +4 -8
  218. package/dist/ui/fleet-task-common.js +2 -2
  219. package/dist/ui/fleet-tasks.js +39 -125
  220. package/dist/ui/html-attachment.js +40 -3
  221. package/dist/ui/office-share-page.js +2 -4
  222. package/dist/ui/panel-chat.js +75 -90
  223. package/dist/ui/panel-details.js +2 -3
  224. package/dist/ui/panel-fleet.js +18 -105
  225. package/dist/ui/panel-log.js +2 -2
  226. package/dist/ui/panel-needs.js +4 -162
  227. package/dist/ui/panel-notices.js +4 -3
  228. package/dist/ui/panel-settings.js +202 -281
  229. package/dist/ui/preview-pages.js +1 -1
  230. package/dist/ui/preview-panel.js +13 -21
  231. package/dist/ui/preview-versions.js +1 -1
  232. package/dist/ui/preview.js +476 -3
  233. package/dist/ui/search-dialog.js +3 -4
  234. package/dist/ui/settings-appearance.js +23 -122
  235. package/dist/ui/settings-catalog.js +10 -37
  236. package/dist/ui/settings-confirm.js +1 -3
  237. package/dist/ui/settings-dialogs.js +20 -48
  238. package/dist/ui/settings-guests.js +14 -27
  239. package/dist/ui/settings-model.js +1 -10
  240. package/dist/ui/settings-quota-notice.js +100 -0
  241. package/dist/ui/settings-registry.js +5 -15
  242. package/dist/ui/settings-strings.js +32 -105
  243. package/dist/ui/settings-web-authority.js +13 -18
  244. package/dist/ui/shared/app-i18n.js +2 -2
  245. package/dist/ui/shared/app-route.js +3 -12
  246. package/dist/ui/shared/app-session.js +2 -6
  247. package/dist/ui/shared/app-shell.js +26 -87
  248. package/dist/ui/shared/app-store.js +2 -3
  249. package/dist/ui/shared/app-stream.js +1 -3
  250. package/dist/ui/shared/app.css +5 -1368
  251. package/dist/ui/shared/app.js +5 -17
  252. package/dist/ui/shared/header-tools.js +9 -9
  253. package/dist/ui/shared/instance-nav.js +7 -34
  254. package/dist/ui/shared/instance-switch.js +3 -4
  255. package/dist/ui/shared/loading.css +37 -0
  256. package/dist/ui/shared/signin.js +6 -211
  257. package/dist/ui/shared/tokens.css +0 -1
  258. package/dist/ui/shared/ui-dialog.js +2 -2
  259. package/dist/ui/shared/ui-menu.js +10 -30
  260. package/dist/ui/shared/ui-states.js +14 -3
  261. package/dist/ui/shared/vendor/vendor.json +2 -19
  262. package/dist/ui/shared/view-strings.js +0 -8
  263. package/dist/ui/signin.html +5 -23
  264. package/dist/unattended-install.js +1 -2
  265. package/dist/unattended-install.js.map +1 -1
  266. package/dist/usage/providers.d.ts +5 -0
  267. package/dist/usage/providers.js +6 -2
  268. package/dist/usage/providers.js.map +1 -1
  269. package/dist/usage/quota-notices.d.ts +38 -0
  270. package/dist/usage/quota-notices.js +160 -0
  271. package/dist/usage/quota-notices.js.map +1 -0
  272. package/dist/usage/usage-api.d.ts +1 -0
  273. package/dist/usage/usage-api.js +16 -0
  274. package/dist/usage/usage-api.js.map +1 -1
  275. package/dist/view-api.js +7 -5
  276. package/dist/view-api.js.map +1 -1
  277. package/dist/web-api.d.ts +2 -80
  278. package/dist/web-api.js +10 -513
  279. package/dist/web-api.js.map +1 -1
  280. package/dist/web-backend-login.d.ts +1 -23
  281. package/dist/web-backend-login.js +17 -11
  282. package/dist/web-backend-login.js.map +1 -1
  283. package/dist/web-chat-history.d.ts +2 -19
  284. package/dist/web-chat-history.js +3 -72
  285. package/dist/web-chat-history.js.map +1 -1
  286. package/dist/web-office-skins.d.ts +0 -9
  287. package/dist/web-office-skins.js +1 -16
  288. package/dist/web-office-skins.js.map +1 -1
  289. package/dist/web-only-fleet.d.ts +0 -20
  290. package/dist/web-only-fleet.js +0 -21
  291. package/dist/web-only-fleet.js.map +1 -1
  292. package/dist/web-session.d.ts +0 -42
  293. package/dist/web-session.js +0 -9
  294. package/dist/web-session.js.map +1 -1
  295. package/dist/web-settings-patch.d.ts +1 -3
  296. package/dist/web-settings-patch.js +1 -4
  297. package/dist/web-settings-patch.js.map +1 -1
  298. package/dist/web-shell-routes.d.ts +1 -10
  299. package/dist/web-shell-routes.js +2 -14
  300. package/dist/web-shell-routes.js.map +1 -1
  301. package/dist/web-terminal.d.ts +30 -4
  302. package/dist/web-terminal.js +6 -9
  303. package/dist/web-terminal.js.map +1 -1
  304. package/dist/yaml-shared-nodes.js +3 -8
  305. package/dist/yaml-shared-nodes.js.map +1 -1
  306. package/launcher/agend-install.cjs +1 -8
  307. package/launcher/postinstall.cjs +2 -27
  308. package/package.json +3 -10
  309. package/templates/launchd.plist.ejs +1 -3
  310. package/dist/accounts-view.d.ts +0 -97
  311. package/dist/accounts-view.js +0 -116
  312. package/dist/accounts-view.js.map +0 -1
  313. package/dist/agent-runtime-api.d.ts +0 -4
  314. package/dist/agent-runtime-api.js +0 -59
  315. package/dist/agent-runtime-api.js.map +0 -1
  316. package/dist/agent-runtime-change.d.ts +0 -76
  317. package/dist/agent-runtime-change.js +0 -114
  318. package/dist/agent-runtime-change.js.map +0 -1
  319. package/dist/agent-workspace.d.ts +0 -93
  320. package/dist/agent-workspace.js +0 -353
  321. package/dist/agent-workspace.js.map +0 -1
  322. package/dist/backend/grok-model-cache.d.ts +0 -7
  323. package/dist/backend/grok-model-cache.js +0 -65
  324. package/dist/backend/grok-model-cache.js.map +0 -1
  325. package/dist/backend/native-pane.d.ts +0 -11
  326. package/dist/backend/native-pane.js +0 -59
  327. package/dist/backend/native-pane.js.map +0 -1
  328. package/dist/build-provenance-cli.d.ts +0 -3
  329. package/dist/build-provenance-cli.js +0 -11
  330. package/dist/build-provenance-cli.js.map +0 -1
  331. package/dist/build-provenance.d.ts +0 -20
  332. package/dist/build-provenance.js +0 -67
  333. package/dist/build-provenance.js.map +0 -1
  334. package/dist/build-provenance.json +0 -1
  335. package/dist/claude-auth-status.d.ts +0 -48
  336. package/dist/claude-auth-status.js +0 -149
  337. package/dist/claude-auth-status.js.map +0 -1
  338. package/dist/fleet-windows-runtime.d.ts +0 -98
  339. package/dist/fleet-windows-runtime.js +0 -467
  340. package/dist/fleet-windows-runtime.js.map +0 -1
  341. package/dist/general-binding.d.ts +0 -85
  342. package/dist/general-binding.js +0 -298
  343. package/dist/general-binding.js.map +0 -1
  344. package/dist/general-host-owner.d.ts +0 -8
  345. package/dist/general-host-owner.js +0 -26
  346. package/dist/general-host-owner.js.map +0 -1
  347. package/dist/general-role.d.ts +0 -5
  348. package/dist/general-role.js +0 -27
  349. package/dist/general-role.js.map +0 -1
  350. package/dist/hub/admission.d.ts +0 -28
  351. package/dist/hub/admission.js +0 -62
  352. package/dist/hub/admission.js.map +0 -1
  353. package/dist/hub/attachments/limits.d.ts +0 -20
  354. package/dist/hub/attachments/limits.js +0 -48
  355. package/dist/hub/attachments/limits.js.map +0 -1
  356. package/dist/hub/attachments/store.d.ts +0 -116
  357. package/dist/hub/attachments/store.js +0 -246
  358. package/dist/hub/attachments/store.js.map +0 -1
  359. package/dist/hub/audit/index.d.ts +0 -62
  360. package/dist/hub/audit/index.js +0 -344
  361. package/dist/hub/audit/index.js.map +0 -1
  362. package/dist/hub/browser-certificate.d.ts +0 -38
  363. package/dist/hub/browser-certificate.js +0 -247
  364. package/dist/hub/browser-certificate.js.map +0 -1
  365. package/dist/hub/buttons-model.d.ts +0 -9
  366. package/dist/hub/buttons-model.js +0 -42
  367. package/dist/hub/buttons-model.js.map +0 -1
  368. package/dist/hub/buttons.d.ts +0 -54
  369. package/dist/hub/buttons.js +0 -346
  370. package/dist/hub/buttons.js.map +0 -1
  371. package/dist/hub/catalog.d.ts +0 -74
  372. package/dist/hub/catalog.js +0 -195
  373. package/dist/hub/catalog.js.map +0 -1
  374. package/dist/hub/client.d.ts +0 -69
  375. package/dist/hub/client.js +0 -300
  376. package/dist/hub/client.js.map +0 -1
  377. package/dist/hub/compose/member.d.ts +0 -139
  378. package/dist/hub/compose/member.js +0 -450
  379. package/dist/hub/compose/member.js.map +0 -1
  380. package/dist/hub/compose/server.d.ts +0 -77
  381. package/dist/hub/compose/server.js +0 -349
  382. package/dist/hub/compose/server.js.map +0 -1
  383. package/dist/hub/compose/views.d.ts +0 -12
  384. package/dist/hub/compose/views.js +0 -4
  385. package/dist/hub/compose/views.js.map +0 -1
  386. package/dist/hub/db.d.ts +0 -56
  387. package/dist/hub/db.js +0 -188
  388. package/dist/hub/db.js.map +0 -1
  389. package/dist/hub/directory/config.d.ts +0 -39
  390. package/dist/hub/directory/config.js +0 -108
  391. package/dist/hub/directory/config.js.map +0 -1
  392. package/dist/hub/directory/directory.d.ts +0 -18
  393. package/dist/hub/directory/directory.js +0 -320
  394. package/dist/hub/directory/directory.js.map +0 -1
  395. package/dist/hub/directory/index.d.ts +0 -7
  396. package/dist/hub/directory/index.js +0 -4
  397. package/dist/hub/directory/index.js.map +0 -1
  398. package/dist/hub/directory/profiles.d.ts +0 -41
  399. package/dist/hub/directory/profiles.js +0 -90
  400. package/dist/hub/directory/profiles.js.map +0 -1
  401. package/dist/hub/directory/types.d.ts +0 -71
  402. package/dist/hub/directory/types.js +0 -14
  403. package/dist/hub/directory/types.js.map +0 -1
  404. package/dist/hub/execution/cli-provider.d.ts +0 -23
  405. package/dist/hub/execution/cli-provider.js +0 -341
  406. package/dist/hub/execution/cli-provider.js.map +0 -1
  407. package/dist/hub/execution/index.d.ts +0 -13
  408. package/dist/hub/execution/index.js +0 -8
  409. package/dist/hub/execution/index.js.map +0 -1
  410. package/dist/hub/execution/model-broker.d.ts +0 -24
  411. package/dist/hub/execution/model-broker.js +0 -208
  412. package/dist/hub/execution/model-broker.js.map +0 -1
  413. package/dist/hub/execution/provider-setup.d.ts +0 -11
  414. package/dist/hub/execution/provider-setup.js +0 -21
  415. package/dist/hub/execution/provider-setup.js.map +0 -1
  416. package/dist/hub/execution/sandbox-runner.d.ts +0 -1
  417. package/dist/hub/execution/sandbox-runner.js +0 -221
  418. package/dist/hub/execution/sandbox-runner.js.map +0 -1
  419. package/dist/hub/execution/service.d.ts +0 -136
  420. package/dist/hub/execution/service.js +0 -459
  421. package/dist/hub/execution/service.js.map +0 -1
  422. package/dist/hub/execution/store.d.ts +0 -61
  423. package/dist/hub/execution/store.js +0 -182
  424. package/dist/hub/execution/store.js.map +0 -1
  425. package/dist/hub/execution/views.d.ts +0 -20
  426. package/dist/hub/execution/views.js +0 -48
  427. package/dist/hub/execution/views.js.map +0 -1
  428. package/dist/hub/http/compose.d.ts +0 -20
  429. package/dist/hub/http/compose.js +0 -518
  430. package/dist/hub/http/compose.js.map +0 -1
  431. package/dist/hub/http/core.d.ts +0 -49
  432. package/dist/hub/http/core.js +0 -124
  433. package/dist/hub/http/core.js.map +0 -1
  434. package/dist/hub/http/deps.d.ts +0 -61
  435. package/dist/hub/http/deps.js +0 -2
  436. package/dist/hub/http/deps.js.map +0 -1
  437. package/dist/hub/http/schema.d.ts +0 -14
  438. package/dist/hub/http/schema.js +0 -80
  439. package/dist/hub/http/schema.js.map +0 -1
  440. package/dist/hub/identity.d.ts +0 -32
  441. package/dist/hub/identity.js +0 -80
  442. package/dist/hub/identity.js.map +0 -1
  443. package/dist/hub/init/browser-certificate.d.ts +0 -9
  444. package/dist/hub/init/browser-certificate.js +0 -78
  445. package/dist/hub/init/browser-certificate.js.map +0 -1
  446. package/dist/hub/init/browser-tls.d.ts +0 -18
  447. package/dist/hub/init/browser-tls.js +0 -62
  448. package/dist/hub/init/browser-tls.js.map +0 -1
  449. package/dist/hub/init/cli.d.ts +0 -3
  450. package/dist/hub/init/cli.js +0 -83
  451. package/dist/hub/init/cli.js.map +0 -1
  452. package/dist/hub/init/directory-certificate.d.ts +0 -24
  453. package/dist/hub/init/directory-certificate.js +0 -222
  454. package/dist/hub/init/directory-certificate.js.map +0 -1
  455. package/dist/hub/init/existing-fleet.d.ts +0 -6
  456. package/dist/hub/init/existing-fleet.js +0 -58
  457. package/dist/hub/init/existing-fleet.js.map +0 -1
  458. package/dist/hub/init/handoff.d.ts +0 -8
  459. package/dist/hub/init/handoff.js +0 -36
  460. package/dist/hub/init/handoff.js.map +0 -1
  461. package/dist/hub/init/identity.d.ts +0 -5
  462. package/dist/hub/init/identity.js +0 -24
  463. package/dist/hub/init/identity.js.map +0 -1
  464. package/dist/hub/init/initializer.d.ts +0 -24
  465. package/dist/hub/init/initializer.js +0 -385
  466. package/dist/hub/init/initializer.js.map +0 -1
  467. package/dist/hub/init/inventory.d.ts +0 -17
  468. package/dist/hub/init/inventory.js +0 -33
  469. package/dist/hub/init/inventory.js.map +0 -1
  470. package/dist/hub/init/layout.d.ts +0 -32
  471. package/dist/hub/init/layout.js +0 -53
  472. package/dist/hub/init/layout.js.map +0 -1
  473. package/dist/hub/init/network.d.ts +0 -18
  474. package/dist/hub/init/network.js +0 -104
  475. package/dist/hub/init/network.js.map +0 -1
  476. package/dist/hub/init/plan-digest.d.ts +0 -5
  477. package/dist/hub/init/plan-digest.js +0 -47
  478. package/dist/hub/init/plan-digest.js.map +0 -1
  479. package/dist/hub/init/prompt.d.ts +0 -26
  480. package/dist/hub/init/prompt.js +0 -110
  481. package/dist/hub/init/prompt.js.map +0 -1
  482. package/dist/hub/init/secret-file.d.ts +0 -1
  483. package/dist/hub/init/secret-file.js +0 -59
  484. package/dist/hub/init/secret-file.js.map +0 -1
  485. package/dist/hub/init/text.d.ts +0 -127
  486. package/dist/hub/init/text.js +0 -247
  487. package/dist/hub/init/text.js.map +0 -1
  488. package/dist/hub/init/types.d.ts +0 -114
  489. package/dist/hub/init/types.js +0 -9
  490. package/dist/hub/init/types.js.map +0 -1
  491. package/dist/hub/init/wizard.d.ts +0 -34
  492. package/dist/hub/init/wizard.js +0 -554
  493. package/dist/hub/init/wizard.js.map +0 -1
  494. package/dist/hub/initialization.d.ts +0 -23
  495. package/dist/hub/initialization.js +0 -28
  496. package/dist/hub/initialization.js.map +0 -1
  497. package/dist/hub/member/agent-mode.d.ts +0 -6
  498. package/dist/hub/member/agent-mode.js +0 -23
  499. package/dist/hub/member/agent-mode.js.map +0 -1
  500. package/dist/hub/member/attachments.d.ts +0 -29
  501. package/dist/hub/member/attachments.js +0 -107
  502. package/dist/hub/member/attachments.js.map +0 -1
  503. package/dist/hub/member/exposure-api.d.ts +0 -87
  504. package/dist/hub/member/exposure-api.js +0 -64
  505. package/dist/hub/member/exposure-api.js.map +0 -1
  506. package/dist/hub/member/exposures.d.ts +0 -123
  507. package/dist/hub/member/exposures.js +0 -282
  508. package/dist/hub/member/exposures.js.map +0 -1
  509. package/dist/hub/member/pairing-api.d.ts +0 -85
  510. package/dist/hub/member/pairing-api.js +0 -385
  511. package/dist/hub/member/pairing-api.js.map +0 -1
  512. package/dist/hub/member/quota.d.ts +0 -20
  513. package/dist/hub/member/quota.js +0 -98
  514. package/dist/hub/member/quota.js.map +0 -1
  515. package/dist/hub/member-journal.d.ts +0 -104
  516. package/dist/hub/member-journal.js +0 -336
  517. package/dist/hub/member-journal.js.map +0 -1
  518. package/dist/hub/member-reconciliation.d.ts +0 -14
  519. package/dist/hub/member-reconciliation.js +0 -97
  520. package/dist/hub/member-reconciliation.js.map +0 -1
  521. package/dist/hub/mount.d.ts +0 -39
  522. package/dist/hub/mount.js +0 -123
  523. package/dist/hub/mount.js.map +0 -1
  524. package/dist/hub/pairing-client.d.ts +0 -17
  525. package/dist/hub/pairing-client.js +0 -108
  526. package/dist/hub/pairing-client.js.map +0 -1
  527. package/dist/hub/pairing.d.ts +0 -65
  528. package/dist/hub/pairing.js +0 -211
  529. package/dist/hub/pairing.js.map +0 -1
  530. package/dist/hub/policy.d.ts +0 -63
  531. package/dist/hub/policy.js +0 -147
  532. package/dist/hub/policy.js.map +0 -1
  533. package/dist/hub/preview.d.ts +0 -32
  534. package/dist/hub/preview.js +0 -64
  535. package/dist/hub/preview.js.map +0 -1
  536. package/dist/hub/private-files.d.ts +0 -5
  537. package/dist/hub/private-files.js +0 -44
  538. package/dist/hub/private-files.js.map +0 -1
  539. package/dist/hub/profile.d.ts +0 -59
  540. package/dist/hub/profile.js +0 -73
  541. package/dist/hub/profile.js.map +0 -1
  542. package/dist/hub/protocol.d.ts +0 -779
  543. package/dist/hub/protocol.js +0 -93
  544. package/dist/hub/protocol.js.map +0 -1
  545. package/dist/hub/quota.d.ts +0 -24
  546. package/dist/hub/quota.js +0 -112
  547. package/dist/hub/quota.js.map +0 -1
  548. package/dist/hub/representative.d.ts +0 -141
  549. package/dist/hub/representative.js +0 -528
  550. package/dist/hub/representative.js.map +0 -1
  551. package/dist/hub/retention.d.ts +0 -17
  552. package/dist/hub/retention.js +0 -45
  553. package/dist/hub/retention.js.map +0 -1
  554. package/dist/hub/rooms.d.ts +0 -120
  555. package/dist/hub/rooms.js +0 -535
  556. package/dist/hub/rooms.js.map +0 -1
  557. package/dist/hub/runtime.d.ts +0 -106
  558. package/dist/hub/runtime.js +0 -298
  559. package/dist/hub/runtime.js.map +0 -1
  560. package/dist/hub/server.d.ts +0 -56
  561. package/dist/hub/server.js +0 -202
  562. package/dist/hub/server.js.map +0 -1
  563. package/dist/hub/service-start.d.ts +0 -17
  564. package/dist/hub/service-start.js +0 -109
  565. package/dist/hub/service-start.js.map +0 -1
  566. package/dist/hub/sessions.d.ts +0 -53
  567. package/dist/hub/sessions.js +0 -196
  568. package/dist/hub/sessions.js.map +0 -1
  569. package/dist/hub/socket.d.ts +0 -24
  570. package/dist/hub/socket.js +0 -79
  571. package/dist/hub/socket.js.map +0 -1
  572. package/dist/hub/store.d.ts +0 -77
  573. package/dist/hub/store.js +0 -88
  574. package/dist/hub/store.js.map +0 -1
  575. package/dist/hub/tls.d.ts +0 -31
  576. package/dist/hub/tls.js +0 -135
  577. package/dist/hub/tls.js.map +0 -1
  578. package/dist/hub/types.d.ts +0 -401
  579. package/dist/hub/types.js +0 -2
  580. package/dist/hub/types.js.map +0 -1
  581. package/dist/hub/validation.d.ts +0 -33
  582. package/dist/hub/validation.js +0 -136
  583. package/dist/hub/validation.js.map +0 -1
  584. package/dist/hub/version-floor.d.ts +0 -10
  585. package/dist/hub/version-floor.js +0 -45
  586. package/dist/hub/version-floor.js.map +0 -1
  587. package/dist/hub-browser-certificate-policy.d.ts +0 -31
  588. package/dist/hub-browser-certificate-policy.js +0 -25
  589. package/dist/hub-browser-certificate-policy.js.map +0 -1
  590. package/dist/hub-membership-settings.d.ts +0 -6
  591. package/dist/hub-membership-settings.js +0 -21
  592. package/dist/hub-membership-settings.js.map +0 -1
  593. package/dist/hub-mode.d.ts +0 -15
  594. package/dist/hub-mode.js +0 -17
  595. package/dist/hub-mode.js.map +0 -1
  596. package/dist/hub-pairing-summary.d.ts +0 -48
  597. package/dist/hub-pairing-summary.js +0 -36
  598. package/dist/hub-pairing-summary.js.map +0 -1
  599. package/dist/hub-report-target.d.ts +0 -32
  600. package/dist/hub-report-target.js +0 -33
  601. package/dist/hub-report-target.js.map +0 -1
  602. package/dist/hub-retention-policy.d.ts +0 -14
  603. package/dist/hub-retention-policy.js +0 -15
  604. package/dist/hub-retention-policy.js.map +0 -1
  605. package/dist/launchd-service-domain.d.ts +0 -5
  606. package/dist/launchd-service-domain.js +0 -21
  607. package/dist/launchd-service-domain.js.map +0 -1
  608. package/dist/local-pane-endpoint.d.ts +0 -46
  609. package/dist/local-pane-endpoint.js +0 -189
  610. package/dist/local-pane-endpoint.js.map +0 -1
  611. package/dist/local-pane-launcher.d.ts +0 -2
  612. package/dist/local-pane-launcher.js +0 -38
  613. package/dist/local-pane-launcher.js.map +0 -1
  614. package/dist/local-pane-stage.ps1 +0 -101
  615. package/dist/model-catalog-defaults.d.ts +0 -14
  616. package/dist/model-catalog-defaults.js +0 -20
  617. package/dist/model-catalog-defaults.js.map +0 -1
  618. package/dist/native-agent-admission.d.ts +0 -7
  619. package/dist/native-agent-admission.js +0 -26
  620. package/dist/native-agent-admission.js.map +0 -1
  621. package/dist/native-daemon-client.d.ts +0 -13
  622. package/dist/native-daemon-client.js +0 -28
  623. package/dist/native-daemon-client.js.map +0 -1
  624. package/dist/native-instance-api.d.ts +0 -13
  625. package/dist/native-instance-api.js +0 -217
  626. package/dist/native-instance-api.js.map +0 -1
  627. package/dist/native-instance-input.d.ts +0 -87
  628. package/dist/native-instance-input.js +0 -59
  629. package/dist/native-instance-input.js.map +0 -1
  630. package/dist/native-instance-registry.d.ts +0 -38
  631. package/dist/native-instance-registry.js +0 -129
  632. package/dist/native-instance-registry.js.map +0 -1
  633. package/dist/native-mcp.d.ts +0 -43
  634. package/dist/native-mcp.js +0 -291
  635. package/dist/native-mcp.js.map +0 -1
  636. package/dist/native-model-catalog.d.ts +0 -5
  637. package/dist/native-model-catalog.js +0 -76
  638. package/dist/native-model-catalog.js.map +0 -1
  639. package/dist/native-pane-crash-budget.d.ts +0 -20
  640. package/dist/native-pane-crash-budget.js +0 -60
  641. package/dist/native-pane-crash-budget.js.map +0 -1
  642. package/dist/native-pane-create.d.ts +0 -26
  643. package/dist/native-pane-create.js +0 -53
  644. package/dist/native-pane-create.js.map +0 -1
  645. package/dist/native-pane-lifecycle.d.ts +0 -73
  646. package/dist/native-pane-lifecycle.js +0 -239
  647. package/dist/native-pane-lifecycle.js.map +0 -1
  648. package/dist/native-pane-manager.d.ts +0 -59
  649. package/dist/native-pane-manager.js +0 -592
  650. package/dist/native-pane-manager.js.map +0 -1
  651. package/dist/native-pane-output-log.d.ts +0 -15
  652. package/dist/native-pane-output-log.js +0 -108
  653. package/dist/native-pane-output-log.js.map +0 -1
  654. package/dist/native-pane-reconciliation.d.ts +0 -4
  655. package/dist/native-pane-reconciliation.js +0 -40
  656. package/dist/native-pane-reconciliation.js.map +0 -1
  657. package/dist/native-pane-recovery.d.ts +0 -12
  658. package/dist/native-pane-recovery.js +0 -10
  659. package/dist/native-pane-recovery.js.map +0 -1
  660. package/dist/native-pane-tools.d.ts +0 -2
  661. package/dist/native-pane-tools.js +0 -14
  662. package/dist/native-pane-tools.js.map +0 -1
  663. package/dist/office-talk.d.ts +0 -26
  664. package/dist/office-talk.js +0 -50
  665. package/dist/office-talk.js.map +0 -1
  666. package/dist/pane-port.d.ts +0 -118
  667. package/dist/pane-port.js +0 -2
  668. package/dist/pane-port.js.map +0 -1
  669. package/dist/runtime-api.d.ts +0 -10
  670. package/dist/runtime-api.js +0 -189
  671. package/dist/runtime-api.js.map +0 -1
  672. package/dist/runtime-assets/@xterm/addon-serialize/LICENSE +0 -21
  673. package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.js +0 -2
  674. package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.mjs +0 -19
  675. package/dist/runtime-assets/@xterm/addon-serialize/package.json +0 -29
  676. package/dist/runtime-assets/@xterm/headless/LICENSE +0 -21
  677. package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.js +0 -2
  678. package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.mjs +0 -46
  679. package/dist/runtime-assets/@xterm/headless/package.json +0 -29
  680. package/dist/runtime-assets/node-pty/CONPTY-LICENSE +0 -21
  681. package/dist/runtime-assets/node-pty/CONPTY-NOTICE.md +0 -503
  682. package/dist/runtime-assets/node-pty/LICENSE +0 -69
  683. package/dist/runtime-assets/node-pty/lib/conpty_console_list_agent.js +0 -16
  684. package/dist/runtime-assets/node-pty/lib/eventEmitter2.js +0 -47
  685. package/dist/runtime-assets/node-pty/lib/index.js +0 -52
  686. package/dist/runtime-assets/node-pty/lib/interfaces.js +0 -7
  687. package/dist/runtime-assets/node-pty/lib/shared/conout.js +0 -11
  688. package/dist/runtime-assets/node-pty/lib/terminal.js +0 -190
  689. package/dist/runtime-assets/node-pty/lib/types.js +0 -7
  690. package/dist/runtime-assets/node-pty/lib/unixTerminal.js +0 -346
  691. package/dist/runtime-assets/node-pty/lib/utils.js +0 -39
  692. package/dist/runtime-assets/node-pty/lib/windowsConoutConnection.js +0 -125
  693. package/dist/runtime-assets/node-pty/lib/windowsPtyAgent.js +0 -320
  694. package/dist/runtime-assets/node-pty/lib/windowsTerminal.js +0 -199
  695. package/dist/runtime-assets/node-pty/lib/worker/conoutSocketWorker.js +0 -22
  696. package/dist/runtime-assets/node-pty/package.json +0 -64
  697. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  698. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  699. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  700. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  701. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  702. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  703. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  704. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  705. package/dist/runtime-build-info.d.ts +0 -9
  706. package/dist/runtime-build-info.js +0 -59
  707. package/dist/runtime-build-info.js.map +0 -1
  708. package/dist/runtime-bundle.d.ts +0 -22
  709. package/dist/runtime-bundle.js +0 -158
  710. package/dist/runtime-bundle.js.map +0 -1
  711. package/dist/runtime-cli.d.ts +0 -14
  712. package/dist/runtime-cli.js +0 -271
  713. package/dist/runtime-cli.js.map +0 -1
  714. package/dist/runtime-client-store.d.ts +0 -75
  715. package/dist/runtime-client-store.js +0 -372
  716. package/dist/runtime-client-store.js.map +0 -1
  717. package/dist/runtime-client.d.ts +0 -174
  718. package/dist/runtime-client.js +0 -1010
  719. package/dist/runtime-client.js.map +0 -1
  720. package/dist/runtime-connection.d.ts +0 -22
  721. package/dist/runtime-connection.js +0 -93
  722. package/dist/runtime-connection.js.map +0 -1
  723. package/dist/runtime-coordinator.d.ts +0 -98
  724. package/dist/runtime-coordinator.js +0 -1089
  725. package/dist/runtime-coordinator.js.map +0 -1
  726. package/dist/runtime-credential-profiles.d.ts +0 -78
  727. package/dist/runtime-credential-profiles.js +0 -280
  728. package/dist/runtime-credential-profiles.js.map +0 -1
  729. package/dist/runtime-general-protocol.d.ts +0 -22
  730. package/dist/runtime-general-protocol.js +0 -57
  731. package/dist/runtime-general-protocol.js.map +0 -1
  732. package/dist/runtime-general-workspace.d.ts +0 -17
  733. package/dist/runtime-general-workspace.js +0 -213
  734. package/dist/runtime-general-workspace.js.map +0 -1
  735. package/dist/runtime-install.d.ts +0 -50
  736. package/dist/runtime-install.js +0 -186
  737. package/dist/runtime-install.js.map +0 -1
  738. package/dist/runtime-pane-assets.d.ts +0 -17
  739. package/dist/runtime-pane-assets.js +0 -23
  740. package/dist/runtime-pane-assets.js.map +0 -1
  741. package/dist/runtime-pane-boot.d.ts +0 -9
  742. package/dist/runtime-pane-boot.js +0 -47
  743. package/dist/runtime-pane-boot.js.map +0 -1
  744. package/dist/runtime-pane-codex-index.d.ts +0 -10
  745. package/dist/runtime-pane-codex-index.js +0 -151
  746. package/dist/runtime-pane-codex-index.js.map +0 -1
  747. package/dist/runtime-pane-config.d.ts +0 -16
  748. package/dist/runtime-pane-config.js +0 -54
  749. package/dist/runtime-pane-config.js.map +0 -1
  750. package/dist/runtime-pane-host.d.ts +0 -63
  751. package/dist/runtime-pane-host.js +0 -467
  752. package/dist/runtime-pane-host.js.map +0 -1
  753. package/dist/runtime-pane-job-owner.d.ts +0 -1
  754. package/dist/runtime-pane-job-owner.js +0 -29
  755. package/dist/runtime-pane-job-owner.js.map +0 -1
  756. package/dist/runtime-pane-job.ps1 +0 -116
  757. package/dist/runtime-pane-link.d.ts +0 -47
  758. package/dist/runtime-pane-link.js +0 -337
  759. package/dist/runtime-pane-link.js.map +0 -1
  760. package/dist/runtime-pane-mcp-protocol.d.ts +0 -32
  761. package/dist/runtime-pane-mcp-protocol.js +0 -39
  762. package/dist/runtime-pane-mcp-protocol.js.map +0 -1
  763. package/dist/runtime-pane-mcp-relay.d.ts +0 -18
  764. package/dist/runtime-pane-mcp-relay.js +0 -80
  765. package/dist/runtime-pane-mcp-relay.js.map +0 -1
  766. package/dist/runtime-pane-mcp.d.ts +0 -55
  767. package/dist/runtime-pane-mcp.js +0 -153
  768. package/dist/runtime-pane-mcp.js.map +0 -1
  769. package/dist/runtime-pane-native.d.ts +0 -75
  770. package/dist/runtime-pane-native.js +0 -114
  771. package/dist/runtime-pane-native.js.map +0 -1
  772. package/dist/runtime-pane-output.d.ts +0 -19
  773. package/dist/runtime-pane-output.js +0 -53
  774. package/dist/runtime-pane-output.js.map +0 -1
  775. package/dist/runtime-pane-port.d.ts +0 -144
  776. package/dist/runtime-pane-port.js +0 -574
  777. package/dist/runtime-pane-port.js.map +0 -1
  778. package/dist/runtime-pane-private.d.ts +0 -14
  779. package/dist/runtime-pane-private.js +0 -51
  780. package/dist/runtime-pane-private.js.map +0 -1
  781. package/dist/runtime-pane-private.ps1 +0 -14
  782. package/dist/runtime-pane-process.d.ts +0 -4
  783. package/dist/runtime-pane-process.js +0 -117
  784. package/dist/runtime-pane-process.js.map +0 -1
  785. package/dist/runtime-pane-protocol.d.ts +0 -182
  786. package/dist/runtime-pane-protocol.js +0 -217
  787. package/dist/runtime-pane-protocol.js.map +0 -1
  788. package/dist/runtime-pane-quota-history.d.ts +0 -6
  789. package/dist/runtime-pane-quota-history.js +0 -44
  790. package/dist/runtime-pane-quota-history.js.map +0 -1
  791. package/dist/runtime-pane-screen.d.ts +0 -19
  792. package/dist/runtime-pane-screen.js +0 -76
  793. package/dist/runtime-pane-screen.js.map +0 -1
  794. package/dist/runtime-pane-service.d.ts +0 -16
  795. package/dist/runtime-pane-service.js +0 -256
  796. package/dist/runtime-pane-service.js.map +0 -1
  797. package/dist/runtime-pane-stdio-protocol.d.ts +0 -54
  798. package/dist/runtime-pane-stdio-protocol.js +0 -94
  799. package/dist/runtime-pane-stdio-protocol.js.map +0 -1
  800. package/dist/runtime-pane-stdio.d.ts +0 -3
  801. package/dist/runtime-pane-stdio.js +0 -123
  802. package/dist/runtime-pane-stdio.js.map +0 -1
  803. package/dist/runtime-pane-store.d.ts +0 -33
  804. package/dist/runtime-pane-store.js +0 -164
  805. package/dist/runtime-pane-store.js.map +0 -1
  806. package/dist/runtime-pane-transcript-protocol.d.ts +0 -43
  807. package/dist/runtime-pane-transcript-protocol.js +0 -58
  808. package/dist/runtime-pane-transcript-protocol.js.map +0 -1
  809. package/dist/runtime-pane-transcript.d.ts +0 -50
  810. package/dist/runtime-pane-transcript.js +0 -666
  811. package/dist/runtime-pane-transcript.js.map +0 -1
  812. package/dist/runtime-pane-worker.d.ts +0 -1
  813. package/dist/runtime-pane-worker.js +0 -167
  814. package/dist/runtime-pane-worker.js.map +0 -1
  815. package/dist/runtime-protocol.d.ts +0 -177
  816. package/dist/runtime-protocol.js +0 -49
  817. package/dist/runtime-protocol.js.map +0 -1
  818. package/dist/runtime-switches.d.ts +0 -79
  819. package/dist/runtime-switches.js +0 -90
  820. package/dist/runtime-switches.js.map +0 -1
  821. package/dist/runtime-transcript-delta-reader.d.ts +0 -23
  822. package/dist/runtime-transcript-delta-reader.js +0 -74
  823. package/dist/runtime-transcript-delta-reader.js.map +0 -1
  824. package/dist/runtime-transcript-source.d.ts +0 -36
  825. package/dist/runtime-transcript-source.js +0 -189
  826. package/dist/runtime-transcript-source.js.map +0 -1
  827. package/dist/runtime-update-activity.d.ts +0 -21
  828. package/dist/runtime-update-activity.js +0 -51
  829. package/dist/runtime-update-activity.js.map +0 -1
  830. package/dist/runtime-update-artifact.d.ts +0 -31
  831. package/dist/runtime-update-artifact.js +0 -252
  832. package/dist/runtime-update-artifact.js.map +0 -1
  833. package/dist/runtime-update-install.d.ts +0 -31
  834. package/dist/runtime-update-install.js +0 -205
  835. package/dist/runtime-update-install.js.map +0 -1
  836. package/dist/runtime-update-journal.d.ts +0 -44
  837. package/dist/runtime-update-journal.js +0 -121
  838. package/dist/runtime-update-journal.js.map +0 -1
  839. package/dist/runtime-update-lock.d.ts +0 -48
  840. package/dist/runtime-update-lock.js +0 -217
  841. package/dist/runtime-update-lock.js.map +0 -1
  842. package/dist/runtime-update-owners.d.ts +0 -29
  843. package/dist/runtime-update-owners.js +0 -240
  844. package/dist/runtime-update-owners.js.map +0 -1
  845. package/dist/runtime-update-protocol.d.ts +0 -15
  846. package/dist/runtime-update-protocol.js +0 -13
  847. package/dist/runtime-update-protocol.js.map +0 -1
  848. package/dist/runtime-windows-bridge.d.ts +0 -42
  849. package/dist/runtime-windows-bridge.js +0 -167
  850. package/dist/runtime-windows-bridge.js.map +0 -1
  851. package/dist/service-drain.d.ts +0 -19
  852. package/dist/service-drain.js +0 -64
  853. package/dist/service-drain.js.map +0 -1
  854. package/dist/settings-route-lifetime.d.ts +0 -14
  855. package/dist/settings-route-lifetime.js +0 -48
  856. package/dist/settings-route-lifetime.js.map +0 -1
  857. package/dist/tmux-binary.d.ts +0 -59
  858. package/dist/tmux-binary.js +0 -200
  859. package/dist/tmux-binary.js.map +0 -1
  860. package/dist/tmux-pane-host.d.ts +0 -26
  861. package/dist/tmux-pane-host.js +0 -25
  862. package/dist/tmux-pane-host.js.map +0 -1
  863. package/dist/transcript-needles.d.ts +0 -42
  864. package/dist/transcript-needles.js +0 -166
  865. package/dist/transcript-needles.js.map +0 -1
  866. package/dist/transcript-records.d.ts +0 -21
  867. package/dist/transcript-records.js +0 -141
  868. package/dist/transcript-records.js.map +0 -1
  869. package/dist/ui/account-identity.js +0 -27
  870. package/dist/ui/accounts-view.js +0 -214
  871. package/dist/ui/agent-proposals.js +0 -90
  872. package/dist/ui/agent-runtime-settings.js +0 -68
  873. package/dist/ui/agent-runtime.js +0 -124
  874. package/dist/ui/cli-picker.js +0 -42
  875. package/dist/ui/credential-profile-select.js +0 -54
  876. package/dist/ui/fleet-office-dialogue.d.ts +0 -30
  877. package/dist/ui/fleet-office-dialogue.js +0 -382
  878. package/dist/ui/fleet-task-menu.js +0 -188
  879. package/dist/ui/fleet-task-stats.js +0 -124
  880. package/dist/ui/fleet-task-view.js +0 -340
  881. package/dist/ui/general-location.js +0 -71
  882. package/dist/ui/hub-agent-copy.js +0 -23
  883. package/dist/ui/hub-button-actions.js +0 -65
  884. package/dist/ui/hub-chat-store.js +0 -158
  885. package/dist/ui/hub-chat-strings.js +0 -77
  886. package/dist/ui/hub-client.js +0 -329
  887. package/dist/ui/hub-owner-strings.js +0 -51
  888. package/dist/ui/hub-provider-guidance.js +0 -31
  889. package/dist/ui/hub-quota.js +0 -85
  890. package/dist/ui/hub-strings.js +0 -162
  891. package/dist/ui/hub-switcher.js +0 -27
  892. package/dist/ui/native-instance-settings.js +0 -44
  893. package/dist/ui/native-pane-recovery.js +0 -45
  894. package/dist/ui/panel-hub.js +0 -619
  895. package/dist/ui/panel-runtimes.js +0 -425
  896. package/dist/ui/panel-windows-agent.js +0 -86
  897. package/dist/ui/panel-windows-cli.js +0 -189
  898. package/dist/ui/provider-marks.js +0 -83
  899. package/dist/ui/runtime-catalog.js +0 -55
  900. package/dist/ui/runtime-commands.d.ts +0 -4
  901. package/dist/ui/runtime-commands.js +0 -59
  902. package/dist/ui/settings-access-strings.js +0 -42
  903. package/dist/ui/settings-agent-filters.js +0 -94
  904. package/dist/ui/settings-build-version.js +0 -35
  905. package/dist/ui/settings-devices.js +0 -253
  906. package/dist/ui/settings-hub-browser-certificate.js +0 -74
  907. package/dist/ui/settings-hub-membership.js +0 -72
  908. package/dist/ui/settings-hub-retention.js +0 -52
  909. package/dist/ui/settings-hub.js +0 -196
  910. package/dist/ui/settings-layout.js +0 -242
  911. package/dist/ui/settings-outside.js +0 -242
  912. package/dist/ui/settings-shared-strings.js +0 -143
  913. package/dist/ui/settings-shared.js +0 -345
  914. package/dist/ui/settings-shortcuts.js +0 -65
  915. package/dist/ui/shared/accounts.css +0 -15
  916. package/dist/ui/shared/chat-composer.js +0 -68
  917. package/dist/ui/shared/chat-md-strings.js +0 -9
  918. package/dist/ui/shared/chat-render.js +0 -682
  919. package/dist/ui/shared/chat-strings.js +0 -333
  920. package/dist/ui/shared/chat-thread.js +0 -969
  921. package/dist/ui/shared/chat-time.js +0 -80
  922. package/dist/ui/shared/html-attachment.js +0 -42
  923. package/dist/ui/shared/hub-chat.css +0 -85
  924. package/dist/ui/shared/hub-owner.css +0 -33
  925. package/dist/ui/shared/hub-quota.css +0 -8
  926. package/dist/ui/shared/hub.css +0 -71
  927. package/dist/ui/shared/machine-name.js +0 -13
  928. package/dist/ui/shared/page-head.js +0 -8
  929. package/dist/ui/shared/preview.js +0 -476
  930. package/dist/ui/shared/qrcode.module.js +0 -2237
  931. package/dist/ui/shared/runtime-install.css +0 -26
  932. package/dist/ui/shared/settings-width.js +0 -31
  933. package/dist/ui/shared/side-rail.js +0 -15
  934. package/dist/ui/shared/task-board.css +0 -95
  935. package/dist/ui/shared/vendor/qrcode-generator.LICENSE +0 -27
  936. package/dist/ui/shared/workspace.css +0 -20
  937. package/dist/ui/windows-agents-nav.js +0 -2
  938. package/dist/ui/windows-cli-catalog.js +0 -108
  939. package/dist/ui/workspace-panel.js +0 -189
  940. package/dist/ui/workspace-strings.js +0 -35
  941. package/dist/web-device-login.d.ts +0 -153
  942. package/dist/web-device-login.js +0 -278
  943. package/dist/web-device-login.js.map +0 -1
  944. package/dist/web-remote-access.d.ts +0 -152
  945. package/dist/web-remote-access.js +0 -368
  946. package/dist/web-remote-access.js.map +0 -1
  947. package/dist/windows-agents.d.ts +0 -127
  948. package/dist/windows-agents.js +0 -491
  949. package/dist/windows-agents.js.map +0 -1
  950. package/dist/windows-cli-api.d.ts +0 -34
  951. package/dist/windows-cli-api.js +0 -185
  952. package/dist/windows-cli-api.js.map +0 -1
  953. package/dist/windows-cli-providers.d.ts +0 -106
  954. package/dist/windows-cli-providers.js +0 -424
  955. package/dist/windows-cli-providers.js.map +0 -1
  956. package/dist/windows-cli-worker.d.ts +0 -83
  957. package/dist/windows-cli-worker.js +0 -570
  958. package/dist/windows-cli-worker.js.map +0 -1
  959. package/dist/windows-cli.d.ts +0 -126
  960. package/dist/windows-cli.js +0 -416
  961. package/dist/windows-cli.js.map +0 -1
  962. package/dist/windows-native-mcp.d.ts +0 -19
  963. package/dist/windows-native-mcp.js +0 -143
  964. package/dist/windows-native-mcp.js.map +0 -1
  965. package/dist/windows-pane-mcp.d.ts +0 -26
  966. package/dist/windows-pane-mcp.js +0 -187
  967. package/dist/windows-pane-mcp.js.map +0 -1
  968. package/launcher/launchd-session-type.cjs +0 -14
  969. package/launcher/tmux-bundle.cjs +0 -247
  970. package/templates/runtime-assets/conpty-LICENSE +0 -21
  971. package/templates/runtime-assets/conpty-NOTICE.md +0 -503
  972. package/templates/runtime-assets/local-pane-stage.ps1 +0 -101
  973. package/templates/runtime-assets/runtime-pane-job.ps1 +0 -116
  974. package/templates/runtime-assets/runtime-pane-private.ps1 +0 -14
  975. package/templates/runtime-assets/xterm-LICENSE +0 -21
  976. package/templates/runtime-install/install.ps1 +0 -270
@@ -1,345 +0,0 @@
1
- // Settings → Shared agent settings (the section id stays `agent-defaults`; its address and every `#g-…` anchor are unchanged):
2
- // the page's parts. The form, its draft and its staging stay in General (panel-settings.js) — ClassicBot's defaults share
3
- // them — and this file draws the fleet's half and does the arithmetic behind it:
4
- // - which agents set a field themselves (the "N/M in use" pill and its list), from fleet.yaml's instances — item by item for
5
- // a field of several items (the dashboard's features), so an agent that sets only some of them is "partly custom";
6
- // - what saving an edited field costs, in words, from the schema (`impactOf`), shown under the field only once it is
7
- // edited and gone again when it is put back — never as a badge that is always there. The agents are fleet.yaml's
8
- // instances; the ClassicBot rooms that follow the value are counted beside them (the fleet restarts those too);
9
- // - the same costs added up for the Save bar.
10
- import { html, useEffect, useRef, useState } from "/assets/app-html.js";
11
- import { t } from "/assets/app-i18n.js";
12
- import { settingsPath } from "/assets/app-route.js";
13
- import "./settings-strings.js";
14
- import "./settings-shared-strings.js"; // the words this page added: a tab that already ran an older settings-strings.js has none of them (#3087)
15
- import {
16
- AGENT_MODES, DASHBOARD_FEATURES, LOG_LEVELS, SEPARATE_FEATURE_KEYS, TOOL_PROGRESS, TOOL_SETS, VISIBILITY_MODES,
17
- channelsOf, chLabel, hasOwn, impactOf, localeOptions, sameValue, shortName, toolSetDefault,
18
- } from "./settings-model.js";
19
- import { BackendSelect, ChipList, DefaultMark, Drawer, Feedback, InEffect, ModelSelect, Select } from "./settings-dialogs.js";
20
-
21
- const tn = (k, ...v) => t(`settings.${k}`, ...v);
22
- const label = (kind, v) => { const key = `opt_${kind}_${v}`; const s = tn(key); return s === key ? v : s; }; // t() hands back the key for a string it lacks
23
-
24
- /** Option objects for a fixed list, each with its plain-words label (settings.opt_<kind>_<value>); an unknown value stays as it is. */
25
- export const plainOptions = (kind, values) => values.map((v) => ({ value: v, label: label(kind, v) }));
26
-
27
- // ── Which agents set a field themselves ──
28
- /** The agents of a fleet's configuration: [name, its own settings]. General and every other instance count — each one inherits like any other. */
29
- export const agentsOf = (fleet) => Object.entries((fleet && fleet.instances) || {});
30
- /** A key with a value: `null` / `undefined` is the same as no key (the agent follows the default). */
31
- const given = (obj, key) => hasOwn(obj, key) && obj[key] != null;
32
- /**
33
- * An agent has set one dashboard feature itself: its own key beside `dashboard` (office, office packs), or the feature under
34
- * `dashboard` (where the older files kept all five), with a value. The fleet merges the features one by one
35
- * (dashboard-permissions.ts dashboardFeaturesOffIn), so setting one leaves the others following the defaults.
36
- */
37
- export function ownsDashboardFeature(inst, feature) {
38
- const key = hasOwn(SEPARATE_FEATURE_KEYS, feature) ? SEPARATE_FEATURE_KEYS[feature] : null;
39
- const dash = inst && inst.dashboard;
40
- return (!!key && given(inst, key)) || (!!dash && typeof dash === "object" && !Array.isArray(dash) && given(dash, feature));
41
- }
42
- /** An agent's own `a` or `a.b`, with a value (the hang detector's two settings are merged one by one: setting the timeout leaves `enabled` inherited). */
43
- const ownsPath = (inst, path) => {
44
- const [a, b] = path.split(".");
45
- return b ? given((inst && inst[a]) || {}, b) : given(inst, a);
46
- };
47
-
48
- /**
49
- * One entry per field the page draws, by the form key it is called in General's form:
50
- * `keys` — the form keys it edits (it is "edited" while one differs from what is saved);
51
- * `path` — its entry in the impact schema (what saving it costs);
52
- * `own` — the agent setting that overrides it (an agent that has it is not affected by an edit here); none: agents cannot;
53
- * `parts` — a field of several settings that agents override one by one: each part's keys and own settings (an edit to one part
54
- * reaches the agents that do not set that part, however the other parts stand); `label` names a part where it is listed;
55
- * `room` — the ClassicBot setting that follows this one: a room restarts for an edit here when neither the room nor
56
- * ClassicBot's defaults set it (ClassicChannelManager's own → defaults → fleet chain), only for the settings the fleet's
57
- * reconciliation compares (backend, model, auto-pause: `Classic cold config changed`; the rest is hot or read at the next start);
58
- * `agentGroup` — it is one of the "Shared agent settings" (individual agents may override it), else of "System & channels";
59
- * `confirm` — saving it asks for someone's OK first.
60
- */
61
- export const FIELDS = Object.freeze({
62
- backend: { keys: ["backend"], path: "defaults.backend", own: ["backend"], room: "backend", agentGroup: true },
63
- model: { keys: ["model"], path: "defaults.model", own: ["model"], room: "model", agentGroup: true },
64
- auto: { keys: ["auto"], path: "defaults.auto_pause_after", own: ["auto_pause_after"], room: "auto_pause_after", agentGroup: true },
65
- tool_progress: { keys: ["tool_progress"], path: "defaults.tool_progress", own: ["tool_progress"], agentGroup: true },
66
- visibility: { keys: ["visibility"], path: "defaults.cross_instance_visibility", own: ["cross_instance_visibility"], agentGroup: true },
67
- reply: { keys: ["reply"], path: "defaults.reply_completion_guard", own: ["reply_completion_guard"], agentGroup: true },
68
- replyTriggers: { keys: ["replyTriggers"], path: "defaults.reply_triggers", own: ["reply_triggers"], agentGroup: true },
69
- tool_set: { keys: ["tool_set"], path: "defaults.tool_set", own: ["tool_set"], agentGroup: true },
70
- agent_mode: { keys: ["agent_mode"], path: "defaults.agent_mode", own: ["agent_mode"], agentGroup: true },
71
- log_level: { keys: ["log_level"], path: "defaults.log_level", own: ["log_level"], agentGroup: true },
72
- // One part per feature: an agent that sets the office switch still follows the others (a change to the appearance reaches it).
73
- dash: { keys: DASHBOARD_FEATURES.map((k) => `dash_${k}`), path: "defaults.dashboard", agentGroup: true,
74
- parts: DASHBOARD_FEATURES.map((k) => ({ keys: [`dash_${k}`], owns: (inst) => ownsDashboardFeature(inst, k), label: `dashboardShort_${k}` })) },
75
- locale: { keys: ["locale"], path: "defaults.locale" },
76
- tips: { keys: ["tips"], path: "defaults.tips" },
77
- roots: { keys: ["roots"], path: "fleet.project_roots", confirm: "noteConfirmAdmin" },
78
- hang: { keys: ["hangOn", "hang"], path: "defaults.hang_detector",
79
- parts: [{ keys: ["hangOn"], own: ["hang_detector.enabled"] }, { keys: ["hang"], own: ["hang_detector.timeout_minutes"] }] },
80
- concurrency: { keys: ["concurrency"], path: "fleet.spawn_concurrency" },
81
- stagger: { keys: ["stagger"], path: "fleet.spawn_stagger_ms" },
82
- });
83
- /** How many fields the Advanced drawer holds (the title says so). */
84
- export const ADVANCED_COUNT = 10;
85
-
86
- /** The parts of a field that agents override one by one (one part: the field itself). */
87
- const partsOf = (spec) => spec.parts || [{ keys: spec.keys, own: spec.own, owns: spec.owns }];
88
- const ownsPart = (part, inst) => (part.owns ? part.owns(inst) : (part.own || []).some((path) => ownsPath(inst, path)));
89
- /**
90
- * The agents that set a field themselves, and how many there are. Fields agents cannot override have none. `parts`: only
91
- * these parts count — an agent is left out of an edit only when it sets every one of them (default: all of the field's).
92
- * A field of several parts also says who sets only some of them (`partial`: they follow this page for the rest) and who
93
- * sets each part (`byPart`, for the list under the pill).
94
- */
95
- export function usageOf(fleet, field, parts = partsOf(FIELDS[field])) {
96
- const agents = agentsOf(fleet);
97
- const who = (name, inst) => ({ name, label: shortName(name, inst) });
98
- const owners = agents.filter(([, inst]) => parts.every((part) => ownsPart(part, inst))).map(([name, inst]) => who(name, inst));
99
- const partial = parts.length > 1 ? agents.filter(([, inst]) => parts.some((part) => ownsPart(part, inst)) && !parts.every((part) => ownsPart(part, inst))).map(([name, inst]) => who(name, inst)) : [];
100
- const byPart = parts.length > 1 ? parts.map((part) => ({ label: part.label, owners: agents.filter(([, inst]) => ownsPart(part, inst)).map(([name, inst]) => who(name, inst)) })) : [];
101
- return { total: agents.length, owners, partial, byPart, names: agents.map(([name]) => name) };
102
- }
103
- // ── Which ClassicBot rooms follow a field ──
104
- /** The ClassicBot rooms of classicBot.yaml: [key, room]. */
105
- export const roomsOf = (classic) => Object.entries((classic && classic.channels) || {}).filter(([, room]) => room && typeof room === "object");
106
- /** ClassicChannelManager reads a room's backend and model with `||` (an empty value follows), its auto-pause with `??`. */
107
- const roomGiven = (obj, key) => (key === "auto_pause_after" ? obj != null && obj[key] != null : !!obj && !!obj[key]);
108
- /**
109
- * The rooms that take this page's value for `field`: those that neither set it themselves nor have it in ClassicBot's
110
- * defaults (room → ClassicBot defaults → the fleet's: ClassicChannelManager.getBackend / getModel / getAutoPauseAfter).
111
- * Fields the fleet's reconciliation leaves alone (it compares only backend, model and auto-pause) have none.
112
- */
113
- export function roomsFollowing(classic, field) {
114
- const key = FIELDS[field].room;
115
- if (!key) return [];
116
- const defaults = (classic && classic.defaults) || {};
117
- if (roomGiven(defaults, key)) return [];
118
- return roomsOf(classic).filter(([, room]) => !roomGiven(room, key)).map(([k, room]) => ({ key: k, instanceName: room.instanceName }));
119
- }
120
- const NAMES_SHOWN = 5;
121
- /** A list of agent names for a sentence: the first few, then how many more. */
122
- export const nameList = (names) => (names.length > NAMES_SHOWN ? `${names.slice(0, NAMES_SHOWN).join(", ")} +${names.length - NAMES_SHOWN}` : names.join(", "));
123
-
124
- // ── What an edit costs ──
125
- const edited = (f, base, field) => FIELDS[field].keys.some((k) => !sameValue(f[k], base[k]));
126
- /**
127
- * What saving the edited fields costs, as notes: `fields` — per field, its notes (`{ text }` each); `bar` — the same added
128
- * up for the Save bar, one line per kind of cost (an agent restarted by two fields counted once), for the write of the
129
- * defaults (`bar.defaults`) and for the project folders' own (`bar.roots`). A field that applies at once has no note;
130
- * an invalid one has none yet. Besides the agents of fleet.yaml, the ClassicBot rooms that follow the value (`classic`: what
131
- * classicBot.yaml says; `classicStatus(instanceName)`: a room's status) are named — the fleet restarts a running one too.
132
- */
133
- export function sharedNotes({ schema, fleet, classic, classicStatus = () => "stopped", live = {}, fleetUp = true, f, base, errors = {} }) {
134
- const fields = {}, hit = new Set(), hitRooms = new Map(), bar = { defaults: [], roots: [] };
135
- // Whether an agent restarts when a setting that is not hot changes: one that is running, and one that crashed (the fleet
136
- // restarts a crash-looping daemon too); a paused or stopped one just takes the value at its next start. When the page
137
- // could not read the agents' state (the fleet did not answer, or listed none) it cannot tell: every agent counts as restarting.
138
- const known = fleetUp !== false && !!live && Object.keys(live).length > 0;
139
- // A Windows agent that runs one command at a time (not a persistent terminal) has no process of its own: it takes a changed default at its next run.
140
- const oneShot = (name) => { const inst = fleet && fleet.instances && fleet.instances[name]; return !!inst && inst.runtime === "windows" && inst.native_adapter !== "pane"; };
141
- const restarts = (name) => !oneShot(name) && (!known || (!!live[name] && (live[name].status === "running" || live[name].status === "crashed")));
142
- // A ClassicBot room restarts on the same terms (the reconciliation restarts the ones that have a daemon). A room of the older
143
- // classicBot.yaml format (its key is the channel id) has no `instanceName` in the file — the manager makes one up when it loads —
144
- // so its state cannot be looked up here: like an unreadable state, it counts as restarting.
145
- const roomRestarts = (room) => !known || !room.instanceName || ["running", "crashed"].includes(classicStatus(room.instanceName));
146
- const roomsText = (rooms, kind) => { const n = rooms.filter(roomRestarts).length; return n === rooms.length ? tn(`${kind}RestartRooms`, rooms.length) : n ? tn(`${kind}ApplyRooms`, rooms.length, n) : tn(`${kind}IdleRooms`, rooms.length); };
147
- let fleetRestart = false;
148
- const add = (list, text) => { if (!list.includes(text)) list.push(text); };
149
- for (const [field, spec] of Object.entries(FIELDS)) {
150
- if (!edited(f, base, field) || errors[field]) continue;
151
- const notes = [], kind = impactOf(schema, spec.path);
152
- // The ClassicBot rooms that follow it. A room has its own idea of "hot" (a ClassicBot channel takes tool progress and the reply
153
- // guard at once, nothing else): auto-pause applies at once to an agent but restarts a room, so this does not depend on `kind`.
154
- // A fleet restart (`kind` "fleet") restarts them with everything else.
155
- const rooms = kind !== "fleet" && spec.room && impactOf(schema, `classic.${spec.room}`) === "instance" ? roomsFollowing(classic, field) : [];
156
- for (const room of rooms) hitRooms.set(room.key, room);
157
- if (kind === "fleet") { notes.push({ text: tn("noteRestartFleet") }); fleetRestart = true; }
158
- else if (kind === "instance") {
159
- // Only the parts that were edited count: an agent is left alone when it sets all of them itself.
160
- const u = usageOf(fleet, field, partsOf(spec).filter((part) => part.keys.some((k) => !sameValue(f[k], base[k]))));
161
- const skipped = u.owners.map((o) => o.label), skippedNames = new Set(u.owners.map((o) => o.name));
162
- const reached = u.names.filter((n) => !skippedNames.has(n));
163
- for (const n of reached) hit.add(n);
164
- // Every agent without its own value takes the new one (a stopped agent at its next start), but only a running one restarts.
165
- const restarting = reached.filter(restarts).length;
166
- const main = restarting === reached.length ? tn("noteRestartAgents", reached.length)
167
- : restarting ? tn("noteApplyAgents", reached.length, restarting) : tn("noteApplyIdle", reached.length);
168
- // With only rooms, "No agents yet — agents you create later start with this value" would read as if nothing is affected.
169
- if (!(u.total === 0 && rooms.length)) notes.push({ text: u.total === 0 ? tn("noteNoAgents") : !reached.length ? tn("noteAllOverride") : `${main}${skipped.length ? tn("noteSkip", nameList(skipped)) : ""}` });
170
- }
171
- if (rooms.length) notes.push({ text: roomsText(rooms, "note") });
172
- if (spec.confirm) { notes.push({ text: tn(spec.confirm) }); add(field === "roots" ? bar.roots : bar.defaults, tn(spec.confirm)); }
173
- // Ticking a dashboard feature on is confirmed first (unticking applies at once): only a feature newly ticked asks.
174
- if (field === "dash" && DASHBOARD_FEATURES.some((k) => f[`dash_${k}`] === true && base[`dash_${k}`] !== true)) {
175
- notes.push({ text: tn("noteConfirmTick") }); add(bar.defaults, tn("noteConfirmTick"));
176
- }
177
- if (notes.length) fields[field] = notes;
178
- }
179
- const lead = [];
180
- if (hit.size) {
181
- const restarting = [...hit].filter(restarts).length;
182
- lead.push(restarting === hit.size ? tn("barRestartAgents", hit.size) : restarting ? tn("barApplyAgents", hit.size, restarting) : tn("barApplyIdle", hit.size));
183
- }
184
- if (hitRooms.size) lead.push(roomsText([...hitRooms.values()], "bar"));
185
- bar.defaults.unshift(...lead);
186
- if (fleetRestart) add(bar.defaults, tn("barRestartFleet"));
187
- return { fields, bar };
188
- }
189
-
190
- // ── Pieces ──
191
- let tipSeq = 0;
192
- const TIP_WIDTH = 290;
193
- /**
194
- * Words for a hover, a focus or a tap, on a small button. They sit under the button (over the line above it when the
195
- * button is low in the window), pushed sideways to stay inside the window, and are always in the page for a screen reader
196
- * (the button describes itself by them).
197
- */
198
- export function Tip({ text, cls = "", ariaLabel, children }) {
199
- const [at, setAt] = useState(null);
200
- const [pinned, setPinned] = useState(false);
201
- const idRef = useRef(null);
202
- const btn = useRef(null);
203
- const body = useRef(null);
204
- if (!idRef.current) idRef.current = `s-tip-${++tipSeq}`;
205
- const show = () => {
206
- const r = btn.current && btn.current.getBoundingClientRect ? btn.current.getBoundingClientRect() : null;
207
- const w = (typeof window !== "undefined" && window.innerWidth) || 0, hgt = (typeof window !== "undefined" && window.innerHeight) || 0;
208
- // How far sideways it must move to stay inside the window (a custom property: the page allows no style attribute).
209
- const dx = r && w ? Math.max(8 - r.left, Math.min(0, w - TIP_WIDTH - 12 - r.left)) : 0;
210
- if (body.current && body.current.style) body.current.style.setProperty("--tip-dx", `${Math.round(dx)}px`);
211
- setAt({ above: !!(r && hgt && r.bottom + 150 > hgt) });
212
- };
213
- const hide = () => { setAt(null); setPinned(false); };
214
- useEffect(() => {
215
- if (!at) return undefined;
216
- const esc = (e) => { if (e.key === "Escape") hide(); };
217
- const away = (e) => { if (btn.current && !btn.current.contains(e.target)) hide(); };
218
- document.addEventListener("keydown", esc); document.addEventListener("click", away);
219
- return () => { document.removeEventListener("keydown", esc); document.removeEventListener("click", away); };
220
- }, [!!at]);
221
- return html`<span class=${`s-tipwrap ${cls}`.trim()}><button type="button" class="s-tipbtn" ref=${btn} aria-label=${ariaLabel} aria-describedby=${idRef.current}
222
- onMouseEnter=${show} onMouseLeave=${() => { if (!pinned) hide(); }} onFocus=${show} onBlur=${hide}
223
- onClick=${(e) => { e.stopPropagation(); if (pinned) hide(); else { show(); setPinned(true); } }}>${children}</button>
224
- <span id=${idRef.current} ref=${body} class=${`s-tipbody${at && at.above ? " above" : ""}`} role="tooltip" hidden=${!at}>${text}</span></span>`;
225
- }
226
- /** The ⓘ beside a label: what the field is for, when it matters, what its default means. */
227
- export function InfoTip({ text, name }) {
228
- return html`<${Tip} text=${text} cls="s-i" ariaLabel=${tn("tipLabel", name)}>i</${Tip}>`;
229
- }
230
- /**
231
- * "6/7 in use · artist custom" at a field's right: how many agents use this page's value; hover lists the ones that set their own.
232
- * A field of several items (the dashboard's features) says "partly custom" for an agent that sets only some of them — it still
233
- * follows this page for the rest — and the hover lists who sets which item. The count is agents only: the ClassicBot rooms that
234
- * follow the value are named in the hover (`rooms`), not counted.
235
- */
236
- export function UsageBadge({ usage }) {
237
- if (!usage || !usage.total) return null;
238
- const { total, owners, partial = [], byPart = [], rooms = 0 } = usage;
239
- const who = (list, key) => tn(key, list.length === 1 ? list[0].label : tn("usageMany", list.length));
240
- const text = [tn("usageCount", total - owners.length, total), owners.length ? who(owners, "usageOwn") : "", partial.length ? who(partial, "usagePartly") : ""].filter(Boolean).join(" · ");
241
- const parts = byPart.filter((p) => p.owners.length).map((p) => `${tn(p.label)}: ${nameList(p.owners.map((o) => o.label))}`);
242
- const tip = parts.length ? tn("usageTipParts", parts.join("; "))
243
- : owners.length ? tn("usageTipOwners", nameList(owners.map((o) => o.label))) : tn("usageTipAll");
244
- return html`<${Tip} text=${rooms ? `${tip} ${tn("usageRooms", rooms)}` : tip} cls="s-use" ariaLabel=${text}>${text}</${Tip}>`;
245
- }
246
- /** A field's header: its name, where it applies ("this host"), "default" when nobody set it, the ⓘ and the usage pill. */
247
- export function FieldHead({ id, text, tip, mark, host, usage, bare }) {
248
- return html`<div class="s-lab">${bare ? html`<span id=${`${id}-l`} class="s-lab-text">${text}</span>` : html`<label for=${id}>${text}</label>`}
249
- ${host ? html`<span class="tag s-host">${tn("hostTag")}</span>` : null}${mark}<${InfoTip} text=${tip} name=${text} />${usage ? html`<${UsageBadge} usage=${usage} />` : null}</div>`;
250
- }
251
- /** A segmented choice (radio group underneath: arrow keys move through it). */
252
- export function Seg({ id, value, options, onChange, labelledBy }) {
253
- return html`<div id=${id} class="s-seg" role="radiogroup" aria-labelledby=${labelledBy}>${options.map((o) => html`<label key=${o.value} class=${`s-seg-opt${o.value === value ? " on" : ""}`}>
254
- <input type="radio" name=${id} value=${o.value} checked=${o.value === value} onChange=${() => onChange(o.value)} /><span>${o.label}</span></label>`)}</div>`;
255
- }
256
- /** An on/off switch (a checkbox with the role of one: the same events, the same focus), with its state in words. */
257
- export function Switch({ id, checked, onChange, name }) {
258
- return html`<label class="s-switch"><input id=${id} type="checkbox" role="switch" checked=${checked} aria-label=${name} onChange=${(e) => onChange(e.target.checked)} />
259
- <span class="s-track" aria-hidden="true"></span><span class="s-switch-text">${tn(checked ? "switchOn" : "switchOff")}</span></label>`;
260
- }
261
- /** What an edit costs, under its field — only while the field is edited. */
262
- export function Notes({ notes }) {
263
- return notes && notes.length ? html`<div class="s-note" role="status">${notes.map((n, i) => html`<p key=${i}>${n.text}</p>`)}</div>` : null;
264
- }
265
- /** A quiet line of explanation (grey — never a warning). */
266
- export function Info({ children }) {
267
- return html`<p class="s-info"><span aria-hidden="true">ⓘ</span> <span>${children}</span></p>`;
268
- }
269
-
270
- // ── The page ──
271
- /**
272
- * The fleet's half of General: two cards — what individual agents may override, and what the whole fleet shares — each
273
- * with its rarer settings under Advanced. `form` is General's: `f` (the draft), `set`, `base` (what is saved), `errors`,
274
- * `warnings`, `unset` (what fleet.yaml leaves out), `fc` (a row's class), and `notes` (sharedNotes).
275
- */
276
- export function SharedAgentSettings({ ctx, form }) {
277
- const { f, set, base, errors, warnings, unset, fc, notes, replyNote } = form;
278
- const fleet = ctx.fleet;
279
- const primary = channelsOf(fleet)[0];
280
- const defaultTip = tn("defaultMarkTip");
281
- const mark = (...ks) => (ks.every((k) => unset[k] && sameValue(f[k], base[k])) ? html`<${DefaultMark} tip=${defaultTip} />` : null);
282
- const u = (field) => ({ ...usageOf(fleet, field), rooms: roomsFollowing(ctx.classic, field).length });
283
- const note = (field) => html`<${Notes} notes=${notes.fields[field]} />`;
284
- const head = (field, id, text, tip, extra = {}) => html`<${FieldHead} id=${id} text=${text} tip=${tip} usage=${FIELDS[field].agentGroup ? u(field) : null} ...${extra} />`;
285
- const seg = (kind, values) => values.map((v) => ({ value: v, label: tn(`seg_${kind}_${v}`) }));
286
- const toolSetUnset = { value: "", label: tn("toolSetUnset", toolSetDefault({}, {}), toolSetDefault({}, { general_topic: true })) };
287
-
288
- const agentMain = html`
289
- <div class=${fc("field", "backend")}>${head("backend", "g-be", tn("defaultBackend"), tn("tipBackend"), { mark: mark("backend"), host: true })}
290
- <${BackendSelect} id="g-be" value=${f.backend} onChange=${set("backend")} hostOnly /><${Info}>${tn("backendInfo")} <a href=${settingsPath("runtimes")}>${tn("backendInfoLink")}<span aria-hidden="true"> →</span></a></${Info}>${note("backend")}</div>
291
- <div class=${fc("field", "model")}>${head("model", "g-model", tn("defaultModel"), tn("tipModel"), { mark: mark("model") })}
292
- <${ModelSelect} id="g-model" value=${f.model} onChange=${set("model")} backend=${f.backend || "claude-code"} inherit=${tn("modelCliDefault")} />${note("model")}</div>
293
- <div class=${fc("field", "auto")}>${head("auto", "g-auto", `${tn("autoPause")} (${tn("minutes")})`, tn("tipAutoPause"), { mark: mark("auto") })}
294
- <input id="g-auto" type="number" min="0" step="1" class=${errors.auto ? "invalid" : ""} value=${f.auto} onInput=${(e) => set("auto")(e.target.value)} /><${Feedback} error=${errors.auto} />${note("auto")}</div>
295
- <div class=${fc("field", "tool_progress")}>${head("tool_progress", "g-tp", tn("toolProgress"), tn("tipToolProgress"), { mark: mark("tool_progress"), bare: true })}
296
- <${Seg} id="g-tp" labelledBy="g-tp-l" value=${f.tool_progress} onChange=${set("tool_progress")} options=${seg("tool_progress", TOOL_PROGRESS)} />${note("tool_progress")}</div>`;
297
-
298
- const systemMain = html`
299
- <div class=${fc("field", "locale")}>${head("locale", "g-locale", tn("language"), tn("tipLocale"), { mark: mark("locale") })}
300
- <${Select} id="g-locale" value=${f.locale} onChange=${set("locale")} options=${localeOptions(f.locale).map((o) => (o.auto ? { value: "", label: tn("localeAuto") } : o))} />${note("locale")}</div>
301
- <div class=${fc("field", "tips")}>${head("tips", "g-tips", tn("dailyTips"), tn("dailyTipsHint"), { mark: mark("tips") })}
302
- <${Switch} id="g-tips" name=${tn("dailyTips")} checked=${f.tips === "true"} onChange=${(on) => set("tips")(String(on))} />${note("tips")}</div>
303
- <div id="project-roots" class="s-wide"><div id="g-roots" class=${fc("field", "roots")}>${head("roots", "g-roots-c", tn("projectRootsTitle"), tn("projectRootsHint"), { bare: true })}
304
- <${ChipList} items=${f.roots} onChange=${set("roots")} placeholder="/path/to/projects" label=${tn("projectRootsTitle")} />
305
- ${f.roots.length ? null : html`<${InEffect} text=${tn("projectRootsAnywhere")} tip=${defaultTip} />`}${note("roots")}</div></div>`;
306
-
307
- const agentAdvanced = html`
308
- <div class=${fc("field", "visibility")}>${head("visibility", "g-vis", tn("crossInstanceVisibility"), tn("crossInstanceVisibilityHint"), { mark: mark("visibility"), bare: true })}
309
- <${Seg} id="g-vis" labelledBy="g-vis-l" value=${f.visibility} onChange=${set("visibility")} options=${seg("visibility", VISIBILITY_MODES)} />${note("visibility")}</div>
310
- <div class=${fc("field", "reply")}>${head("reply", "g-reply", tn("replyCompletionGuard"), tn("tipReplyGuard"), { mark: mark("reply") })}
311
- <${Switch} id="g-reply" name=${tn("replyCompletionGuard")} checked=${f.reply} onChange=${set("reply")} /><${Info}>${replyNote}</${Info}>${note("reply")}</div>
312
- <div class=${fc("field", "tool_set")}>${head("tool_set", "g-ts", tn("toolSet"), tn("tipToolSet"), { mark: mark("tool_set") })}
313
- <${Select} id="g-ts" value=${f.tool_set} onChange=${set("tool_set")} options=${[toolSetUnset, ...plainOptions("tool_set", TOOL_SETS)]} />${note("tool_set")}</div>
314
- <div class=${fc("field", "agent_mode")}>${head("agent_mode", "g-am", tn("agentMode"), tn("tipAgentMode"), { mark: mark("agent_mode"), bare: true })}
315
- <${Seg} id="g-am" labelledBy="g-am-l" value=${f.agent_mode} onChange=${set("agent_mode")} options=${seg("agent_mode", AGENT_MODES)} />${note("agent_mode")}</div>
316
- <div class=${fc("field", "log_level")}>${head("log_level", "g-ll", tn("logLevel"), tn("tipLogLevel"), { mark: mark("log_level") })}
317
- <${Select} id="g-ll" value=${f.log_level} onChange=${set("log_level")} options=${plainOptions("log_level", LOG_LEVELS)} />${note("log_level")}</div>
318
- <div class=${fc("field", "replyTriggers")}>${head("replyTriggers", "g-reply-triggers", tn("replyTriggers"), tn("replyTriggersHint"), { mark: mark("replyTriggers") })}
319
- <${Switch} id="g-reply-triggers" name=${tn("replyTriggers")} checked=${f.replyTriggers} onChange=${set("replyTriggers")} />${note("replyTriggers")}</div>
320
- <div id="g-dash" role="group" aria-labelledby="g-dash-l" class=${fc("field s-wide dash-perms", ...FIELDS.dash.keys)}>${head("dash", "g-dash", tn("dashboardAccess"), tn("dashboardDefaultsHint"), { bare: true })}
321
- <div class="s-checks">${DASHBOARD_FEATURES.map((k) => html`<label key=${k} class="check"><input type="checkbox" checked=${f[`dash_${k}`]}
322
- onChange=${(e) => set(`dash_${k}`)(e.target.checked)} /><span>${tn(`dashboard_${k}`)}</span></label>`)}</div>${note("dash")}</div>`;
323
-
324
- const systemAdvanced = html`
325
- <div class=${fc("field s-hang", "hangOn", "hang")}>${head("hang", "g-hang-on", tn("hangEnabled"), tn("tipHang"), { mark: mark("hangOn", "hang"), bare: true })}
326
- <div class="s-hang-row"><${Switch} id="g-hang-on" name=${tn("hangEnabled")} checked=${f.hangOn} onChange=${set("hangOn")} />
327
- <input id="g-hang" type="number" min="0.1" step="0.5" class=${errors.hang ? "invalid" : ""} aria-label=${tn("hangTimeout")} value=${f.hang} onInput=${(e) => set("hang")(e.target.value)} />
328
- <span class="s-unit">${tn("hangUnit")}</span></div><${Feedback} error=${errors.hang} />${note("hang")}</div>
329
- <div class=${fc("field", "concurrency")}>${head("concurrency", "g-conc", tn("concurrency"), tn("tipConcurrency"), { mark: mark("concurrency") })}
330
- <input id="g-conc" type="number" min="1" max="20" step="1" class=${errors.concurrency ? "invalid" : ""} value=${f.concurrency} onInput=${(e) => set("concurrency")(e.target.value)} />
331
- <${Feedback} error=${errors.concurrency} warning=${warnings.concurrency} />${f.concurrency.trim() === "" ? html`<${InEffect} text=${tn("concurrencyAuto")} tip=${defaultTip} />` : null}${note("concurrency")}</div>
332
- <div class=${fc("field", "stagger")}>${head("stagger", "g-stag", `${tn("staggerDelay")} (ms)`, tn("tipStagger"), { mark: mark("stagger") })}
333
- <input id="g-stag" type="number" min="0" max="30000" step="100" class=${errors.stagger ? "invalid" : ""} value=${f.stagger} onInput=${(e) => set("stagger")(e.target.value)} />
334
- <${Feedback} error=${errors.stagger} warning=${warnings.stagger} />${note("stagger")}</div>`;
335
-
336
- const card = (title, sub, body, extra) => html`<section class="card s-group"><div><h3>${title}</h3><p class="note">${sub}</p></div><div class="grid2">${body}</div>${extra || null}</section>`;
337
- return html`<div class="s-shared">
338
- ${card(tn("sharedGroupAgents"), tn("sharedGroupAgentsSub"), agentMain)}
339
- ${card(tn("sharedGroupSystem"), tn("sharedGroupSystemSub"), systemMain)}
340
- <${Drawer} title=${tn("advancedCount", ADVANCED_COUNT)}>
341
- ${card(tn("sharedGroupAgents"), tn("sharedGroupAgentsSub"), agentAdvanced)}
342
- ${card(tn("sharedGroupSystem"), tn("sharedGroupSystemAdvancedSub"), systemAdvanced, html`<${Info}>${primary ? tn("accessMovedHint", primary.id || chLabel(0)) : tn("noBots")}</${Info}>`)}
343
- </${Drawer}>
344
- </div>`;
345
- }
@@ -1,65 +0,0 @@
1
- // Help for existing handlers only. Keyboard behavior stays with app-shell.js, panel-chat.js,
2
- // chat-render.js (composerKey) and panel-settings.js; this module registers no keyboard listener.
3
- import { html } from "/assets/app-html.js";
4
- import { register, t } from "/assets/app-i18n.js";
5
- import { isMacLike, showDialog } from "/assets/app-shell.js";
6
- import { Dialog } from "/assets/ui-dialog.js";
7
- import { Icon } from "/assets/ui-icons.js";
8
-
9
- register("settingsShortcuts", {
10
- en: {
11
- title: "Keyboard shortcuts", button: "View shortcuts",
12
- hint: "Find the existing shortcuts for search, chat and settings.",
13
- intro: "Shortcuts work in the contexts below. Search availability depends on your account and the fleet's settings.",
14
- globalTitle: "Search across the fleet", globalAction: "Open search",
15
- globalScope: "Works in text fields too, on pages that offer search. Does not run while another modal dialog is open or while an input method is composing. Do not hold Alt or Shift.",
16
- chatSearchTitle: "Search the current chat", chatSearchAction: "Search within this agent",
17
- chatSearchScope: "On an agent's chat page, when search is available. Other pages keep the browser's Find command. The same dialog and input-method restrictions apply.",
18
- composerTitle: "Chat input", send: "Send the message or run the typed command", newline: "Add a new line",
19
- composerScope: "In the chat composer with a physical keyboard. Enter does not send during input-method composition. On a touch screen, Enter adds a line; use Send to send. Alt, Ctrl or Command with Enter also adds a line.",
20
- settingsTitle: "Settings search", settingsAction: "Focus Search settings",
21
- settingsScope: "Only on Settings pages, outside inputs, textareas, selects and editable content. Does not run during input-method composition or with Ctrl, Command or Alt held.",
22
- closeHint: "Closes this help dialog and returns focus to View shortcuts.",
23
- },
24
- "zh-TW": {
25
- title: "快捷鍵", button: "查看快捷鍵",
26
- hint: "查看搜尋、聊天與設定目前支援的快捷鍵。",
27
- intro: "快捷鍵依下列情境使用;搜尋是否提供,取決於你的帳號權限與 Fleet 設定。",
28
- globalTitle: "全域搜尋", globalAction: "開啟搜尋",
29
- globalScope: "提供搜尋的頁面中,輸入欄內也可使用。其他對話框開啟時或輸入法組字時不觸發;請勿同時按住 Alt 或 Shift。",
30
- chatSearchTitle: "搜尋目前聊天", chatSearchAction: "搜尋目前 Agent 的對話",
31
- chatSearchScope: "在提供搜尋功能的 Agent 聊天頁使用;其他頁面保留瀏覽器的尋找功能。對話框與輸入法的限制同上。",
32
- composerTitle: "聊天輸入", send: "送出訊息或執行輸入的指令", newline: "新增一行",
33
- composerScope: "適用於聊天輸入框與實體鍵盤;輸入法組字時,Enter 不會送出。觸控螢幕的 Enter 會換行,請按「送出」傳送。Alt、Ctrl 或 Command 加 Enter 也會換行。",
34
- settingsTitle: "設定搜尋", settingsAction: "聚焦「搜尋設定」",
35
- settingsScope: "僅限設定頁面,且焦點不在輸入欄、文字區、選單或可編輯內容內。輸入法組字時,或同時按住 Ctrl、Command、Alt 時不觸發。",
36
- closeHint: "關閉此說明,焦點會回到「查看快捷鍵」。",
37
- },
38
- });
39
-
40
- export const shortcutsText = (key) => t(`settingsShortcuts.${key}`);
41
-
42
- /** The Settings preference row is intentionally independent of saved preferences. */
43
- export function ShortcutsHelpRow() {
44
- return html`<div class="s-pref-help-row s-pref-shortcuts-row"><div><strong>${shortcutsText("title")}</strong><p class="sub">${shortcutsText("hint")}</p></div>
45
- <button type="button" id="keyboardShortcutsBtn" class="btn" aria-haspopup="dialog" onClick=${openShortcuts}><${Icon} name="info" size=${16} />${shortcutsText("button")}</button></div>`;
46
- }
47
-
48
- export function openShortcuts() { showDialog(ShortcutsDialog); }
49
-
50
- /** Reuse the shared modal's native Escape, backdrop and focus-restoration behavior. */
51
- export function ShortcutsDialog({ onClose }) {
52
- const modifier = isMacLike() ? "⌘" : "Ctrl";
53
- const keys = (parts) => html`<span class="settings-shortcut-keys">${parts.map((key, i) => html`${i ? html`<span aria-hidden="true">+</span>` : null}<kbd key=${key}>${key}</kbd>`)}</span>`;
54
- const row = (parts, action) => html`<div class="settings-shortcut-row">${keys(parts)}<span>${shortcutsText(action)}</span></div>`;
55
- return html`<${Dialog} title=${shortcutsText("title")} onClose=${onClose} wide=${true}
56
- actions=${html`<button type="button" class="btn btn-primary" onClick=${onClose}>${t("app.close")}</button>`}>
57
- <div class="settings-shortcuts"><p class="settings-shortcuts-intro">${shortcutsText("intro")}</p>
58
- <section><h3>${shortcutsText("globalTitle")}</h3>${row([modifier, "K"], "globalAction")}<p>${shortcutsText("globalScope")}</p></section>
59
- <section><h3>${shortcutsText("chatSearchTitle")}</h3>${row([modifier, "F"], "chatSearchAction")}<p>${shortcutsText("chatSearchScope")}</p></section>
60
- <section><h3>${shortcutsText("composerTitle")}</h3>${row(["Enter"], "send")}${row(["Shift", "Enter"], "newline")}<p>${shortcutsText("composerScope")}</p></section>
61
- <section><h3>${shortcutsText("settingsTitle")}</h3>${row(["/"], "settingsAction")}<p>${shortcutsText("settingsScope")}</p></section>
62
- <p class="settings-shortcuts-close"><kbd>Escape</kbd> ${shortcutsText("closeHint")}</p>
63
- </div>
64
- </${Dialog}>`;
65
- }
@@ -1,15 +0,0 @@
1
- /* #3212: Settings → Agents → Accounts — linked by accounts-view.js (a page holding an older app.css still draws it). */
2
- .s-accounts { display: grid; gap: var(--s-3); }
3
- .s-account-card { border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--s-3); display: grid; gap: var(--s-2); background: var(--surface); }
4
- .s-account-head { display: flex; align-items: center; gap: var(--s-2); }
5
- .s-account-rows { display: grid; gap: var(--s-1); }
6
- .s-account-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
7
- .s-account-who { flex: 1 1 16em; min-width: 0; display: grid; gap: 2px; }
8
- .s-account-who small { color: var(--text-2); font-size: var(--fs-xs); overflow-wrap: anywhere; }
9
- .s-account-usage.is-stale { color: var(--text-3); }
10
- .s-account-row .s-actions { display: flex; flex-wrap: wrap; gap: var(--s-1); }
11
- .s-account-row details { flex-basis: 100%; }
12
- .s-account-default { margin: var(--s-1) 0 0; }
13
- .s-account-machine { border-top: 1px dashed var(--border); padding-top: var(--s-2); }
14
- .s-account-move { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-1); }
15
- .s-account-move .check small { margin-left: var(--s-2); }
@@ -1,68 +0,0 @@
1
- // Hub PR A (#3226): the chat composer's and WorkBar's drawing, shared by the fleet's chat (panel-chat.js) and the Hub's.
2
- // Drawing only: what the words are, what Send does, whether files may be attached and what a key does are the caller's
3
- // (props); nothing here reads a store, a route or a string table, so the Hub listener can serve it from /assets/.
4
- //
5
- // ComposerInput is the composer's row: Attach (when `attach` is given) with its hidden file input, the text box with its
6
- // drawn placeholder, Stop and Send. The box is the IME's while it composes (Zhuyin, Pinyin, kana…): between
7
- // compositionstart and compositionend nothing here writes it, re-renders it or grows it — each one moved the box, and iOS
8
- // redrew the candidate bar on every keystroke — and what it holds is handed over once, at compositionend (or a blur that
9
- // ends one that never ended). It grows with the text up to 240px, through the CSSOM (#1300: never a style attribute).
10
- import { html, useLayoutEffect, useRef } from "./app-html.js";
11
- import { Icon } from "./ui-icons.js";
12
-
13
- /** A coarse pointer (a phone, a tablet): Enter makes a new line there and the box says "enter" to the keyboard. */
14
- export const touchScreen = () => typeof matchMedia === "function" && matchMedia("(pointer: coarse)").matches;
15
-
16
- /**
17
- * The composer's row. `value`: the draft; `onValue(text)`: the draft changed (never while composing). `placeholder`: the
18
- * words drawn in the empty box (also its accessible name). `inputRef`: the caller's ref to the box (focus, undo).
19
- * `attach`: { title, onFiles(fileList) } or null (no Attach). `stop`: { hidden, disabled, title, label, onClick }.
20
- * `send`: { hidden, disabled, label, onClick }. `controls` / `expanded` / `activeDescendant`: the box's palette ARIA.
21
- */
22
- export function ComposerInput({ inputRef, value, placeholder, onValue, onKeyDown, onPaste, attach = null, stop, send,
23
- controls, expanded = false, activeDescendant }) {
24
- const own = useRef(null), input = inputRef || own, fileIn = useRef(null);
25
- const composing = useRef(false);
26
- // A render while composing (another part of the page changed) gives the box what it holds, so it never writes it.
27
- const boxValue = composing.current && input.current ? input.current.value : value;
28
- // Grow with the text, up to a limit. Empty, it is one line (#2478 — a long name's placeholder made the box two lines).
29
- useLayoutEffect(() => {
30
- const el = input.current; if (!el || composing.current) return;
31
- el.style.height = "auto";
32
- if (value) el.style.height = `${Math.min(el.scrollHeight, 240)}px`;
33
- }, [value]);
34
- const onInput = (e) => { if (composing.current || e.isComposing) return; onValue(e.target.value); };
35
- const onCompositionStart = () => { composing.current = true; };
36
- // The composed text is the draft now (some engines send no input after it); a blur ends one that never ended.
37
- // Lower-case props below: an element has no oncomposition… property, so Preact would listen for "CompositionStart".
38
- const onCompositionEnd = (e) => { if (!composing.current) return; composing.current = false; onValue(e.target.value); };
39
- return html`<div class="composer">
40
- ${attach ? html`<button id="attachBtn" type="button" class="icon-btn" title=${attach.title} aria-label=${attach.title} onClick=${() => fileIn.current && fileIn.current.click()}><${Icon} name="attach" /></button>
41
- <input ref=${fileIn} type="file" multiple hidden
42
- onChange=${(e) => { attach.onFiles(e.target.files); e.target.value = ""; }} />` : null}
43
- ${/* #2478: the placeholder is drawn beside the box, one line ending in "…" — a textarea's own placeholder is clipped,
44
- never ellipsized, and a long name wrapped it to two lines. The box keeps the words as its accessible name. Its own
45
- placeholder is one space: :placeholder-shown hides the drawn one (app.css) the moment the box holds text, an
46
- IME's composing text included, with no change to the page. */ ""}
47
- <span class="composer-field"><textarea id="msgIn" ref=${input} rows="1" value=${boxValue} aria-label=${placeholder}
48
- enterkeyhint=${touchScreen() ? "enter" : undefined} autocomplete="off" aria-controls=${controls} aria-expanded=${expanded ? "true" : "false"}
49
- aria-activedescendant=${activeDescendant} onInput=${onInput} onKeyDown=${onKeyDown} onPaste=${onPaste}
50
- oncompositionstart=${onCompositionStart} oncompositionend=${onCompositionEnd} onBlur=${onCompositionEnd}
51
- placeholder=" "></textarea><span class="composer-ph" aria-hidden="true">${placeholder}</span></span>
52
- <button id="stopBtn" type="button" class="btn btn-stop" hidden=${stop.hidden} title=${stop.title}
53
- disabled=${stop.disabled} onClick=${stop.onClick}><${Icon} name="stop" size=${14} /><span class="stop-label">${stop.label}</span></button>
54
- <button id="sendBtn" type="button" class="btn btn-primary btn-send" hidden=${send.hidden} disabled=${send.disabled}
55
- onMouseDown=${(e) => e.preventDefault()}
56
- aria-label=${send.label} title=${send.label} onClick=${send.onClick}><${Icon} name="send" size=${16} /><span class="send-label">${send.label}</span></button>
57
- </div>`;
58
- }
59
-
60
- /**
61
- * The bar above the composer while the agent works (`kind`: working, stuck, stopping) or waits on something it cannot
62
- * see (`awaiting`, with `note`). `elapsed`: the time it has been at it, as the caller words it (it ticks the caller's way).
63
- */
64
- export function WorkBarView({ kind, label, note, noteTitle, elapsed, elapsedTitle }) {
65
- return html`<div class=${`work-bar ${kind}`}><span class="pulse" aria-hidden="true"></span><span class="lbl">${label}</span>
66
- ${kind === "awaiting" ? html`<span class="note" title=${noteTitle}>${note}</span>`
67
- : html`<span class="elapsed" title=${elapsedTitle} aria-hidden="true">${elapsed}</span>`}</div>`;
68
- }
@@ -1,9 +0,0 @@
1
- // M-2448 (Prism on #3155): the Markdown side panel's own words, registered by the panel's module (preview-panel.js). A
2
- // page that opened Log or Details before an upgrade may hold an older chat-strings.js without them; these keep the
3
- // panel saying what it shows, never a raw key.
4
- import { register } from "./app-i18n.js";
5
-
6
- register("chat", {
7
- en: { pvMdPanel: "Markdown preview", pvMdRendered: "Formatted", pvMdSource: "Source" },
8
- "zh-TW": { pvMdPanel: "Markdown 預覽", pvMdRendered: "排版", pvMdSource: "原始內容" },
9
- });