botmux 3.2.1 → 3.3.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.
- package/dist/adapters/cli/pi.d.ts.map +1 -1
- package/dist/adapters/cli/pi.js +4 -0
- package/dist/adapters/cli/pi.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +8 -1
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/cli/deferred-topic-send.d.ts +37 -0
- package/dist/cli/deferred-topic-send.d.ts.map +1 -0
- package/dist/cli/deferred-topic-send.js +69 -0
- package/dist/cli/deferred-topic-send.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +160 -34
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +17 -12
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts +4 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +78 -8
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/deferred-schedule-settlement.d.ts +20 -0
- package/dist/core/deferred-schedule-settlement.d.ts.map +1 -0
- package/dist/core/deferred-schedule-settlement.js +18 -0
- package/dist/core/deferred-schedule-settlement.js.map +1 -0
- package/dist/core/deferred-topic-binding.d.ts +19 -0
- package/dist/core/deferred-topic-binding.d.ts.map +1 -0
- package/dist/core/deferred-topic-binding.js +55 -0
- package/dist/core/deferred-topic-binding.js.map +1 -0
- package/dist/core/scheduler.d.ts +26 -20
- package/dist/core/scheduler.d.ts.map +1 -1
- package/dist/core/scheduler.js +114 -56
- package/dist/core/scheduler.js.map +1 -1
- package/dist/core/session-discovery.d.ts.map +1 -1
- package/dist/core/session-discovery.js +47 -15
- package/dist/core/session-discovery.js.map +1 -1
- package/dist/core/session-manager.d.ts +17 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +178 -84
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/types.d.ts +4 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +10 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker-pool.d.ts +7 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +51 -1
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +90 -5
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/schedule-card-model.d.ts +12 -3
- package/dist/dashboard/schedule-card-model.d.ts.map +1 -1
- package/dist/dashboard/schedule-card-model.js +32 -8
- package/dist/dashboard/schedule-card-model.js.map +1 -1
- package/dist/dashboard/web/dashboard-components.d.ts +7 -0
- package/dist/dashboard/web/dashboard-components.d.ts.map +1 -1
- package/dist/dashboard/web/dashboard-components.js +11 -2
- package/dist/dashboard/web/dashboard-components.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +30 -6
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/schedules-page.d.ts +2 -0
- package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
- package/dist/dashboard/web/schedules-page.js +74 -27
- package/dist/dashboard/web/schedules-page.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/{bot-defaults-page-O37SAQD5.js → bot-defaults-page-B5AY4B2J.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-6QHMLMIM.js → chunk-CUV65BIQ.js} +3 -3
- package/dist/dashboard-web/chunks/{chunk-O2DPQL7C.js → chunk-JNRSPKLS.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-FYALHCPG.js → chunk-P6GO5KT4.js} +1 -1
- package/dist/dashboard-web/chunks/chunk-QFMH6ITB.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-B42PCL5P.js → chunk-UBOLHQCK.js} +1 -1
- package/dist/dashboard-web/chunks/{connectors-page-DZBQ42MH.js → connectors-page-KTC2QWNW.js} +1 -1
- package/dist/dashboard-web/chunks/{groups-page-3IEGRZKQ.js → groups-page-B3EKGOLY.js} +1 -1
- package/dist/dashboard-web/chunks/{insights-page-X3ADRON3.js → insights-page-X6RXNCWX.js} +1 -1
- package/dist/dashboard-web/chunks/{monitor-room-IV36RGQY.js → monitor-room-LLRA5LQW.js} +1 -1
- package/dist/dashboard-web/chunks/{monitoring-page-ADFKVON4.js → monitoring-page-7MT5FEOS.js} +1 -1
- package/dist/dashboard-web/chunks/{office-page-CALAOWNS.js → office-page-KD46D5TD.js} +1 -1
- package/dist/dashboard-web/chunks/{overview-page-SLMGLK3M.js → overview-page-JUWNH32O.js} +1 -1
- package/dist/dashboard-web/chunks/{roles-page-L7JJ4FFV.js → roles-page-P6F7NLOI.js} +1 -1
- package/dist/dashboard-web/chunks/schedules-page-XIHWZST4.js +1 -0
- package/dist/dashboard-web/chunks/{sessions-page-OKJ5YWUZ.js → sessions-page-2VECQ27T.js} +1 -1
- package/dist/dashboard-web/chunks/{settings-page-P6MI2ZUE.js → settings-page-HMIUE2JA.js} +1 -1
- package/dist/dashboard-web/chunks/{skills-page-FT7BVZ6X.js → skills-page-A46KVWBL.js} +1 -1
- package/dist/dashboard-web/chunks/{team-federation-page-DEYCPUFB.js → team-federation-page-SDUC56DF.js} +1 -1
- package/dist/dashboard-web/chunks/{v3-page-4IOWREZG.js → v3-page-J5JOTUSQ.js} +1 -1
- package/dist/dashboard-web/chunks/{whiteboards-page-2VMBETZH.js → whiteboards-page-U7LSOAWI.js} +1 -1
- package/dist/dashboard-web/style.css +34 -4
- package/dist/dashboard.js +16 -1
- package/dist/dashboard.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +16 -7
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +16 -7
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +3 -0
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +1 -0
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +1 -1
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/schedules-card.d.ts +2 -2
- package/dist/im/lark/schedules-card.d.ts.map +1 -1
- package/dist/im/lark/schedules-card.js +50 -34
- package/dist/im/lark/schedules-card.js.map +1 -1
- package/dist/index-daemon.js +13 -1
- package/dist/index-daemon.js.map +1 -1
- package/dist/services/schedule-store.d.ts +6 -2
- package/dist/services/schedule-store.d.ts.map +1 -1
- package/dist/services/schedule-store.js +19 -4
- package/dist/services/schedule-store.js.map +1 -1
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +4 -5
- package/dist/skills/definitions.js.map +1 -1
- package/dist/types.d.ts +36 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/child-env.d.ts +40 -1
- package/dist/utils/child-env.d.ts.map +1 -1
- package/dist/utils/child-env.js +45 -0
- package/dist/utils/child-env.js.map +1 -1
- package/dist/utils/pending-input-queue.d.ts +10 -0
- package/dist/utils/pending-input-queue.d.ts.map +1 -1
- package/dist/utils/pending-input-queue.js +15 -0
- package/dist/utils/pending-input-queue.js.map +1 -1
- package/dist/worker.js +102 -9
- package/dist/worker.js.map +1 -1
- package/dist/workflows/hostExecutors/botmux-schedule.d.ts +3 -1
- package/dist/workflows/hostExecutors/botmux-schedule.d.ts.map +1 -1
- package/dist/workflows/hostExecutors/botmux-schedule.js +14 -3
- package/dist/workflows/hostExecutors/botmux-schedule.js.map +1 -1
- package/dist/workflows/v3/architect.js +1 -1
- package/dist/workflows/v3/architect.js.map +1 -1
- package/dist/workflows/v3/contract.d.ts +8 -0
- package/dist/workflows/v3/contract.d.ts.map +1 -1
- package/dist/workflows/v3/contract.js.map +1 -1
- package/dist/workflows/v3/daemon-run.d.ts.map +1 -1
- package/dist/workflows/v3/daemon-run.js +2 -0
- package/dist/workflows/v3/daemon-run.js.map +1 -1
- package/dist/workflows/v3/ephemeral-pool.d.ts.map +1 -1
- package/dist/workflows/v3/ephemeral-pool.js +10 -2
- package/dist/workflows/v3/ephemeral-pool.js.map +1 -1
- package/dist/workflows/v3/run-envelope.d.ts +24 -24
- package/dist/workflows/v3/runtime.d.ts +5 -0
- package/dist/workflows/v3/runtime.d.ts.map +1 -1
- package/dist/workflows/v3/runtime.js +1 -0
- package/dist/workflows/v3/runtime.js.map +1 -1
- package/package.json +1 -1
- package/dist/dashboard-web/chunks/chunk-I35DXGM4.js +0 -1
- package/dist/dashboard-web/chunks/schedules-page-Z3672POL.js +0 -1
|
@@ -29,12 +29,30 @@ export function filterSchedules(rows, filters) {
|
|
|
29
29
|
return aN - bN;
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
function
|
|
33
|
-
if (s.deliver === 'new-topic')
|
|
34
|
-
return tr('schedules.deliveryNewTopic');
|
|
32
|
+
export function scheduleExecutionPlacement(s) {
|
|
35
33
|
if (s.deliver === 'local')
|
|
34
|
+
return 'local';
|
|
35
|
+
if (s.executionPosition === 'new-topic')
|
|
36
|
+
return 'new-topic';
|
|
37
|
+
if (s.executionPosition === 'topic')
|
|
38
|
+
return s.rootMessageId ? 'thread' : 'chat';
|
|
39
|
+
if (s.executionPosition === 'top-level')
|
|
40
|
+
return 'chat';
|
|
41
|
+
if (s.deliver === 'new-topic')
|
|
42
|
+
return 'new-topic';
|
|
43
|
+
if (s.scope === 'chat')
|
|
44
|
+
return 'chat';
|
|
45
|
+
return s.rootMessageId ? 'thread' : 'chat';
|
|
46
|
+
}
|
|
47
|
+
function placementLabel(s, tr) {
|
|
48
|
+
const placement = scheduleExecutionPlacement(s);
|
|
49
|
+
if (placement === 'local')
|
|
36
50
|
return tr('schedules.deliveryLocal');
|
|
37
|
-
|
|
51
|
+
if (placement === 'new-topic')
|
|
52
|
+
return tr('schedules.deliveryNewTopic');
|
|
53
|
+
return placement === 'thread'
|
|
54
|
+
? tr('schedules.deliveryThread')
|
|
55
|
+
: tr('schedules.deliveryTopLevel');
|
|
38
56
|
}
|
|
39
57
|
function repeatLabel(s) {
|
|
40
58
|
if (!s.repeat)
|
|
@@ -50,8 +68,7 @@ function ScheduleRowCard(props) {
|
|
|
50
68
|
const toggleOp = s.enabled ? 'pause' : 'resume';
|
|
51
69
|
const toggleKey = `${s.id}:${toggleOp}`;
|
|
52
70
|
const runKey = `${s.id}:run`;
|
|
53
|
-
|
|
54
|
-
return (_jsxs(OverviewListItem, { kind: "schedule", className: "schedule-list-row", "data-id": s.id, children: [_jsxs(OverviewListMain, { children: [_jsxs("div", { className: "schedule-row-head", children: [_jsx("b", { children: s.name ?? s.id }), _jsx("span", { className: `schedule-state ${s.enabled ? 'enabled' : 'paused'}`, children: s.enabled ? tr('schedules.enabled') : tr('schedules.paused') })] }), _jsxs("div", { className: "schedule-row-meta", children: [_jsx("span", { children: s.botName ?? s.larkAppId ?? '-' }), _jsx("span", { children: "\u00B7" }), _jsx("code", { children: s.parsed?.display ?? '?' })] }), _jsxs("div", { className: "schedule-chip-strip", children: [_jsx("span", { children: kind }), _jsxs("span", { children: [tr('schedules.delivery'), ": ", deliveryLabel(s, tr)] }), s.silent ? _jsxs("span", { children: ["\uD83D\uDD07 ", tr('schedules.silent')] }) : null, _jsxs("span", { children: [tr('schedules.next'), ": ", fmtScheduleDate(s.nextRunAt, scheduleTimeZone)] }), _jsxs("span", { children: [tr('schedules.last'), ": ", fmtScheduleDate(s.lastRunAt, scheduleTimeZone)] }), s.lastStatus === 'error' ? (_jsxs("span", { className: "schedule-error-chip", title: typeof s.lastError === 'string' ? s.lastError : undefined, children: ["\u26A0 ", tr('schedules.error'), ": ", typeof s.lastError === 'string' && s.lastError.length > 60 ? s.lastError.slice(0, 60) + '…' : (s.lastError ?? tr('schedules.errorUnknown'))] })) : null, _jsxs("span", { children: [tr('schedules.repeat'), ": ", repeatLabel(s)] })] })] }), _jsx(OverviewListTail, { children: _jsxs("div", { className: "schedule-actions", children: [_jsx(ActionButton, { op: "run", label: tr('schedules.runNow'), pending: props.pending === runKey, feedback: props.feedback[runKey] ?? null, onClick: () => props.onAction(s.id, 'run') }), _jsx(ScheduleEnabledSwitch, { checked: Boolean(s.enabled), pending: props.pending === toggleKey, feedback: props.feedback[toggleKey] ?? null, tr: tr, onClick: () => props.onAction(s.id, toggleOp) }), s.deliver === 'local' || s.silent ? null : (_jsx(ActionButton, { op: "delivery", label: s.deliver === 'new-topic' ? tr('schedules.useOrigin') : tr('schedules.useNewTopic'), pending: props.pending === deliveryKey, feedback: props.feedback[deliveryKey] ?? null, onClick: () => props.onAction(s.id, 'delivery') })), _jsx("button", { type: "button", className: "schedule-action-button schedule-edit-button", onClick: () => props.onEdit(s), title: tr('schedules.edit'), children: _jsx("span", { className: "schedule-action-label", children: tr('schedules.edit') }) }), _jsx("button", { type: "button", className: "schedule-action-button schedule-delete-button", onClick: () => props.onDelete(s), title: tr('schedules.delete'), children: _jsx("span", { className: "schedule-action-label", children: tr('schedules.delete') }) })] }) })] }));
|
|
71
|
+
return (_jsxs(OverviewListItem, { kind: "schedule", className: "schedule-list-row", "data-id": s.id, children: [_jsxs(OverviewListMain, { children: [_jsxs("div", { className: "schedule-row-head", children: [_jsx("b", { children: s.name ?? s.id }), _jsx("span", { className: `schedule-state ${s.enabled ? 'enabled' : 'paused'}`, children: s.enabled ? tr('schedules.enabled') : tr('schedules.paused') })] }), _jsxs("div", { className: "schedule-row-meta", children: [_jsx("span", { children: s.botName ?? s.larkAppId ?? '-' }), _jsx("span", { children: "\u00B7" }), _jsx("code", { children: s.parsed?.display ?? '?' })] }), _jsxs("div", { className: "schedule-chip-strip", children: [_jsx("span", { children: kind }), _jsxs("span", { children: [tr('schedules.delivery'), ": ", placementLabel(s, tr)] }), s.silent ? _jsxs("span", { children: ["\uD83D\uDD07 ", tr('schedules.silent')] }) : null, _jsxs("span", { children: [tr('schedules.next'), ": ", fmtScheduleDate(s.nextRunAt, scheduleTimeZone)] }), _jsxs("span", { children: [tr('schedules.last'), ": ", fmtScheduleDate(s.lastRunAt, scheduleTimeZone)] }), s.lastStatus === 'error' ? (_jsxs("span", { className: "schedule-error-chip", title: typeof s.lastError === 'string' ? s.lastError : undefined, children: ["\u26A0 ", tr('schedules.error'), ": ", typeof s.lastError === 'string' && s.lastError.length > 60 ? s.lastError.slice(0, 60) + '…' : (s.lastError ?? tr('schedules.errorUnknown'))] })) : null, _jsxs("span", { children: [tr('schedules.repeat'), ": ", repeatLabel(s)] })] })] }), _jsx(OverviewListTail, { children: _jsxs("div", { className: "schedule-actions", children: [_jsx(ActionButton, { op: "run", label: tr('schedules.runNow'), pending: props.pending === runKey, feedback: props.feedback[runKey] ?? null, onClick: () => props.onAction(s.id, 'run') }), _jsx(ScheduleEnabledSwitch, { checked: Boolean(s.enabled), pending: props.pending === toggleKey, feedback: props.feedback[toggleKey] ?? null, tr: tr, onClick: () => props.onAction(s.id, toggleOp) }), _jsx("button", { type: "button", className: "schedule-action-button schedule-edit-button", onClick: () => props.onEdit(s), title: tr('schedules.edit'), children: _jsx("span", { className: "schedule-action-label", children: tr('schedules.edit') }) }), _jsx("button", { type: "button", className: "schedule-action-button schedule-delete-button", onClick: () => props.onDelete(s), title: tr('schedules.delete'), children: _jsx("span", { className: "schedule-action-label", children: tr('schedules.delete') }) })] }) })] }));
|
|
55
72
|
}
|
|
56
73
|
function SchedulesPage() {
|
|
57
74
|
const tr = useT();
|
|
@@ -157,11 +174,29 @@ function SchedulesPage() {
|
|
|
157
174
|
const method = editing ? 'PATCH' : 'POST';
|
|
158
175
|
// When editing, chatId/larkAppId are immutable (PATCH ignores them);
|
|
159
176
|
// when creating, larkAppId selects the owning bot/daemon.
|
|
160
|
-
// Only include `deliver` in the PATCH when the user explicitly changed it,
|
|
161
|
-
// so legacy 'local' tasks aren't silently rewritten to 'origin'.
|
|
162
177
|
const payload = editing
|
|
163
|
-
? {
|
|
164
|
-
|
|
178
|
+
? {
|
|
179
|
+
name: data.name,
|
|
180
|
+
schedule: data.schedule,
|
|
181
|
+
prompt: data.prompt,
|
|
182
|
+
silent: data.silent,
|
|
183
|
+
...(data.updateExecutionPosition ? {
|
|
184
|
+
executionPosition: data.executionPosition,
|
|
185
|
+
rootMessageId: data.rootMessageId,
|
|
186
|
+
topicTitle: data.topicTitle,
|
|
187
|
+
} : {}),
|
|
188
|
+
}
|
|
189
|
+
: {
|
|
190
|
+
name: data.name,
|
|
191
|
+
schedule: data.schedule,
|
|
192
|
+
prompt: data.prompt,
|
|
193
|
+
silent: data.silent,
|
|
194
|
+
executionPosition: data.executionPosition,
|
|
195
|
+
rootMessageId: data.rootMessageId,
|
|
196
|
+
topicTitle: data.topicTitle,
|
|
197
|
+
chatId: data.chatId,
|
|
198
|
+
larkAppId: data.larkAppId,
|
|
199
|
+
};
|
|
165
200
|
const r = await fetch(url, {
|
|
166
201
|
method,
|
|
167
202
|
headers: { 'Content-Type': 'application/json' },
|
|
@@ -220,11 +255,15 @@ function ScheduleFormModal(props) {
|
|
|
220
255
|
const [name, setName] = useState(editing?.name ?? '');
|
|
221
256
|
const [schedule, setSchedule] = useState(editing?.schedule ?? '');
|
|
222
257
|
const [prompt, setPrompt] = useState(editing?.prompt ?? '');
|
|
223
|
-
const [deliver, setDeliver] = useState(editing?.deliver === 'new-topic' ? 'new-topic' : 'origin');
|
|
224
|
-
const [deliverTouched, setDeliverTouched] = useState(false);
|
|
225
258
|
const [silent, setSilent] = useState(editing?.silent === true);
|
|
259
|
+
const [executionPosition, setExecutionPosition] = useState(editing && scheduleExecutionPlacement(editing) === 'thread'
|
|
260
|
+
? 'topic'
|
|
261
|
+
: editing && scheduleExecutionPlacement(editing) === 'new-topic' ? 'new-topic' : 'top-level');
|
|
262
|
+
const [rootMessageId, setRootMessageId] = useState(editing?.rootMessageId ?? '');
|
|
263
|
+
const [topicTitle, setTopicTitle] = useState(editing?.topicTitle ?? '');
|
|
226
264
|
const [chatId, setChatId] = useState(editing?.chatId ?? '');
|
|
227
265
|
const [larkAppId, setLarkAppId] = useState(editing?.larkAppId ?? bots[0]?.larkAppId ?? '');
|
|
266
|
+
const localDelivery = editing?.deliver === 'local';
|
|
228
267
|
// If the modal opened before /api/bots resolved, default to the first bot
|
|
229
268
|
// once it arrives so the submit button doesn't stay permanently disabled.
|
|
230
269
|
useEffect(() => {
|
|
@@ -232,25 +271,33 @@ function ScheduleFormModal(props) {
|
|
|
232
271
|
setLarkAppId(bots[0].larkAppId);
|
|
233
272
|
}
|
|
234
273
|
}, [editing, larkAppId, bots]);
|
|
235
|
-
// silent + new-topic are mutually exclusive
|
|
236
|
-
const silentNewTopicConflict = silent && deliver === 'new-topic';
|
|
237
274
|
function handleSubmit(e) {
|
|
238
275
|
e.preventDefault();
|
|
239
|
-
if (silentNewTopicConflict)
|
|
240
|
-
return;
|
|
241
276
|
if (!editing && !larkAppId)
|
|
242
277
|
return;
|
|
243
|
-
|
|
278
|
+
if (!localDelivery && executionPosition === 'topic' && !rootMessageId.trim())
|
|
279
|
+
return;
|
|
280
|
+
props.onSubmit({
|
|
281
|
+
name,
|
|
282
|
+
schedule,
|
|
283
|
+
prompt,
|
|
284
|
+
silent,
|
|
285
|
+
executionPosition,
|
|
286
|
+
rootMessageId: rootMessageId.trim(),
|
|
287
|
+
topicTitle: topicTitle.trim(),
|
|
288
|
+
updateExecutionPosition: !localDelivery,
|
|
289
|
+
chatId,
|
|
290
|
+
larkAppId,
|
|
291
|
+
});
|
|
244
292
|
}
|
|
245
|
-
return (_jsx("div", { className: "schedule-form-overlay", onClick: props.onClose, children: _jsxs("div", { className: "schedule-form-dialog", role: "dialog", "aria-modal": "true", onClick: e => e.stopPropagation(), children: [_jsx("h2", { children: editing ? tr('schedules.edit') : tr('schedules.create') }), _jsxs("form", { onSubmit: handleSubmit, className: "schedule-form", children: [!editing ? (_jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.bot') }), _jsx("select", { value: larkAppId, onChange: e => setLarkAppId(e.target.value), required: true, children: bots.map(b => (_jsx("option", { value: b.larkAppId, children: b.botName ?? b.larkAppId }, b.larkAppId))) })] })) : null, _jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.name') }), _jsx("input", { type: "text", value: name, onChange: e => setName(e.target.value), required: true, autoFocus: true })] }), _jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.schedule') }), _jsx("input", { type: "text", value: schedule, onChange: e => setSchedule(e.target.value), placeholder: tr('schedules.form.scheduleHelp'), required: true }), _jsx("small", { className: "schedule-form-help", children: tr('schedules.form.scheduleHelp') })] }), _jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.prompt') }), _jsx("textarea", { value: prompt, onChange: e => setPrompt(e.target.value), rows: 4, required: true }), _jsx("small", { className: "schedule-form-help", children: tr('schedules.form.promptHelp') })] }), !editing ? (_jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.chat') }), _jsx("input", { type: "text", value: chatId, onChange: e => setChatId(e.target.value), placeholder: "oc_...", required: true })] })) : null, _jsxs("div", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.deliver') }), _jsxs("div", { className: "schedule-form-radio-group", children: [_jsxs("label", { children: [_jsx("input", { type: "radio", name: "
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
}
|
|
254
|
-
} }), _jsxs("span", { children: [tr('schedules.form.silent'), _jsx("small", { className: "schedule-form-help", children: tr('schedules.form.silentHelp') })] })] }), silentNewTopicConflict ? (_jsx("p", { className: "schedule-form-error", children: tr('schedules.form.silentNewTopicConflict') })) : null, props.error ? (_jsx("p", { className: "schedule-form-error", children: props.error })) : null, _jsxs("div", { className: "schedule-form-actions", children: [_jsx("button", { type: "button", className: "schedule-form-cancel", onClick: props.onClose, children: tr('schedules.form.cancel') }), _jsx("button", { type: "submit", className: "schedule-form-submit", disabled: silentNewTopicConflict || (!editing && !larkAppId), children: editing ? tr('schedules.form.save') : tr('schedules.form.create') })] })] })] }) }));
|
|
293
|
+
return (_jsx("div", { className: "schedule-form-overlay", onClick: props.onClose, children: _jsxs("div", { className: "schedule-form-dialog", role: "dialog", "aria-modal": "true", onClick: e => e.stopPropagation(), children: [_jsx("h2", { children: editing ? tr('schedules.edit') : tr('schedules.create') }), _jsxs("form", { onSubmit: handleSubmit, className: "schedule-form", children: [!editing ? (_jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.bot') }), _jsx("select", { value: larkAppId, onChange: e => setLarkAppId(e.target.value), required: true, children: bots.map(b => (_jsx("option", { value: b.larkAppId, children: b.botName ?? b.larkAppId }, b.larkAppId))) })] })) : null, _jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.name') }), _jsx("input", { type: "text", value: name, onChange: e => setName(e.target.value), required: true, autoFocus: true })] }), _jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.schedule') }), _jsx("input", { type: "text", value: schedule, onChange: e => setSchedule(e.target.value), placeholder: tr('schedules.form.scheduleHelp'), required: true }), _jsx("small", { className: "schedule-form-help", children: tr('schedules.form.scheduleHelp') })] }), _jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.prompt') }), _jsx("textarea", { value: prompt, onChange: e => setPrompt(e.target.value), rows: 4, required: true }), _jsx("small", { className: "schedule-form-help", children: tr('schedules.form.promptHelp') })] }), !editing ? (_jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.chat') }), _jsx("input", { type: "text", value: chatId, onChange: e => setChatId(e.target.value), placeholder: "oc_...", required: true })] })) : null, localDelivery ? (_jsxs("div", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.deliver') }), _jsxs("div", { className: "schedule-form-placement", children: [_jsx("strong", { children: tr('schedules.deliveryLocal') }), _jsx("small", { className: "schedule-form-help", children: tr('schedules.form.localHelp') })] })] })) : (_jsxs("div", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.deliver') }), _jsxs("div", { className: "schedule-form-radio-group", children: [_jsxs("label", { children: [_jsx("input", { type: "radio", name: "executionPosition", value: "top-level", checked: executionPosition === 'top-level', onChange: () => setExecutionPosition('top-level') }), tr('schedules.deliveryTopLevel')] }), _jsxs("label", { children: [_jsx("input", { type: "radio", name: "executionPosition", value: "topic", checked: executionPosition === 'topic', onChange: () => setExecutionPosition('topic') }), tr('schedules.deliveryThread')] }), _jsxs("label", { children: [_jsx("input", { type: "radio", name: "executionPosition", value: "new-topic", checked: executionPosition === 'new-topic', onChange: () => {
|
|
294
|
+
setExecutionPosition('new-topic');
|
|
295
|
+
setSilent(false);
|
|
296
|
+
} }), tr('schedules.deliveryNewTopic')] })] }), _jsx("small", { className: "schedule-form-help", children: executionPosition === 'top-level'
|
|
297
|
+
? tr('schedules.form.topLevelHelp')
|
|
298
|
+
: executionPosition === 'topic'
|
|
299
|
+
? tr('schedules.form.topicHelp')
|
|
300
|
+
: tr('schedules.form.newTopicHelp') })] })), !localDelivery && executionPosition === 'topic' ? (_jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.topicRoot') }), _jsx("input", { type: "text", value: rootMessageId, onChange: e => setRootMessageId(e.target.value), placeholder: "om_...", required: true }), _jsx("small", { className: "schedule-form-help", children: tr('schedules.form.topicRootHelp') })] })) : null, !localDelivery && executionPosition === 'new-topic' ? (_jsxs("label", { className: "schedule-form-field", children: [_jsx("span", { className: "schedule-form-label", children: tr('schedules.form.topicTitle') }), _jsx("input", { type: "text", value: topicTitle, onChange: e => setTopicTitle(e.target.value), placeholder: tr('schedules.form.topicTitlePlaceholder'), maxLength: 200 }), _jsxs("small", { className: "schedule-form-help schedule-form-help-with-count", children: [tr('schedules.form.topicTitleHelp'), _jsxs("span", { children: [Array.from(topicTitle).length, "/200"] })] })] })) : null, _jsxs("label", { className: "schedule-form-field schedule-form-toggle", children: [_jsx("input", { type: "checkbox", checked: silent, onChange: e => setSilent(e.target.checked) }), _jsxs("span", { children: [tr('schedules.form.silent'), _jsx("small", { className: "schedule-form-help", children: tr('schedules.form.silentHelp') })] })] }), executionPosition === 'new-topic' && silent ? (_jsx("p", { className: "schedule-form-help", children: tr('schedules.form.silentNewTopicConflict') })) : null, props.error ? (_jsx("p", { className: "schedule-form-error", children: props.error })) : null, _jsxs("div", { className: "schedule-form-actions", children: [_jsx("button", { type: "button", className: "schedule-form-cancel", onClick: props.onClose, children: tr('schedules.form.cancel') }), _jsx("button", { type: "submit", className: "schedule-form-submit", disabled: (!editing && !larkAppId)
|
|
301
|
+
|| (!localDelivery && executionPosition === 'topic' && !rootMessageId.trim()), children: editing ? tr('schedules.form.save') : tr('schedules.form.create') })] })] })] }) }));
|
|
255
302
|
}
|
|
256
303
|
//# sourceMappingURL=schedules-page.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules-page.js","sourceRoot":"","sources":["../../../src/dashboard/web/schedules-page.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schedules-page.js","sourceRoot":"","sources":["../../../src/dashboard/web/schedules-page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Qe,b as et}from"./chunks/chunk-O2DPQL7C.js";import{b as xe}from"./chunks/chunk-SZOB6VK2.js";import{a as Ge}from"./chunks/chunk-BD3PZGH2.js";import{a as ie,b as Ye,c as Ze}from"./chunks/chunk-B42PCL5P.js";import{i as Xe}from"./chunks/chunk-I35DXGM4.js";import{A as We,C as je,F as qe,G as se,a as re,b as Ke,e as oe,r as g,s,t as Ve,u as ze}from"./chunks/chunk-6QHMLMIM.js";import{a as Ft,c as Kt,d as Je}from"./chunks/chunk-5THX4DI2.js";import{c as ae}from"./chunks/chunk-7SZRL6FY.js";var St=ae(Kt(),1),u=ae(Ft(),1);var Ee="botmux:close-theme-menu",Vt={palette:'<circle cx="13.5" cy="6.5" r=".5" fill="currentColor"/><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"/><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"/><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"/><path d="M12 2a10 10 0 0 0 0 20h1.7a2.3 2.3 0 0 0 1.6-4c-.5-.5-.2-1.3.5-1.3H17a5 5 0 0 0 5-5 9.7 9.7 0 0 0-10-9.7z"/>',monitor:'<rect width="20" height="14" x="2" y="3" rx="2"/><line x1="8" x2="16" y1="21" y2="21"/><line x1="12" x2="12" y1="17" y2="21"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/>',moon:'<path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"/>',cpu:'<path d="M12 20v2"/><path d="M12 2v2"/><path d="M17 20v2"/><path d="M17 2v2"/><path d="M2 12h2"/><path d="M2 17h2"/><path d="M2 7h2"/><path d="M20 12h2"/><path d="M20 17h2"/><path d="M20 7h2"/><path d="M7 20v2"/><path d="M7 2v2"/><rect x="4" y="4" width="16" height="16" rx="2"/><rect x="8" y="8" width="8" height="8" rx="1"/>',zap:'<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>',chevron:'<path d="m6 9 6 6 6-6"/>'},nt=[{labelKey:"theme.base",options:[{value:"system",labelKey:"status.system",icon:"monitor"},{value:"light",labelKey:"status.light",icon:"sun"},{value:"dark",labelKey:"status.dark",icon:"moon"}]},{labelKey:"theme.skins",options:[{value:"cyber",labelKey:"skin.cyber",icon:"cpu"},{value:"fallout",labelKey:"skin.fallout",icon:"zap"}]}],tt=nt.flatMap(e=>e.options),N=!1,q=null,G=null,zt=70,Wt=120;function ke(e){return`<svg class="tm-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${Vt[e]??""}</svg>`}function jt(e){return e.replace(/[&<>"]/g,n=>({"&":"&","<":"<",">":">",'"':"""})[n])}function at(){let e=document.getElementById("theme-menu"),n=document.getElementById("theme-menu-btn"),a=document.getElementById("theme-menu-pop");if(!e||!n||!a||e.dataset.themeMenuInit==="1")return;e.dataset.themeMenuInit="1",a.innerHTML=nt.map(i=>`<div class="tm-group" data-label-key="${i.labelKey}"></div>`+i.options.map(f=>`<button type="button" class="tm-item" role="option" data-value="${f.value}"><span class="tm-ic">${ke(f.icon)}</span><span class="tm-label" data-label-key="${f.labelKey}"></span></button>`).join("")).join("");let r=()=>{if(!N)return;let i=n.getBoundingClientRect(),f=12,p=Math.min(Math.max(a.offsetWidth||216,216),Math.max(0,window.innerWidth-f*2)),E=f+p/2,v=window.innerWidth-f-p/2,w=i.left+i.width/2,R=Math.min(Math.max(w,E),Math.max(E,v)),x=Math.max(180,window.innerHeight-i.bottom-20);a.style.setProperty("--theme-menu-pop-left",`${Math.round(R)}px`),a.style.setProperty("--theme-menu-pop-top",`${Math.round(i.bottom+8)}px`),a.style.setProperty("--theme-menu-pop-max-height",`${Math.round(x)}px`)},o=i=>{q!=null&&(window.clearTimeout(q),q=null),G!=null&&(window.clearTimeout(G),G=null),N=i,n.setAttribute("aria-expanded",String(N)),document.body.classList.toggle("theme-menu-open",N),N?(a.hidden=!1,r(),window.requestAnimationFrame(()=>e.classList.add("open"))):(e.classList.remove("open"),G=window.setTimeout(()=>{G=null,N||(a.hidden=!0)},Wt))},l=()=>o(!0),d=()=>{q==null&&(q=window.setTimeout(()=>o(!1),zt))},m=i=>{i.pointerType!=="touch"&&l()},c=i=>{i.pointerType!=="touch"&&d()};e.addEventListener("pointerenter",m),e.addEventListener("pointerleave",c),a.addEventListener("pointerenter",m),a.addEventListener("pointerleave",c),n.addEventListener("click",i=>{i.stopPropagation(),o(!N)}),n.addEventListener("focus",()=>{n.matches(":focus-visible")&&l()}),e.addEventListener("focusout",i=>{let f=i.relatedTarget;(!(f instanceof Node)||!e.contains(f))&&d()}),a.addEventListener("click",i=>{let f=i.target.closest(".tm-item");f&&(g.setTheme(f.dataset.value??"system"),o(!1))}),document.addEventListener("click",i=>{N&&!e.contains(i.target)&&o(!1)}),document.addEventListener("pointermove",i=>{if(!N||i.pointerType==="touch")return;let f=i.target;f instanceof Node&&e.contains(f)||d()}),document.addEventListener("keydown",i=>{i.key==="Escape"&&N&&o(!1)}),window.addEventListener("resize",r),window.addEventListener("scroll",r,!0),window.addEventListener(Ee,()=>{N&&o(!1)}),Re()}function Re(){let e=document.getElementById("theme-menu-btn");if(!e)return;let n=tt.find(a=>a.value===g.theme)??tt[0];e.innerHTML=`<span class="tm-ic">${ke("palette")}</span><span class="tm-current">${jt(s(n.labelKey))}</span><span class="tm-chev">${ke("chevron")}</span>`,document.querySelectorAll("#theme-menu-pop [data-label-key]").forEach(a=>{a.textContent=s(a.dataset.labelKey??"")}),document.querySelectorAll("#theme-menu-pop .tm-item").forEach(a=>{a.classList.toggle("active",a.dataset.value===g.theme)})}function b(e,n,a,r,o=!1){return{id:e,routePrefix:n,rerenderOnUiChange:o,load:async()=>(await a())[r]}}var qt=[{id:"plugins",routePrefix:"#/plugins",rerenderOnUiChange:!1,load:async()=>{let e=await import("./chunks/plugin-page-JXC5F5YV.js");return n=>e.renderPluginPage(n)}},b("workflows","#/workflows",()=>import("./chunks/v3-page-4IOWREZG.js"),"renderV3RunsPage"),b("groups","#/groups",()=>import("./chunks/groups-page-3IEGRZKQ.js"),"renderGroupsPage"),b("settings","#/settings",()=>import("./chunks/settings-page-P6MI2ZUE.js"),"renderSettingsPage"),b("bot-defaults","#/bot-defaults",()=>import("./chunks/bot-defaults-page-O37SAQD5.js"),"renderBotDefaultsPage"),b("skills","#/skills",()=>import("./chunks/skills-page-FT7BVZ6X.js"),"renderSkillsPage"),b("connectors-logs","#/connectors/logs",()=>import("./chunks/connectors-page-DZBQ42MH.js"),"renderConnectorsLogsPage"),b("webhook-logs","#/webhook-logs",()=>import("./chunks/connectors-page-DZBQ42MH.js"),"renderConnectorsLogsPage"),b("connectors","#/connectors",()=>import("./chunks/connectors-page-DZBQ42MH.js"),"renderConnectorsPage"),b("team-manage","#/team/manage",()=>import("./chunks/team-federation-page-DEYCPUFB.js"),"renderTeamManagePage"),b("team","#/team",()=>import("./chunks/team-federation-page-DEYCPUFB.js"),"renderTeamFederationPage"),b("roles-profile","#/roles/profile",()=>import("./chunks/roles-page-L7JJ4FFV.js"),"renderRoleProfilesPage"),b("roles","#/roles",()=>import("./chunks/roles-page-L7JJ4FFV.js"),"renderRolesPage"),b("schedules","#/schedules",()=>import("./chunks/schedules-page-Z3672POL.js"),"renderSchedulesPage"),b("whiteboards","#/whiteboards",()=>import("./chunks/whiteboards-page-2VMBETZH.js"),"renderWhiteboardsPage"),b("monitoring","#/monitoring",()=>import("./chunks/monitoring-page-ADFKVON4.js"),"renderMonitoringPage"),b("sessions","#/sessions",()=>import("./chunks/sessions-page-OKJ5YWUZ.js"),"renderSessionsPage"),b("monitor-room","#/monitor-room",()=>import("./chunks/monitor-room-IV36RGQY.js"),"renderMonitorRoomPage",!0),b("office","#/office",()=>import("./chunks/office-page-CALAOWNS.js"),"renderOfficePage"),b("insights","#/insights",()=>import("./chunks/insights-page-X3ADRON3.js"),"renderInsightsPage")];function rt(e){return qt.find(n=>n.exact?e===n.routePrefix:e.startsWith(n.routePrefix))}async function ot(){let e=await import("./chunks/overview-page-SLMGLK3M.js");return n=>e.renderOverviewPage(n)}function it(){return{seq:0,pageDispose:null,rerenderOnUiChange:!0}}function lt(e){let n=++e.seq;return e.pageDispose&&(e.pageDispose(),e.pageDispose=null),n}function st(e,n){return n===e.seq}async function dt(e,n,a,r,o={}){let l=await r();if(!st(e,n))return!1;let d=l(a);return st(e,n)?(e.pageDispose=typeof d=="function"?d:null,e.rerenderOnUiChange=o.rerenderOnUiChange??!0,!0):(typeof d=="function"&&d(),!1)}var Gt="botmux.dashboard.stale-chunk-reload.v1:",Jt=/Failed to fetch dynamically imported module|Importing a module script failed|error loading dynamically imported module|dynamically imported module/i,Xt=/\b(?:https?:\/\/|\/assets\/)\S+?\.js\b/;function ct(e){return e instanceof Error?`${e.name}: ${e.message}`:String(e)}function ut(e){return Jt.test(ct(e))}function Yt(e,n){let o=ct(e).match(Xt)?.[0]||`${n.href}|${n.hash}`;return`${Gt}${o.slice(-240)}`}function Zt(e,n){if(!ut(e))return!1;let a=Yt(e,n);try{if(n.sessionStorage.getItem(a)==="1")return!1;n.sessionStorage.setItem(a,"1")}catch{return!1}return n.reload(),!0}function pt(e,n){if(!ut(e))return!1;let a;try{a=n.getSessionStorage()}catch{return!1}return Zt(e,{...n,sessionStorage:a})}var Qt=new Set(["auto","scroll","overlay"]),le=28,L=3,I=6,ht=!1,vt=null,mt=new WeakMap,P=new Map,ft=null,bt=null,Me=0,Ne=0,J=null;function en(e){return e.closest("dialog[open]")??document.body}function tn(e){let n=mt.get(e);if(n?.isConnected)return n;let a=document.createElement("div");return a.className="floating-scrollbar-layer",a.setAttribute("aria-hidden","true"),e.appendChild(a),mt.set(e,a),a}function nn(e){return Qt.has(e)}function Se(e,n){let a=getComputedStyle(e),r=n==="y"?a.overflowY:a.overflowX;return nn(r)?n==="y"?e.scrollHeight-e.clientHeight>1:e.scrollWidth-e.clientWidth>1:!1}function an(e){if(!e.isConnected||e.closest("[hidden]"))return!1;let n=e.getBoundingClientRect();return n.width>0&&n.height>0&&n.bottom>0&&n.right>0&&n.top<window.innerHeight&&n.left<window.innerWidth}function rn(e){return[e,...Array.from(e.querySelectorAll("*"))].filter(a=>an(a)&&(Se(a,"x")||Se(a,"y")))}function de(e){e.hideTimer!==void 0&&window.clearTimeout(e.hideTimer),e.track.remove()}function on(e,n){let a=P.get(e);a||(a={},P.set(e,a));let r=a[n],o=en(e),l=tn(o);if(r?.track.parentElement===l)return r;r&&de(r);let d=document.createElement("div"),m=document.createElement("div");d.className=`floating-scrollbar floating-scrollbar-${n}`,m.className="floating-scrollbar-thumb",d.appendChild(m),l.appendChild(d);let c={target:e,axis:n,track:d,thumb:m,hideTimer:void 0};return a[n]=c,c}function Te(e,n=!1){e.track.classList.add("is-visible"),e.hideTimer!==void 0&&window.clearTimeout(e.hideTimer),e.hideTimer=n?void 0:window.setTimeout(()=>{e.track.classList.remove("is-visible","is-active"),e.hideTimer=void 0},900)}function sn(e){let{target:n,axis:a,track:r,thumb:o}=e,l=n.getBoundingClientRect();if(a==="y"){let E=Math.max(0,l.top+L),v=Math.min(window.innerHeight,l.bottom-L),w=Math.max(0,v-E);if(w<le||n.scrollHeight<=n.clientHeight){r.hidden=!0;return}let R=Math.max(le,Math.round(w*n.clientHeight/n.scrollHeight)),x=Math.max(1,n.scrollHeight-n.clientHeight),_=Math.round((w-R)*n.scrollTop/x);r.hidden=!1,r.style.left=`${Math.min(window.innerWidth-I-L,Math.max(L,l.right-I-L))}px`,r.style.top=`${E}px`,r.style.width=`${I}px`,r.style.height=`${w}px`,o.style.width="100%",o.style.height=`${R}px`,o.style.transform=`translate3d(0, ${_}px, 0)`;return}let d=Math.max(0,l.left+L),m=Math.min(window.innerWidth,l.right-L),c=Math.max(0,m-d);if(c<le||n.scrollWidth<=n.clientWidth){r.hidden=!0;return}let i=Math.max(le,Math.round(c*n.clientWidth/n.scrollWidth)),f=Math.max(1,n.scrollWidth-n.clientWidth),p=Math.round((c-i)*n.scrollLeft/f);r.hidden=!1,r.style.left=`${d}px`,r.style.top=`${Math.min(window.innerHeight-I-L,Math.max(L,l.bottom-I-L))}px`,r.style.width=`${c}px`,r.style.height=`${I}px`,o.style.width=`${i}px`,o.style.height="100%",o.style.transform=`translate3d(${p}px, 0, 0)`}function $(){Me||(Me=window.requestAnimationFrame(()=>{Me=0,dn()}))}function ln(){Ne||(Ne=window.setTimeout(()=>{Ne=0,$()},120))}function dn(){let e=vt;if(!e)return;let n=new Set(rn(e));for(let[a,r]of P)n.has(a)||(r.x&&de(r.x),r.y&&de(r.y),P.delete(a));for(let a of n){let r=a===J;for(let o of["x","y"]){let l=P.get(a);if(!Se(a,o)){let m=l?.[o];m&&(de(m),delete l?.[o]);continue}let d=on(a,o);sn(d),r&&Te(d,!0)}}}function cn(e){if(!(e instanceof HTMLElement))return;let n=P.get(e);if(n)for(let a of Object.values(n))a&&(a.track.classList.add("is-active"),Te(a))}function un(e){for(let n=e;n;n=n.parentElement)if(n instanceof HTMLElement&&P.has(n))return n;return null}function gt(e){if(J===e)return;let n=J?P.get(J):void 0;if(J=e,n)for(let r of Object.values(n))r?.track.classList.remove("is-visible");let a=e?P.get(e):void 0;if(a)for(let r of Object.values(a))r&&Te(r,!0)}function yt(e){ht||(ht=!0,vt=e,document.documentElement.classList.add("floating-scrollbars-on"),ft=typeof ResizeObserver>"u"?null:new ResizeObserver($),ft?.observe(e),bt=new MutationObserver(n=>{for(let a of n){let r=a.target;if(!(r instanceof Element&&r.closest(".floating-scrollbar-layer"))){ln();return}}}),bt.observe(e,{attributes:!0,attributeFilter:["class","style","hidden","open"],childList:!0,subtree:!0}),document.addEventListener("scroll",n=>{cn(n.target),$()},!0),window.addEventListener("resize",$),window.addEventListener("hashchange",$),document.addEventListener("pointermove",n=>{gt(un(document.elementFromPoint(n.clientX,n.clientY)))}),document.addEventListener("pointerleave",()=>gt(null)),$())}async function wt(e){let n=await e.json().catch(()=>null);return n&&typeof n=="object"?n:{}}function xt(e,n){let a=n.detail??n.error;return new Error(typeof a=="string"?a:`HTTP ${e.status}`)}async function Le(e,n=()=>{},a){n("updating");let r=await e(a?"/api/update/rollback":"/api/update/run",a?{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({version:a})}:{method:"POST"}),o=await wt(r);if(!r.ok||o.ok===!1)throw xt(r,o);if(o.ok!==!0||typeof o.oldVersion!="string"||typeof o.newVersion!="string"||typeof o.changed!="boolean")throw new Error("Invalid update response");if(a&&(o.newVersion!==a||o.changed!==!0))throw new Error("Invalid rollback response");let l={oldVersion:o.oldVersion,newVersion:o.newVersion,changed:o.changed,restarted:!1};if(n("restarting"),a)return{...l,restarted:!0};let d=await e("/api/update/restart",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({update:{oldVersion:l.oldVersion,newVersion:l.newVersion}})}),m=await wt(d);if(!d.ok||m.ok===!1)return{...l,restarted:!1,restartError:xt(d,m).message};if(m.ok!==!0)throw new Error("Invalid restart response");return m.alreadyScheduled===!0?{...l,restarted:!0,alreadyScheduled:!0}:{...l,restarted:!0}}var t=ae(Je(),1),pn=["roles","role-profiles","bot-defaults","skills","plugins","team","connectors","insights","whiteboards"],X=[{id:"overview",href:"#/",labelKey:"nav.overview",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"1.5",y:"1.5",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"9.1",y:"1.5",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"1.5",y:"9.1",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"9.1",y:"9.1",width:"5.4",height:"5.4",rx:"1.5"})]})},{id:"sessions",href:"#/sessions",labelKey:"nav.sessions",icon:(0,t.jsx)("path",{d:"M2 3.5h12v7H6l-3 3v-3H2z"})},{id:"groups",href:"#/groups",labelKey:"nav.groups",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"5.6",cy:"5.8",r:"2.4"}),(0,t.jsx)("circle",{cx:"11",cy:"6.8",r:"1.9"}),(0,t.jsx)("path",{d:"M1.8 13.2c.5-2.4 2-3.6 3.8-3.6s3.3 1.2 3.8 3.6M9.8 12.6c.4-1.7 1.5-2.6 2.8-2.6 1 0 1.9.5 2.4 1.6"})]})},{id:"roles",href:"#/roles",labelKey:"nav.roles",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M8 1.8l5.2 2v3.4c0 3.4-2.2 5.9-5.2 7-3-1.1-5.2-3.6-5.2-7V3.8z"}),(0,t.jsx)("path",{d:"M5.8 8l1.6 1.6 2.8-3"})]})},{id:"monitoring",href:"#/monitoring",labelKey:"nav.monitoring",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M2 9.2h2.3l1.3-4.8 2.5 8.4 1.8-5.1h4.1"}),(0,t.jsx)("path",{d:"M2 2.5h12v11H2z"})]})},{id:"insights",href:"#/insights",labelKey:"nav.insights",manage:!0,icon:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("path",{d:"M2 2v12h12M5 11V7M8.5 11V4.5M12 11V8.5"})})},{id:"workflows",href:"#/workflows",labelKey:"nav.workflows",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"3.4",cy:"3.6",r:"1.9"}),(0,t.jsx)("circle",{cx:"3.4",cy:"12.4",r:"1.9"}),(0,t.jsx)("circle",{cx:"12.6",cy:"8",r:"1.9"}),(0,t.jsx)("path",{d:"M5.2 4.4l5.6 2.8M5.2 11.6l5.6-2.8"})]})},{id:"schedules",href:"#/schedules",labelKey:"nav.schedules",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"6.2"}),(0,t.jsx)("path",{d:"M8 4.5V8l2.4 1.6"})]})},{id:"whiteboards",href:"#/whiteboards",labelKey:"nav.whiteboards",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.2",y:"2.2",width:"11.6",height:"11.6",rx:"2"}),(0,t.jsx)("path",{d:"M4.8 5.2h6.4M4.8 8h6.4M4.8 10.8h4"})]})},{id:"office",href:"#/office",labelKey:"nav.office",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"10",height:"7",rx:"2"}),(0,t.jsx)("circle",{cx:"6",cy:"7.5",r:"1"}),(0,t.jsx)("circle",{cx:"10",cy:"7.5",r:"1"}),(0,t.jsx)("path",{d:"M8 4V2M4.5 11v2M11.5 11v2"})]})},{id:"bot-defaults",href:"#/bot-defaults",labelKey:"nav.botDefaults",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.5",y:"5",width:"11",height:"8",rx:"2"}),(0,t.jsx)("circle",{cx:"5.8",cy:"9",r:"1"}),(0,t.jsx)("circle",{cx:"10.2",cy:"9",r:"1"}),(0,t.jsx)("path",{d:"M8 5V2.5M5.5 13v1.2M10.5 13v1.2"})]})},{id:"skills",href:"#/skills",labelKey:"nav.skills",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M3 2.5h10v3H3zM3 7h10v6.5H3z"}),(0,t.jsx)("path",{d:"M5.4 9.2h5.2M5.4 11.2h3.8"})]})},{id:"plugins",href:"#/plugins",label:"\u63D2\u4EF6",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M6.4 1.8h3.2v3h2.8v3.2H9.6v2.8H6.4V8H3.6V4.8h2.8z"}),(0,t.jsx)("path",{d:"M2.2 11.8h11.6v2.4H2.2z"})]})},{id:"team",href:"#/team",labelKey:"nav.team",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"6.2"}),(0,t.jsx)("path",{d:"M1.8 8h12.4M8 1.8c-2 1.8-2 10.6 0 12.4 2-1.8 2-10.6 0-12.4z"})]})},{id:"connectors",href:"#/connectors",labelKey:"nav.connectors",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M5.5 6.5v-3a2.5 2.5 0 0 1 5 0v3"}),(0,t.jsx)("rect",{x:"3.5",y:"6.5",width:"9",height:"7",rx:"2"})]})},{id:"settings",href:"#/settings",labelKey:"nav.settings",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M8 1.75 9.35 2.05 10 3.28l1.38.3 1.04-.96.96.96-.96 1.04.3 1.38 1.23.65L14.25 8l-.3 1.35-1.23.65-.3 1.38.96 1.04-.96.96-1.04-.96-1.38.3-.65 1.23L8 14.25l-1.35-.3L6 12.72l-1.38-.3-1.04.96-.96-.96.96-1.04-.3-1.38-1.23-.65L1.75 8l.3-1.35 1.23-.65.3-1.38-.96-1.04.96-.96 1.04.96 1.38-.3.65-1.23z"}),(0,t.jsx)("circle",{cx:"8",cy:"8",r:"2"})]})}],Z=[],A=!0,Ae=!1,Tt=location.hash||"#/",U=null,Q=!1,ee=null,ue=null,Lt=null,pe=null,Ot=null,D=it(),Pt="botmux.ownerAvatar.v1",hn=new Set(["working","analyzing","active","starting"]),He="botmux:auth-expired";function Y(e){return(0,t.jsx)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:e})}function kt(e){return e.labelKey?s(e.labelKey):e.label??""}function mn(e,n){let a=n||"#/";return e.id==="plugins"&&Z.some(r=>r.href===a||a.startsWith(`${r.href}?`)||a.startsWith(`${r.href}/`))?!1:e.id==="sessions"&&(a==="#/monitor-room"||a.startsWith("#/monitor-room?")||a.startsWith("#/monitor-room/"))||e.id==="connectors"&&(a==="#/webhook-logs"||a.startsWith("#/webhook-logs?")||a.startsWith("#/webhook-logs/"))?!0:e.href===a||e.href!=="#/"&&(a.startsWith(`${e.href}?`)||a.startsWith(`${e.href}/`))}function fn(){if(Z.length===0)return X;let e=X.findIndex(n=>n.id==="plugins");return e<0?[...X,...Z]:[...X.slice(0,e+1),...Z,...X.slice(e+1)]}function bn(e){let n=[];return mn(e,Tt)&&n.push("active"),e.id==="settings"&&Q&&n.push("nav-has-update"),n.length?n.join(" "):void 0}function Ct(){let e=oe(new URLSearchParams(location.search).get("locale"));if(e)return e;let n=location.hash.indexOf("?");return n<0?null:oe(new URLSearchParams(location.hash.slice(n+1)).get("locale"))}function Et(){let e=Ct();return!e||e===g.locale?!1:(g.setLocale(e),!0)}function gn(){let e=location.hash.indexOf("?");return e<0?null:{path:location.hash.slice(0,e)||"#/",params:new URLSearchParams(location.hash.slice(e+1))}}function vn(){let e=gn(),n=e?.params.get("open");if(!e||!n||n!=="bot-onboarding"&&n!=="create-session")return!1;e.params.delete("open");let a=e.params.toString();return history.replaceState(null,"",a?`${e.path}?${a}`:e.path),n==="bot-onboarding"?window.dispatchEvent(new Event(ie)):xe(),!0}function Rt(){let e=ee?`v${ee}`:"";return ue==="codex"?s("update.navRuntimeBadgeTitle",{version:e}):s("update.navBadgeTitle",{version:e})}function yn(e){pe=e}function Oe(){if(pe)return pe;let e=document.getElementById("root");if(!e)throw new Error("dashboard root is not mounted");return pe=e,e}function wn(){return(0,u.useEffect)(()=>{at()},[]),(0,u.useEffect)(()=>{Re()}),(0,t.jsxs)("div",{className:"theme-menu",id:"theme-menu",children:[(0,t.jsx)("button",{type:"button",className:"theme-menu-btn",id:"theme-menu-btn","aria-haspopup":"listbox","aria-expanded":"false","aria-label":"Theme",children:(0,t.jsx)("span",{className:"tm-ic",children:(0,t.jsxs)("svg",{className:"tm-svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor"}),(0,t.jsx)("path",{d:"M12 2a10 10 0 0 0 0 20h1.7a2.3 2.3 0 0 0 1.6-4c-.5-.5-.2-1.3.5-1.3H17a5 5 0 0 0 5-5 9.7 9.7 0 0 0-10-9.7z"})]})})}),(0,t.jsx)("div",{className:"theme-menu-pop",id:"theme-menu-pop",role:"listbox",hidden:!0})]})}function xn(){let e=[...re.sessions.values()],n=e.filter(c=>c.status!=="closed"),a=n.map(c=>({s:c,reason:qe(c)})).filter(c=>!!c.reason).sort((c,i)=>se(c.s)-se(i.s)),r=new Set(a.map(c=>String(c.s.sessionId??""))),o=n.filter(c=>hn.has(String(c.status))&&!r.has(String(c.sessionId??""))).length,l=a[0]??null,d=et(e).filter(c=>c.online||c.active.length>0).length,m=Math.max(0,n.length-a.length-o);return{working:o,attention:a.length,idle:m,onlineBots:d,attentionNotice:l?{count:a.length,time:ze(se(l.s)),bot:je(l.s),reason:l.reason}:null}}function ce(e){return(0,t.jsxs)("div",{className:`topbar-status-row${e.hot?" topbar-status-row-hot":""}`,children:[(0,t.jsx)("span",{children:e.label}),(0,t.jsx)("b",{className:e.value>0?"status-count-on":void 0,children:e.value})]})}function kn(e){let{attention:n,idle:a,working:r}=e.summary,o=r+n+a,l=o===0?"conic-gradient(var(--border) 0 360deg)":(()=>{let d=r/o*360,m=d+n/o*360;return`conic-gradient(var(--accent) 0 ${d}deg, var(--warning) ${d}deg ${m}deg, var(--success) ${m}deg 360deg)`})();return(0,t.jsxs)("div",{className:"topbar-status-donut-wrap","aria-hidden":"true",children:[(0,t.jsx)("div",{className:"topbar-status-donut",style:{background:l}}),(0,t.jsxs)("div",{className:"topbar-status-donut-center",children:[(0,t.jsx)("b",{children:o}),(0,t.jsx)("span",{children:s("overview.openSessions")})]})]})}function Pe(){window.dispatchEvent(new Event(Ee))}function En(e){let{autoOpen:n=!1,summary:a}=e,[r,o]=(0,u.useState)(!1),[l,d]=(0,u.useState)(!1),[m,c]=(0,u.useState)(!1),i=(0,u.useRef)(null),f=n&&!l,p=r||f;return(0,u.useEffect)(()=>{n||d(!1)},[n]),(0,u.useEffect)(()=>{if(!p)return;let v=w=>{let R=w.target;R instanceof Node&&i.current?.contains(R)||(o(!1),d(!0))};return document.addEventListener("pointerdown",v),()=>document.removeEventListener("pointerdown",v)},[p]),(0,t.jsxs)("div",{ref:i,className:`topbar-status-menu${f?" topbar-status-auto-open":""}${r?" is-open":""}${m?" suppress-hover":""}`,onPointerEnter:Pe,onPointerLeave:()=>c(!1),onFocusCapture:Pe,onBlur:v=>{let w=v.relatedTarget;(!(w instanceof Node)||!v.currentTarget.contains(w))&&o(!1)},onKeyDown:v=>{v.key==="Escape"&&(o(!1),d(!0),c(!0),v.currentTarget.querySelector("#status")?.focus())},children:[(0,t.jsx)("button",{type:"button",id:"status",className:"connection-status","aria-haspopup":"true","aria-expanded":p,onClick:()=>{if(Pe(),p){o(!1),d(!0),c(!0);return}c(!1),o(!0)},children:s("overview.sessionOverview")}),(0,t.jsxs)("div",{className:"topbar-status-pop",children:[a.attentionNotice?(0,t.jsxs)("a",{className:"topbar-attention-notice",href:"#/sessions",children:[(0,t.jsx)("span",{className:"topbar-attention-dot","aria-hidden":"true"}),(0,t.jsxs)("span",{className:"topbar-attention-copy",children:[(0,t.jsx)("b",{children:s("strip.pending",{count:a.attentionNotice.count})}),(0,t.jsx)("small",{children:s("strip.longestCompact",{time:a.attentionNotice.time,bot:a.attentionNotice.bot,reason:a.attentionNotice.reason})})]}),(0,t.jsx)("span",{className:"topbar-attention-action",children:s("strip.handle")})]}):null,(0,t.jsxs)("div",{className:"topbar-status-list",children:[(0,t.jsx)(ce,{label:s("overview.workingSessions"),value:a.working}),(0,t.jsx)(ce,{label:s("overview.idleSessions"),value:a.idle}),(0,t.jsx)(ce,{label:s("overview.attention"),value:a.attention,hot:a.attention>0}),(0,t.jsx)(ce,{label:s("overview.onlineBots"),value:a.onlineBots})]}),(0,t.jsx)(kn,{summary:a})]})]})}function Rn(e){return e.open?(0,t.jsx)("div",{id:"auth-expired-overlay",className:"auth-expired-overlay",role:"presentation",onClick:n=>{n.target===n.currentTarget&&e.onClose()},children:(0,t.jsxs)("div",{className:"auth-expired-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"auth-expired-title",children:[(0,t.jsx)("h2",{id:"auth-expired-title",children:"\u8BBF\u95EE\u94FE\u63A5\u5DF2\u5931\u6548"}),(0,t.jsx)("p",{children:"\u5F53\u524D\u94FE\u63A5/\u8BBF\u95EE\u5DF2\u5931\u6548\uFF0C\u8BF7\u4F7F\u7528\u6700\u65B0\u6388\u6743\u94FE\u63A5\u91CD\u65B0\u8FDB\u5165\uFF08\u8FD0\u884C botmux dashboard \u83B7\u53D6\uFF09\u3002"}),(0,t.jsx)("button",{id:"auth-expired-dismiss",type:"button",className:"primary",onClick:e.onClose,children:"\u77E5\u9053\u4E86"})]})}):null}function Mn(e){let n=new Date(e);if(Number.isNaN(n.getTime()))return e.slice(0,10);try{return new Intl.DateTimeFormat(g.locale==="zh"?"zh-CN":"en-US",{year:"numeric",month:"numeric",day:"numeric"}).format(n)}catch{return e.slice(0,10)}}async function Mt(){let e=await fetch("/__selfcheck",{cache:"no-store"}),n=await e.text();if(!e.ok||!n)throw new Error(s("update.healthCheckFailed"));return n}function Nn(e){let{status:n}=e,[a,r]=(0,u.useState)(!1),[o,l]=(0,u.useState)("idle"),[d,m]=(0,u.useState)(!1),[c,i]=(0,u.useState)(!1),[f,p]=(0,u.useState)(""),[E,v]=(0,u.useState)(!1),[w,R]=(0,u.useState)(!1),[x,_]=(0,u.useState)(!1),[F,te]=(0,u.useState)(!1),[K,Ie]=(0,u.useState)([]),[y,me]=(0,u.useState)(null),[C,fe]=(0,u.useState)(null),O=(0,u.useRef)(!1),V=(0,u.useRef)(null),$e=(0,u.useRef)(null),Ue=(0,u.useRef)(null),Dt=()=>{V.current!==null&&(window.clearTimeout(V.current),V.current=null)};if((0,u.useEffect)(()=>{O.current=!1,l("idle"),m(!1),i(!1),p(""),v(!1),R(!1),_(!1),te(!1),Ie([]),me(null),fe(null)},[n?.current,n?.latest]),(0,u.useEffect)(()=>{n&&i(n.versionLookupOk===!1)},[n]),(0,u.useEffect)(()=>{a||v(!1)},[a]),(0,u.useEffect)(()=>()=>Dt(),[]),(0,u.useEffect)(()=>{if(!a)return;let h=M=>{$e.current?.contains(M.target)||r(!1)},k=M=>{M.key==="Escape"&&(r(!1),Ue.current?.focus())};return document.addEventListener("pointerdown",h),document.addEventListener("keydown",k),()=>{document.removeEventListener("pointerdown",h),document.removeEventListener("keydown",k)}},[a]),!n)return null;let H=n.behind&&!!n.latest,be=!n.latest,ge=H&&n.updateSupported&&!n.localDevInstall&&n.node.ok,_e=n.updateSupported&&!n.localDevInstall&&n.node.ok,T=o==="updating"||o==="restarting",At=n.updateCommand??"botmux update",ve=`v${n.current}`,Ht=n.latest?`v${n.latest}`:"",Bt=n.localDevInstall?s("update.localDev"):n.updateSupported?n.node.ok?"":s("update.nodeWarn",{version:n.node.version,required:n.node.required}):s("update.unsupportedInstall"),Fe=h=>{let k=Date.now(),M=async()=>{try{let z=await fetch("/__selfcheck",{cache:"no-store"}),W=await z.text();if(z.ok&&W&&W!==h){location.reload();return}}catch{}if(Date.now()-k>9e4){O.current=!1,l("error"),p(s("update.restartSlow"));return}V.current=window.setTimeout(()=>{M()},2e3)};V.current=window.setTimeout(()=>{M()},3e3)},It=async()=>{if(H){if(!ge){r(!1),location.hash="#/settings";return}if(!O.current){O.current=!0,fe(null),i(!1),p("");try{let h=await Mt(),k=await Le(fetch,l);if(!k.restarted){O.current=!1,l("error"),p(s("update.restartFailed",{detail:k.restartError??"unknown"}));return}Fe(h)}catch(h){O.current=!1,l("error"),p(h instanceof Error?h.message:String(h))}}}},ye=async(h=!1)=>{if(x)return!F;_(!0),te(!1);try{let k=await fetch(`/api/update/versions${h?"?refresh=1":""}`,{cache:"no-store"}),M=await k.json().catch(()=>null);if(!M||!Array.isArray(M.versions))throw new Error("Invalid rollback versions response");let z=M.versions.filter(B=>{if(!B||typeof B!="object")return!1;let j=B;return typeof j.version=="string"&&(typeof j.publishedAt=="string"||j.publishedAt===null)}).slice(0,3);Ie(z),me(B=>z.some(j=>j.version===B)?B:null),R(!0);let W=k.ok&&M.ok===!0;return te(!W),W}catch{return R(!0),te(!0),!1}finally{_(!1)}},$t=async()=>{if(!(!y||!_e||x||O.current)){O.current=!0,fe(y),i(!1),p("");try{let h=await Mt();await Le(fetch,l,y),Fe(h)}catch(h){O.current=!1,l("error"),p(h instanceof Error?h.message:String(h))}}},Ut=async()=>{if(!(d||T)){m(!0),i(!1);try{let h=await e.onRefresh();E&&await ye(!0),i(!h)}finally{m(!1)}}},we=o==="updating"?C?s("update.rollbackInstalling",{version:C}):s("update.updating",{command:At}):o==="restarting"?C?s("update.rollbackRestarting",{version:C}):s("update.restarting"):o==="error"?C?s("update.rollbackFailed",{detail:f}):s("update.updateFailed",{detail:f}):c?s("update.topbarRefreshFailed"):H?ge?s("update.versionUpgradePrompt",{version:Ht}):Bt:n.latest?s("update.upToDate"):s("update.checkUnavailable"),_t=ge?o==="error"?s("update.topbarRetry"):o==="idle"?s("update.topbarAction"):s("update.topbarWorking"):s("update.topbarReview"),ne=o==="error"||c&&be?{className:"is-error",symbol:"!"}:H?{className:"has-update",symbol:"\u2191"}:be?{className:"is-unknown",symbol:"?"}:{className:"is-current",symbol:"\u2713"};return(0,t.jsxs)("div",{ref:$e,className:`dashboard-version-control${a?" is-open":""}`,children:[(0,t.jsxs)("button",{ref:Ue,type:"button",className:`dashboard-version-chip${H?" has-update":""}${be?" is-unknown":""}${o==="error"?" is-error":""}`,"aria-haspopup":"dialog","aria-expanded":a,"aria-label":`${ve}. ${we}`,title:we,onClick:()=>r(h=>!h),children:[(0,t.jsx)("span",{children:ve}),T?(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}):(0,t.jsx)("span",{className:`dashboard-version-state ${ne.className}`,"aria-hidden":"true",children:ne.symbol})]}),a?(0,t.jsxs)("section",{className:"dashboard-version-popover",role:"dialog","aria-modal":"false","aria-labelledby":"dashboard-version-title",children:[(0,t.jsxs)("header",{className:"dashboard-version-popover-head",children:[(0,t.jsx)("strong",{id:"dashboard-version-title",children:s("update.current")}),(0,t.jsxs)("div",{className:"dashboard-version-head-actions",children:[(0,t.jsx)("button",{type:"button",className:`dashboard-version-refresh${d?" is-refreshing":""}`,"aria-label":s(d?"update.topbarRefreshing":"update.topbarRefresh"),title:s(d?"update.topbarRefreshing":"update.topbarRefresh"),disabled:d||x||T,onClick:()=>{Ut()},children:(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M13.2 5.7A5.8 5.8 0 1 0 13 10.8"}),(0,t.jsx)("path",{d:"M13.2 2.8v2.9h-2.9"})]})}),(0,t.jsx)("button",{type:"button",className:"dashboard-version-close","aria-label":s("update.topbarClose"),onClick:()=>r(!1),children:"\xD7"})]})]}),(0,t.jsxs)("div",{className:"dashboard-version-popover-body",children:[(0,t.jsxs)("div",{className:"dashboard-version-current",children:[(0,t.jsx)("strong",{children:ve}),(0,t.jsx)("span",{className:ne.className,"aria-hidden":"true",children:T?(0,t.jsx)("span",{className:"dashboard-update-spinner"}):ne.symbol})]}),(0,t.jsx)("p",{className:`dashboard-version-message${o==="error"||c?" is-error":""}`,role:o==="error"||c?"alert":"status","aria-live":"polite",children:we}),(0,t.jsxs)("a",{className:"dashboard-version-release-link",href:"https://github.com/deepcoldy/botmux/releases",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M8 1.5a6.5 6.5 0 0 0-2.1 12.65c.33.06.45-.14.45-.32v-1.26c-1.84.4-2.23-.78-2.23-.78-.3-.76-.73-.96-.73-.96-.6-.41.05-.4.05-.4.66.05 1 .68 1 .68.59 1 1.54.72 1.92.55.06-.42.23-.72.42-.88-1.47-.17-3.02-.74-3.02-3.28 0-.72.26-1.32.68-1.78-.07-.17-.3-.84.07-1.75 0 0 .56-.18 1.79.68A6.2 6.2 0 0 1 8 4.63a6.2 6.2 0 0 1 1.71.22c1.23-.86 1.79-.68 1.79-.68.37.91.14 1.58.07 1.75.42.46.68 1.06.68 1.78 0 2.55-1.55 3.11-3.03 3.28.24.21.45.61.45 1.23v1.62c0 .18.12.38.46.32A6.5 6.5 0 0 0 8 1.5Z"})}),(0,t.jsx)("span",{children:s("update.changelogViewOnGitHub")})]}),(H||E)&&n.installs.multiple?(0,t.jsxs)("details",{className:"dashboard-version-installs",children:[(0,t.jsx)("summary",{children:s("update.multiInstallWarn")}),(0,t.jsx)("ul",{children:n.installs.entries.map(h=>(0,t.jsx)("li",{children:h.binPath},h.binPath))})]}):null,_e?(0,t.jsxs)("details",{className:"dashboard-version-rollback",open:E,"aria-busy":x,onToggle:h=>{let k=h.currentTarget.open;v(k),k&&!w&&!x&&ye()},children:[(0,t.jsxs)("summary",{children:[(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"5.5"}),(0,t.jsx)("path",{d:"M8 4.8V8l2.2 1.3"})]}),(0,t.jsx)("span",{children:s("update.rollbackTitle")}),(0,t.jsx)("span",{className:"dashboard-version-rollback-chevron","aria-hidden":"true",children:"\u2304"})]}),(0,t.jsxs)("div",{className:"dashboard-version-rollback-body",children:[x&&K.length===0?(0,t.jsxs)("p",{className:"dashboard-version-rollback-status",role:"status","aria-live":"polite",children:[(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}),s("update.rollbackLoading")]}):null,F?(0,t.jsxs)("p",{className:"dashboard-version-rollback-load-error",role:"alert",children:[(0,t.jsx)("span",{children:s("update.rollbackLoadFailed")}),(0,t.jsx)("button",{type:"button",disabled:x,onClick:()=>{ye(!0)},children:s("update.rollbackRetry")})]}):null,w&&!x&&!F&&K.length===0?(0,t.jsx)("p",{className:"dashboard-version-rollback-status",children:s("update.rollbackEmpty")}):null,K.length>0?(0,t.jsxs)("fieldset",{disabled:T||x||F,children:[(0,t.jsx)("legend",{children:s("update.rollbackHint")}),(0,t.jsx)("div",{className:"dashboard-version-rollback-options",children:K.map(h=>(0,t.jsxs)("label",{className:y===h.version?"is-selected":"",children:[(0,t.jsx)("input",{type:"radio",name:"dashboard-rollback-version",value:h.version,checked:y===h.version,onChange:()=>me(h.version)}),(0,t.jsxs)("strong",{children:["v",h.version]}),h.publishedAt?(0,t.jsx)("time",{dateTime:h.publishedAt,children:Mn(h.publishedAt)}):null]},h.version))})]}):null,y?(0,t.jsxs)("p",{id:"dashboard-version-rollback-risk",className:"dashboard-version-rollback-risk",role:"note",children:[(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M7.1 2.3 1.8 12a1 1 0 0 0 .9 1.5h10.6a1 1 0 0 0 .9-1.5L8.9 2.3a1 1 0 0 0-1.8 0Z"}),(0,t.jsx)("path",{d:"M8 5.5v3.6M8 11.6h.01"})]}),(0,t.jsxs)("span",{children:[s("update.rollbackRisk",{version:y})," ",(0,t.jsx)("a",{href:`https://github.com/deepcoldy/botmux/releases/tag/v${encodeURIComponent(y)}`,target:"_blank",rel:"noopener noreferrer","aria-label":s("update.rollbackReleaseNotesA11y",{version:y}),children:s("update.rollbackReleaseNotes",{version:y})})]})]}):null,K.length>0?(0,t.jsxs)("button",{type:"button",className:"dashboard-version-rollback-action",disabled:!y||x||F||T,"aria-describedby":y?"dashboard-version-rollback-risk":void 0,onClick:()=>{$t()},children:[T&&C?(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}):null,y?o==="error"&&C===y?s("update.rollbackRetry"):s("update.rollbackAction",{version:y}):s("update.rollbackSelect")]}):null]})]}):null]}),H&&!E&&!C?(0,t.jsxs)("footer",{className:"dashboard-version-popover-actions",children:[(0,t.jsx)("button",{type:"button",className:"dashboard-version-secondary",onClick:()=>r(!1),children:T?s("update.topbarClose"):s("update.topbarLater")}),(0,t.jsxs)("button",{type:"button",className:"dashboard-version-primary",disabled:T,onClick:()=>{It()},children:[T?(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}):null,_t]})]}):null]}):null]})}function Sn(){let e=xn(),[n,a]=(0,u.useState)(!1),[r,o]=(0,u.useState)(!1),[l,d]=(0,u.useState)(!1),m=(0,u.useRef)(e.attention),c=(0,u.useRef)(null),i=()=>{c.current!==null&&(window.clearTimeout(c.current),c.current=null)};(0,u.useEffect)(()=>{let p=()=>a(!0);return window.addEventListener(ie,p),()=>window.removeEventListener(ie,p)},[]),(0,u.useEffect)(()=>{let p=()=>o(!0);return window.addEventListener(He,p),he&&o(!0),()=>window.removeEventListener(He,p)},[]),(0,u.useEffect)(()=>()=>i(),[]),(0,u.useEffect)(()=>{let p=m.current;if(m.current=e.attention,e.attention===0){i(),d(!1);return}p!==0||document.body.classList.contains("theme-menu-open")||(d(!0),i(),c.current=window.setTimeout(()=>{c.current=null,d(!1)},4e3))},[e.attention]);let f=()=>{he=!1,o(!1)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"aurora","aria-hidden":"true",children:[(0,t.jsx)("i",{className:"a1"}),(0,t.jsx)("i",{className:"a2"}),(0,t.jsx)("i",{className:"a3"})]}),(0,t.jsxs)("div",{className:"app-shell",children:[(0,t.jsxs)("header",{className:"topbar",children:[(0,t.jsx)("div",{className:"topbar-left",children:(0,t.jsxs)("div",{className:"topbar-brand-block",children:[(0,t.jsxs)("a",{className:"brand",href:"#/",children:[(0,t.jsx)("span",{className:"brand-mark","aria-hidden":"true",children:(0,t.jsx)("img",{className:"brand-logo-img",src:"/assets/brand-logo.png",alt:"",decoding:"sync",loading:"eager",fetchPriority:"high"})}),(0,t.jsx)("strong",{className:"brand-wordmark",children:"Botmux"}),(0,t.jsx)("span",{className:"brand-product",children:"Dashboard"})]}),(0,t.jsx)(Nn,{status:Lt,onRefresh:()=>Be(!0)})]})}),(0,t.jsxs)("div",{className:"topbar-actions",children:[(0,t.jsx)(En,{summary:e,autoOpen:l}),(0,t.jsxs)("div",{className:"topbar-tool-group",children:[(0,t.jsx)("button",{type:"button",className:"topbar-locale-toggle","aria-label":g.locale==="zh"?"Switch to English":"\u5207\u6362\u5230\u4E2D\u6587",title:g.locale==="zh"?"Switch to English":"\u5207\u6362\u5230\u4E2D\u6587",onClick:()=>Tn(g.locale==="zh"?"en":"zh"),children:g.locale==="zh"?"CN":"EN"}),(0,t.jsx)(wn,{}),(0,t.jsxs)("a",{className:"topbar-docs-link",href:"https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/",target:"_blank",rel:"noopener noreferrer",title:s("nav.docs"),"aria-label":s("nav.docs"),children:[Y((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.2",y:"2.2",width:"11.6",height:"11.6",rx:"2"}),(0,t.jsx)("path",{d:"M4.8 5.2h6.4M4.8 8h6.4M4.8 10.8h4"})]})),(0,t.jsx)("span",{children:s("nav.docs")})]})]}),(0,t.jsxs)("span",{className:"topbar-owner",title:U?.name,"aria-label":U?.name??"Owner",children:[(0,t.jsx)("span",{className:"topbar-owner-placeholder","aria-hidden":"true",children:Y((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"6",r:"2.4"}),(0,t.jsx)("path",{d:"M3.7 13c.7-2.5 2.2-3.7 4.3-3.7s3.6 1.2 4.3 3.7"})]}))}),U?.avatarUrl?(0,t.jsx)("img",{className:"topbar-owner-img",src:U.avatarUrl,alt:"",decoding:"async",referrerPolicy:"no-referrer",onError:p=>{p.currentTarget.remove()}}):null]})]})]}),(0,t.jsxs)("div",{className:"chrome-body",children:[(0,t.jsxs)("aside",{className:"sidebar",children:[A?(0,t.jsxs)("div",{className:"sidebar-create-actions",children:[(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>xe(),children:[Y((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M2 3.5h12v7H6l-3 3v-3H2z"}),(0,t.jsx)("path",{d:"M8 4.9v4.2M5.9 7h4.2"})]})),(0,t.jsx)("span",{className:"sidebar-nav-label",children:s("nav.createSession")})]}),(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>{Ye()},children:[Y((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.5",y:"6",width:"11",height:"7.5",rx:"2"}),(0,t.jsx)("circle",{cx:"5.8",cy:"9.75",r:"1"}),(0,t.jsx)("circle",{cx:"10.2",cy:"9.75",r:"1"}),(0,t.jsx)("path",{d:"M8 6V3.8M6.3 1.9h3.4"})]})),(0,t.jsx)("span",{className:"sidebar-nav-label",children:s("nav.createBot")})]})]}):null,(0,t.jsx)("nav",{className:"sidebar-nav","aria-label":"Dashboard",children:fn().filter(p=>A||!p.manage).map(p=>(0,t.jsxs)("a",{href:p.href,"data-route":p.id,className:[bn(p),p.plugin?"sidebar-plugin-item":""].filter(Boolean).join(" ")||void 0,title:p.plugin?kt(p):void 0,children:[Y(p.icon),(0,t.jsx)("span",{className:"sidebar-nav-label",children:kt(p)}),p.id==="settings"&&Q?(0,t.jsx)(Xe,{className:"nav-update-tip",label:Rt(),trigger:(0,t.jsx)("span",{className:"nav-update-dot","aria-hidden":"true"}),preventClick:!1,focusable:!1,children:Rt()}):null]},p.id))})]}),(0,t.jsxs)("div",{className:"workspace",children:[(0,t.jsx)("dialog",{id:"create-session-modal",className:"create-session-modal"}),(0,t.jsx)(Ze,{open:n,onClose:()=>a(!1)}),(0,t.jsx)("main",{id:"root",ref:yn})]})]})]}),(0,t.jsx)(Rn,{open:r,onClose:f})]})}function S(){Ot?.render((0,t.jsx)(Sn,{}))}function Tn(e){g.setLocale(e),Dn(e)}var he=!1;function Ln(){he||(he=!0,window.dispatchEvent(new Event(He)))}var Ce;function On(){let e=document.getElementById("readonly-toast");e||(e=document.createElement("div"),e.id="readonly-toast",e.style.cssText="position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9999;background:var(--fg,#1f2329);color:var(--bg,#fff);padding:10px 18px;border-radius:var(--radius-lg);font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.25)",document.body.appendChild(e)),e.textContent="\u5F53\u524D\u662F\u53EA\u8BFB\u8BBF\u95EE\uFF0C\u6B64\u64CD\u4F5C\u9700\u8981\u6388\u6743\u94FE\u63A5\uFF08\u8FD0\u884C botmux dashboard \u83B7\u53D6\uFF09",e.style.display="block",Ce&&window.clearTimeout(Ce),Ce=window.setTimeout(()=>{e.style.display="none"},4e3)}var Pn=window.fetch.bind(window);window.fetch=async function(...n){let a=await Pn(...n);if(a.status===401){let r=(n[1]?.method??"GET").toUpperCase();(r==="GET"||r==="HEAD")&&!Ae?Ln():On()}return a};async function Cn(){try{let e=await fetch("/api/settings");if(e.ok){let n=await e.json();A=!!n.authed,g.authed=A,Ae=!!(n.settings&&n.settings.publicReadOnly),g.publicReadOnly=Ae;let a=Ct()??oe(n.lang);a&&g.setLocale(a)}}catch{}}async function Nt(){try{let e=await fetch("/api/plugins/dashboard");if(!e.ok)return;let n=await e.json();Z=(Array.isArray(n?.plugins)?n.plugins:[]).filter(r=>r.pinned===!0&&typeof r.route=="string").map(r=>({id:`plugin:${r.pluginId}:${r.id}`,href:r.route,label:r.displayName||r.pluginId,manage:!0,plugin:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M5.2 2.2h5.6v3.1l1.7 1.7-1.4 1.4-1-1v6.4H5.9V7.4l-1 1L3.5 7l1.7-1.7z"}),(0,t.jsx)("path",{d:"M8 13.8v1"})]})})),S()}catch{}}async function Dn(e){if(A)try{await fetch("/api/settings",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({lang:e})})}catch{}}async function Be(e=!1){if(!A)return!1;try{let n=await fetch(`/api/update/status${e?"?refresh=1":""}`,{cache:"no-store"});if(!n.ok)return!1;let a=await n.json();Lt=a;let r=Array.isArray(a.cliUpdates)?a.cliUpdates.find(o=>o?.updateAvailable===!0&&o?.latest):null;return a.behind===!0&&a.latest?(Q=!0,ue="botmux",ee=String(a.latest)):r?(Q=!0,ue="codex",ee=String(r.latest)):(Q=!1,ue=null,ee=null),S(),a.versionLookupOk!==!1}catch{return!1}}function An(e){e.innerHTML='<section class="auth-required" style="max-width:520px;margin:64px auto;text-align:center;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 36px;box-shadow:0 8px 28px rgba(0,0,0,.12)"><h2 style="margin:0 0 12px;font-size:20px;color:var(--fg)">\u6B64\u9875\u9700\u8981\u6388\u6743\u94FE\u63A5</h2><p style="margin:0 0 24px;line-height:1.7;color:var(--muted);font-size:14px">\u4F60\u5F53\u524D\u662F\u53EA\u8BFB\u8BBF\u95EE\uFF0C\u7BA1\u7406\u9875\uFF08\u7FA4\u89D2\u8272 / Profiles / Bot \u914D\u7F6E / \u56E2\u961F / Webhook\uFF09\u9700\u8981\u6388\u6743\u94FE\u63A5\u3002\u8FD0\u884C <code>botmux dashboard</code> \u83B7\u53D6\u6700\u65B0\u94FE\u63A5\u540E\u5373\u53EF\u7BA1\u7406\u3002</p><a href="#/" style="display:inline-block;padding:8px 22px;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-lg);text-decoration:none;font-size:14px">\u8FD4\u56DE\u603B\u89C8</a></section>'}async function De(){let e=lt(D),n=location.hash||"#/";if(Tt=n,S(),!A&&pn.some(a=>n.startsWith("#/"+a))){An(Oe()),D.rerenderOnUiChange=!0;return}if(n.startsWith("#/v3")){window.location.replace(`#/workflows${n.slice(4)}`);return}else if(n.startsWith("#/legacy-workflow")){window.location.replace("#/workflows");return}else if(/^#\/workflows(?:\/|-)catalog(?:[/?].*)?$/.test(n)){window.location.replace("#/workflows");return}if(n.startsWith("#/role-profiles")){window.location.replace(`#/roles/profile${n.slice(15)}`);return}try{let a=rt(n);await dt(D,e,Oe(),a?a.load:ot,{rerenderOnUiChange:a?a.rerenderOnUiChange:!1}),e===D.seq&&A&&vn()}catch(a){if(e!==D.seq||pt(a,{href:window.location.href,hash:n,getSessionStorage:()=>window.sessionStorage,reload:()=>window.location.reload()}))return;Oe().innerHTML=`<section class="page"><div class="empty">Dashboard route failed: ${Ve(String(a))}</div></section>`,D.pageDispose=null,D.rerenderOnUiChange=!0}}function Hn(){try{let e=JSON.parse(window.localStorage.getItem(Pt)??"null");if(e?.avatarUrl)return{avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0}}catch{}return null}function Bn(){U=Hn(),S(),fetch("/api/owner-profile").then(e=>e.ok?e.json():null).then(e=>{if(!(!e?.ok||!e.avatarUrl)){U={avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0};try{window.localStorage.setItem(Pt,JSON.stringify({avatarUrl:e.avatarUrl,name:e.name??""}))}catch{}S()}}).catch(()=>{})}(async()=>{g.init(),Et();let e=document.getElementById("app-root");if(!e)throw new Error("missing dashboard app root");yt(e),Ot=(0,St.createRoot)(e),S(),g.on(()=>{S(),D.rerenderOnUiChange&&De()}),re.on(()=>{S()}),await Cn(),S(),window.addEventListener(Ge,()=>{Nt()}),Nt(),Be(),window.setInterval(()=>{document.hidden||Be()},30*6e4),Bn();try{await Ke()}catch(n){console.error("botmux dashboard bootstrap failed",n),re.setOnline(!1)}We().then(S),Qe().then(S),window.addEventListener("hashchange",()=>{Et()||De()}),De()})();export{Ln as showAuthExpiredOverlay,On as showReadOnlyToast};
|
|
1
|
+
import{a as Qe,b as et}from"./chunks/chunk-JNRSPKLS.js";import{b as xe}from"./chunks/chunk-SZOB6VK2.js";import{a as Ge}from"./chunks/chunk-BD3PZGH2.js";import{a as ie,b as Ye,c as Ze}from"./chunks/chunk-UBOLHQCK.js";import{i as Xe}from"./chunks/chunk-QFMH6ITB.js";import{A as We,C as je,F as qe,G as se,a as re,b as Ke,e as oe,r as g,s,t as Ve,u as ze}from"./chunks/chunk-CUV65BIQ.js";import{a as Ft,c as Kt,d as Je}from"./chunks/chunk-5THX4DI2.js";import{c as ae}from"./chunks/chunk-7SZRL6FY.js";var St=ae(Kt(),1),u=ae(Ft(),1);var Ee="botmux:close-theme-menu",Vt={palette:'<circle cx="13.5" cy="6.5" r=".5" fill="currentColor"/><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"/><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"/><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"/><path d="M12 2a10 10 0 0 0 0 20h1.7a2.3 2.3 0 0 0 1.6-4c-.5-.5-.2-1.3.5-1.3H17a5 5 0 0 0 5-5 9.7 9.7 0 0 0-10-9.7z"/>',monitor:'<rect width="20" height="14" x="2" y="3" rx="2"/><line x1="8" x2="16" y1="21" y2="21"/><line x1="12" x2="12" y1="17" y2="21"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/>',moon:'<path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"/>',cpu:'<path d="M12 20v2"/><path d="M12 2v2"/><path d="M17 20v2"/><path d="M17 2v2"/><path d="M2 12h2"/><path d="M2 17h2"/><path d="M2 7h2"/><path d="M20 12h2"/><path d="M20 17h2"/><path d="M20 7h2"/><path d="M7 20v2"/><path d="M7 2v2"/><rect x="4" y="4" width="16" height="16" rx="2"/><rect x="8" y="8" width="8" height="8" rx="1"/>',zap:'<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>',chevron:'<path d="m6 9 6 6 6-6"/>'},nt=[{labelKey:"theme.base",options:[{value:"system",labelKey:"status.system",icon:"monitor"},{value:"light",labelKey:"status.light",icon:"sun"},{value:"dark",labelKey:"status.dark",icon:"moon"}]},{labelKey:"theme.skins",options:[{value:"cyber",labelKey:"skin.cyber",icon:"cpu"},{value:"fallout",labelKey:"skin.fallout",icon:"zap"}]}],tt=nt.flatMap(e=>e.options),N=!1,q=null,G=null,zt=70,Wt=120;function ke(e){return`<svg class="tm-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${Vt[e]??""}</svg>`}function jt(e){return e.replace(/[&<>"]/g,n=>({"&":"&","<":"<",">":">",'"':"""})[n])}function at(){let e=document.getElementById("theme-menu"),n=document.getElementById("theme-menu-btn"),a=document.getElementById("theme-menu-pop");if(!e||!n||!a||e.dataset.themeMenuInit==="1")return;e.dataset.themeMenuInit="1",a.innerHTML=nt.map(i=>`<div class="tm-group" data-label-key="${i.labelKey}"></div>`+i.options.map(f=>`<button type="button" class="tm-item" role="option" data-value="${f.value}"><span class="tm-ic">${ke(f.icon)}</span><span class="tm-label" data-label-key="${f.labelKey}"></span></button>`).join("")).join("");let r=()=>{if(!N)return;let i=n.getBoundingClientRect(),f=12,p=Math.min(Math.max(a.offsetWidth||216,216),Math.max(0,window.innerWidth-f*2)),E=f+p/2,v=window.innerWidth-f-p/2,w=i.left+i.width/2,R=Math.min(Math.max(w,E),Math.max(E,v)),x=Math.max(180,window.innerHeight-i.bottom-20);a.style.setProperty("--theme-menu-pop-left",`${Math.round(R)}px`),a.style.setProperty("--theme-menu-pop-top",`${Math.round(i.bottom+8)}px`),a.style.setProperty("--theme-menu-pop-max-height",`${Math.round(x)}px`)},o=i=>{q!=null&&(window.clearTimeout(q),q=null),G!=null&&(window.clearTimeout(G),G=null),N=i,n.setAttribute("aria-expanded",String(N)),document.body.classList.toggle("theme-menu-open",N),N?(a.hidden=!1,r(),window.requestAnimationFrame(()=>e.classList.add("open"))):(e.classList.remove("open"),G=window.setTimeout(()=>{G=null,N||(a.hidden=!0)},Wt))},l=()=>o(!0),d=()=>{q==null&&(q=window.setTimeout(()=>o(!1),zt))},m=i=>{i.pointerType!=="touch"&&l()},c=i=>{i.pointerType!=="touch"&&d()};e.addEventListener("pointerenter",m),e.addEventListener("pointerleave",c),a.addEventListener("pointerenter",m),a.addEventListener("pointerleave",c),n.addEventListener("click",i=>{i.stopPropagation(),o(!N)}),n.addEventListener("focus",()=>{n.matches(":focus-visible")&&l()}),e.addEventListener("focusout",i=>{let f=i.relatedTarget;(!(f instanceof Node)||!e.contains(f))&&d()}),a.addEventListener("click",i=>{let f=i.target.closest(".tm-item");f&&(g.setTheme(f.dataset.value??"system"),o(!1))}),document.addEventListener("click",i=>{N&&!e.contains(i.target)&&o(!1)}),document.addEventListener("pointermove",i=>{if(!N||i.pointerType==="touch")return;let f=i.target;f instanceof Node&&e.contains(f)||d()}),document.addEventListener("keydown",i=>{i.key==="Escape"&&N&&o(!1)}),window.addEventListener("resize",r),window.addEventListener("scroll",r,!0),window.addEventListener(Ee,()=>{N&&o(!1)}),Re()}function Re(){let e=document.getElementById("theme-menu-btn");if(!e)return;let n=tt.find(a=>a.value===g.theme)??tt[0];e.innerHTML=`<span class="tm-ic">${ke("palette")}</span><span class="tm-current">${jt(s(n.labelKey))}</span><span class="tm-chev">${ke("chevron")}</span>`,document.querySelectorAll("#theme-menu-pop [data-label-key]").forEach(a=>{a.textContent=s(a.dataset.labelKey??"")}),document.querySelectorAll("#theme-menu-pop .tm-item").forEach(a=>{a.classList.toggle("active",a.dataset.value===g.theme)})}function b(e,n,a,r,o=!1){return{id:e,routePrefix:n,rerenderOnUiChange:o,load:async()=>(await a())[r]}}var qt=[{id:"plugins",routePrefix:"#/plugins",rerenderOnUiChange:!1,load:async()=>{let e=await import("./chunks/plugin-page-JXC5F5YV.js");return n=>e.renderPluginPage(n)}},b("workflows","#/workflows",()=>import("./chunks/v3-page-J5JOTUSQ.js"),"renderV3RunsPage"),b("groups","#/groups",()=>import("./chunks/groups-page-B3EKGOLY.js"),"renderGroupsPage"),b("settings","#/settings",()=>import("./chunks/settings-page-HMIUE2JA.js"),"renderSettingsPage"),b("bot-defaults","#/bot-defaults",()=>import("./chunks/bot-defaults-page-B5AY4B2J.js"),"renderBotDefaultsPage"),b("skills","#/skills",()=>import("./chunks/skills-page-A46KVWBL.js"),"renderSkillsPage"),b("connectors-logs","#/connectors/logs",()=>import("./chunks/connectors-page-KTC2QWNW.js"),"renderConnectorsLogsPage"),b("webhook-logs","#/webhook-logs",()=>import("./chunks/connectors-page-KTC2QWNW.js"),"renderConnectorsLogsPage"),b("connectors","#/connectors",()=>import("./chunks/connectors-page-KTC2QWNW.js"),"renderConnectorsPage"),b("team-manage","#/team/manage",()=>import("./chunks/team-federation-page-SDUC56DF.js"),"renderTeamManagePage"),b("team","#/team",()=>import("./chunks/team-federation-page-SDUC56DF.js"),"renderTeamFederationPage"),b("roles-profile","#/roles/profile",()=>import("./chunks/roles-page-P6F7NLOI.js"),"renderRoleProfilesPage"),b("roles","#/roles",()=>import("./chunks/roles-page-P6F7NLOI.js"),"renderRolesPage"),b("schedules","#/schedules",()=>import("./chunks/schedules-page-XIHWZST4.js"),"renderSchedulesPage"),b("whiteboards","#/whiteboards",()=>import("./chunks/whiteboards-page-U7LSOAWI.js"),"renderWhiteboardsPage"),b("monitoring","#/monitoring",()=>import("./chunks/monitoring-page-7MT5FEOS.js"),"renderMonitoringPage"),b("sessions","#/sessions",()=>import("./chunks/sessions-page-2VECQ27T.js"),"renderSessionsPage"),b("monitor-room","#/monitor-room",()=>import("./chunks/monitor-room-LLRA5LQW.js"),"renderMonitorRoomPage",!0),b("office","#/office",()=>import("./chunks/office-page-KD46D5TD.js"),"renderOfficePage"),b("insights","#/insights",()=>import("./chunks/insights-page-X6RXNCWX.js"),"renderInsightsPage")];function rt(e){return qt.find(n=>n.exact?e===n.routePrefix:e.startsWith(n.routePrefix))}async function ot(){let e=await import("./chunks/overview-page-JUWNH32O.js");return n=>e.renderOverviewPage(n)}function it(){return{seq:0,pageDispose:null,rerenderOnUiChange:!0}}function lt(e){let n=++e.seq;return e.pageDispose&&(e.pageDispose(),e.pageDispose=null),n}function st(e,n){return n===e.seq}async function dt(e,n,a,r,o={}){let l=await r();if(!st(e,n))return!1;let d=l(a);return st(e,n)?(e.pageDispose=typeof d=="function"?d:null,e.rerenderOnUiChange=o.rerenderOnUiChange??!0,!0):(typeof d=="function"&&d(),!1)}var Gt="botmux.dashboard.stale-chunk-reload.v1:",Jt=/Failed to fetch dynamically imported module|Importing a module script failed|error loading dynamically imported module|dynamically imported module/i,Xt=/\b(?:https?:\/\/|\/assets\/)\S+?\.js\b/;function ct(e){return e instanceof Error?`${e.name}: ${e.message}`:String(e)}function ut(e){return Jt.test(ct(e))}function Yt(e,n){let o=ct(e).match(Xt)?.[0]||`${n.href}|${n.hash}`;return`${Gt}${o.slice(-240)}`}function Zt(e,n){if(!ut(e))return!1;let a=Yt(e,n);try{if(n.sessionStorage.getItem(a)==="1")return!1;n.sessionStorage.setItem(a,"1")}catch{return!1}return n.reload(),!0}function pt(e,n){if(!ut(e))return!1;let a;try{a=n.getSessionStorage()}catch{return!1}return Zt(e,{...n,sessionStorage:a})}var Qt=new Set(["auto","scroll","overlay"]),le=28,L=3,I=6,ht=!1,vt=null,mt=new WeakMap,P=new Map,ft=null,bt=null,Me=0,Ne=0,J=null;function en(e){return e.closest("dialog[open]")??document.body}function tn(e){let n=mt.get(e);if(n?.isConnected)return n;let a=document.createElement("div");return a.className="floating-scrollbar-layer",a.setAttribute("aria-hidden","true"),e.appendChild(a),mt.set(e,a),a}function nn(e){return Qt.has(e)}function Se(e,n){let a=getComputedStyle(e),r=n==="y"?a.overflowY:a.overflowX;return nn(r)?n==="y"?e.scrollHeight-e.clientHeight>1:e.scrollWidth-e.clientWidth>1:!1}function an(e){if(!e.isConnected||e.closest("[hidden]"))return!1;let n=e.getBoundingClientRect();return n.width>0&&n.height>0&&n.bottom>0&&n.right>0&&n.top<window.innerHeight&&n.left<window.innerWidth}function rn(e){return[e,...Array.from(e.querySelectorAll("*"))].filter(a=>an(a)&&(Se(a,"x")||Se(a,"y")))}function de(e){e.hideTimer!==void 0&&window.clearTimeout(e.hideTimer),e.track.remove()}function on(e,n){let a=P.get(e);a||(a={},P.set(e,a));let r=a[n],o=en(e),l=tn(o);if(r?.track.parentElement===l)return r;r&&de(r);let d=document.createElement("div"),m=document.createElement("div");d.className=`floating-scrollbar floating-scrollbar-${n}`,m.className="floating-scrollbar-thumb",d.appendChild(m),l.appendChild(d);let c={target:e,axis:n,track:d,thumb:m,hideTimer:void 0};return a[n]=c,c}function Te(e,n=!1){e.track.classList.add("is-visible"),e.hideTimer!==void 0&&window.clearTimeout(e.hideTimer),e.hideTimer=n?void 0:window.setTimeout(()=>{e.track.classList.remove("is-visible","is-active"),e.hideTimer=void 0},900)}function sn(e){let{target:n,axis:a,track:r,thumb:o}=e,l=n.getBoundingClientRect();if(a==="y"){let E=Math.max(0,l.top+L),v=Math.min(window.innerHeight,l.bottom-L),w=Math.max(0,v-E);if(w<le||n.scrollHeight<=n.clientHeight){r.hidden=!0;return}let R=Math.max(le,Math.round(w*n.clientHeight/n.scrollHeight)),x=Math.max(1,n.scrollHeight-n.clientHeight),_=Math.round((w-R)*n.scrollTop/x);r.hidden=!1,r.style.left=`${Math.min(window.innerWidth-I-L,Math.max(L,l.right-I-L))}px`,r.style.top=`${E}px`,r.style.width=`${I}px`,r.style.height=`${w}px`,o.style.width="100%",o.style.height=`${R}px`,o.style.transform=`translate3d(0, ${_}px, 0)`;return}let d=Math.max(0,l.left+L),m=Math.min(window.innerWidth,l.right-L),c=Math.max(0,m-d);if(c<le||n.scrollWidth<=n.clientWidth){r.hidden=!0;return}let i=Math.max(le,Math.round(c*n.clientWidth/n.scrollWidth)),f=Math.max(1,n.scrollWidth-n.clientWidth),p=Math.round((c-i)*n.scrollLeft/f);r.hidden=!1,r.style.left=`${d}px`,r.style.top=`${Math.min(window.innerHeight-I-L,Math.max(L,l.bottom-I-L))}px`,r.style.width=`${c}px`,r.style.height=`${I}px`,o.style.width=`${i}px`,o.style.height="100%",o.style.transform=`translate3d(${p}px, 0, 0)`}function $(){Me||(Me=window.requestAnimationFrame(()=>{Me=0,dn()}))}function ln(){Ne||(Ne=window.setTimeout(()=>{Ne=0,$()},120))}function dn(){let e=vt;if(!e)return;let n=new Set(rn(e));for(let[a,r]of P)n.has(a)||(r.x&&de(r.x),r.y&&de(r.y),P.delete(a));for(let a of n){let r=a===J;for(let o of["x","y"]){let l=P.get(a);if(!Se(a,o)){let m=l?.[o];m&&(de(m),delete l?.[o]);continue}let d=on(a,o);sn(d),r&&Te(d,!0)}}}function cn(e){if(!(e instanceof HTMLElement))return;let n=P.get(e);if(n)for(let a of Object.values(n))a&&(a.track.classList.add("is-active"),Te(a))}function un(e){for(let n=e;n;n=n.parentElement)if(n instanceof HTMLElement&&P.has(n))return n;return null}function gt(e){if(J===e)return;let n=J?P.get(J):void 0;if(J=e,n)for(let r of Object.values(n))r?.track.classList.remove("is-visible");let a=e?P.get(e):void 0;if(a)for(let r of Object.values(a))r&&Te(r,!0)}function yt(e){ht||(ht=!0,vt=e,document.documentElement.classList.add("floating-scrollbars-on"),ft=typeof ResizeObserver>"u"?null:new ResizeObserver($),ft?.observe(e),bt=new MutationObserver(n=>{for(let a of n){let r=a.target;if(!(r instanceof Element&&r.closest(".floating-scrollbar-layer"))){ln();return}}}),bt.observe(e,{attributes:!0,attributeFilter:["class","style","hidden","open"],childList:!0,subtree:!0}),document.addEventListener("scroll",n=>{cn(n.target),$()},!0),window.addEventListener("resize",$),window.addEventListener("hashchange",$),document.addEventListener("pointermove",n=>{gt(un(document.elementFromPoint(n.clientX,n.clientY)))}),document.addEventListener("pointerleave",()=>gt(null)),$())}async function wt(e){let n=await e.json().catch(()=>null);return n&&typeof n=="object"?n:{}}function xt(e,n){let a=n.detail??n.error;return new Error(typeof a=="string"?a:`HTTP ${e.status}`)}async function Le(e,n=()=>{},a){n("updating");let r=await e(a?"/api/update/rollback":"/api/update/run",a?{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({version:a})}:{method:"POST"}),o=await wt(r);if(!r.ok||o.ok===!1)throw xt(r,o);if(o.ok!==!0||typeof o.oldVersion!="string"||typeof o.newVersion!="string"||typeof o.changed!="boolean")throw new Error("Invalid update response");if(a&&(o.newVersion!==a||o.changed!==!0))throw new Error("Invalid rollback response");let l={oldVersion:o.oldVersion,newVersion:o.newVersion,changed:o.changed,restarted:!1};if(n("restarting"),a)return{...l,restarted:!0};let d=await e("/api/update/restart",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({update:{oldVersion:l.oldVersion,newVersion:l.newVersion}})}),m=await wt(d);if(!d.ok||m.ok===!1)return{...l,restarted:!1,restartError:xt(d,m).message};if(m.ok!==!0)throw new Error("Invalid restart response");return m.alreadyScheduled===!0?{...l,restarted:!0,alreadyScheduled:!0}:{...l,restarted:!0}}var t=ae(Je(),1),pn=["roles","role-profiles","bot-defaults","skills","plugins","team","connectors","insights","whiteboards"],X=[{id:"overview",href:"#/",labelKey:"nav.overview",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"1.5",y:"1.5",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"9.1",y:"1.5",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"1.5",y:"9.1",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"9.1",y:"9.1",width:"5.4",height:"5.4",rx:"1.5"})]})},{id:"sessions",href:"#/sessions",labelKey:"nav.sessions",icon:(0,t.jsx)("path",{d:"M2 3.5h12v7H6l-3 3v-3H2z"})},{id:"groups",href:"#/groups",labelKey:"nav.groups",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"5.6",cy:"5.8",r:"2.4"}),(0,t.jsx)("circle",{cx:"11",cy:"6.8",r:"1.9"}),(0,t.jsx)("path",{d:"M1.8 13.2c.5-2.4 2-3.6 3.8-3.6s3.3 1.2 3.8 3.6M9.8 12.6c.4-1.7 1.5-2.6 2.8-2.6 1 0 1.9.5 2.4 1.6"})]})},{id:"roles",href:"#/roles",labelKey:"nav.roles",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M8 1.8l5.2 2v3.4c0 3.4-2.2 5.9-5.2 7-3-1.1-5.2-3.6-5.2-7V3.8z"}),(0,t.jsx)("path",{d:"M5.8 8l1.6 1.6 2.8-3"})]})},{id:"monitoring",href:"#/monitoring",labelKey:"nav.monitoring",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M2 9.2h2.3l1.3-4.8 2.5 8.4 1.8-5.1h4.1"}),(0,t.jsx)("path",{d:"M2 2.5h12v11H2z"})]})},{id:"insights",href:"#/insights",labelKey:"nav.insights",manage:!0,icon:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("path",{d:"M2 2v12h12M5 11V7M8.5 11V4.5M12 11V8.5"})})},{id:"workflows",href:"#/workflows",labelKey:"nav.workflows",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"3.4",cy:"3.6",r:"1.9"}),(0,t.jsx)("circle",{cx:"3.4",cy:"12.4",r:"1.9"}),(0,t.jsx)("circle",{cx:"12.6",cy:"8",r:"1.9"}),(0,t.jsx)("path",{d:"M5.2 4.4l5.6 2.8M5.2 11.6l5.6-2.8"})]})},{id:"schedules",href:"#/schedules",labelKey:"nav.schedules",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"6.2"}),(0,t.jsx)("path",{d:"M8 4.5V8l2.4 1.6"})]})},{id:"whiteboards",href:"#/whiteboards",labelKey:"nav.whiteboards",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.2",y:"2.2",width:"11.6",height:"11.6",rx:"2"}),(0,t.jsx)("path",{d:"M4.8 5.2h6.4M4.8 8h6.4M4.8 10.8h4"})]})},{id:"office",href:"#/office",labelKey:"nav.office",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"10",height:"7",rx:"2"}),(0,t.jsx)("circle",{cx:"6",cy:"7.5",r:"1"}),(0,t.jsx)("circle",{cx:"10",cy:"7.5",r:"1"}),(0,t.jsx)("path",{d:"M8 4V2M4.5 11v2M11.5 11v2"})]})},{id:"bot-defaults",href:"#/bot-defaults",labelKey:"nav.botDefaults",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.5",y:"5",width:"11",height:"8",rx:"2"}),(0,t.jsx)("circle",{cx:"5.8",cy:"9",r:"1"}),(0,t.jsx)("circle",{cx:"10.2",cy:"9",r:"1"}),(0,t.jsx)("path",{d:"M8 5V2.5M5.5 13v1.2M10.5 13v1.2"})]})},{id:"skills",href:"#/skills",labelKey:"nav.skills",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M3 2.5h10v3H3zM3 7h10v6.5H3z"}),(0,t.jsx)("path",{d:"M5.4 9.2h5.2M5.4 11.2h3.8"})]})},{id:"plugins",href:"#/plugins",label:"\u63D2\u4EF6",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M6.4 1.8h3.2v3h2.8v3.2H9.6v2.8H6.4V8H3.6V4.8h2.8z"}),(0,t.jsx)("path",{d:"M2.2 11.8h11.6v2.4H2.2z"})]})},{id:"team",href:"#/team",labelKey:"nav.team",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"6.2"}),(0,t.jsx)("path",{d:"M1.8 8h12.4M8 1.8c-2 1.8-2 10.6 0 12.4 2-1.8 2-10.6 0-12.4z"})]})},{id:"connectors",href:"#/connectors",labelKey:"nav.connectors",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M5.5 6.5v-3a2.5 2.5 0 0 1 5 0v3"}),(0,t.jsx)("rect",{x:"3.5",y:"6.5",width:"9",height:"7",rx:"2"})]})},{id:"settings",href:"#/settings",labelKey:"nav.settings",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M8 1.75 9.35 2.05 10 3.28l1.38.3 1.04-.96.96.96-.96 1.04.3 1.38 1.23.65L14.25 8l-.3 1.35-1.23.65-.3 1.38.96 1.04-.96.96-1.04-.96-1.38.3-.65 1.23L8 14.25l-1.35-.3L6 12.72l-1.38-.3-1.04.96-.96-.96.96-1.04-.3-1.38-1.23-.65L1.75 8l.3-1.35 1.23-.65.3-1.38-.96-1.04.96-.96 1.04.96 1.38-.3.65-1.23z"}),(0,t.jsx)("circle",{cx:"8",cy:"8",r:"2"})]})}],Z=[],A=!0,Ae=!1,Tt=location.hash||"#/",U=null,Q=!1,ee=null,ue=null,Lt=null,pe=null,Ot=null,D=it(),Pt="botmux.ownerAvatar.v1",hn=new Set(["working","analyzing","active","starting"]),He="botmux:auth-expired";function Y(e){return(0,t.jsx)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:e})}function kt(e){return e.labelKey?s(e.labelKey):e.label??""}function mn(e,n){let a=n||"#/";return e.id==="plugins"&&Z.some(r=>r.href===a||a.startsWith(`${r.href}?`)||a.startsWith(`${r.href}/`))?!1:e.id==="sessions"&&(a==="#/monitor-room"||a.startsWith("#/monitor-room?")||a.startsWith("#/monitor-room/"))||e.id==="connectors"&&(a==="#/webhook-logs"||a.startsWith("#/webhook-logs?")||a.startsWith("#/webhook-logs/"))?!0:e.href===a||e.href!=="#/"&&(a.startsWith(`${e.href}?`)||a.startsWith(`${e.href}/`))}function fn(){if(Z.length===0)return X;let e=X.findIndex(n=>n.id==="plugins");return e<0?[...X,...Z]:[...X.slice(0,e+1),...Z,...X.slice(e+1)]}function bn(e){let n=[];return mn(e,Tt)&&n.push("active"),e.id==="settings"&&Q&&n.push("nav-has-update"),n.length?n.join(" "):void 0}function Ct(){let e=oe(new URLSearchParams(location.search).get("locale"));if(e)return e;let n=location.hash.indexOf("?");return n<0?null:oe(new URLSearchParams(location.hash.slice(n+1)).get("locale"))}function Et(){let e=Ct();return!e||e===g.locale?!1:(g.setLocale(e),!0)}function gn(){let e=location.hash.indexOf("?");return e<0?null:{path:location.hash.slice(0,e)||"#/",params:new URLSearchParams(location.hash.slice(e+1))}}function vn(){let e=gn(),n=e?.params.get("open");if(!e||!n||n!=="bot-onboarding"&&n!=="create-session")return!1;e.params.delete("open");let a=e.params.toString();return history.replaceState(null,"",a?`${e.path}?${a}`:e.path),n==="bot-onboarding"?window.dispatchEvent(new Event(ie)):xe(),!0}function Rt(){let e=ee?`v${ee}`:"";return ue==="codex"?s("update.navRuntimeBadgeTitle",{version:e}):s("update.navBadgeTitle",{version:e})}function yn(e){pe=e}function Oe(){if(pe)return pe;let e=document.getElementById("root");if(!e)throw new Error("dashboard root is not mounted");return pe=e,e}function wn(){return(0,u.useEffect)(()=>{at()},[]),(0,u.useEffect)(()=>{Re()}),(0,t.jsxs)("div",{className:"theme-menu",id:"theme-menu",children:[(0,t.jsx)("button",{type:"button",className:"theme-menu-btn",id:"theme-menu-btn","aria-haspopup":"listbox","aria-expanded":"false","aria-label":"Theme",children:(0,t.jsx)("span",{className:"tm-ic",children:(0,t.jsxs)("svg",{className:"tm-svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor"}),(0,t.jsx)("path",{d:"M12 2a10 10 0 0 0 0 20h1.7a2.3 2.3 0 0 0 1.6-4c-.5-.5-.2-1.3.5-1.3H17a5 5 0 0 0 5-5 9.7 9.7 0 0 0-10-9.7z"})]})})}),(0,t.jsx)("div",{className:"theme-menu-pop",id:"theme-menu-pop",role:"listbox",hidden:!0})]})}function xn(){let e=[...re.sessions.values()],n=e.filter(c=>c.status!=="closed"),a=n.map(c=>({s:c,reason:qe(c)})).filter(c=>!!c.reason).sort((c,i)=>se(c.s)-se(i.s)),r=new Set(a.map(c=>String(c.s.sessionId??""))),o=n.filter(c=>hn.has(String(c.status))&&!r.has(String(c.sessionId??""))).length,l=a[0]??null,d=et(e).filter(c=>c.online||c.active.length>0).length,m=Math.max(0,n.length-a.length-o);return{working:o,attention:a.length,idle:m,onlineBots:d,attentionNotice:l?{count:a.length,time:ze(se(l.s)),bot:je(l.s),reason:l.reason}:null}}function ce(e){return(0,t.jsxs)("div",{className:`topbar-status-row${e.hot?" topbar-status-row-hot":""}`,children:[(0,t.jsx)("span",{children:e.label}),(0,t.jsx)("b",{className:e.value>0?"status-count-on":void 0,children:e.value})]})}function kn(e){let{attention:n,idle:a,working:r}=e.summary,o=r+n+a,l=o===0?"conic-gradient(var(--border) 0 360deg)":(()=>{let d=r/o*360,m=d+n/o*360;return`conic-gradient(var(--accent) 0 ${d}deg, var(--warning) ${d}deg ${m}deg, var(--success) ${m}deg 360deg)`})();return(0,t.jsxs)("div",{className:"topbar-status-donut-wrap","aria-hidden":"true",children:[(0,t.jsx)("div",{className:"topbar-status-donut",style:{background:l}}),(0,t.jsxs)("div",{className:"topbar-status-donut-center",children:[(0,t.jsx)("b",{children:o}),(0,t.jsx)("span",{children:s("overview.openSessions")})]})]})}function Pe(){window.dispatchEvent(new Event(Ee))}function En(e){let{autoOpen:n=!1,summary:a}=e,[r,o]=(0,u.useState)(!1),[l,d]=(0,u.useState)(!1),[m,c]=(0,u.useState)(!1),i=(0,u.useRef)(null),f=n&&!l,p=r||f;return(0,u.useEffect)(()=>{n||d(!1)},[n]),(0,u.useEffect)(()=>{if(!p)return;let v=w=>{let R=w.target;R instanceof Node&&i.current?.contains(R)||(o(!1),d(!0))};return document.addEventListener("pointerdown",v),()=>document.removeEventListener("pointerdown",v)},[p]),(0,t.jsxs)("div",{ref:i,className:`topbar-status-menu${f?" topbar-status-auto-open":""}${r?" is-open":""}${m?" suppress-hover":""}`,onPointerEnter:Pe,onPointerLeave:()=>c(!1),onFocusCapture:Pe,onBlur:v=>{let w=v.relatedTarget;(!(w instanceof Node)||!v.currentTarget.contains(w))&&o(!1)},onKeyDown:v=>{v.key==="Escape"&&(o(!1),d(!0),c(!0),v.currentTarget.querySelector("#status")?.focus())},children:[(0,t.jsx)("button",{type:"button",id:"status",className:"connection-status","aria-haspopup":"true","aria-expanded":p,onClick:()=>{if(Pe(),p){o(!1),d(!0),c(!0);return}c(!1),o(!0)},children:s("overview.sessionOverview")}),(0,t.jsxs)("div",{className:"topbar-status-pop",children:[a.attentionNotice?(0,t.jsxs)("a",{className:"topbar-attention-notice",href:"#/sessions",children:[(0,t.jsx)("span",{className:"topbar-attention-dot","aria-hidden":"true"}),(0,t.jsxs)("span",{className:"topbar-attention-copy",children:[(0,t.jsx)("b",{children:s("strip.pending",{count:a.attentionNotice.count})}),(0,t.jsx)("small",{children:s("strip.longestCompact",{time:a.attentionNotice.time,bot:a.attentionNotice.bot,reason:a.attentionNotice.reason})})]}),(0,t.jsx)("span",{className:"topbar-attention-action",children:s("strip.handle")})]}):null,(0,t.jsxs)("div",{className:"topbar-status-list",children:[(0,t.jsx)(ce,{label:s("overview.workingSessions"),value:a.working}),(0,t.jsx)(ce,{label:s("overview.idleSessions"),value:a.idle}),(0,t.jsx)(ce,{label:s("overview.attention"),value:a.attention,hot:a.attention>0}),(0,t.jsx)(ce,{label:s("overview.onlineBots"),value:a.onlineBots})]}),(0,t.jsx)(kn,{summary:a})]})]})}function Rn(e){return e.open?(0,t.jsx)("div",{id:"auth-expired-overlay",className:"auth-expired-overlay",role:"presentation",onClick:n=>{n.target===n.currentTarget&&e.onClose()},children:(0,t.jsxs)("div",{className:"auth-expired-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"auth-expired-title",children:[(0,t.jsx)("h2",{id:"auth-expired-title",children:"\u8BBF\u95EE\u94FE\u63A5\u5DF2\u5931\u6548"}),(0,t.jsx)("p",{children:"\u5F53\u524D\u94FE\u63A5/\u8BBF\u95EE\u5DF2\u5931\u6548\uFF0C\u8BF7\u4F7F\u7528\u6700\u65B0\u6388\u6743\u94FE\u63A5\u91CD\u65B0\u8FDB\u5165\uFF08\u8FD0\u884C botmux dashboard \u83B7\u53D6\uFF09\u3002"}),(0,t.jsx)("button",{id:"auth-expired-dismiss",type:"button",className:"primary",onClick:e.onClose,children:"\u77E5\u9053\u4E86"})]})}):null}function Mn(e){let n=new Date(e);if(Number.isNaN(n.getTime()))return e.slice(0,10);try{return new Intl.DateTimeFormat(g.locale==="zh"?"zh-CN":"en-US",{year:"numeric",month:"numeric",day:"numeric"}).format(n)}catch{return e.slice(0,10)}}async function Mt(){let e=await fetch("/__selfcheck",{cache:"no-store"}),n=await e.text();if(!e.ok||!n)throw new Error(s("update.healthCheckFailed"));return n}function Nn(e){let{status:n}=e,[a,r]=(0,u.useState)(!1),[o,l]=(0,u.useState)("idle"),[d,m]=(0,u.useState)(!1),[c,i]=(0,u.useState)(!1),[f,p]=(0,u.useState)(""),[E,v]=(0,u.useState)(!1),[w,R]=(0,u.useState)(!1),[x,_]=(0,u.useState)(!1),[F,te]=(0,u.useState)(!1),[K,Ie]=(0,u.useState)([]),[y,me]=(0,u.useState)(null),[C,fe]=(0,u.useState)(null),O=(0,u.useRef)(!1),V=(0,u.useRef)(null),$e=(0,u.useRef)(null),Ue=(0,u.useRef)(null),Dt=()=>{V.current!==null&&(window.clearTimeout(V.current),V.current=null)};if((0,u.useEffect)(()=>{O.current=!1,l("idle"),m(!1),i(!1),p(""),v(!1),R(!1),_(!1),te(!1),Ie([]),me(null),fe(null)},[n?.current,n?.latest]),(0,u.useEffect)(()=>{n&&i(n.versionLookupOk===!1)},[n]),(0,u.useEffect)(()=>{a||v(!1)},[a]),(0,u.useEffect)(()=>()=>Dt(),[]),(0,u.useEffect)(()=>{if(!a)return;let h=M=>{$e.current?.contains(M.target)||r(!1)},k=M=>{M.key==="Escape"&&(r(!1),Ue.current?.focus())};return document.addEventListener("pointerdown",h),document.addEventListener("keydown",k),()=>{document.removeEventListener("pointerdown",h),document.removeEventListener("keydown",k)}},[a]),!n)return null;let H=n.behind&&!!n.latest,be=!n.latest,ge=H&&n.updateSupported&&!n.localDevInstall&&n.node.ok,_e=n.updateSupported&&!n.localDevInstall&&n.node.ok,T=o==="updating"||o==="restarting",At=n.updateCommand??"botmux update",ve=`v${n.current}`,Ht=n.latest?`v${n.latest}`:"",Bt=n.localDevInstall?s("update.localDev"):n.updateSupported?n.node.ok?"":s("update.nodeWarn",{version:n.node.version,required:n.node.required}):s("update.unsupportedInstall"),Fe=h=>{let k=Date.now(),M=async()=>{try{let z=await fetch("/__selfcheck",{cache:"no-store"}),W=await z.text();if(z.ok&&W&&W!==h){location.reload();return}}catch{}if(Date.now()-k>9e4){O.current=!1,l("error"),p(s("update.restartSlow"));return}V.current=window.setTimeout(()=>{M()},2e3)};V.current=window.setTimeout(()=>{M()},3e3)},It=async()=>{if(H){if(!ge){r(!1),location.hash="#/settings";return}if(!O.current){O.current=!0,fe(null),i(!1),p("");try{let h=await Mt(),k=await Le(fetch,l);if(!k.restarted){O.current=!1,l("error"),p(s("update.restartFailed",{detail:k.restartError??"unknown"}));return}Fe(h)}catch(h){O.current=!1,l("error"),p(h instanceof Error?h.message:String(h))}}}},ye=async(h=!1)=>{if(x)return!F;_(!0),te(!1);try{let k=await fetch(`/api/update/versions${h?"?refresh=1":""}`,{cache:"no-store"}),M=await k.json().catch(()=>null);if(!M||!Array.isArray(M.versions))throw new Error("Invalid rollback versions response");let z=M.versions.filter(B=>{if(!B||typeof B!="object")return!1;let j=B;return typeof j.version=="string"&&(typeof j.publishedAt=="string"||j.publishedAt===null)}).slice(0,3);Ie(z),me(B=>z.some(j=>j.version===B)?B:null),R(!0);let W=k.ok&&M.ok===!0;return te(!W),W}catch{return R(!0),te(!0),!1}finally{_(!1)}},$t=async()=>{if(!(!y||!_e||x||O.current)){O.current=!0,fe(y),i(!1),p("");try{let h=await Mt();await Le(fetch,l,y),Fe(h)}catch(h){O.current=!1,l("error"),p(h instanceof Error?h.message:String(h))}}},Ut=async()=>{if(!(d||T)){m(!0),i(!1);try{let h=await e.onRefresh();E&&await ye(!0),i(!h)}finally{m(!1)}}},we=o==="updating"?C?s("update.rollbackInstalling",{version:C}):s("update.updating",{command:At}):o==="restarting"?C?s("update.rollbackRestarting",{version:C}):s("update.restarting"):o==="error"?C?s("update.rollbackFailed",{detail:f}):s("update.updateFailed",{detail:f}):c?s("update.topbarRefreshFailed"):H?ge?s("update.versionUpgradePrompt",{version:Ht}):Bt:n.latest?s("update.upToDate"):s("update.checkUnavailable"),_t=ge?o==="error"?s("update.topbarRetry"):o==="idle"?s("update.topbarAction"):s("update.topbarWorking"):s("update.topbarReview"),ne=o==="error"||c&&be?{className:"is-error",symbol:"!"}:H?{className:"has-update",symbol:"\u2191"}:be?{className:"is-unknown",symbol:"?"}:{className:"is-current",symbol:"\u2713"};return(0,t.jsxs)("div",{ref:$e,className:`dashboard-version-control${a?" is-open":""}`,children:[(0,t.jsxs)("button",{ref:Ue,type:"button",className:`dashboard-version-chip${H?" has-update":""}${be?" is-unknown":""}${o==="error"?" is-error":""}`,"aria-haspopup":"dialog","aria-expanded":a,"aria-label":`${ve}. ${we}`,title:we,onClick:()=>r(h=>!h),children:[(0,t.jsx)("span",{children:ve}),T?(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}):(0,t.jsx)("span",{className:`dashboard-version-state ${ne.className}`,"aria-hidden":"true",children:ne.symbol})]}),a?(0,t.jsxs)("section",{className:"dashboard-version-popover",role:"dialog","aria-modal":"false","aria-labelledby":"dashboard-version-title",children:[(0,t.jsxs)("header",{className:"dashboard-version-popover-head",children:[(0,t.jsx)("strong",{id:"dashboard-version-title",children:s("update.current")}),(0,t.jsxs)("div",{className:"dashboard-version-head-actions",children:[(0,t.jsx)("button",{type:"button",className:`dashboard-version-refresh${d?" is-refreshing":""}`,"aria-label":s(d?"update.topbarRefreshing":"update.topbarRefresh"),title:s(d?"update.topbarRefreshing":"update.topbarRefresh"),disabled:d||x||T,onClick:()=>{Ut()},children:(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M13.2 5.7A5.8 5.8 0 1 0 13 10.8"}),(0,t.jsx)("path",{d:"M13.2 2.8v2.9h-2.9"})]})}),(0,t.jsx)("button",{type:"button",className:"dashboard-version-close","aria-label":s("update.topbarClose"),onClick:()=>r(!1),children:"\xD7"})]})]}),(0,t.jsxs)("div",{className:"dashboard-version-popover-body",children:[(0,t.jsxs)("div",{className:"dashboard-version-current",children:[(0,t.jsx)("strong",{children:ve}),(0,t.jsx)("span",{className:ne.className,"aria-hidden":"true",children:T?(0,t.jsx)("span",{className:"dashboard-update-spinner"}):ne.symbol})]}),(0,t.jsx)("p",{className:`dashboard-version-message${o==="error"||c?" is-error":""}`,role:o==="error"||c?"alert":"status","aria-live":"polite",children:we}),(0,t.jsxs)("a",{className:"dashboard-version-release-link",href:"https://github.com/deepcoldy/botmux/releases",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M8 1.5a6.5 6.5 0 0 0-2.1 12.65c.33.06.45-.14.45-.32v-1.26c-1.84.4-2.23-.78-2.23-.78-.3-.76-.73-.96-.73-.96-.6-.41.05-.4.05-.4.66.05 1 .68 1 .68.59 1 1.54.72 1.92.55.06-.42.23-.72.42-.88-1.47-.17-3.02-.74-3.02-3.28 0-.72.26-1.32.68-1.78-.07-.17-.3-.84.07-1.75 0 0 .56-.18 1.79.68A6.2 6.2 0 0 1 8 4.63a6.2 6.2 0 0 1 1.71.22c1.23-.86 1.79-.68 1.79-.68.37.91.14 1.58.07 1.75.42.46.68 1.06.68 1.78 0 2.55-1.55 3.11-3.03 3.28.24.21.45.61.45 1.23v1.62c0 .18.12.38.46.32A6.5 6.5 0 0 0 8 1.5Z"})}),(0,t.jsx)("span",{children:s("update.changelogViewOnGitHub")})]}),(H||E)&&n.installs.multiple?(0,t.jsxs)("details",{className:"dashboard-version-installs",children:[(0,t.jsx)("summary",{children:s("update.multiInstallWarn")}),(0,t.jsx)("ul",{children:n.installs.entries.map(h=>(0,t.jsx)("li",{children:h.binPath},h.binPath))})]}):null,_e?(0,t.jsxs)("details",{className:"dashboard-version-rollback",open:E,"aria-busy":x,onToggle:h=>{let k=h.currentTarget.open;v(k),k&&!w&&!x&&ye()},children:[(0,t.jsxs)("summary",{children:[(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"5.5"}),(0,t.jsx)("path",{d:"M8 4.8V8l2.2 1.3"})]}),(0,t.jsx)("span",{children:s("update.rollbackTitle")}),(0,t.jsx)("span",{className:"dashboard-version-rollback-chevron","aria-hidden":"true",children:"\u2304"})]}),(0,t.jsxs)("div",{className:"dashboard-version-rollback-body",children:[x&&K.length===0?(0,t.jsxs)("p",{className:"dashboard-version-rollback-status",role:"status","aria-live":"polite",children:[(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}),s("update.rollbackLoading")]}):null,F?(0,t.jsxs)("p",{className:"dashboard-version-rollback-load-error",role:"alert",children:[(0,t.jsx)("span",{children:s("update.rollbackLoadFailed")}),(0,t.jsx)("button",{type:"button",disabled:x,onClick:()=>{ye(!0)},children:s("update.rollbackRetry")})]}):null,w&&!x&&!F&&K.length===0?(0,t.jsx)("p",{className:"dashboard-version-rollback-status",children:s("update.rollbackEmpty")}):null,K.length>0?(0,t.jsxs)("fieldset",{disabled:T||x||F,children:[(0,t.jsx)("legend",{children:s("update.rollbackHint")}),(0,t.jsx)("div",{className:"dashboard-version-rollback-options",children:K.map(h=>(0,t.jsxs)("label",{className:y===h.version?"is-selected":"",children:[(0,t.jsx)("input",{type:"radio",name:"dashboard-rollback-version",value:h.version,checked:y===h.version,onChange:()=>me(h.version)}),(0,t.jsxs)("strong",{children:["v",h.version]}),h.publishedAt?(0,t.jsx)("time",{dateTime:h.publishedAt,children:Mn(h.publishedAt)}):null]},h.version))})]}):null,y?(0,t.jsxs)("p",{id:"dashboard-version-rollback-risk",className:"dashboard-version-rollback-risk",role:"note",children:[(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M7.1 2.3 1.8 12a1 1 0 0 0 .9 1.5h10.6a1 1 0 0 0 .9-1.5L8.9 2.3a1 1 0 0 0-1.8 0Z"}),(0,t.jsx)("path",{d:"M8 5.5v3.6M8 11.6h.01"})]}),(0,t.jsxs)("span",{children:[s("update.rollbackRisk",{version:y})," ",(0,t.jsx)("a",{href:`https://github.com/deepcoldy/botmux/releases/tag/v${encodeURIComponent(y)}`,target:"_blank",rel:"noopener noreferrer","aria-label":s("update.rollbackReleaseNotesA11y",{version:y}),children:s("update.rollbackReleaseNotes",{version:y})})]})]}):null,K.length>0?(0,t.jsxs)("button",{type:"button",className:"dashboard-version-rollback-action",disabled:!y||x||F||T,"aria-describedby":y?"dashboard-version-rollback-risk":void 0,onClick:()=>{$t()},children:[T&&C?(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}):null,y?o==="error"&&C===y?s("update.rollbackRetry"):s("update.rollbackAction",{version:y}):s("update.rollbackSelect")]}):null]})]}):null]}),H&&!E&&!C?(0,t.jsxs)("footer",{className:"dashboard-version-popover-actions",children:[(0,t.jsx)("button",{type:"button",className:"dashboard-version-secondary",onClick:()=>r(!1),children:T?s("update.topbarClose"):s("update.topbarLater")}),(0,t.jsxs)("button",{type:"button",className:"dashboard-version-primary",disabled:T,onClick:()=>{It()},children:[T?(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}):null,_t]})]}):null]}):null]})}function Sn(){let e=xn(),[n,a]=(0,u.useState)(!1),[r,o]=(0,u.useState)(!1),[l,d]=(0,u.useState)(!1),m=(0,u.useRef)(e.attention),c=(0,u.useRef)(null),i=()=>{c.current!==null&&(window.clearTimeout(c.current),c.current=null)};(0,u.useEffect)(()=>{let p=()=>a(!0);return window.addEventListener(ie,p),()=>window.removeEventListener(ie,p)},[]),(0,u.useEffect)(()=>{let p=()=>o(!0);return window.addEventListener(He,p),he&&o(!0),()=>window.removeEventListener(He,p)},[]),(0,u.useEffect)(()=>()=>i(),[]),(0,u.useEffect)(()=>{let p=m.current;if(m.current=e.attention,e.attention===0){i(),d(!1);return}p!==0||document.body.classList.contains("theme-menu-open")||(d(!0),i(),c.current=window.setTimeout(()=>{c.current=null,d(!1)},4e3))},[e.attention]);let f=()=>{he=!1,o(!1)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"aurora","aria-hidden":"true",children:[(0,t.jsx)("i",{className:"a1"}),(0,t.jsx)("i",{className:"a2"}),(0,t.jsx)("i",{className:"a3"})]}),(0,t.jsxs)("div",{className:"app-shell",children:[(0,t.jsxs)("header",{className:"topbar",children:[(0,t.jsx)("div",{className:"topbar-left",children:(0,t.jsxs)("div",{className:"topbar-brand-block",children:[(0,t.jsxs)("a",{className:"brand",href:"#/",children:[(0,t.jsx)("span",{className:"brand-mark","aria-hidden":"true",children:(0,t.jsx)("img",{className:"brand-logo-img",src:"/assets/brand-logo.png",alt:"",decoding:"sync",loading:"eager",fetchPriority:"high"})}),(0,t.jsx)("strong",{className:"brand-wordmark",children:"Botmux"}),(0,t.jsx)("span",{className:"brand-product",children:"Dashboard"})]}),(0,t.jsx)(Nn,{status:Lt,onRefresh:()=>Be(!0)})]})}),(0,t.jsxs)("div",{className:"topbar-actions",children:[(0,t.jsx)(En,{summary:e,autoOpen:l}),(0,t.jsxs)("div",{className:"topbar-tool-group",children:[(0,t.jsx)("button",{type:"button",className:"topbar-locale-toggle","aria-label":g.locale==="zh"?"Switch to English":"\u5207\u6362\u5230\u4E2D\u6587",title:g.locale==="zh"?"Switch to English":"\u5207\u6362\u5230\u4E2D\u6587",onClick:()=>Tn(g.locale==="zh"?"en":"zh"),children:g.locale==="zh"?"CN":"EN"}),(0,t.jsx)(wn,{}),(0,t.jsxs)("a",{className:"topbar-docs-link",href:"https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/",target:"_blank",rel:"noopener noreferrer",title:s("nav.docs"),"aria-label":s("nav.docs"),children:[Y((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.2",y:"2.2",width:"11.6",height:"11.6",rx:"2"}),(0,t.jsx)("path",{d:"M4.8 5.2h6.4M4.8 8h6.4M4.8 10.8h4"})]})),(0,t.jsx)("span",{children:s("nav.docs")})]})]}),(0,t.jsxs)("span",{className:"topbar-owner",title:U?.name,"aria-label":U?.name??"Owner",children:[(0,t.jsx)("span",{className:"topbar-owner-placeholder","aria-hidden":"true",children:Y((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"6",r:"2.4"}),(0,t.jsx)("path",{d:"M3.7 13c.7-2.5 2.2-3.7 4.3-3.7s3.6 1.2 4.3 3.7"})]}))}),U?.avatarUrl?(0,t.jsx)("img",{className:"topbar-owner-img",src:U.avatarUrl,alt:"",decoding:"async",referrerPolicy:"no-referrer",onError:p=>{p.currentTarget.remove()}}):null]})]})]}),(0,t.jsxs)("div",{className:"chrome-body",children:[(0,t.jsxs)("aside",{className:"sidebar",children:[A?(0,t.jsxs)("div",{className:"sidebar-create-actions",children:[(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>xe(),children:[Y((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M2 3.5h12v7H6l-3 3v-3H2z"}),(0,t.jsx)("path",{d:"M8 4.9v4.2M5.9 7h4.2"})]})),(0,t.jsx)("span",{className:"sidebar-nav-label",children:s("nav.createSession")})]}),(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>{Ye()},children:[Y((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.5",y:"6",width:"11",height:"7.5",rx:"2"}),(0,t.jsx)("circle",{cx:"5.8",cy:"9.75",r:"1"}),(0,t.jsx)("circle",{cx:"10.2",cy:"9.75",r:"1"}),(0,t.jsx)("path",{d:"M8 6V3.8M6.3 1.9h3.4"})]})),(0,t.jsx)("span",{className:"sidebar-nav-label",children:s("nav.createBot")})]})]}):null,(0,t.jsx)("nav",{className:"sidebar-nav","aria-label":"Dashboard",children:fn().filter(p=>A||!p.manage).map(p=>(0,t.jsxs)("a",{href:p.href,"data-route":p.id,className:[bn(p),p.plugin?"sidebar-plugin-item":""].filter(Boolean).join(" ")||void 0,title:p.plugin?kt(p):void 0,children:[Y(p.icon),(0,t.jsx)("span",{className:"sidebar-nav-label",children:kt(p)}),p.id==="settings"&&Q?(0,t.jsx)(Xe,{className:"nav-update-tip",label:Rt(),trigger:(0,t.jsx)("span",{className:"nav-update-dot","aria-hidden":"true"}),preventClick:!1,focusable:!1,children:Rt()}):null]},p.id))})]}),(0,t.jsxs)("div",{className:"workspace",children:[(0,t.jsx)("dialog",{id:"create-session-modal",className:"create-session-modal"}),(0,t.jsx)(Ze,{open:n,onClose:()=>a(!1)}),(0,t.jsx)("main",{id:"root",ref:yn})]})]})]}),(0,t.jsx)(Rn,{open:r,onClose:f})]})}function S(){Ot?.render((0,t.jsx)(Sn,{}))}function Tn(e){g.setLocale(e),Dn(e)}var he=!1;function Ln(){he||(he=!0,window.dispatchEvent(new Event(He)))}var Ce;function On(){let e=document.getElementById("readonly-toast");e||(e=document.createElement("div"),e.id="readonly-toast",e.style.cssText="position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9999;background:var(--fg,#1f2329);color:var(--bg,#fff);padding:10px 18px;border-radius:var(--radius-lg);font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.25)",document.body.appendChild(e)),e.textContent="\u5F53\u524D\u662F\u53EA\u8BFB\u8BBF\u95EE\uFF0C\u6B64\u64CD\u4F5C\u9700\u8981\u6388\u6743\u94FE\u63A5\uFF08\u8FD0\u884C botmux dashboard \u83B7\u53D6\uFF09",e.style.display="block",Ce&&window.clearTimeout(Ce),Ce=window.setTimeout(()=>{e.style.display="none"},4e3)}var Pn=window.fetch.bind(window);window.fetch=async function(...n){let a=await Pn(...n);if(a.status===401){let r=(n[1]?.method??"GET").toUpperCase();(r==="GET"||r==="HEAD")&&!Ae?Ln():On()}return a};async function Cn(){try{let e=await fetch("/api/settings");if(e.ok){let n=await e.json();A=!!n.authed,g.authed=A,Ae=!!(n.settings&&n.settings.publicReadOnly),g.publicReadOnly=Ae;let a=Ct()??oe(n.lang);a&&g.setLocale(a)}}catch{}}async function Nt(){try{let e=await fetch("/api/plugins/dashboard");if(!e.ok)return;let n=await e.json();Z=(Array.isArray(n?.plugins)?n.plugins:[]).filter(r=>r.pinned===!0&&typeof r.route=="string").map(r=>({id:`plugin:${r.pluginId}:${r.id}`,href:r.route,label:r.displayName||r.pluginId,manage:!0,plugin:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M5.2 2.2h5.6v3.1l1.7 1.7-1.4 1.4-1-1v6.4H5.9V7.4l-1 1L3.5 7l1.7-1.7z"}),(0,t.jsx)("path",{d:"M8 13.8v1"})]})})),S()}catch{}}async function Dn(e){if(A)try{await fetch("/api/settings",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({lang:e})})}catch{}}async function Be(e=!1){if(!A)return!1;try{let n=await fetch(`/api/update/status${e?"?refresh=1":""}`,{cache:"no-store"});if(!n.ok)return!1;let a=await n.json();Lt=a;let r=Array.isArray(a.cliUpdates)?a.cliUpdates.find(o=>o?.updateAvailable===!0&&o?.latest):null;return a.behind===!0&&a.latest?(Q=!0,ue="botmux",ee=String(a.latest)):r?(Q=!0,ue="codex",ee=String(r.latest)):(Q=!1,ue=null,ee=null),S(),a.versionLookupOk!==!1}catch{return!1}}function An(e){e.innerHTML='<section class="auth-required" style="max-width:520px;margin:64px auto;text-align:center;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 36px;box-shadow:0 8px 28px rgba(0,0,0,.12)"><h2 style="margin:0 0 12px;font-size:20px;color:var(--fg)">\u6B64\u9875\u9700\u8981\u6388\u6743\u94FE\u63A5</h2><p style="margin:0 0 24px;line-height:1.7;color:var(--muted);font-size:14px">\u4F60\u5F53\u524D\u662F\u53EA\u8BFB\u8BBF\u95EE\uFF0C\u7BA1\u7406\u9875\uFF08\u7FA4\u89D2\u8272 / Profiles / Bot \u914D\u7F6E / \u56E2\u961F / Webhook\uFF09\u9700\u8981\u6388\u6743\u94FE\u63A5\u3002\u8FD0\u884C <code>botmux dashboard</code> \u83B7\u53D6\u6700\u65B0\u94FE\u63A5\u540E\u5373\u53EF\u7BA1\u7406\u3002</p><a href="#/" style="display:inline-block;padding:8px 22px;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-lg);text-decoration:none;font-size:14px">\u8FD4\u56DE\u603B\u89C8</a></section>'}async function De(){let e=lt(D),n=location.hash||"#/";if(Tt=n,S(),!A&&pn.some(a=>n.startsWith("#/"+a))){An(Oe()),D.rerenderOnUiChange=!0;return}if(n.startsWith("#/v3")){window.location.replace(`#/workflows${n.slice(4)}`);return}else if(n.startsWith("#/legacy-workflow")){window.location.replace("#/workflows");return}else if(/^#\/workflows(?:\/|-)catalog(?:[/?].*)?$/.test(n)){window.location.replace("#/workflows");return}if(n.startsWith("#/role-profiles")){window.location.replace(`#/roles/profile${n.slice(15)}`);return}try{let a=rt(n);await dt(D,e,Oe(),a?a.load:ot,{rerenderOnUiChange:a?a.rerenderOnUiChange:!1}),e===D.seq&&A&&vn()}catch(a){if(e!==D.seq||pt(a,{href:window.location.href,hash:n,getSessionStorage:()=>window.sessionStorage,reload:()=>window.location.reload()}))return;Oe().innerHTML=`<section class="page"><div class="empty">Dashboard route failed: ${Ve(String(a))}</div></section>`,D.pageDispose=null,D.rerenderOnUiChange=!0}}function Hn(){try{let e=JSON.parse(window.localStorage.getItem(Pt)??"null");if(e?.avatarUrl)return{avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0}}catch{}return null}function Bn(){U=Hn(),S(),fetch("/api/owner-profile").then(e=>e.ok?e.json():null).then(e=>{if(!(!e?.ok||!e.avatarUrl)){U={avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0};try{window.localStorage.setItem(Pt,JSON.stringify({avatarUrl:e.avatarUrl,name:e.name??""}))}catch{}S()}}).catch(()=>{})}(async()=>{g.init(),Et();let e=document.getElementById("app-root");if(!e)throw new Error("missing dashboard app root");yt(e),Ot=(0,St.createRoot)(e),S(),g.on(()=>{S(),D.rerenderOnUiChange&&De()}),re.on(()=>{S()}),await Cn(),S(),window.addEventListener(Ge,()=>{Nt()}),Nt(),Be(),window.setInterval(()=>{document.hidden||Be()},30*6e4),Bn();try{await Ke()}catch(n){console.error("botmux dashboard bootstrap failed",n),re.setOnline(!1)}We().then(S),Qe().then(S),window.addEventListener("hashchange",()=>{Et()||De()}),De()})();export{Ln as showAuthExpiredOverlay,On as showReadOnlyToast};
|