@esso0428/pi-subagents 0.15.13 → 0.15.15

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 (41) hide show
  1. package/CHANGELOG.md +6 -31
  2. package/dist/ui/agent-widget.d.ts +8 -0
  3. package/dist/ui/agent-widget.d.ts.map +1 -1
  4. package/dist/ui/agent-widget.js +40 -12
  5. package/dist/ui/agent-widget.js.map +1 -1
  6. package/dist/ui/ccstyle/diff/diff-renderer.d.ts.map +1 -1
  7. package/dist/ui/ccstyle/diff/diff-renderer.js +2 -4
  8. package/dist/ui/ccstyle/diff/diff-renderer.js.map +1 -1
  9. package/dist/ui/ccstyle/tool-renderer.d.ts.map +1 -1
  10. package/dist/ui/ccstyle/tool-renderer.js +17 -11
  11. package/dist/ui/ccstyle/tool-renderer.js.map +1 -1
  12. package/dist/ui/ccstyle/tool-result.d.ts +22 -10
  13. package/dist/ui/ccstyle/tool-result.d.ts.map +1 -1
  14. package/dist/ui/ccstyle/tool-result.js +160 -73
  15. package/dist/ui/ccstyle/tool-result.js.map +1 -1
  16. package/dist/ui/conversation-timeline.d.ts +16 -9
  17. package/dist/ui/conversation-timeline.d.ts.map +1 -1
  18. package/dist/ui/conversation-timeline.js +85 -61
  19. package/dist/ui/conversation-timeline.js.map +1 -1
  20. package/dist/ui/conversation-viewer.d.ts +4 -1
  21. package/dist/ui/conversation-viewer.d.ts.map +1 -1
  22. package/dist/ui/conversation-viewer.js +107 -110
  23. package/dist/ui/conversation-viewer.js.map +1 -1
  24. package/dist/write-execution.d.ts +0 -2
  25. package/dist/write-execution.d.ts.map +1 -1
  26. package/dist/write-execution.js +1 -5
  27. package/dist/write-execution.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/ui/agent-widget.ts +38 -12
  30. package/src/ui/ccstyle/diff/diff-renderer.ts +2 -7
  31. package/src/ui/ccstyle/tool-renderer.ts +23 -24
  32. package/src/ui/ccstyle/tool-result.ts +167 -107
  33. package/src/ui/conversation-timeline.ts +103 -62
  34. package/src/ui/conversation-viewer.ts +119 -124
  35. package/src/write-execution.ts +1 -7
  36. package/test/ui/agent-widget.test.ts +123 -0
  37. package/test/ui/conversation-diff.test.ts +1 -28
  38. package/test/ui/conversation-viewer.test.ts +181 -112
  39. package/test/write-execution.test.ts +0 -2
  40. package/.pi/tasks/tasks-01a09263-0ac6-77be-97f5-664b3ffea76b.json +0 -53
  41. package/.pi/workflows/index.json +0 -5
@@ -1,4 +1,4 @@
1
- import { truncateToWidth, wrapTextWithAnsi } from "@earendil-works/pi-tui";
1
+ import { truncateToWidth, visibleWidth, wrapTextWithAnsi } from "@earendil-works/pi-tui";
2
2
  import { renderEditDiffResult, renderWriteDiffResult, } from "./diff/diff-renderer.js";
3
3
  import { DEFAULT_TOOL_DISPLAY_CONFIG } from "./diff/types.js";
4
4
  import { sanitizeToolResultText, showMoreHintText } from "./diff/render-utils.js";
@@ -40,51 +40,161 @@ export function outputLineCount(result) {
40
40
  return text ? text.split("\n").length : 0;
41
41
  }
42
42
  export function countLines(text) {
43
- return text.trim() ? text.trim().split("\n").length : 0;
43
+ return text.trim() ? text.trim().split("\n").filter((line) => line.trim()).length : 0;
44
44
  }
