@keyou007/agent-bot 0.1.21 → 0.1.23

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 (53) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +16 -2
  3. package/README.zh.md +16 -2
  4. package/config.example.yaml +5 -0
  5. package/dist/config/loadConfig.js +4 -0
  6. package/dist/config/loadConfig.js.map +1 -1
  7. package/dist/config/schema.js +1 -0
  8. package/dist/config/schema.js.map +1 -1
  9. package/dist/feishu/CardRenderer.js +32 -3
  10. package/dist/feishu/CardRenderer.js.map +1 -1
  11. package/dist/feishu/FeishuMessageClient.js +2 -2
  12. package/dist/feishu/FeishuMessageClient.js.map +1 -1
  13. package/dist/index.js +44 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/local-files/LocalFileViewerServer.js +24 -10
  16. package/dist/local-files/LocalFileViewerServer.js.map +1 -1
  17. package/dist/local-files/MarkdownFileLinks.js +12 -5
  18. package/dist/local-files/MarkdownFileLinks.js.map +1 -1
  19. package/dist/local-files/TurnPreviewPage.js +133 -87
  20. package/dist/local-files/TurnPreviewPage.js.map +1 -1
  21. package/dist/proxy/ProxySessionController.js +12 -2
  22. package/dist/proxy/ProxySessionController.js.map +1 -1
  23. package/dist/state/StateStore.js +25 -0
  24. package/dist/state/StateStore.js.map +1 -1
  25. package/dist/state/migrations.js +12 -0
  26. package/dist/state/migrations.js.map +1 -1
  27. package/dist/updates/AutomaticUpdatePreparer.js +66 -0
  28. package/dist/updates/AutomaticUpdatePreparer.js.map +1 -0
  29. package/dist/updates/DailyUpdateMonitor.js +261 -0
  30. package/dist/updates/DailyUpdateMonitor.js.map +1 -0
  31. package/dist/updates/PublishedRelease.js +43 -0
  32. package/dist/updates/PublishedRelease.js.map +1 -0
  33. package/dist/updates/types.js +2 -0
  34. package/dist/updates/types.js.map +1 -0
  35. package/npm-shrinkwrap.json +2 -2
  36. package/package.json +1 -1
  37. package/skills/agent-bot/SKILL.md +2 -0
  38. package/src/config/loadConfig.ts +4 -0
  39. package/src/config/schema.ts +4 -1
  40. package/src/feishu/CardRenderer.ts +35 -3
  41. package/src/feishu/FeishuMessageClient.ts +2 -1
  42. package/src/feishu/types.ts +1 -1
  43. package/src/index.ts +40 -0
  44. package/src/local-files/LocalFileViewerServer.ts +23 -11
  45. package/src/local-files/MarkdownFileLinks.ts +12 -7
  46. package/src/local-files/TurnPreviewPage.ts +134 -88
  47. package/src/proxy/ProxySessionController.ts +14 -2
  48. package/src/state/StateStore.ts +31 -0
  49. package/src/state/migrations.ts +12 -0
  50. package/src/updates/AutomaticUpdatePreparer.ts +76 -0
  51. package/src/updates/DailyUpdateMonitor.ts +252 -0
  52. package/src/updates/PublishedRelease.ts +44 -0
  53. package/src/updates/types.ts +19 -0
@@ -1,12 +1,15 @@
1
1
  import path from "node:path";
2
2
  import MarkdownIt from "markdown-it";
3
- import { displayToolCommand, formatShellCommandForDisplay } from "../feishu/CardRenderer.js";
3
+ import { displayFilePath, displayToolCommand, formatShellCommandForDisplay, toolStatusIcon } from "../feishu/CardRenderer.js";
4
+ import { isFileUrl, rewriteMarkdownFileLinks } from "./MarkdownFileLinks.js";
4
5
  const MARKDOWN = new MarkdownIt({
5
6
  breaks: true,
6
7
  html: false,
7
8
  linkify: true,
8
9
  typographer: false,
9
10
  });
11
+ const validateLink = MARKDOWN.validateLink.bind(MARKDOWN);
12
+ MARKDOWN.validateLink = (url) => isFileUrl(url) || validateLink(url);
10
13
  const defaultLinkOpen = MARKDOWN.renderer.rules.link_open
11
14
  ?? ((tokens, index, options, _environment, renderer) => renderer.renderToken(tokens, index, options));
