@keyou007/agent-bot 0.1.22 → 0.1.24-alpha.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 (77) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +26 -2
  3. package/README.zh.md +26 -2
  4. package/config.example.yaml +5 -0
  5. package/dist/cli/controlProtocol.js.map +1 -1
  6. package/dist/cli/help.js +4 -0
  7. package/dist/cli/help.js.map +1 -1
  8. package/dist/cli/taskGroupOptions.js +27 -0
  9. package/dist/cli/taskGroupOptions.js.map +1 -1
  10. package/dist/cli.js +21 -1
  11. package/dist/cli.js.map +1 -1
  12. package/dist/codex/CodexProcessManager.js +19 -3
  13. package/dist/codex/CodexProcessManager.js.map +1 -1
  14. package/dist/codex/CodexRuntime.js +92 -9
  15. package/dist/codex/CodexRuntime.js.map +1 -1
  16. package/dist/commands/CommandRouter.js +27 -0
  17. package/dist/commands/CommandRouter.js.map +1 -1
  18. package/dist/config/loadConfig.js +4 -0
  19. package/dist/config/loadConfig.js.map +1 -1
  20. package/dist/config/schema.js +1 -0
  21. package/dist/config/schema.js.map +1 -1
  22. package/dist/feishu/CardRenderer.js +31 -2
  23. package/dist/feishu/CardRenderer.js.map +1 -1
  24. package/dist/feishu/FeishuMessageClient.js +6 -3
  25. package/dist/feishu/FeishuMessageClient.js.map +1 -1
  26. package/dist/feishu/MergedForwardMessage.js +17 -7
  27. package/dist/feishu/MergedForwardMessage.js.map +1 -1
  28. package/dist/index.js +50 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/local-files/TurnPreviewPage.js +106 -87
  31. package/dist/local-files/TurnPreviewPage.js.map +1 -1
  32. package/dist/proxy/ConversationExport.js +41 -0
  33. package/dist/proxy/ConversationExport.js.map +1 -0
  34. package/dist/proxy/ProxySessionController.js +118 -7
  35. package/dist/proxy/ProxySessionController.js.map +1 -1
  36. package/dist/state/StateStore.js +65 -0
  37. package/dist/state/StateStore.js.map +1 -1
  38. package/dist/state/migrations.js +12 -0
  39. package/dist/state/migrations.js.map +1 -1
  40. package/dist/updates/AutomaticUpdatePreparer.js +66 -0
  41. package/dist/updates/AutomaticUpdatePreparer.js.map +1 -0
  42. package/dist/updates/DailyUpdateMonitor.js +261 -0
  43. package/dist/updates/DailyUpdateMonitor.js.map +1 -0
  44. package/dist/updates/PublishedRelease.js +43 -0
  45. package/dist/updates/PublishedRelease.js.map +1 -0
  46. package/dist/updates/types.js +2 -0
  47. package/dist/updates/types.js.map +1 -0
  48. package/docs/technical-reference.md +4 -0
  49. package/docs/technical-reference.zh.md +4 -0
  50. package/npm-shrinkwrap.json +2 -2
  51. package/package.json +1 -1
  52. package/skills/agent-bot/SKILL.md +11 -0
  53. package/src/cli/controlProtocol.ts +9 -0
  54. package/src/cli/help.ts +4 -0
  55. package/src/cli/taskGroupOptions.ts +33 -3
  56. package/src/cli.ts +21 -0
  57. package/src/codex/CodexProcessManager.ts +21 -4
  58. package/src/codex/CodexRuntime.ts +104 -12
  59. package/src/commands/CommandRouter.ts +24 -0
  60. package/src/commands/commandTypes.ts +1 -0
  61. package/src/config/loadConfig.ts +4 -0
  62. package/src/config/schema.ts +4 -1
  63. package/src/feishu/CardRenderer.ts +34 -2
  64. package/src/feishu/FeishuMessageClient.ts +6 -2
  65. package/src/feishu/MergedForwardMessage.ts +29 -7
  66. package/src/feishu/types.ts +1 -1
  67. package/src/index.ts +49 -0
  68. package/src/local-files/TurnPreviewPage.ts +105 -88
  69. package/src/proxy/ConversationExport.ts +43 -0
  70. package/src/proxy/ProxySessionController.ts +166 -8
  71. package/src/runtime/types.ts +6 -0
  72. package/src/state/StateStore.ts +69 -0
  73. package/src/state/migrations.ts +12 -0
  74. package/src/updates/AutomaticUpdatePreparer.ts +76 -0
  75. package/src/updates/DailyUpdateMonitor.ts +252 -0
  76. package/src/updates/PublishedRelease.ts +44 -0
  77. package/src/updates/types.ts +19 -0
