botmux 3.16.0 → 3.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (619) hide show
  1. package/dist/.runtime-build-id +1 -1
  2. package/dist/adapters/backend/riff-backend.d.ts +84 -1
  3. package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
  4. package/dist/adapters/backend/riff-backend.js +202 -19
  5. package/dist/adapters/backend/riff-backend.js.map +1 -1
  6. package/dist/adapters/backend/sandbox.d.ts +8 -0
  7. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  8. package/dist/adapters/backend/sandbox.js +15 -0
  9. package/dist/adapters/backend/sandbox.js.map +1 -1
  10. package/dist/adapters/backend/tmux-backend.d.ts +61 -7
  11. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  12. package/dist/adapters/backend/tmux-backend.js +80 -9
  13. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  14. package/dist/adapters/backend/tmux-pipe-backend.d.ts +62 -4
  15. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  16. package/dist/adapters/backend/tmux-pipe-backend.js +240 -27
  17. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  18. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  19. package/dist/adapters/cli/claude-code.js +4 -2
  20. package/dist/adapters/cli/claude-code.js.map +1 -1
  21. package/dist/adapters/cli/coco.d.ts.map +1 -1
  22. package/dist/adapters/cli/coco.js +27 -0
  23. package/dist/adapters/cli/coco.js.map +1 -1
  24. package/dist/adapters/cli/codex-app.d.ts.map +1 -1
  25. package/dist/adapters/cli/codex-app.js +28 -0
  26. package/dist/adapters/cli/codex-app.js.map +1 -1
  27. package/dist/adapters/cli/codex.d.ts.map +1 -1
  28. package/dist/adapters/cli/codex.js +51 -23
  29. package/dist/adapters/cli/codex.js.map +1 -1
  30. package/dist/adapters/cli/dsh-tui.d.ts +24 -0
  31. package/dist/adapters/cli/dsh-tui.d.ts.map +1 -0
  32. package/dist/adapters/cli/dsh-tui.js +99 -0
  33. package/dist/adapters/cli/dsh-tui.js.map +1 -0
  34. package/dist/adapters/cli/dsh.d.ts.map +1 -1
  35. package/dist/adapters/cli/dsh.js +15 -9
  36. package/dist/adapters/cli/dsh.js.map +1 -1
  37. package/dist/adapters/cli/fs-policy.d.ts +98 -1
  38. package/dist/adapters/cli/fs-policy.d.ts.map +1 -1
  39. package/dist/adapters/cli/fs-policy.js +182 -7
  40. package/dist/adapters/cli/fs-policy.js.map +1 -1
  41. package/dist/adapters/cli/grok.js +16 -18
  42. package/dist/adapters/cli/grok.js.map +1 -1
  43. package/dist/adapters/cli/model-catalog-json.d.ts +17 -0
  44. package/dist/adapters/cli/model-catalog-json.d.ts.map +1 -0
  45. package/dist/adapters/cli/model-catalog-json.js +43 -0
  46. package/dist/adapters/cli/model-catalog-json.js.map +1 -0
  47. package/dist/adapters/cli/oh-my-pi.d.ts +2 -0
  48. package/dist/adapters/cli/oh-my-pi.d.ts.map +1 -1
  49. package/dist/adapters/cli/oh-my-pi.js +45 -13
  50. package/dist/adapters/cli/oh-my-pi.js.map +1 -1
  51. package/dist/adapters/cli/opencode.js +1 -1
  52. package/dist/adapters/cli/opencode.js.map +1 -1
  53. package/dist/adapters/cli/registry.d.ts +2 -1
  54. package/dist/adapters/cli/registry.d.ts.map +1 -1
  55. package/dist/adapters/cli/registry.js +6 -1
  56. package/dist/adapters/cli/registry.js.map +1 -1
  57. package/dist/adapters/cli/relay.d.ts.map +1 -1
  58. package/dist/adapters/cli/relay.js +7 -0
  59. package/dist/adapters/cli/relay.js.map +1 -1
  60. package/dist/adapters/cli/seed.d.ts.map +1 -1
  61. package/dist/adapters/cli/seed.js +6 -0
  62. package/dist/adapters/cli/seed.js.map +1 -1
  63. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  64. package/dist/adapters/cli/shared-hints.js +20 -14
  65. package/dist/adapters/cli/shared-hints.js.map +1 -1
  66. package/dist/adapters/cli/traex.d.ts +4 -0
  67. package/dist/adapters/cli/traex.d.ts.map +1 -1
  68. package/dist/adapters/cli/traex.js +153 -0
  69. package/dist/adapters/cli/traex.js.map +1 -1
  70. package/dist/adapters/cli/types.d.ts +42 -1
  71. package/dist/adapters/cli/types.d.ts.map +1 -1
  72. package/dist/autostart.d.ts +6 -0
  73. package/dist/autostart.d.ts.map +1 -1
  74. package/dist/autostart.js +21 -1
  75. package/dist/autostart.js.map +1 -1
  76. package/dist/bot-registry.d.ts +27 -0
  77. package/dist/bot-registry.d.ts.map +1 -1
  78. package/dist/bot-registry.js +62 -2
  79. package/dist/bot-registry.js.map +1 -1
  80. package/dist/cli/vc-agent.d.ts.map +1 -1
  81. package/dist/cli/vc-agent.js +21 -3
  82. package/dist/cli/vc-agent.js.map +1 -1
  83. package/dist/cli.d.ts.map +1 -1
  84. package/dist/cli.js +92 -1
  85. package/dist/cli.js.map +1 -1
  86. package/dist/codex-app-runner.js +28 -0
  87. package/dist/codex-app-runner.js.map +1 -1
  88. package/dist/core/bot-steer-directive.d.ts +25 -0
  89. package/dist/core/bot-steer-directive.d.ts.map +1 -0
  90. package/dist/core/bot-steer-directive.js +47 -0
  91. package/dist/core/bot-steer-directive.js.map +1 -0
  92. package/dist/core/command-handler.d.ts.map +1 -1
  93. package/dist/core/command-handler.js +102 -18
  94. package/dist/core/command-handler.js.map +1 -1
  95. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  96. package/dist/core/dashboard-ipc-server.js +53 -13
  97. package/dist/core/dashboard-ipc-server.js.map +1 -1
  98. package/dist/core/dashboard-rows.d.ts +3 -0
  99. package/dist/core/dashboard-rows.d.ts.map +1 -1
  100. package/dist/core/dashboard-rows.js +26 -5
  101. package/dist/core/dashboard-rows.js.map +1 -1
  102. package/dist/core/dashboard-url.d.ts +10 -1
  103. package/dist/core/dashboard-url.d.ts.map +1 -1
  104. package/dist/core/dashboard-url.js +12 -2
  105. package/dist/core/dashboard-url.js.map +1 -1
  106. package/dist/core/dispatch.d.ts.map +1 -1
  107. package/dist/core/dispatch.js +5 -4
  108. package/dist/core/dispatch.js.map +1 -1
  109. package/dist/core/existing-app-server.d.ts +22 -0
  110. package/dist/core/existing-app-server.d.ts.map +1 -0
  111. package/dist/core/existing-app-server.js +85 -0
  112. package/dist/core/existing-app-server.js.map +1 -0
  113. package/dist/core/native-topic-id.d.ts +9 -0
  114. package/dist/core/native-topic-id.d.ts.map +1 -0
  115. package/dist/core/native-topic-id.js +14 -0
  116. package/dist/core/native-topic-id.js.map +1 -0
  117. package/dist/core/per-bot-env.d.ts.map +1 -1
  118. package/dist/core/per-bot-env.js +10 -0
  119. package/dist/core/per-bot-env.js.map +1 -1
  120. package/dist/core/plugins/mcp/gateway.d.ts +27 -3
  121. package/dist/core/plugins/mcp/gateway.d.ts.map +1 -1
  122. package/dist/core/plugins/mcp/gateway.js +272 -26
  123. package/dist/core/plugins/mcp/gateway.js.map +1 -1
  124. package/dist/core/plugins/mcp/host.d.ts +18 -0
  125. package/dist/core/plugins/mcp/host.d.ts.map +1 -1
  126. package/dist/core/plugins/mcp/host.js +80 -16
  127. package/dist/core/plugins/mcp/host.js.map +1 -1
  128. package/dist/core/plugins/mcp/launch-record.d.ts +14 -0
  129. package/dist/core/plugins/mcp/launch-record.d.ts.map +1 -0
  130. package/dist/core/plugins/mcp/launch-record.js +63 -0
  131. package/dist/core/plugins/mcp/launch-record.js.map +1 -0
  132. package/dist/core/session-activity.d.ts +11 -0
  133. package/dist/core/session-activity.d.ts.map +1 -1
  134. package/dist/core/session-activity.js +23 -0
  135. package/dist/core/session-activity.js.map +1 -1
  136. package/dist/core/session-group-birth.d.ts.map +1 -1
  137. package/dist/core/session-group-birth.js +23 -8
  138. package/dist/core/session-group-birth.js.map +1 -1
  139. package/dist/core/session-manager.d.ts +1 -4
  140. package/dist/core/session-manager.d.ts.map +1 -1
  141. package/dist/core/session-manager.js +16 -20
  142. package/dist/core/session-manager.js.map +1 -1
  143. package/dist/core/shared-adopt.d.ts +20 -0
  144. package/dist/core/shared-adopt.d.ts.map +1 -0
  145. package/dist/core/shared-adopt.js +26 -0
  146. package/dist/core/shared-adopt.js.map +1 -0
  147. package/dist/core/skills/customize-command.d.ts +7 -0
  148. package/dist/core/skills/customize-command.d.ts.map +1 -0
  149. package/dist/core/skills/customize-command.js +303 -0
  150. package/dist/core/skills/customize-command.js.map +1 -0
  151. package/dist/core/terminal-write-auth.d.ts +15 -0
  152. package/dist/core/terminal-write-auth.d.ts.map +1 -1
  153. package/dist/core/terminal-write-auth.js +15 -0
  154. package/dist/core/terminal-write-auth.js.map +1 -1
  155. package/dist/core/terminal-write-frame.d.ts +30 -0
  156. package/dist/core/terminal-write-frame.d.ts.map +1 -0
  157. package/dist/core/terminal-write-frame.js +44 -0
  158. package/dist/core/terminal-write-frame.js.map +1 -0
  159. package/dist/core/types.d.ts +14 -4
  160. package/dist/core/types.d.ts.map +1 -1
  161. package/dist/core/types.js +6 -8
  162. package/dist/core/types.js.map +1 -1
  163. package/dist/core/worker-pool.d.ts +31 -6
  164. package/dist/core/worker-pool.d.ts.map +1 -1
  165. package/dist/core/worker-pool.js +444 -102
  166. package/dist/core/worker-pool.js.map +1 -1
  167. package/dist/core/worker-startup-retry.d.ts +52 -0
  168. package/dist/core/worker-startup-retry.d.ts.map +1 -0
  169. package/dist/core/worker-startup-retry.js +68 -0
  170. package/dist/core/worker-startup-retry.js.map +1 -0
  171. package/dist/daemon.d.ts +9 -8
  172. package/dist/daemon.d.ts.map +1 -1
  173. package/dist/daemon.js +467 -171
  174. package/dist/daemon.js.map +1 -1
  175. package/dist/dashboard/autostart-api.d.ts +26 -0
  176. package/dist/dashboard/autostart-api.d.ts.map +1 -0
  177. package/dist/dashboard/autostart-api.js +88 -0
  178. package/dist/dashboard/autostart-api.js.map +1 -0
  179. package/dist/dashboard/bot-payload.d.ts +5 -0
  180. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  181. package/dist/dashboard/bot-payload.js +2 -0
  182. package/dist/dashboard/bot-payload.js.map +1 -1
  183. package/dist/dashboard/control-csrf.d.ts +29 -1
  184. package/dist/dashboard/control-csrf.d.ts.map +1 -1
  185. package/dist/dashboard/control-csrf.js +49 -10
  186. package/dist/dashboard/control-csrf.js.map +1 -1
  187. package/dist/dashboard/customization-api.d.ts +23 -0
  188. package/dist/dashboard/customization-api.d.ts.map +1 -0
  189. package/dist/dashboard/customization-api.js +198 -0
  190. package/dist/dashboard/customization-api.js.map +1 -0
  191. package/dist/dashboard/debug-terminal.d.ts +13 -1
  192. package/dist/dashboard/debug-terminal.d.ts.map +1 -1
  193. package/dist/dashboard/debug-terminal.js +18 -4
  194. package/dist/dashboard/debug-terminal.js.map +1 -1
  195. package/dist/dashboard/settings-write-applier.d.ts +0 -23
  196. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  197. package/dist/dashboard/settings-write-applier.js +7 -28
  198. package/dist/dashboard/settings-write-applier.js.map +1 -1
  199. package/dist/dashboard/terminal-control-route.d.ts +32 -0
  200. package/dist/dashboard/terminal-control-route.d.ts.map +1 -0
  201. package/dist/dashboard/terminal-control-route.js +70 -0
  202. package/dist/dashboard/terminal-control-route.js.map +1 -0
  203. package/dist/dashboard/terminal-control.d.ts +64 -13
  204. package/dist/dashboard/terminal-control.d.ts.map +1 -1
  205. package/dist/dashboard/terminal-control.js +77 -14
  206. package/dist/dashboard/terminal-control.js.map +1 -1
  207. package/dist/dashboard/terminal-front-proxy.d.ts.map +1 -1
  208. package/dist/dashboard/terminal-front-proxy.js +41 -9
  209. package/dist/dashboard/terminal-front-proxy.js.map +1 -1
  210. package/dist/dashboard/vc-consumer-profiles-api.d.ts +69 -18
  211. package/dist/dashboard/vc-consumer-profiles-api.d.ts.map +1 -1
  212. package/dist/dashboard/vc-consumer-profiles-api.js +149 -29
  213. package/dist/dashboard/vc-consumer-profiles-api.js.map +1 -1
  214. package/dist/dashboard/web/agent-workbench-api.d.ts +34 -2
  215. package/dist/dashboard/web/agent-workbench-api.d.ts.map +1 -1
  216. package/dist/dashboard/web/agent-workbench-api.js +39 -4
  217. package/dist/dashboard/web/agent-workbench-api.js.map +1 -1
  218. package/dist/dashboard/web/agent-workbench-appearance.d.ts +6 -3
  219. package/dist/dashboard/web/agent-workbench-appearance.d.ts.map +1 -1
  220. package/dist/dashboard/web/agent-workbench-appearance.js +7 -4
  221. package/dist/dashboard/web/agent-workbench-appearance.js.map +1 -1
  222. package/dist/dashboard/web/agent-workbench-model.d.ts +2 -0
  223. package/dist/dashboard/web/agent-workbench-model.d.ts.map +1 -1
  224. package/dist/dashboard/web/agent-workbench-model.js.map +1 -1
  225. package/dist/dashboard/web/agent-workbench-page.js +2 -2
  226. package/dist/dashboard/web/agent-workbench-page.js.map +1 -1
  227. package/dist/dashboard/web/agent-workbench-panes.d.ts +59 -4
  228. package/dist/dashboard/web/agent-workbench-panes.d.ts.map +1 -1
  229. package/dist/dashboard/web/agent-workbench-panes.js +493 -85
  230. package/dist/dashboard/web/agent-workbench-panes.js.map +1 -1
  231. package/dist/dashboard/web/agent-workbench-session-list.d.ts +11 -7
  232. package/dist/dashboard/web/agent-workbench-session-list.d.ts.map +1 -1
  233. package/dist/dashboard/web/agent-workbench-session-list.js +24 -31
  234. package/dist/dashboard/web/agent-workbench-session-list.js.map +1 -1
  235. package/dist/dashboard/web/agent-workbench-terminal-control.d.ts +198 -0
  236. package/dist/dashboard/web/agent-workbench-terminal-control.d.ts.map +1 -0
  237. package/dist/dashboard/web/agent-workbench-terminal-control.js +292 -0
  238. package/dist/dashboard/web/agent-workbench-terminal-control.js.map +1 -0
  239. package/dist/dashboard/web/agent-workbench-view.d.ts +3 -2
  240. package/dist/dashboard/web/agent-workbench-view.d.ts.map +1 -1
  241. package/dist/dashboard/web/agent-workbench-view.js +69 -50
  242. package/dist/dashboard/web/agent-workbench-view.js.map +1 -1
  243. package/dist/dashboard/web/app.d.ts.map +1 -1
  244. package/dist/dashboard/web/app.js +58 -7
  245. package/dist/dashboard/web/app.js.map +1 -1
  246. package/dist/dashboard/web/bot-defaults-page.d.ts +24 -0
  247. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  248. package/dist/dashboard/web/bot-defaults-page.js +191 -16
  249. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  250. package/dist/dashboard/web/bot-defaults.d.ts +17 -0
  251. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  252. package/dist/dashboard/web/bot-defaults.js +51 -2
  253. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  254. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  255. package/dist/dashboard/web/bot-onboarding.js +32 -8
  256. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  257. package/dist/dashboard/web/confirm-modal.d.ts +35 -0
  258. package/dist/dashboard/web/confirm-modal.d.ts.map +1 -0
  259. package/dist/dashboard/web/confirm-modal.js +111 -0
  260. package/dist/dashboard/web/confirm-modal.js.map +1 -0
  261. package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
  262. package/dist/dashboard/web/connectors-page.js +2 -1
  263. package/dist/dashboard/web/connectors-page.js.map +1 -1
  264. package/dist/dashboard/web/customization-page.d.ts +3 -0
  265. package/dist/dashboard/web/customization-page.d.ts.map +1 -0
  266. package/dist/dashboard/web/customization-page.js +315 -0
  267. package/dist/dashboard/web/customization-page.js.map +1 -0
  268. package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
  269. package/dist/dashboard/web/dashboard-routes.js +1 -0
  270. package/dist/dashboard/web/dashboard-routes.js.map +1 -1
  271. package/dist/dashboard/web/groups-page.d.ts.map +1 -1
  272. package/dist/dashboard/web/groups-page.js +11 -9
  273. package/dist/dashboard/web/groups-page.js.map +1 -1
  274. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  275. package/dist/dashboard/web/i18n.js +226 -42
  276. package/dist/dashboard/web/i18n.js.map +1 -1
  277. package/dist/dashboard/web/monitor-room.d.ts.map +1 -1
  278. package/dist/dashboard/web/monitor-room.js +3 -2
  279. package/dist/dashboard/web/monitor-room.js.map +1 -1
  280. package/dist/dashboard/web/overview-page.d.ts.map +1 -1
  281. package/dist/dashboard/web/overview-page.js +98 -63
  282. package/dist/dashboard/web/overview-page.js.map +1 -1
  283. package/dist/dashboard/web/roles-page.d.ts.map +1 -1
  284. package/dist/dashboard/web/roles-page.js +4 -3
  285. package/dist/dashboard/web/roles-page.js.map +1 -1
  286. package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
  287. package/dist/dashboard/web/schedules-page.js +165 -18
  288. package/dist/dashboard/web/schedules-page.js.map +1 -1
  289. package/dist/dashboard/web/sessions-kanban.d.ts +2 -0
  290. package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -1
  291. package/dist/dashboard/web/sessions-kanban.js +142 -24
  292. package/dist/dashboard/web/sessions-kanban.js.map +1 -1
  293. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  294. package/dist/dashboard/web/sessions-page.js +177 -94
  295. package/dist/dashboard/web/sessions-page.js.map +1 -1
  296. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  297. package/dist/dashboard/web/sessions.js +5 -4
  298. package/dist/dashboard/web/sessions.js.map +1 -1
  299. package/dist/dashboard/web/settings-page.d.ts +0 -8
  300. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  301. package/dist/dashboard/web/settings-page.js +185 -65
  302. package/dist/dashboard/web/settings-page.js.map +1 -1
  303. package/dist/dashboard/web/skills/skill-library-tab.d.ts +2 -0
  304. package/dist/dashboard/web/skills/skill-library-tab.d.ts.map +1 -1
  305. package/dist/dashboard/web/skills/skill-library-tab.js +15 -1
  306. package/dist/dashboard/web/skills/skill-library-tab.js.map +1 -1
  307. package/dist/dashboard/web/skills-page.d.ts.map +1 -1
  308. package/dist/dashboard/web/skills-page.js +5 -4
  309. package/dist/dashboard/web/skills-page.js.map +1 -1
  310. package/dist/dashboard/web/store.d.ts +5 -0
  311. package/dist/dashboard/web/store.d.ts.map +1 -1
  312. package/dist/dashboard/web/store.js +4 -0
  313. package/dist/dashboard/web/store.js.map +1 -1
  314. package/dist/dashboard/web/team-federation-page.d.ts.map +1 -1
  315. package/dist/dashboard/web/team-federation-page.js +3 -2
  316. package/dist/dashboard/web/team-federation-page.js.map +1 -1
  317. package/dist/dashboard/web/toast.d.ts +15 -0
  318. package/dist/dashboard/web/toast.d.ts.map +1 -0
  319. package/dist/dashboard/web/toast.js +70 -0
  320. package/dist/dashboard/web/toast.js.map +1 -0
  321. package/dist/dashboard/web/v3-components.d.ts.map +1 -1
  322. package/dist/dashboard/web/v3-components.js +2 -1
  323. package/dist/dashboard/web/v3-components.js.map +1 -1
  324. package/dist/dashboard/web/vc-consumer-profiles-section.d.ts +10 -12
  325. package/dist/dashboard/web/vc-consumer-profiles-section.d.ts.map +1 -1
  326. package/dist/dashboard/web/vc-consumer-profiles-section.js +219 -200
  327. package/dist/dashboard/web/vc-consumer-profiles-section.js.map +1 -1
  328. package/dist/dashboard/web/whiteboards-page.d.ts.map +1 -1
  329. package/dist/dashboard/web/whiteboards-page.js +2 -1
  330. package/dist/dashboard/web/whiteboards-page.js.map +1 -1
  331. package/dist/dashboard-web/app.js +1 -1
  332. package/dist/dashboard-web/chunks/agent-workbench-dock-page-LZSUOCEQ.js +1 -0
  333. package/dist/dashboard-web/chunks/agent-workbench-page-YONDRJU7.js +1 -0
  334. package/dist/dashboard-web/chunks/bot-defaults-page-X7LV6373.js +1 -0
  335. package/dist/dashboard-web/chunks/chunk-2PVRDXEL.js +1 -0
  336. package/dist/dashboard-web/chunks/chunk-53JUKBU2.js +10 -0
  337. package/dist/dashboard-web/chunks/{chunk-5CJMHTT4.js → chunk-5QX4OYOR.js} +1 -1
  338. package/dist/dashboard-web/chunks/{chunk-NACP7BMR.js → chunk-5VRVJFQR.js} +1 -1
  339. package/dist/dashboard-web/chunks/{chunk-FDZ7WOBW.js → chunk-6ROOZWYV.js} +1 -1
  340. package/dist/dashboard-web/chunks/{chunk-F6KNPF4R.js → chunk-CK22743G.js} +15 -19
  341. package/dist/dashboard-web/chunks/chunk-CVNIMUPY.js +25 -0
  342. package/dist/dashboard-web/chunks/chunk-GJC2TMWS.js +2 -0
  343. package/dist/dashboard-web/chunks/chunk-OT6L6G7R.js +1 -0
  344. package/dist/dashboard-web/chunks/chunk-QITAMHW6.js +1 -0
  345. package/dist/dashboard-web/chunks/chunk-RHVFZC5Z.js +1 -0
  346. package/dist/dashboard-web/chunks/chunk-SOBMN2VY.js +1 -0
  347. package/dist/dashboard-web/chunks/chunk-SZOB6VK2.js +1 -0
  348. package/dist/dashboard-web/chunks/chunk-XVIXNQGC.js +44 -0
  349. package/dist/dashboard-web/chunks/chunk-YUJF34ME.js +1 -0
  350. package/dist/dashboard-web/chunks/connectors-page-LB2HEJ7F.js +1 -0
  351. package/dist/dashboard-web/chunks/customization-page-4GXBYLG6.js +105 -0
  352. package/dist/dashboard-web/chunks/feedback-page-IZQ7VLDG.js +1 -0
  353. package/dist/dashboard-web/chunks/groups-page-4WCP5OEV.js +8 -0
  354. package/dist/dashboard-web/chunks/{insights-page-HJFDYR5N.js → insights-page-TXQHIPQL.js} +1 -1
  355. package/dist/dashboard-web/chunks/{monitor-room-V7PCP47V.js → monitor-room-VBRVWXCM.js} +8 -8
  356. package/dist/dashboard-web/chunks/monitoring-page-QDDZWERE.js +2 -0
  357. package/dist/dashboard-web/chunks/office-page-PENFNYPG.js +1 -0
  358. package/dist/dashboard-web/chunks/overview-page-BZQDP6MP.js +1 -0
  359. package/dist/dashboard-web/chunks/plugin-page-JX4GSWZS.js +1 -0
  360. package/dist/dashboard-web/chunks/roles-page-VPNINZNK.js +1 -0
  361. package/dist/dashboard-web/chunks/schedules-page-BITO6HEA.js +1 -0
  362. package/dist/dashboard-web/chunks/sessions-page-ZKCOVTD2.js +8 -0
  363. package/dist/dashboard-web/chunks/settings-page-UT6JDTS6.js +2 -0
  364. package/dist/dashboard-web/chunks/skills-page-GULXVAJY.js +4 -0
  365. package/dist/dashboard-web/chunks/team-federation-page-CUUJWGEG.js +1 -0
  366. package/dist/dashboard-web/chunks/v3-page-5WVJ5AUR.js +94 -0
  367. package/dist/dashboard-web/chunks/whiteboards-page-FZ2CME4H.js +1 -0
  368. package/dist/dashboard-web/design-tokens.css +236 -0
  369. package/dist/dashboard-web/index.html +1 -0
  370. package/dist/dashboard-web/style.css +1930 -114
  371. package/dist/dashboard.js +360 -279
  372. package/dist/dashboard.js.map +1 -1
  373. package/dist/desktop/renderer/app.js +6 -0
  374. package/dist/desktop/renderer/app.js.map +1 -1
  375. package/dist/dsh-runner.js +139 -17
  376. package/dist/dsh-runner.js.map +1 -1
  377. package/dist/global-config.d.ts +33 -2
  378. package/dist/global-config.d.ts.map +1 -1
  379. package/dist/global-config.js +62 -0
  380. package/dist/global-config.js.map +1 -1
  381. package/dist/i18n/en.d.ts.map +1 -1
  382. package/dist/i18n/en.js +13 -4
  383. package/dist/i18n/en.js.map +1 -1
  384. package/dist/i18n/index.d.ts +27 -3
  385. package/dist/i18n/index.d.ts.map +1 -1
  386. package/dist/i18n/index.js +33 -4
  387. package/dist/i18n/index.js.map +1 -1
  388. package/dist/i18n/zh.d.ts.map +1 -1
  389. package/dist/i18n/zh.js +13 -4
  390. package/dist/i18n/zh.js.map +1 -1
  391. package/dist/im/lark/card-builder.d.ts +2 -0
  392. package/dist/im/lark/card-builder.d.ts.map +1 -1
  393. package/dist/im/lark/card-builder.js +7 -4
  394. package/dist/im/lark/card-builder.js.map +1 -1
  395. package/dist/im/lark/card-handler.d.ts.map +1 -1
  396. package/dist/im/lark/card-handler.js +135 -20
  397. package/dist/im/lark/card-handler.js.map +1 -1
  398. package/dist/im/lark/event-dispatcher.d.ts +38 -3
  399. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  400. package/dist/im/lark/event-dispatcher.js +163 -13
  401. package/dist/im/lark/event-dispatcher.js.map +1 -1
  402. package/dist/im/lark/v3-blocked-card-handler.d.ts.map +1 -1
  403. package/dist/im/lark/v3-blocked-card-handler.js +2 -1
  404. package/dist/im/lark/v3-blocked-card-handler.js.map +1 -1
  405. package/dist/im/lark/v3-blocked-card.d.ts +1 -1
  406. package/dist/im/lark/v3-blocked-card.d.ts.map +1 -1
  407. package/dist/im/lark/v3-blocked-card.js +14 -0
  408. package/dist/im/lark/v3-blocked-card.js.map +1 -1
  409. package/dist/index-core-only.js +2 -0
  410. package/dist/index-core-only.js.map +1 -1
  411. package/dist/index-daemon.js +3 -0
  412. package/dist/index-daemon.js.map +1 -1
  413. package/dist/platform/binding.d.ts +37 -0
  414. package/dist/platform/binding.d.ts.map +1 -1
  415. package/dist/platform/binding.js +15 -0
  416. package/dist/platform/binding.js.map +1 -1
  417. package/dist/services/bridge-turn-journal.d.ts +63 -0
  418. package/dist/services/bridge-turn-journal.d.ts.map +1 -0
  419. package/dist/services/bridge-turn-journal.js +149 -0
  420. package/dist/services/bridge-turn-journal.js.map +1 -0
  421. package/dist/services/bridge-turn-queue.d.ts +8 -1
  422. package/dist/services/bridge-turn-queue.d.ts.map +1 -1
  423. package/dist/services/bridge-turn-queue.js +2 -1
  424. package/dist/services/bridge-turn-queue.js.map +1 -1
  425. package/dist/services/codex-app-runner-protocol.d.ts +5 -0
  426. package/dist/services/codex-app-runner-protocol.d.ts.map +1 -1
  427. package/dist/services/codex-app-runner-protocol.js +5 -0
  428. package/dist/services/codex-app-runner-protocol.js.map +1 -1
  429. package/dist/services/customization-store.d.ts +93 -0
  430. package/dist/services/customization-store.d.ts.map +1 -0
  431. package/dist/services/customization-store.js +542 -0
  432. package/dist/services/customization-store.js.map +1 -0
  433. package/dist/services/file-bridge-path.d.ts.map +1 -1
  434. package/dist/services/file-bridge-path.js +3 -0
  435. package/dist/services/file-bridge-path.js.map +1 -1
  436. package/dist/services/grok-transcript.d.ts.map +1 -1
  437. package/dist/services/grok-transcript.js +44 -9
  438. package/dist/services/grok-transcript.js.map +1 -1
  439. package/dist/services/local-cli-opener.d.ts.map +1 -1
  440. package/dist/services/local-cli-opener.js +12 -3
  441. package/dist/services/local-cli-opener.js.map +1 -1
  442. package/dist/services/model-catalog.d.ts +54 -0
  443. package/dist/services/model-catalog.d.ts.map +1 -0
  444. package/dist/services/model-catalog.js +147 -0
  445. package/dist/services/model-catalog.js.map +1 -0
  446. package/dist/services/omp-transcript.d.ts +27 -0
  447. package/dist/services/omp-transcript.d.ts.map +1 -0
  448. package/dist/services/omp-transcript.js +214 -0
  449. package/dist/services/omp-transcript.js.map +1 -0
  450. package/dist/services/platform-team-store.d.ts +16 -8
  451. package/dist/services/platform-team-store.d.ts.map +1 -1
  452. package/dist/services/platform-team-store.js +17 -10
  453. package/dist/services/platform-team-store.js.map +1 -1
  454. package/dist/services/project-scanner.d.ts.map +1 -1
  455. package/dist/services/project-scanner.js +13 -8
  456. package/dist/services/project-scanner.js.map +1 -1
  457. package/dist/services/resumable-session-discovery.d.ts.map +1 -1
  458. package/dist/services/resumable-session-discovery.js +117 -35
  459. package/dist/services/resumable-session-discovery.js.map +1 -1
  460. package/dist/services/structured-bridge-clis.d.ts +5 -3
  461. package/dist/services/structured-bridge-clis.d.ts.map +1 -1
  462. package/dist/services/structured-bridge-clis.js +5 -1
  463. package/dist/services/structured-bridge-clis.js.map +1 -1
  464. package/dist/services/vc-meeting-action-gate.d.ts.map +1 -1
  465. package/dist/services/vc-meeting-action-gate.js +15 -4
  466. package/dist/services/vc-meeting-action-gate.js.map +1 -1
  467. package/dist/services/vc-meeting-consumer-profile-bootstrap.d.ts +46 -66
  468. package/dist/services/vc-meeting-consumer-profile-bootstrap.d.ts.map +1 -1
  469. package/dist/services/vc-meeting-consumer-profile-bootstrap.js +33 -292
  470. package/dist/services/vc-meeting-consumer-profile-bootstrap.js.map +1 -1
  471. package/dist/services/vc-meeting-consumer-profile-templates.js +3 -3
  472. package/dist/services/vc-meeting-consumer-profile-templates.js.map +1 -1
  473. package/dist/services/vc-meeting-delivery-store.d.ts +18 -0
  474. package/dist/services/vc-meeting-delivery-store.d.ts.map +1 -1
  475. package/dist/services/vc-meeting-delivery-store.js +55 -0
  476. package/dist/services/vc-meeting-delivery-store.js.map +1 -1
  477. package/dist/services/vc-meeting-send-policy.d.ts +21 -1
  478. package/dist/services/vc-meeting-send-policy.d.ts.map +1 -1
  479. package/dist/services/vc-meeting-send-policy.js +30 -2
  480. package/dist/services/vc-meeting-send-policy.js.map +1 -1
  481. package/dist/services/vc-meeting-shared-consumer-catalog-store.d.ts +78 -0
  482. package/dist/services/vc-meeting-shared-consumer-catalog-store.d.ts.map +1 -0
  483. package/dist/services/vc-meeting-shared-consumer-catalog-store.js +227 -0
  484. package/dist/services/vc-meeting-shared-consumer-catalog-store.js.map +1 -0
  485. package/dist/services/vc-meeting-shared-consumer-catalog.d.ts +53 -0
  486. package/dist/services/vc-meeting-shared-consumer-catalog.d.ts.map +1 -0
  487. package/dist/services/vc-meeting-shared-consumer-catalog.js +161 -0
  488. package/dist/services/vc-meeting-shared-consumer-catalog.js.map +1 -0
  489. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  490. package/dist/setup/bot-config-editor.js +1 -0
  491. package/dist/setup/bot-config-editor.js.map +1 -1
  492. package/dist/setup/open-platform-automation.d.ts +20 -0
  493. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  494. package/dist/setup/open-platform-automation.js +27 -0
  495. package/dist/setup/open-platform-automation.js.map +1 -1
  496. package/dist/skills/customization-bundle.d.ts +83 -0
  497. package/dist/skills/customization-bundle.d.ts.map +1 -0
  498. package/dist/skills/customization-bundle.js +214 -0
  499. package/dist/skills/customization-bundle.js.map +1 -0
  500. package/dist/skills/definitions.d.ts.map +1 -1
  501. package/dist/skills/definitions.js +10 -3
  502. package/dist/skills/definitions.js.map +1 -1
  503. package/dist/skills/effective-builtins.d.ts +38 -0
  504. package/dist/skills/effective-builtins.d.ts.map +1 -0
  505. package/dist/skills/effective-builtins.js +96 -0
  506. package/dist/skills/effective-builtins.js.map +1 -0
  507. package/dist/skills/injection-mode.d.ts +4 -1
  508. package/dist/skills/injection-mode.d.ts.map +1 -1
  509. package/dist/skills/injection-mode.js +11 -3
  510. package/dist/skills/injection-mode.js.map +1 -1
  511. package/dist/skills/installer.d.ts.map +1 -1
  512. package/dist/skills/installer.js +24 -1
  513. package/dist/skills/installer.js.map +1 -1
  514. package/dist/skills/prompt-fragments.d.ts +58 -0
  515. package/dist/skills/prompt-fragments.d.ts.map +1 -0
  516. package/dist/skills/prompt-fragments.js +88 -0
  517. package/dist/skills/prompt-fragments.js.map +1 -0
  518. package/dist/types.d.ts +51 -0
  519. package/dist/types.d.ts.map +1 -1
  520. package/dist/utils/cli-usage-limit.d.ts +50 -0
  521. package/dist/utils/cli-usage-limit.d.ts.map +1 -1
  522. package/dist/utils/cli-usage-limit.js +43 -0
  523. package/dist/utils/cli-usage-limit.js.map +1 -1
  524. package/dist/utils/idle-detector.d.ts +12 -0
  525. package/dist/utils/idle-detector.d.ts.map +1 -1
  526. package/dist/utils/idle-detector.js +88 -2
  527. package/dist/utils/idle-detector.js.map +1 -1
  528. package/dist/utils/stuck-detector.d.ts +5 -0
  529. package/dist/utils/stuck-detector.d.ts.map +1 -1
  530. package/dist/utils/stuck-detector.js +41 -0
  531. package/dist/utils/stuck-detector.js.map +1 -1
  532. package/dist/utils/usage-limit-tracker.d.ts +46 -0
  533. package/dist/utils/usage-limit-tracker.d.ts.map +1 -0
  534. package/dist/utils/usage-limit-tracker.js +91 -0
  535. package/dist/utils/usage-limit-tracker.js.map +1 -0
  536. package/dist/utils/user-token.js +1 -1
  537. package/dist/utils/user-token.js.map +1 -1
  538. package/dist/worker.js +812 -125
  539. package/dist/worker.js.map +1 -1
  540. package/dist/workflows/definition.d.ts +14 -14
  541. package/dist/workflows/events/payloads.d.ts +12 -12
  542. package/dist/workflows/events/schema.d.ts +164 -164
  543. package/dist/workflows/migration/v2-to-v3.js +1 -1
  544. package/dist/workflows/migration/v2-to-v3.js.map +1 -1
  545. package/dist/workflows/v3/architect.d.ts.map +1 -1
  546. package/dist/workflows/v3/architect.js +11 -5
  547. package/dist/workflows/v3/architect.js.map +1 -1
  548. package/dist/workflows/v3/artifact-contract-declarations.d.ts +22 -0
  549. package/dist/workflows/v3/artifact-contract-declarations.d.ts.map +1 -0
  550. package/dist/workflows/v3/artifact-contract-declarations.js +95 -0
  551. package/dist/workflows/v3/artifact-contract-declarations.js.map +1 -0
  552. package/dist/workflows/v3/contract.d.ts +1 -0
  553. package/dist/workflows/v3/contract.d.ts.map +1 -1
  554. package/dist/workflows/v3/contract.js.map +1 -1
  555. package/dist/workflows/v3/daemon-run.d.ts +2 -2
  556. package/dist/workflows/v3/daemon-run.d.ts.map +1 -1
  557. package/dist/workflows/v3/daemon-run.js +4 -0
  558. package/dist/workflows/v3/daemon-run.js.map +1 -1
  559. package/dist/workflows/v3/dag.d.ts +7 -0
  560. package/dist/workflows/v3/dag.d.ts.map +1 -1
  561. package/dist/workflows/v3/dag.js +69 -8
  562. package/dist/workflows/v3/dag.js.map +1 -1
  563. package/dist/workflows/v3/ephemeral-pool.js +1 -1
  564. package/dist/workflows/v3/ephemeral-pool.js.map +1 -1
  565. package/dist/workflows/v3/event-contract.d.ts +3 -1
  566. package/dist/workflows/v3/event-contract.d.ts.map +1 -1
  567. package/dist/workflows/v3/host.d.ts.map +1 -1
  568. package/dist/workflows/v3/host.js +5 -1
  569. package/dist/workflows/v3/host.js.map +1 -1
  570. package/dist/workflows/v3/journal.d.ts +1 -1
  571. package/dist/workflows/v3/journal.d.ts.map +1 -1
  572. package/dist/workflows/v3/journal.js.map +1 -1
  573. package/dist/workflows/v3/library-materialize.d.ts.map +1 -1
  574. package/dist/workflows/v3/library-materialize.js +9 -1
  575. package/dist/workflows/v3/library-materialize.js.map +1 -1
  576. package/dist/workflows/v3/library-schema.d.ts +3 -1
  577. package/dist/workflows/v3/library-schema.d.ts.map +1 -1
  578. package/dist/workflows/v3/library-schema.js +20 -4
  579. package/dist/workflows/v3/library-schema.js.map +1 -1
  580. package/dist/workflows/v3/library-store.d.ts.map +1 -1
  581. package/dist/workflows/v3/library-store.js +15 -3
  582. package/dist/workflows/v3/library-store.js.map +1 -1
  583. package/dist/workflows/v3/run-envelope.d.ts +16 -16
  584. package/dist/workflows/v3/shared-node-runtime.d.ts +2 -1
  585. package/dist/workflows/v3/shared-node-runtime.d.ts.map +1 -1
  586. package/dist/workflows/v3/shared-node-runtime.js +48 -7
  587. package/dist/workflows/v3/shared-node-runtime.js.map +1 -1
  588. package/package.json +2 -1
  589. package/dist/dashboard-web/chunks/agent-workbench-dock-page-IKAC5CFL.js +0 -1
  590. package/dist/dashboard-web/chunks/agent-workbench-page-M53UN5EB.js +0 -1
  591. package/dist/dashboard-web/chunks/bot-defaults-page-YKE5SDZF.js +0 -10
  592. package/dist/dashboard-web/chunks/chunk-22WIADUT.js +0 -2
  593. package/dist/dashboard-web/chunks/chunk-24ONYQMR.js +0 -1
  594. package/dist/dashboard-web/chunks/chunk-2W6SCN3M.js +0 -1
  595. package/dist/dashboard-web/chunks/chunk-4XNJX6B3.js +0 -1
  596. package/dist/dashboard-web/chunks/chunk-5THX4DI2.js +0 -66
  597. package/dist/dashboard-web/chunks/chunk-7SZRL6FY.js +0 -1
  598. package/dist/dashboard-web/chunks/chunk-AGCPF6MT.js +0 -1
  599. package/dist/dashboard-web/chunks/chunk-FXW3V4JR.js +0 -1
  600. package/dist/dashboard-web/chunks/chunk-SYC6D5XU.js +0 -1
  601. package/dist/dashboard-web/chunks/connectors-page-VOISXXII.js +0 -1
  602. package/dist/dashboard-web/chunks/feedback-page-RN6HRZMS.js +0 -1
  603. package/dist/dashboard-web/chunks/groups-page-UQT6DCB7.js +0 -8
  604. package/dist/dashboard-web/chunks/monitoring-page-NKEKVQAP.js +0 -2
  605. package/dist/dashboard-web/chunks/office-page-GVJF73XW.js +0 -1
  606. package/dist/dashboard-web/chunks/overview-page-KHLV6VTI.js +0 -1
  607. package/dist/dashboard-web/chunks/plugin-page-J3OF5IY4.js +0 -1
  608. package/dist/dashboard-web/chunks/roles-page-WQIRSOLZ.js +0 -1
  609. package/dist/dashboard-web/chunks/schedules-page-J2DEY2X6.js +0 -1
  610. package/dist/dashboard-web/chunks/sessions-page-7BQFEA5P.js +0 -8
  611. package/dist/dashboard-web/chunks/settings-page-BJEIOFJH.js +0 -2
  612. package/dist/dashboard-web/chunks/skills-page-HGIFR3IU.js +0 -4
  613. package/dist/dashboard-web/chunks/team-federation-page-MR5ZPL4B.js +0 -1
  614. package/dist/dashboard-web/chunks/v3-page-GBR5JWPE.js +0 -94
  615. package/dist/dashboard-web/chunks/whiteboards-page-QAZM4BN3.js +0 -1
  616. package/dist/services/vc-meeting-consumer-profile-store.d.ts +0 -39
  617. package/dist/services/vc-meeting-consumer-profile-store.d.ts.map +0 -1
  618. package/dist/services/vc-meeting-consumer-profile-store.js +0 -191
  619. package/dist/services/vc-meeting-consumer-profile-store.js.map +0 -1
