botmux 2.106.0 → 2.107.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 (182) hide show
  1. package/dist/bot-registry.d.ts +25 -0
  2. package/dist/bot-registry.d.ts.map +1 -1
  3. package/dist/bot-registry.js +6 -0
  4. package/dist/bot-registry.js.map +1 -1
  5. package/dist/core/command-handler.d.ts.map +1 -1
  6. package/dist/core/command-handler.js +5 -0
  7. package/dist/core/command-handler.js.map +1 -1
  8. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  9. package/dist/core/dashboard-ipc-server.js +27 -1
  10. package/dist/core/dashboard-ipc-server.js.map +1 -1
  11. package/dist/core/dashboard-rows.d.ts +6 -0
  12. package/dist/core/dashboard-rows.d.ts.map +1 -1
  13. package/dist/core/dashboard-rows.js +25 -0
  14. package/dist/core/dashboard-rows.js.map +1 -1
  15. package/dist/core/pending-response.d.ts +1 -0
  16. package/dist/core/pending-response.d.ts.map +1 -1
  17. package/dist/core/pending-response.js +1 -0
  18. package/dist/core/pending-response.js.map +1 -1
  19. package/dist/core/resource-monitor/attribution.d.ts +70 -0
  20. package/dist/core/resource-monitor/attribution.d.ts.map +1 -0
  21. package/dist/core/resource-monitor/attribution.js +222 -0
  22. package/dist/core/resource-monitor/attribution.js.map +1 -0
  23. package/dist/core/resource-monitor/procfs.d.ts +22 -0
  24. package/dist/core/resource-monitor/procfs.d.ts.map +1 -0
  25. package/dist/core/resource-monitor/procfs.js +134 -0
  26. package/dist/core/resource-monitor/procfs.js.map +1 -0
  27. package/dist/core/resource-monitor/ring-buffer.d.ts +15 -0
  28. package/dist/core/resource-monitor/ring-buffer.d.ts.map +1 -0
  29. package/dist/core/resource-monitor/ring-buffer.js +61 -0
  30. package/dist/core/resource-monitor/ring-buffer.js.map +1 -0
  31. package/dist/core/resource-monitor/runtime.d.ts +31 -0
  32. package/dist/core/resource-monitor/runtime.d.ts.map +1 -0
  33. package/dist/core/resource-monitor/runtime.js +92 -0
  34. package/dist/core/resource-monitor/runtime.js.map +1 -0
  35. package/dist/core/resource-monitor/top-selector.d.ts +18 -0
  36. package/dist/core/resource-monitor/top-selector.d.ts.map +1 -0
  37. package/dist/core/resource-monitor/top-selector.js +57 -0
  38. package/dist/core/resource-monitor/top-selector.js.map +1 -0
  39. package/dist/core/resource-monitor/types.d.ts +181 -0
  40. package/dist/core/resource-monitor/types.d.ts.map +1 -0
  41. package/dist/core/resource-monitor/types.js +2 -0
  42. package/dist/core/resource-monitor/types.js.map +1 -0
  43. package/dist/core/session-manager.d.ts +3 -1
  44. package/dist/core/session-manager.d.ts.map +1 -1
  45. package/dist/core/session-manager.js +31 -1
  46. package/dist/core/session-manager.js.map +1 -1
  47. package/dist/core/types.d.ts +1 -0
  48. package/dist/core/types.d.ts.map +1 -1
  49. package/dist/core/types.js.map +1 -1
  50. package/dist/daemon.d.ts +1 -1
  51. package/dist/daemon.d.ts.map +1 -1
  52. package/dist/daemon.js +44 -22
  53. package/dist/daemon.js.map +1 -1
  54. package/dist/dashboard/bot-payload.d.ts +1 -0
  55. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  56. package/dist/dashboard/bot-payload.js +1 -0
  57. package/dist/dashboard/bot-payload.js.map +1 -1
  58. package/dist/dashboard/resource-monitor-service.d.ts +56 -0
  59. package/dist/dashboard/resource-monitor-service.d.ts.map +1 -0
  60. package/dist/dashboard/resource-monitor-service.js +446 -0
  61. package/dist/dashboard/resource-monitor-service.js.map +1 -0
  62. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  63. package/dist/dashboard/web/bot-defaults.js +160 -1
  64. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  65. package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
  66. package/dist/dashboard/web/dashboard-routes.js +18 -0
  67. package/dist/dashboard/web/dashboard-routes.js.map +1 -1
  68. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  69. package/dist/dashboard/web/i18n.js +274 -2
  70. package/dist/dashboard/web/i18n.js.map +1 -1
  71. package/dist/dashboard/web/monitor-room-store.d.ts +20 -0
  72. package/dist/dashboard/web/monitor-room-store.d.ts.map +1 -0
  73. package/dist/dashboard/web/monitor-room-store.js +80 -0
  74. package/dist/dashboard/web/monitor-room-store.js.map +1 -0
  75. package/dist/dashboard/web/monitor-room.d.ts +31 -0
  76. package/dist/dashboard/web/monitor-room.d.ts.map +1 -0
  77. package/dist/dashboard/web/monitor-room.js +393 -0
  78. package/dist/dashboard/web/monitor-room.js.map +1 -0
  79. package/dist/dashboard/web/monitoring-page.d.ts +155 -0
  80. package/dist/dashboard/web/monitoring-page.d.ts.map +1 -0
  81. package/dist/dashboard/web/monitoring-page.js +189 -0
  82. package/dist/dashboard/web/monitoring-page.js.map +1 -0
  83. package/dist/dashboard/web/overview-page.d.ts.map +1 -1
  84. package/dist/dashboard/web/overview-page.js +108 -1
  85. package/dist/dashboard/web/overview-page.js.map +1 -1
  86. package/dist/dashboard/web/preferences.d.ts +3 -0
  87. package/dist/dashboard/web/preferences.d.ts.map +1 -1
  88. package/dist/dashboard/web/preferences.js +18 -0
  89. package/dist/dashboard/web/preferences.js.map +1 -1
  90. package/dist/dashboard/web/session-terminal.d.ts +7 -0
  91. package/dist/dashboard/web/session-terminal.d.ts.map +1 -0
  92. package/dist/dashboard/web/session-terminal.js +17 -0
  93. package/dist/dashboard/web/session-terminal.js.map +1 -0
  94. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  95. package/dist/dashboard/web/sessions-page.js +2 -1
  96. package/dist/dashboard/web/sessions-page.js.map +1 -1
  97. package/dist/dashboard/web/sessions.d.ts +4 -0
  98. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  99. package/dist/dashboard/web/sessions.js +98 -17
  100. package/dist/dashboard/web/sessions.js.map +1 -1
  101. package/dist/dashboard/web/skills-page.js +1 -1
  102. package/dist/dashboard/web/skills-page.js.map +1 -1
  103. package/dist/dashboard/web/substitute-targets.d.ts +30 -0
  104. package/dist/dashboard/web/substitute-targets.d.ts.map +1 -0
  105. package/dist/dashboard/web/substitute-targets.js +99 -0
  106. package/dist/dashboard/web/substitute-targets.js.map +1 -0
  107. package/dist/dashboard/web/ui.d.ts +1 -1
  108. package/dist/dashboard/web/ui.d.ts.map +1 -1
  109. package/dist/dashboard/web/ui.js +4 -1
  110. package/dist/dashboard/web/ui.js.map +1 -1
  111. package/dist/dashboard-web/app.js +3 -3
  112. package/dist/dashboard-web/chunks/bot-defaults-page-OCIHPGEU.js +438 -0
  113. package/dist/dashboard-web/chunks/chunk-3N2PPQVD.js +1 -0
  114. package/dist/dashboard-web/chunks/chunk-3UJYRR2Q.js +37 -0
  115. package/dist/dashboard-web/chunks/{chunk-VFCACTRF.js → chunk-PE6W3C2C.js} +1 -1
  116. package/dist/dashboard-web/chunks/chunk-QW54DWU3.js +325 -0
  117. package/dist/dashboard-web/chunks/{connectors-VDOAKUW3.js → connectors-IGETYWCP.js} +1 -1
  118. package/dist/dashboard-web/chunks/{groups-page-CX5AN4XG.js → groups-page-MYBS4ZYJ.js} +1 -1
  119. package/dist/dashboard-web/chunks/{insights-page-DOMRL4S6.js → insights-page-UPA32V2S.js} +1 -1
  120. package/dist/dashboard-web/chunks/monitor-room-RFX4HPS5.js +51 -0
  121. package/dist/dashboard-web/chunks/monitoring-page-7T3BESZ2.js +1 -0
  122. package/dist/dashboard-web/chunks/overview-page-LJSBCQW4.js +1 -0
  123. package/dist/dashboard-web/chunks/{roles-page-3FEAH6S4.js → roles-page-ESURTVQH.js} +1 -1
  124. package/dist/dashboard-web/chunks/{schedules-CTQEA7IE.js → schedules-LML2ISOT.js} +1 -1
  125. package/dist/dashboard-web/chunks/sessions-YB73XOTU.js +1 -0
  126. package/dist/dashboard-web/chunks/sessions-page-MCO5QR7Z.js +1 -0
  127. package/dist/dashboard-web/chunks/{settings-page-R23I3IZG.js → settings-page-OSDKNVS3.js} +1 -1
  128. package/dist/dashboard-web/chunks/skills-page-PXBZJ6P6.js +2 -0
  129. package/dist/dashboard-web/chunks/{team-federation-page-ZKL3YMGN.js → team-federation-page-TTPVHFPX.js} +1 -1
  130. package/dist/dashboard-web/chunks/{workflows-4BYQQBFP.js → workflows-FCPM4S4D.js} +1 -1
  131. package/dist/dashboard-web/index.html +2 -1
  132. package/dist/dashboard-web/style.css +818 -8
  133. package/dist/dashboard.js +37 -0
  134. package/dist/dashboard.js.map +1 -1
  135. package/dist/i18n/en.d.ts.map +1 -1
  136. package/dist/i18n/en.js +8 -0
  137. package/dist/i18n/en.js.map +1 -1
  138. package/dist/i18n/zh.d.ts.map +1 -1
  139. package/dist/i18n/zh.js +8 -0
  140. package/dist/i18n/zh.js.map +1 -1
  141. package/dist/im/lark/card-builder.d.ts.map +1 -1
  142. package/dist/im/lark/card-builder.js +18 -0
  143. package/dist/im/lark/card-builder.js.map +1 -1
  144. package/dist/im/lark/card-handler.d.ts.map +1 -1
  145. package/dist/im/lark/card-handler.js +12 -2
  146. package/dist/im/lark/card-handler.js.map +1 -1
  147. package/dist/im/lark/event-dispatcher.d.ts +3 -0
  148. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  149. package/dist/im/lark/event-dispatcher.js +59 -2
  150. package/dist/im/lark/event-dispatcher.js.map +1 -1
  151. package/dist/im/lark/message-parser.d.ts +35 -0
  152. package/dist/im/lark/message-parser.d.ts.map +1 -1
  153. package/dist/im/lark/message-parser.js +56 -0
  154. package/dist/im/lark/message-parser.js.map +1 -1
  155. package/dist/im/lark/substitute-command.d.ts +2 -0
  156. package/dist/im/lark/substitute-command.d.ts.map +1 -0
  157. package/dist/im/lark/substitute-command.js +51 -0
  158. package/dist/im/lark/substitute-command.js.map +1 -0
  159. package/dist/services/substitute-chat-toggle-store.d.ts +3 -0
  160. package/dist/services/substitute-chat-toggle-store.d.ts.map +1 -0
  161. package/dist/services/substitute-chat-toggle-store.js +58 -0
  162. package/dist/services/substitute-chat-toggle-store.js.map +1 -0
  163. package/dist/services/substitute-mode-normalize.d.ts +22 -0
  164. package/dist/services/substitute-mode-normalize.d.ts.map +1 -0
  165. package/dist/services/substitute-mode-normalize.js +56 -0
  166. package/dist/services/substitute-mode-normalize.js.map +1 -0
  167. package/dist/services/substitute-mode-store.d.ts +50 -0
  168. package/dist/services/substitute-mode-store.d.ts.map +1 -0
  169. package/dist/services/substitute-mode-store.js +115 -0
  170. package/dist/services/substitute-mode-store.js.map +1 -0
  171. package/dist/types.d.ts +14 -0
  172. package/dist/types.d.ts.map +1 -1
  173. package/dist/worker.js +20 -1
  174. package/dist/worker.js.map +1 -1
  175. package/package.json +1 -1
  176. package/dist/dashboard-web/chunks/bot-defaults-page-3OIY7N76.js +0 -409
  177. package/dist/dashboard-web/chunks/chunk-BNEXMNQD.js +0 -31
  178. package/dist/dashboard-web/chunks/chunk-DKKOGZCG.js +0 -317
  179. package/dist/dashboard-web/chunks/overview-page-AZBAXVZ7.js +0 -1
  180. package/dist/dashboard-web/chunks/sessions-LVZCXO2Z.js +0 -1
  181. package/dist/dashboard-web/chunks/sessions-page-NHBJDSBC.js +0 -1
  182. package/dist/dashboard-web/chunks/skills-page-VUG3EPWX.js +0 -2
