botmux 2.107.0 → 2.108.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 (515) hide show
  1. package/README.en.md +17 -14
  2. package/README.md +19 -14
  3. package/dist/adapters/backend/sandbox.d.ts +3 -1
  4. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  5. package/dist/adapters/backend/sandbox.js +19 -3
  6. package/dist/adapters/backend/sandbox.js.map +1 -1
  7. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/tmux-backend.js +16 -1
  9. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  10. package/dist/adapters/backend/tmux-pipe-backend.d.ts +24 -15
  11. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  12. package/dist/adapters/backend/tmux-pipe-backend.js +75 -43
  13. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  14. package/dist/adapters/cli/genius.d.ts.map +1 -1
  15. package/dist/adapters/cli/genius.js +9 -15
  16. package/dist/adapters/cli/genius.js.map +1 -1
  17. package/dist/adapters/cli/grok.d.ts +73 -0
  18. package/dist/adapters/cli/grok.d.ts.map +1 -0
  19. package/dist/adapters/cli/grok.js +298 -0
  20. package/dist/adapters/cli/grok.js.map +1 -0
  21. package/dist/adapters/cli/oh-my-pi.d.ts.map +1 -1
  22. package/dist/adapters/cli/oh-my-pi.js +133 -12
  23. package/dist/adapters/cli/oh-my-pi.js.map +1 -1
  24. package/dist/adapters/cli/registry.d.ts +2 -1
  25. package/dist/adapters/cli/registry.d.ts.map +1 -1
  26. package/dist/adapters/cli/registry.js +3 -1
  27. package/dist/adapters/cli/registry.js.map +1 -1
  28. package/dist/adapters/cli/shared-hints.d.ts +8 -4
  29. package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
  30. package/dist/adapters/cli/shared-hints.js +8 -4
  31. package/dist/adapters/cli/shared-hints.js.map +1 -1
  32. package/dist/adapters/cli/types.d.ts +18 -16
  33. package/dist/adapters/cli/types.d.ts.map +1 -1
  34. package/dist/adapters/hook-installer.d.ts +5 -4
  35. package/dist/adapters/hook-installer.d.ts.map +1 -1
  36. package/dist/adapters/hook-installer.js +42 -0
  37. package/dist/adapters/hook-installer.js.map +1 -1
  38. package/dist/cli/send-dispatch.d.ts +21 -0
  39. package/dist/cli/send-dispatch.d.ts.map +1 -1
  40. package/dist/cli/send-dispatch.js +159 -0
  41. package/dist/cli/send-dispatch.js.map +1 -1
  42. package/dist/cli/session-list-liveness.d.ts +22 -0
  43. package/dist/cli/session-list-liveness.d.ts.map +1 -0
  44. package/dist/cli/session-list-liveness.js +22 -0
  45. package/dist/cli/session-list-liveness.js.map +1 -0
  46. package/dist/cli.d.ts.map +1 -1
  47. package/dist/cli.js +182 -33
  48. package/dist/cli.js.map +1 -1
  49. package/dist/core/ask-types.d.ts +4 -0
  50. package/dist/core/ask-types.d.ts.map +1 -1
  51. package/dist/core/ask-types.js +10 -0
  52. package/dist/core/ask-types.js.map +1 -1
  53. package/dist/core/cost-calculator.d.ts.map +1 -1
  54. package/dist/core/cost-calculator.js +35 -13
  55. package/dist/core/cost-calculator.js.map +1 -1
  56. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  57. package/dist/core/dashboard-ipc-server.js +89 -16
  58. package/dist/core/dashboard-ipc-server.js.map +1 -1
  59. package/dist/core/dashboard-rows.d.ts.map +1 -1
  60. package/dist/core/dashboard-rows.js +6 -2
  61. package/dist/core/dashboard-rows.js.map +1 -1
  62. package/dist/core/dashboard-url.d.ts +6 -5
  63. package/dist/core/dashboard-url.d.ts.map +1 -1
  64. package/dist/core/dashboard-url.js +11 -8
  65. package/dist/core/dashboard-url.js.map +1 -1
  66. package/dist/core/maintenance.d.ts +11 -8
  67. package/dist/core/maintenance.d.ts.map +1 -1
  68. package/dist/core/maintenance.js +45 -20
  69. package/dist/core/maintenance.js.map +1 -1
  70. package/dist/core/per-bot-env.d.ts.map +1 -1
  71. package/dist/core/per-bot-env.js +4 -0
  72. package/dist/core/per-bot-env.js.map +1 -1
  73. package/dist/core/session-discovery.d.ts.map +1 -1
  74. package/dist/core/session-discovery.js +4 -0
  75. package/dist/core/session-discovery.js.map +1 -1
  76. package/dist/core/skills/cli-admin-command.d.ts.map +1 -1
  77. package/dist/core/skills/cli-admin-command.js +8 -2
  78. package/dist/core/skills/cli-admin-command.js.map +1 -1
  79. package/dist/core/skills/im-command.d.ts.map +1 -1
  80. package/dist/core/skills/im-command.js +3 -1
  81. package/dist/core/skills/im-command.js.map +1 -1
  82. package/dist/core/skills/sources.d.ts +33 -1
  83. package/dist/core/skills/sources.d.ts.map +1 -1
  84. package/dist/core/skills/sources.js +97 -0
  85. package/dist/core/skills/sources.js.map +1 -1
  86. package/dist/core/skills/types.d.ts +8 -0
  87. package/dist/core/skills/types.d.ts.map +1 -1
  88. package/dist/core/terminal-url.d.ts.map +1 -1
  89. package/dist/core/terminal-url.js +12 -2
  90. package/dist/core/terminal-url.js.map +1 -1
  91. package/dist/core/terminal-write-auth.d.ts +34 -0
  92. package/dist/core/terminal-write-auth.d.ts.map +1 -0
  93. package/dist/core/terminal-write-auth.js +76 -0
  94. package/dist/core/terminal-write-auth.js.map +1 -0
  95. package/dist/core/tmux-recovery.d.ts +11 -0
  96. package/dist/core/tmux-recovery.d.ts.map +1 -0
  97. package/dist/core/tmux-recovery.js +19 -0
  98. package/dist/core/tmux-recovery.js.map +1 -0
  99. package/dist/core/types.d.ts +10 -4
  100. package/dist/core/types.d.ts.map +1 -1
  101. package/dist/core/types.js.map +1 -1
  102. package/dist/core/update-check.d.ts +2 -2
  103. package/dist/core/update-check.js +2 -2
  104. package/dist/core/worker-pool.d.ts +3 -0
  105. package/dist/core/worker-pool.d.ts.map +1 -1
  106. package/dist/core/worker-pool.js +70 -3
  107. package/dist/core/worker-pool.js.map +1 -1
  108. package/dist/daemon.d.ts.map +1 -1
  109. package/dist/daemon.js +15 -8
  110. package/dist/daemon.js.map +1 -1
  111. package/dist/dashboard/auth.d.ts +1 -1
  112. package/dist/dashboard/auth.d.ts.map +1 -1
  113. package/dist/dashboard/auth.js +7 -2
  114. package/dist/dashboard/auth.js.map +1 -1
  115. package/dist/dashboard/bot-payload.d.ts +3 -0
  116. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  117. package/dist/dashboard/bot-payload.js +3 -0
  118. package/dist/dashboard/bot-payload.js.map +1 -1
  119. package/dist/dashboard/connector-api.d.ts.map +1 -1
  120. package/dist/dashboard/connector-api.js +39 -13
  121. package/dist/dashboard/connector-api.js.map +1 -1
  122. package/dist/dashboard/history-senders.d.ts +37 -0
  123. package/dist/dashboard/history-senders.d.ts.map +1 -0
  124. package/dist/dashboard/history-senders.js +60 -0
  125. package/dist/dashboard/history-senders.js.map +1 -0
  126. package/dist/dashboard/roles-batch.d.ts +31 -0
  127. package/dist/dashboard/roles-batch.d.ts.map +1 -0
  128. package/dist/dashboard/roles-batch.js +87 -0
  129. package/dist/dashboard/roles-batch.js.map +1 -0
  130. package/dist/dashboard/settings-card-model.d.ts +4 -2
  131. package/dist/dashboard/settings-card-model.d.ts.map +1 -1
  132. package/dist/dashboard/settings-card-model.js +13 -5
  133. package/dist/dashboard/settings-card-model.js.map +1 -1
  134. package/dist/dashboard/settings-write-applier.d.ts +4 -1
  135. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  136. package/dist/dashboard/settings-write-applier.js +6 -1
  137. package/dist/dashboard/settings-write-applier.js.map +1 -1
  138. package/dist/dashboard/skill-install-request.d.ts +4 -0
  139. package/dist/dashboard/skill-install-request.d.ts.map +1 -1
  140. package/dist/dashboard/skill-install-request.js +11 -1
  141. package/dist/dashboard/skill-install-request.js.map +1 -1
  142. package/dist/dashboard/trigger-api.d.ts +9 -1
  143. package/dist/dashboard/trigger-api.d.ts.map +1 -1
  144. package/dist/dashboard/trigger-api.js +48 -10
  145. package/dist/dashboard/trigger-api.js.map +1 -1
  146. package/dist/dashboard/web/app.d.ts.map +1 -1
  147. package/dist/dashboard/web/app.js +286 -271
  148. package/dist/dashboard/web/app.js.map +1 -1
  149. package/dist/dashboard/web/bot-defaults-page.d.ts +26 -0
  150. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  151. package/dist/dashboard/web/bot-defaults-page.js +1408 -12
  152. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  153. package/dist/dashboard/web/bot-defaults.d.ts +91 -4
  154. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  155. package/dist/dashboard/web/bot-defaults.js +43 -2141
  156. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  157. package/dist/dashboard/web/bot-onboarding.d.ts +6 -1
  158. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  159. package/dist/dashboard/web/bot-onboarding.js +261 -306
  160. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  161. package/dist/dashboard/web/connectors-page.d.ts +4 -0
  162. package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
  163. package/dist/dashboard/web/connectors-page.js +228 -48
  164. package/dist/dashboard/web/connectors-page.js.map +1 -1
  165. package/dist/dashboard/web/dashboard-api.d.ts +9 -0
  166. package/dist/dashboard/web/dashboard-api.d.ts.map +1 -0
  167. package/dist/dashboard/web/dashboard-api.js +18 -0
  168. package/dist/dashboard/web/dashboard-api.js.map +1 -0
  169. package/dist/dashboard/web/dashboard-components.d.ts +92 -0
  170. package/dist/dashboard/web/dashboard-components.d.ts.map +1 -0
  171. package/dist/dashboard/web/dashboard-components.js +250 -0
  172. package/dist/dashboard/web/dashboard-components.js.map +1 -0
  173. package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
  174. package/dist/dashboard/web/dashboard-routes.js +30 -183
  175. package/dist/dashboard/web/dashboard-routes.js.map +1 -1
  176. package/dist/dashboard/web/floating-scrollbars.d.ts +2 -0
  177. package/dist/dashboard/web/floating-scrollbars.d.ts.map +1 -0
  178. package/dist/dashboard/web/floating-scrollbars.js +264 -0
  179. package/dist/dashboard/web/floating-scrollbars.js.map +1 -0
  180. package/dist/dashboard/web/groups-api.d.ts +36 -0
  181. package/dist/dashboard/web/groups-api.d.ts.map +1 -0
  182. package/dist/dashboard/web/groups-api.js +44 -0
  183. package/dist/dashboard/web/groups-api.js.map +1 -0
  184. package/dist/dashboard/web/groups-page.d.ts.map +1 -1
  185. package/dist/dashboard/web/groups-page.js +746 -15
  186. package/dist/dashboard/web/groups-page.js.map +1 -1
  187. package/dist/dashboard/web/groups.d.ts +51 -18
  188. package/dist/dashboard/web/groups.d.ts.map +1 -1
  189. package/dist/dashboard/web/groups.js +145 -1096
  190. package/dist/dashboard/web/groups.js.map +1 -1
  191. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  192. package/dist/dashboard/web/i18n.js +545 -255
  193. package/dist/dashboard/web/i18n.js.map +1 -1
  194. package/dist/dashboard/web/insights-page.d.ts.map +1 -1
  195. package/dist/dashboard/web/insights-page.js +1047 -14
  196. package/dist/dashboard/web/insights-page.js.map +1 -1
  197. package/dist/dashboard/web/insights.d.ts +177 -7
  198. package/dist/dashboard/web/insights.d.ts.map +1 -1
  199. package/dist/dashboard/web/insights.js +187 -1926
  200. package/dist/dashboard/web/insights.js.map +1 -1
  201. package/dist/dashboard/web/legacy-workflow-page.d.ts +3 -0
  202. package/dist/dashboard/web/legacy-workflow-page.d.ts.map +1 -0
  203. package/dist/dashboard/web/legacy-workflow-page.js +717 -0
  204. package/dist/dashboard/web/legacy-workflow-page.js.map +1 -0
  205. package/dist/dashboard/web/monitor-room.d.ts.map +1 -1
  206. package/dist/dashboard/web/monitor-room.js +10 -8
  207. package/dist/dashboard/web/monitor-room.js.map +1 -1
  208. package/dist/dashboard/web/monitoring-page.d.ts.map +1 -1
  209. package/dist/dashboard/web/monitoring-page.js +188 -14
  210. package/dist/dashboard/web/monitoring-page.js.map +1 -1
  211. package/dist/dashboard/web/office-page.d.ts.map +1 -1
  212. package/dist/dashboard/web/office-page.js +11 -23
  213. package/dist/dashboard/web/office-page.js.map +1 -1
  214. package/dist/dashboard/web/overview-page.d.ts.map +1 -1
  215. package/dist/dashboard/web/overview-page.js +141 -147
  216. package/dist/dashboard/web/overview-page.js.map +1 -1
  217. package/dist/dashboard/web/overview.d.ts +0 -1
  218. package/dist/dashboard/web/overview.d.ts.map +1 -1
  219. package/dist/dashboard/web/overview.js +3 -275
  220. package/dist/dashboard/web/overview.js.map +1 -1
  221. package/dist/dashboard/web/preferences.d.ts +1 -6
  222. package/dist/dashboard/web/preferences.d.ts.map +1 -1
  223. package/dist/dashboard/web/preferences.js +0 -21
  224. package/dist/dashboard/web/preferences.js.map +1 -1
  225. package/dist/dashboard/web/role-batch.d.ts +9 -0
  226. package/dist/dashboard/web/role-batch.d.ts.map +1 -0
  227. package/dist/dashboard/web/role-batch.js +42 -0
  228. package/dist/dashboard/web/role-batch.js.map +1 -0
  229. package/dist/dashboard/web/roles-page.d.ts.map +1 -1
  230. package/dist/dashboard/web/roles-page.js +538 -13
  231. package/dist/dashboard/web/roles-page.js.map +1 -1
  232. package/dist/dashboard/web/roles.d.ts +98 -1
  233. package/dist/dashboard/web/roles.d.ts.map +1 -1
  234. package/dist/dashboard/web/roles.js +117 -903
  235. package/dist/dashboard/web/roles.js.map +1 -1
  236. package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
  237. package/dist/dashboard/web/schedules-page.js +82 -24
  238. package/dist/dashboard/web/schedules-page.js.map +1 -1
  239. package/dist/dashboard/web/sessions-kanban.d.ts +67 -0
  240. package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -0
  241. package/dist/dashboard/web/sessions-kanban.js +481 -0
  242. package/dist/dashboard/web/sessions-kanban.js.map +1 -0
  243. package/dist/dashboard/web/sessions-page.d.ts +4 -0
  244. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  245. package/dist/dashboard/web/sessions-page.js +1633 -18
  246. package/dist/dashboard/web/sessions-page.js.map +1 -1
  247. package/dist/dashboard/web/sessions.d.ts +45 -4
  248. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  249. package/dist/dashboard/web/sessions.js +53 -2535
  250. package/dist/dashboard/web/sessions.js.map +1 -1
  251. package/dist/dashboard/web/settings-page.d.ts +0 -2
  252. package/dist/dashboard/web/settings-page.d.ts.map +1 -1
  253. package/dist/dashboard/web/settings-page.js +127 -117
  254. package/dist/dashboard/web/settings-page.js.map +1 -1
  255. package/dist/dashboard/web/skills-page.d.ts +10 -1
  256. package/dist/dashboard/web/skills-page.d.ts.map +1 -1
  257. package/dist/dashboard/web/skills-page.js +235 -93
  258. package/dist/dashboard/web/skills-page.js.map +1 -1
  259. package/dist/dashboard/web/team-federation-page.d.ts.map +1 -1
  260. package/dist/dashboard/web/team-federation-page.js +446 -28
  261. package/dist/dashboard/web/team-federation-page.js.map +1 -1
  262. package/dist/dashboard/web/team-federation.d.ts +91 -2
  263. package/dist/dashboard/web/team-federation.d.ts.map +1 -1
  264. package/dist/dashboard/web/team-federation.js +87 -474
  265. package/dist/dashboard/web/team-federation.js.map +1 -1
  266. package/dist/dashboard/web/theme-menu.d.ts +1 -0
  267. package/dist/dashboard/web/theme-menu.d.ts.map +1 -1
  268. package/dist/dashboard/web/theme-menu.js +79 -20
  269. package/dist/dashboard/web/theme-menu.js.map +1 -1
  270. package/dist/dashboard/web/ui.d.ts +1 -2
  271. package/dist/dashboard/web/ui.d.ts.map +1 -1
  272. package/dist/dashboard/web/ui.js +8 -20
  273. package/dist/dashboard/web/ui.js.map +1 -1
  274. package/dist/dashboard/web/v3-api.d.ts +16 -0
  275. package/dist/dashboard/web/v3-api.d.ts.map +1 -0
  276. package/dist/dashboard/web/v3-api.js +21 -0
  277. package/dist/dashboard/web/v3-api.js.map +1 -0
  278. package/dist/dashboard/web/v3-components.d.ts +2 -0
  279. package/dist/dashboard/web/v3-components.d.ts.map +1 -0
  280. package/dist/dashboard/web/v3-components.js +290 -0
  281. package/dist/dashboard/web/v3-components.js.map +1 -0
  282. package/dist/dashboard/web/v3-model.d.ts +80 -0
  283. package/dist/dashboard/web/v3-model.d.ts.map +1 -0
  284. package/dist/dashboard/web/v3-model.js +240 -0
  285. package/dist/dashboard/web/v3-model.js.map +1 -0
  286. package/dist/dashboard/web/v3-page.d.ts.map +1 -1
  287. package/dist/dashboard/web/v3-page.js +2 -22
  288. package/dist/dashboard/web/v3-page.js.map +1 -1
  289. package/dist/dashboard/web/v3-terminal.d.ts +14 -0
  290. package/dist/dashboard/web/v3-terminal.d.ts.map +1 -1
  291. package/dist/dashboard/web/v3-terminal.js +31 -19
  292. package/dist/dashboard/web/v3-terminal.js.map +1 -1
  293. package/dist/dashboard/web/webhook-logs-page.d.ts +16 -0
  294. package/dist/dashboard/web/webhook-logs-page.d.ts.map +1 -0
  295. package/dist/dashboard/web/webhook-logs-page.js +195 -0
  296. package/dist/dashboard/web/webhook-logs-page.js.map +1 -0
  297. package/dist/dashboard/web/whiteboards-page.d.ts.map +1 -1
  298. package/dist/dashboard/web/whiteboards-page.js +18 -23
  299. package/dist/dashboard/web/whiteboards-page.js.map +1 -1
  300. package/dist/dashboard/web/workflow-version-switch.d.ts +8 -0
  301. package/dist/dashboard/web/workflow-version-switch.d.ts.map +1 -0
  302. package/dist/dashboard/web/workflow-version-switch.js +9 -0
  303. package/dist/dashboard/web/workflow-version-switch.js.map +1 -0
  304. package/dist/dashboard/web/workflows.d.ts +272 -1
  305. package/dist/dashboard/web/workflows.d.ts.map +1 -1
  306. package/dist/dashboard/web/workflows.js +211 -1397
  307. package/dist/dashboard/web/workflows.js.map +1 -1
  308. package/dist/dashboard/webhook-routes.d.ts.map +1 -1
  309. package/dist/dashboard/webhook-routes.js +92 -39
  310. package/dist/dashboard/webhook-routes.js.map +1 -1
  311. package/dist/dashboard-web/app.js +1 -65
  312. package/dist/dashboard-web/brand-logo.png +0 -0
  313. package/dist/dashboard-web/chunks/bot-defaults-page-HSQ6HR3R.js +1 -0
  314. package/dist/dashboard-web/chunks/chunk-6TPODDDC.js +1 -0
  315. package/dist/dashboard-web/chunks/chunk-73EJP2MO.js +1 -0
  316. package/dist/dashboard-web/chunks/chunk-BRTZFELS.js +1 -0
  317. package/dist/dashboard-web/chunks/chunk-EVK77ASG.js +1 -0
  318. package/dist/dashboard-web/chunks/chunk-R3FXBFQH.js +1 -0
  319. package/dist/dashboard-web/chunks/chunk-VRLL7SNU.js +1 -0
  320. package/dist/dashboard-web/chunks/chunk-XCPSHD3G.js +37 -0
  321. package/dist/dashboard-web/chunks/chunk-XJ7BGPJH.js +1 -0
  322. package/dist/dashboard-web/chunks/chunk-YVRWYGXR.js +1 -0
  323. package/dist/dashboard-web/chunks/chunk-ZJING6FY.js +66 -0
  324. package/dist/dashboard-web/chunks/connectors-page-ODUA5UCW.js +1 -0
  325. package/dist/dashboard-web/chunks/groups-page-OYX5M6NK.js +8 -0
  326. package/dist/dashboard-web/chunks/insights-page-YCQO6OCR.js +22 -0
  327. package/dist/dashboard-web/chunks/legacy-workflow-page-XJAUNONP.js +2 -0
  328. package/dist/dashboard-web/chunks/{monitor-room-RFX4HPS5.js → monitor-room-WTZNYAFV.js} +17 -15
  329. package/dist/dashboard-web/chunks/monitoring-page-R6LJUK7G.js +2 -0
  330. package/dist/dashboard-web/chunks/office-page-4OXK3GNR.js +1 -0
  331. package/dist/dashboard-web/chunks/overview-page-4MVEJY6U.js +1 -0
  332. package/dist/dashboard-web/chunks/roles-page-NQDW27VV.js +1 -0
  333. package/dist/dashboard-web/chunks/schedules-page-JRNKYHOX.js +1 -0
  334. package/dist/dashboard-web/chunks/sessions-page-LF7UVI7B.js +3 -0
  335. package/dist/dashboard-web/chunks/settings-page-WGW7KQQS.js +2 -0
  336. package/dist/dashboard-web/chunks/skills-page-AMD4XP3T.js +3 -0
  337. package/dist/dashboard-web/chunks/team-federation-page-SYG3K4GG.js +1 -0
  338. package/dist/dashboard-web/chunks/v3-page-6NFFWNUK.js +94 -0
  339. package/dist/dashboard-web/chunks/whiteboards-page-FBRUK2AS.js +1 -0
  340. package/dist/dashboard-web/favicon.png +0 -0
  341. package/dist/dashboard-web/index.html +5 -69
  342. package/dist/dashboard-web/style.css +18835 -7211
  343. package/dist/dashboard.js +150 -32
  344. package/dist/dashboard.js.map +1 -1
  345. package/dist/global-config.d.ts +2 -2
  346. package/dist/global-config.d.ts.map +1 -1
  347. package/dist/i18n/en.d.ts.map +1 -1
  348. package/dist/i18n/en.js +3 -0
  349. package/dist/i18n/en.js.map +1 -1
  350. package/dist/i18n/zh.d.ts.map +1 -1
  351. package/dist/i18n/zh.js +3 -0
  352. package/dist/i18n/zh.js.map +1 -1
  353. package/dist/im/lark/card-builder.d.ts +7 -5
  354. package/dist/im/lark/card-builder.d.ts.map +1 -1
  355. package/dist/im/lark/card-builder.js +10 -7
  356. package/dist/im/lark/card-builder.js.map +1 -1
  357. package/dist/im/lark/card-handler.d.ts.map +1 -1
  358. package/dist/im/lark/card-handler.js +25 -1
  359. package/dist/im/lark/card-handler.js.map +1 -1
  360. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  361. package/dist/im/lark/event-dispatcher.js +84 -0
  362. package/dist/im/lark/event-dispatcher.js.map +1 -1
  363. package/dist/platform/binding.d.ts +9 -0
  364. package/dist/platform/binding.d.ts.map +1 -1
  365. package/dist/platform/binding.js +14 -0
  366. package/dist/platform/binding.js.map +1 -1
  367. package/dist/platform/tunnel-client.d.ts.map +1 -1
  368. package/dist/platform/tunnel-client.js +9 -0
  369. package/dist/platform/tunnel-client.js.map +1 -1
  370. package/dist/services/bot-config-store.d.ts +1 -1
  371. package/dist/services/bot-config-store.d.ts.map +1 -1
  372. package/dist/services/bot-config-store.js +11 -5
  373. package/dist/services/bot-config-store.js.map +1 -1
  374. package/dist/services/file-bridge-path.d.ts +8 -0
  375. package/dist/services/file-bridge-path.d.ts.map +1 -0
  376. package/dist/services/file-bridge-path.js +75 -0
  377. package/dist/services/file-bridge-path.js.map +1 -0
  378. package/dist/services/grok-paths.d.ts +27 -0
  379. package/dist/services/grok-paths.d.ts.map +1 -0
  380. package/dist/services/grok-paths.js +106 -0
  381. package/dist/services/grok-paths.js.map +1 -0
  382. package/dist/services/grok-transcript.d.ts +67 -0
  383. package/dist/services/grok-transcript.d.ts.map +1 -0
  384. package/dist/services/grok-transcript.js +630 -0
  385. package/dist/services/grok-transcript.js.map +1 -0
  386. package/dist/services/hermes-session-filter.d.ts +28 -0
  387. package/dist/services/hermes-session-filter.d.ts.map +1 -0
  388. package/dist/services/hermes-session-filter.js +53 -0
  389. package/dist/services/hermes-session-filter.js.map +1 -0
  390. package/dist/services/hermes-transcript.d.ts +3 -0
  391. package/dist/services/hermes-transcript.d.ts.map +1 -1
  392. package/dist/services/hermes-transcript.js +20 -2
  393. package/dist/services/hermes-transcript.js.map +1 -1
  394. package/dist/services/resumable-session-discovery.d.ts +3 -0
  395. package/dist/services/resumable-session-discovery.d.ts.map +1 -1
  396. package/dist/services/resumable-session-discovery.js +6 -1
  397. package/dist/services/resumable-session-discovery.js.map +1 -1
  398. package/dist/services/skill-registry-store.d.ts +9 -0
  399. package/dist/services/skill-registry-store.d.ts.map +1 -1
  400. package/dist/services/skill-registry-store.js +304 -1
  401. package/dist/services/skill-registry-store.js.map +1 -1
  402. package/dist/services/structured-bridge-clis.d.ts +29 -0
  403. package/dist/services/structured-bridge-clis.d.ts.map +1 -0
  404. package/dist/services/structured-bridge-clis.js +76 -0
  405. package/dist/services/structured-bridge-clis.js.map +1 -0
  406. package/dist/services/trigger-log-store.d.ts +59 -0
  407. package/dist/services/trigger-log-store.d.ts.map +1 -1
  408. package/dist/services/trigger-log-store.js +81 -10
  409. package/dist/services/trigger-log-store.js.map +1 -1
  410. package/dist/services/usage-ledger.d.ts +4 -1
  411. package/dist/services/usage-ledger.d.ts.map +1 -1
  412. package/dist/services/usage-ledger.js +48 -10
  413. package/dist/services/usage-ledger.js.map +1 -1
  414. package/dist/services/webhook-audit.d.ts +10 -0
  415. package/dist/services/webhook-audit.d.ts.map +1 -0
  416. package/dist/services/webhook-audit.js +116 -0
  417. package/dist/services/webhook-audit.js.map +1 -0
  418. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  419. package/dist/setup/bot-config-editor.js +2 -0
  420. package/dist/setup/bot-config-editor.js.map +1 -1
  421. package/dist/setup/ensure-tmux.d.ts +26 -12
  422. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  423. package/dist/setup/ensure-tmux.js +85 -18
  424. package/dist/setup/ensure-tmux.js.map +1 -1
  425. package/dist/skills/definitions.d.ts.map +1 -1
  426. package/dist/skills/definitions.js +14 -1
  427. package/dist/skills/definitions.js.map +1 -1
  428. package/dist/skills/injection-mode.d.ts +16 -0
  429. package/dist/skills/injection-mode.d.ts.map +1 -1
  430. package/dist/skills/injection-mode.js +25 -0
  431. package/dist/skills/injection-mode.js.map +1 -1
  432. package/dist/types.d.ts +9 -0
  433. package/dist/types.d.ts.map +1 -1
  434. package/dist/utils/global-install.d.ts +22 -0
  435. package/dist/utils/global-install.d.ts.map +1 -0
  436. package/dist/utils/global-install.js +106 -0
  437. package/dist/utils/global-install.js.map +1 -0
  438. package/dist/utils/install-diagnostics.d.ts +1 -1
  439. package/dist/utils/install-diagnostics.d.ts.map +1 -1
  440. package/dist/utils/install-diagnostics.js +6 -4
  441. package/dist/utils/install-diagnostics.js.map +1 -1
  442. package/dist/utils/install-info.d.ts +2 -0
  443. package/dist/utils/install-info.d.ts.map +1 -1
  444. package/dist/utils/install-info.js +10 -4
  445. package/dist/utils/install-info.js.map +1 -1
  446. package/dist/worker.js +293 -172
  447. package/dist/worker.js.map +1 -1
  448. package/dist/workflows/events/payloads.d.ts +10 -10
  449. package/dist/workflows/events/schema.d.ts +28 -28
  450. package/package.json +8 -7
  451. package/dist/dashboard/web/connectors.d.ts +0 -2
  452. package/dist/dashboard/web/connectors.d.ts.map +0 -1
  453. package/dist/dashboard/web/connectors.js +0 -2
  454. package/dist/dashboard/web/connectors.js.map +0 -1
  455. package/dist/dashboard/web/office.d.ts +0 -2
  456. package/dist/dashboard/web/office.d.ts.map +0 -1
  457. package/dist/dashboard/web/office.js +0 -2
  458. package/dist/dashboard/web/office.js.map +0 -1
  459. package/dist/dashboard/web/schedules.d.ts +0 -2
  460. package/dist/dashboard/web/schedules.d.ts.map +0 -1
  461. package/dist/dashboard/web/schedules.js +0 -2
  462. package/dist/dashboard/web/schedules.js.map +0 -1
  463. package/dist/dashboard/web/settings.d.ts +0 -2
  464. package/dist/dashboard/web/settings.d.ts.map +0 -1
  465. package/dist/dashboard/web/settings.js +0 -2
  466. package/dist/dashboard/web/settings.js.map +0 -1
  467. package/dist/dashboard/web/skills.d.ts +0 -2
  468. package/dist/dashboard/web/skills.d.ts.map +0 -1
  469. package/dist/dashboard/web/skills.js +0 -2
  470. package/dist/dashboard/web/skills.js.map +0 -1
  471. package/dist/dashboard/web/skin-intro.d.ts +0 -4
  472. package/dist/dashboard/web/skin-intro.d.ts.map +0 -1
  473. package/dist/dashboard/web/skin-intro.js +0 -49
  474. package/dist/dashboard/web/skin-intro.js.map +0 -1
  475. package/dist/dashboard/web/v3.d.ts +0 -3
  476. package/dist/dashboard/web/v3.d.ts.map +0 -1
  477. package/dist/dashboard/web/v3.js +0 -539
  478. package/dist/dashboard/web/v3.js.map +0 -1
  479. package/dist/dashboard/web/whiteboards.d.ts +0 -2
  480. package/dist/dashboard/web/whiteboards.d.ts.map +0 -1
  481. package/dist/dashboard/web/whiteboards.js +0 -2
  482. package/dist/dashboard/web/whiteboards.js.map +0 -1
  483. package/dist/dashboard-web/chunks/bot-defaults-page-OCIHPGEU.js +0 -438
  484. package/dist/dashboard-web/chunks/chunk-3N2PPQVD.js +0 -1
  485. package/dist/dashboard-web/chunks/chunk-3UJYRR2Q.js +0 -37
  486. package/dist/dashboard-web/chunks/chunk-5E3MJJL4.js +0 -1
  487. package/dist/dashboard-web/chunks/chunk-7SZRL6FY.js +0 -1
  488. package/dist/dashboard-web/chunks/chunk-JTSE5VP6.js +0 -54
  489. package/dist/dashboard-web/chunks/chunk-LXIK7OUJ.js +0 -1
  490. package/dist/dashboard-web/chunks/chunk-PE6W3C2C.js +0 -1
  491. package/dist/dashboard-web/chunks/chunk-QW54DWU3.js +0 -325
  492. package/dist/dashboard-web/chunks/connectors-IGETYWCP.js +0 -1
  493. package/dist/dashboard-web/chunks/groups-page-MYBS4ZYJ.js +0 -207
  494. package/dist/dashboard-web/chunks/insights-page-UPA32V2S.js +0 -309
  495. package/dist/dashboard-web/chunks/monitoring-page-7T3BESZ2.js +0 -1
  496. package/dist/dashboard-web/chunks/office-page-6DXYOG55.js +0 -1
  497. package/dist/dashboard-web/chunks/overview-page-LJSBCQW4.js +0 -1
  498. package/dist/dashboard-web/chunks/roles-page-ESURTVQH.js +0 -98
  499. package/dist/dashboard-web/chunks/schedules-LML2ISOT.js +0 -1
  500. package/dist/dashboard-web/chunks/sessions-YB73XOTU.js +0 -1
  501. package/dist/dashboard-web/chunks/sessions-page-MCO5QR7Z.js +0 -1
  502. package/dist/dashboard-web/chunks/settings-page-OSDKNVS3.js +0 -2
  503. package/dist/dashboard-web/chunks/skills-page-PXBZJ6P6.js +0 -2
  504. package/dist/dashboard-web/chunks/team-federation-page-TTPVHFPX.js +0 -10
  505. package/dist/dashboard-web/chunks/v3-page-FVPUL665.js +0 -149
  506. package/dist/dashboard-web/chunks/whiteboards-page-HLCTYSSV.js +0 -1
  507. package/dist/dashboard-web/chunks/workflows-FCPM4S4D.js +0 -184
  508. package/dist/dashboard-web/skins/bluearchive-hero.webp +0 -0
  509. package/dist/dashboard-web/skins/dragonball-goku.webp +0 -0
  510. package/dist/dashboard-web/skins/dragonball-wukong.webp +0 -0
  511. package/dist/dashboard-web/skins/genshin-breeze.webp +0 -0
  512. package/dist/dashboard-web/skins/ikun-hero.webp +0 -0
  513. package/dist/dashboard-web/skins/prts-priestess.webp +0 -0
  514. package/dist/dashboard-web/skins/zzz-hero.webp +0 -0
  515. package/dist/dashboard-web/skins/zzz-pattern.svg +0 -25
