botmux 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/adapters/backend/herdr-backend.d.ts +9 -7
  2. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
  3. package/dist/adapters/backend/herdr-backend.js +63 -53
  4. package/dist/adapters/backend/herdr-backend.js.map +1 -1
  5. package/dist/adapters/backend/riff-backend.d.ts +6 -1
  6. package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
  7. package/dist/adapters/backend/riff-backend.js +7 -2
  8. package/dist/adapters/backend/riff-backend.js.map +1 -1
  9. package/dist/adapters/backend/sandbox.d.ts +20 -16
  10. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  11. package/dist/adapters/backend/sandbox.js +192 -65
  12. package/dist/adapters/backend/sandbox.js.map +1 -1
  13. package/dist/adapters/backend/tmux-backend.d.ts +39 -2
  14. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  15. package/dist/adapters/backend/tmux-backend.js +55 -5
  16. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  17. package/dist/adapters/backend/tmux-pipe-backend.js +2 -2
  18. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  19. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
  20. package/dist/adapters/backend/zellij-backend.js +9 -3
  21. package/dist/adapters/backend/zellij-backend.js.map +1 -1
  22. package/dist/adapters/cli/claude-code.d.ts +25 -0
  23. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  24. package/dist/adapters/cli/claude-code.js +79 -9
  25. package/dist/adapters/cli/claude-code.js.map +1 -1
  26. package/dist/adapters/cli/read-isolation.d.ts +2 -1
  27. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  28. package/dist/adapters/cli/read-isolation.js.map +1 -1
  29. package/dist/adapters/cli/types.d.ts +2 -2
  30. package/dist/adapters/hook-installer.d.ts +11 -0
  31. package/dist/adapters/hook-installer.d.ts.map +1 -1
  32. package/dist/adapters/hook-installer.js +72 -11
  33. package/dist/adapters/hook-installer.js.map +1 -1
  34. package/dist/cli.d.ts.map +1 -1
  35. package/dist/cli.js +15 -4
  36. package/dist/cli.js.map +1 -1
  37. package/dist/config.d.ts +6 -0
  38. package/dist/config.d.ts.map +1 -1
  39. package/dist/config.js +18 -0
  40. package/dist/config.js.map +1 -1
  41. package/dist/core/command-handler.d.ts.map +1 -1
  42. package/dist/core/command-handler.js +211 -57
  43. package/dist/core/command-handler.js.map +1 -1
  44. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  45. package/dist/core/dashboard-ipc-server.js +12 -5
  46. package/dist/core/dashboard-ipc-server.js.map +1 -1
  47. package/dist/core/dashboard-rows.d.ts +5 -0
  48. package/dist/core/dashboard-rows.d.ts.map +1 -1
  49. package/dist/core/dashboard-rows.js +2 -0
  50. package/dist/core/dashboard-rows.js.map +1 -1
  51. package/dist/core/doc-comment-prompt.d.ts +2 -0
  52. package/dist/core/doc-comment-prompt.d.ts.map +1 -1
  53. package/dist/core/doc-comment-prompt.js +30 -0
  54. package/dist/core/doc-comment-prompt.js.map +1 -1
  55. package/dist/core/github-auth.d.ts +8 -0
  56. package/dist/core/github-auth.d.ts.map +1 -0
  57. package/dist/core/github-auth.js +44 -0
  58. package/dist/core/github-auth.js.map +1 -0
  59. package/dist/core/managed-origin-capability.d.ts +7 -0
  60. package/dist/core/managed-origin-capability.d.ts.map +1 -1
  61. package/dist/core/managed-origin-capability.js +12 -0
  62. package/dist/core/managed-origin-capability.js.map +1 -1
  63. package/dist/core/passthrough-commands.d.ts.map +1 -1
  64. package/dist/core/passthrough-commands.js +1 -1
  65. package/dist/core/passthrough-commands.js.map +1 -1
  66. package/dist/core/restart-report.d.ts +7 -1
  67. package/dist/core/restart-report.d.ts.map +1 -1
  68. package/dist/core/restart-report.js +19 -5
  69. package/dist/core/restart-report.js.map +1 -1
  70. package/dist/core/session-activity.d.ts +8 -0
  71. package/dist/core/session-activity.d.ts.map +1 -1
  72. package/dist/core/session-activity.js +16 -0
  73. package/dist/core/session-activity.js.map +1 -1
  74. package/dist/core/session-discovery.d.ts.map +1 -1
  75. package/dist/core/session-discovery.js +4 -2
  76. package/dist/core/session-discovery.js.map +1 -1
  77. package/dist/core/update-check.d.ts +11 -0
  78. package/dist/core/update-check.d.ts.map +1 -1
  79. package/dist/core/update-check.js +6 -1
  80. package/dist/core/update-check.js.map +1 -1
  81. package/dist/core/vc-meeting-prepare-command.d.ts +22 -0
  82. package/dist/core/vc-meeting-prepare-command.d.ts.map +1 -0
  83. package/dist/core/vc-meeting-prepare-command.js +50 -0
  84. package/dist/core/vc-meeting-prepare-command.js.map +1 -0
  85. package/dist/core/worker-pool.d.ts.map +1 -1
  86. package/dist/core/worker-pool.js +11 -2
  87. package/dist/core/worker-pool.js.map +1 -1
  88. package/dist/daemon.d.ts +15 -5
  89. package/dist/daemon.d.ts.map +1 -1
  90. package/dist/daemon.js +555 -41
  91. package/dist/daemon.js.map +1 -1
  92. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  93. package/dist/dashboard/web/bot-defaults-page.js +6 -1
  94. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  95. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  96. package/dist/dashboard/web/i18n.js +34 -0
  97. package/dist/dashboard/web/i18n.js.map +1 -1
  98. package/dist/dashboard/web/preferences.d.ts +1 -1
  99. package/dist/dashboard/web/preferences.d.ts.map +1 -1
  100. package/dist/dashboard/web/preferences.js +1 -1
  101. package/dist/dashboard/web/preferences.js.map +1 -1
  102. package/dist/dashboard/web/sessions-page.d.ts +19 -0
  103. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  104. package/dist/dashboard/web/sessions-page.js +66 -7
  105. package/dist/dashboard/web/sessions-page.js.map +1 -1
  106. package/dist/dashboard/web/sessions.d.ts +31 -0
  107. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  108. package/dist/dashboard/web/sessions.js +82 -0
  109. package/dist/dashboard/web/sessions.js.map +1 -1
  110. package/dist/dashboard-web/app.js +1 -1
  111. package/dist/dashboard-web/chunks/{bot-defaults-page-MBORWWP7.js → bot-defaults-page-KLDCZNLP.js} +5 -5
  112. package/dist/dashboard-web/chunks/{chunk-G43RUPUN.js → chunk-EZAW2EPM.js} +1 -1
  113. package/dist/dashboard-web/chunks/{chunk-EIO5AWDA.js → chunk-FMJNOATE.js} +1 -1
  114. package/dist/dashboard-web/chunks/{chunk-4QTBR7UF.js → chunk-KEAOTUL3.js} +7 -7
  115. package/dist/dashboard-web/chunks/{chunk-7STGZ5BX.js → chunk-MLNI5BKE.js} +1 -1
  116. package/dist/dashboard-web/chunks/{connectors-page-LKDT4WBG.js → connectors-page-O32LFAL5.js} +1 -1
  117. package/dist/dashboard-web/chunks/{groups-page-XKIWJ2TP.js → groups-page-PSAFIZ6M.js} +1 -1
  118. package/dist/dashboard-web/chunks/{insights-page-CBEZCYKV.js → insights-page-V23LLATX.js} +1 -1
  119. package/dist/dashboard-web/chunks/{monitor-room-AQTHAWXA.js → monitor-room-7X5AKYOF.js} +1 -1
  120. package/dist/dashboard-web/chunks/{monitoring-page-2R4NCNBQ.js → monitoring-page-CBA3CQYL.js} +1 -1
  121. package/dist/dashboard-web/chunks/{office-page-5M6MQIIL.js → office-page-RL6QSEM7.js} +1 -1
  122. package/dist/dashboard-web/chunks/{overview-page-N22HDZ2V.js → overview-page-XQIPO6KH.js} +1 -1
  123. package/dist/dashboard-web/chunks/{roles-page-J6K2HWFX.js → roles-page-ACIWV7QS.js} +1 -1
  124. package/dist/dashboard-web/chunks/{schedules-page-CGAQCB4J.js → schedules-page-KJDUKOJV.js} +1 -1
  125. package/dist/dashboard-web/chunks/sessions-page-2WDWHSP4.js +3 -0
  126. package/dist/dashboard-web/chunks/{settings-page-GLRWV5KU.js → settings-page-6VX4OUGG.js} +1 -1
  127. package/dist/dashboard-web/chunks/{skills-page-KQVW42QU.js → skills-page-WXE3UYLT.js} +1 -1
  128. package/dist/dashboard-web/chunks/{team-federation-page-5PYUOV5M.js → team-federation-page-PYTF4FLM.js} +1 -1
  129. package/dist/dashboard-web/chunks/{v3-page-DXPFILRZ.js → v3-page-G6CD6O3I.js} +1 -1
  130. package/dist/dashboard-web/chunks/{whiteboards-page-NUH6VZ4I.js → whiteboards-page-6SG33GP4.js} +1 -1
  131. package/dist/dashboard-web/style.css +167 -2
  132. package/dist/i18n/en.d.ts.map +1 -1
  133. package/dist/i18n/en.js +18 -3
  134. package/dist/i18n/en.js.map +1 -1
  135. package/dist/i18n/zh.d.ts.map +1 -1
  136. package/dist/i18n/zh.js +18 -3
  137. package/dist/i18n/zh.js.map +1 -1
  138. package/dist/im/lark/card-builder.d.ts.map +1 -1
  139. package/dist/im/lark/card-builder.js +11 -2
  140. package/dist/im/lark/card-builder.js.map +1 -1
  141. package/dist/im/lark/event-dispatcher.d.ts +4 -0
  142. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  143. package/dist/im/lark/event-dispatcher.js +249 -5
  144. package/dist/im/lark/event-dispatcher.js.map +1 -1
  145. package/dist/im/lark/forward-followup-buffer.d.ts +26 -0
  146. package/dist/im/lark/forward-followup-buffer.d.ts.map +1 -0
  147. package/dist/im/lark/forward-followup-buffer.js +48 -0
  148. package/dist/im/lark/forward-followup-buffer.js.map +1 -0
  149. package/dist/im/lark/forward-followup-content.d.ts +6 -0
  150. package/dist/im/lark/forward-followup-content.d.ts.map +1 -0
  151. package/dist/im/lark/forward-followup-content.js +46 -0
  152. package/dist/im/lark/forward-followup-content.js.map +1 -0
  153. package/dist/im/lark/forward-followup-store.d.ts +9 -0
  154. package/dist/im/lark/forward-followup-store.d.ts.map +1 -0
  155. package/dist/im/lark/forward-followup-store.js +48 -0
  156. package/dist/im/lark/forward-followup-store.js.map +1 -0
  157. package/dist/im/lark/message-parser.d.ts +1 -1
  158. package/dist/im/lark/message-parser.d.ts.map +1 -1
  159. package/dist/im/lark/message-parser.js +1 -2
  160. package/dist/im/lark/message-parser.js.map +1 -1
  161. package/dist/platform/tunnel-client.js +3 -3
  162. package/dist/platform/tunnel-client.js.map +1 -1
  163. package/dist/services/local-cli-opener.d.ts +7 -0
  164. package/dist/services/local-cli-opener.d.ts.map +1 -1
  165. package/dist/services/local-cli-opener.js +111 -3
  166. package/dist/services/local-cli-opener.js.map +1 -1
  167. package/dist/services/skill-registry-store.d.ts.map +1 -1
  168. package/dist/services/skill-registry-store.js +15 -2
  169. package/dist/services/skill-registry-store.js.map +1 -1
  170. package/dist/services/vc-meeting-consumer-isolation.d.ts +7 -5
  171. package/dist/services/vc-meeting-consumer-isolation.d.ts.map +1 -1
  172. package/dist/services/vc-meeting-consumer-isolation.js +7 -5
  173. package/dist/services/vc-meeting-consumer-isolation.js.map +1 -1
  174. package/dist/services/vc-meeting-preparations-store.d.ts +22 -0
  175. package/dist/services/vc-meeting-preparations-store.d.ts.map +1 -0
  176. package/dist/services/vc-meeting-preparations-store.js +131 -0
  177. package/dist/services/vc-meeting-preparations-store.js.map +1 -0
  178. package/dist/services/vc-meeting-runtime-store.d.ts +9 -0
  179. package/dist/services/vc-meeting-runtime-store.d.ts.map +1 -1
  180. package/dist/services/vc-meeting-runtime-store.js +16 -0
  181. package/dist/services/vc-meeting-runtime-store.js.map +1 -1
  182. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  183. package/dist/setup/ensure-tmux.js +9 -11
  184. package/dist/setup/ensure-tmux.js.map +1 -1
  185. package/dist/utils/child-env.d.ts +16 -8
  186. package/dist/utils/child-env.d.ts.map +1 -1
  187. package/dist/utils/child-env.js +30 -8
  188. package/dist/utils/child-env.js.map +1 -1
  189. package/dist/utils/daemon-discovery.d.ts +8 -0
  190. package/dist/utils/daemon-discovery.d.ts.map +1 -1
  191. package/dist/utils/daemon-discovery.js +19 -0
  192. package/dist/utils/daemon-discovery.js.map +1 -1
  193. package/dist/utils/ready-gate.d.ts +9 -3
  194. package/dist/utils/ready-gate.d.ts.map +1 -1
  195. package/dist/utils/ready-gate.js +12 -4
  196. package/dist/utils/ready-gate.js.map +1 -1
  197. package/dist/worker.js +131 -28
  198. package/dist/worker.js.map +1 -1
  199. package/dist/workflows/ops-projection.d.ts.map +1 -1
  200. package/dist/workflows/ops-projection.js +27 -5
  201. package/dist/workflows/ops-projection.js.map +1 -1
  202. package/dist/workflows/v3/distillation-runner.d.ts +4 -0
  203. package/dist/workflows/v3/distillation-runner.d.ts.map +1 -1
  204. package/dist/workflows/v3/distillation-runner.js +4 -2
  205. package/dist/workflows/v3/distillation-runner.js.map +1 -1
  206. package/package.json +1 -1
  207. package/dist/dashboard-web/chunks/sessions-page-WJ2QYTIE.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/sessions.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAExD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGvD;AAKD,eAAO,MAAM,kBAAkB,UAA6C,CAAC;AAE7E,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1E,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAKzF,CAAC;AAEF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C;AAED,eAAO,MAAM,sBAAsB,UASlC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAKzD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAWA;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAKxD;AAMD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAMlD;AAED,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,GAAG,EACN,YAAY,GAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,GAAG,IAAuB,GAC/D,OAAO,CAGT;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAInD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAEhD;AAED,eAAO,MAAM,YAAY,4BAAsB,CAAC;AAEhD,wBAAgB,0BAA0B,CAAC,KAAK,GAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAI5G;AAKD,eAAO,MAAM,IAAI;;;;;;;;;;;;;CAahB,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAE9C;AAID,wBAAsB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CAMrD;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,GAAG,GAAG,aAAa,GAAG,IAAI,CAOrE;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAYpD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAEjD;AAED,MAAM,WAAW,SAAS;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AAElE,wBAAsB,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAe5D"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/sessions.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,88 @@ export function sessionLocationTitle(s) {