@@ -1,10 +1,19 @@
1
1
  /**
2
2
  * Dashboard 私有 API:「会议角色预设」(VC meeting consumer profiles)。
3
3
  *
4
+ * 2026-08 起预设目录是**全 fleet 共享**的一份(`~/.botmux/config.json` 的
5
+ * `vcMeetingAgent.consumerCatalog`),不再按 bot 分开配置:
6
+ *
7
+ * - 用户不用再手选「会议事件接收 Bot」——每个开着 VC 的 bot 都处理自己收到的
8
+ * 会议事件,被拉进会的是谁就由谁执行;
9
+ * - 预设条目**不带** `agentAppId`。执行方在读路径合并时才绑定为收到事件的那个
10
+ * bot(services/vc-meeting-shared-consumer-catalog.ts),所以「拉 A 进会却把
11
+ * B 拉进监听群」在数据模型层面就不可表达。
12
+ *
4
13
  * 职责边界:本层只做 用户 DTO ↔ canonical 配置 的映射与 HTTP 语义包装;
5
- * 配置 RMW / revision 乐观并发 / 字段校验的权威在
6
- * `services/vc-meeting-consumer-profile-store.ts`(锁内复核),运行时冲突
7
- * 裁决的权威在 bot-registry resolver——Dashboard 校验只是提前反馈。
14
+ * revision 乐观并发 / 字段校验的权威在
15
+ * `services/vc-meeting-shared-consumer-catalog-store.ts`,运行时冲突裁决的权威
16
+ * bot-registry resolver——Dashboard 校验只是提前反馈。
8
17
  *
9
18
  * permissionPreset 是纯 UI 概念,不持久化:保存时映射成 canonical
10
19
  * capabilities/ownedSinks 原语;`custom` 只允许复用同 id 既有 policy,
@@ -12,13 +21,15 @@
12
21
  */