45
+ /** Format arguments as stable, readable `key: value` rows for the Input rail. */
45
46
  export function formatToolInputArgs(args, maxChars = 8_000) {
46
47
  if (args === undefined || args === null)
47
48
  return "";
48
- const rendered = typeof args === "object" ? safeJson(args) : sanitizeToolResultText(String(args));
49
- const bounded = sanitizeToolResultText(rendered, maxChars);
50
- return rendered.length > maxChars ? `${bounded}…` : bounded;
49
+ if (typeof args !== "object" || Array.isArray(args)) {
50
+ const rendered = typeof args === "string" ? sanitizeToolResultText(args) : safeJson(args);
51
+ return rendered.length > maxChars ? `${rendered.slice(0, maxChars)}…` : rendered;
52
+ }
53
+ const preferred = [
54
+ "path", "file_path", "command", "query", "pattern", "url", "name",
55
+ "message", "content", "old_string", "new_string",
56
+ ];
57
+ const entries = Object.entries(args)
58
+ .filter(([, value]) => value !== undefined)
59
+ .sort(([left], [right]) => {
60
+ const li = preferred.indexOf(left);
61
+ const ri = preferred.indexOf(right);
62
+ if (li < 0 && ri < 0)
63
+ return left.localeCompare(right);
64
+ if (li < 0)
65
+ return 1;
66
+ if (ri < 0)
67
+ return -1;
68
+ return li - ri;
69
+ });
70
+ const lines = [];
71
+ for (const [key, value] of entries) {
72
+ const safeKey = sanitizeToolResultText(key);
73
+ if (typeof value === "string") {
74
+ const safeValue = sanitizeToolResultText(value);
75
+ if (safeValue.includes("\n")) {
76
+ lines.push(`${safeKey}:`);
77
+ lines.push(...safeValue.split("\n").map((line) => ` ${line}`));
78
+ }
79
+ else
80
+ lines.push(`${safeKey}: ${safeValue}`);
81
+ }
82
+ else {
83
+ const rendered = safeJson(value);
84
+ if (rendered.includes("\n")) {
85
+ lines.push(`${safeKey}:`);
86
+ lines.push(...rendered.split("\n").map((line) => ` ${line}`));
87
+ }
88
+ else
89
+ lines.push(`${safeKey}: ${rendered}`);
90
+ }
91
+ }
92
+ const rendered = lines.join("\n");
93
+ return rendered.length > maxChars ? `${rendered.slice(0, maxChars)}…` : rendered;
51
94
  }
52
95
  function hasExpandableDetail(text, args) {
53
96
  return countLines(text) > 1 || formatToolInputArgs(args).trim().length > 0;
54
97
  }