84
84
  export function sessionSearchText(s) {
85
85
  return `${JSON.stringify(s)} ${sessionLocationText(s)} ${sessionLocationTitle(s)}`.toLowerCase();
86
86
  }
87
+ function nonEmptyString(value) {
88
+ return typeof value === 'string' ? value.trim() : '';
89
+ }
90
+ function sessionTopicKind(s) {
91
+ const chatId = nonEmptyString(s?.chatId);
92
+ const rootMessageId = nonEmptyString(s?.rootMessageId);
93
+ if (s?.scope === 'chat')
94
+ return chatId ? 'chat' : 'session';
95
+ return chatId && rootMessageId ? 'thread' : 'session';
96
+ }
97
+ /** Stable location key for the current schema. Keep it separate from any
98
+ * future `collaborationId`: location and logical task identity are different
99
+ * dimensions and must not silently alias each other. */
100
+ export function sessionTopicKey(s) {
101
+ const chatId = nonEmptyString(s?.chatId);
102
+ const rootMessageId = nonEmptyString(s?.rootMessageId);
103
+ const kind = sessionTopicKind(s);
104
+ if (kind === 'thread') {
105
+ return `thread:${encodeURIComponent(chatId)}:${encodeURIComponent(rootMessageId)}`;
106
+ }
107
+ if (kind === 'chat')
108
+ return `chat:${encodeURIComponent(chatId)}`;
109
+ return `session:${encodeURIComponent(nonEmptyString(s?.sessionId) || 'unknown')}`;
110
+ }
111
+ function topicTitle(rows, fallback) {
112
+ const ordered = [...rows].sort((a, b) => Number(a?.spawnedAt ?? 0) - Number(b?.spawnedAt ?? 0));
113
+ for (const row of ordered) {
114
+ const title = nonEmptyString(row?.title);
115
+ if (title)
116
+ return title;
117
+ }
118
+ return fallback;
119
+ }
120
+ /** Group arbitrary Dashboard rows by their best available Lark conversation
121
+ * anchor. Groups and members are sorted by recent activity for deterministic
122
+ * rendering. */
123
+ export function groupSessionsByTopic(rows) {
124
+ const grouped = new Map();
125
+ for (const row of rows) {
126
+ const key = sessionTopicKey(row);
127
+ const bucket = grouped.get(key);
128
+ if (bucket)
129
+ bucket.push(row);
130
+ else
131
+ grouped.set(key, [row]);
132
+ }
133
+ const result = [];
134
+ for (const [key, members] of grouped) {
135
+ const sorted = [...members].sort((a, b) => Number(b.lastMessageAt ?? 0) - Number(a.lastMessageAt ?? 0));
136
+ const first = sorted[0] ?? {};
137
+ const kind = sessionTopicKind(first);
138
+ const chatId = nonEmptyString(first.chatId);
139
+ const rootMessageId = kind === 'thread' ? nonEmptyString(first.rootMessageId) : '';
140
+ const botIds = new Set(sorted
141
+ .map(row => nonEmptyString(row.larkAppId) || nonEmptyString(row.botName))
142
+ .filter(Boolean));
143
+ // Missing identity must not turn two sessions into a false multi-Bot
144
+ // signal. Count the group as one unknown Bot, but only claim multi-Bot
145
+ // collaboration when at least two distinct identities are present.
146
+ const botCount = Math.max(1, botIds.size);
147
+ const activeCount = sorted.filter(row => row.status !== 'closed').length;
148
+ const inferredBotInputCount = sorted.filter(row => row.lastInputFromBot === true).length;
149
+ const latestActivityAt = sorted.reduce((max, row) => Math.max(max, Number(row.lastMessageAt ?? 0)), 0);
150
+ const fallback = rootMessageId || chatId || nonEmptyString(first.sessionId) || key;
151
+ result.push({
152
+ key,
153
+ kind,
154
+ chatId,
155
+ ...(rootMessageId ? { rootMessageId } : {}),
156
+ title: topicTitle(sorted, fallback),
157
+ rows: sorted,
158
+ botCount,
159
+ activeCount,
160
+ closedCount: sorted.length - activeCount,
161
+ inferredBotInputCount,
162
+ latestActivityAt,
163
+ multiBot: botIds.size > 1,
164
+ inferredBotTriggered: inferredBotInputCount > 0,
165
+ });
166
+ }
167
+ return result.sort((a, b) => b.latestActivityAt - a.latestActivityAt || a.key.localeCompare(b.key));
168
+ }
87
169
  export const terminalHref = sessionTerminalHref;