@@ -4,15 +4,14 @@ import { mountReactPage } from './react-mount.js';
4
4
  import { useStoreSelector, useT } from './react-hooks.js';
5
5
  import { attentionReason, attentionWaitSince, botAvatarHtml, botDisplayName, chatDisplayTitle, loadNameMaps, relTime, stripMentionPrefix, } from './ui.js';
6
6
  import { buildBotCards, loadGroupsSnapshot } from './overview.js';
7
+ import { HeaderAction, HeaderControls, Html, OverviewList, OverviewListItem, OverviewListMain, OverviewListTail, OverflowText, SectionHeader, SortMenu, } from './dashboard-components.js';
7
8
  const BUSY_STATUSES = new Set(['working', 'analyzing', 'active', 'starting']);
8
9
  const IDLE_STATUSES = new Set(['idle', 'dormant']);
9
10
  const TEAM_EXPAND_KEY = 'botmux.overview.teamExpanded';
10
- const TEAM_CARD_MIN_W = 230;
11
- const TEAM_GRID_GAP = 13;
12
- const TEAM_COLLAPSED_ROWS = 2;
13
- function Html(props) {
14
- return _jsx("span", { style: { display: 'contents' }, dangerouslySetInnerHTML: { __html: props.html } });
15
- }
11
+ const ACTIVE_SORT_KEY = 'botmux.overview.activeSort';
12
+ const TEAM_DESKTOP_COLUMNS = 5;
13
+ const TEAM_COLLAPSED_ROWS = 1;
14
+ const ACTIVE_SESSIONS_PANEL_MIN_H = 260;
16
15
  function readTeamExpanded() {
17
16
  try {
18
17
  return window.localStorage.getItem(TEAM_EXPAND_KEY) === '1';
@@ -27,6 +26,41 @@ function persistTeamExpanded(v) {
27
26
  }
28
27
  catch { /* silent */ }
29
28
  }
29
+ function normalizeActiveSortMode(value) {
30
+ return value === 'attention' ? 'attention' : 'time';
31
+ }
32
+ function readActiveSortMode() {
33
+ try {
34
+ return normalizeActiveSortMode(window.localStorage.getItem(ACTIVE_SORT_KEY));
35
+ }
36
+ catch {
37
+ return 'time';
38
+ }
39
+ }
40
+ function persistActiveSortMode(mode) {
41
+ try {
42
+ window.localStorage.setItem(ACTIVE_SORT_KEY, mode);
43
+ }
44
+ catch { /* silent */ }
45
+ }
46
+ function sortActiveSessions(rows, mode) {
47
+ const byRecent = (a, b) => Number(b.lastMessageAt ?? 0) - Number(a.lastMessageAt ?? 0);
48
+ if (mode === 'attention') {
49
+ return [...rows].sort((a, b) => {
50
+ const aNeeds = attentionReason(a) ? 0 : 1;
51
+ const bNeeds = attentionReason(b) ? 0 : 1;
52
+ if (aNeeds !== bNeeds)
53
+ return aNeeds - bNeeds;
54
+ if (aNeeds === 0) {
55
+ const byWait = attentionWaitSince(a) - attentionWaitSince(b);
56
+ if (byWait !== 0)
57
+ return byWait;
58
+ }
59
+ return byRecent(a, b);
60
+ });
61
+ }
62
+ return [...rows].sort(byRecent);
63
+ }
30
64
  function statusToken(status) {
31
65
  return String(status ?? 'unknown').toLowerCase().replace(/[^a-z0-9_-]/g, '-');
32
66
  }
@@ -36,86 +70,31 @@ function sessionStatusText(status, tr) {
36
70
  const label = tr(key);
37
71
  return label === key ? raw : label;
38
72
  }
39
- function resourcePct(value) {
40
- const n = Number(value);
41
- return Number.isFinite(n) ? `${n.toFixed(1)}%` : '-';
42
- }
43
- function resourceBytes(value) {
44
- const n = Number(value);
45
- if (!Number.isFinite(n) || n <= 0)
46
- return '-';
47
- if (n >= 1024 ** 3)
48
- return `${(n / 1024 ** 3).toFixed(1)} GiB`;
49
- if (n >= 1024 ** 2)
50
- return `${(n / 1024 ** 2).toFixed(0)} MiB`;
51
- return `${Math.max(1, Math.round(n / 1024))} KiB`;
52
- }
53
- function pctHealth(value, warnAt, dangerAt, ready = true) {
54
- const n = Number(value);
55
- if (!ready || !Number.isFinite(n))
56
- return 'unknown';
57
- if (n >= dangerAt)
58
- return 'danger';
59
- if (n >= warnAt)
60
- return 'warn';
61
- return 'ok';
62
- }
63
- function rssHealth(rssBytes, memTotalBytes) {
64
- const rss = Number(rssBytes);
65
- if (!Number.isFinite(rss) || rss <= 0)
66
- return 'unknown';
67
- const total = Number(memTotalBytes);
68
- if (Number.isFinite(total) && total > 0)
69
- return pctHealth((rss / total) * 100, 30, 50);
70
- const gib = rss / (1024 ** 3);
71
- if (gib >= 32)
72
- return 'danger';
73
- if (gib >= 16)
74
- return 'warn';
75
- return 'ok';
76
- }
77
- function sampleHealth(status) {
78
- if (status === 'fresh')
79
- return 'ok';
80
- if (status === 'stale')
81
- return 'danger';
82
- return 'unknown';
83
- }
84
- function sessionPressureHealth(sessions) {
85
- if (!sessions)
86
- return 'unknown';
87
- const waiting = Number(sessions.waiting ?? 0);
88
- const starting = Number(sessions.starting ?? 0);
89
- if (waiting >= 5 || starting >= 20)
90
- return 'danger';
91
- if (waiting > 0 || starting >= 10)
92
- return 'warn';
93
- return 'ok';
94
- }
95
- function combinedHealth(values) {
96
- if (values.includes('danger'))
97
- return 'danger';
98
- if (values.includes('warn'))
99
- return 'warn';
100
- if (values.includes('ok'))
101
- return 'ok';
102
- return 'unknown';
103
- }
104
- function sessionSummaryText(resources, tr) {
105
- const runtime = resources?.runtime?.sessions;
106
- const total = runtime?.total ?? resources?.sessions?.length;
107
- if (!Number.isFinite(Number(total)))
108
- return '-';
109
- const waiting = Number(runtime?.waiting ?? 0);
110
- return `${Number(total)} · ${tr('monitoring.waiting')} ${waiting}`;
111
- }
112
73
  function collapsedCardCount(gridEl) {
113
- const width = gridEl?.clientWidth ?? 0;
114
- if (!width)
115
- return TEAM_COLLAPSED_ROWS * 3;
116
- const cols = Math.max(1, Math.floor((width + TEAM_GRID_GAP) / (TEAM_CARD_MIN_W + TEAM_GRID_GAP)));
74
+ if (!gridEl)
75
+ return TEAM_COLLAPSED_ROWS * TEAM_DESKTOP_COLUMNS;
76
+ const tracks = window.getComputedStyle(gridEl).gridTemplateColumns
77
+ .split(/\s+/)
78
+ .filter(track => Number.parseFloat(track) > 0);
79
+ const cols = Math.max(1, tracks.length || TEAM_DESKTOP_COLUMNS);
117
80
  return cols * TEAM_COLLAPSED_ROWS;
118
81
  }
82
+ function alignPanelToSidebarBottom(panel, propertyName) {
83
+ if (!panel)
84
+ return;
85
+ const sidebar = document.querySelector('.sidebar');
86
+ if (!sidebar || window.matchMedia('(max-width: 980px)').matches) {
87
+ panel.style.removeProperty(propertyName);
88
+ return;
89
+ }
90
+ const sidebarBottom = sidebar.getBoundingClientRect().bottom;
91
+ const panelTop = panel.getBoundingClientRect().top;
92
+ const minHeight = Math.max(ACTIVE_SESSIONS_PANEL_MIN_H, Math.round(sidebarBottom - panelTop));
93
+ const value = `${minHeight}px`;
94
+ if (panel.style.getPropertyValue(propertyName) !== value) {
95
+ panel.style.setProperty(propertyName, value);
96
+ }
97
+ }
119
98
  function MateCard({ card }) {
120
99
  const tr = useT();
121
100
  const offline = !card.online && card.active.length === 0;
@@ -146,114 +125,129 @@ function MateCard({ card }) {
146
125
  : _jsx("span", { className: "tag tag-ok", children: tr('overview.botReady') });
147
126
  return (_jsxs("article", { className: `mate${needsYou ? ' mate-attn' : ''}${offline ? ' mate-off' : ''}`, children: [_jsxs("div", { className: "mate-top", children: [_jsx(Html, { html: botAvatarHtml({ name: card.botName, larkAppId: card.larkAppId, avatarUrl: card.botAvatarUrl, dot: dotClass }) }), _jsxs("div", { className: "mate-id", children: [_jsx("b", { children: card.botName }), _jsx("span", { className: "mate-role", children: card.cliId })] })] }), _jsx("div", { className: "mate-task", children: task }), _jsxs("div", { className: "mate-foot", children: [tag, _jsx("span", { children: card.lastActiveAt ? tr('overview.lastActive', { time: relTime(card.lastActiveAt) }) : tr('common.never') })] })] }));
148
127
  }
149
- function AttentionCard({ session }) {
150
- const tr = useT();
151
- const botName = botDisplayName(session);
152
- return (_jsxs("article", { className: "qcard", "data-id": session.sessionId, children: [_jsx(Html, { html: botAvatarHtml({ name: botName, larkAppId: session.larkAppId, size: 'sm' }) }), _jsxs("div", { className: "qcard-tx", children: [_jsxs("b", { children: [botName, " \u00B7 ", (stripMentionPrefix(session.title) || session.sessionId).slice(0, 56)] }), _jsxs("span", { children: [attentionReason(session) ?? '', " \u00B7 ", relTime(attentionWaitSince(session))] })] }), _jsx("a", { className: "qcard-go", href: "#/sessions", children: tr('strip.handle') })] }));
153
- }
154
128
  function ActiveSessionRow({ session }) {
155
129
  const tr = useT();
156
130
  const botName = botDisplayName(session);
157
131
  const status = String(session.status ?? 'unknown');
158
- return (_jsxs("li", { className: "sess-row", children: [_jsx(Html, { html: botAvatarHtml({ name: botName, larkAppId: session.larkAppId, size: 'sm' }) }), _jsxs("div", { className: "sess-tx", children: [_jsx("b", { children: (stripMentionPrefix(session.title) || session.sessionId).slice(0, 64) }), _jsxs("span", { children: [botName, " \u00B7 ", chatDisplayTitle(session) ?? session.cliId ?? 'unknown', " \u00B7 ", relTime(session.lastMessageAt)] })] }), _jsx("span", { className: `status status-${statusToken(status)}`, children: sessionStatusText(status, tr) })] }));
132
+ const reason = attentionReason(session);
133
+ return (_jsxs(OverviewListItem, { kind: "session", children: [_jsx(Html, { html: botAvatarHtml({ name: botName, larkAppId: session.larkAppId, size: 'sm' }) }), _jsxs(OverviewListMain, { children: [_jsx("b", { children: (stripMentionPrefix(session.title) || session.sessionId).slice(0, 64) }), _jsxs("span", { children: [botName, " \u00B7 ", chatDisplayTitle(session) ?? session.cliId ?? 'unknown', " \u00B7 ", relTime(session.lastMessageAt)] })] }), _jsx(OverviewListTail, { children: reason ? (_jsxs(_Fragment, { children: [_jsx("a", { className: "overview-list-action", href: "#/sessions", children: tr('strip.handle') }), _jsx("span", { className: "status overview-list-status status-attention", children: reason })] })) : (_jsx("span", { className: `status overview-list-status status-${statusToken(status)}`, children: sessionStatusText(status, tr) })) })] }));
159
134
  }
160
135
  function ScheduleMini({ schedule, timeZone }) {
161
136
  const next = schedule.nextRunAt
162
137
  ? new Date(schedule.nextRunAt).toLocaleString(undefined, timeZone ? { timeZone, timeZoneName: 'short' } : undefined)
163
138
  : '-';
164
- return (_jsxs("li", { className: "overview-list-row", children: [_jsxs("div", { children: [_jsx("strong", { children: schedule.name ?? schedule.id }), _jsxs("span", { children: [botDisplayName(schedule), " \u00B7 ", schedule.parsed?.display ?? ''] })] }), _jsx("span", { children: next })] }));
139
+ return (_jsxs(OverviewListItem, { kind: "schedule", children: [_jsxs(OverviewListMain, { children: [_jsx("strong", { children: schedule.name ?? schedule.id }), _jsxs("span", { children: [botDisplayName(schedule), " \u00B7 ", schedule.parsed?.display ?? ''] })] }), _jsx("span", { className: "overview-list-meta", children: _jsx(OverflowText, { text: next, showPopover: false, durationMs: 2600 }) })] }));
165
140
  }
166
- function Donut({ working, attention, idle }) {
141
+ function ActiveSortControl({ mode, onModeChange }) {
167
142
  const tr = useT();
168
- const total = working + attention + idle;
169
- const background = total === 0
170
- ? 'conic-gradient(var(--border) 0 360deg)'
171
- : (() => {
172
- const wDeg = (working / total) * 360;
173
- const aDeg = wDeg + (attention / total) * 360;
174
- return `conic-gradient(var(--accent) 0 ${wDeg}deg, var(--warning) ${wDeg}deg ${aDeg}deg, var(--success) ${aDeg}deg 360deg)`;
175
- })();
176
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "donut-wrap", children: [_jsx("div", { className: "donut", style: { background } }), _jsxs("div", { className: "donut-center", children: [_jsx("b", { children: total }), _jsx("span", { children: tr('overview.openSessions') })] })] }), _jsxs("div", { className: "donut-legend", children: [_jsxs("span", { children: [_jsx("i", { style: { background: 'var(--accent)' } }), tr('overview.workingSessions'), " ", working] }), _jsxs("span", { children: [_jsx("i", { style: { background: 'var(--warning)' } }), tr('overview.attention'), " ", attention] }), _jsxs("span", { children: [_jsx("i", { style: { background: 'var(--success)' } }), tr('sessions.board.idle'), " ", idle] })] })] }));
143
+ const label = mode === 'attention' ? tr('overview.sortAttentionFirst') : tr('overview.sortByTime');
144
+ return (_jsx(SortMenu, { className: "overview-active-sort-menu", label: label, value: mode, options: [
145
+ { value: 'time', label: tr('overview.sortByTime') },
146
+ { value: 'attention', label: tr('overview.sortAttentionFirst') },
147
+ ], onChange: onModeChange }));
177
148
  }