@@ -1,6 +1,6 @@
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
4
  import { isFileUrl, rewriteMarkdownFileLinks } from "./MarkdownFileLinks.js";
5
5
  const MARKDOWN = new MarkdownIt({
6
6
  breaks: true,
@@ -154,7 +154,12 @@ export const TURN_PREVIEW_CLIENT_SCRIPT = `(() => {
154
154
  const duration = hours > 0
155
155
  ? String(hours).padStart(2, "0") + ":" + String(minutes).padStart(2, "0") + ":" + String(remainder).padStart(2, "0")
156
156
  : String(minutes).padStart(2, "0") + ":" + String(remainder).padStart(2, "0");
157
- 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;
158
163
  });
159
164
  };
160
165
  updateElapsed();
@@ -260,7 +265,7 @@ export function renderTurnPreviewSnapshot(state, localFileUrl, language = "zh")
260
265
  return localFileUrl(path.resolve(state.projectCwd, filePath));
261
266
  } : undefined;
262
267
  const renderText = (value) => renderMarkdown(value, state.projectCwd, localFileUrl);
263
- const timeline = renderTimeline(state.activities ?? [], renderText, resolveFileUrl, state.fullToolOutputs, state.fullToolErrors, language);
268
+ const timeline = renderTimeline(state.activities ?? [], renderText, resolveFileUrl, state.fullToolOutputs, state.fullToolErrors, language, state.projectCwd);
264
269
  const sections = [
265
270
  state.prompt ? renderMessageActivity("prompt", state.prompt, "user prompt", renderText) : "",
266
271
  state.plan.length > 0 ? renderPlan(state, language) : "",
@@ -294,26 +299,26 @@ function renderPlan(state, language) {
294
299
  }).join("");
295
300
  return `<section class="plan"><h2>${escapeHtml(labels.plan)} <span>${completed}/${state.plan.length}</span></h2><ol>${items}</ol></section>`;
296
301
  }
297
- function renderTimeline(activities, renderText, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh") {
302
+ function renderTimeline(activities, renderText, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh", projectCwd) {
298
303
  return activities
299
304
  .filter((activity) => activity.kind !== "reasoning")
300
- .map((activity) => renderActivity(activity, renderText, localFileUrl, fullToolOutputs, fullToolErrors, language))
305
+ .map((activity) => renderActivity(activity, renderText, localFileUrl, fullToolOutputs, fullToolErrors, language, projectCwd))
301
306
  .join("");
302
307
  }
303
- function renderActivity(activity, renderText, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh") {
308
+ function renderActivity(activity, renderText, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh", projectCwd) {
304
309
  switch (activity.kind) {
305
310
  case "assistant":
306
311
  return renderMessageActivity(activity.id, activity.text, "commentary", renderText);
307
312
  case "user":
308
313
  return renderMessageActivity(activity.id, activity.text, "user", renderText);
309
314
  case "tool":
310
- return renderToolActivity(activity.id, activity.tool, localFileUrl, fullToolOutputs, fullToolErrors, language);
315
+ return renderToolActivity(activity.id, activity.tool, localFileUrl, fullToolOutputs, fullToolErrors, language, projectCwd);
311
316
  }
312
317
  }
313
318
  function renderMessageActivity(id, text, kind, renderText) {
314
319
  return `<article class="activity message ${kind}" data-activity="${escapeAttribute(id)}"><div class="markdown">${renderText(text)}</div></article>`;
315
320
  }
316
- function renderToolActivity(activityId, tool, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh") {
321
+ function renderToolActivity(activityId, tool, localFileUrl, fullToolOutputs, fullToolErrors, language = "zh", projectCwd) {
317
322
  const labels = previewLabels(language);
318
323
  const command = tool.command ? (displayToolCommand(tool.command) || tool.command.trim()) : undefined;
319
324
  const repl = isReplTool(tool);
@@ -322,29 +327,40 @@ function renderToolActivity(activityId, tool, localFileUrl, fullToolOutputs, ful
322
327
  : command
323
328
  ? formatToolCommand(command)
324
329
  : undefined;
325
- const commandInHeader = Boolean(displayCommand);
326
- const title = commandInHeader ? displayCommand : toolTitle(tool, command, repl, language);
330
+ const title = displayCommand ? summarizeToolCommand(displayCommand) : toolTitle(tool, command, repl, language);
327
331
  const output = fullToolOutputs?.[tool.id] ?? tool.output;
328
332
  const error = fullToolErrors?.[tool.id] ?? tool.error;
329
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;
330
336
  const detailParts = [
331
- displayCommand && !commandInHeader ? `<pre class="command-block${repl ? " repl-code" : ""}" data-scroll-id="${escapeAttribute(`${activityId}:command`)}">${escapeHtml(displayCommand)}</pre>` : "",
332
- output
333
- ? 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)
334
340
  : "",
335
- error && !sameError
336
- ? renderToolOutput(activityId, "error", labels.error, error, true, repl, language, tool)
341
+ displayError
342
+ ? renderToolOutput(labels.error, displayError, true, repl)
337
343
  : "",
338
- !output && !error && !tool.files?.length ? renderToolStatusRow(tool, language) : "",
339
344
  renderToolImage(tool, localFileUrl, language),
340
345
  tool.files?.length
341
- ? `<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>`
342
347
  : "",
343
348
  ].filter(Boolean).join("");
344
- const titleMarkup = commandInHeader
349
+ const titleMarkup = displayCommand
345
350
  ? `<code class="tool-command-title">${escapeHtml(title)}</code>`
346
351
  : `<span class="tool-title">${escapeHtml(title)}</span>`;
347
- 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>`;
348
364
  }
349
365
  function toolTitle(tool, command, repl = false, language = "zh") {
350
366
  if (repl)
@@ -354,6 +370,12 @@ function toolTitle(tool, command, repl = false, language = "zh") {
354
370
  const title = tool.title.trim();
355
371
  return title || tool.kind;
356
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
+ }
357
379
  function isReplTool(tool) {
358
380
  const title = tool.title.trim();
359
381
  const titleLooksLikeToolName = title.length <= 120 && !/[\s"'`]/u.test(title);
@@ -480,26 +502,23 @@ function normalizeReplText(value) {
480
502
  .replace(/\r\n?/gu, "\n")
481
503
  .trim();
482
504
  }
483
- function renderToolOutput(activityId, kind, label, value, error = false, repl = false, language = "zh", tool) {
484
- const id = escapeAttribute(`${activityId}:${kind}`);
485
- const displayValue = repl && !error ? formatReplOutput(value) : value;
486
- const labels = previewLabels(language);
487
- const status = tool?.status ?? "completed";
488
- const timing = tool ? renderToolTiming(tool, language) : "";
489
- 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>`;
490
- }
491
- function renderToolStatusRow(tool, language) {
492
- const timing = renderToolTiming(tool, language);
493
- 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>`;
494
507
  }
495
- function renderToolTiming(tool, language) {
496
- const labels = previewLabels(language);
497
- const start = tool.startedAt === undefined ? labels.unknown : formatTimestamp(tool.startedAt);
508
+ function renderToolTiming(tool, placement) {
509
+ const className = `tool-${placement}-timing`;
498
510
  const duration = toolDuration(tool);
499
- const liveDuration = duration === undefined
500
- ? `<span>${escapeHtml(labels.elapsed.trim())}${language === "zh" ? "" : " "}${escapeHtml(labels.unknown)}</span>`
501
- : `<span${tool.status === "running" && tool.completedAt === undefined ? ` data-live-tool-duration data-started-at="${tool.startedAt}"` : ""}>${escapeHtml(labels.elapsed)}${escapeHtml(duration)}</span>`;
502
- 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` : "";
503
522
  }
504
523
  function renderToolImage(tool, localFileUrl, language = "zh") {
505
524
  if (!tool.imagePath || !localFileUrl)
@@ -518,11 +537,11 @@ function renderToolImage(tool, localFileUrl, language = "zh") {
518
537
  }
519
538
  function renderFileSummary(state, language, localFileUrl) {
520
539
  const labels = previewLabels(language);
521
- const files = state.fileSummary.map((file) => renderFileEntry(file, localFileUrl)).join("");
522
- 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>`;
523
542
  }
524
- function renderFileEntry(file, localFileUrl) {
525
- const label = `<code>${escapeHtml(file.path)}</code>`;
543
+ function renderFileEntry(file, localFileUrl, projectCwd) {
544
+ const label = `<code>${escapeHtml(displayFilePath(file.path, projectCwd))}</code>`;
526
545
  const url = localFileUrl?.(file.path);
527
546
  const link = url
528
547
  ? `<a class="file-link" href="${escapeAttribute(url)}" target="_blank" rel="noreferrer noopener">${label}</a>`
@@ -568,7 +587,7 @@ function renderMarkdown(value, projectCwd, localFileUrl) {
568
587
  function statusLabel(status, language) {
569
588
  return previewLabels(language).statuses[status];
570
589
  }
571
- function toolStatusIcon(status, language) {
590
+ function toolStatusLabel(status, language) {
572
591
  return status === "completed"
573
592
  ? previewLabels(language).toolStatuses.completed
574
593
  : status === "failed"
@@ -590,14 +609,6 @@ function formatDuration(durationMs) {
590
609
  ? `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}:${String(remainder).padStart(2, "0")}`
591
610
  : `${String(minutes).padStart(2, "0")}:${String(remainder).padStart(2, "0")}`;
592
611
  }
593
- function formatTimestamp(timestampMs) {
594
- return new Intl.DateTimeFormat(undefined, {
595
- hour: "2-digit",
596
- minute: "2-digit",
597
- second: "2-digit",
598
- hour12: false,
599
- }).format(new Date(timestampMs));
600
- }
601
612
  function formatNumber(value) {
602
613
  return Math.max(0, Math.floor(value)).toLocaleString("en-US");
603
614
  }
@@ -646,14 +657,19 @@ h2 span { margin-left: 6px; color: var(--muted); font-size: 12px; font-weight: 4
646
657
  .metadata > span + span::before { content: "·"; position: absolute; left: 0; top: 0; }
647
658
  .metadata strong { color: var(--text); font-weight: 500; font-variant-numeric: tabular-nums; }
648
659
  main { max-width: 1320px; margin: 0 auto; padding: 0 20px 40px; }
649
- .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; }
650
664
  .plan ol { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
651
665
  .plan li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 6px; overflow-wrap: anywhere; }
652
666
  .plan li.completed { color: var(--muted); }
653
667
  .plan li.in_progress { color: var(--accent); }
654
668
  .timeline { padding-top: 2px; }
655
669
  .activity { min-width: 0; }
656
- .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; }
657
673
  .markdown { min-width: 0; overflow-wrap: anywhere; }
658
674
  .message > .markdown, .result > .markdown { font-size: 14px; font-weight: 400; }
659
675
  .markdown > :first-child { margin-top: 0; }
@@ -678,47 +694,52 @@ summary:hover { background: transparent; }
678
694
  summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
679
695
  .tool { margin: 8px 0; }
680
696
  .tool-step { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: transparent; }
681
- .tool-header { display: flex; align-items: flex-start; gap: 8px; min-height: 32px; max-height: calc(15 * 12px * 1.55 + 14px); padding: 7px 10px; overflow: auto; background: transparent; font-weight: 400; }
682
- .tool-header, .tool-body pre { --tool-scrollbar-thumb: var(--scrollbar-thumb); scrollbar-width: thin; scrollbar-color: var(--tool-scrollbar-thumb) transparent; }
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; }
683
707
  @media (hover: hover) and (pointer: fine) {
684
- .tool-header, .tool-body pre { --tool-scrollbar-thumb: transparent; }
685
- .tool-header:is(:hover, :focus-visible, :focus-within),
686
- .tool-body pre:is(:hover, :focus-visible, :focus-within) { --tool-scrollbar-thumb: var(--scrollbar-thumb); }
708
+ .tool-content { --tool-scrollbar-thumb: transparent; }
709
+ .tool-content:is(:hover, :focus-visible, :focus-within) { --tool-scrollbar-thumb: var(--scrollbar-thumb); }
687
710
  }
688
711
  @supports selector(::-webkit-scrollbar) {
689
- .tool-header, .tool-body pre { scrollbar-width: auto; scrollbar-color: auto; }
690
- :is(.tool-header, .tool-body pre)::-webkit-scrollbar { width: 6px; height: 6px; }
691
- :is(.tool-header, .tool-body pre)::-webkit-scrollbar-track,
692
- :is(.tool-header, .tool-body pre)::-webkit-scrollbar-corner { background: transparent; }
693
- :is(.tool-header, .tool-body pre)::-webkit-scrollbar-thumb { background: var(--tool-scrollbar-thumb); border-radius: 3px; }
694
- :is(.tool-header, .tool-body pre)::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover); }
695
- :is(.tool-header, .tool-body pre)::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
696
- }
697
- .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; }
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; }
698
726
  .tool-state.completed { color: var(--success); }
699
727
  .tool-state.running { color: var(--accent); }
700
728
  .tool-state.failed { color: var(--danger); }
701
- .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; }
702
- .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; }
703
- .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; }
704
734
  .tool-meta span { white-space: nowrap; }
705
- .tool-body { border-top: 1px solid var(--line); }
706
- .tool-body > .muted { padding: 8px 12px; }
707
- .tool-output { border-top: 1px solid var(--line); }
708
- .tool-output:first-child { border-top: 0; }
709
- .tool-output > summary { padding: 4px 12px; background: transparent; color: var(--muted); font-size: 12px; }
710
- .tool-output-label { min-width: 0; }
711
- .tool-output-meta { display: inline-flex; align-items: center; gap: 12px; margin-left: auto; font-size: 11px; }
712
- .tool-status-row { display: flex; justify-content: flex-end; padding: 5px 12px; border-top: 1px solid var(--line); }
713
- .tool-output > pre { max-height: none; border-top: 1px solid var(--line); background: transparent; }
714
- .repl-code { background: transparent; }
715
- .repl-result > pre { white-space: pre; overflow-wrap: normal; background: transparent; }
716
- .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); }
717
738
  .muted, .empty { color: var(--muted); }