88
170
  export function shouldOpenWritableTerminal(state = ui) {
89
171
  if (state.authed)
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/dashboard/web/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/dashboard/web/sessions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{a as xe,b as Ee}from"./chunks/chunk-7STGZ5BX.js";import{b as J}from"./chunks/chunk-SZOB6VK2.js";import{a as ge}from"./chunks/chunk-BD3PZGH2.js";import{a as z,b as ye,c as we}from"./chunks/chunk-G43RUPUN.js";import{i as be}from"./chunks/chunk-I35DXGM4.js";import{A as me,C as pe,F as fe,G as _,a as U,b as de,e as K,r as g,s as m,t as ue,u as he}from"./chunks/chunk-4QTBR7UF.js";import{a as Qe,c as Ze,d as ve}from"./chunks/chunk-5THX4DI2.js";import{c as $}from"./chunks/chunk-7SZRL6FY.js";var qe=$(Ze(),1),p=$(Qe(),1);var Q="botmux:close-theme-menu",et={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"/>'},Se=[{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"}]}],Me=Se.flatMap(e=>e.options),y=!1,O=null,H=null,tt=70,nt=120;function Y(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">${et[e]??""}</svg>`}function ot(e){return e.replace(/[&<>"]/g,n=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[n])}function Te(){let e=document.getElementById("theme-menu"),n=document.getElementById("theme-menu-btn"),o=document.getElementById("theme-menu-pop");if(!e||!n||!o||e.dataset.themeMenuInit==="1")return;e.dataset.themeMenuInit="1",o.innerHTML=Se.map(s=>`<div class="tm-group" data-label-key="${s.labelKey}"></div>`+s.options.map(u=>`<button type="button" class="tm-item" role="option" data-value="${u.value}"><span class="tm-ic">${Y(u.icon)}</span><span class="tm-label" data-label-key="${u.labelKey}"></span></button>`).join("")).join("");let r=()=>{if(!y)return;let s=n.getBoundingClientRect(),u=12,c=Math.min(Math.max(o.offsetWidth||216,216),Math.max(0,window.innerWidth-u*2)),L=u+c/2,v=window.innerWidth-u-c/2,b=s.left+s.width/2,T=Math.min(Math.max(b,L),Math.max(L,v)),X=Math.max(180,window.innerHeight-s.bottom-20);o.style.setProperty("--theme-menu-pop-left",`${Math.round(T)}px`),o.style.setProperty("--theme-menu-pop-top",`${Math.round(s.bottom+8)}px`),o.style.setProperty("--theme-menu-pop-max-height",`${Math.round(X)}px`)},a=s=>{O!=null&&(window.clearTimeout(O),O=null),H!=null&&(window.clearTimeout(H),H=null),y=s,n.setAttribute("aria-expanded",String(y)),document.body.classList.toggle("theme-menu-open",y),y?(o.hidden=!1,r(),window.requestAnimationFrame(()=>e.classList.add("open"))):(e.classList.remove("open"),H=window.setTimeout(()=>{H=null,y||(o.hidden=!0)},nt))},d=()=>a(!0),l=()=>{O==null&&(O=window.setTimeout(()=>a(!1),tt))},h=s=>{s.pointerType!=="touch"&&d()},i=s=>{s.pointerType!=="touch"&&l()};e.addEventListener("pointerenter",h),e.addEventListener("pointerleave",i),o.addEventListener("pointerenter",h),o.addEventListener("pointerleave",i),n.addEventListener("click",s=>{s.stopPropagation(),a(!y)}),n.addEventListener("focus",()=>{n.matches(":focus-visible")&&d()}),e.addEventListener("focusout",s=>{let u=s.relatedTarget;(!(u instanceof Node)||!e.contains(u))&&l()}),o.addEventListener("click",s=>{let u=s.target.closest(".tm-item");u&&(g.setTheme(u.dataset.value??"system"),a(!1))}),document.addEventListener("click",s=>{y&&!e.contains(s.target)&&a(!1)}),document.addEventListener("pointermove",s=>{if(!y||s.pointerType==="touch")return;let u=s.target;u instanceof Node&&e.contains(u)||l()}),document.addEventListener("keydown",s=>{s.key==="Escape"&&y&&a(!1)}),window.addEventListener("resize",r),window.addEventListener("scroll",r,!0),window.addEventListener(Q,()=>{y&&a(!1)}),Z()}function Z(){let e=document.getElementById("theme-menu-btn");if(!e)return;let n=Me.find(o=>o.value===g.theme)??Me[0];e.innerHTML=`<span class="tm-ic">${Y("palette")}</span><span class="tm-current">${ot(m(n.labelKey))}</span><span class="tm-chev">${Y("chevron")}</span>`,document.querySelectorAll("#theme-menu-pop [data-label-key]").forEach(o=>{o.textContent=m(o.dataset.labelKey??"")}),document.querySelectorAll("#theme-menu-pop .tm-item").forEach(o=>{o.classList.toggle("active",o.dataset.value===g.theme)})}function f(e,n,o,r,a=!1){return{id:e,routePrefix:n,rerenderOnUiChange:a,load:async()=>(await o())[r]}}var rt=[{id:"plugins",routePrefix:"#/plugins",rerenderOnUiChange:!1,load:async()=>{let e=await import("./chunks/plugin-page-7FW2LPJH.js");return n=>e.renderPluginPage(n)}},f("workflows","#/workflows",()=>import("./chunks/v3-page-DXPFILRZ.js"),"renderV3RunsPage"),f("groups","#/groups",()=>import("./chunks/groups-page-XKIWJ2TP.js"),"renderGroupsPage"),f("settings","#/settings",()=>import("./chunks/settings-page-GLRWV5KU.js"),"renderSettingsPage"),f("bot-defaults","#/bot-defaults",()=>import("./chunks/bot-defaults-page-MBORWWP7.js"),"renderBotDefaultsPage"),f("skills","#/skills",()=>import("./chunks/skills-page-KQVW42QU.js"),"renderSkillsPage"),f("connectors-logs","#/connectors/logs",()=>import("./chunks/connectors-page-LKDT4WBG.js"),"renderConnectorsLogsPage"),f("webhook-logs","#/webhook-logs",()=>import("./chunks/connectors-page-LKDT4WBG.js"),"renderConnectorsLogsPage"),f("connectors","#/connectors",()=>import("./chunks/connectors-page-LKDT4WBG.js"),"renderConnectorsPage"),f("team-manage","#/team/manage",()=>import("./chunks/team-federation-page-5PYUOV5M.js"),"renderTeamManagePage"),f("team","#/team",()=>import("./chunks/team-federation-page-5PYUOV5M.js"),"renderTeamFederationPage"),f("roles-profile","#/roles/profile",()=>import("./chunks/roles-page-J6K2HWFX.js"),"renderRoleProfilesPage"),f("roles","#/roles",()=>import("./chunks/roles-page-J6K2HWFX.js"),"renderRolesPage"),f("schedules","#/schedules",()=>import("./chunks/schedules-page-CGAQCB4J.js"),"renderSchedulesPage"),f("whiteboards","#/whiteboards",()=>import("./chunks/whiteboards-page-NUH6VZ4I.js"),"renderWhiteboardsPage"),f("monitoring","#/monitoring",()=>import("./chunks/monitoring-page-2R4NCNBQ.js"),"renderMonitoringPage"),f("sessions","#/sessions",()=>import("./chunks/sessions-page-WJ2QYTIE.js"),"renderSessionsPage"),f("monitor-room","#/monitor-room",()=>import("./chunks/monitor-room-AQTHAWXA.js"),"renderMonitorRoomPage",!0),f("office","#/office",()=>import("./chunks/office-page-5M6MQIIL.js"),"renderOfficePage"),f("insights","#/insights",()=>import("./chunks/insights-page-CBEZCYKV.js"),"renderInsightsPage")];function Le(e){return rt.find(n=>n.exact?e===n.routePrefix:e.startsWith(n.routePrefix))}async function Re(){let e=await import("./chunks/overview-page-N22HDZ2V.js");return n=>e.renderOverviewPage(n)}function ke(){return{seq:0,pageDispose:null,rerenderOnUiChange:!0}}function Oe(e){let n=++e.seq;return e.pageDispose&&(e.pageDispose(),e.pageDispose=null),n}function Ne(e,n){return n===e.seq}async function He(e,n,o,r,a={}){let d=await r();if(!Ne(e,n))return!1;let l=d(o);return Ne(e,n)?(e.pageDispose=typeof l=="function"?l:null,e.rerenderOnUiChange=a.rerenderOnUiChange??!0,!0):(typeof l=="function"&&l(),!1)}var at="botmux.dashboard.stale-chunk-reload.v1:",it=/Failed to fetch dynamically imported module|Importing a module script failed|error loading dynamically imported module|dynamically imported module/i,st=/\b(?:https?:\/\/|\/assets\/)\S+?\.js\b/;function Pe(e){return e instanceof Error?`${e.name}: ${e.message}`:String(e)}function Ce(e){return it.test(Pe(e))}function lt(e,n){let a=Pe(e).match(st)?.[0]||`${n.href}|${n.hash}`;return`${at}${a.slice(-240)}`}function ct(e,n){if(!Ce(e))return!1;let o=lt(e,n);try{if(n.sessionStorage.getItem(o)==="1")return!1;n.sessionStorage.setItem(o,"1")}catch{return!1}return n.reload(),!0}function De(e,n){if(!Ce(e))return!1;let o;try{o=n.getSessionStorage()}catch{return!1}return ct(e,{...n,sessionStorage:o})}var dt=new Set(["auto","scroll","overlay"]),W=28,x=3,R=6,Ae=!1,Ke=null,Be=new WeakMap,E=new Map,Ie=null,$e=null,ee=0,te=0,P=null;function ut(e){return e.closest("dialog[open]")??document.body}function ht(e){let n=Be.get(e);if(n?.isConnected)return n;let o=document.createElement("div");return o.className="floating-scrollbar-layer",o.setAttribute("aria-hidden","true"),e.appendChild(o),Be.set(e,o),o}function mt(e){return dt.has(e)}function ne(e,n){let o=getComputedStyle(e),r=n==="y"?o.overflowY:o.overflowX;return mt(r)?n==="y"?e.scrollHeight-e.clientHeight>1:e.scrollWidth-e.clientWidth>1:!1}function pt(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 ft(e){return[e,...Array.from(e.querySelectorAll("*"))].filter(o=>pt(o)&&(ne(o,"x")||ne(o,"y")))}function F(e){e.hideTimer!==void 0&&window.clearTimeout(e.hideTimer),e.track.remove()}function gt(e,n){let o=E.get(e);o||(o={},E.set(e,o));let r=o[n],a=ut(e),d=ht(a);if(r?.track.parentElement===d)return r;r&&F(r);let l=document.createElement("div"),h=document.createElement("div");l.className=`floating-scrollbar floating-scrollbar-${n}`,h.className="floating-scrollbar-thumb",l.appendChild(h),d.appendChild(l);let i={target:e,axis:n,track:l,thumb:h,hideTimer:void 0};return o[n]=i,i}function oe(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 vt(e){let{target:n,axis:o,track:r,thumb:a}=e,d=n.getBoundingClientRect();if(o==="y"){let L=Math.max(0,d.top+x),v=Math.min(window.innerHeight,d.bottom-x),b=Math.max(0,v-L);if(b<W||n.scrollHeight<=n.clientHeight){r.hidden=!0;return}let T=Math.max(W,Math.round(b*n.clientHeight/n.scrollHeight)),X=Math.max(1,n.scrollHeight-n.clientHeight),Ye=Math.round((b-T)*n.scrollTop/X);r.hidden=!1,r.style.left=`${Math.min(window.innerWidth-R-x,Math.max(x,d.right-R-x))}px`,r.style.top=`${L}px`,r.style.width=`${R}px`,r.style.height=`${b}px`,a.style.width="100%",a.style.height=`${T}px`,a.style.transform=`translate3d(0, ${Ye}px, 0)`;return}let l=Math.max(0,d.left+x),h=Math.min(window.innerWidth,d.right-x),i=Math.max(0,h-l);if(i<W||n.scrollWidth<=n.clientWidth){r.hidden=!0;return}let s=Math.max(W,Math.round(i*n.clientWidth/n.scrollWidth)),u=Math.max(1,n.scrollWidth-n.clientWidth),c=Math.round((i-s)*n.scrollLeft/u);r.hidden=!1,r.style.left=`${l}px`,r.style.top=`${Math.min(window.innerHeight-R-x,Math.max(x,d.bottom-R-x))}px`,r.style.width=`${i}px`,r.style.height=`${R}px`,a.style.width=`${s}px`,a.style.height="100%",a.style.transform=`translate3d(${c}px, 0, 0)`}function N(){ee||(ee=window.requestAnimationFrame(()=>{ee=0,yt()}))}function bt(){te||(te=window.setTimeout(()=>{te=0,N()},120))}function yt(){let e=Ke;if(!e)return;let n=new Set(ft(e));for(let[o,r]of E)n.has(o)||(r.x&&F(r.x),r.y&&F(r.y),E.delete(o));for(let o of n){let r=o===P;for(let a of["x","y"]){let d=E.get(o);if(!ne(o,a)){let h=d?.[a];h&&(F(h),delete d?.[a]);continue}let l=gt(o,a);vt(l),r&&oe(l,!0)}}}function wt(e){if(!(e instanceof HTMLElement))return;let n=E.get(e);if(n)for(let o of Object.values(n))o&&(o.track.classList.add("is-active"),oe(o))}function xt(e){for(let n=e;n;n=n.parentElement)if(n instanceof HTMLElement&&E.has(n))return n;return null}function Ue(e){if(P===e)return;let n=P?E.get(P):void 0;if(P=e,n)for(let r of Object.values(n))r?.track.classList.remove("is-visible");let o=e?E.get(e):void 0;if(o)for(let r of Object.values(o))r&&oe(r,!0)}function _e(e){Ae||(Ae=!0,Ke=e,document.documentElement.classList.add("floating-scrollbars-on"),Ie=typeof ResizeObserver>"u"?null:new ResizeObserver(N),Ie?.observe(e),$e=new MutationObserver(n=>{for(let o of n){let r=o.target;if(!(r instanceof Element&&r.closest(".floating-scrollbar-layer"))){bt();return}}}),$e.observe(e,{attributes:!0,attributeFilter:["class","style","hidden","open"],childList:!0,subtree:!0}),document.addEventListener("scroll",n=>{wt(n.target),N()},!0),window.addEventListener("resize",N),window.addEventListener("hashchange",N),document.addEventListener("pointermove",n=>{Ue(xt(document.elementFromPoint(n.clientX,n.clientY)))}),document.addEventListener("pointerleave",()=>Ue(null)),N())}var t=$(ve(),1),Et=["roles","role-profiles","bot-defaults","skills","plugins","team","connectors","insights","whiteboards"],C=[{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"})]})}],A=[],S=!0,le=!1,je=location.hash||"#/",k=null,B=!1,I=null,q=null,j=null,Ge=null,M=ke(),Xe="botmux.ownerAvatar.v1",Mt=new Set(["working","analyzing","active","starting"]),ce="botmux:auth-expired";function D(e){return(0,t.jsx)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:e})}function ze(e){return e.labelKey?m(e.labelKey):e.label??""}function St(e,n){let o=n||"#/";return e.id==="plugins"&&A.some(r=>r.href===o||o.startsWith(`${r.href}?`)||o.startsWith(`${r.href}/`))?!1:e.id==="sessions"&&(o==="#/monitor-room"||o.startsWith("#/monitor-room?")||o.startsWith("#/monitor-room/"))||e.id==="connectors"&&(o==="#/webhook-logs"||o.startsWith("#/webhook-logs?")||o.startsWith("#/webhook-logs/"))?!0:e.href===o||e.href!=="#/"&&(o.startsWith(`${e.href}?`)||o.startsWith(`${e.href}/`))}function Tt(){if(A.length===0)return C;let e=C.findIndex(n=>n.id==="plugins");return e<0?[...C,...A]:[...C.slice(0,e+1),...A,...C.slice(e+1)]}function Lt(e){let n=[];return St(e,je)&&n.push("active"),e.id==="settings"&&B&&n.push("nav-has-update"),n.length?n.join(" "):void 0}function Je(){let e=K(new URLSearchParams(location.search).get("locale"));if(e)return e;let n=location.hash.indexOf("?");return n<0?null:K(new URLSearchParams(location.hash.slice(n+1)).get("locale"))}function We(){let e=Je();return!e||e===g.locale?!1:(g.setLocale(e),!0)}function Rt(){let e=location.hash.indexOf("?");return e<0?null:{path:location.hash.slice(0,e)||"#/",params:new URLSearchParams(location.hash.slice(e+1))}}function Nt(){let e=Rt(),n=e?.params.get("open");if(!e||!n||n!=="bot-onboarding"&&n!=="create-session")return!1;e.params.delete("open");let o=e.params.toString();return history.replaceState(null,"",o?`${e.path}?${o}`:e.path),n==="bot-onboarding"?window.dispatchEvent(new Event(z)):J(),!0}function Fe(){let e=I?`v${I}`:"";return q==="codex"?m("update.navRuntimeBadgeTitle",{version:e}):m("update.navBadgeTitle",{version:e})}function kt(e){j=e}function re(){if(j)return j;let e=document.getElementById("root");if(!e)throw new Error("dashboard root is not mounted");return j=e,e}function Ot(){return(0,p.useEffect)(()=>{Te()},[]),(0,p.useEffect)(()=>{Z()}),(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 Ht(){let e=[...U.sessions.values()],n=e.filter(i=>i.status!=="closed"),o=n.map(i=>({s:i,reason:fe(i)})).filter(i=>!!i.reason).sort((i,s)=>_(i.s)-_(s.s)),r=new Set(o.map(i=>String(i.s.sessionId??""))),a=n.filter(i=>Mt.has(String(i.status))&&!r.has(String(i.sessionId??""))).length,d=o[0]??null,l=Ee(e).filter(i=>i.online||i.active.length>0).length,h=Math.max(0,n.length-o.length-a);return{working:a,attention:o.length,idle:h,onlineBots:l,attentionNotice:d?{count:o.length,time:he(_(d.s)),bot:pe(d.s),reason:d.reason}:null}}function V(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 Pt(e){let{attention:n,idle:o,working:r}=e.summary,a=r+n+o,d=a===0?"conic-gradient(var(--border) 0 360deg)":(()=>{let l=r/a*360,h=l+n/a*360;return`conic-gradient(var(--accent) 0 ${l}deg, var(--warning) ${l}deg ${h}deg, var(--success) ${h}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:d}}),(0,t.jsxs)("div",{className:"topbar-status-donut-center",children:[(0,t.jsx)("b",{children:a}),(0,t.jsx)("span",{children:m("overview.openSessions")})]})]})}function ae(){window.dispatchEvent(new Event(Q))}function Ct(e){let{autoOpen:n=!1,summary:o}=e,[r,a]=(0,p.useState)(!1),[d,l]=(0,p.useState)(!1),[h,i]=(0,p.useState)(!1),s=(0,p.useRef)(null),u=n&&!d,c=r||u;return(0,p.useEffect)(()=>{n||l(!1)},[n]),(0,p.useEffect)(()=>{if(!c)return;let v=b=>{let T=b.target;T instanceof Node&&s.current?.contains(T)||(a(!1),l(!0))};return document.addEventListener("pointerdown",v),()=>document.removeEventListener("pointerdown",v)},[c]),(0,t.jsxs)("div",{ref:s,className:`topbar-status-menu${u?" topbar-status-auto-open":""}${r?" is-open":""}${h?" suppress-hover":""}`,onPointerEnter:ae,onPointerLeave:()=>i(!1),onFocusCapture:ae,onBlur:v=>{let b=v.relatedTarget;(!(b instanceof Node)||!v.currentTarget.contains(b))&&a(!1)},onKeyDown:v=>{v.key==="Escape"&&(a(!1),l(!0),i(!0),v.currentTarget.querySelector("#status")?.focus())},children:[(0,t.jsx)("button",{type:"button",id:"status",className:"connection-status","aria-haspopup":"true","aria-expanded":c,onClick:()=>{if(ae(),c){a(!1),l(!0),i(!0);return}i(!1),a(!0)},children:m("overview.sessionOverview")}),(0,t.jsxs)("div",{className:"topbar-status-pop",children:[o.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:m("strip.pending",{count:o.attentionNotice.count})}),(0,t.jsx)("small",{children:m("strip.longestCompact",{time:o.attentionNotice.time,bot:o.attentionNotice.bot,reason:o.attentionNotice.reason})})]}),(0,t.jsx)("span",{className:"topbar-attention-action",children:m("strip.handle")})]}):null,(0,t.jsxs)("div",{className:"topbar-status-list",children:[(0,t.jsx)(V,{label:m("overview.workingSessions"),value:o.working}),(0,t.jsx)(V,{label:m("overview.idleSessions"),value:o.idle}),(0,t.jsx)(V,{label:m("overview.attention"),value:o.attention,hot:o.attention>0}),(0,t.jsx)(V,{label:m("overview.onlineBots"),value:o.onlineBots})]}),(0,t.jsx)(Pt,{summary:o})]})]})}function Dt(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 At(){let e=Ht(),[n,o]=(0,p.useState)(!1),[r,a]=(0,p.useState)(!1),[d,l]=(0,p.useState)(!1),h=(0,p.useRef)(e.attention),i=(0,p.useRef)(null),s=()=>{i.current!==null&&(window.clearTimeout(i.current),i.current=null)};(0,p.useEffect)(()=>{let c=()=>o(!0);return window.addEventListener(z,c),()=>window.removeEventListener(z,c)},[]),(0,p.useEffect)(()=>{let c=()=>a(!0);return window.addEventListener(ce,c),G&&a(!0),()=>window.removeEventListener(ce,c)},[]),(0,p.useEffect)(()=>()=>s(),[]),(0,p.useEffect)(()=>{let c=h.current;if(h.current=e.attention,e.attention===0){s(),l(!1);return}c!==0||document.body.classList.contains("theme-menu-open")||(l(!0),s(),i.current=window.setTimeout(()=>{i.current=null,l(!1)},4e3))},[e.attention]);let u=()=>{G=!1,a(!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)("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.jsxs)("div",{className:"topbar-actions",children:[(0,t.jsx)(Ct,{summary:e,autoOpen:d}),(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:()=>Bt(g.locale==="zh"?"en":"zh"),children:g.locale==="zh"?"CN":"EN"}),(0,t.jsx)(Ot,{}),(0,t.jsxs)("a",{className:"topbar-docs-link",href:"https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/",target:"_blank",rel:"noopener noreferrer",title:m("nav.docs"),"aria-label":m("nav.docs"),children:[D((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:m("nav.docs")})]})]}),(0,t.jsxs)("span",{className:"topbar-owner",title:k?.name,"aria-label":k?.name??"Owner",children:[(0,t.jsx)("span",{className:"topbar-owner-placeholder","aria-hidden":"true",children:D((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"})]}))}),k?.avatarUrl?(0,t.jsx)("img",{className:"topbar-owner-img",src:k.avatarUrl,alt:"",decoding:"async",referrerPolicy:"no-referrer",onError:c=>{c.currentTarget.remove()}}):null]})]})]}),(0,t.jsxs)("div",{className:"chrome-body",children:[(0,t.jsxs)("aside",{className:"sidebar",children:[S?(0,t.jsxs)("div",{className:"sidebar-create-actions",children:[(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>J(),children:[D((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:m("nav.createSession")})]}),(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>{ye()},children:[D((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:m("nav.createBot")})]})]}):null,(0,t.jsx)("nav",{className:"sidebar-nav","aria-label":"Dashboard",children:Tt().filter(c=>S||!c.manage).map(c=>(0,t.jsxs)("a",{href:c.href,"data-route":c.id,className:[Lt(c),c.plugin?"sidebar-plugin-item":""].filter(Boolean).join(" ")||void 0,title:c.plugin?ze(c):void 0,children:[D(c.icon),(0,t.jsx)("span",{className:"sidebar-nav-label",children:ze(c)}),c.id==="settings"&&B?(0,t.jsx)(be,{className:"nav-update-tip",label:Fe(),trigger:(0,t.jsx)("span",{className:"nav-update-dot","aria-hidden":"true"}),preventClick:!1,focusable:!1,children:Fe()}):null]},c.id))})]}),(0,t.jsxs)("div",{className:"workspace",children:[(0,t.jsx)("dialog",{id:"create-session-modal",className:"create-session-modal"}),(0,t.jsx)(we,{open:n,onClose:()=>o(!1)}),(0,t.jsx)("main",{id:"root",ref:kt})]})]})]}),(0,t.jsx)(Dt,{open:r,onClose:u})]})}function w(){Ge?.render((0,t.jsx)(At,{}))}function Bt(e){g.setLocale(e),_t(e)}var G=!1;function It(){G||(G=!0,window.dispatchEvent(new Event(ce)))}var ie;function $t(){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",ie&&window.clearTimeout(ie),ie=window.setTimeout(()=>{e.style.display="none"},4e3)}var Ut=window.fetch.bind(window);window.fetch=async function(...n){let o=await Ut(...n);if(o.status===401){let r=(n[1]?.method??"GET").toUpperCase();(r==="GET"||r==="HEAD")&&!le?It():$t()}return o};async function Kt(){try{let e=await fetch("/api/settings");if(e.ok){let n=await e.json();S=!!n.authed,g.authed=S,le=!!(n.settings&&n.settings.publicReadOnly),g.publicReadOnly=le;let o=Je()??K(n.lang);o&&g.setLocale(o)}}catch{}}async function Ve(){try{let e=await fetch("/api/plugins/dashboard");if(!e.ok)return;let n=await e.json();A=(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"})]})})),w()}catch{}}async function _t(e){if(S)try{await fetch("/api/settings",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({lang:e})})}catch{}}async function zt(){if(S)try{let e=await fetch("/api/update/status");if(!e.ok)return;let n=await e.json(),o=Array.isArray(n.cliUpdates)?n.cliUpdates.find(r=>r?.updateAvailable===!0&&r?.latest):null;n.behind===!0&&n.latest?(B=!0,q="botmux",I=String(n.latest)):o?(B=!0,q="codex",I=String(o.latest)):(B=!1,q=null,I=null),w()}catch{}}function Wt(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 se(){let e=Oe(M),n=location.hash||"#/";if(je=n,w(),!S&&Et.some(o=>n.startsWith("#/"+o))){Wt(re()),M.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 o=Le(n);await He(M,e,re(),o?o.load:Re,{rerenderOnUiChange:o?o.rerenderOnUiChange:!1}),e===M.seq&&S&&Nt()}catch(o){if(e!==M.seq||De(o,{href:window.location.href,hash:n,getSessionStorage:()=>window.sessionStorage,reload:()=>window.location.reload()}))return;re().innerHTML=`<section class="page"><div class="empty">Dashboard route failed: ${ue(String(o))}</div></section>`,M.pageDispose=null,M.rerenderOnUiChange=!0}}function Ft(){try{let e=JSON.parse(window.localStorage.getItem(Xe)??"null");if(e?.avatarUrl)return{avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0}}catch{}return null}function Vt(){k=Ft(),w(),fetch("/api/owner-profile").then(e=>e.ok?e.json():null).then(e=>{if(!(!e?.ok||!e.avatarUrl)){k={avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0};try{window.localStorage.setItem(Xe,JSON.stringify({avatarUrl:e.avatarUrl,name:e.name??""}))}catch{}w()}}).catch(()=>{})}(async()=>{g.init(),We();let e=document.getElementById("app-root");if(!e)throw new Error("missing dashboard app root");_e(e),Ge=(0,qe.createRoot)(e),w(),g.on(()=>{w(),M.rerenderOnUiChange&&se()}),U.on(()=>{w()}),await Kt(),w(),window.addEventListener(ge,()=>{Ve()}),Ve(),zt(),Vt();try{await de()}catch(n){console.error("botmux dashboard bootstrap failed",n),U.setOnline(!1)}me().then(w),xe().then(w),window.addEventListener("hashchange",()=>{We()||se()}),se()})();export{It as showAuthExpiredOverlay,$t as showReadOnlyToast};
1
+ import{a as xe,b as Ee}from"./chunks/chunk-MLNI5BKE.js";import{b as J}from"./chunks/chunk-SZOB6VK2.js";import{a as ge}from"./chunks/chunk-BD3PZGH2.js";import{a as z,b as ye,c as we}from"./chunks/chunk-EZAW2EPM.js";import{i as be}from"./chunks/chunk-I35DXGM4.js";import{A as me,C as pe,F as fe,G as _,a as U,b as de,e as K,r as g,s as m,t as ue,u as he}from"./chunks/chunk-KEAOTUL3.js";import{a as Qe,c as Ze,d as ve}from"./chunks/chunk-5THX4DI2.js";import{c as $}from"./chunks/chunk-7SZRL6FY.js";var qe=$(Ze(),1),p=$(Qe(),1);var Q="botmux:close-theme-menu",et={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"/>'},Se=[{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"}]}],Me=Se.flatMap(e=>e.options),y=!1,O=null,H=null,tt=70,nt=120;function Y(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">${et[e]??""}</svg>`}function ot(e){return e.replace(/[&<>"]/g,n=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[n])}function Te(){let e=document.getElementById("theme-menu"),n=document.getElementById("theme-menu-btn"),o=document.getElementById("theme-menu-pop");if(!e||!n||!o||e.dataset.themeMenuInit==="1")return;e.dataset.themeMenuInit="1",o.innerHTML=Se.map(s=>`<div class="tm-group" data-label-key="${s.labelKey}"></div>`+s.options.map(u=>`<button type="button" class="tm-item" role="option" data-value="${u.value}"><span class="tm-ic">${Y(u.icon)}</span><span class="tm-label" data-label-key="${u.labelKey}"></span></button>`).join("")).join("");let r=()=>{if(!y)return;let s=n.getBoundingClientRect(),u=12,c=Math.min(Math.max(o.offsetWidth||216,216),Math.max(0,window.innerWidth-u*2)),L=u+c/2,v=window.innerWidth-u-c/2,b=s.left+s.width/2,T=Math.min(Math.max(b,L),Math.max(L,v)),X=Math.max(180,window.innerHeight-s.bottom-20);o.style.setProperty("--theme-menu-pop-left",`${Math.round(T)}px`),o.style.setProperty("--theme-menu-pop-top",`${Math.round(s.bottom+8)}px`),o.style.setProperty("--theme-menu-pop-max-height",`${Math.round(X)}px`)},a=s=>{O!=null&&(window.clearTimeout(O),O=null),H!=null&&(window.clearTimeout(H),H=null),y=s,n.setAttribute("aria-expanded",String(y)),document.body.classList.toggle("theme-menu-open",y),y?(o.hidden=!1,r(),window.requestAnimationFrame(()=>e.classList.add("open"))):(e.classList.remove("open"),H=window.setTimeout(()=>{H=null,y||(o.hidden=!0)},nt))},d=()=>a(!0),l=()=>{O==null&&(O=window.setTimeout(()=>a(!1),tt))},h=s=>{s.pointerType!=="touch"&&d()},i=s=>{s.pointerType!=="touch"&&l()};e.addEventListener("pointerenter",h),e.addEventListener("pointerleave",i),o.addEventListener("pointerenter",h),o.addEventListener("pointerleave",i),n.addEventListener("click",s=>{s.stopPropagation(),a(!y)}),n.addEventListener("focus",()=>{n.matches(":focus-visible")&&d()}),e.addEventListener("focusout",s=>{let u=s.relatedTarget;(!(u instanceof Node)||!e.contains(u))&&l()}),o.addEventListener("click",s=>{let u=s.target.closest(".tm-item");u&&(g.setTheme(u.dataset.value??"system"),a(!1))}),document.addEventListener("click",s=>{y&&!e.contains(s.target)&&a(!1)}),document.addEventListener("pointermove",s=>{if(!y||s.pointerType==="touch")return;let u=s.target;u instanceof Node&&e.contains(u)||l()}),document.addEventListener("keydown",s=>{s.key==="Escape"&&y&&a(!1)}),window.addEventListener("resize",r),window.addEventListener("scroll",r,!0),window.addEventListener(Q,()=>{y&&a(!1)}),Z()}function Z(){let e=document.getElementById("theme-menu-btn");if(!e)return;let n=Me.find(o=>o.value===g.theme)??Me[0];e.innerHTML=`<span class="tm-ic">${Y("palette")}</span><span class="tm-current">${ot(m(n.labelKey))}</span><span class="tm-chev">${Y("chevron")}</span>`,document.querySelectorAll("#theme-menu-pop [data-label-key]").forEach(o=>{o.textContent=m(o.dataset.labelKey??"")}),document.querySelectorAll("#theme-menu-pop .tm-item").forEach(o=>{o.classList.toggle("active",o.dataset.value===g.theme)})}function f(e,n,o,r,a=!1){return{id:e,routePrefix:n,rerenderOnUiChange:a,load:async()=>(await o())[r]}}var rt=[{id:"plugins",routePrefix:"#/plugins",rerenderOnUiChange:!1,load:async()=>{let e=await import("./chunks/plugin-page-7FW2LPJH.js");return n=>e.renderPluginPage(n)}},f("workflows","#/workflows",()=>import("./chunks/v3-page-G6CD6O3I.js"),"renderV3RunsPage"),f("groups","#/groups",()=>import("./chunks/groups-page-PSAFIZ6M.js"),"renderGroupsPage"),f("settings","#/settings",()=>import("./chunks/settings-page-6VX4OUGG.js"),"renderSettingsPage"),f("bot-defaults","#/bot-defaults",()=>import("./chunks/bot-defaults-page-KLDCZNLP.js"),"renderBotDefaultsPage"),f("skills","#/skills",()=>import("./chunks/skills-page-WXE3UYLT.js"),"renderSkillsPage"),f("connectors-logs","#/connectors/logs",()=>import("./chunks/connectors-page-O32LFAL5.js"),"renderConnectorsLogsPage"),f("webhook-logs","#/webhook-logs",()=>import("./chunks/connectors-page-O32LFAL5.js"),"renderConnectorsLogsPage"),f("connectors","#/connectors",()=>import("./chunks/connectors-page-O32LFAL5.js"),"renderConnectorsPage"),f("team-manage","#/team/manage",()=>import("./chunks/team-federation-page-PYTF4FLM.js"),"renderTeamManagePage"),f("team","#/team",()=>import("./chunks/team-federation-page-PYTF4FLM.js"),"renderTeamFederationPage"),f("roles-profile","#/roles/profile",()=>import("./chunks/roles-page-ACIWV7QS.js"),"renderRoleProfilesPage"),f("roles","#/roles",()=>import("./chunks/roles-page-ACIWV7QS.js"),"renderRolesPage"),f("schedules","#/schedules",()=>import("./chunks/schedules-page-KJDUKOJV.js"),"renderSchedulesPage"),f("whiteboards","#/whiteboards",()=>import("./chunks/whiteboards-page-6SG33GP4.js"),"renderWhiteboardsPage"),f("monitoring","#/monitoring",()=>import("./chunks/monitoring-page-CBA3CQYL.js"),"renderMonitoringPage"),f("sessions","#/sessions",()=>import("./chunks/sessions-page-2WDWHSP4.js"),"renderSessionsPage"),f("monitor-room","#/monitor-room",()=>import("./chunks/monitor-room-7X5AKYOF.js"),"renderMonitorRoomPage",!0),f("office","#/office",()=>import("./chunks/office-page-RL6QSEM7.js"),"renderOfficePage"),f("insights","#/insights",()=>import("./chunks/insights-page-V23LLATX.js"),"renderInsightsPage")];function Le(e){return rt.find(n=>n.exact?e===n.routePrefix:e.startsWith(n.routePrefix))}async function Re(){let e=await import("./chunks/overview-page-XQIPO6KH.js");return n=>e.renderOverviewPage(n)}function ke(){return{seq:0,pageDispose:null,rerenderOnUiChange:!0}}function Oe(e){let n=++e.seq;return e.pageDispose&&(e.pageDispose(),e.pageDispose=null),n}function Ne(e,n){return n===e.seq}async function He(e,n,o,r,a={}){let d=await r();if(!Ne(e,n))return!1;let l=d(o);return Ne(e,n)?(e.pageDispose=typeof l=="function"?l:null,e.rerenderOnUiChange=a.rerenderOnUiChange??!0,!0):(typeof l=="function"&&l(),!1)}var at="botmux.dashboard.stale-chunk-reload.v1:",it=/Failed to fetch dynamically imported module|Importing a module script failed|error loading dynamically imported module|dynamically imported module/i,st=/\b(?:https?:\/\/|\/assets\/)\S+?\.js\b/;function Pe(e){return e instanceof Error?`${e.name}: ${e.message}`:String(e)}function Ce(e){return it.test(Pe(e))}function lt(e,n){let a=Pe(e).match(st)?.[0]||`${n.href}|${n.hash}`;return`${at}${a.slice(-240)}`}function ct(e,n){if(!Ce(e))return!1;let o=lt(e,n);try{if(n.sessionStorage.getItem(o)==="1")return!1;n.sessionStorage.setItem(o,"1")}catch{return!1}return n.reload(),!0}function De(e,n){if(!Ce(e))return!1;let o;try{o=n.getSessionStorage()}catch{return!1}return ct(e,{...n,sessionStorage:o})}var dt=new Set(["auto","scroll","overlay"]),W=28,x=3,R=6,Ae=!1,Ke=null,Be=new WeakMap,E=new Map,Ie=null,$e=null,ee=0,te=0,P=null;function ut(e){return e.closest("dialog[open]")??document.body}function ht(e){let n=Be.get(e);if(n?.isConnected)return n;let o=document.createElement("div");return o.className="floating-scrollbar-layer",o.setAttribute("aria-hidden","true"),e.appendChild(o),Be.set(e,o),o}function mt(e){return dt.has(e)}function ne(e,n){let o=getComputedStyle(e),r=n==="y"?o.overflowY:o.overflowX;return mt(r)?n==="y"?e.scrollHeight-e.clientHeight>1:e.scrollWidth-e.clientWidth>1:!1}function pt(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 ft(e){return[e,...Array.from(e.querySelectorAll("*"))].filter(o=>pt(o)&&(ne(o,"x")||ne(o,"y")))}function F(e){e.hideTimer!==void 0&&window.clearTimeout(e.hideTimer),e.track.remove()}function gt(e,n){let o=E.get(e);o||(o={},E.set(e,o));let r=o[n],a=ut(e),d=ht(a);if(r?.track.parentElement===d)return r;r&&F(r);let l=document.createElement("div"),h=document.createElement("div");l.className=`floating-scrollbar floating-scrollbar-${n}`,h.className="floating-scrollbar-thumb",l.appendChild(h),d.appendChild(l);let i={target:e,axis:n,track:l,thumb:h,hideTimer:void 0};return o[n]=i,i}function oe(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 vt(e){let{target:n,axis:o,track:r,thumb:a}=e,d=n.getBoundingClientRect();if(o==="y"){let L=Math.max(0,d.top+x),v=Math.min(window.innerHeight,d.bottom-x),b=Math.max(0,v-L);if(b<W||n.scrollHeight<=n.clientHeight){r.hidden=!0;return}let T=Math.max(W,Math.round(b*n.clientHeight/n.scrollHeight)),X=Math.max(1,n.scrollHeight-n.clientHeight),Ye=Math.round((b-T)*n.scrollTop/X);r.hidden=!1,r.style.left=`${Math.min(window.innerWidth-R-x,Math.max(x,d.right-R-x))}px`,r.style.top=`${L}px`,r.style.width=`${R}px`,r.style.height=`${b}px`,a.style.width="100%",a.style.height=`${T}px`,a.style.transform=`translate3d(0, ${Ye}px, 0)`;return}let l=Math.max(0,d.left+x),h=Math.min(window.innerWidth,d.right-x),i=Math.max(0,h-l);if(i<W||n.scrollWidth<=n.clientWidth){r.hidden=!0;return}let s=Math.max(W,Math.round(i*n.clientWidth/n.scrollWidth)),u=Math.max(1,n.scrollWidth-n.clientWidth),c=Math.round((i-s)*n.scrollLeft/u);r.hidden=!1,r.style.left=`${l}px`,r.style.top=`${Math.min(window.innerHeight-R-x,Math.max(x,d.bottom-R-x))}px`,r.style.width=`${i}px`,r.style.height=`${R}px`,a.style.width=`${s}px`,a.style.height="100%",a.style.transform=`translate3d(${c}px, 0, 0)`}function N(){ee||(ee=window.requestAnimationFrame(()=>{ee=0,yt()}))}function bt(){te||(te=window.setTimeout(()=>{te=0,N()},120))}function yt(){let e=Ke;if(!e)return;let n=new Set(ft(e));for(let[o,r]of E)n.has(o)||(r.x&&F(r.x),r.y&&F(r.y),E.delete(o));for(let o of n){let r=o===P;for(let a of["x","y"]){let d=E.get(o);if(!ne(o,a)){let h=d?.[a];h&&(F(h),delete d?.[a]);continue}let l=gt(o,a);vt(l),r&&oe(l,!0)}}}function wt(e){if(!(e instanceof HTMLElement))return;let n=E.get(e);if(n)for(let o of Object.values(n))o&&(o.track.classList.add("is-active"),oe(o))}function xt(e){for(let n=e;n;n=n.parentElement)if(n instanceof HTMLElement&&E.has(n))return n;return null}function Ue(e){if(P===e)return;let n=P?E.get(P):void 0;if(P=e,n)for(let r of Object.values(n))r?.track.classList.remove("is-visible");let o=e?E.get(e):void 0;if(o)for(let r of Object.values(o))r&&oe(r,!0)}function _e(e){Ae||(Ae=!0,Ke=e,document.documentElement.classList.add("floating-scrollbars-on"),Ie=typeof ResizeObserver>"u"?null:new ResizeObserver(N),Ie?.observe(e),$e=new MutationObserver(n=>{for(let o of n){let r=o.target;if(!(r instanceof Element&&r.closest(".floating-scrollbar-layer"))){bt();return}}}),$e.observe(e,{attributes:!0,attributeFilter:["class","style","hidden","open"],childList:!0,subtree:!0}),document.addEventListener("scroll",n=>{wt(n.target),N()},!0),window.addEventListener("resize",N),window.addEventListener("hashchange",N),document.addEventListener("pointermove",n=>{Ue(xt(document.elementFromPoint(n.clientX,n.clientY)))}),document.addEventListener("pointerleave",()=>Ue(null)),N())}var t=$(ve(),1),Et=["roles","role-profiles","bot-defaults","skills","plugins","team","connectors","insights","whiteboards"],C=[{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"})]})}],A=[],S=!0,le=!1,je=location.hash||"#/",k=null,B=!1,I=null,q=null,j=null,Ge=null,M=ke(),Xe="botmux.ownerAvatar.v1",Mt=new Set(["working","analyzing","active","starting"]),ce="botmux:auth-expired";function D(e){return(0,t.jsx)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:e})}function ze(e){return e.labelKey?m(e.labelKey):e.label??""}function St(e,n){let o=n||"#/";return e.id==="plugins"&&A.some(r=>r.href===o||o.startsWith(`${r.href}?`)||o.startsWith(`${r.href}/`))?!1:e.id==="sessions"&&(o==="#/monitor-room"||o.startsWith("#/monitor-room?")||o.startsWith("#/monitor-room/"))||e.id==="connectors"&&(o==="#/webhook-logs"||o.startsWith("#/webhook-logs?")||o.startsWith("#/webhook-logs/"))?!0:e.href===o||e.href!=="#/"&&(o.startsWith(`${e.href}?`)||o.startsWith(`${e.href}/`))}function Tt(){if(A.length===0)return C;let e=C.findIndex(n=>n.id==="plugins");return e<0?[...C,...A]:[...C.slice(0,e+1),...A,...C.slice(e+1)]}function Lt(e){let n=[];return St(e,je)&&n.push("active"),e.id==="settings"&&B&&n.push("nav-has-update"),n.length?n.join(" "):void 0}function Je(){let e=K(new URLSearchParams(location.search).get("locale"));if(e)return e;let n=location.hash.indexOf("?");return n<0?null:K(new URLSearchParams(location.hash.slice(n+1)).get("locale"))}function We(){let e=Je();return!e||e===g.locale?!1:(g.setLocale(e),!0)}function Rt(){let e=location.hash.indexOf("?");return e<0?null:{path:location.hash.slice(0,e)||"#/",params:new URLSearchParams(location.hash.slice(e+1))}}function Nt(){let e=Rt(),n=e?.params.get("open");if(!e||!n||n!=="bot-onboarding"&&n!=="create-session")return!1;e.params.delete("open");let o=e.params.toString();return history.replaceState(null,"",o?`${e.path}?${o}`:e.path),n==="bot-onboarding"?window.dispatchEvent(new Event(z)):J(),!0}function Fe(){let e=I?`v${I}`:"";return q==="codex"?m("update.navRuntimeBadgeTitle",{version:e}):m("update.navBadgeTitle",{version:e})}function kt(e){j=e}function re(){if(j)return j;let e=document.getElementById("root");if(!e)throw new Error("dashboard root is not mounted");return j=e,e}function Ot(){return(0,p.useEffect)(()=>{Te()},[]),(0,p.useEffect)(()=>{Z()}),(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 Ht(){let e=[...U.sessions.values()],n=e.filter(i=>i.status!=="closed"),o=n.map(i=>({s:i,reason:fe(i)})).filter(i=>!!i.reason).sort((i,s)=>_(i.s)-_(s.s)),r=new Set(o.map(i=>String(i.s.sessionId??""))),a=n.filter(i=>Mt.has(String(i.status))&&!r.has(String(i.sessionId??""))).length,d=o[0]??null,l=Ee(e).filter(i=>i.online||i.active.length>0).length,h=Math.max(0,n.length-o.length-a);return{working:a,attention:o.length,idle:h,onlineBots:l,attentionNotice:d?{count:o.length,time:he(_(d.s)),bot:pe(d.s),reason:d.reason}:null}}function V(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 Pt(e){let{attention:n,idle:o,working:r}=e.summary,a=r+n+o,d=a===0?"conic-gradient(var(--border) 0 360deg)":(()=>{let l=r/a*360,h=l+n/a*360;return`conic-gradient(var(--accent) 0 ${l}deg, var(--warning) ${l}deg ${h}deg, var(--success) ${h}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:d}}),(0,t.jsxs)("div",{className:"topbar-status-donut-center",children:[(0,t.jsx)("b",{children:a}),(0,t.jsx)("span",{children:m("overview.openSessions")})]})]})}function ae(){window.dispatchEvent(new Event(Q))}function Ct(e){let{autoOpen:n=!1,summary:o}=e,[r,a]=(0,p.useState)(!1),[d,l]=(0,p.useState)(!1),[h,i]=(0,p.useState)(!1),s=(0,p.useRef)(null),u=n&&!d,c=r||u;return(0,p.useEffect)(()=>{n||l(!1)},[n]),(0,p.useEffect)(()=>{if(!c)return;let v=b=>{let T=b.target;T instanceof Node&&s.current?.contains(T)||(a(!1),l(!0))};return document.addEventListener("pointerdown",v),()=>document.removeEventListener("pointerdown",v)},[c]),(0,t.jsxs)("div",{ref:s,className:`topbar-status-menu${u?" topbar-status-auto-open":""}${r?" is-open":""}${h?" suppress-hover":""}`,onPointerEnter:ae,onPointerLeave:()=>i(!1),onFocusCapture:ae,onBlur:v=>{let b=v.relatedTarget;(!(b instanceof Node)||!v.currentTarget.contains(b))&&a(!1)},onKeyDown:v=>{v.key==="Escape"&&(a(!1),l(!0),i(!0),v.currentTarget.querySelector("#status")?.focus())},children:[(0,t.jsx)("button",{type:"button",id:"status",className:"connection-status","aria-haspopup":"true","aria-expanded":c,onClick:()=>{if(ae(),c){a(!1),l(!0),i(!0);return}i(!1),a(!0)},children:m("overview.sessionOverview")}),(0,t.jsxs)("div",{className:"topbar-status-pop",children:[o.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:m("strip.pending",{count:o.attentionNotice.count})}),(0,t.jsx)("small",{children:m("strip.longestCompact",{time:o.attentionNotice.time,bot:o.attentionNotice.bot,reason:o.attentionNotice.reason})})]}),(0,t.jsx)("span",{className:"topbar-attention-action",children:m("strip.handle")})]}):null,(0,t.jsxs)("div",{className:"topbar-status-list",children:[(0,t.jsx)(V,{label:m("overview.workingSessions"),value:o.working}),(0,t.jsx)(V,{label:m("overview.idleSessions"),value:o.idle}),(0,t.jsx)(V,{label:m("overview.attention"),value:o.attention,hot:o.attention>0}),(0,t.jsx)(V,{label:m("overview.onlineBots"),value:o.onlineBots})]}),(0,t.jsx)(Pt,{summary:o})]})]})}function Dt(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 At(){let e=Ht(),[n,o]=(0,p.useState)(!1),[r,a]=(0,p.useState)(!1),[d,l]=(0,p.useState)(!1),h=(0,p.useRef)(e.attention),i=(0,p.useRef)(null),s=()=>{i.current!==null&&(window.clearTimeout(i.current),i.current=null)};(0,p.useEffect)(()=>{let c=()=>o(!0);return window.addEventListener(z,c),()=>window.removeEventListener(z,c)},[]),(0,p.useEffect)(()=>{let c=()=>a(!0);return window.addEventListener(ce,c),G&&a(!0),()=>window.removeEventListener(ce,c)},[]),(0,p.useEffect)(()=>()=>s(),[]),(0,p.useEffect)(()=>{let c=h.current;if(h.current=e.attention,e.attention===0){s(),l(!1);return}c!==0||document.body.classList.contains("theme-menu-open")||(l(!0),s(),i.current=window.setTimeout(()=>{i.current=null,l(!1)},4e3))},[e.attention]);let u=()=>{G=!1,a(!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)("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.jsxs)("div",{className:"topbar-actions",children:[(0,t.jsx)(Ct,{summary:e,autoOpen:d}),(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:()=>Bt(g.locale==="zh"?"en":"zh"),children:g.locale==="zh"?"CN":"EN"}),(0,t.jsx)(Ot,{}),(0,t.jsxs)("a",{className:"topbar-docs-link",href:"https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/",target:"_blank",rel:"noopener noreferrer",title:m("nav.docs"),"aria-label":m("nav.docs"),children:[D((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:m("nav.docs")})]})]}),(0,t.jsxs)("span",{className:"topbar-owner",title:k?.name,"aria-label":k?.name??"Owner",children:[(0,t.jsx)("span",{className:"topbar-owner-placeholder","aria-hidden":"true",children:D((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"})]}))}),k?.avatarUrl?(0,t.jsx)("img",{className:"topbar-owner-img",src:k.avatarUrl,alt:"",decoding:"async",referrerPolicy:"no-referrer",onError:c=>{c.currentTarget.remove()}}):null]})]})]}),(0,t.jsxs)("div",{className:"chrome-body",children:[(0,t.jsxs)("aside",{className:"sidebar",children:[S?(0,t.jsxs)("div",{className:"sidebar-create-actions",children:[(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>J(),children:[D((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:m("nav.createSession")})]}),(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>{ye()},children:[D((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:m("nav.createBot")})]})]}):null,(0,t.jsx)("nav",{className:"sidebar-nav","aria-label":"Dashboard",children:Tt().filter(c=>S||!c.manage).map(c=>(0,t.jsxs)("a",{href:c.href,"data-route":c.id,className:[Lt(c),c.plugin?"sidebar-plugin-item":""].filter(Boolean).join(" ")||void 0,title:c.plugin?ze(c):void 0,children:[D(c.icon),(0,t.jsx)("span",{className:"sidebar-nav-label",children:ze(c)}),c.id==="settings"&&B?(0,t.jsx)(be,{className:"nav-update-tip",label:Fe(),trigger:(0,t.jsx)("span",{className:"nav-update-dot","aria-hidden":"true"}),preventClick:!1,focusable:!1,children:Fe()}):null]},c.id))})]}),(0,t.jsxs)("div",{className:"workspace",children:[(0,t.jsx)("dialog",{id:"create-session-modal",className:"create-session-modal"}),(0,t.jsx)(we,{open:n,onClose:()=>o(!1)}),(0,t.jsx)("main",{id:"root",ref:kt})]})]})]}),(0,t.jsx)(Dt,{open:r,onClose:u})]})}function w(){Ge?.render((0,t.jsx)(At,{}))}function Bt(e){g.setLocale(e),_t(e)}var G=!1;function It(){G||(G=!0,window.dispatchEvent(new Event(ce)))}var ie;function $t(){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",ie&&window.clearTimeout(ie),ie=window.setTimeout(()=>{e.style.display="none"},4e3)}var Ut=window.fetch.bind(window);window.fetch=async function(...n){let o=await Ut(...n);if(o.status===401){let r=(n[1]?.method??"GET").toUpperCase();(r==="GET"||r==="HEAD")&&!le?It():$t()}return o};async function Kt(){try{let e=await fetch("/api/settings");if(e.ok){let n=await e.json();S=!!n.authed,g.authed=S,le=!!(n.settings&&n.settings.publicReadOnly),g.publicReadOnly=le;let o=Je()??K(n.lang);o&&g.setLocale(o)}}catch{}}async function Ve(){try{let e=await fetch("/api/plugins/dashboard");if(!e.ok)return;let n=await e.json();A=(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"})]})})),w()}catch{}}async function _t(e){if(S)try{await fetch("/api/settings",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({lang:e})})}catch{}}async function zt(){if(S)try{let e=await fetch("/api/update/status");if(!e.ok)return;let n=await e.json(),o=Array.isArray(n.cliUpdates)?n.cliUpdates.find(r=>r?.updateAvailable===!0&&r?.latest):null;n.behind===!0&&n.latest?(B=!0,q="botmux",I=String(n.latest)):o?(B=!0,q="codex",I=String(o.latest)):(B=!1,q=null,I=null),w()}catch{}}function Wt(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 se(){let e=Oe(M),n=location.hash||"#/";if(je=n,w(),!S&&Et.some(o=>n.startsWith("#/"+o))){Wt(re()),M.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 o=Le(n);await He(M,e,re(),o?o.load:Re,{rerenderOnUiChange:o?o.rerenderOnUiChange:!1}),e===M.seq&&S&&Nt()}catch(o){if(e!==M.seq||De(o,{href:window.location.href,hash:n,getSessionStorage:()=>window.sessionStorage,reload:()=>window.location.reload()}))return;re().innerHTML=`<section class="page"><div class="empty">Dashboard route failed: ${ue(String(o))}</div></section>`,M.pageDispose=null,M.rerenderOnUiChange=!0}}function Ft(){try{let e=JSON.parse(window.localStorage.getItem(Xe)??"null");if(e?.avatarUrl)return{avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0}}catch{}return null}function Vt(){k=Ft(),w(),fetch("/api/owner-profile").then(e=>e.ok?e.json():null).then(e=>{if(!(!e?.ok||!e.avatarUrl)){k={avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0};try{window.localStorage.setItem(Xe,JSON.stringify({avatarUrl:e.avatarUrl,name:e.name??""}))}catch{}w()}}).catch(()=>{})}(async()=>{g.init(),We();let e=document.getElementById("app-root");if(!e)throw new Error("missing dashboard app root");_e(e),Ge=(0,qe.createRoot)(e),w(),g.on(()=>{w(),M.rerenderOnUiChange&&se()}),U.on(()=>{w()}),await Kt(),w(),window.addEventListener(ge,()=>{Ve()}),Ve(),zt(),Vt();try{await de()}catch(n){console.error("botmux dashboard bootstrap failed",n),U.setOnline(!1)}me().then(w),xe().then(w),window.addEventListener("hashchange",()=>{We()||se()}),se()})();export{It as showAuthExpiredOverlay,$t as showReadOnlyToast};