botmux 2.62.0 → 2.63.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 (128) hide show
  1. package/dist/config.d.ts +12 -0
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +12 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/core/command-handler.d.ts.map +1 -1
  6. package/dist/core/command-handler.js +5 -1
  7. package/dist/core/command-handler.js.map +1 -1
  8. package/dist/core/dashboard-rows.d.ts +11 -0
  9. package/dist/core/dashboard-rows.d.ts.map +1 -1
  10. package/dist/core/dashboard-rows.js +4 -0
  11. package/dist/core/dashboard-rows.js.map +1 -1
  12. package/dist/core/session-activity.d.ts +16 -0
  13. package/dist/core/session-activity.d.ts.map +1 -1
  14. package/dist/core/session-activity.js +35 -0
  15. package/dist/core/session-activity.js.map +1 -1
  16. package/dist/core/trigger-session.d.ts.map +1 -1
  17. package/dist/core/trigger-session.js +9 -10
  18. package/dist/core/trigger-session.js.map +1 -1
  19. package/dist/core/worker-pool.d.ts.map +1 -1
  20. package/dist/core/worker-pool.js +3 -0
  21. package/dist/core/worker-pool.js.map +1 -1
  22. package/dist/daemon.d.ts.map +1 -1
  23. package/dist/daemon.js +8 -1
  24. package/dist/daemon.js.map +1 -1
  25. package/dist/dashboard/auth.d.ts +6 -0
  26. package/dist/dashboard/auth.d.ts.map +1 -1
  27. package/dist/dashboard/auth.js +33 -12
  28. package/dist/dashboard/auth.js.map +1 -1
  29. package/dist/dashboard/connector-api.d.ts.map +1 -1
  30. package/dist/dashboard/connector-api.js +22 -17
  31. package/dist/dashboard/connector-api.js.map +1 -1
  32. package/dist/dashboard/public-redact.d.ts +16 -0
  33. package/dist/dashboard/public-redact.d.ts.map +1 -0
  34. package/dist/dashboard/public-redact.js +62 -0
  35. package/dist/dashboard/public-redact.js.map +1 -0
  36. package/dist/dashboard/web/app.d.ts +1 -0
  37. package/dist/dashboard/web/app.d.ts.map +1 -1
  38. package/dist/dashboard/web/app.js +171 -25
  39. package/dist/dashboard/web/app.js.map +1 -1
  40. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  41. package/dist/dashboard/web/bot-defaults.js +136 -64
  42. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  43. package/dist/dashboard/web/connectors.d.ts.map +1 -1
  44. package/dist/dashboard/web/connectors.js +120 -25
  45. package/dist/dashboard/web/connectors.js.map +1 -1
  46. package/dist/dashboard/web/cyber-fx.d.ts +6 -0
  47. package/dist/dashboard/web/cyber-fx.d.ts.map +1 -0
  48. package/dist/dashboard/web/cyber-fx.js +289 -0
  49. package/dist/dashboard/web/cyber-fx.js.map +1 -0
  50. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  51. package/dist/dashboard/web/i18n.js +146 -8
  52. package/dist/dashboard/web/i18n.js.map +1 -1
  53. package/dist/dashboard/web/overview.d.ts.map +1 -1
  54. package/dist/dashboard/web/overview.js +206 -48
  55. package/dist/dashboard/web/overview.js.map +1 -1
  56. package/dist/dashboard/web/preferences.d.ts +16 -0
  57. package/dist/dashboard/web/preferences.d.ts.map +1 -1
  58. package/dist/dashboard/web/preferences.js +72 -1
  59. package/dist/dashboard/web/preferences.js.map +1 -1
  60. package/dist/dashboard/web/roles.js +3 -3
  61. package/dist/dashboard/web/roles.js.map +1 -1
  62. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  63. package/dist/dashboard/web/sessions.js +404 -64
  64. package/dist/dashboard/web/sessions.js.map +1 -1
  65. package/dist/dashboard/web/settings.d.ts +2 -0
  66. package/dist/dashboard/web/settings.d.ts.map +1 -0
  67. package/dist/dashboard/web/settings.js +135 -0
  68. package/dist/dashboard/web/settings.js.map +1 -0
  69. package/dist/dashboard/web/skin-intro.d.ts +4 -0
  70. package/dist/dashboard/web/skin-intro.d.ts.map +1 -0
  71. package/dist/dashboard/web/skin-intro.js +49 -0
  72. package/dist/dashboard/web/skin-intro.js.map +1 -0
  73. package/dist/dashboard/web/team-federation.js +4 -4
  74. package/dist/dashboard/web/team-federation.js.map +1 -1
  75. package/dist/dashboard/web/theme-menu.d.ts +3 -0
  76. package/dist/dashboard/web/theme-menu.d.ts.map +1 -0
  77. package/dist/dashboard/web/theme-menu.js +97 -0
  78. package/dist/dashboard/web/theme-menu.js.map +1 -0
  79. package/dist/dashboard/web/ui.d.ts +16 -2
  80. package/dist/dashboard/web/ui.d.ts.map +1 -1
  81. package/dist/dashboard/web/ui.js +137 -7
  82. package/dist/dashboard/web/ui.js.map +1 -1
  83. package/dist/dashboard/webhook-routes.d.ts +1 -5
  84. package/dist/dashboard/webhook-routes.d.ts.map +1 -1
  85. package/dist/dashboard/webhook-routes.js +127 -76
  86. package/dist/dashboard/webhook-routes.js.map +1 -1
  87. package/dist/dashboard-web/app.js +704 -512
  88. package/dist/dashboard-web/index.html +19 -14
  89. package/dist/dashboard-web/skins/bluearchive-hero.webp +0 -0
  90. package/dist/dashboard-web/skins/dragonball-goku.webp +0 -0
  91. package/dist/dashboard-web/skins/dragonball-wukong.webp +0 -0
  92. package/dist/dashboard-web/skins/fallout-vaultboy.webp +0 -0
  93. package/dist/dashboard-web/skins/genshin-breeze.webp +0 -0
  94. package/dist/dashboard-web/skins/ikun-hero.webp +0 -0
  95. package/dist/dashboard-web/skins/prts-priestess.webp +0 -0
  96. package/dist/dashboard-web/skins/zzz-hero.webp +0 -0
  97. package/dist/dashboard-web/skins/zzz-pattern.svg +25 -0
  98. package/dist/dashboard-web/style.css +2870 -16
  99. package/dist/dashboard.js +91 -31
  100. package/dist/dashboard.js.map +1 -1
  101. package/dist/global-config.d.ts +15 -0
  102. package/dist/global-config.d.ts.map +1 -1
  103. package/dist/global-config.js +51 -2
  104. package/dist/global-config.js.map +1 -1
  105. package/dist/im/lark/card-builder.d.ts.map +1 -1
  106. package/dist/im/lark/card-builder.js +17 -3
  107. package/dist/im/lark/card-builder.js.map +1 -1
  108. package/dist/im/lark/card-handler.d.ts.map +1 -1
  109. package/dist/im/lark/card-handler.js +5 -0
  110. package/dist/im/lark/card-handler.js.map +1 -1
  111. package/dist/services/connector-store.d.ts +2 -3
  112. package/dist/services/connector-store.d.ts.map +1 -1
  113. package/dist/services/connector-store.js.map +1 -1
  114. package/dist/services/trigger-types.d.ts +1 -0
  115. package/dist/services/trigger-types.d.ts.map +1 -1
  116. package/dist/services/trigger-types.js.map +1 -1
  117. package/dist/services/webhook-lifecycle-extractors.d.ts +4 -13
  118. package/dist/services/webhook-lifecycle-extractors.d.ts.map +1 -1
  119. package/dist/services/webhook-lifecycle-extractors.js +8 -23
  120. package/dist/services/webhook-lifecycle-extractors.js.map +1 -1
  121. package/dist/utils/screen-analyzer.d.ts +8 -0
  122. package/dist/utils/screen-analyzer.d.ts.map +1 -1
  123. package/dist/utils/screen-analyzer.js +32 -11
  124. package/dist/utils/screen-analyzer.js.map +1 -1
  125. package/dist/workflows/trigger-from-envelope.d.ts.map +1 -1
  126. package/dist/workflows/trigger-from-envelope.js +1 -0
  127. package/dist/workflows/trigger-from-envelope.js.map +1 -1
  128. package/package.json +2 -2