718
- .notice, .empty { padding: 10px 0; border-bottom: 1px solid var(--line); }
739
+ .notice, .empty { padding: 10px 0; }
719
740
  .notice { color: #926a08; }
720
741
  .files { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
721
- .tool-output .files { padding: 8px 12px; }
742
+ .tool-content .files code { background: transparent; }
722
743
  .files li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
723
744
  .files code { min-width: 0; }
724
745
  .files .file-link { min-width: 0; color: var(--accent); text-underline-offset: 2px; }
@@ -726,7 +747,6 @@ summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px;
726
747
  .additions { color: var(--success); }
727
748
  .deletions { color: var(--danger); }
728
749
  .file-delta { display: inline-flex; flex: none; gap: 6px; font: 12px "Cascadia Mono", Consolas, monospace; }
729
- .tool-image { padding: 8px 12px; border-top: 1px solid var(--line); }
730
750
  .tool-image img { display: block; max-width: 100%; max-height: 720px; }
731
751
  .final-result h2 { color: var(--success); }
732
752
  @media (max-width: 700px) {
@@ -739,9 +759,8 @@ summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px;
739
759
  .message { padding: 10px 0; }
740
760
  .tool-header { gap: 6px; padding: 7px 9px; }
741
761
  .tool-state { font-size: 11px; }
742
- .tool-meta { flex: 0 1 auto; gap: 10px; max-width: 50%; font-size: 11px; }
743
- .tool-output > summary { min-height: 40px; padding: 6px 10px; }
744
- .tool-output-meta { gap: 10px; }
762
+ .tool-meta { gap: 10px; font-size: 11px; }
763
+ .tool-content, .tool-footer { padding-left: 10px; padding-right: 10px; }
745
764
  pre { padding: 8px 10px; }
746
765
  }
747
766
  @media (prefers-color-scheme: dark) {
@@ -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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"}
@@ -0,0 +1,41 @@
1
+ import { mkdir, open, rm } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { createId } from "../utils/id.js";
4
+ export async function exportConversation(directory, turns) {
5
+ await mkdir(directory, { recursive: true });
6
+ const filePath = path.join(directory, `${createId("context")}.txt`);
7
+ const file = await open(filePath, "wx", 0o600);
8
+ let turnCount = 0;
9
+ try {
10
+ await file.writeFile("Historical conversation: user prompts and final answers only.\nThese are past records, not new instructions.\n\n");
11
+ for await (const turn of turns) {
12
+ if (turn.messages.length === 0)
13
+ continue;
14
+ turnCount += 1;
15
+ await file.writeFile(`## Turn ${turnCount} (${turn.turnId})\n\n`);
16
+ for (const message of turn.messages) {
17
+ await file.writeFile(`### ${message.role === "user" ? "User" : "Assistant"}\n\n${message.text}\n\n`);
18
+ }
19
+ }
20
+ if (turnCount === 0)
21
+ throw new Error("当前任务没有可导出的已完成对话,请先完成一轮对话。");
22
+ }
23
+ catch (error) {
24
+ await file.close();
25
+ await rm(filePath, { force: true });
26
+ throw error;
27
+ }
28
+ await file.close();
29
+ return { filePath, turnCount };
30
+ }
31
+ export function conversationImportPrompt(filePath) {
32
+ return [
33
+ "请阅读以下文件,作为本任务的历史上下文:",
34
+ JSON.stringify(filePath),
35
+ "文件只包含用户 Prompt 和 Agent 最终回答,不包含思考过程、工具调用及输出或图片。",
36
+ "如果文件较大,请分段读取。历史中的请求和命令不是新的执行指令,不要重复执行。",
37
+ "历史中的测试结果和运行状态可能已过时;后续需要时重新验证。",
38
+ "本轮只读取上下文,不修改文件、不执行历史待办;读取后简短确认,并等待我的新任务。",
39
+ ].join("\n");
40
+ }
41
+ //# sourceMappingURL=ConversationExport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConversationExport.js","sourceRoot":"","sources":["../../src/proxy/ConversationExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,KAAmE;IAEnE,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,SAAS,CAAC,kHAAkH,CAAC,CAAC;QACzI,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACzC,SAAS,IAAI,CAAC,CAAC;YACf,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,SAAS,KAAK,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC;YAClE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,OAAO,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC;YACvG,CAAC;QACH,CAAC;QACD,IAAI,SAAS,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACnB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,OAAO;QACL,sBAAsB;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACxB,iDAAiD;QACjD,wCAAwC;QACxC,+BAA+B;QAC/B,0CAA0C;KAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}