12
15
  MARKDOWN.renderer.rules.link_open = (tokens, index, options, environment, renderer) => {
@@ -151,7 +154,12 @@ export const TURN_PREVIEW_CLIENT_SCRIPT = `(() => {
151
154
  const duration = hours > 0
152
155
  ? String(hours).padStart(2, "0") + ":" + String(minutes).padStart(2, "0") + ":" + String(remainder).padStart(2, "0")
153
156
  : String(minutes).padStart(2, "0") + ":" + String(remainder).padStart(2, "0");
154
- element.textContent = labels.elapsed + duration;
157
+ const shortDuration = hours > 0
158
+ ? String(hours * 60 + minutes) + ":" + String(remainder).padStart(2, "0")
159
+ : minutes > 0
160
+ ? String(minutes) + ":" + String(remainder).padStart(2, "0")
161
+ : remainder > 0 ? String(remainder) + "s" : "";
162
+ element.textContent = element.dataset.shortDuration === "1" ? shortDuration : labels.elapsed + duration;
155
163
  });
156
164
  };
157
165
  updateElapsed();
@@ -256,9 +264,10 @@ export function renderTurnPreviewSnapshot(state, localFileUrl, language = "zh")
256
264
  return undefined;
257
265
  return localFileUrl(path.resolve(state.projectCwd, filePath));
258
266
  } : undefined;
259
- const timeline = renderTimeline(state.activities ?? [], resolveFileUrl, state.fullToolOutputs, state.fullToolErrors, language);
267
+ const renderText = (value) => renderMarkdown(value, state.projectCwd, localFileUrl);
268
+ const timeline = renderTimeline(state.activities ?? [], renderText, resolveFileUrl, state.fullToolOutputs, state.fullToolErrors, language, state.projectCwd);
260
269
  const sections = [
261
- state.prompt ? renderMessageActivity("prompt", state.prompt, "user prompt") : "",
270
+ state.prompt ? renderMessageActivity("prompt", state.prompt, "user prompt", renderText) : "",
262
271
  state.plan.length > 0 ? renderPlan(state, language) : "",
263
272
  state.activitiesTruncated
264
273
  ? `<div class="notice">${escapeHtml(labels.truncated)}</div>`
@@ -267,9 +276,9 @@ export function renderTurnPreviewSnapshot(state, localFileUrl, language = "zh")
267
276
  state.fileSummary.length > 0 ? renderFileSummary(state, language, resolveFileUrl) : "",
268
277
  state.error ? `<section class="result error-result"><h2>${escapeHtml(labels.error)}</h2><pre>${escapeHtml(state.error)}</pre></section>` : "",
269
278
  state.finalResponse
270
- ? `<section class="result final-result"><h2>${escapeHtml(labels.finalAnswer)}</h2><div class="markdown">${renderMarkdown(state.finalResponse)}</div></section>`
279
+ ? `<section class="result final-result"><h2>${escapeHtml(labels.finalAnswer)}</h2><div class="markdown">${renderText(state.finalResponse)}</div></section>`
271
280
  : state.assistantText
272
- ? `<section class="result"><h2>${escapeHtml(labels.generating)}</h2><div class="markdown">${renderMarkdown(state.assistantText)}</div></section>`
281
+ ? `<section class="result"><h2>${escapeHtml(labels.generating)}</h2><div class="markdown">${renderText(state.assistantText)}</div></section>`
273
282
  : "",
274
283
  ].filter(Boolean).join("");
275
284
  const terminal = isTerminal(state.status);
@@ -290,26 +299,26 @@ function renderPlan(state, language) {
290
299
  }).join("");
291
300
  return `<section class="plan"><h2>${escapeHtml(labels.plan)} <span>${completed}/${state.plan.length}</span></h2><ol>${items}</ol></section>`;
292
301
  }
293
- function renderTimeline(activities, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh") {
302
+ function renderTimeline(activities, renderText, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh", projectCwd) {
294
303
  return activities
295
304
  .filter((activity) => activity.kind !== "reasoning")
296
- .map((activity) => renderActivity(activity, localFileUrl, fullToolOutputs, fullToolErrors, language))
305
+ .map((activity) => renderActivity(activity, renderText, localFileUrl, fullToolOutputs, fullToolErrors, language, projectCwd))
297
306
  .join("");
298
307
  }
299
- function renderActivity(activity, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh") {
308
+ function renderActivity(activity, renderText, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh", projectCwd) {
300
309
  switch (activity.kind) {
301
310
  case "assistant":
302
- return renderMessageActivity(activity.id, activity.text, "commentary");
311
+ return renderMessageActivity(activity.id, activity.text, "commentary", renderText);
303
312
  case "user":
304
- return renderMessageActivity(activity.id, activity.text, "user");
313
+ return renderMessageActivity(activity.id, activity.text, "user", renderText);
305
314
  case "tool":
306
- return renderToolActivity(activity.id, activity.tool, localFileUrl, fullToolOutputs, fullToolErrors, language);
315
+ return renderToolActivity(activity.id, activity.tool, localFileUrl, fullToolOutputs, fullToolErrors, language, projectCwd);
307
316
  }
308
317
  }
309
- function renderMessageActivity(id, text, kind) {
310
- return `<article class="activity message ${kind}" data-activity="${escapeAttribute(id)}"><div class="markdown">${renderMarkdown(text)}</div></article>`;
318
+ function renderMessageActivity(id, text, kind, renderText) {
319
+ return `<article class="activity message ${kind}" data-activity="${escapeAttribute(id)}"><div class="markdown">${renderText(text)}</div></article>`;
311
320
  }
312
- function renderToolActivity(activityId, tool, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh") {
321
+ function renderToolActivity(activityId, tool, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh", projectCwd) {
313
322
  const labels = previewLabels(language);
314
323
  const command = tool.command ? (displayToolCommand(tool.command) || tool.command.trim()) : undefined;
315
324
  const repl = isReplTool(tool);
@@ -318,29 +327,40 @@ function renderToolActivity(activityId, tool, localFileUrl, fullToolOutputs, ful
318
327
  : command
319
328
  ? formatToolCommand(command)
320
329
  : undefined;
321
- const commandInHeader = Boolean(displayCommand);
322
- const title = commandInHeader ? displayCommand : toolTitle(tool, command, repl, language);
330
+ const title = displayCommand ? summarizeToolCommand(displayCommand) : toolTitle(tool, command, repl, language);
323
331
  const output = fullToolOutputs?.[tool.id] ?? tool.output;
324
332
  const error = fullToolErrors?.[tool.id] ?? tool.error;
325
333
  const sameError = Boolean(output && error && normalizeOutput(output) === normalizeOutput(error));
334
+ const displayOutput = output && repl && !sameError ? formatReplOutput(output) : output;
335
+ const displayError = sameError ? undefined : error;
326
336
  const detailParts = [
327
- displayCommand && !commandInHeader ? `<pre class="command-block${repl ? " repl-code" : ""}" data-scroll-id="${escapeAttribute(`${activityId}:command`)}">${escapeHtml(displayCommand)}</pre>` : "",
328
- output
329
- ? renderToolOutput(activityId, "output", sameError ? labels.resultError : repl ? labels.result : labels.output, output, sameError, repl, language, tool)
337
+ displayCommand ? `<div class="tool-command"><span class="tool-command-prefix" aria-hidden="true">$</span><pre class="command-block${repl ? " repl-code" : ""}">${escapeHtml(displayCommand)}</pre></div>` : "",
338
+ displayOutput
339
+ ? renderToolOutput(sameError ? labels.resultError : repl ? labels.result : labels.output, displayOutput, sameError, repl)
330
340
  : "",
331
- error && !sameError
332
- ? renderToolOutput(activityId, "error", labels.error, error, true, repl, language, tool)
341
+ displayError
342
+ ? renderToolOutput(labels.error, displayError, true, repl)
333
343
  : "",
334
- !output && !error && !tool.files?.length ? renderToolStatusRow(tool, language) : "",
335
344
  renderToolImage(tool, localFileUrl, language),
336
345
  tool.files?.length
337
- ? `<details class="tool-output" data-activity-id="${escapeAttribute(`${activityId}:files`)}"><summary><span class="tool-output-label">${escapeHtml(labels.files)}</span><span class="tool-output-meta">${renderToolTiming(tool, language)}<span class="tool-state ${tool.status}" aria-label="${escapeAttribute(tool.status)}">${toolStatusIcon(tool.status, language)}</span><span>${tool.files.length}</span></span></summary><ul class="files">${tool.files.map((file) => renderFileEntry(file, localFileUrl)).join("")}</ul></details>`
346
+ ? `<ul class="files" aria-label="${escapeAttribute(labels.files)}">${tool.files.map((file) => renderFileEntry(file, localFileUrl, projectCwd)).join("")}</ul>`
338
347
  : "",
339
348
  ].filter(Boolean).join("");
340
- const titleMarkup = commandInHeader
349
+ const titleMarkup = displayCommand
341
350
  ? `<code class="tool-command-title">${escapeHtml(title)}</code>`
342
351
  : `<span class="tool-title">${escapeHtml(title)}</span>`;
343
- return `<article class="activity tool"><section class="tool-step" data-activity-id="${escapeAttribute(activityId)}"><div class="tool-header" data-scroll-id="${escapeAttribute(`${activityId}:command`)}">${titleMarkup}</div><div class="tool-body">${detailParts || `<div class="muted">${escapeHtml(labels.noToolDetails)}</div>`}</div></section></article>`;
352
+ const timing = renderToolTiming(tool, "header");
353
+ const statusLabel = toolStatusLabel(tool.status, language);
354
+ const icon = `<span class="tool-status-icon" role="img" aria-label="${escapeAttribute(statusLabel)}" title="${escapeAttribute(statusLabel)}">${toolStatusIcon(tool.status)}</span>`;
355
+ const status = `<span class="tool-state ${tool.status}">${escapeHtml(statusLabel)}</span>`;
356
+ const header = `<summary class="tool-header">${icon}<span class="tool-summary-content">${titleMarkup}</span><span class="tool-meta">${timing}</span></summary>`;
357
+ const startedAt = tool.startedAt === undefined ? undefined : new Date(tool.startedAt);
358
+ const startTime = startedAt
359
+ ? `<time datetime="${startedAt.toISOString()}" title="${escapeAttribute(labels.startingTime)}">${new Intl.DateTimeFormat(language === "zh" ? "zh-CN" : "en-GB", { hour: "2-digit", minute: "2-digit", second: "2-digit", hourCycle: "h23" }).format(startedAt)}</time>`
360
+ : `<span title="${escapeAttribute(labels.startingTime)}">${escapeHtml(labels.unknown)}</span>`;
361
+ const characterCount = (displayOutput?.length ?? 0) + (displayError?.length ?? 0);
362
+ const footer = `<div class="tool-footer">${status}${startTime}${renderToolTiming(tool, "footer")}<span>${formatNumber(characterCount)} ${escapeHtml(labels.characters)}</span></div>`;
363
+ return `<article class="activity tool"><details class="tool-step" data-tool-status="${tool.status}" data-activity-id="${escapeAttribute(activityId)}">${header}<div class="tool-body"><div class="tool-content" data-scroll-id="${escapeAttribute(`${activityId}:content`)}" tabindex="0">${detailParts || `<div class="muted">${escapeHtml(labels.noToolDetails)}</div>`}</div>${footer}</div></details></article>`;
344
364
  }
345
365
  function toolTitle(tool, command, repl = false, language = "zh") {
346
366
  if (repl)
@@ -350,6 +370,12 @@ function toolTitle(tool, command, repl = false, language = "zh") {
350
370
  const title = tool.title.trim();
351
371
  return title || tool.kind;
352
372
  }
373
+ function summarizeToolCommand(command) {
374
+ const summary = command.replace(/[\\`^][ \t]*\r?\n/gu, " ").replace(/\s+/gu, " ").trim();
375
+ if (summary.length <= 160)
376
+ return summary;
377
+ return `${summary.slice(0, 157).trimEnd()}…`;
378
+ }
353
379
  function isReplTool(tool) {
354
380
  const title = tool.title.trim();
355
381
  const titleLooksLikeToolName = title.length <= 120 && !/[\s"'`]/u.test(title);
@@ -476,26 +502,23 @@ function normalizeReplText(value) {
476
502
  .replace(/\r\n?/gu, "\n")
477
503
  .trim();
478
504
  }
479
- function renderToolOutput(activityId, kind, label, value, error = false, repl = false, language = "zh", tool) {
480
- const id = escapeAttribute(`${activityId}:${kind}`);
481
- const displayValue = repl && !error ? formatReplOutput(value) : value;
482
- const labels = previewLabels(language);
483
- const status = tool?.status ?? "completed";
484
- const timing = tool ? renderToolTiming(tool, language) : "";
485
- return `<details class="tool-output${error ? " error-output" : ""}${repl ? " repl-result" : ""}" data-activity-id="${id}"><summary><span class="tool-output-label">${escapeHtml(label)}</span><span class="tool-output-meta">${timing}<span class="tool-state ${status}" aria-label="${escapeAttribute(status)}">${toolStatusIcon(status, language)}</span><span>${formatNumber(displayValue.length)} ${escapeHtml(labels.characters)}</span></span></summary><pre data-scroll-id="${id}">${escapeHtml(displayValue)}</pre></details>`;
486
- }
487
- function renderToolStatusRow(tool, language) {
488
- const timing = renderToolTiming(tool, language);
489
- return `<div class="tool-status-row"><span class="tool-output-meta">${timing}<span class="tool-state ${tool.status}" aria-label="${escapeAttribute(tool.status)}">${toolStatusIcon(tool.status, language)}</span></span></div>`;
505
+ function renderToolOutput(label, value, error = false, repl = false) {
506
+ return `<pre class="tool-output${error ? " error-output" : ""}${repl ? " repl-result" : ""}" aria-label="${escapeAttribute(label)}">${escapeHtml(value)}</pre>`;
490
507
  }
491
- function renderToolTiming(tool, language) {
492
- const labels = previewLabels(language);
493
- const start = tool.startedAt === undefined ? labels.unknown : formatTimestamp(tool.startedAt);
508
+ function renderToolTiming(tool, placement) {
509
+ const className = `tool-${placement}-timing`;
494
510
  const duration = toolDuration(tool);
495
- const liveDuration = duration === undefined
496
- ? `<span>${escapeHtml(labels.elapsed.trim())}${language === "zh" ? "" : " "}${escapeHtml(labels.unknown)}</span>`
497
- : `<span${tool.status === "running" && tool.completedAt === undefined ? ` data-live-tool-duration data-started-at="${tool.startedAt}"` : ""}>${escapeHtml(labels.elapsed)}${escapeHtml(duration)}</span>`;
498
- return `<span title="${escapeAttribute(labels.startingTime)}">${escapeHtml(start)}</span>${liveDuration}`;
511
+ if (duration === undefined) {
512
+ return `<span class="${className}">?</span>`;
513
+ }
514
+ const live = tool.status === "running" && tool.completedAt === undefined;
515
+ return `<span class="${className}"${live ? ` data-live-tool-duration data-started-at="${tool.startedAt}" data-short-duration="1"` : ""}>${formatShortDuration(duration)}</span>`;
516
+ }
517
+ function formatShortDuration(duration) {
518
+ const parts = duration.split(":").map(Number);
519
+ const seconds = parts.at(-1) ?? 0;
520
+ const minutes = parts.length > 2 ? (parts.at(-2) ?? 0) + (parts.at(-3) ?? 0) * 60 : parts.at(-2) ?? 0;
521
+ return minutes > 0 ? `${minutes}:${String(seconds).padStart(2, "0")}` : seconds > 0 ? `${seconds}s` : "";
499
522
  }
500
523
  function renderToolImage(tool, localFileUrl, language = "zh") {
501
524
  if (!tool.imagePath || !localFileUrl)
@@ -514,11 +537,11 @@ function renderToolImage(tool, localFileUrl, language = "zh") {
514
537
  }
515
538
  function renderFileSummary(state, language, localFileUrl) {
516
539
  const labels = previewLabels(language);
517
- const files = state.fileSummary.map((file) => renderFileEntry(file, localFileUrl)).join("");
518
- return `<section class="files-summary"><h2>${escapeHtml(labels.fileChanges)} <span>${state.fileSummary.length}</span></h2><ul class="files">${files}</ul></section>`;
540
+ const files = state.fileSummary.map((file) => renderFileEntry(file, localFileUrl, state.projectCwd)).join("");
541
+ return `<details class="files-summary" data-activity-id="turn:files-summary"><summary><h2>${escapeHtml(labels.fileChanges)} <span>${state.fileSummary.length}</span></h2></summary><ul class="files">${files}</ul></details>`;
519
542
  }
520
- function renderFileEntry(file, localFileUrl) {
521
- const label = `<code>${escapeHtml(file.path)}</code>`;
543
+ function renderFileEntry(file, localFileUrl, projectCwd) {
544
+ const label = `<code>${escapeHtml(displayFilePath(file.path, projectCwd))}</code>`;
522
545
  const url = localFileUrl?.(file.path);
523
546
  const link = url
524
547
  ? `<a class="file-link" href="${escapeAttribute(url)}" target="_blank" rel="noreferrer noopener">${label}</a>`
@@ -550,13 +573,21 @@ function previewTitle(state) {
550
573
  const value = (state.prompt ?? state.taskTitle ?? "Turn Preview").replace(/\s+/gu, " ").trim();
551
574
  return value.length > 80 ? `${value.slice(0, 79)}…` : value;
552
575
  }
553
- function renderMarkdown(value) {
554
- return MARKDOWN.render(value);
576
+ function renderMarkdown(value, projectCwd, localFileUrl) {
577
+ const environment = {};
578
+ const tokens = MARKDOWN.parse(value, environment);
579
+ // Only the directory is used to resolve relative links; no Markdown file is created.
580
+ const markdownPath = projectCwd && path.isAbsolute(projectCwd) ? path.join(projectCwd, "turn.md") : undefined;
581
+ rewriteMarkdownFileLinks(tokens, markdownPath, (filePath) => {
582
+ const url = localFileUrl?.(filePath);
583
+ return url ? new URL(url) : undefined;
584
+ });
585
+ return MARKDOWN.renderer.render(tokens, MARKDOWN.options, environment);
555
586
  }
556
587
  function statusLabel(status, language) {
557
588
  return previewLabels(language).statuses[status];
558
589
  }
559
- function toolStatusIcon(status, language) {
590
+ function toolStatusLabel(status, language) {
560
591
  return status === "completed"
561
592
  ? previewLabels(language).toolStatuses.completed
562
593
  : status === "failed"
@@ -578,14 +609,6 @@ function formatDuration(durationMs) {
578
609
  ? `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}:${String(remainder).padStart(2, "0")}`
579
610
  : `${String(minutes).padStart(2, "0")}:${String(remainder).padStart(2, "0")}`;
580
611
  }
581
- function formatTimestamp(timestampMs) {
582
- return new Intl.DateTimeFormat(undefined, {
583
- hour: "2-digit",
584
- minute: "2-digit",
585
- second: "2-digit",
586
- hour12: false,
587
- }).format(new Date(timestampMs));
588
- }
589
612
  function formatNumber(value) {
590
613
  return Math.max(0, Math.floor(value)).toLocaleString("en-US");
591
614
  }
@@ -605,7 +628,7 @@ function escapeAttribute(value) {
605
628
  return escapeHtml(value);
606
629
  }
607
630
  const TURN_PREVIEW_CSS = `
608
- :root { color-scheme: light dark; font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; --page: #fff; --surface: #f5f6f7; --code: #fafafa; --text: #25272b; --muted: #62666d; --line: #e0e2e5; --accent: #245bc0; --success: #257449; --danger: #b52c34; }
631
+ :root { color-scheme: light dark; font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; --page: #fff; --surface: #f5f6f7; --code: #fafafa; --text: #25272b; --muted: #62666d; --line: #e0e2e5; --accent: #245bc0; --success: #257449; --danger: #b52c34; --scrollbar-thumb: #d4d7dc; --scrollbar-thumb-hover: #afb4bc; }
609
632
  * { box-sizing: border-box; letter-spacing: 0; }
610
633
  body { margin: 0; background: var(--page); color: var(--text); font-size: 13px; line-height: 1.55; }
611
634
  .page-header { position: sticky; top: 0; z-index: 3; background: var(--page); border-bottom: 1px solid var(--line); }
@@ -634,16 +657,21 @@ h2 span { margin-left: 6px; color: var(--muted); font-size: 12px; font-weight: 4
634
657
  .metadata > span + span::before { content: "·"; position: absolute; left: 0; top: 0; }
635
658
  .metadata strong { color: var(--text); font-weight: 500; font-variant-numeric: tabular-nums; }
636
659
  main { max-width: 1320px; margin: 0 auto; padding: 0 20px 40px; }
637
- .plan, .files-summary, .result { padding: 14px 0; border-bottom: 1px solid var(--line); }
660
+ .plan, .files-summary, .result { padding: 14px 0; }
661
+ .files-summary, .result { border-top: 1px solid var(--line); }
662
+ .files-summary > summary h2 { margin: 0; }
663
+ .files-summary > .files { padding-top: 8px; }
638
664
  .plan ol { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
639
665
  .plan li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 6px; overflow-wrap: anywhere; }
640
666
  .plan li.completed { color: var(--muted); }
641
667
  .plan li.in_progress { color: var(--accent); }
642
668
  .timeline { padding-top: 2px; }
643
669
  .activity { min-width: 0; }
644
- .message { padding: 12px 0; border-bottom: 1px solid var(--line); }
670
+ .message { padding: 12px 0; }
671
+ .prompt { border-bottom: 1px solid var(--line); }
672
+ .timeline .markdown hr { display: none; }
645
673
  .markdown { min-width: 0; overflow-wrap: anywhere; }
646
- .commentary > .markdown { font-weight: 700; }
674
+ .message > .markdown, .result > .markdown { font-size: 14px; font-weight: 400; }
647
675
  .markdown > :first-child { margin-top: 0; }
648
676
  .markdown > :last-child { margin-bottom: 0; }
649
677
  .markdown p, .markdown ul, .markdown ol, .markdown pre, .markdown blockquote { margin: 0 0 6px; }
@@ -666,32 +694,52 @@ summary:hover { background: transparent; }
666
694
  summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
667
695
  .tool { margin: 8px 0; }
668
696
  .tool-step { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: transparent; }
669
- .tool-header { display: flex; align-items: flex-start; gap: 8px; min-height: 32px; padding: 7px 10px; overflow-x: auto; background: transparent; font-weight: 400; }
670
- .tool-state { display: inline-flex; flex: none; align-items: center; justify-content: center; color: var(--muted); font-size: 11px; font-weight: 650; white-space: nowrap; }
697
+ .tool-step[data-tool-status="running"] { border-color: var(--accent); }
698
+ .tool-header { display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 7px 10px; overflow: hidden; background: transparent; font-weight: 400; }
699
+ .tool-content { max-height: calc(30 * 12px * 1.55 + 16px); padding: 8px 12px; overflow: auto; --tool-scrollbar-thumb: var(--scrollbar-thumb); scrollbar-width: thin; scrollbar-color: var(--tool-scrollbar-thumb) transparent; }
700
+ .tool-content > * + * { margin-top: 8px; }
701
+ .tool-content pre { max-width: none; max-height: none; padding: 0; overflow: visible; background: transparent; }
702
+ .tool-command { display: flex; align-items: flex-start; gap: 8px; width: max-content; min-width: 100%; }
703
+ .tool-command-prefix { flex: none; color: var(--muted); font: 12px/1.55 "Cascadia Mono", "SFMono-Regular", Consolas, monospace; }
704
+ .tool-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 6px 12px; color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
705
+ .tool-footer > * { white-space: nowrap; }
706
+ .tool-footer > * + *::before { content: "·"; margin-right: 8px; }
707
+ @media (hover: hover) and (pointer: fine) {
708
+ .tool-content { --tool-scrollbar-thumb: transparent; }
709
+ .tool-content:is(:hover, :focus-visible, :focus-within) { --tool-scrollbar-thumb: var(--scrollbar-thumb); }
710
+ }
711
+ @supports selector(::-webkit-scrollbar) {
712
+ .tool-content { scrollbar-width: auto; scrollbar-color: auto; }
713
+ .tool-content::-webkit-scrollbar { width: 6px; height: 6px; }
714
+ .tool-content::-webkit-scrollbar-track,
715
+ .tool-content::-webkit-scrollbar-corner { background: transparent; }
716
+ .tool-content::-webkit-scrollbar-thumb { background: var(--tool-scrollbar-thumb); border-radius: 3px; }
717
+ .tool-content::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover); }
718
+ .tool-content::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
719
+ }
720
+ @media (hover: none), (pointer: coarse) {
721
+ .tool-content { scrollbar-width: none; }
722
+ .tool-content::-webkit-scrollbar { display: none; width: 0; height: 0; }
723
+ }
724
+ .tool-status-icon { display: inline-flex; flex: 0 0 16px; align-items: center; justify-content: center; font-size: 13px; line-height: 18px; }
725
+ .tool-state { display: inline-flex; flex: none; align-items: center; justify-content: center; color: var(--muted); font-size: 11px; font-weight: 400; white-space: nowrap; }
671
726
  .tool-state.completed { color: var(--success); }
672
727
  .tool-state.running { color: var(--accent); }
673
728
  .tool-state.failed { color: var(--danger); }
674
- .tool-title { min-width: 0; flex: 1 0 auto; overflow-wrap: normal; font-size: 12px; font-weight: 400; line-height: 1.45; white-space: pre; }
675
- .tool-command-title { display: block; min-width: 0; flex: 1 0 auto; margin: 0; padding: 0; overflow-wrap: normal; background: transparent; color: var(--text); font: 12px/1.55 "Cascadia Mono", "SFMono-Regular", Consolas, monospace; font-weight: 400; white-space: pre; }
676
- .tool-meta { display: flex; flex: 0 1 auto; flex-wrap: nowrap; gap: 12px; max-width: 48%; overflow: hidden; color: var(--muted); font-size: 11px; font-weight: 400; font-variant-numeric: tabular-nums; white-space: nowrap; }
729
+ .tool-summary-content { min-width: 0; flex: 1 1 auto; overflow: hidden; }
730
+ .tool-title, .tool-command-title { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
731
+ .tool-title { font-size: 12px; font-weight: 400; line-height: 1.45; }
732
+ .tool-command-title { margin: 0; padding: 0; background: transparent; color: var(--text); font: 12px/1.55 "Cascadia Mono", "SFMono-Regular", Consolas, monospace; font-weight: 400; }
733
+ .tool-meta { display: flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: center; gap: 12px; max-width: none; margin-left: auto; color: var(--muted); font-size: 11px; font-weight: 400; font-variant-numeric: tabular-nums; white-space: nowrap; }
677
734
  .tool-meta span { white-space: nowrap; }
678
- .tool-body { border-top: 1px solid var(--line); }
679
- .tool-body > .muted { padding: 8px 12px; }
680
- .tool-output { border-top: 1px solid var(--line); }
681
- .tool-output:first-child { border-top: 0; }
682
- .tool-output > summary { padding: 4px 12px; background: transparent; color: var(--muted); font-size: 12px; }
683
- .tool-output-label { min-width: 0; }
684
- .tool-output-meta { display: inline-flex; align-items: center; gap: 12px; margin-left: auto; font-size: 11px; }
685
- .tool-status-row { display: flex; justify-content: flex-end; padding: 5px 12px; border-top: 1px solid var(--line); }
686
- .tool-output > pre { max-height: none; border-top: 1px solid var(--line); background: transparent; }
687
- .repl-code { background: transparent; }
688
- .repl-result > pre { white-space: pre; overflow-wrap: normal; background: transparent; }
689
- .error-output > summary, .error-result h2 { color: var(--danger); }
735
+ .tool-header-timing { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
736
+ .tool-header-timing:empty, .tool-footer-timing:empty { display: none; }
737
+ .error-output, .error-result h2 { color: var(--danger); }
690
738
  .muted, .empty { color: var(--muted); }
691
- .notice, .empty { padding: 10px 0; border-bottom: 1px solid var(--line); }
739
+ .notice, .empty { padding: 10px 0; }
692
740
  .notice { color: #926a08; }
693
741
  .files { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
694
- .tool-output .files { padding: 8px 12px; }
742
+ .tool-content .files code { background: transparent; }
695
743
  .files li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
696
744
  .files code { min-width: 0; }
697
745
  .files .file-link { min-width: 0; color: var(--accent); text-underline-offset: 2px; }
@@ -699,7 +747,6 @@ summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px;
699
747
  .additions { color: var(--success); }
700
748
  .deletions { color: var(--danger); }
701
749
  .file-delta { display: inline-flex; flex: none; gap: 6px; font: 12px "Cascadia Mono", Consolas, monospace; }
702
- .tool-image { padding: 8px 12px; border-top: 1px solid var(--line); }
703
750
  .tool-image img { display: block; max-width: 100%; max-height: 720px; }
704
751
  .final-result h2 { color: var(--success); }
705
752
  @media (max-width: 700px) {
@@ -712,13 +759,12 @@ summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px;
712
759
  .message { padding: 10px 0; }
713
760
  .tool-header { gap: 6px; padding: 7px 9px; }
714
761
  .tool-state { font-size: 11px; }
715
- .tool-meta { flex: 0 1 auto; gap: 10px; max-width: 50%; font-size: 11px; }
716
- .tool-output > summary { min-height: 40px; padding: 6px 10px; }
717
- .tool-output-meta { gap: 10px; }
762
+ .tool-meta { gap: 10px; font-size: 11px; }
763
+ .tool-content, .tool-footer { padding-left: 10px; padding-right: 10px; }
718
764
  pre { padding: 8px 10px; }
719
765
  }
720
766
  @media (prefers-color-scheme: dark) {
721
- :root { --page: #18191b; --surface: #232427; --code: #1d1e20; --text: #e0e1e4; --muted: #a0a3ab; --line: #35373c; --accent: #8aaff7; --success: #83c69c; --danger: #f58c94; }
767
+ :root { --page: #18191b; --surface: #232427; --code: #1d1e20; --text: #e0e1e4; --muted: #a0a3ab; --line: #35373c; --accent: #8aaff7; --success: #83c69c; --danger: #f58c94; --scrollbar-thumb: #45494f; --scrollbar-thumb-hover: #60666e; }
722
768
  .notice, .status.waiting_for_approval { color: #e1bc6f; }
723
769
  }
724
770
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"TurnPreviewPage.js","sourceRoot":"","sources":["../../src/local-files/TurnPreviewPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TurnPreviewPage.js","sourceRoot":"","sources":["../../src/local-files/TurnPreviewPage.ts"],"names":[],"mappings":"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"}
@@ -601,7 +601,12 @@ export class ProxySessionController {
601
601
  await this.outbound.withReplyTarget(contextKey, replyTarget, async () => {
602
602
  try {
603
603
  const kind = String(scopedAction.value.action ?? "");
604
- if (kind === "help_command") {
604
+ if (kind === "agentbot_update_cancel") {
605
+ if (!this.lifecycle?.cancelAutomaticUpdate)
606
+ throw new Error("自动更新功能未启用。");
607
+ await this.lifecycle.cancelAutomaticUpdate(scopedAction);
608
+ }
609
+ else if (kind === "help_command") {
605
610
  await this.executeHelpCommandAction(scopedAction, contextKey, replyTarget);
606
611
  }
607
612
  else if (kind === "turn_details") {
@@ -1228,6 +1233,7 @@ export class ProxySessionController {
1228
1233
  await loaded.runtime.setReasoningEffort(record.localSessionId, nextEffort);
1229
1234
  }
1230
1235
  this.store.updateRuntimeSession(record.localSessionId, { model: nextValue, reasoningEffort: nextEffort });
1236
+ this.outbound.updateSessionModel(record.localSessionId, nextValue);
1231
1237
  }
1232
1238
  else if (setting === "thinking" && nextValue) {
1233
1239
  const models = await loaded.runtime.listModels(loaded.session.modelProvider, loaded.session.model);
@@ -2914,6 +2920,7 @@ export class ProxySessionController {
2914
2920
  while (true) {
2915
2921
  let pendingTurnId;
2916
2922
  try {
2923
+ this.outbound.updateSessionModel(loaded.record.localSessionId, loaded.runtime.getSession(loaded.record.localSessionId)?.model ?? loaded.session.model);
2917
2924
  pendingTurnId = await this.outbound.startPendingTurn(loaded.record.localSessionId, loaded.record.contextKey, title, replyTarget, cardPrompt);
2918
2925
  }
2919
2926
  catch (error) {
@@ -4062,7 +4069,9 @@ export class ProxySessionController {
4062
4069
  throw error;
4063
4070
  }
4064
4071
  };
4065
- return loaded.runtime.setExecutionSettings(loaded.record.localSessionId, settings, persist);
4072
+ const session = await loaded.runtime.setExecutionSettings(loaded.record.localSessionId, settings, persist);
4073
+ this.outbound.updateSessionModel(loaded.record.localSessionId, session.model);
4074
+ return session;
4066
4075
  }
4067
4076
  async assertProviderModelSettings(loaded, modelProvider, model, effort) {
4068
4077
  await this.assertModelProvider(loaded, modelProvider);
@@ -4116,6 +4125,7 @@ export class ProxySessionController {
4116
4125
  await loaded.runtime.setReasoningEffort(loaded.record.localSessionId, nextEffort);
4117
4126
  }
4118
4127
  this.store.updateRuntimeSession(loaded.record.localSessionId, { model, reasoningEffort: nextEffort });
4128
+ this.outbound.updateSessionModel(loaded.record.localSessionId, model);
4119
4129
  await this.persistAgentExecutionDefaults(loaded.record.localSessionId);
4120
4130
  const effortMessage = nextEffort && nextEffort !== currentEffort
4121
4131
  ? `,思考强度已自动调整为 ${nextEffort}`