botmux 3.5.2 → 3.6.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 (458) hide show
  1. package/README.en.md +56 -396
  2. package/README.md +55 -396
  3. package/dist/.runtime-build-id +1 -0
  4. package/dist/adapters/cli/claude-code.d.ts +6 -0
  5. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  6. package/dist/adapters/cli/claude-code.js +197 -11
  7. package/dist/adapters/cli/claude-code.js.map +1 -1
  8. package/dist/adapters/cli/coco.js +4 -4
  9. package/dist/adapters/cli/coco.js.map +1 -1
  10. package/dist/adapters/cli/codex-app.d.ts.map +1 -1
  11. package/dist/adapters/cli/codex-app.js +9 -6
  12. package/dist/adapters/cli/codex-app.js.map +1 -1
  13. package/dist/adapters/cli/codex.js +5 -5
  14. package/dist/adapters/cli/codex.js.map +1 -1
  15. package/dist/adapters/cli/fs-policy.d.ts.map +1 -1
  16. package/dist/adapters/cli/fs-policy.js +5 -7
  17. package/dist/adapters/cli/fs-policy.js.map +1 -1
  18. package/dist/adapters/cli/grok.d.ts +2 -1
  19. package/dist/adapters/cli/grok.d.ts.map +1 -1
  20. package/dist/adapters/cli/grok.js +2 -1
  21. package/dist/adapters/cli/grok.js.map +1 -1
  22. package/dist/adapters/cli/hermes.d.ts.map +1 -1
  23. package/dist/adapters/cli/hermes.js +8 -4
  24. package/dist/adapters/cli/hermes.js.map +1 -1
  25. package/dist/adapters/cli/mtr.d.ts.map +1 -1
  26. package/dist/adapters/cli/mtr.js +3 -2
  27. package/dist/adapters/cli/mtr.js.map +1 -1
  28. package/dist/adapters/cli/opencode.d.ts.map +1 -1
  29. package/dist/adapters/cli/opencode.js +5 -4
  30. package/dist/adapters/cli/opencode.js.map +1 -1
  31. package/dist/adapters/cli/relay.js +2 -2
  32. package/dist/adapters/cli/relay.js.map +1 -1
  33. package/dist/adapters/cli/runner-input.d.ts +2 -2
  34. package/dist/adapters/cli/runner-input.d.ts.map +1 -1
  35. package/dist/adapters/cli/runner-input.js +9 -6
  36. package/dist/adapters/cli/runner-input.js.map +1 -1
  37. package/dist/adapters/cli/seed.d.ts.map +1 -1
  38. package/dist/adapters/cli/seed.js +2 -1
  39. package/dist/adapters/cli/seed.js.map +1 -1
  40. package/dist/adapters/cli/traex.d.ts.map +1 -1
  41. package/dist/adapters/cli/traex.js +3 -2
  42. package/dist/adapters/cli/traex.js.map +1 -1
  43. package/dist/adapters/cli/types.d.ts +25 -18
  44. package/dist/adapters/cli/types.d.ts.map +1 -1
  45. package/dist/bot-registry.d.ts +28 -0
  46. package/dist/bot-registry.d.ts.map +1 -1
  47. package/dist/bot-registry.js +75 -0
  48. package/dist/bot-registry.js.map +1 -1
  49. package/dist/cli.d.ts.map +1 -1
  50. package/dist/cli.js +272 -86
  51. package/dist/cli.js.map +1 -1
  52. package/dist/codex-app-runner.js +85 -192
  53. package/dist/codex-app-runner.js.map +1 -1
  54. package/dist/config.d.ts +0 -16
  55. package/dist/config.d.ts.map +1 -1
  56. package/dist/config.js +0 -30
  57. package/dist/config.js.map +1 -1
  58. package/dist/core/ask-broker.d.ts +12 -0
  59. package/dist/core/ask-broker.d.ts.map +1 -1
  60. package/dist/core/ask-broker.js +41 -0
  61. package/dist/core/ask-broker.js.map +1 -1
  62. package/dist/core/bot-turn-mutation-gate.d.ts +24 -0
  63. package/dist/core/bot-turn-mutation-gate.d.ts.map +1 -0
  64. package/dist/core/bot-turn-mutation-gate.js +369 -0
  65. package/dist/core/bot-turn-mutation-gate.js.map +1 -0
  66. package/dist/core/command-handler.d.ts +5 -0
  67. package/dist/core/command-handler.d.ts.map +1 -1
  68. package/dist/core/command-handler.js +38 -16
  69. package/dist/core/command-handler.js.map +1 -1
  70. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  71. package/dist/core/dashboard-ipc-server.js +330 -57
  72. package/dist/core/dashboard-ipc-server.js.map +1 -1
  73. package/dist/core/dashboard-rows.d.ts +8 -0
  74. package/dist/core/dashboard-rows.d.ts.map +1 -1
  75. package/dist/core/dashboard-rows.js.map +1 -1
  76. package/dist/core/host-overload-alert.d.ts +157 -0
  77. package/dist/core/host-overload-alert.d.ts.map +1 -0
  78. package/dist/core/host-overload-alert.js +251 -0
  79. package/dist/core/host-overload-alert.js.map +1 -0
  80. package/dist/core/passthrough-commands.d.ts +8 -0
  81. package/dist/core/passthrough-commands.d.ts.map +1 -1
  82. package/dist/core/passthrough-commands.js +19 -0
  83. package/dist/core/passthrough-commands.js.map +1 -1
  84. package/dist/core/restart-coordinator.d.ts +28 -0
  85. package/dist/core/restart-coordinator.d.ts.map +1 -0
  86. package/dist/core/restart-coordinator.js +82 -0
  87. package/dist/core/restart-coordinator.js.map +1 -0
  88. package/dist/core/restart-followup-policy.d.ts +112 -0
  89. package/dist/core/restart-followup-policy.d.ts.map +1 -0
  90. package/dist/core/restart-followup-policy.js +49 -0
  91. package/dist/core/restart-followup-policy.js.map +1 -0
  92. package/dist/core/role-library.d.ts +1 -1
  93. package/dist/core/role-library.js +1 -1
  94. package/dist/core/session-cwd.d.ts.map +1 -1
  95. package/dist/core/session-cwd.js +8 -0
  96. package/dist/core/session-cwd.js.map +1 -1
  97. package/dist/core/session-discovery.d.ts +14 -0
  98. package/dist/core/session-discovery.d.ts.map +1 -1
  99. package/dist/core/session-discovery.js +25 -0
  100. package/dist/core/session-discovery.js.map +1 -1
  101. package/dist/core/session-liveness.d.ts +15 -0
  102. package/dist/core/session-liveness.d.ts.map +1 -0
  103. package/dist/core/session-liveness.js +76 -0
  104. package/dist/core/session-liveness.js.map +1 -0
  105. package/dist/core/session-row-enrichment.d.ts +15 -0
  106. package/dist/core/session-row-enrichment.d.ts.map +1 -0
  107. package/dist/core/session-row-enrichment.js +93 -0
  108. package/dist/core/session-row-enrichment.js.map +1 -0
  109. package/dist/core/slash-inject.js +1 -1
  110. package/dist/core/slash-inject.js.map +1 -1
  111. package/dist/core/trigger-final-suppression.d.ts +24 -0
  112. package/dist/core/trigger-final-suppression.d.ts.map +1 -0
  113. package/dist/core/trigger-final-suppression.js +97 -0
  114. package/dist/core/trigger-final-suppression.js.map +1 -0
  115. package/dist/core/trigger-session.d.ts.map +1 -1
  116. package/dist/core/trigger-session.js +64 -4
  117. package/dist/core/trigger-session.js.map +1 -1
  118. package/dist/core/types.d.ts +6 -0
  119. package/dist/core/types.d.ts.map +1 -1
  120. package/dist/core/types.js.map +1 -1
  121. package/dist/core/worker-pool.d.ts +20 -0
  122. package/dist/core/worker-pool.d.ts.map +1 -1
  123. package/dist/core/worker-pool.js +283 -32
  124. package/dist/core/worker-pool.js.map +1 -1
  125. package/dist/daemon.d.ts +5 -1
  126. package/dist/daemon.d.ts.map +1 -1
  127. package/dist/daemon.js +520 -35
  128. package/dist/daemon.js.map +1 -1
  129. package/dist/dashboard/aggregator.d.ts +1 -0
  130. package/dist/dashboard/aggregator.d.ts.map +1 -1
  131. package/dist/dashboard/aggregator.js +34 -6
  132. package/dist/dashboard/aggregator.js.map +1 -1
  133. package/dist/dashboard/bot-payload.d.ts +3 -0
  134. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  135. package/dist/dashboard/bot-payload.js +3 -0
  136. package/dist/dashboard/bot-payload.js.map +1 -1
  137. package/dist/dashboard/compat.d.ts +102 -2
  138. package/dist/dashboard/compat.d.ts.map +1 -1
  139. package/dist/dashboard/compat.js +78 -14
  140. package/dist/dashboard/compat.js.map +1 -1
  141. package/dist/dashboard/connector-api.d.ts.map +1 -1
  142. package/dist/dashboard/connector-api.js +1 -0
  143. package/dist/dashboard/connector-api.js.map +1 -1
  144. package/dist/dashboard/desktop-asks.d.ts +21 -0
  145. package/dist/dashboard/desktop-asks.d.ts.map +1 -0
  146. package/dist/dashboard/desktop-asks.js +49 -0
  147. package/dist/dashboard/desktop-asks.js.map +1 -0
  148. package/dist/dashboard/public-redact.d.ts +7 -0
  149. package/dist/dashboard/public-redact.d.ts.map +1 -1
  150. package/dist/dashboard/public-redact.js +35 -3
  151. package/dist/dashboard/public-redact.js.map +1 -1
  152. package/dist/dashboard/session-presentation.d.ts +16 -0
  153. package/dist/dashboard/session-presentation.d.ts.map +1 -0
  154. package/dist/dashboard/session-presentation.js +62 -0
  155. package/dist/dashboard/session-presentation.js.map +1 -0
  156. package/dist/dashboard/settings-write-applier.d.ts +2 -1
  157. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  158. package/dist/dashboard/settings-write-applier.js +19 -1
  159. package/dist/dashboard/settings-write-applier.js.map +1 -1
  160. package/dist/dashboard/trigger-api.d.ts.map +1 -1
  161. package/dist/dashboard/trigger-api.js +19 -1
  162. package/dist/dashboard/trigger-api.js.map +1 -1
  163. package/dist/dashboard/vc-consumer-profiles-api.d.ts +7 -2
  164. package/dist/dashboard/vc-consumer-profiles-api.d.ts.map +1 -1
  165. package/dist/dashboard/vc-consumer-profiles-api.js +13 -0
  166. package/dist/dashboard/vc-consumer-profiles-api.js.map +1 -1
  167. package/dist/dashboard/web/app.d.ts.map +1 -1
  168. package/dist/dashboard/web/app.js +18 -5
  169. package/dist/dashboard/web/app.js.map +1 -1
  170. package/dist/dashboard/web/bot-defaults-page.d.ts +1 -1
  171. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  172. package/dist/dashboard/web/bot-defaults-page.js +97 -35
  173. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  174. package/dist/dashboard/web/bot-defaults.d.ts +3 -0
  175. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  176. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  177. package/dist/dashboard/web/client-shell.d.ts +29 -0
  178. package/dist/dashboard/web/client-shell.d.ts.map +1 -0
  179. package/dist/dashboard/web/client-shell.js +89 -0
  180. package/dist/dashboard/web/client-shell.js.map +1 -0
  181. package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
  182. package/dist/dashboard/web/connectors-page.js +5 -1
  183. package/dist/dashboard/web/connectors-page.js.map +1 -1
  184. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  185. package/dist/dashboard/web/i18n.js +100 -8
  186. package/dist/dashboard/web/i18n.js.map +1 -1
  187. package/dist/dashboard/web/preferences.d.ts +7 -0
  188. package/dist/dashboard/web/preferences.d.ts.map +1 -1
  189. package/dist/dashboard/web/preferences.js +32 -0
  190. package/dist/dashboard/web/preferences.js.map +1 -1
  191. package/dist/dashboard/web/sessions-kanban.d.ts +1 -1
  192. package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -1
  193. package/dist/dashboard/web/sessions-kanban.js +1 -1
  194. package/dist/dashboard/web/sessions-kanban.js.map +1 -1
  195. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  196. package/dist/dashboard/web/sessions-page.js +77 -23
  197. package/dist/dashboard/web/sessions-page.js.map +1 -1
  198. package/dist/dashboard/web/sessions.d.ts +4 -0
  199. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  200. package/dist/dashboard/web/sessions.js +14 -1
  201. package/dist/dashboard/web/sessions.js.map +1 -1
  202. package/dist/dashboard/web/settings-page.d.ts +6 -0
  203. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  204. package/dist/dashboard/web/settings-page.js +55 -30
  205. package/dist/dashboard/web/settings-page.js.map +1 -1
  206. package/dist/dashboard/web/store.d.ts +1 -2
  207. package/dist/dashboard/web/store.d.ts.map +1 -1
  208. package/dist/dashboard/web/store.js +69 -20
  209. package/dist/dashboard/web/store.js.map +1 -1
  210. package/dist/dashboard/web/vc-consumer-profiles-section.d.ts.map +1 -1
  211. package/dist/dashboard/web/vc-consumer-profiles-section.js +128 -42
  212. package/dist/dashboard/web/vc-consumer-profiles-section.js.map +1 -1
  213. package/dist/dashboard/webhook-routes.d.ts.map +1 -1
  214. package/dist/dashboard/webhook-routes.js +9 -2
  215. package/dist/dashboard/webhook-routes.js.map +1 -1
  216. package/dist/dashboard-web/app.js +1 -1
  217. package/dist/dashboard-web/chunks/bot-defaults-page-VQMPUJ4Y.js +10 -0
  218. package/dist/dashboard-web/chunks/chunk-AGCPF6MT.js +1 -0
  219. package/dist/dashboard-web/chunks/{chunk-KPQAUX7V.js → chunk-JMRGZQDB.js} +1 -1
  220. package/dist/dashboard-web/chunks/{chunk-R7IAKAYX.js → chunk-NP4JUBGS.js} +1 -1
  221. package/dist/dashboard-web/chunks/{chunk-NRL6CVAS.js → chunk-P327LXOT.js} +1 -1
  222. package/dist/dashboard-web/chunks/{chunk-X2L65IOM.js → chunk-SNKATZWK.js} +15 -15
  223. package/dist/dashboard-web/chunks/connectors-page-DOY4J3ZL.js +1 -0
  224. package/dist/dashboard-web/chunks/{groups-page-6DKXBYOM.js → groups-page-74TS2DIH.js} +1 -1
  225. package/dist/dashboard-web/chunks/{insights-page-NWARTJ6J.js → insights-page-AYCO65JC.js} +1 -1
  226. package/dist/dashboard-web/chunks/{monitor-room-AGX3XRJX.js → monitor-room-YKYLTSAN.js} +1 -1
  227. package/dist/dashboard-web/chunks/{monitoring-page-GGGIWN4C.js → monitoring-page-QBIUNRBR.js} +1 -1
  228. package/dist/dashboard-web/chunks/{office-page-6SIVKSK3.js → office-page-4PH2A26P.js} +1 -1
  229. package/dist/dashboard-web/chunks/overview-page-H73D5UT4.js +1 -0
  230. package/dist/dashboard-web/chunks/{roles-page-WE2YB7KN.js → roles-page-U4BTOQ7F.js} +1 -1
  231. package/dist/dashboard-web/chunks/{schedules-page-TB3I24XN.js → schedules-page-RHRHX7R7.js} +1 -1
  232. package/dist/dashboard-web/chunks/sessions-page-VSC6AM5G.js +2 -0
  233. package/dist/dashboard-web/chunks/settings-page-LF3RKM5P.js +2 -0
  234. package/dist/dashboard-web/chunks/{skills-page-3QAT2IWD.js → skills-page-SYOIGGXH.js} +1 -1
  235. package/dist/dashboard-web/chunks/{team-federation-page-K4VVAVAK.js → team-federation-page-RMBLASTW.js} +1 -1
  236. package/dist/dashboard-web/chunks/{v3-page-V6IOJR2B.js → v3-page-XJXKKJRN.js} +1 -1
  237. package/dist/dashboard-web/chunks/{whiteboards-page-V6CGKRNX.js → whiteboards-page-K3YVSTHJ.js} +1 -1
  238. package/dist/dashboard-web/style.css +551 -0
  239. package/dist/dashboard.js +153 -9
  240. package/dist/dashboard.js.map +1 -1
  241. package/dist/global-config.d.ts +11 -0
  242. package/dist/global-config.d.ts.map +1 -1
  243. package/dist/global-config.js +23 -0
  244. package/dist/global-config.js.map +1 -1
  245. package/dist/i18n/en.d.ts.map +1 -1
  246. package/dist/i18n/en.js +5 -0
  247. package/dist/i18n/en.js.map +1 -1
  248. package/dist/i18n/zh.d.ts.map +1 -1
  249. package/dist/i18n/zh.js +5 -0
  250. package/dist/i18n/zh.js.map +1 -1
  251. package/dist/im/lark/card-builder.d.ts +1 -1
  252. package/dist/im/lark/card-builder.js +1 -1
  253. package/dist/im/lark/card-handler.d.ts +10 -0
  254. package/dist/im/lark/card-handler.d.ts.map +1 -1
  255. package/dist/im/lark/card-handler.js +163 -17
  256. package/dist/im/lark/card-handler.js.map +1 -1
  257. package/dist/im/lark/client.d.ts +11 -0
  258. package/dist/im/lark/client.d.ts.map +1 -1
  259. package/dist/im/lark/client.js +47 -18
  260. package/dist/im/lark/client.js.map +1 -1
  261. package/dist/im/lark/event-dispatcher.d.ts +13 -0
  262. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  263. package/dist/im/lark/event-dispatcher.js +20 -0
  264. package/dist/im/lark/event-dispatcher.js.map +1 -1
  265. package/dist/im/lark/identity-cache.d.ts +25 -1
  266. package/dist/im/lark/identity-cache.d.ts.map +1 -1
  267. package/dist/im/lark/identity-cache.js +47 -1
  268. package/dist/im/lark/identity-cache.js.map +1 -1
  269. package/dist/im/lark/overload-nonce.d.ts +19 -0
  270. package/dist/im/lark/overload-nonce.d.ts.map +1 -0
  271. package/dist/im/lark/overload-nonce.js +72 -0
  272. package/dist/im/lark/overload-nonce.js.map +1 -0
  273. package/dist/im/lark/v3-progress-card.d.ts.map +1 -1
  274. package/dist/im/lark/v3-progress-card.js +5 -0
  275. package/dist/im/lark/v3-progress-card.js.map +1 -1
  276. package/dist/services/async-trigger-state.d.ts +82 -0
  277. package/dist/services/async-trigger-state.d.ts.map +1 -0
  278. package/dist/services/async-trigger-state.js +95 -0
  279. package/dist/services/async-trigger-state.js.map +1 -0
  280. package/dist/services/async-trigger-store.d.ts +28 -0
  281. package/dist/services/async-trigger-store.d.ts.map +1 -0
  282. package/dist/services/async-trigger-store.js +120 -0
  283. package/dist/services/async-trigger-store.js.map +1 -0
  284. package/dist/services/bot-config-store.d.ts.map +1 -1
  285. package/dist/services/bot-config-store.js +34 -2
  286. package/dist/services/bot-config-store.js.map +1 -1
  287. package/dist/services/bridge-fallback-gate.d.ts +32 -0
  288. package/dist/services/bridge-fallback-gate.d.ts.map +1 -1
  289. package/dist/services/bridge-fallback-gate.js +39 -0
  290. package/dist/services/bridge-fallback-gate.js.map +1 -1
  291. package/dist/services/bridge-turn-queue.d.ts.map +1 -1
  292. package/dist/services/bridge-turn-queue.js +15 -1
  293. package/dist/services/bridge-turn-queue.js.map +1 -1
  294. package/dist/services/card-prefs-store.d.ts +4 -0
  295. package/dist/services/card-prefs-store.d.ts.map +1 -1
  296. package/dist/services/card-prefs-store.js +8 -0
  297. package/dist/services/card-prefs-store.js.map +1 -1
  298. package/dist/services/claude-transcript.d.ts +23 -0
  299. package/dist/services/claude-transcript.d.ts.map +1 -1
  300. package/dist/services/claude-transcript.js +33 -0
  301. package/dist/services/claude-transcript.js.map +1 -1
  302. package/dist/services/codex-app-runner-protocol.d.ts +61 -0
  303. package/dist/services/codex-app-runner-protocol.d.ts.map +1 -0
  304. package/dist/services/codex-app-runner-protocol.js +170 -0
  305. package/dist/services/codex-app-runner-protocol.js.map +1 -0
  306. package/dist/services/codex-app-turn-controller.d.ts +72 -0
  307. package/dist/services/codex-app-turn-controller.d.ts.map +1 -0
  308. package/dist/services/codex-app-turn-controller.js +524 -0
  309. package/dist/services/codex-app-turn-controller.js.map +1 -0
  310. package/dist/services/codex-runner-freshness.d.ts +39 -0
  311. package/dist/services/codex-runner-freshness.d.ts.map +1 -0
  312. package/dist/services/codex-runner-freshness.js +78 -0
  313. package/dist/services/codex-runner-freshness.js.map +1 -0
  314. package/dist/services/connector-store.d.ts +6 -0
  315. package/dist/services/connector-store.d.ts.map +1 -1
  316. package/dist/services/connector-store.js.map +1 -1
  317. package/dist/services/grant-store.d.ts.map +1 -1
  318. package/dist/services/grant-store.js +16 -0
  319. package/dist/services/grant-store.js.map +1 -1
  320. package/dist/services/hermes-transcript.d.ts +1 -0
  321. package/dist/services/hermes-transcript.d.ts.map +1 -1
  322. package/dist/services/hermes-transcript.js +49 -0
  323. package/dist/services/hermes-transcript.js.map +1 -1
  324. package/dist/services/schedule-split-migration.d.ts +2 -0
  325. package/dist/services/schedule-split-migration.d.ts.map +1 -0
  326. package/dist/services/schedule-split-migration.js +159 -0
  327. package/dist/services/schedule-split-migration.js.map +1 -0
  328. package/dist/services/schedule-store.d.ts +28 -4
  329. package/dist/services/schedule-store.d.ts.map +1 -1
  330. package/dist/services/schedule-store.js +118 -33
  331. package/dist/services/schedule-store.js.map +1 -1
  332. package/dist/services/trigger-types.d.ts +18 -1
  333. package/dist/services/trigger-types.d.ts.map +1 -1
  334. package/dist/services/trigger-types.js +3 -0
  335. package/dist/services/trigger-types.js.map +1 -1
  336. package/dist/services/vc-meeting-consumer-profile-store.d.ts.map +1 -1
  337. package/dist/services/vc-meeting-consumer-profile-store.js +1 -0
  338. package/dist/services/vc-meeting-consumer-profile-store.js.map +1 -1
  339. package/dist/services/vc-meeting-consumer-profile-templates.d.ts +32 -0
  340. package/dist/services/vc-meeting-consumer-profile-templates.d.ts.map +1 -0
  341. package/dist/services/vc-meeting-consumer-profile-templates.js +106 -0
  342. package/dist/services/vc-meeting-consumer-profile-templates.js.map +1 -0
  343. package/dist/services/vc-meeting-delivery-feed.d.ts +1 -1
  344. package/dist/services/vc-meeting-delivery-feed.d.ts.map +1 -1
  345. package/dist/services/vc-meeting-delivery-feed.js +2 -1
  346. package/dist/services/vc-meeting-delivery-feed.js.map +1 -1
  347. package/dist/services/vc-meeting-delivery-hub-store.d.ts +3 -1
  348. package/dist/services/vc-meeting-delivery-hub-store.d.ts.map +1 -1
  349. package/dist/services/vc-meeting-delivery-hub-store.js +11 -0
  350. package/dist/services/vc-meeting-delivery-hub-store.js.map +1 -1
  351. package/dist/services/vc-meeting-delivery-protocol.d.ts +9 -2
  352. package/dist/services/vc-meeting-delivery-protocol.d.ts.map +1 -1
  353. package/dist/services/vc-meeting-delivery-protocol.js +10 -1
  354. package/dist/services/vc-meeting-delivery-protocol.js.map +1 -1
  355. package/dist/services/vc-meeting-delivery-receiver.d.ts.map +1 -1
  356. package/dist/services/vc-meeting-delivery-receiver.js +10 -1
  357. package/dist/services/vc-meeting-delivery-receiver.js.map +1 -1
  358. package/dist/services/vc-meeting-delivery-store.d.ts +12 -2
  359. package/dist/services/vc-meeting-delivery-store.d.ts.map +1 -1
  360. package/dist/services/vc-meeting-delivery-store.js +14 -2
  361. package/dist/services/vc-meeting-delivery-store.js.map +1 -1
  362. package/dist/services/vc-meeting-im-reply.d.ts +2 -1
  363. package/dist/services/vc-meeting-im-reply.d.ts.map +1 -1
  364. package/dist/services/vc-meeting-im-reply.js +19 -3
  365. package/dist/services/vc-meeting-im-reply.js.map +1 -1
  366. package/dist/services/vc-meeting-listener-output-protocol.d.ts +27 -0
  367. package/dist/services/vc-meeting-listener-output-protocol.d.ts.map +1 -0
  368. package/dist/services/vc-meeting-listener-output-protocol.js +58 -0
  369. package/dist/services/vc-meeting-listener-output-protocol.js.map +1 -0
  370. package/dist/services/vc-meeting-listener-topic-store.d.ts +31 -0
  371. package/dist/services/vc-meeting-listener-topic-store.d.ts.map +1 -0
  372. package/dist/services/vc-meeting-listener-topic-store.js +120 -0
  373. package/dist/services/vc-meeting-listener-topic-store.js.map +1 -0
  374. package/dist/services/vc-meeting-runtime-store.d.ts +2 -1
  375. package/dist/services/vc-meeting-runtime-store.d.ts.map +1 -1
  376. package/dist/services/vc-meeting-runtime-store.js +8 -0
  377. package/dist/services/vc-meeting-runtime-store.js.map +1 -1
  378. package/dist/services/vc-meeting-send-policy.d.ts +8 -1
  379. package/dist/services/vc-meeting-send-policy.d.ts.map +1 -1
  380. package/dist/services/vc-meeting-send-policy.js +8 -0
  381. package/dist/services/vc-meeting-send-policy.js.map +1 -1
  382. package/dist/types.d.ts +40 -3
  383. package/dist/types.d.ts.map +1 -1
  384. package/dist/utils/allowed-users-apply.d.ts +76 -0
  385. package/dist/utils/allowed-users-apply.d.ts.map +1 -0
  386. package/dist/utils/allowed-users-apply.js +123 -0
  387. package/dist/utils/allowed-users-apply.js.map +1 -0
  388. package/dist/utils/allowed-users-cache.d.ts +29 -0
  389. package/dist/utils/allowed-users-cache.d.ts.map +1 -0
  390. package/dist/utils/allowed-users-cache.js +82 -0
  391. package/dist/utils/allowed-users-cache.js.map +1 -0
  392. package/dist/utils/child-env.d.ts +2 -1
  393. package/dist/utils/child-env.d.ts.map +1 -1
  394. package/dist/utils/child-env.js +2 -1
  395. package/dist/utils/child-env.js.map +1 -1
  396. package/dist/utils/cli-usage-limit.d.ts +27 -1
  397. package/dist/utils/cli-usage-limit.d.ts.map +1 -1
  398. package/dist/utils/cli-usage-limit.js +92 -20
  399. package/dist/utils/cli-usage-limit.js.map +1 -1
  400. package/dist/utils/input-gate.d.ts +2 -0
  401. package/dist/utils/input-gate.d.ts.map +1 -1
  402. package/dist/utils/input-gate.js +2 -0
  403. package/dist/utils/input-gate.js.map +1 -1
  404. package/dist/utils/runtime-build-id.d.ts +21 -0
  405. package/dist/utils/runtime-build-id.d.ts.map +1 -0
  406. package/dist/utils/runtime-build-id.js +83 -0
  407. package/dist/utils/runtime-build-id.js.map +1 -0
  408. package/dist/utils/terminal-renderer.d.ts +3 -3
  409. package/dist/utils/terminal-renderer.js +3 -3
  410. package/dist/vc-agent/cards.d.ts.map +1 -1
  411. package/dist/vc-agent/cards.js +21 -1
  412. package/dist/vc-agent/cards.js.map +1 -1
  413. package/dist/worker.js +601 -179
  414. package/dist/worker.js.map +1 -1
  415. package/dist/workflows/hostExecutors/botmux-schedule.d.ts.map +1 -1
  416. package/dist/workflows/hostExecutors/botmux-schedule.js +13 -1
  417. package/dist/workflows/hostExecutors/botmux-schedule.js.map +1 -1
  418. package/dist/workflows/migration/v2-run-archive-schema.d.ts +20 -20
  419. package/dist/workflows/migration/v2-to-v3.d.ts.map +1 -1
  420. package/dist/workflows/migration/v2-to-v3.js +5 -1
  421. package/dist/workflows/migration/v2-to-v3.js.map +1 -1
  422. package/dist/workflows/v3/architect.d.ts.map +1 -1
  423. package/dist/workflows/v3/architect.js +1 -0
  424. package/dist/workflows/v3/architect.js.map +1 -1
  425. package/dist/workflows/v3/cli-run.d.ts +9 -0
  426. package/dist/workflows/v3/cli-run.d.ts.map +1 -1
  427. package/dist/workflows/v3/cli-run.js +17 -2
  428. package/dist/workflows/v3/cli-run.js.map +1 -1
  429. package/dist/workflows/v3/goal-cli.d.ts +58 -0
  430. package/dist/workflows/v3/goal-cli.d.ts.map +1 -0
  431. package/dist/workflows/v3/goal-cli.js +430 -0
  432. package/dist/workflows/v3/goal-cli.js.map +1 -0
  433. package/dist/workflows/v3/library-materialize.d.ts.map +1 -1
  434. package/dist/workflows/v3/library-materialize.js +5 -1
  435. package/dist/workflows/v3/library-materialize.js.map +1 -1
  436. package/dist/workflows/v3/library-schema.d.ts +21 -0
  437. package/dist/workflows/v3/library-schema.d.ts.map +1 -1
  438. package/dist/workflows/v3/library-schema.js +95 -1
  439. package/dist/workflows/v3/library-schema.js.map +1 -1
  440. package/dist/workflows/v3/progress-projection.d.ts +3 -0
  441. package/dist/workflows/v3/progress-projection.d.ts.map +1 -1
  442. package/dist/workflows/v3/progress-projection.js +23 -1
  443. package/dist/workflows/v3/progress-projection.js.map +1 -1
  444. package/dist/workflows/v3/run-envelope.d.ts +46 -1
  445. package/dist/workflows/v3/run-envelope.d.ts.map +1 -1
  446. package/dist/workflows/v3/run-envelope.js +32 -1
  447. package/dist/workflows/v3/run-envelope.js.map +1 -1
  448. package/package.json +2 -2
  449. package/dist/dashboard-web/chunks/bot-defaults-page-AUKV7P4L.js +0 -10
  450. package/dist/dashboard-web/chunks/chunk-SZOB6VK2.js +0 -1
  451. package/dist/dashboard-web/chunks/connectors-page-HDQFEXZI.js +0 -1
  452. package/dist/dashboard-web/chunks/overview-page-FVR3NKAF.js +0 -1
  453. package/dist/dashboard-web/chunks/sessions-page-KOOOASIL.js +0 -2
  454. package/dist/dashboard-web/chunks/settings-page-IEBR7TGN.js +0 -2
  455. package/dist/utils/screen-analyzer.d.ts +0 -75
  456. package/dist/utils/screen-analyzer.d.ts.map +0 -1
  457. package/dist/utils/screen-analyzer.js +0 -333
  458. package/dist/utils/screen-analyzer.js.map +0 -1