55
- /** Small Component used for the viewer-local Input/Output card. */
56
- class ExpandedToolIoView {
98
+ /** Viewer-local adaptation of pi-cc's structured Input/Output tool card. */
99
+ export class ExpandedToolIoView {
57
100
  input;
58
101
  output;
59
102
  isError;
60
- constructor(input, output, isError) {
103
+ maxOutputLines;
104
+ maxInputLines;
105
+ theme;
106
+ cachedWidth;
107
+ cachedLines;
108
+ lineSections = [];
109
+ hoveredSection = null;
110
+ showMoreRows = {};
111
+ constructor(input, output, isError, maxOutputLines = DEFAULT_TOOL_DISPLAY_CONFIG.expandedPreviewMaxLines, maxInputLines = DEFAULT_TOOL_DISPLAY_CONFIG.expandedPreviewMaxLines, theme) {
61
112
  this.input = input;
62
- this.output = output || "Done";
113
+ this.output = output;
63
114
  this.isError = isError;
115
+ this.maxOutputLines = maxOutputLines;
116
+ this.maxInputLines = maxInputLines;
117
+ this.theme = theme;
118
+ }
119
+ getInputBody() { return this.input; }
120
+ getOutputBody() { return this.output.trim() ? this.output : "Done"; }
121
+ setHoveredSection(section) {
122
+ if (this.hoveredSection === section)
123
+ return;
124
+ this.hoveredSection = section;
125
+ this.invalidate();
64
126
  }
127
+ sectionAtLine(line) { return this.lineSections[line] ?? null; }
128
+ showMoreLine(section) { return this.showMoreRows[section]; }
65
129
  render(width) {
66
130
  const safeWidth = toolViewportWidth(width);
131
+ if (this.cachedLines && this.cachedWidth === safeWidth)
132
+ return this.cachedLines;
133
+ const theme = this.theme;
134
+ const color = (name, value) => typeof theme?.fg === "function" ? theme.fg(name, value) : value;
135
+ const bold = (value) => typeof theme?.bold === "function" ? theme.bold(value) : value;
136
+ const rail = " │ ";
137
+ const contentWidth = Math.max(1, safeWidth - visibleWidth(rail));
138
+ const bodyColor = this.isError ? "error" : "toolOutput";
67
139
  const rows = [];
68
- const addSection = (title, body, last) => {
69
- rows.push(truncateToWidth(`${last ? "└" : "├"} ${title}`, safeWidth, ""));
70
- const source = body.replace(/\t/g, " ").replace(/\n+$/, "") || "(empty)";
71
- for (const line of source.split("\n")) {
72
- for (const wrapped of wrapTextWithAnsi(line, Math.max(1, safeWidth - 3))) {
73
- const prefix = last ? " " : "│ ";
74
- rows.push(truncateToWidth(`${prefix}${wrapped}`, safeWidth, ""));
75
- }
140
+ this.lineSections = [];
141
+ this.showMoreRows = {};
142
+ const push = (line, section) => {
143
+ rows.push(truncateToWidth(line, safeWidth, ""));
144
+ this.lineSections.push(section);
145
+ };
146
+ const pushHeader = (corner, title) => {
147
+ push(color("dim", ` ${corner} `) + color("accent", bold(title)), null);
148
+ };
149
+ const pushRail = (line, section, continued) => {
150
+ push(color("dim", continued ? rail : " ") + line, section);
151
+ };
152
+ const pushBody = (body, section, limit, continued, input) => {
153
+ const raw = body.replace(/\t/g, " ").replace(/\n+$/, "");
154
+ if (!raw.trim()) {
155
+ pushRail(color("dim", "(empty)"), section, continued);
156
+ return;
157
+ }
158
+ const sources = raw.split("\n");
159
+ const wrapped = [];
160
+ const styleInput = (line) => {
161
+ const match = line.match(/^([A-Za-z_][\w.-]*)(:\s*)(.*)$/);
162
+ return match
163
+ ? color("dim", `${match[1]}${match[2]}`) + color("muted", match[3] ?? "")
164
+ : color("muted", line);
165
+ };
166
+ for (const source of sources) {
167
+ const styled = input ? styleInput(source) : color(bodyColor, source);
168
+ const lines = wrapTextWithAnsi(styled, contentWidth);
169
+ wrapped.push(...(lines.length ? lines : [styled]));
170
+ }
171
+ const truncated = sources.length > limit || wrapped.length > limit;
172
+ const visible = truncated ? wrapped.slice(0, limit) : wrapped;
173
+ for (const line of visible)
174
+ pushRail(line, section, continued);
175
+ if (truncated && wrapped.length > visible.length) {
176
+ const hidden = wrapped.length - visible.length;
177
+ const hintColor = this.hoveredSection === section ? "text" : "dim";
178
+ pushRail(color("dim", `… +${hidden} more lines`) + color("dim", " •") + color(hintColor, ` ${showMoreHintText()}`), section, continued);
179
+ this.showMoreRows[section] = rows.length - 1;
76
180
  }
77
181
  };
78
- if (this.input.trim()) {
79
- addSection("Input", this.input, false);
80
- addSection("Output", this.output, true);
81
- }
82
- else {
83
- addSection("Output", this.output, true);
182
+ const hasInput = this.input.trim().length > 0;
183
+ if (hasInput) {
184
+ pushHeader("├", "Input");
185
+ pushBody(this.input, "input", Math.max(1, this.maxInputLines), true, true);
186
+ push(color("dim", " │"), null);
84
187
  }
85
- return rows.map((row) => (this.isError ? row : row));
188
+ pushHeader("└", "Output");
189
+ pushBody(this.getOutputBody(), "output", Math.max(1, this.maxOutputLines), false, false);
190
+ this.cachedWidth = safeWidth;
191
+ this.cachedLines = rows;
192
+ return rows;
193
+ }
194
+ invalidate() {
195
+ this.cachedWidth = undefined;
196
+ this.cachedLines = undefined;
86
197
  }
87
- invalidate() { }
88
198
  }
89
199
  function unavailableComponent(reason, theme) {
90
200
  return {
@@ -94,9 +204,7 @@ function unavailableComponent(reason, theme) {
94
204
  invalidate() { },
95
205
  };
96
206
  }
97
- function resultText(result) {
98
- return rawTextFromResult(result);
99
- }
207
+ function resultText(result) { return rawTextFromResult(result); }
100
208
  function persistedFromDetails(details) {
101
209
  if (!details || typeof details !== "object")
102
210
  return undefined;
@@ -105,39 +213,31 @@ function persistedFromDetails(details) {
105
213
  persisted.diff = details.diff;
106
214
  if (typeof details.patch === "string")
107
215
  persisted.patch = details.patch;
108
- if (typeof details.diffUnavailableReason === "string") {
216
+ if (typeof details.diffUnavailableReason === "string")
109
217
  persisted.diffUnavailableReason = details.diffUnavailableReason;
110
- }
111
218
  return Object.keys(persisted).length ? persisted : undefined;
112
219
  }
113
220
  function viewerConfig(context) {
114
221
  const candidate = context?.diffConfig;
115
- if (!candidate || typeof candidate !== "object")
116
- return DEFAULT_TOOL_DISPLAY_CONFIG;
117
- return {
118
- ...DEFAULT_TOOL_DISPLAY_CONFIG,
119
- ...candidate,
120
- };
222
+ return candidate && typeof candidate === "object"
223
+ ? { ...DEFAULT_TOOL_DISPLAY_CONFIG, ...candidate }
224
+ : DEFAULT_TOOL_DISPLAY_CONFIG;
121
225
  }
122
- /**
123
- * Rich edit/write rendering for the conversation viewer. Durable details are
124
- * passed through before any live/ephemeral context so history is deterministic.
125
- */
126
226
  export function renderRichToolResult(toolName, result, options, theme, context) {
127
227
  if (options?.isPartial || options?.isError || context?.isError)
128
228
  return undefined;
129
229
  const expanded = options?.expanded === true || context?.expanded === true;
130
230
  const args = context?.args ?? options?.args;
131
- const filePath = args?.file_path ?? args?.path;
132
231
  const details = result?.details;
133
232
  const persistedDiff = context?.persistedDiff ?? persistedFromDetails(details);
134
233
  const fileExistedBeforeWrite = typeof context?.fileExistedBeforeWrite === "boolean"
135
234
  ? context.fileExistedBeforeWrite
136
- : typeof details?.fileExistedBeforeWrite === "boolean"
137
- ? details.fileExistedBeforeWrite
138
- : undefined;
235
+ : typeof details?.fileExistedBeforeWrite === "boolean" ? details.fileExistedBeforeWrite : undefined;
139
236
  if (toolName === "edit") {
140
- return renderEditDiffResult(details, { expanded, filePath, persistedDiff, isHovered: options?.isHovered, invalidate: context?.invalidate }, viewerConfig(context), theme, resultText(result));
237
+ return renderEditDiffResult(details, {
238
+ expanded, filePath: args?.file_path ?? args?.path, persistedDiff,
239
+ isHovered: options?.isHovered, invalidate: context?.invalidate,
240
+ }, viewerConfig(context), theme, resultText(result));
141
241
  }
142
242
  if (toolName !== "write")
143
243
  return undefined;
@@ -145,12 +245,12 @@ export function renderRichToolResult(toolName, result, options, theme, context)
145
245
  return unavailableComponent(persistedDiff.diffUnavailableReason, theme);
146
246
  }
147
247
  const content = typeof args?.content === "string" ? args.content : undefined;
148
- if (!content && !persistedDiff?.diff && !persistedDiff?.patch) {
248
+ if (typeof content !== "string" && !persistedDiff?.diff && !persistedDiff?.patch) {
149
249
  return unavailableComponent("execution metadata is unavailable", theme);
150
250
  }
151
251
  return renderWriteDiffResult(content, {
152
252
  expanded,
153
- filePath,
253
+ filePath: args?.file_path ?? args?.path,
154
254
  persistedDiff,
155
255
  previousContent: context?.previousContent,
156
256
  fileExistedBeforeWrite,
@@ -158,47 +258,34 @@ export function renderRichToolResult(toolName, result, options, theme, context)
158
258
  invalidate: context?.invalidate,
159
259
  }, viewerConfig(context), theme, resultText(result));
160
260
  }
161
- function renderCallSummary(toolName, args, theme) {
162
- const title = toolName.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ");
163
- const value = args?.path ?? args?.file_path ?? args?.command ?? args?.query ?? args?.name;
164
- const summary = value === undefined ? title : `${title} ${oneLine(value)}`;
165
- return theme.fg("toolTitle", summary);
166
- }
167
- function settledIcon(context) {
168
- if (context?.isError)
169
- return "✗";
170
- if (context?.isPartial || context?.executionStarted)
171
- return "●";
172
- return "✓";
173
- }
174
261
  function renderFallbackResult(result, options, theme, context) {
175
262
  const error = options?.isError || context?.isError;
176
263
  const expanded = options?.expanded === true || context?.expanded === true;
177
- const text = textFromResult(result, expanded);
178
- if (expanded && (text.trim() || formatToolInputArgs(context?.args).trim())) {
179
- return new ExpandedToolIoView(formatToolInputArgs(context?.args), text, Boolean(error));
264
+ const maxChars = Number.isFinite(context?.maxChars) ? Math.max(0, Math.floor(context.maxChars)) : 16_384;
265
+ const text = textFromResult(result, expanded, maxChars);
266
+ const input = formatToolInputArgs(context?.args, maxChars);
267
+ if (expanded && (text.trim() || input.trim())) {
268
+ const maxLines = Number.isFinite(context?.diffConfig?.expandedPreviewMaxLines)
269
+ ? Math.max(1, Math.floor(context.diffConfig.expandedPreviewMaxLines))
270
+ : DEFAULT_TOOL_DISPLAY_CONFIG.expandedPreviewMaxLines;
271
+ return new ExpandedToolIoView(input, text, Boolean(error), maxLines, maxLines, theme);
180
272
  }
181
- const lines = text ? text.split("\n") : [];
182
- const count = lines.length;
273
+ const count = text ? text.split("\n").length : 0;
183
274
  const summary = error ? oneLine(text) || "Failed" : count ? `${count} ${count === 1 ? "line" : "lines"} returned` : "Done";
184
275
  const expandable = !expanded && hasExpandableDetail(text, context?.args);
185
276
  return {
186
277
  render(width) {
187
278
  const hovered = options?.isHovered?.() ?? context?.isHovered?.() ?? false;
188
- const clickLabel = showMoreHintText();
189
- const hint = expandable ? ` • ${clickLabel}` : "";
190
- const color = error ? "error" : "muted";
279
+ const hint = expandable ? ` • ${showMoreHintText()}` : "";
191
280
  const line = expandable && hovered
192
- ? theme.fg(color, ` ↳ ${summary} • `) + theme.fg("text", clickLabel)
193
- : theme.fg(color, ` ↳ ${summary}${hint}`);
281
+ ? theme.fg(error ? "error" : "muted", ` ↳ ${summary} • `) + theme.fg("text", showMoreHintText())
282
+ : theme.fg(error ? "error" : "muted", ` ↳ ${summary}${hint}`);
194
283
  return [truncateToWidth(line, toolViewportWidth(width), "")];
195
284
  },
196
285
  invalidate() { },
197
286
  };
198
287
  }
199
288
  export function createViewerCcstyleResult(toolName, result, options, theme, context) {
200
- return (renderRichToolResult(toolName, result, options, theme, context) ??
201
- renderFallbackResult(result, options, theme, context));
289
+ return renderRichToolResult(toolName, result, options, theme, context) ?? renderFallbackResult(result, options, theme, context);
202
290
  }
203
- export { ExpandedToolIoView };
204
291
  //# sourceMappingURL=tool-result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result.js","sourceRoot":"","sources":["../../../src/ui/ccstyle/tool-result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-result.js","sourceRoot":"","sources":["../../../src/ui/ccstyle/tool-result.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,14 @@ export interface TimelineRenderLine {
8
8
  blockIndex: number;
9
9
  railable?: boolean;
10
10
  }
11
- export interface TimelineToolSpan {
12
- toolCallId: string;
11
+ export interface TimelineBlockSpan {
12
+ /** Index into the snapshot's messageBlocks array, not the source block array. */
13
+ blockIndex: number;
13
14
  startLine: number;
14
15
  height: number;
16
+ }
17
+ export interface TimelineToolSpan extends TimelineBlockSpan {
18
+ toolCallId: string;
15
19
  /** The only row that opens a collapsed card with a single click. */
16
20
  clickStartLine?: number;
17
21
  clickHeight?: number;
@@ -21,8 +25,15 @@ export interface ConversationTimelineSnapshot {
21
25
  messageStarts: number[];
22
26
  messageBlocks: ConversationBlock[];
23
27
  interactiveToolIds: string[];
28
+ blockSpans: TimelineBlockSpan[];
24
29
  toolSpans: TimelineToolSpan[];
25
30
  }
31
+ export interface ConversationTimelineMouseResult {
32
+ handled?: boolean;
33
+ capture?: boolean;
34
+ render?: boolean;
35
+ focusedBlockIndex?: number;
36
+ }
26
37
  export interface ConversationTimelineOptions {
27
38
  cwd?: string;
28
39
  record?: AgentRecord;
@@ -43,7 +54,8 @@ export declare class ConversationTimeline implements Component {
43
54
  private focusedToolCallId;
44
55
  private expandedTools;
45
56
  private hoveredToolCallId;
46
- /** The last tool clicked; used to make only clickCount=2 collapse it. */
57
+ private hoveredIoView;
58
+ private hoveredIoSection;
47
59
  private lastClickedToolCallId;
48
60
  private lastClickedPoint;
49
61
  private toolComponents;
@@ -55,17 +67,12 @@ export declare class ConversationTimeline implements Component {
55
67
  getShowTools(): boolean;
56
68
  setFocusedToolCallId(id: string | undefined): void;
57
69
  getFocusedToolCallId(): string | undefined;
58
- getHoveredToolCallId(): string | undefined;
59
70
  getSnapshot(): ConversationTimelineSnapshot;
60
71
  moveFocus(direction: 1 | -1): boolean;
61
72
  toggleFocusedTool(): boolean;
62
73
  isToolFocused(): boolean;
63
74
  render(width: number): string[];
64
- handleMouse(event: TuiMouseEvent): {
65
- handled?: boolean;
66
- capture?: boolean;
67
- render?: boolean;
68
- } | undefined;
75
+ handleMouse(event: TuiMouseEvent): ConversationTimelineMouseResult | undefined;
69
76
  invalidate(): void;
70
77
  }
71
78
  //# sourceMappingURL=conversation-timeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-timeline.d.ts","sourceRoot":"","sources":["../../src/ui/conversation-timeline.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,GAAG,EACR,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AASlC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,2BAA2B;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAiFD;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,SAAS;IAoBlD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IArB1B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,yEAAyE;IACzE,OAAO,CAAC,qBAAqB,CAAqB;IAClD,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,OAAO,CAAC,cAAc,CAAsF;IAC5G,OAAO,CAAC,QAAQ,CAMd;IACF,OAAO,CAAC,SAAS,CAAK;gBAGH,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,2BAAgC;IAG5D,SAAS,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI;IAcrD,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAYjC,YAAY,IAAI,OAAO;IAIvB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKlD,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAI1C,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAI1C,WAAW,IAAI,4BAA4B;IAK3C,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO;IAarC,iBAAiB,IAAI,OAAO;IAU5B,aAAa,IAAI,OAAO;IAIxB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAoH/B,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;IAqEzG,UAAU,IAAI,IAAI;CAInB"}
1
+ {"version":3,"file":"conversation-timeline.d.ts","sourceRoot":"","sources":["../../src/ui/conversation-timeline.ts"],"names":[],"mappings":"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"}