178
149
  function OverviewPage() {
179
150
  const tr = useT();
180
151
  const teamRef = useRef(null);
152
+ const activePanelRef = useRef(null);
153
+ const schedulesPanelRef = useRef(null);
181
154
  const [teamExpanded, setTeamExpanded] = useState(readTeamExpanded);
182
- const [collapsedN, setCollapsedN] = useState(TEAM_COLLAPSED_ROWS * 3);
155
+ const [activeSortMode, setActiveSortMode] = useState(readActiveSortMode);
156
+ const [collapsedN, setCollapsedN] = useState(TEAM_COLLAPSED_ROWS * TEAM_DESKTOP_COLUMNS);
183
157
  const [namesVersion, forceNamesRefresh] = useState(0);
184
- const [resources, setResources] = useState(null);
185
158
  const { sessions, schedules, scheduleTimeZone } = useStoreSelector(snapshot => ({
186
159
  sessions: [...snapshot.sessions.values()],
187
160
  schedules: [...snapshot.schedules.values()],
188
161
  scheduleTimeZone: snapshot.scheduleTimeZone,
189
162
  }));
190
163
  useEffect(() => {
191
- const refresh = () => setCollapsedN(collapsedCardCount(teamRef.current));
164
+ let raf = 0;
165
+ const refresh = () => {
166
+ window.cancelAnimationFrame(raf);
167
+ raf = window.requestAnimationFrame(() => {
168
+ const next = collapsedCardCount(teamRef.current);
169
+ setCollapsedN(current => (current === next ? current : next));
170
+ });
171
+ };
192
172
  refresh();
173
+ const observer = typeof ResizeObserver === 'undefined' || !teamRef.current
174
+ ? null
175
+ : new ResizeObserver(refresh);
176
+ if (observer && teamRef.current)
177
+ observer.observe(teamRef.current);
193
178
  window.addEventListener('resize', refresh);
194
- return () => window.removeEventListener('resize', refresh);
179
+ return () => {
180
+ window.cancelAnimationFrame(raf);
181
+ observer?.disconnect();
182
+ window.removeEventListener('resize', refresh);
183
+ };
195
184
  }, []);
196
185
  useEffect(() => {
197
186
  void loadGroupsSnapshot().then(() => forceNamesRefresh(v => v + 1));
198
187
  void loadNameMaps().then(() => forceNamesRefresh(v => v + 1));
199
188
  }, []);
200
- useEffect(() => {
201
- let disposed = false;
202
- const load = async () => {
203
- try {
204
- const res = await fetch('/api/resources/current', { cache: 'no-store' });
205
- const json = await res.json();
206
- if (!disposed)
207
- setResources(json);
208
- }
209
- catch {
210
- if (!disposed)
211
- setResources({ supported: false });
212
- }
213
- };
214
- void load();
215
- const timer = window.setInterval(() => void load(), 10_000);
216
- return () => {
217
- disposed = true;
218
- window.clearInterval(timer);
219
- };
220
- }, []);
221
189
  const active = useMemo(() => sessions.filter(s => s.status !== 'closed'), [sessions]);
222
- const attentionRows = useMemo(() => active.filter(s => attentionReason(s)).sort((a, b) => attentionWaitSince(a) - attentionWaitSince(b)), [active]);
223
- const busy = useMemo(() => active.filter(s => BUSY_STATUSES.has(s.status) && !attentionReason(s)), [active]);
224
- const idle = active.length - attentionRows.length - busy.length;
225
190
  const cards = useMemo(() => buildBotCards(sessions), [sessions, namesVersion]);
226
191
  const visibleCards = teamExpanded ? cards : cards.slice(0, collapsedN);
227
- const onlineBots = cards.filter(c => c.online || c.active.length > 0).length;
228
- const recent = useMemo(() => active
229
- .filter(s => BUSY_STATUSES.has(s.status) || IDLE_STATUSES.has(s.status))
230
- .sort((a, b) => Number(b.lastMessageAt ?? 0) - Number(a.lastMessageAt ?? 0))
231
- .slice(0, 7), [active]);
192
+ const recent = useMemo(() => sortActiveSessions(active.filter(s => attentionReason(s) || BUSY_STATUSES.has(s.status) || IDLE_STATUSES.has(s.status)), activeSortMode).slice(0, 7), [active, activeSortMode]);
232
193
  const upcoming = useMemo(() => schedules
233
194
  .filter(s => s.nextRunAt)
234
195
  .sort((a, b) => Date.parse(a.nextRunAt) - Date.parse(b.nextRunAt))
235
196
  .slice(0, 5), [schedules]);
236
- const hostCpuText = resources?.supported === false
237
- ? '-'
238
- : resources?.cpuReady === false ? '-' : resourcePct(resources?.host?.cpuPct);
239
- const memoryText = resources?.supported === false ? '-' : resourcePct(resources?.host?.memUsedPct);
240
- const botmuxRssText = resources?.supported === false ? '-' : resourceBytes(resources?.botmux?.rssBytes);
241
- const cpuHealth = pctHealth(resources?.host?.cpuPct, 70, 90, resources?.supported !== false && resources?.cpuReady !== false);
242
- const memoryHealth = pctHealth(resources?.host?.memUsedPct, 75, 90, resources?.supported !== false);
243
- const botmuxHealth = resources?.supported === false ? 'unknown' : rssHealth(resources?.botmux?.rssBytes, resources?.host?.memTotalBytes);
244
- const sessionsHealth = sessionPressureHealth(resources?.runtime?.sessions);
245
- const overallHealth = resources?.supported === false
246
- ? 'unknown'
247
- : combinedHealth([sampleHealth(resources?.runtime?.sampleHealth?.status), cpuHealth, memoryHealth, botmuxHealth, sessionsHealth]);
197
+ useEffect(() => {
198
+ const panels = [
199
+ { el: activePanelRef.current, propertyName: '--active-sessions-min-height' },
200
+ { el: schedulesPanelRef.current, propertyName: '--schedules-panel-min-height' },
201
+ ].filter((entry) => !!entry.el);
202
+ if (!panels.length)
203
+ return;
204
+ let raf = 0;
205
+ const update = () => {
206
+ window.cancelAnimationFrame(raf);
207
+ raf = window.requestAnimationFrame(() => {
208
+ for (const panel of panels)
209
+ alignPanelToSidebarBottom(panel.el, panel.propertyName);
210
+ });
211
+ };
212
+ update();
213
+ const observer = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(update);
214
+ if (observer) {
215
+ for (const panel of panels)
216
+ observer.observe(panel.el);
217
+ const sidebar = document.querySelector('.sidebar');
218
+ const page = panels[0].el.closest('.page');
219
+ if (sidebar)
220
+ observer.observe(sidebar);
221
+ if (page)
222
+ observer.observe(page);
223
+ }
224
+ window.addEventListener('resize', update);
225
+ return () => {
226
+ window.cancelAnimationFrame(raf);
227
+ observer?.disconnect();
228
+ window.removeEventListener('resize', update);
229
+ for (const panel of panels)
230
+ panel.el.style.removeProperty(panel.propertyName);
231
+ };
232
+ }, [teamExpanded, collapsedN, cards.length, upcoming.length]);
248
233
  const toggleTeam = () => {
249
234
  setTeamExpanded(v => {
250
235
  persistTeamExpanded(!v);
251
236
  return !v;
252
237
  });
253
238
  };
254
- return (_jsxs("section", { className: "page hero-page", children: [_jsxs("div", { className: "page-heading", children: [_jsxs("div", { children: [_jsx("p", { className: "eyebrow", children: tr('app.subtitle') }), _jsx("h1", { children: tr('overview.title') }), _jsx("p", { id: "overview-sub", children: tr('overview.subtitle') })] }), _jsxs("div", { className: "hero-pills", id: "overview-pills", children: [_jsxs("span", { className: "pill", children: [tr('overview.workingSessions'), " ", _jsx("b", { children: busy.length })] }), _jsxs("span", { className: `pill${attentionRows.length ? ' pill-hot' : ''}`, children: [tr('overview.attention'), " ", _jsx("b", { children: attentionRows.length })] }), _jsxs("span", { className: "pill", children: [tr('overview.onlineBots'), " ", _jsx("b", { children: onlineBots })] })] })] }), _jsxs("a", { className: "resource-strip", href: "#/monitoring", children: [_jsxs("span", { className: "resource-strip-title", children: [_jsx("i", { className: `resource-health-dot ${overallHealth}`, "aria-hidden": "true" }), _jsx("span", { children: tr('monitoring.runtimeTitle') }), _jsx("em", { children: tr(`monitoring.health.${overallHealth}`) })] }), _jsxs("span", { className: `resource-strip-metric ${cpuHealth}`, children: [_jsx("i", { className: `resource-health-dot ${cpuHealth}`, "aria-hidden": "true" }), _jsx("span", { children: tr('monitoring.hostCpu') }), _jsx("strong", { children: hostCpuText })] }), _jsxs("span", { className: `resource-strip-metric ${memoryHealth}`, children: [_jsx("i", { className: `resource-health-dot ${memoryHealth}`, "aria-hidden": "true" }), _jsx("span", { children: tr('monitoring.hostMemory') }), _jsx("strong", { children: memoryText })] }), _jsxs("span", { className: `resource-strip-metric ${botmuxHealth}`, children: [_jsx("i", { className: `resource-health-dot ${botmuxHealth}`, "aria-hidden": "true" }), _jsx("span", { children: tr('monitoring.botmuxRss') }), _jsx("strong", { children: botmuxRssText })] }), _jsxs("span", { className: `resource-strip-metric ${sessionsHealth}`, children: [_jsx("i", { className: `resource-health-dot ${sessionsHealth}`, "aria-hidden": "true" }), _jsx("span", { children: tr('monitoring.sessions') }), _jsx("strong", { children: sessionSummaryText(resources, tr) })] })] }), _jsxs("div", { className: "sect-head", children: [_jsx("h2", { children: tr('overview.team') }), _jsx("span", { children: tr('overview.teamHint') }), _jsx("a", { href: "#/bot-defaults", children: tr('overview.viewAll') })] }), _jsx("div", { className: "team-grid", id: "team-grid", ref: teamRef, children: visibleCards.length ? visibleCards.map(card => _jsx(MateCard, { card: card }, card.larkAppId ?? card.botName)) : _jsx("div", { className: "empty", children: tr('overview.noSessions') }) }), _jsx("button", { type: "button", className: "team-toggle", id: "team-toggle", hidden: cards.length <= collapsedN, onClick: toggleTeam, children: teamExpanded ? tr('overview.teamCollapse') : tr('overview.teamExpand', { count: cards.length }) }), _jsxs("div", { className: "sect-head", id: "attention-head", children: [_jsx("h2", { children: tr('overview.attention') }), _jsx("span", { children: tr('overview.attentionHint') })] }), _jsx("div", { className: "qgrid", id: "attention-list", children: attentionRows.length ? attentionRows.map(s => _jsx(AttentionCard, { session: s }, s.sessionId)) : _jsx("div", { className: "qcard qcard-empty", children: tr('overview.noAttention') }) }), _jsxs("div", { className: "overview-cols", children: [_jsxs("section", { className: "panel", children: [_jsxs("header", { className: "panel-header", children: [_jsxs("div", { children: [_jsx("h2", { children: tr('overview.activeSessions') }), _jsx("p", { children: tr('overview.activeSessionsHint') })] }), _jsx("a", { className: "btn-link", href: "#/sessions", children: tr('overview.viewAll') })] }), _jsx("ul", { className: "overview-list", id: "recent-sessions", children: recent.length ? recent.map(s => _jsx(ActiveSessionRow, { session: s }, s.sessionId)) : _jsx("li", { className: "empty", children: tr('overview.noSessions') }) })] }), _jsxs("div", { className: "overview-side", children: [_jsxs("section", { className: "panel", children: [_jsx("header", { className: "panel-header", children: _jsxs("div", { children: [_jsx("h2", { children: tr('overview.today') }), _jsx("p", { children: tr('overview.todayHint') })] }) }), _jsx("div", { className: "donut-row", id: "today-donut", children: _jsx(Donut, { working: busy.length, attention: attentionRows.length, idle: Math.max(0, idle) }) })] }), _jsxs("section", { className: "panel", children: [_jsxs("header", { className: "panel-header", children: [_jsxs("div", { children: [_jsx("h2", { children: tr('overview.nextSchedules') }), _jsx("p", { children: tr('schedules.subtitle') })] }), _jsx("a", { className: "btn-link", href: "#/schedules", children: tr('overview.viewAll') })] }), _jsx("ul", { className: "overview-list", id: "next-schedules", children: upcoming.length ? upcoming.map(s => _jsx(ScheduleMini, { schedule: s, timeZone: scheduleTimeZone }, s.id)) : _jsx("li", { className: "empty", children: tr('overview.noSchedules') }) })] })] })] })] }));
239
+ const changeActiveSortMode = (next) => {
240
+ setActiveSortMode(next);
241
+ persistActiveSortMode(next);
242
+ };
243
+ return (_jsxs("section", { className: "page hero-page", children: [_jsx("div", { className: "page-heading", children: _jsxs("div", { children: [_jsx("p", { className: "eyebrow", children: tr('app.subtitle') }), _jsx("h1", { children: tr('overview.title') })] }) }), _jsxs("div", { className: "overview-layout", children: [_jsxs("div", { className: "overview-main", children: [_jsxs("section", { className: "overview-block team-section", children: [_jsx(SectionHeader, { title: tr('overview.team'), count: tr('overview.teamCount', { count: cards.length }), hint: tr('overview.teamHint'), children: _jsx(HeaderControls, { children: _jsx(HeaderAction, { href: "#/bot-defaults", children: tr('overview.viewAllPlain') }) }) }), _jsx("div", { className: "team-grid", id: "team-grid", ref: teamRef, children: visibleCards.length ? visibleCards.map(card => _jsx(MateCard, { card: card }, card.larkAppId ?? card.botName)) : _jsx("div", { className: "empty", children: tr('overview.noSessions') }) }), cards.length > collapsedN ? (_jsx("button", { type: "button", className: "team-toggle", id: "team-toggle", onClick: toggleTeam, children: teamExpanded ? tr('overview.teamCollapse') : tr('overview.teamExpand') })) : null] }), _jsxs("section", { className: "overview-block", children: [_jsx(SectionHeader, { title: tr('overview.activeSessions'), children: _jsxs(HeaderControls, { children: [_jsx(ActiveSortControl, { mode: activeSortMode, onModeChange: changeActiveSortMode }), _jsx(HeaderAction, { href: "#/sessions", children: tr('overview.viewAllPlain') })] }) }), _jsx("section", { className: "panel active-sessions-panel", ref: activePanelRef, children: _jsx(OverviewList, { id: "recent-sessions", children: recent.length ? recent.map(s => _jsx(ActiveSessionRow, { session: s }, s.sessionId)) : _jsx("li", { className: "empty", children: tr('overview.noSessions') }) }) })] })] }), _jsx("aside", { className: "overview-side", children: _jsxs("section", { className: "overview-block", children: [_jsx(SectionHeader, { title: tr('overview.nextSchedules'), children: _jsx(HeaderAction, { href: "#/schedules", children: tr('overview.viewAllPlain') }) }), _jsx("section", { className: "panel schedules-panel", ref: schedulesPanelRef, children: _jsx(OverviewList, { id: "next-schedules", children: upcoming.length ? upcoming.map(s => _jsx(ScheduleMini, { schedule: s, timeZone: scheduleTimeZone }, s.id)) : _jsx("li", { className: "empty", children: tr('overview.noSchedules') }) }) })] }) })] })] }));
255
244
  }