@@ -2042,6 +2042,104 @@ tr[data-chat]:hover { background: var(--surface-muted); cursor: pointer; }
2042
2042
  text-overflow: ellipsis;
2043
2043
  }
2044
2044
 
2045
+ /* ── 表格列显隐下拉菜单 ─────────────────────────────────────────────── */
2046
+ .session-table-columns-th {
2047
+ position: relative;
2048
+ padding: 0;
2049
+ }
2050
+
2051
+ .session-table-columns-menu {
2052
+ position: relative;
2053
+ display: inline-block;
2054
+ }
2055
+
2056
+ .session-table-columns-menu > summary {
2057
+ display: inline-flex;
2058
+ align-items: center;
2059
+ gap: 4px;
2060
+ cursor: pointer;
2061
+ padding: 4px 8px;
2062
+ border-radius: 6px;
2063
+ font-size: 12px;
2064
+ white-space: nowrap;
2065
+ user-select: none;
2066
+ }
2067
+
2068
+ .session-table-columns-menu > summary:hover {
2069
+ background: rgba(127, 90, 240, 0.12);
2070
+ }
2071
+
2072
+ .session-table-columns-menu > summary::-webkit-details-marker {
2073
+ display: none;
2074
+ }
2075
+
2076
+ .session-table-columns-icon svg {
2077
+ width: 14px;
2078
+ height: 14px;
2079
+ stroke: currentColor;
2080
+ fill: none;
2081
+ stroke-width: 1.5;
2082
+ stroke-linecap: round;
2083
+ }
2084
+
2085
+ .session-table-columns-dropdown {
2086
+ position: absolute;
2087
+ top: 100%;
2088
+ right: 0;
2089
+ z-index: 50;
2090
+ min-width: 160px;
2091
+ margin-top: 4px;
2092
+ padding: 8px;
2093
+ border-radius: 8px;
2094
+ background: var(--surface, #fff);
2095
+ border: 1px solid rgba(127, 90, 240, 0.2);
2096
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
2097
+ }
2098
+
2099
+ .session-table-columns-header {
2100
+ display: flex;
2101
+ align-items: center;
2102
+ justify-content: space-between;
2103
+ gap: 8px;
2104
+ margin-bottom: 6px;
2105
+ padding-bottom: 6px;
2106
+ border-bottom: 1px solid rgba(127, 90, 240, 0.15);
2107
+ font-size: 12px;
2108
+ font-weight: 600;
2109
+ }
2110
+
2111
+ .session-table-columns-reset {
2112
+ font-size: 11px;
2113
+ padding: 2px 6px;
2114
+ border-radius: 4px;
2115
+ border: 1px solid rgba(127, 90, 240, 0.25);
2116
+ background: transparent;
2117
+ cursor: pointer;
2118
+ }
2119
+
2120
+ .session-table-columns-reset:hover {
2121
+ background: rgba(127, 90, 240, 0.12);
2122
+ }
2123
+
2124
+ .session-table-columns-item {
2125
+ display: flex;
2126
+ align-items: center;
2127
+ gap: 6px;
2128
+ padding: 4px 4px;
2129
+ font-size: 12px;
2130
+ cursor: pointer;
2131
+ border-radius: 4px;
2132
+ }
2133
+
2134
+ .session-table-columns-item:hover {
2135
+ background: rgba(127, 90, 240, 0.08);
2136
+ }
2137
+
2138
+ .session-table-columns-item input[type="checkbox"] {
2139
+ margin: 0;
2140
+ cursor: pointer;
2141
+ }
2142
+
2045
2143
  button,
2046
2144
  .btn-link {
2047
2145
  min-height: 32px;
@@ -17498,6 +17596,41 @@ form.dashboard-toolbar > input[type="text"]:focus {
17498
17596
  min-width: 0;
17499
17597
  }
17500
17598
 
17599
+ .settings-module {
17600
+ display: grid;
17601
+ gap: 10px;
17602
+ min-width: 0;
17603
+ }
17604
+
17605
+ .settings-module + .settings-module {
17606
+ margin-top: 8px;
17607
+ }
17608
+
17609
+ .settings-module-heading {
17610
+ display: flex;
17611
+ align-items: baseline;
17612
+ gap: 12px;
17613
+ padding: 0 2px;
17614
+ }
17615
+
17616
+ .settings-module-heading h2,
17617
+ .settings-module-heading p {
17618
+ margin: 0;
17619
+ }
17620
+
17621
+ .settings-module-heading h2 {
17622
+ flex: none;
17623
+ color: var(--fg);
17624
+ font-size: 15px;
17625
+ font-weight: 780;
17626
+ }
17627
+
17628
+ .settings-module-heading p {
17629
+ color: var(--muted);
17630
+ font-size: 12px;
17631
+ line-height: 1.5;
17632
+ }
17633
+
17501
17634
  .settings-page .settings-primary-grid {
17502
17635
  grid-template-columns: repeat(6, minmax(0, 1fr));
17503
17636
  grid-auto-rows: 1fr;
@@ -17545,6 +17678,14 @@ form.dashboard-toolbar > input[type="text"]:focus {
17545
17678
  grid-column: span 2;
17546
17679
  }
17547
17680
 
17681
+ .settings-group-meeting .settings-group-card {
17682
+ grid-template-columns: 1fr;
17683
+ }
17684
+
17685
+ .settings-group-meeting .settings-vc-block {
17686
+ grid-column: 1 / -1;
17687
+ }
17688
+
17548
17689
  .settings-group-ops .settings-group-card {
17549
17690
  grid-template-columns: minmax(360px, 5fr) minmax(0, 7fr);
17550
17691
  }
@@ -17927,6 +18068,11 @@ form.dashboard-toolbar > input[type="text"]:focus {
17927
18068
  padding: 8px 0 2px;
17928
18069
  min-width: 0;
17929
18070
  }
18071
+ .settings-page .settings-group-prefix-editor .settings-field-row {
18072
+ grid-template-columns: 1fr;
18073
+ align-items: start;
18074
+ gap: 8px;
18075
+ }
17930
18076
  .settings-page .settings-subfield-hint {
17931
18077
  margin: 0;
17932
18078
  font-size: 12px;
@@ -18152,6 +18298,12 @@ input.office-proxy-input[type="text"]:not([type=checkbox]):not([type=radio]):not
18152
18298
  gap: 8px;
18153
18299
  }
18154
18300
 
18301
+ .settings-module-heading {
18302
+ align-items: flex-start;
18303
+ flex-direction: column;
18304
+ gap: 3px;
18305
+ }
18306
+
18155
18307
  .settings-block-title-extra {
18156
18308
  width: 100%;
18157
18309
  justify-content: flex-start;
@@ -23183,6 +23335,65 @@ button.ui-refresh-button.is-loading .ui-action-icon {
23183
23335
  font-size: 11px;
23184
23336
  opacity: 0.6;
23185
23337
  }
23338
+ .vc-profile-template-catalog {
23339
+ display: flex;
23340
+ flex-direction: column;
23341
+ gap: 8px;
23342
+ padding: 12px;
23343
+ border: 1px solid var(--border-soft);
23344
+ border-radius: 10px;
23345
+ background: color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);
23346
+ }
23347
+ .vc-profile-template-heading {
23348
+ display: flex;
23349
+ align-items: center;
23350
+ gap: 8px;
23351
+ }
23352
+ .vc-profile-template-heading > span {
23353
+ padding: 2px 7px;
23354
+ border-radius: 999px;
23355
+ background: color-mix(in srgb, var(--accent) 14%, transparent);
23356
+ color: var(--accent);
23357
+ font-size: 10px;
23358
+ font-weight: 700;
23359
+ }
23360
+ .vc-profile-template-grid {
23361
+ display: grid;
23362
+ grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
23363
+ gap: 8px;
23364
+ }
23365
+ .vc-profile-template-card {
23366
+ display: flex;
23367
+ flex-direction: column;
23368
+ align-items: flex-start;
23369
+ gap: 6px;
23370
+ min-width: 0;
23371
+ padding: 10px;
23372
+ border: 1px solid var(--border-soft);
23373
+ border-radius: 8px;
23374
+ background: var(--surface);
23375
+ }
23376
+ .vc-profile-template-card p {
23377
+ flex: 1;
23378
+ margin: 0;
23379
+ color: var(--muted);
23380
+ font-size: 11px;
23381
+ line-height: 1.5;
23382
+ }
23383
+ .vc-profile-template-use {
23384
+ border: 1px solid var(--accent, #4a7dff);
23385
+ border-radius: 6px;
23386
+ padding: 4px 9px;
23387
+ background: transparent;
23388
+ color: var(--accent, #4a7dff);
23389
+ font: inherit;
23390
+ font-size: 11px;
23391
+ cursor: pointer;
23392
+ }
23393
+ .vc-profile-template-use:disabled {
23394
+ opacity: 0.5;
23395
+ cursor: default;
23396
+ }
23186
23397
  .vc-profile-err {
23187
23398
  font-style: normal;
23188
23399
  font-size: 11px;
@@ -23224,6 +23435,346 @@ button.ui-refresh-button.is-loading .ui-action-icon {
23224
23435
  cursor: default;
23225
23436
  }
23226
23437
 
23438
+ /* Compact preset library: cards are summaries; configuration lives in dialogs. */
23439
+ .vc-profile-library-section,
23440
+ .vc-profile-template-catalog {
23441
+ display: grid;
23442
+ gap: 12px;
23443
+ padding: 0;
23444
+ border: 0;
23445
+ background: transparent;
23446
+ }
23447
+
23448
+ .vc-profile-library-section + .vc-profile-template-catalog {
23449
+ margin-top: 8px;
23450
+ padding-top: 20px;
23451
+ border-top: 1px solid var(--border-soft);
23452
+ }
23453
+
23454
+ .vc-profile-list-heading,
23455
+ .vc-profile-template-heading {
23456
+ display: flex;
23457
+ align-items: flex-start;
23458
+ justify-content: space-between;
23459
+ gap: 16px;
23460
+ }
23461
+
23462
+ .vc-profile-list-heading > div,
23463
+ .vc-profile-template-heading > div {
23464
+ display: grid;
23465
+ gap: 4px;
23466
+ }
23467
+
23468
+ .vc-profile-list-heading strong,
23469
+ .vc-profile-template-heading strong {
23470
+ color: var(--fg);
23471
+ font-size: 13px;
23472
+ }
23473
+
23474
+ .vc-profile-list-heading p,
23475
+ .vc-profile-template-heading p {
23476
+ max-width: 720px;
23477
+ margin: 0;
23478
+ color: var(--muted);
23479
+ font-size: 11.5px;
23480
+ line-height: 1.5;
23481
+ }
23482
+
23483
+ .vc-profile-add {
23484
+ flex: none;
23485
+ min-height: 32px;
23486
+ padding: 0 12px;
23487
+ border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--border-soft));
23488
+ border-radius: var(--radius-full);
23489
+ background: color-mix(in srgb, var(--accent) 7%, var(--surface));
23490
+ font-weight: 700;
23491
+ }
23492
+
23493
+ .vc-profile-card-grid,
23494
+ .vc-profile-template-grid {
23495
+ display: grid;
23496
+ grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
23497
+ gap: 10px;
23498
+ }
23499
+
23500
+ .vc-profile-summary-card,
23501
+ .vc-profile-template-card {
23502
+ box-sizing: border-box;
23503
+ min-width: 0;
23504
+ min-height: 164px;
23505
+ padding: 14px;
23506
+ border: 1px solid var(--border-soft);
23507
+ border-radius: var(--radius-lg);
23508
+ background: var(--surface);
23509
+ color: var(--fg);
23510
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.035);
23511
+ cursor: pointer;
23512
+ transition: border-color 140ms ease, background 140ms ease, transform 140ms ease, box-shadow 140ms ease;
23513
+ }
23514
+
23515
+ .vc-profile-summary-card:hover,
23516
+ .vc-profile-summary-card:focus-visible,
23517
+ .vc-profile-template-card:hover,
23518
+ .vc-profile-template-card:focus-visible {
23519
+ border-color: color-mix(in srgb, var(--accent) 52%, var(--border-soft));
23520
+ background: color-mix(in srgb, var(--accent) 4%, var(--surface));
23521
+ box-shadow: 0 8px 22px color-mix(in srgb, var(--accent) 10%, transparent);
23522
+ outline: none;
23523
+ transform: translateY(-1px);
23524
+ }
23525
+
23526
+ .vc-profile-summary-card {
23527
+ display: flex;
23528
+ flex-direction: column;
23529
+ gap: 10px;
23530
+ }
23531
+
23532
+ .vc-profile-summary-top {
23533
+ display: grid;
23534
+ grid-template-columns: 34px minmax(0, 1fr) auto;
23535
+ align-items: center;
23536
+ gap: 9px;
23537
+ }
23538
+
23539
+ .vc-profile-summary-icon {
23540
+ display: inline-flex;
23541
+ align-items: center;
23542
+ justify-content: center;
23543
+ width: 34px;
23544
+ height: 34px;
23545
+ border-radius: 10px;
23546
+ background: color-mix(in srgb, var(--accent) 13%, var(--surface));
23547
+ color: var(--accent);
23548
+ font-size: 14px;
23549
+ font-weight: 800;
23550
+ }
23551
+
23552
+ .vc-profile-summary-top > div {
23553
+ display: grid;
23554
+ gap: 2px;
23555
+ min-width: 0;
23556
+ }
23557
+
23558
+ .vc-profile-summary-top strong,
23559
+ .vc-profile-summary-top code {
23560
+ overflow: hidden;
23561
+ text-overflow: ellipsis;
23562
+ white-space: nowrap;
23563
+ }
23564
+
23565
+ .vc-profile-summary-top strong { font-size: 12.5px; }
23566
+ .vc-profile-summary-top code { color: var(--faint); font-size: 10.5px; }
23567
+ .vc-profile-summary-top > em {
23568
+ padding: 2px 7px;
23569
+ border-radius: var(--radius-full);
23570
+ background: color-mix(in srgb, var(--warning) 12%, transparent);
23571
+ color: var(--warning);
23572
+ font-size: 10px;
23573
+ font-style: normal;
23574
+ font-weight: 700;
23575
+ }
23576
+
23577
+ .vc-profile-summary-card > p {
23578
+ display: -webkit-box;
23579
+ flex: 1;
23580
+ min-height: 34px;
23581
+ margin: 0;
23582
+ overflow: hidden;
23583
+ color: var(--muted);
23584
+ font-size: 11px;
23585
+ line-height: 1.55;
23586
+ -webkit-box-orient: vertical;
23587
+ -webkit-line-clamp: 2;
23588
+ }
23589
+
23590
+ .vc-profile-summary-meta {
23591
+ display: flex;
23592
+ flex-wrap: wrap;
23593
+ gap: 6px;
23594
+ }
23595
+
23596
+ .vc-profile-summary-meta span,
23597
+ .vc-profile-template-events span {
23598
+ padding: 3px 7px;
23599
+ border-radius: var(--radius-full);
23600
+ background: var(--surface-muted);
23601
+ color: var(--muted);
23602
+ font-size: 10px;
23603
+ }
23604
+
23605
+ .vc-profile-default-toggle {
23606
+ display: inline-flex;
23607
+ align-items: center;
23608
+ gap: 6px;
23609
+ width: fit-content;
23610
+ color: var(--muted);
23611
+ font-size: 11px;
23612
+ cursor: pointer;
23613
+ }
23614
+
23615
+ .vc-profile-template-card {
23616
+ display: grid;
23617
+ grid-template-columns: 28px minmax(0, 1fr);
23618
+ grid-template-rows: auto 1fr auto;
23619
+ align-items: start;
23620
+ gap: 6px 9px;
23621
+ text-align: left;
23622
+ }
23623
+
23624
+ .vc-profile-template-card > span {
23625
+ display: inline-flex;
23626
+ align-items: center;
23627
+ justify-content: center;
23628
+ width: 28px;
23629
+ height: 28px;
23630
+ grid-row: 1 / span 2;
23631
+ border-radius: 9px;
23632
+ background: color-mix(in srgb, var(--accent) 12%, var(--surface));
23633
+ color: var(--accent);
23634
+ }
23635
+
23636
+ .vc-profile-template-card > strong { margin-top: 5px; font-size: 12.5px; }
23637
+ .vc-profile-template-card > p {
23638
+ display: -webkit-box;
23639
+ margin: 0;
23640
+ overflow: hidden;
23641
+ color: var(--muted);
23642
+ font-size: 11px;
23643
+ line-height: 1.5;
23644
+ -webkit-box-orient: vertical;
23645
+ -webkit-line-clamp: 3;
23646
+ }
23647
+ .vc-profile-template-card > em {
23648
+ grid-column: 2;
23649
+ color: var(--accent);
23650
+ font-size: 10.5px;
23651
+ font-style: normal;
23652
+ font-weight: 700;
23653
+ }
23654
+
23655
+ .vc-profile-empty {
23656
+ margin: 0;
23657
+ padding: 22px;
23658
+ border: 1px dashed var(--border-soft);
23659
+ border-radius: var(--radius-lg);
23660
+ color: var(--muted);
23661
+ font-size: 12px;
23662
+ text-align: center;
23663
+ }
23664
+
23665
+ .vc-profile-default-mode-row {
23666
+ max-width: 560px;
23667
+ margin-top: 4px;
23668
+ }
23669
+
23670
+ .vc-profile-dialog {
23671
+ width: min(760px, calc(100vw - 28px));
23672
+ max-height: min(88vh, 900px);
23673
+ padding: 0;
23674
+ overflow: hidden;
23675
+ border: 1px solid var(--border-soft);
23676
+ border-radius: 16px;
23677
+ background: var(--surface);
23678
+ color: var(--fg);
23679
+ box-shadow: var(--modal-shadow);
23680
+ }
23681
+
23682
+ .vc-profile-dialog::backdrop {
23683
+ background: rgba(10, 14, 24, 0.5);
23684
+ backdrop-filter: blur(3px);
23685
+ }
23686
+
23687
+ .vc-profile-dialog[open] {
23688
+ display: flex;
23689
+ flex-direction: column;
23690
+ }
23691
+
23692
+ .vc-profile-dialog-head {
23693
+ display: flex;
23694
+ align-items: center;
23695
+ justify-content: space-between;
23696
+ gap: 16px;
23697
+ padding: 16px 18px;
23698
+ border-bottom: 1px solid var(--border-soft);
23699
+ }
23700
+
23701
+ .vc-profile-dialog-head > div { display: grid; gap: 3px; min-width: 0; }
23702
+ .vc-profile-dialog-head span { color: var(--accent); font-size: 10.5px; font-weight: 760; }
23703
+ .vc-profile-dialog-head h3 { margin: 0; overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
23704
+
23705
+ .vc-profile-dialog-close {
23706
+ position: relative;
23707
+ width: 30px;
23708
+ height: 30px;
23709
+ flex: none;
23710
+ padding: 0;
23711
+ border: 1px solid var(--border-soft);
23712
+ border-radius: 50%;
23713
+ background: var(--surface);
23714
+ }
23715
+ .vc-profile-dialog-close::before,
23716
+ .vc-profile-dialog-close::after {
23717
+ position: absolute;
23718
+ top: 50%; left: 50%;
23719
+ width: 12px; height: 1.5px;
23720
+ background: currentColor;
23721
+ content: '';
23722
+ }
23723
+ .vc-profile-dialog-close::before { transform: translate(-50%, -50%) rotate(45deg); }
23724
+ .vc-profile-dialog-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
23725
+
23726
+ .vc-profile-dialog-body {
23727
+ display: grid;
23728
+ gap: 16px;
23729
+ min-height: 0;
23730
+ padding: 18px;
23731
+ overflow-y: auto;
23732
+ }
23733
+
23734
+ .vc-profile-dialog .vc-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
23735
+ .vc-profile-dialog .vc-profile-instructions textarea { min-height: 150px; background: var(--surface-muted); }
23736
+
23737
+ .vc-profile-dialog-actions {
23738
+ display: flex;
23739
+ align-items: center;
23740
+ justify-content: flex-end;
23741
+ gap: 9px;
23742
+ padding-top: 4px;
23743
+ }
23744
+
23745
+ .vc-profile-dialog-actions .vc-profile-remove { margin-right: auto; }
23746
+ .vc-profile-dialog-done,
23747
+ .vc-profile-dialog-secondary,
23748
+ .vc-profile-dialog .vc-profile-template-use {
23749
+ min-height: 34px;
23750
+ padding: 0 14px;
23751
+ border-radius: var(--radius-full);
23752
+ font-size: 11.5px;
23753
+ font-weight: 700;
23754
+ }
23755
+ .vc-profile-dialog-done,
23756
+ .vc-profile-dialog .vc-profile-template-use { border-color: var(--accent); background: var(--accent); color: white; }
23757
+ .vc-profile-dialog-secondary { border: 1px solid var(--border-soft); background: var(--surface); color: var(--fg); }
23758
+
23759
+ .vc-profile-template-description { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
23760
+ .vc-profile-template-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
23761
+ .vc-profile-template-facts > div { display: grid; gap: 4px; padding: 10px; border-radius: 10px; background: var(--surface-muted); }
23762
+ .vc-profile-template-facts span { color: var(--faint); font-size: 10px; }
23763
+ .vc-profile-template-facts strong { font-size: 11px; }
23764
+ .vc-profile-template-prompt { display: grid; gap: 7px; }
23765
+ .vc-profile-template-prompt > strong,
23766
+ .vc-profile-template-events > strong { font-size: 12px; }
23767
+ .vc-profile-template-prompt p { margin: 0; padding: 12px; border: 1px solid var(--border-soft); border-radius: 10px; background: var(--surface-muted); color: var(--muted); font-size: 11.5px; line-height: 1.65; white-space: pre-wrap; }
23768
+ .vc-profile-template-events { display: grid; gap: 8px; }
23769
+ .vc-profile-template-events > div { display: flex; flex-wrap: wrap; gap: 6px; }
23770
+
23771
+ @media (max-width: 680px) {
23772
+ .vc-profile-dialog .vc-profile-grid,
23773
+ .vc-profile-template-facts { grid-template-columns: 1fr; }
23774
+ .vc-profile-list-heading,
23775
+ .vc-profile-template-heading { flex-direction: column; }
23776
+ }
23777
+
23227
23778
  /* Installed Skills library: search stays lightweight; selection affordances
23228
23779
  appear only after the explicit Select action. Mutations update cards in place. */
23229
23780
  .skills-installed-header-actions {