@@ -0,0 +1,189 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useState } from 'react';
3
+ import { mountReactPage } from './react-mount.js';
4
+ import { useT } from './react-hooks.js';
5
+ function formatBytes(value) {
6
+ const n = Number(value);
7
+ if (!Number.isFinite(n) || n <= 0)
8
+ return '-';
9
+ if (n >= 1024 ** 3)
10
+ return `${(n / 1024 ** 3).toFixed(1)} GiB`;
11
+ if (n >= 1024 ** 2)
12
+ return `${(n / 1024 ** 2).toFixed(0)} MiB`;
13
+ return `${Math.max(1, Math.round(n / 1024))} KiB`;
14
+ }
15
+ function formatPct(value) {
16
+ const n = Number(value);
17
+ return Number.isFinite(n) ? `${n.toFixed(1)}%` : '-';
18
+ }
19
+ function formatCpuPct(value, cpuReady) {
20
+ return cpuReady ? formatPct(value) : '-';
21
+ }
22
+ function currentCpuReady(current) {
23
+ return current?.cpuReady !== false;
24
+ }
25
+ function formatCount(value) {
26
+ const n = Number(value);
27
+ return Number.isFinite(n) ? String(n) : '-';
28
+ }
29
+ function formatDuration(value) {
30
+ const ms = Number(value);
31
+ if (!Number.isFinite(ms) || ms < 0)
32
+ return '-';
33
+ if (ms === 0)
34
+ return '0s';
35
+ if (ms < 60_000)
36
+ return `${Math.max(1, Math.floor(ms / 1000))}s`;
37
+ const minutes = Math.floor(ms / 60_000);
38
+ if (minutes < 60)
39
+ return `${Math.max(1, minutes)}m`;
40
+ const hours = Math.floor(minutes / 60);
41
+ const rest = minutes % 60;
42
+ return rest ? `${hours}h ${rest}m` : `${hours}h`;
43
+ }
44
+ function runtimeSampleStatus(value) {
45
+ return value === 'fresh' || value === 'stale' || value === 'unsupported' ? value : 'unknown';
46
+ }
47
+ function runtimeSessionLabel(session) {
48
+ if (!session)
49
+ return '-';
50
+ return `${session.botName || '-'} · ${session.title || session.sessionId}`;
51
+ }
52
+ function metricValue(session, sort) {
53
+ if (sort === 'cpu')
54
+ return Number(session.current?.cpu1mPct ?? session.current?.cpuPct ?? 0);
55
+ if (sort === 'rss')
56
+ return Number(session.current?.rssBytes ?? 0);
57
+ if (sort === 'growth')
58
+ return Number(session.current?.rssGrowth5mBytes ?? 0);
59
+ if (sort === 'bot')
60
+ return session.botName ?? '';
61
+ return session.status ?? '';
62
+ }
63
+ function sortedSessions(rows, sort) {
64
+ return [...rows].sort((a, b) => {
65
+ const av = metricValue(a, sort);
66
+ const bv = metricValue(b, sort);
67
+ if (typeof av === 'number' && typeof bv === 'number')
68
+ return bv - av || a.sessionId.localeCompare(b.sessionId);
69
+ return String(av).localeCompare(String(bv)) || a.sessionId.localeCompare(b.sessionId);
70
+ });
71
+ }
72
+ function formatAxisValue(value, unit) {
73
+ return unit === 'bytes' ? formatBytes(value) : formatPct(value);
74
+ }
75
+ function historyStartLabel(timestamps, nowMs, tr) {
76
+ const points = (timestamps ?? []).filter(Number.isFinite);
77
+ if (points.length < 2)
78
+ return tr('monitoring.chartNoData');
79
+ const first = points[0];
80
+ const now = Number.isFinite(nowMs) ? Number(nowMs) : Date.now();
81
+ const deltaMs = Math.max(0, now - first);
82
+ const minutes = Math.max(1, Math.round(deltaMs / 60_000));
83
+ if (minutes < 60)
84
+ return tr('monitoring.chartMinutesAgo', { value: minutes });
85
+ const hours = Math.round(minutes / 60);
86
+ if (hours < 48)
87
+ return tr('monitoring.chartHoursAgo', { value: hours });
88
+ return tr('monitoring.chartDaysAgo', { value: Math.round(hours / 24) });
89
+ }
90
+ function Sparkline({ values, timestamps, unit = 'pct', startLabel, endLabel, emptyLabel, }) {
91
+ const data = (values ?? []).filter(Number.isFinite);
92
+ const min = data.length ? Math.min(...data) : 0;
93
+ const max = data.length ? Math.max(...data) : 0;
94
+ const range = max - min;
95
+ const points = data.length > 1
96
+ ? data.map((v, i) => {
97
+ const x = (i / (data.length - 1)) * 100;
98
+ const y = range > 0 ? 100 - ((v - min) / range) * 100 : 50;
99
+ return `${x},${y}`;
100
+ }).join(' ')
101
+ : '';
102
+ return (_jsxs("div", { className: "resource-chart", children: [_jsxs("div", { className: "resource-chart-y", "aria-hidden": "true", children: [_jsx("span", { children: data.length ? formatAxisValue(max, unit) : '-' }), _jsx("span", { children: data.length ? formatAxisValue(min, unit) : '-' })] }), _jsxs("div", { className: "resource-chart-plot", children: [_jsxs("svg", { className: "resource-spark", viewBox: "0 0 100 100", preserveAspectRatio: "none", "aria-label": data.length > 1 ? undefined : emptyLabel, children: [_jsx("line", { x1: "0", y1: "12", x2: "100", y2: "12", className: "resource-grid-line" }), _jsx("line", { x1: "0", y1: "50", x2: "100", y2: "50", className: "resource-grid-line" }), _jsx("line", { x1: "0", y1: "88", x2: "100", y2: "88", className: "resource-grid-line" }), points ? _jsx("polyline", { points: points }) : null] }), _jsxs("div", { className: "resource-chart-x", "aria-hidden": "true", children: [_jsx("span", { children: data.length > 1 ? startLabel : emptyLabel }), _jsx("span", { children: data.length > 1 ? endLabel : '' })] })] })] }));
103
+ }
104
+ function RankReasons({ reasons }) {
105
+ return _jsx("span", { className: "resource-reasons", children: (reasons ?? []).join(', ') || '-' });
106
+ }
107
+ export function SessionResourceTable({ sessions, cpuReady = true }) {
108
+ const tr = useT();
109
+ return (_jsxs("div", { className: "resource-table resource-session-table", children: [_jsxs("div", { className: "resource-row resource-row-head", children: [_jsx("span", { children: tr('monitoring.session') }), _jsx("span", { children: tr('monitoring.bot') }), _jsx("span", { children: tr('monitoring.cpu') }), _jsx("span", { children: tr('monitoring.rss') }), _jsx("span", { children: tr('monitoring.growth') }), _jsx("span", { children: tr('monitoring.confidence') }), _jsx("span", { children: tr('monitoring.rank') })] }), _jsx("div", { className: "resource-session-scroll", "data-visible-rows": 10, children: sessions.length ? sessions.map(session => (_jsxs("div", { className: `resource-row${session.tracked ? ' is-tracked' : ''}`, children: [_jsx("b", { children: session.title || session.sessionId }), _jsx("span", { children: session.botName }), _jsx("span", { children: formatCpuPct(session.current?.cpu1mPct ?? session.current?.cpuPct, cpuReady) }), _jsx("span", { children: formatBytes(session.current?.rssBytes) }), _jsx("span", { children: formatBytes(session.current?.rssGrowth5mBytes) }), _jsx("span", { children: session.confidence ?? 'unknown' }), _jsx(RankReasons, { reasons: session.rankReasons })] }, session.sessionId))) : _jsx("div", { className: "empty", children: tr('overview.noSessions') }) })] }));
110
+ }
111
+ function HelpTip({ label, text }) {
112
+ return (_jsxs("span", { className: "resource-help-tip", children: [_jsx("button", { type: "button", className: "help-icon-button resource-help-button", "aria-label": label, children: "?" }), _jsx("span", { className: "resource-help-popover", role: "tooltip", children: text })] }));
113
+ }
114
+ function RuntimeHealth({ current }) {
115
+ const tr = useT();
116
+ const runtime = current.runtime;
117
+ const cpuReady = currentCpuReady(current);
118
+ const sampleStatus = runtimeSampleStatus(runtime?.sampleHealth?.status);
119
+ const daemonTotal = runtime?.daemons?.total;
120
+ const daemonOnline = runtime?.daemons?.online;
121
+ const daemonOffline = runtime?.daemons?.offline ?? (Number.isFinite(Number(daemonTotal)) && Number.isFinite(Number(daemonOnline))
122
+ ? Math.max(0, Number(daemonTotal) - Number(daemonOnline))
123
+ : undefined);
124
+ const sessionTotal = runtime?.sessions?.total;
125
+ const working = runtime?.sessions?.working;
126
+ const starting = runtime?.sessions?.starting;
127
+ return (_jsxs("section", { className: "panel runtime-health-panel", children: [_jsx("header", { className: "panel-header", children: _jsxs("div", { children: [_jsx("h2", { children: tr('monitoring.runtimeHealth') }), _jsx("p", { children: tr('monitoring.runtimeHealthHint') })] }) }), _jsxs("div", { className: "runtime-health-grid", children: [_jsxs("section", { className: "metric-card runtime-health-card", children: [_jsx("span", { children: tr('monitoring.sampleHealth') }), _jsx("strong", { children: _jsx("span", { className: `runtime-status-pill ${sampleStatus}`, children: tr(`monitoring.sample.${sampleStatus}`) }) }), _jsxs("small", { children: [tr('monitoring.sampleAge'), " ", formatDuration(runtime?.sampleHealth?.ageMs)] })] }), _jsxs("section", { className: "metric-card runtime-health-card", children: [_jsx("span", { children: tr('monitoring.daemonHealth') }), _jsxs("strong", { children: [formatCount(daemonOnline), "/", formatCount(daemonTotal)] }), _jsxs("small", { children: [formatCount(daemonOffline), " ", tr('monitoring.offline')] })] }), _jsxs("section", { className: "metric-card runtime-health-card", children: [_jsx("span", { children: tr('monitoring.sessionHealth') }), _jsx("strong", { children: formatCount(sessionTotal) }), _jsxs("small", { children: [tr('monitoring.working'), " ", formatCount(working), " \u00B7 ", tr('monitoring.starting'), " ", formatCount(starting)] })] }), _jsxs("section", { className: "metric-card runtime-health-card", children: [_jsx("span", { children: tr('monitoring.resourcePressure') }), _jsx("strong", { children: formatCpuPct(current.host?.cpuPct, cpuReady) }), _jsxs("small", { children: [tr('monitoring.hostMemory'), " ", formatPct(current.host?.memUsedPct), " \u00B7 RSS ", formatBytes(current.botmux?.rssBytes)] })] })] })] }));
128
+ }
129
+ function RuntimeSessionPressure({ runtime }) {
130
+ const tr = useT();
131
+ const sessions = runtime?.sessions;
132
+ const running = sessions?.longestRunning;
133
+ const waiting = sessions?.longestWaiting;
134
+ return (_jsxs("section", { className: "panel runtime-session-pressure", children: [_jsx("header", { className: "panel-header", children: _jsxs("div", { children: [_jsx("h2", { children: tr('monitoring.sessionPressure') }), _jsx("p", { children: tr('monitoring.sessionPressureHint') })] }) }), _jsxs("div", { className: "runtime-session-grid", children: [_jsxs("section", { className: "metric-card runtime-session-card", children: [_jsx("span", { children: tr('monitoring.statusDistribution') }), _jsx("strong", { children: formatCount(sessions?.total) }), _jsxs("small", { children: [tr('monitoring.working'), " ", formatCount(sessions?.working), " \u00B7 ", tr('monitoring.starting'), " ", formatCount(sessions?.starting), " \u00B7 ", tr('monitoring.waiting'), " ", formatCount(sessions?.waiting), " \u00B7 ", tr('monitoring.idle'), " ", formatCount(sessions?.idle), " \u00B7 ", tr('monitoring.unknown'), " ", formatCount(sessions?.unknown)] })] }), _jsxs("section", { className: "metric-card runtime-session-card", children: [_jsx("span", { children: tr('monitoring.longestRunning') }), _jsx("strong", { children: runtimeSessionLabel(running) }), _jsx("small", { children: formatDuration(running?.durationMs) })] }), _jsxs("section", { className: "metric-card runtime-session-card", children: [_jsx("span", { children: tr('monitoring.longestWaiting') }), _jsx("strong", { children: runtimeSessionLabel(waiting) }), _jsx("small", { children: formatDuration(waiting?.durationMs) })] }), _jsxs("section", { className: "metric-card runtime-session-card", children: [_jsx("span", { children: tr('monitoring.unattributedSessions') }), _jsx("strong", { children: formatCount(sessions?.unattributed) }), _jsx("small", { children: tr('monitoring.unattributedHint') })] })] })] }));
135
+ }
136
+ export function MonitoringPage({ initialCurrent = null, initialHistory = null, poll = true } = {}) {
137
+ const tr = useT();
138
+ const [current, setCurrent] = useState(initialCurrent);
139
+ const [history, setHistory] = useState(initialHistory);
140
+ const [sort, setSort] = useState('cpu');
141
+ useEffect(() => {
142
+ if (!poll)
143
+ return;
144
+ let disposed = false;
145
+ async function load() {
146
+ try {
147
+ const [currentRes, historyRes] = await Promise.all([
148
+ fetch('/api/resources/current', { cache: 'no-store' }),
149
+ fetch('/api/resources/history?range=3h', { cache: 'no-store' }),
150
+ ]);
151
+ const [nextCurrent, nextHistory] = await Promise.all([currentRes.json(), historyRes.json()]);
152
+ if (!disposed) {
153
+ setCurrent(nextCurrent);
154
+ setHistory(nextHistory);
155
+ }
156
+ }
157
+ catch {
158
+ if (!disposed) {
159
+ setCurrent({ supported: false, reason: 'fetch_failed', bots: [], sessions: [] });
160
+ setHistory({ supported: false, bots: [], sessions: [] });
161
+ }
162
+ }
163
+ }
164
+ void load();
165
+ const timer = window.setInterval(() => void load(), 10_000);
166
+ return () => {
167
+ disposed = true;
168
+ window.clearInterval(timer);
169
+ };
170
+ }, [poll]);
171
+ const sessions = useMemo(() => sortedSessions(current?.sessions ?? [], sort), [current?.sessions, sort]);
172
+ const hottest = sessions[0];
173
+ const supported = current?.supported !== false;
174
+ const cpuReady = currentCpuReady(current);
175
+ const chartLabels = {
176
+ hostStartLabel: historyStartLabel(history?.host?.timestamps, current?.sampledAt, tr),
177
+ botmuxStartLabel: historyStartLabel(history?.botmux?.timestamps, current?.sampledAt, tr),
178
+ endLabel: tr('monitoring.chartNow'),
179
+ emptyLabel: tr('monitoring.chartNoData'),
180
+ };
181
+ return (_jsxs("section", { className: "page resource-page", children: [_jsx("div", { className: "page-heading", children: _jsxs("div", { children: [_jsx("p", { className: "eyebrow", children: tr('monitoring.eyebrow') }), _jsx("h1", { children: tr('monitoring.runtimeTitle') }), _jsx("p", { children: tr('monitoring.runtimeSubtitle') })] }) }), current ? _jsx(RuntimeHealth, { current: current }) : null, !supported ? (_jsx("section", { className: "panel resource-unavailable", children: _jsxs("div", { className: "resource-unavailable-card", children: [_jsx("span", { className: "resource-unavailable-status", "aria-hidden": "true" }), _jsxs("div", { className: "resource-unavailable-copy", children: [_jsx("span", { children: tr('monitoring.unsupportedKicker') }), _jsx("h2", { children: tr('monitoring.unsupportedTitle') }), _jsx("p", { children: tr('monitoring.unsupportedHint') })] }), _jsxs("div", { className: "resource-unavailable-tags", "aria-label": tr('monitoring.unsupported'), children: [_jsx("span", { children: tr('monitoring.unsupportedRuntimeOk') }), _jsx("span", { children: tr('monitoring.unsupportedResourceOnly') })] })] }) })) : (_jsxs(_Fragment, { children: [_jsxs("section", { className: "panel resource-pressure", children: [_jsx("header", { className: "panel-header", children: _jsxs("div", { children: [_jsx("h2", { children: tr('monitoring.resourcePressure') }), _jsx("p", { children: tr('monitoring.resourcePressureHint') })] }) }), _jsxs("div", { className: "resource-metrics runtime-pressure-grid", children: [_jsxs("section", { className: "metric-card", children: [_jsx("span", { children: tr('monitoring.hostCpu') }), _jsx("strong", { children: formatCpuPct(current?.host?.cpuPct, cpuReady) }), _jsxs("small", { children: ["load ", Number(current?.host?.load1 ?? 0).toFixed(2)] })] }), _jsxs("section", { className: "metric-card", children: [_jsx("span", { children: tr('monitoring.hostMemory') }), _jsx("strong", { children: formatPct(current?.host?.memUsedPct) }), _jsx("small", { children: tr('monitoring.memoryOnly') })] }), _jsxs("section", { className: "metric-card", children: [_jsxs("div", { className: "metric-label-with-help", children: [_jsx("span", { children: tr('monitoring.botmuxRss') }), _jsx(HelpTip, { label: tr('monitoring.rssHelpLabel'), text: tr('monitoring.rssHelp') })] }), _jsx("strong", { children: formatBytes(current?.botmux?.rssBytes) }), current?.botmuxBreakdown && (_jsxs(_Fragment, { children: [_jsxs("small", { className: "metric-breakdown", children: [tr('monitoring.botmuxSelf'), " ", formatBytes((current.botmuxBreakdown.daemon.rssBytes ?? 0) + (current.botmuxBreakdown.worker.rssBytes ?? 0)), _jsxs("span", { className: "metric-breakdown-detail", children: [" (", tr('monitoring.botmuxDaemon'), " ", formatBytes(current.botmuxBreakdown.daemon.rssBytes), " \u00B7 ", tr('monitoring.botmuxWorker'), " ", formatBytes(current.botmuxBreakdown.worker.rssBytes), ")"] })] }), _jsxs("small", { className: "metric-breakdown", children: [tr('monitoring.botmuxCli'), " ", formatBytes(current.botmuxBreakdown.cli.rssBytes)] })] }))] }), _jsxs("section", { className: "metric-card", children: [_jsx("span", { children: tr('monitoring.trackedSessions') }), _jsx("strong", { children: current?.rankings?.tracked?.length ?? 0 }), _jsxs("small", { children: [tr('monitoring.currentSessions'), " ", (current?.sessions ?? []).length] })] })] })] }), _jsxs("section", { className: "panel resource-trends", children: [_jsx("header", { className: "panel-header", children: _jsxs("div", { children: [_jsx("h2", { children: tr('monitoring.trends') }), _jsx("p", { children: tr('monitoring.trendsHint') })] }) }), _jsxs("div", { className: "resource-trend-grid", children: [_jsxs("article", { className: "resource-trend-cell", children: [_jsx("b", { children: tr('monitoring.trendHostCpu') }), _jsx(Sparkline, { values: history?.host?.cpuPct, timestamps: history?.host?.timestamps, unit: "pct", startLabel: chartLabels.hostStartLabel, endLabel: chartLabels.endLabel, emptyLabel: chartLabels.emptyLabel })] }), _jsxs("article", { className: "resource-trend-cell", children: [_jsx("b", { children: tr('monitoring.trendHostMemory') }), _jsx(Sparkline, { values: history?.host?.memUsedPct, timestamps: history?.host?.timestamps, unit: "pct", startLabel: chartLabels.hostStartLabel, endLabel: chartLabels.endLabel, emptyLabel: chartLabels.emptyLabel })] }), _jsxs("article", { className: "resource-trend-cell", children: [_jsx("b", { children: tr('monitoring.trendBotmuxCpu') }), _jsx(Sparkline, { values: history?.botmux?.cpuPct, timestamps: history?.botmux?.timestamps, unit: "pct", startLabel: chartLabels.botmuxStartLabel, endLabel: chartLabels.endLabel, emptyLabel: chartLabels.emptyLabel })] }), _jsxs("article", { className: "resource-trend-cell", children: [_jsx("b", { children: tr('monitoring.botmuxRss') }), _jsx(Sparkline, { values: history?.botmux?.rssBytes, timestamps: history?.botmux?.timestamps, unit: "bytes", startLabel: chartLabels.botmuxStartLabel, endLabel: chartLabels.endLabel, emptyLabel: chartLabels.emptyLabel })] })] })] })] })), current ? _jsx(RuntimeSessionPressure, { runtime: current.runtime }) : null, supported ? (_jsxs(_Fragment, { children: [_jsxs("section", { className: "panel", children: [_jsx("header", { className: "panel-header", children: _jsxs("div", { children: [_jsx("h2", { children: tr('monitoring.botRuntime') }), _jsx("p", { children: tr('monitoring.botRuntimeHint') })] }) }), _jsxs("div", { className: "resource-table resource-bot-table", children: [_jsxs("div", { className: "resource-row resource-row-head", children: [_jsx("span", { children: tr('monitoring.bot') }), _jsx("span", { children: tr('monitoring.daemon') }), _jsx("span", { children: tr('monitoring.sessionsCount') }), _jsx("span", { children: tr('monitoring.working') }), _jsx("span", { children: tr('monitoring.starting') }), _jsx("span", { children: tr('monitoring.cpu') }), _jsx("span", { children: tr('monitoring.rss') })] }), (current?.bots ?? []).map(bot => {
182
+ const botRuntime = bot.runtime?.sessions;
183
+ return (_jsxs("div", { className: "resource-row", children: [_jsx("b", { children: bot.botName }), _jsx("span", { children: bot.runtime?.daemonStatus ?? bot.daemonStatus ?? 'unknown' }), _jsx("span", { children: formatCount(botRuntime?.total ?? bot.sessions?.count) }), _jsx("span", { children: formatCount(botRuntime?.working) }), _jsx("span", { children: formatCount(botRuntime?.starting) }), _jsx("span", { children: formatCpuPct(bot.total?.cpuPct, cpuReady) }), _jsx("span", { children: formatBytes(bot.total?.rssBytes) })] }, bot.larkAppId));
184
+ })] })] }), _jsxs("section", { className: "panel", children: [_jsxs("header", { className: "panel-header", children: [_jsxs("div", { children: [_jsx("h2", { children: tr('monitoring.sessions') }), _jsx("p", { children: tr('monitoring.sessionsHint') })] }), hottest ? _jsxs("span", { className: "resource-hot", children: [tr('monitoring.hottest'), ": ", hottest.botName, " \u00B7 ", hottest.title || hottest.sessionId] }) : null] }), _jsx("div", { className: "resource-sortbar", role: "group", "aria-label": tr('monitoring.sort'), children: ['cpu', 'rss', 'growth', 'bot', 'status'].map(key => (_jsx("button", { type: "button", className: sort === key ? 'on' : '', onClick: () => setSort(key), children: tr(`monitoring.sort.${key}`) }, key))) }), _jsx(SessionResourceTable, { sessions: sessions, cpuReady: cpuReady })] }), _jsxs("section", { className: "panel", children: [_jsx("header", { className: "panel-header", children: _jsxs("div", { children: [_jsx("h2", { children: tr('monitoring.trackedSessionTrends') }), _jsx("p", { children: tr('monitoring.trackedSessionHint') })] }) }), _jsxs("div", { className: "resource-trend-grid", children: [(history?.sessions ?? []).map(session => (_jsxs("article", { className: "resource-trend-cell", children: [_jsxs("b", { children: [session.botName, " \u00B7 ", session.title || session.sessionId] }), _jsx(Sparkline, { values: session.series?.rssBytes, timestamps: session.series?.timestamps, unit: "bytes", startLabel: historyStartLabel(session.series?.timestamps, current?.sampledAt, tr), endLabel: chartLabels.endLabel, emptyLabel: chartLabels.emptyLabel })] }, session.sessionId))), !(history?.sessions ?? []).length ? _jsx("div", { className: "empty", children: tr('monitoring.noTrackedHistory') }) : null] })] })] })) : null] }));
185
+ }
186
+ export function renderMonitoringPage(root) {
187
+ return mountReactPage(root, _jsx(MonitoringPage, {}));
188
+ }
189
+ //# sourceMappingURL=monitoring-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitoring-page.js","sourceRoot":"","sources":["../../../src/dashboard/web/monitoring-page.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"overview-page.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/overview-page.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgTrE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAElE"}
1
+ {"version":3,"file":"overview-page.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/overview-page.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAubrE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAElE"}
@@ -36,6 +36,79 @@ function sessionStatusText(status, tr) {
36
36
  const label = tr(key);
37
37
  return label === key ? raw : label;
38
38
  }
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
+ }
39
112
  function collapsedCardCount(gridEl) {
40
113
  const width = gridEl?.clientWidth ?? 0;
41
114
  if (!width)
@@ -108,6 +181,7 @@ function OverviewPage() {
108
181
  const [teamExpanded, setTeamExpanded] = useState(readTeamExpanded);
109
182
  const [collapsedN, setCollapsedN] = useState(TEAM_COLLAPSED_ROWS * 3);
110
183
  const [namesVersion, forceNamesRefresh] = useState(0);
184
+ const [resources, setResources] = useState(null);
111
185
  const { sessions, schedules, scheduleTimeZone } = useStoreSelector(snapshot => ({
112
186
  sessions: [...snapshot.sessions.values()],
113
187
  schedules: [...snapshot.schedules.values()],
@@ -123,6 +197,27 @@ function OverviewPage() {
123
197
  void loadGroupsSnapshot().then(() => forceNamesRefresh(v => v + 1));
124
198
  void loadNameMaps().then(() => forceNamesRefresh(v => v + 1));
125
199
  }, []);
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
+ }, []);
126
221
  const active = useMemo(() => sessions.filter(s => s.status !== 'closed'), [sessions]);
127
222
  const attentionRows = useMemo(() => active.filter(s => attentionReason(s)).sort((a, b) => attentionWaitSince(a) - attentionWaitSince(b)), [active]);
128
223
  const busy = useMemo(() => active.filter(s => BUSY_STATUSES.has(s.status) && !attentionReason(s)), [active]);
@@ -138,13 +233,25 @@ function OverviewPage() {
138
233
  .filter(s => s.nextRunAt)
139
234
  .sort((a, b) => Date.parse(a.nextRunAt) - Date.parse(b.nextRunAt))
140
235
  .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]);
141
248
  const toggleTeam = () => {
142
249
  setTeamExpanded(v => {
143
250
  persistTeamExpanded(!v);
144
251
  return !v;
145
252
  });
146
253
  };
147
- 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("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') }) })] })] })] })] }));
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') }) })] })] })] })] }));
148
255
  }
149
256
  export function renderOverviewPage(root) {
150
257
  return mountReactPage(root, _jsx(OverviewPage, {}));
@@ -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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"}
@@ -3,11 +3,13 @@ export type ResolvedTheme = 'light' | 'dark';
3
3
  export type SessionsViewMode = 'kanban' | 'board' | 'table';
4
4
  export declare const THEME_STORAGE_KEY = "botmux.dashboard.theme";
5
5
  export declare const SESSIONS_VIEW_STORAGE_KEY = "botmux.dashboard.sessions.view";
6
+ export declare const SESSIONS_SHOW_UNKNOWN_CHATS_STORAGE_KEY = "botmux.dashboard.sessions.showUnknownChats";
6
7
  export declare function normalizeThemeMode(value: unknown): ThemeMode | null;
7
8
  export declare function normalizeSessionsViewMode(value: unknown): SessionsViewMode | null;
8
9
  export declare function resolveThemeMode(mode: ThemeMode, systemPrefersDark: boolean): ResolvedTheme;
9
10
  export declare function readStoredThemeMode(storage: Storage | undefined): ThemeMode;
10
11
  export declare function readStoredSessionsViewMode(storage: Storage | undefined): SessionsViewMode;
12
+ export declare function readStoredSessionsShowUnknownChats(storage: Storage | undefined): boolean;
11
13
  export declare const SESSIONS_BOARD_ORDER_STORAGE_KEY = "botmux.dashboard.sessions.boardOrder";
12
14
  export declare const DEFAULT_BOARD_ORDER: readonly ["needs-you", "starting", "working", "idle"];
13
15
  /** 必须是默认四列的一个排列(防旧版本残留/手改 localStorage 的脏值)。 */
@@ -15,6 +17,7 @@ export declare function normalizeBoardOrder(value: unknown): string[] | null;
15
17
  export declare function readStoredBoardOrder(storage: Storage | undefined): string[];
16
18
  export declare function writeStoredBoardOrder(storage: Storage | undefined, order: string[]): void;
17
19
  export declare function writeStoredSessionsViewMode(storage: Storage | undefined, mode: SessionsViewMode): void;
20
+ export declare function writeStoredSessionsShowUnknownChats(storage: Storage | undefined, show: boolean): void;
18
21
  export type KanbanGroupBy = 'flow' | 'team' | 'bot';
19
22
  export declare const KANBAN_GROUPBY_STORAGE_KEY = "botmux.dashboard.sessions.kanbanGroupBy";
20
23
  export declare const KANBAN_TEAM_STORAGE_KEY = "botmux.dashboard.sessions.kanbanTeam";
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/preferences.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5D,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAC1D,eAAO,MAAM,yBAAyB,mCAAmC,CAAC;AAE1E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAEnE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAEjF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,GAAG,aAAa,CAG3F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAI3E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAEzF;AAGD,eAAO,MAAM,gCAAgC,yCAAyC,CAAC;AACvF,eAAO,MAAM,mBAAmB,uDAAwD,CAAC;AAEzF,gDAAgD;AAChD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAMnE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,EAAE,CAQ3E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAMzF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAMtG;AAGD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAEpD,eAAO,MAAM,0BAA0B,4CAA4C,CAAC;AACpF,eAAO,MAAM,uBAAuB,yCAAyC,CAAC;AAE9E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAE3E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,CAEnF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAMhG;AAGD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAEnD,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAE9D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAEvE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAE/E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAM5F;AAOD,MAAM,MAAM,MAAM,GACd,SAAS,GACT,OAAO,GACP,SAAS,GACT,SAAS,GACT,MAAM,GACN,aAAa,GACb,KAAK,GACL,YAAY,GACZ,MAAM,CAAC;AAEX,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAUrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AAExD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAEnE"}
1
+ {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/preferences.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export const THEME_STORAGE_KEY = 'botmux.dashboard.theme';
2
2
  export const SESSIONS_VIEW_STORAGE_KEY = 'botmux.dashboard.sessions.view';
3
+ export const SESSIONS_SHOW_UNKNOWN_CHATS_STORAGE_KEY = 'botmux.dashboard.sessions.showUnknownChats';
3
4
  export function normalizeThemeMode(value) {
4
5
  return value === 'system' || value === 'light' || value === 'dark' ? value : null;
5
6
  }
@@ -19,6 +20,15 @@ export function readStoredThemeMode(storage) {
19
20
  export function readStoredSessionsViewMode(storage) {
20
21
  return normalizeSessionsViewMode(storage?.getItem(SESSIONS_VIEW_STORAGE_KEY)) ?? 'board';
21
22
  }
23
+ export function readStoredSessionsShowUnknownChats(storage) {
24
+ try {
25
+ const raw = storage?.getItem(SESSIONS_SHOW_UNKNOWN_CHATS_STORAGE_KEY);
26
+ return raw == null ? true : raw === '1';
27
+ }
28
+ catch {
29
+ return true;
30
+ }
31
+ }
22
32
  // ── 看板列顺序(用户可拖拽/按钮自定义,从左到右)─────────────────────────────
23
33
  export const SESSIONS_BOARD_ORDER_STORAGE_KEY = 'botmux.dashboard.sessions.boardOrder';
24
34
  export const DEFAULT_BOARD_ORDER = ['needs-you', 'starting', 'working', 'idle'];
@@ -61,6 +71,14 @@ export function writeStoredSessionsViewMode(storage, mode) {
61
71
  // Some embedded browsers deny localStorage. The current page still updates.
62
72
  }
63
73
  }
74
+ export function writeStoredSessionsShowUnknownChats(storage, show) {
75
+ try {
76
+ storage?.setItem(SESSIONS_SHOW_UNKNOWN_CHATS_STORAGE_KEY, show ? '1' : '0');
77
+ }
78
+ catch {
79
+ // localStorage 不可用时只在当前页生效
80
+ }
81
+ }
64
82
  export const KANBAN_GROUPBY_STORAGE_KEY = 'botmux.dashboard.sessions.kanbanGroupBy';
65
83
  export const KANBAN_TEAM_STORAGE_KEY = 'botmux.dashboard.sessions.kanbanTeam';
66
84
  export function normalizeKanbanGroupBy(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../src/dashboard/web/preferences.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../src/dashboard/web/preferences.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface SessionTerminalLocation {
2
+ protocol: string;
3
+ origin: string;
4
+ hostname: string;
5
+ }
6
+ export declare function sessionTerminalHref(s: any, loc?: SessionTerminalLocation | null): string | null;
7
+ //# sourceMappingURL=session-terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-terminal.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/session-terminal.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,GAAE,uBAAuB,GAAG,IAAwB,GAAG,MAAM,GAAG,IAAI,CAWlH"}