@@ -52,15 +52,7 @@ function normalizeLifecycleExtractors(v) {
52
52
  const r = v;
53
53
  if (typeof r.dedupKey !== 'string' || !r.dedupKey.trim())
54
54
  return null;
55
- if (typeof r.status !== 'string' || !r.status.trim())
56
- return null;
57
- const rawMap = record(r.statusMap);
58
- const statusMap = Object.fromEntries(Object.entries(rawMap).filter((e) => typeof e[1] === 'string'));
59
- return {
60
- dedupKey: r.dedupKey.trim(),
61
- status: r.status.trim(),
62
- ...(Object.keys(statusMap).length > 0 ? { statusMap } : {}),
63
- };
55
+ return { dedupKey: r.dedupKey.trim() };
64
56
  }
65
57
  function normalizeConnectorInput(raw, opts) {
66
58
  const body = record(raw);
@@ -94,23 +86,25 @@ function normalizeConnectorInput(raw, opts) {
94
86
  const workflowId = typeof target.workflowId === 'string' && target.workflowId.trim() ? target.workflowId.trim() : prior?.target.workflowId;
95
87
  if (targetKind === 'workflow' && !workflowId)
96
88
  return { ok: false, error: 'workflow_id_required' };
89
+ // Dedup is now OPTIONAL for new-group (null = a fresh group per event).
97
90
  const lifecycleExtractors = c.lifecycleExtractors === undefined
98
91
  ? (prior?.lifecycleExtractors ?? null)
99
92
  : normalizeLifecycleExtractors(c.lifecycleExtractors);
100
- if (targetMode === 'new-group' && !lifecycleExtractors) {
101
- return { ok: false, error: 'lifecycle_extractors_required' };
102
- }
103
93
  const secretRef = opts.secretRef ||
104
94
  (typeof verify.secretRef === 'string' && verify.secretRef.trim() ? verify.secretRef.trim() : prior?.verify.secretRef);
105
95
  if (!secretRef)
106
96
  return { ok: false, error: 'secret_required' };
97
+ // Default new connectors to the easy `token` mode; HMAC is the advanced opt-in.
98
+ const verifyType = verify.type === 'hmac-sha256' || verify.type === 'token'
99
+ ? verify.type
100
+ : prior?.verify.type ?? 'token';
107
101
  const now = new Date().toISOString();
108
102
  const next = {
109
103
  id,
110
104
  name,
111
105
  enabled: bool(c.enabled, prior?.enabled ?? true),
112
106
  verify: {
113
- type: 'hmac-sha256',
107
+ type: verifyType,
114
108
  secretRef,
115
109
  signatureHeader: typeof verify.signatureHeader === 'string' && verify.signatureHeader.trim()
116
110
  ? verify.signatureHeader.trim().toLowerCase()
@@ -141,6 +135,11 @@ function normalizeConnectorInput(raw, opts) {
141
135
  : prior?.promptEnvelope.headerAllowlist ?? [],
142
136
  includeRawText: bool(promptEnvelope.includeRawText, prior?.promptEnvelope.includeRawText ?? false),
143
137
  maxBodyBytes: positiveInt(promptEnvelope.maxBodyBytes, prior?.promptEnvelope.maxBodyBytes ?? 256 * 1024, 1, 10 * 1024 * 1024),
138
+ // A provided string sets/clears the trusted instruction (empty = clear);
139
+ // when the field is absent entirely, keep whatever the prior had.
140
+ ...(typeof promptEnvelope.instruction === 'string'
141
+ ? (promptEnvelope.instruction.trim() ? { instruction: promptEnvelope.instruction.trim().slice(0, 8000) } : {})
142
+ : prior?.promptEnvelope.instruction ? { instruction: prior.promptEnvelope.instruction } : {}),
144
143
  },
145
144
  loggingPolicy: {
146
145
  storePayload: bool(loggingPolicy.storePayload, prior?.loggingPolicy.storePayload ?? false),
@@ -159,10 +158,12 @@ function normalizeConnectorInput(raw, opts) {
159
158
  };
160
159
  return { ok: true, connector: next };
161
160
  }
162
- function publicWebhookUrl(req, connectorId) {
161
+ function publicWebhookUrl(req, connectorId, token) {
163
162
  const proto = typeof req.headers['x-forwarded-proto'] === 'string' ? req.headers['x-forwarded-proto'] : 'http';
164
163
  const host = req.headers.host ?? 'localhost';
165
- return `${proto}://${host}/webhook/${encodeURIComponent(connectorId)}`;
164
+ const base = `${proto}://${host}/webhook/${encodeURIComponent(connectorId)}`;
165
+ // token mode: bake the secret into the path so the whole URL is the credential.
166
+ return token ? `${base}/${encodeURIComponent(token)}` : base;
166
167
  }
167
168
  export async function handleConnectorApi(req, res, url) {
168
169
  if (req.method === 'GET' && url.pathname === '/api/connectors') {
@@ -237,12 +238,13 @@ export async function handleConnectorApi(req, res, url) {
237
238
  return true;
238
239
  }
239
240
  const connector = upsertConnector(normalized.connector);
241
+ const plaintext = providedSecret ?? generatedSecret;
240
242
  jsonRes(res, 201, {
241
243
  ok: true,
242
244
  connector,
243
245
  secretRef: record.ref,
244
246
  ...(generatedSecret ? { secret: generatedSecret } : {}),
245
- webhookUrl: publicWebhookUrl(req, connector.id),
247
+ webhookUrl: publicWebhookUrl(req, connector.id, connector.verify.type === 'token' ? plaintext : undefined),
246
248
  });
247
249
  }
248
250
  catch (e) {
@@ -263,14 +265,17 @@ export async function handleConnectorApi(req, res, url) {
263
265
  const body = await readJsonBody(req);
264
266
  let generatedSecret;
265
267
  let secretRef;
268
+ let plaintextForUrl;
266
269
  if (typeof body.secret === 'string' && body.secret) {
267
270
  secretRef = prior.verify.secretRef || createWebhookSecret(body.secret).ref;
268
271
  setWebhookSecret(secretRef, body.secret);
272
+ plaintextForUrl = body.secret;
269
273
  }
270
274
  else if (body.rotateSecret === true) {
271
275
  generatedSecret = generateWebhookSecretPlaintext();
272
276
  secretRef = prior.verify.secretRef || createWebhookSecret(generatedSecret).ref;
273
277
  setWebhookSecret(secretRef, generatedSecret);
278
+ plaintextForUrl = generatedSecret;
274
279
  }
275
280
  const normalized = normalizeConnectorInput({ ...body, id }, { id, prior, secretRef });
276
281
  if (!normalized.ok) {
@@ -283,7 +288,7 @@ export async function handleConnectorApi(req, res, url) {
283
288
  connector,
284
289
  ...(secretRef ? { secretRef } : {}),
285
290
  ...(generatedSecret ? { secret: generatedSecret } : {}),
286
- webhookUrl: publicWebhookUrl(req, connector.id),
291
+ webhookUrl: publicWebhookUrl(req, connector.id, connector.verify.type === 'token' ? plaintextForUrl : undefined),
287
292
  });
288
293
  }
289
294
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"connector-api.js","sourceRoot":"","sources":["../../src/dashboard/connector-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector-api.js","sourceRoot":"","sources":["../../src/dashboard/connector-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /** Project a `/api/groups` chats array down to the public, board-only fields
2
+ * for anonymous visitors. Explicit ALLOW-LIST (fail-closed): a chat field that
3
+ * isn't named here never reaches an anon visitor, so management/config metadata
4
+ * doesn't ride along. Dropped: `description`, `ownerId` (group config/PII),
5
+ * `hasRole` (leaks the role/persona existence matrix even though the roles
6
+ * page is token-gated), `oncallChat` (carries workingDir), `error`,
7
+ * `firstSeenAt`. Kept: chat `chatId/name/chatMode` (name-map) and
8
+ * `memberBots[].larkAppId/botName/inChat` (roster). Returns a new array; never
9
+ * mutates the input. */
10
+ export declare function redactGroupsForPublic(chats: unknown[]): unknown[];
11
+ /** Drop `prompt` (business instructions) and `workingDir` (repo/customer path)
12
+ * from `/api/schedules` rows for anonymous visitors. Returns a new array; never
13
+ * mutates the input. Name / timing / status fields are preserved so the
14
+ * read-only schedules view still renders. */
15
+ export declare function redactSchedulesForPublic(schedules: unknown[]): unknown[];
16
+ //# sourceMappingURL=public-redact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-redact.d.ts","sourceRoot":"","sources":["../../src/dashboard/public-redact.ts"],"names":[],"mappings":"AAgBA;;;;;;;;yBAQyB;AACzB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAmBjE;AAED;;;8CAG8C;AAC9C,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAOxE"}
@@ -0,0 +1,62 @@
1
+ // src/dashboard/public-redact.ts
2
+ //
3
+ // Anonymous (tokenless) shaping of read-only dashboard payloads served when
4
+ // `config.dashboard.publicReadOnly` is on. Pure + side-effect free so they can
5
+ // be unit-tested without standing up the dashboard server (dashboard.ts starts
6
+ // an HTTP listener on import).
7
+ //
8
+ // The public "watch work" board only needs NAMES + status. Two read endpoints
9
+ // embed real filesystem / business content that an anonymous visitor must not
10
+ // see, so each gets a redactor here:
11
+ // - /api/groups → memberBots[].oncallChat = { chatId, workingDir }
12
+ // - /api/schedules → row carries `prompt` (business instructions) + `workingDir`
13
+ // Both `workingDir`s are repo / customer-project paths; stripping them keeps
14
+ // the board functional (name-map, timing, status) while not leaking bound dirs
15
+ // — and keeps the "/api/bots oncall config is private" boundary honest.
16
+ /** Project a `/api/groups` chats array down to the public, board-only fields
17
+ * for anonymous visitors. Explicit ALLOW-LIST (fail-closed): a chat field that
18
+ * isn't named here never reaches an anon visitor, so management/config metadata
19
+ * doesn't ride along. Dropped: `description`, `ownerId` (group config/PII),
20
+ * `hasRole` (leaks the role/persona existence matrix even though the roles
21
+ * page is token-gated), `oncallChat` (carries workingDir), `error`,
22
+ * `firstSeenAt`. Kept: chat `chatId/name/chatMode` (name-map) and
23
+ * `memberBots[].larkAppId/botName/inChat` (roster). Returns a new array; never
24
+ * mutates the input. */
25
+ export function redactGroupsForPublic(chats) {
26
+ if (!Array.isArray(chats))
27
+ return chats;
28
+ return chats.map((c) => {
29
+ if (!c || typeof c !== 'object')
30
+ return c;
31
+ const chat = c;
32
+ const out = {
33
+ chatId: chat.chatId,
34
+ name: chat.name,
35
+ chatMode: chat.chatMode,
36
+ };
37
+ if (Array.isArray(chat.memberBots)) {
38
+ out.memberBots = chat.memberBots.map((mb) => {
39
+ if (!mb || typeof mb !== 'object')
40
+ return mb;
41
+ const m = mb;
42
+ return { larkAppId: m.larkAppId, botName: m.botName, inChat: m.inChat };
43
+ });
44
+ }
45
+ return out;
46
+ });
47
+ }
48
+ /** Drop `prompt` (business instructions) and `workingDir` (repo/customer path)
49
+ * from `/api/schedules` rows for anonymous visitors. Returns a new array; never
50
+ * mutates the input. Name / timing / status fields are preserved so the
51
+ * read-only schedules view still renders. */
52
+ export function redactSchedulesForPublic(schedules) {
53
+ if (!Array.isArray(schedules))
54
+ return schedules;
55
+ return schedules.map((s) => {
56
+ if (!s || typeof s !== 'object')
57
+ return s;
58
+ const { prompt: _prompt, workingDir: _workingDir, ...rest } = s;
59
+ return rest;
60
+ });
61
+ }
62
+ //# sourceMappingURL=public-redact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-redact.js","sourceRoot":"","sources":["../../src/dashboard/public-redact.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,+BAA+B;AAC/B,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,qCAAqC;AACrC,uEAAuE;AACvE,mFAAmF;AACnF,6EAA6E;AAC7E,+EAA+E;AAC/E,wEAAwE;AAExE;;;;;;;;yBAQyB;AACzB,MAAM,UAAU,qBAAqB,CAAC,KAAgB;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,CAA4B,CAAC;QAC1C,MAAM,GAAG,GAA4B;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC1C,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;oBAAE,OAAO,EAAE,CAAC;gBAC7C,MAAM,CAAC,GAAG,EAA6B,CAAC;gBACxC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;8CAG8C;AAC9C,MAAM,UAAU,wBAAwB,CAAC,SAAoB;IAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,CAA4B,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export declare function showAuthExpiredOverlay(): void;
2
+ export declare function showReadOnlyToast(): void;
2
3
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/app.ts"],"names":[],"mappings":"AAuBA,wBAAgB,sBAAsB,IAAI,IAAI,CAoB7C"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/app.ts"],"names":[],"mappings":"AAsCA,wBAAgB,sBAAsB,IAAI,IAAI,CA0B7C;AAQD,wBAAgB,iBAAiB,IAAI,IAAI,CAexC"}
@@ -8,14 +8,28 @@ import { renderBotDefaultsPage } from './bot-defaults.js';
8
8
  import { renderRolesPage } from './roles.js';
9
9
  import { renderTeamFederationPage, renderTeamManagePage } from './team-federation.js';
10
10
  import { renderConnectorsPage } from './connectors.js';
11
+ import { renderSettingsPage } from './settings.js';
11
12
  import { renderWorkflowsPage } from './workflows.js';
12
13
  import { renderWorkflowCatalogPage } from './workflow-catalog.js';
13
14
  import { wireBotOnboardingButton } from './bot-onboarding.js';
14
- import { t, ui } from './ui.js';
15
+ import { attentionReason, botDisplayName, escapeHtml, loadNameMaps, relTime, t, ui } from './ui.js';
16
+ import { initThemeMenu, paintThemeMenu } from './theme-menu.js';
15
17
  const root = document.getElementById('root');
18
+ // Resolved once at bootstrap from GET /api/settings:
19
+ // - `isAuthed` → gates the management nav + route guards
20
+ // - `publicReadOnly` → decides whether a read 401 is a hard lockout (token
21
+ // rotated → blocking overlay) or just a read-only
22
+ // visitor touching a token-gated page (soft toast).
23
+ // Defaults keep the authed / legacy UX if the probe fails.
24
+ let isAuthed = true;
25
+ let publicReadOnly = false;
26
+ // Management pages are token-gated end-to-end (no public GET) — a read-only
27
+ // visitor must not reach them. `data-route` values from index.html's nav.
28
+ const MANAGE_ROUTES = ['roles', 'bot-defaults', 'team', 'connectors'];
16
29
  // ── Auth-expiry overlay ──────────────────────────────────────────────────────
17
- // Any 401 from an API call means the dashboard token was rotated (a new access
18
- // link was generated). Show a blocking overlay so the user knows to switch tabs.
30
+ // Shown only when the dashboard token was rotated WHILE public read-only is off
31
+ // (a real hard lockout). Under public read-only a 401 is a soft toast instead
32
+ // (see patchedFetch) — so this no longer fires for read-only visitors.
19
33
  let _expiredShown = false;
20
34
  export function showAuthExpiredOverlay() {
21
35
  if (_expiredShown)
@@ -27,37 +41,169 @@ export function showAuthExpiredOverlay() {
27
41
  'position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;' +
28
42
  'align-items:center;justify-content:center;z-index:9999';
29
43
  el.innerHTML =
30
- '<div style="background:var(--card,#fff);color:var(--text,#1f2329);border-radius:12px;' +
44
+ '<div style="background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:12px;' +
31
45
  'padding:36px 40px;max-width:460px;width:90vw;text-align:center;' +
32
46
  'box-shadow:0 12px 40px rgba(0,0,0,.35)">' +
33
- '<h2 style="margin:0 0 14px;font-size:19px">访问链接已失效</h2>' +
47
+ '<h2 style="margin:0 0 14px;font-size:19px;color:var(--fg)">访问链接已失效</h2>' +
34
48
  '<p style="margin:0 0 24px;line-height:1.7;color:var(--muted,#8f959e);font-size:14px">' +
35
- '当前链接/访问已失效,请使用最新授权链接重新进入。<br>最好关闭当前页。</p>' +
36
- '<button onclick="window.close()" ' +
37
- 'style="padding:8px 22px;background:var(--accent,#3370ff);color:#fff;border:none;' +
38
- 'border-radius:8px;cursor:pointer;font-size:14px">关闭此页</button>' +
49
+ '当前链接/访问已失效,请使用最新授权链接重新进入(运行 botmux dashboard 获取)。</p>' +
50
+ '<button id="auth-expired-dismiss" type="button" ' +
51
+ 'style="padding:8px 22px;background:var(--accent);color:var(--on-accent);border:none;' +
52
+ 'border-radius:8px;cursor:pointer;font-size:14px">知道了</button>' +
39
53
  '</div>';
40
54
  document.body.appendChild(el);
55
+ // `window.close()` can't close a tab the user opened, so the old inline
56
+ // onclick was a dead button (overlay got stuck). Dismiss the overlay instead,
57
+ // and let it reappear on the next genuine 401.
58
+ const dismiss = () => { el.remove(); _expiredShown = false; };
59
+ el.querySelector('#auth-expired-dismiss')?.addEventListener('click', dismiss);
60
+ el.addEventListener('click', (e) => { if (e.target === el)
61
+ dismiss(); });
41
62
  }
42
- // Patch the global fetch so every 401 from any API call triggers the overlay.
43
- // Public routes (static shell, read-only workflow API) never return 401, so any
44
- // 401 we see means the session token was rotated while this tab was open.
63
+ // ── Read-only toast (write attempt without a valid token) ───────────────────
64
+ // In public read-only mode browsing GETs never 401, but a write action
65
+ // (close session, cancel run, …) without the active token does. That's not
66
+ // "your link died" — it's "you're a read-only visitor", so show a transient
67
+ // toast instead of the blocking overlay.
68
+ let _roToastTimer;
69
+ export function showReadOnlyToast() {
70
+ let el = document.getElementById('readonly-toast');
71
+ if (!el) {
72
+ el = document.createElement('div');
73
+ el.id = 'readonly-toast';
74
+ el.style.cssText =
75
+ 'position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9999;' +
76
+ 'background:var(--fg,#1f2329);color:var(--bg,#fff);padding:10px 18px;' +
77
+ 'border-radius:8px;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.25)';
78
+ document.body.appendChild(el);
79
+ }
80
+ el.textContent = '当前是只读访问,此操作需要授权链接(运行 botmux dashboard 获取)';
81
+ el.style.display = 'block';
82
+ if (_roToastTimer)
83
+ window.clearTimeout(_roToastTimer);
84
+ _roToastTimer = window.setTimeout(() => { el.style.display = 'none'; }, 4000);
85
+ }
86
+ // Patch the global fetch to route 401s: a read (GET/HEAD) 401 means the token
87
+ // was rotated while this tab was open (only possible when public read-only
88
+ // mode is off) → blocking overlay; a write 401 means "read-only visitor" →
89
+ // transient toast.
45
90
  const _origFetch = window.fetch.bind(window);
46
91
  window.fetch = async function patchedFetch(...args) {
47
92
  const res = await _origFetch(...args);
48
- if (res.status === 401)
49
- showAuthExpiredOverlay();
93
+ if (res.status === 401) {
94
+ const method = (args[1]?.method ?? 'GET').toUpperCase();
95
+ const isRead = method === 'GET' || method === 'HEAD';
96
+ // A read 401 is a hard lockout (token rotated → blocking overlay) ONLY when
97
+ // public read-only is off. Under public read-only a read 401 just means a
98
+ // tokenless visitor touched a token-gated page → soft toast, never the
99
+ // stuck overlay. Writes are always a soft "needs the active token".
100
+ if (isRead && !publicReadOnly)
101
+ showAuthExpiredOverlay();
102
+ else
103
+ showReadOnlyToast();
104
+ }
50
105
  return res;
51
106
  };
107
+ // ── 全局 attention strip ─────────────────────────────────────────────────────
108
+ // 「需要你」是全局最高优先级:不管在哪个页面,待处理数和最久等待项都常驻
109
+ // 顶部一条琥珀色 strip,点「立即处理」跳到会话页(needs-you 列置顶)。
110
+ let lastStripHtml = '';
111
+ function paintAttentionStrip() {
112
+ const el = document.getElementById('attention-strip');
113
+ if (!el)
114
+ return;
115
+ const pending = [...store.sessions.values()]
116
+ .map(s => ({ s, reason: attentionReason(s) }))
117
+ .filter((x) => !!x.reason)
118
+ .sort((a, b) => Number(a.s.lastMessageAt ?? 0) - Number(b.s.lastMessageAt ?? 0));
119
+ if (pending.length === 0) {
120
+ el.hidden = true;
121
+ el.innerHTML = '';
122
+ lastStripHtml = '';
123
+ return;
124
+ }
125
+ const longest = pending[0];
126
+ const html = `
127
+ <span class="attention-strip-ic" aria-hidden="true">!</span>
128
+ <b>${escapeHtml(t('strip.pending', { count: pending.length }))}</b>
129
+ <span class="attention-strip-longest">${escapeHtml(t('strip.longest', {
130
+ time: relTime(longest.s.lastMessageAt),
131
+ bot: botDisplayName(longest.s),
132
+ reason: longest.reason,
133
+ }))}</span>
134
+ <a class="attention-strip-go" href="#/sessions">${escapeHtml(t('strip.handle'))}</a>`;
135
+ el.hidden = false;
136
+ // 内容没变就不重写 — innerHTML 重建会把 strip-pulse 动画打回起点(视觉跳变)
137
+ if (html === lastStripHtml)
138
+ return;
139
+ lastStripHtml = html;
140
+ el.innerHTML = html;
141
+ }
142
+ store.on(paintAttentionStrip);
143
+ // bot 友好名异步解析回来后刷一次 strip(页面级重绘由各 mount 自己处理)
144
+ void loadNameMaps().then(paintAttentionStrip);
145
+ // Resolve the read-only/authed state from /api/settings (authed reflects the
146
+ // cookie; publicReadOnly is the global toggle). Errors keep the authed default
147
+ // so a transient probe failure never hides nav from a real token holder.
148
+ async function loadAuthState() {
149
+ try {
150
+ const r = await fetch('/api/settings');
151
+ if (r.ok) {
152
+ const j = await r.json();
153
+ isAuthed = !!j.authed;
154
+ publicReadOnly = !!(j.settings && j.settings.publicReadOnly);
155
+ }
156
+ }
157
+ catch { /* keep defaults */ }
158
+ }
159
+ // Read-only visitors can't use the management pages (all token-gated), so hide
160
+ // their nav entries + the add-bot action instead of luring them into a 401.
161
+ function applyAuthVisibility() {
162
+ for (const r of MANAGE_ROUTES) {
163
+ const a = document.querySelector(`.sidebar-nav a[data-route="${r}"]`);
164
+ if (a)
165
+ a.style.display = isAuthed ? '' : 'none';
166
+ }
167
+ const addBot = document.getElementById('add-bot-btn');
168
+ if (addBot)
169
+ addBot.style.display = isAuthed ? '' : 'none';
170
+ }
171
+ function renderAuthRequiredPage(host) {
172
+ host.innerHTML =
173
+ '<section class="auth-required" style="max-width:520px;margin:64px auto;text-align:center;' +
174
+ 'background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:14px;' +
175
+ 'padding:40px 36px;box-shadow:0 8px 28px rgba(0,0,0,.12)">' +
176
+ '<h2 style="margin:0 0 12px;font-size:20px;color:var(--fg)">此页需要授权链接</h2>' +
177
+ '<p style="margin:0 0 24px;line-height:1.7;color:var(--muted);font-size:14px">' +
178
+ '你当前是只读访问,管理页(角色 / Bot 配置 / 团队 / 接入点)需要授权链接。' +
179
+ '运行 <code>botmux dashboard</code> 获取最新链接后即可管理。</p>' +
180
+ '<a href="#/" style="display:inline-block;padding:8px 22px;background:var(--accent);' +
181
+ 'color:var(--on-accent);border-radius:8px;text-decoration:none;font-size:14px">返回总览</a>' +
182
+ '</section>';
183
+ }
52
184
  // Pages that own a polling loop / cleanup return a disposer; we run it
53
185
  // on the next route switch so timers don't leak across navigations.
54
186
  let pageDispose = null;
187
+ function highlightNav(hash) {
188
+ for (const a of document.querySelectorAll('.sidebar-nav a')) {
189
+ const href = a.getAttribute('href') ?? '#/';
190
+ a.classList.toggle('active', href === (hash || '#/'));
191
+ }
192
+ }
55
193
  function route() {
56
194
  if (pageDispose) {
57
195
  pageDispose();
58
196
  pageDispose = null;
59
197
  }
60
198
  const hash = location.hash || '#/';
199
+ // Read-only hard-guard: a tokenless visitor hitting a management route gets a
200
+ // friendly notice instead of a page that fires a 401 (which used to pop a
201
+ // stuck "link expired" overlay).
202
+ if (!isAuthed && MANAGE_ROUTES.some(r => hash.startsWith('#/' + r))) {
203
+ renderAuthRequiredPage(root);
204
+ highlightNav(hash);
205
+ return;
206
+ }
61
207
  // Catalog is a sub-route under Workflows now (`#/workflows/catalog[/<id>]`)
62
208
  // so the top nav has a single "Workflows (beta)" entry. Legacy
63
209
  // `#/workflows-catalog[*]` URLs are kept working for any external links
@@ -70,6 +216,8 @@ function route() {
70
216
  pageDispose = renderWorkflowsPage(root);
71
217
  else if (hash.startsWith('#/groups'))
72
218
  renderGroupsPage(root);
219
+ else if (hash.startsWith('#/settings'))
220
+ void renderSettingsPage(root);
73
221
  else if (hash.startsWith('#/bot-defaults'))
74
222
  renderBotDefaultsPage(root);
75
223
  else if (hash.startsWith('#/connectors'))
@@ -86,11 +234,7 @@ function route() {
86
234
  renderSessionsPage(root);
87
235
  else
88
236
  void renderOverviewPage(root);
89
- // active nav highlighting
90
- for (const a of document.querySelectorAll('.sidebar-nav a')) {
91
- const href = a.getAttribute('href') ?? '#/';
92
- a.classList.toggle('active', href === (hash || '#/'));
93
- }
237
+ highlightNav(hash);
94
238
  }
95
239
  const statusEl = document.getElementById('status');
96
240
  function paintStatus() {
@@ -107,18 +251,14 @@ function paintChrome() {
107
251
  document.querySelectorAll('[data-locale]').forEach(btn => {
108
252
  btn.classList.toggle('active', btn.dataset.locale === ui.locale);
109
253
  });
110
- document.querySelectorAll('[data-theme-mode]').forEach(btn => {
111
- btn.classList.toggle('active', btn.dataset.themeMode === ui.themeMode);
112
- });
254
+ paintThemeMenu();
113
255
  paintStatus();
114
256
  }
115
257
  function wireChromeControls() {
116
258
  document.querySelectorAll('[data-locale]').forEach(btn => {
117
259
  btn.onclick = () => ui.setLocale(btn.dataset.locale);
118
260
  });
119
- document.querySelectorAll('[data-theme-mode]').forEach(btn => {
120
- btn.onclick = () => ui.setThemeMode(btn.dataset.themeMode);
121
- });
261
+ initThemeMenu();
122
262
  }
123
263
  // esbuild's IIFE bundle does not support top-level await — use an async IIFE.
124
264
  void (async () => {
@@ -127,9 +267,15 @@ void (async () => {
127
267
  wireBotOnboardingButton();
128
268
  ui.on(() => {
129
269
  paintChrome();
270
+ paintAttentionStrip();
130
271
  route();
131
272
  });
132
273
  paintChrome();
274
+ paintAttentionStrip();
275
+ // Resolve authed/publicReadOnly BEFORE first render so the management nav is
276
+ // hidden and route guards are active for read-only visitors from frame one.
277
+ await loadAuthState();
278
+ applyAuthVisibility();
133
279
  try {
134
280
  await bootstrap();
135
281
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/dashboard/web/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/dashboard/web/app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bot-defaults.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/bot-defaults.ts"],"names":[],"mappings":"AA8DA,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,WAAW,iBAinB5D"}
1
+ {"version":3,"file":"bot-defaults.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/bot-defaults.ts"],"names":[],"mappings":"AA8EA,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,WAAW,iBA0qB5D"}