256
245
  export function renderOverviewPage(root) {
257
- return mountReactPage(root, _jsx(OverviewPage, {}));
246
+ root.classList.add('overview-root');
247
+ const dispose = mountReactPage(root, _jsx(OverviewPage, {}));
248
+ return () => {
249
+ dispose();
250
+ root.classList.remove('overview-root');
251
+ };
258
252
  }
259
253
  //# sourceMappingURL=overview-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overview-page.js","sourceRoot":"","sources":["../../../src/dashboard/web/overview-page.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overview-page.js","sourceRoot":"","sources":["../../../src/dashboard/web/overview-page.tsx"],"names":[],"mappings":"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"}
@@ -20,5 +20,4 @@ export type BotCard = {
20
20
  * 显示名优先 daemon 注册表,其次会话上的 botName。只剩历史 closed 会话、
21
21
  * 又不在注册表里的 bot 不出卡(避免一排灰色离线噪音)。 */
22
22
  export declare function buildBotCards(sessions: any[]): BotCard[];
23
- export declare function renderOverviewPage(root: HTMLElement): Promise<void>;
24
23
  //# sourceMappingURL=overview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/overview.ts"],"names":[],"mappings":"AAmBA,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,GAAG,IAAI,CAExF;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQxD;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAKF;;;oCAGoC;AACpC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAkDxD;AAgID,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,iBA+IzD"}
1
+ {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/overview.ts"],"names":[],"mappings":"AAKA,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,GAAG,IAAI,CAExF;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMxD;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAIF;;;oCAGoC;AACpC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAkDxD"}