13
22
  import type { BotConfig } from '../bot-registry.js';
14
23
  import type { VcMeetingConsumerProfileConfig, VcMeetingConsumerResponseMode, VcMeetingListenerOutputPlacement } from '../types.js';
15
- import type { UpdateVcMeetingConsumerProfilesResult, VcMeetingConsumerProfileFieldError, VcMeetingConsumerProfilesSnapshot } from '../services/vc-meeting-consumer-profile-store.js';
24
+ import type { VcMeetingSharedConsumerProfile } from '../global-config.js';
25
+ import type { UpdateVcMeetingSharedConsumerCatalogResult, VcMeetingSharedConsumerCatalogFieldError, VcMeetingSharedConsumerCatalogSnapshot } from '../services/vc-meeting-shared-consumer-catalog-store.js';
16
26
  import { type VcMeetingConsumerProfileTemplateCatalog, type VcMeetingTemplatePermissionPreset } from '../services/vc-meeting-consumer-profile-templates.js';
17
27
  export type VcMeetingPermissionPreset = VcMeetingTemplatePermissionPreset | 'custom';
28
+ /** 字段级错误的形状与 per-bot 时代一致,路径前缀也保持 `profiles[i].*`。 */
29
+ export type VcMeetingConsumerProfileFieldError = VcMeetingSharedConsumerCatalogFieldError;
18
30
  export interface VcMeetingConsumerProfileDto {
19
31
  id: string;
20
32
  label?: string;
21
- agentAppId: string;
22
33
  instructions?: string;
23
34
  activityTypes?: string[];
24
35
  responseMode: VcMeetingConsumerResponseMode;
@@ -39,26 +50,57 @@ export interface VcMeetingAgentOptionDto {
39
50
  /** Is the managed sandbox boundary actually in force? false ⇒ the bot's Lark
40
51
  * credential is exposed to untrusted meeting input (informed opt-out). */
41
52
  sandboxIsolated: boolean;
53
+ /** 这个 bot 是否接收会议事件(bots.json vcMeetingAgent.enabled)。缺省视为
54
+ * 开启——VC 对每个连着飞书的 bot 默认可用,`enabled: false` 是显式退出。 */
55
+ vcEnabled: boolean;
56
+ /** apiOnly(无飞书连接)的 bot 结构上不可能收会议事件,UI 需要禁用它的开关。 */
57
+ vcEligible: boolean;
58
+ /** Configured per-bot in-meeting output policies (bots.json
59
+ * vcMeetingAgent.meetingConsumer.*). null = unset → daemon default. */
60
+ textOutputPolicy: VcMeetingOutputPolicyValue | null;
61
+ voiceOutputPolicy: VcMeetingOutputPolicyValue | null;
62
+ /** vcMeetingAgent.realtimeVoice.enabled — hard gate for in-meeting voice. */
63
+ realtimeVoiceEnabled: boolean;
64
+ /** per-bot 从共享目录挑的默认角色 id(vcMeetingAgent.meetingConsumer.
65
+ * catalogDefaultConsumerId)。null = 未挑 → 跟随共享目录全局默认。 */
66
+ catalogDefaultConsumerId: string | null;
67
+ /** Effective values after daemon defaults (kept in sync with
68
+ * defaultVcMeetingTextOutputPolicy / defaultVcMeetingVoiceOutputPolicy). */
69
+ effectiveTextOutputPolicy: VcMeetingOutputPolicyValue;
70
+ effectiveVoiceOutputPolicy: VcMeetingOutputPolicyValue;
71
+ }
72
+ export type VcMeetingOutputPolicyValue = 'allow' | 'approval' | 'deny';
73
+ export interface VcMeetingBotOutputPolicyPatch {
74
+ appId: string;
75
+ /** 会议事件接收开关(vcMeetingAgent.enabled)。 */
76
+ vcEnabled: boolean;
77
+ /** null clears the override back to the daemon default. */
78
+ textOutputPolicy: VcMeetingOutputPolicyValue | null;
79
+ voiceOutputPolicy: VcMeetingOutputPolicyValue | null;
80
+ realtimeVoiceEnabled: boolean;
81
+ /** per-bot 从共享目录挑的默认角色 id。null(或空串)= 跟随全局默认。
82
+ * 写到 vcMeetingAgent.meetingConsumer.catalogDefaultConsumerId。 */
83
+ catalogDefaultConsumerId: string | null;
42
84
  }
43
85
  export interface VcMeetingConsumerProfilesGetBody {
44
86
  ok: true;
45
- listenerBotAppId: string;
46
87
  revision: string;
47
- catalogState: VcMeetingConsumerProfilesSnapshot['catalogState'];
88
+ catalogState: VcMeetingSharedConsumerCatalogSnapshot['catalogState'];
48
89
  defaultMode: 'listenOnly' | 'agents';
49
90
  defaultConsumerIds: string[];
50
91
  profiles: VcMeetingConsumerProfileDto[];
51
92
  agentOptions: VcMeetingAgentOptionDto[];
52
93
  /** Versioned, read-only templates. Applying one creates a detached editable profile. */
53
94
  templateCatalog: VcMeetingConsumerProfileTemplateCatalog;
54
- migrationOffer?: VcMeetingConsumerProfilesSnapshot['migrationOffer'];
55
95
  }
56
96
  export interface VcMeetingConsumerProfilesPutRequest {
57
- listenerBotAppId: string;
58
97
  expectedRevision: string;
59
98
  defaultMode: 'listenOnly' | 'agents';
60
99
  defaultConsumerIds: string[];
61
100
  profiles: VcMeetingConsumerProfileDto[];
101
+ /** Optional per-bot patches applied to bots.json via the locked
102
+ * read-modify-write path after the shared catalog update succeeds. */
103
+ botOutputPolicies?: VcMeetingBotOutputPolicyPatch[];
62
104
  }
63
105
  export type VcMeetingConsumerProfilesApiResult = {
64
106
  status: 200;
@@ -72,13 +114,14 @@ export type VcMeetingConsumerProfilesApiResult = {
72
114
  };
73
115
  };
74
116
  export interface VcMeetingConsumerProfilesApiDeps {
75
- readSnapshot(listenerBotAppId: string): Promise<VcMeetingConsumerProfilesSnapshot | undefined>;
76
- updateSnapshot(listenerBotAppId: string, input: {
117
+ /** 读全局共享目录。同步实现也可以——签名允许两者。 */
118
+ readCatalog(): VcMeetingSharedConsumerCatalogSnapshot | Promise<VcMeetingSharedConsumerCatalogSnapshot>;
119
+ updateCatalog(input: {
77
120
  expectedRevision: string;
78
121
  defaultMode: 'listenOnly' | 'agents';
79
122
  defaultConsumerIds: string[];
80
- profiles: VcMeetingConsumerProfileConfig[];
81
- }): Promise<UpdateVcMeetingConsumerProfilesResult>;
123
+ profiles: VcMeetingSharedConsumerProfile[];
124
+ }): UpdateVcMeetingSharedConsumerCatalogResult | Promise<UpdateVcMeetingSharedConsumerCatalogResult>;
82
125
  loadBotConfigs(): BotConfig[];
83
126
  effectiveDefaultWorkingDir(cfg: BotConfig): string | undefined;
84
127
  /** Online DaemonInfo botName lookup; undefined when the daemon is offline. */
@@ -87,17 +130,23 @@ export interface VcMeetingConsumerProfilesApiDeps {
87
130
  adapterReliableTurnTerminal(cliId: string | undefined, cliPathOverride?: string): boolean;
88
131
  managedSideEffectEligible(bot: BotConfig): boolean;
89
132
  sandboxIsolated(bot: BotConfig): boolean;
90
- /** Called after a successful PUT so the live daemon reloads the new catalog. */
133
+ /** Called after a successful PUT so the live daemon reloads changed bots.json. */
91
134
  reloadDaemons(appIds: string[]): Promise<void>;
135
+ /** Locked read-modify-write of one bot's VC switches in bots.json
136
+ * (vcMeetingAgent.enabled + meetingConsumer.* + realtimeVoice.enabled). */
137
+ applyBotOutputPolicy(patch: VcMeetingBotOutputPolicyPatch): Promise<{
138
+ ok: boolean;
139
+ reason?: string;
140
+ }>;
92
141
  }
93
142
  /** UI 下拉与 DTO 预检共用;权威列表在 bot-registry 严格校验里。 */
94
143
  export declare const VC_MEETING_PROFILE_ACTIVITY_TYPES: readonly ["transcript_received", "chat_received", "participant_joined", "participant_left", "magic_share_started", "magic_share_ended"];
95
144
  /** canonical policy → 预设档位;对不上任何档位的既有 policy 显示为 custom。 */
96
145
  export declare function deriveVcMeetingPermissionPreset(profile: Pick<VcMeetingConsumerProfileConfig, 'capabilities' | 'ownedSinks' | 'responseMode'>): VcMeetingPermissionPreset;
97
- export declare function vcMeetingConsumerProfileToDto(profile: VcMeetingConsumerProfileConfig): VcMeetingConsumerProfileDto;
146
+ export declare function vcMeetingConsumerProfileToDto(profile: VcMeetingSharedConsumerProfile): VcMeetingConsumerProfileDto;
98
147
  type DtoValidation = {
99
148
  ok: true;
100
- profiles: VcMeetingConsumerProfileConfig[];
149
+ profiles: VcMeetingSharedConsumerProfile[];
101
150
  } | {
102
151
  ok: false;
103
152
  fieldErrors: VcMeetingConsumerProfileFieldError[];
@@ -107,10 +156,12 @@ type DtoValidation = {
107
156
  * (role 参与 profileHash,改写会造成不必要的 epoch 变更),新 id 用 id 作
108
157
  * role。custom 档只复用同 id 既有 capabilities/ownedSinks,新 id 无可复用
109
158
  * policy → fieldError。
159
+ *
160
+ * 输出**不含** `agentAppId`:共享目录不绑定执行方。
110
161
  */
111
- export declare function vcMeetingConsumerProfilesFromDtos(dtos: readonly VcMeetingConsumerProfileDto[], existing: readonly VcMeetingConsumerProfileConfig[]): DtoValidation;
162
+ export declare function vcMeetingConsumerProfilesFromDtos(dtos: readonly VcMeetingConsumerProfileDto[], existing: readonly VcMeetingSharedConsumerProfile[]): DtoValidation;
112
163
  export declare function buildVcMeetingAgentOptions(deps: Pick<VcMeetingConsumerProfilesApiDeps, 'loadBotConfigs' | 'effectiveDefaultWorkingDir' | 'onlineBotName' | 'isOnline' | 'adapterReliableTurnTerminal' | 'managedSideEffectEligible' | 'sandboxIsolated'>): VcMeetingAgentOptionDto[];
113
- export declare function handleVcMeetingConsumerProfilesGet(listenerBotAppId: string, deps: VcMeetingConsumerProfilesApiDeps): Promise<VcMeetingConsumerProfilesApiResult>;
164
+ export declare function handleVcMeetingConsumerProfilesGet(deps: VcMeetingConsumerProfilesApiDeps): Promise<VcMeetingConsumerProfilesApiResult>;
114
165
  export declare function handleVcMeetingConsumerProfilesPut(payload: unknown, deps: VcMeetingConsumerProfilesApiDeps): Promise<VcMeetingConsumerProfilesApiResult>;
115
166
  export {};
116
167
  //# sourceMappingURL=vc-consumer-profiles-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vc-consumer-profiles-api.d.ts","sourceRoot":"","sources":["../../src/dashboard/vc-consumer-profiles-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vc-consumer-profiles-api.d.ts","sourceRoot":"","sources":["../../src/dashboard/vc-consumer-profiles-api.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,6 @@ export function vcMeetingConsumerProfileToDto(profile) {
54
54
  return {
55
55
  id: profile.id,
56
56
  ...(profile.label ? { label: profile.label } : {}),
57
- agentAppId: profile.agentAppId,
58
57
  ...(profile.instructions ? { instructions: profile.instructions } : {}),
59
58
  ...(profile.filter?.activityTypes?.length
60
59
  ? { activityTypes: [...profile.filter.activityTypes] }
@@ -69,6 +68,8 @@ export function vcMeetingConsumerProfileToDto(profile) {
69
68
  * (role 参与 profileHash,改写会造成不必要的 epoch 变更),新 id 用 id 作
70
69
  * role。custom 档只复用同 id 既有 capabilities/ownedSinks,新 id 无可复用
71
70
  * policy → fieldError。
71
+ *
72
+ * 输出**不含** `agentAppId`:共享目录不绑定执行方。
72
73
  */
73
74
  export function vcMeetingConsumerProfilesFromDtos(dtos, existing) {
74
75
  const fieldErrors = [];
@@ -84,10 +85,6 @@ export function vcMeetingConsumerProfilesFromDtos(dtos, existing) {
84
85
  fieldErrors.push({ path: path('id'), message: 'id 不能为空' });
85
86
  return;
86
87
  }
87
- if (typeof dto.agentAppId !== 'string' || !dto.agentAppId.trim()) {
88
- fieldErrors.push({ path: path('agentAppId'), message: '必须选择一个 Agent' });
89
- return;
90
- }
91
88
  if (dto.responseMode !== 'silent' && dto.responseMode !== 'listener_thread') {
92
89
  fieldErrors.push({ path: path('responseMode'), message: '输出方式必须是 silent 或 listener_thread' });
93
90
  return;
@@ -155,7 +152,6 @@ export function vcMeetingConsumerProfilesFromDtos(dtos, existing) {
155
152
  const instructions = dto.instructions?.trim();
156
153
  profiles.push({
157
154
  id: dto.id.trim(),
158
- agentAppId: dto.agentAppId.trim(),
159
155
  ...(label ? { label } : {}),
160
156
  role: prior?.role ?? dto.id.trim(),
161
157
  ...(instructions ? { instructions } : {}),
@@ -188,6 +184,16 @@ export function buildVcMeetingAgentOptions(deps) {
188
184
  catch {
189
185
  workingDirReady = false;
190
186
  }
187
+ const vc = bot.vcMeetingAgent;
188
+ const textOutputPolicy = normalizeOutputPolicy(vc?.meetingConsumer?.textOutputPolicy);
189
+ const voiceOutputPolicy = normalizeOutputPolicy(vc?.meetingConsumer?.voiceOutputPolicy);
190
+ // 实时语音能力默认开启:未配 = 开,只有显式 false 才关(与 daemon 的
191
+ // vcMeetingRealtimeVoiceEnabled 保持同一判定)。语音 WS 仍按需建连,能力开
192
+ // 不等于入会即连。
193
+ const realtimeVoiceEnabled = vc?.realtimeVoice?.enabled !== false;
194
+ // apiOnly(core-only)bot 没有飞书连接,收不到会议事件——与 bot-registry 的
195
+ // vcMeetingAgentConfigActive fail-close 保持同一判定。
196
+ const vcEligible = bot.apiOnly !== true;
191
197
  return {
192
198
  appId: bot.larkAppId,
193
199
  label: bot.displayName || deps.onlineBotName(bot.larkAppId) || bot.name || bot.larkAppId,
@@ -197,13 +203,99 @@ export function buildVcMeetingAgentOptions(deps) {
197
203
  reliableTurnTerminal: deps.adapterReliableTurnTerminal(bot.cliId, bot.cliPathOverride),
198
204
  managedSideEffectEligible: deps.managedSideEffectEligible(bot),
199
205
  sandboxIsolated: deps.sandboxIsolated(bot),
206
+ // 缺省 = 开启:VC 对每个连着飞书的 bot 默认可用,enabled:false 才是退出。
207
+ vcEnabled: vcEligible && vc?.enabled !== false,
208
+ vcEligible,
209
+ textOutputPolicy,
210
+ voiceOutputPolicy,
211
+ realtimeVoiceEnabled,
212
+ catalogDefaultConsumerId: normalizeNonEmptyStringOrNull(vc?.meetingConsumer?.catalogDefaultConsumerId),
213
+ // Mirrors daemon defaultVcMeetingTextOutputPolicy / defaultVcMeetingVoiceOutputPolicy.
214
+ effectiveTextOutputPolicy: textOutputPolicy ?? 'allow',
215
+ effectiveVoiceOutputPolicy: !realtimeVoiceEnabled ? 'deny' : (voiceOutputPolicy ?? 'allow'),
200
216
  };
201
217
  }).sort((a, b) => (a.appId === b.appId ? 0 : a.appId < b.appId ? -1 : 1));
202
218
  }
219
+ function normalizeOutputPolicy(value) {
220
+ return value === 'allow' || value === 'approval' || value === 'deny' ? value : null;
221
+ }
222
+ function normalizeNonEmptyStringOrNull(value) {
223
+ return typeof value === 'string' && value.trim() ? value.trim() : null;
224
+ }
225
+ function parseBotOutputPolicyPatches(raw, knownAppIds, knownProfileIds) {
226
+ if (raw === undefined)
227
+ return { ok: true, patches: [] };
228
+ if (!Array.isArray(raw)) {
229
+ return { ok: false, fieldErrors: [{ path: 'botOutputPolicies', message: 'botOutputPolicies 必须是数组' }] };
230
+ }
231
+ const fieldErrors = [];
232
+ const patches = [];
233
+ const seen = new Set();
234
+ raw.forEach((item, index) => {
235
+ const path = (field) => `botOutputPolicies[${index}].${field}`;
236
+ if (!item || typeof item !== 'object' || Array.isArray(item)) {
237
+ fieldErrors.push({ path: `botOutputPolicies[${index}]`, message: '必须是对象' });
238
+ return;
239
+ }
240
+ const record = item;
241
+ const appId = typeof record.appId === 'string' ? record.appId.trim() : '';
242
+ if (!appId || !knownAppIds.has(appId)) {
243
+ fieldErrors.push({ path: path('appId'), message: '未知的 bot appId' });
244
+ return;
245
+ }
246
+ if (seen.has(appId)) {
247
+ fieldErrors.push({ path: path('appId'), message: '同一 bot 重复出现' });
248
+ return;
249
+ }
250
+ seen.add(appId);
251
+ const parsePolicy = (field) => {
252
+ const value = record[field];
253
+ if (value === null)
254
+ return null;
255
+ if (value === 'allow' || value === 'approval' || value === 'deny')
256
+ return value;
257
+ fieldErrors.push({ path: path(field), message: '必须是 allow/approval/deny 或 null' });
258
+ return undefined;
259
+ };
260
+ const textOutputPolicy = parsePolicy('textOutputPolicy');
261
+ const voiceOutputPolicy = parsePolicy('voiceOutputPolicy');
262
+ if (typeof record.realtimeVoiceEnabled !== 'boolean') {
263
+ fieldErrors.push({ path: path('realtimeVoiceEnabled'), message: '必须是布尔值' });
264
+ return;
265
+ }
266
+ // 老客户端不发 vcEnabled:缺省保持「接收」,与 vcMeetingAgent.enabled 缺省
267
+ // 语义一致,绝不能把没提交这个字段解释成「关闭接收」。
268
+ if (record.vcEnabled !== undefined && typeof record.vcEnabled !== 'boolean') {
269
+ fieldErrors.push({ path: path('vcEnabled'), message: '必须是布尔值' });
270
+ return;
271
+ }
272
+ // per-bot 默认角色:null/缺省 = 跟随全局默认;给了字符串则必须命中本次提交的
273
+ // 目录角色 id(不然存了个悬空默认,会静默回落全局,误导操作者)。
274
+ let catalogDefaultConsumerId = null;
275
+ const rawDefault = record.catalogDefaultConsumerId;
276
+ if (rawDefault !== undefined && rawDefault !== null && rawDefault !== '') {
277
+ if (typeof rawDefault !== 'string' || !knownProfileIds.has(rawDefault)) {
278
+ fieldErrors.push({ path: path('catalogDefaultConsumerId'), message: '必须是本目录中存在的角色 id 或留空' });
279
+ return;
280
+ }
281
+ catalogDefaultConsumerId = rawDefault;
282
+ }
283
+ if (textOutputPolicy === undefined || voiceOutputPolicy === undefined)
284
+ return;
285
+ patches.push({
286
+ appId,
287
+ vcEnabled: record.vcEnabled === undefined ? true : record.vcEnabled,
288
+ textOutputPolicy,
289
+ voiceOutputPolicy,
290
+ realtimeVoiceEnabled: record.realtimeVoiceEnabled,
291
+ catalogDefaultConsumerId,
292
+ });
293
+ });
294
+ return fieldErrors.length > 0 ? { ok: false, fieldErrors } : { ok: true, patches };
295
+ }
203
296
  function snapshotBody(snapshot, agentOptions) {
204
297
  return {
205
298
  ok: true,
206
- listenerBotAppId: snapshot.listenerBotAppId,
207
299
  revision: snapshot.revision,
208
300
  catalogState: snapshot.catalogState,
209
301
  defaultMode: snapshot.defaultMode,
@@ -211,22 +303,16 @@ function snapshotBody(snapshot, agentOptions) {
211
303
  profiles: snapshot.profiles.map(vcMeetingConsumerProfileToDto),
212
304
  agentOptions,
213
305
  templateCatalog: VC_MEETING_CONSUMER_PROFILE_TEMPLATE_CATALOG,
214
- ...(snapshot.migrationOffer ? { migrationOffer: snapshot.migrationOffer } : {}),
215
306
  };
216
307
  }
217
- export async function handleVcMeetingConsumerProfilesGet(listenerBotAppId, deps) {
218
- if (!listenerBotAppId.trim()) {
219
- return { status: 400, body: { ok: false, error: 'listenerBotAppId_required' } };
220
- }
308
+ export async function handleVcMeetingConsumerProfilesGet(deps) {
221
309
  let snapshot;
222
310
  try {
223
- snapshot = await deps.readSnapshot(listenerBotAppId.trim());
311
+ snapshot = await deps.readCatalog();
224
312
  }
225
313
  catch {
226
314
  return { status: 503, body: { ok: false, error: 'config_unavailable' } };
227
315
  }
228
- if (!snapshot)
229
- return { status: 404, body: { ok: false, error: 'bot_not_in_config' } };
230
316
  return { status: 200, body: snapshotBody(snapshot, buildVcMeetingAgentOptions(deps)) };
231
317
  }
232
318
  export async function handleVcMeetingConsumerProfilesPut(payload, deps) {
@@ -234,10 +320,6 @@ export async function handleVcMeetingConsumerProfilesPut(payload, deps) {
234
320
  return { status: 400, body: { ok: false, error: 'bad_json' } };
235
321
  }
236
322
  const request = payload;
237
- const listenerBotAppId = typeof request.listenerBotAppId === 'string' ? request.listenerBotAppId.trim() : '';
238
- if (!listenerBotAppId) {
239
- return { status: 400, body: { ok: false, error: 'listenerBotAppId_required' } };
240
- }
241
323
  if (typeof request.expectedRevision !== 'string' || !request.expectedRevision) {
242
324
  return { status: 400, body: { ok: false, error: 'expectedRevision_required' } };
243
325
  }
@@ -274,13 +356,11 @@ export async function handleVcMeetingConsumerProfilesPut(payload, deps) {
274
356
  }
275
357
  let current;
276
358
  try {
277
- current = await deps.readSnapshot(listenerBotAppId);
359
+ current = await deps.readCatalog();
278
360
  }
279
361
  catch {
280
362
  return { status: 503, body: { ok: false, error: 'config_unavailable' } };
281
363
  }
282
- if (!current)
283
- return { status: 404, body: { ok: false, error: 'bot_not_in_config' } };
284
364
  const mapped = vcMeetingConsumerProfilesFromDtos(request.profiles, current.profiles);
285
365
  if (!mapped.ok) {
286
366
  return {
@@ -288,9 +368,23 @@ export async function handleVcMeetingConsumerProfilesPut(payload, deps) {
288
368
  body: { ok: false, error: 'validation_failed', fieldErrors: mapped.fieldErrors },
289
369
  };
290
370
  }
291
- // defaultConsumerIds 原样提交:未知/重复/agents-空组合由 store 严格拒绝,
292
- // 本层不做静默过滤(与 store 的 fail-loud 语义保持一致)。
293
- const updated = await deps.updateSnapshot(listenerBotAppId, {
371
+ let knownAppIds;
372
+ try {
373
+ knownAppIds = new Set(deps.loadBotConfigs().map(bot => bot.larkAppId));
374
+ }
375
+ catch {
376
+ knownAppIds = new Set();
377
+ }
378
+ const parsedPolicies = parseBotOutputPolicyPatches(request.botOutputPolicies, knownAppIds, new Set(mapped.profiles.map(profile => profile.id)));
379
+ if (!parsedPolicies.ok) {
380
+ return {
381
+ status: 422,
382
+ body: { ok: false, error: 'validation_failed', fieldErrors: parsedPolicies.fieldErrors },
383
+ };
384
+ }
385
+ // defaultConsumerIds 原样提交:未知/重复/agents-空组合以及「同时选中两个角色」
386
+ // 由 store 严格拒绝,本层不做静默过滤(与 store 的 fail-loud 语义保持一致)。
387
+ const updated = await deps.updateCatalog({
294
388
  expectedRevision: request.expectedRevision,
295
389
  defaultMode: request.defaultMode,
296
390
  defaultConsumerIds: [...request.defaultConsumerIds],
@@ -310,17 +404,43 @@ export async function handleVcMeetingConsumerProfilesPut(payload, deps) {
310
404
  },
311
405
  };
312
406
  }
313
- if (updated.reason === 'bot_not_in_config') {
314
- return { status: 404, body: { ok: false, error: 'bot_not_in_config' } };
315
- }
316
407
  return { status: 503, body: { ok: false, error: 'config_unavailable' } };
317
408
  }
409
+ // Per-bot switches go to bots.json through the locked RMW path. The shared
410
+ // catalog is already committed at this point; a policy failure is surfaced
411
+ // loudly (503) so the UI re-GETs and shows what actually landed.
412
+ const policyFailures = [];
413
+ for (const patch of parsedPolicies.patches) {
414
+ try {
415
+ const applied = await deps.applyBotOutputPolicy(patch);
416
+ if (!applied.ok) {
417
+ policyFailures.push({
418
+ path: `botOutputPolicies[${patch.appId}]`,
419
+ message: applied.reason ?? 'write_failed',
420
+ });
421
+ }
422
+ }
423
+ catch (err) {
424
+ policyFailures.push({
425
+ path: `botOutputPolicies[${patch.appId}]`,
426
+ message: err instanceof Error ? err.message : String(err),
427
+ });
428
+ }
429
+ }
318
430
  try {
319
- await deps.reloadDaemons([listenerBotAppId]);
431
+ // 共享目录不需要 reload:它在 daemon 侧走 mtime 缓存的 live 读,下一个会议
432
+ // 事件自然生效。只有落进 bots.json 的 per-bot 开关需要通知对应 daemon。
433
+ await deps.reloadDaemons(parsedPolicies.patches.map(patch => patch.appId));
320
434
  }
321
435
  catch {
322
436
  // 配置已落盘;reload 失败只影响热加载时效,下次 daemon 重启/重载自然收敛。
323
437
  }
438
+ if (policyFailures.length > 0) {
439
+ return {
440
+ status: 503,
441
+ body: { ok: false, error: 'bot_policy_write_failed', fieldErrors: policyFailures },
442
+ };
443
+ }
324
444
  return { status: 200, body: snapshotBody(updated.snapshot, buildVcMeetingAgentOptions(deps)) };
325
445
  }
326
446
  //# sourceMappingURL=vc-consumer-profiles-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vc-consumer-profiles-api.js","sourceRoot":"","sources":["../../src/dashboard/vc-consumer-profiles-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vc-consumer-profiles-api.js","sourceRoot":"","sources":["../../src/dashboard/vc-consumer-profiles-api.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,31 @@ export interface TerminalControlState {
6
6
  reused?: boolean;
7
7
  /** Trusted platform owners have a fixed role, not a releasable takeover lease. */
8
8
  fixed?: boolean;
9
+ /**
10
+ * Which acquisition the lease is currently on. Present only when this login
11
+ * owns a real lease.
12
+ *
13
+ * It carries no authority — it is an equality nonce for compare-and-swap
14
+ * release. The lease lives on (session x login), so a second pane of the SAME
15
+ * login reuses the very same lease: without naming the acquisition, a late
16
+ * compensation for a pane that is already gone would release the lease the
17
+ * user is actively typing into.
18
+ *
19
+ * The value is minted by THIS browser before the takeover goes out (see
20
+ * {@link newTerminalAcquisitionId}) — a server-minted one would only ever come
21
+ * back on a successful response, i.e. never in the one case that needs it.
22
+ */
23
+ acquisition?: string;
9
24
  }
25
+ /**
26
+ * A fresh acquisition id for one takeover.
27
+ *
28
+ * Minted BEFORE the POST leaves, which is the whole point: if the response is
29
+ * lost the pane still knows exactly which acquisition it may have caused, and
30
+ * can compensate for that one and no other. Opaque and non-secret — the server
31
+ * only ever compares it for equality against the acquisition it bound.
32
+ */
33
+ export declare function newTerminalAcquisitionId(): string;
10
34
  export interface PreviewInteractionState {
11
35
  mode: 'preview' | 'interactive';
12
36
  label: string;
@@ -15,8 +39,16 @@ export interface PreviewInteractionState {
15
39
  }
16
40
  export interface WorkbenchApi {
17
41
  getTerminalControl(sessionId: string, signal?: AbortSignal): Promise<TerminalControlState>;
18
- takeoverTerminal(sessionId: string, signal?: AbortSignal): Promise<TerminalControlState>;
19
- releaseTerminal(sessionId: string, signal?: AbortSignal): Promise<TerminalControlState>;
42
+ /** `acquisitionId` names THIS takeover. The caller mints it before calling so
43
+ * a lost response still leaves it able to compensate for exactly this
44
+ * acquisition; the server binds it to the lease. */
45
+ takeoverTerminal(sessionId: string, signal?: AbortSignal, acquisitionId?: string): Promise<TerminalControlState>;
46
+ /** `expectedAcquisition` turns the release into a compare-and-swap: the server
47
+ * only gives the lease up while it is still the acquisition the caller names,
48
+ * and answers `control_lease_superseded` once somebody else has taken it over.
49
+ * Compensation paths (a receipt that outlived its pane, a pane closing before
50
+ * its socket ever bridged) must pass it. */
51
+ releaseTerminal(sessionId: string, signal?: AbortSignal, expectedAcquisition?: string): Promise<TerminalControlState>;
20
52
  getPreviewInteraction(sessionId: string, signal?: AbortSignal): Promise<PreviewInteractionState>;
21
53
  unlockPreview(sessionId: string, signal?: AbortSignal): Promise<PreviewInteractionState>;
22
54
  touchPreview(sessionId: string, signal?: AbortSignal): Promise<PreviewInteractionState>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-workbench-api.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/agent-workbench-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,GAAG,aAAa,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3F,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzF,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxF,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACjG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzF,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACxF,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvF,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACvE;;;;;;;uEAOmE;IACnE,mBAAmB,CACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC7D;8EAC0E;IAC1E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE;;;;6BAIyB;IACzB,eAAe,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACxE;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;IAC5B,0CAA0C;aAC1B,iBAAiB,CAAC,EAAE,MAAM;gBAH1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM;IAC5B,0CAA0C;IAC1B,iBAAiB,CAAC,EAAE,MAAM,YAAA;CAK7C;AA6ID,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,OAAO,KAAa,GAAG,YAAY,CAuGhF"}
1
+ {"version":3,"file":"agent-workbench-api.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/agent-workbench-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAajD;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,GAAG,aAAa,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3F;;yDAEqD;IACrD,gBAAgB,CACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,EACpB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjC;;;;iDAI6C;IAC7C,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,EACpB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjC,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACjG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzF,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACxF,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvF,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACvE;;;;;;;uEAOmE;IACnE,mBAAmB,CACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC7D;8EAC0E;IAC1E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE;;;;6BAIyB;IACzB,eAAe,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACxE;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;IAC5B,0CAA0C;aAC1B,iBAAiB,CAAC,EAAE,MAAM;gBAH1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM;IAC5B,0CAA0C;IAC1B,iBAAiB,CAAC,EAAE,MAAM,YAAA;CAK7C;AA8JD,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,OAAO,KAAa,GAAG,YAAY,CA+GhF"}