@markusylisiurunen/tau 0.2.16 → 0.2.18

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 (62) hide show
  1. package/README.md +40 -22
  2. package/dist/core/auth/providers/openai_codex.js +37 -5
  3. package/dist/core/auth/providers/openai_codex.js.map +1 -1
  4. package/dist/core/commands/registry.js +34 -4
  5. package/dist/core/commands/registry.js.map +1 -1
  6. package/dist/core/personas.js +1 -1
  7. package/dist/core/prompts.js +3 -1
  8. package/dist/core/prompts.js.map +1 -1
  9. package/dist/core/session/core_session.js +3 -0
  10. package/dist/core/session/core_session.js.map +1 -1
  11. package/dist/core/session/session_engine.js +7 -0
  12. package/dist/core/session/session_engine.js.map +1 -1
  13. package/dist/core/subagents/default.js +1 -1
  14. package/dist/core/tools/bash.js +114 -130
  15. package/dist/core/tools/bash.js.map +1 -1
  16. package/dist/core/tools/edit.js +11 -17
  17. package/dist/core/tools/edit.js.map +1 -1
  18. package/dist/core/tools/execution_backend.js +31 -59
  19. package/dist/core/tools/execution_backend.js.map +1 -1
  20. package/dist/core/tools/grep.js +36 -87
  21. package/dist/core/tools/grep.js.map +1 -1
  22. package/dist/core/tools/list.js +20 -45
  23. package/dist/core/tools/list.js.map +1 -1
  24. package/dist/core/tools/read.js +35 -55
  25. package/dist/core/tools/read.js.map +1 -1
  26. package/dist/core/tools/registry.js.map +1 -1
  27. package/dist/core/tools/sandbox/docker_sandbox.js +2 -0
  28. package/dist/core/tools/sandbox/docker_sandbox.js.map +1 -1
  29. package/dist/core/tools/send_input_to_agent.js +1 -0
  30. package/dist/core/tools/send_input_to_agent.js.map +1 -1
  31. package/dist/core/tools/spawn_agent.js +1 -0
  32. package/dist/core/tools/spawn_agent.js.map +1 -1
  33. package/dist/core/tools/subagent_ui.js +5 -2
  34. package/dist/core/tools/subagent_ui.js.map +1 -1
  35. package/dist/core/tools/terminate_agent.js +1 -0
  36. package/dist/core/tools/terminate_agent.js.map +1 -1
  37. package/dist/core/tools/view_image.js +10 -16
  38. package/dist/core/tools/view_image.js.map +1 -1
  39. package/dist/core/tools/wait_for_agent.js +32 -35
  40. package/dist/core/tools/wait_for_agent.js.map +1 -1
  41. package/dist/core/tools/web_fetch.js +21 -8
  42. package/dist/core/tools/web_fetch.js.map +1 -1
  43. package/dist/core/tools/web_search.js +21 -8
  44. package/dist/core/tools/web_search.js.map +1 -1
  45. package/dist/core/tools/write.js +9 -21
  46. package/dist/core/tools/write.js.map +1 -1
  47. package/dist/core/usage/cli.js +71 -5
  48. package/dist/core/usage/cli.js.map +1 -1
  49. package/dist/core/utils/context_builder.js +1 -1
  50. package/dist/core/utils/context_builder.js.map +1 -1
  51. package/dist/core/utils/spawn_capture.js +60 -15
  52. package/dist/core/utils/spawn_capture.js.map +1 -1
  53. package/dist/core/utils/tool_preview.js +32 -4
  54. package/dist/core/utils/tool_preview.js.map +1 -1
  55. package/dist/core/utils/truncate.js +87 -48
  56. package/dist/core/utils/truncate.js.map +1 -1
  57. package/dist/core/version.js +1 -1
  58. package/dist/tui/chat_controller.js +138 -7
  59. package/dist/tui/chat_controller.js.map +1 -1
  60. package/dist/tui/ui/tool_ui_registry.js +2 -0
  61. package/dist/tui/ui/tool_ui_registry.js.map +1 -1
  62. package/package.json +3 -2
@@ -2,19 +2,40 @@ import { Type } from "@sinclair/typebox";
2
2
  import stripAnsi from "strip-ansi";
3
3
  import { z } from "zod";
4
4
  import { createToolError, createToolResult } from "../utils/messages.js";
5
- import { formatTokenEstimate } from "../utils/token.js";
6
- import { formatBytes, truncateMiddleForModel } from "../utils/truncate.js";
7
- export const BASH_TOOL_MAX_STDOUT_LINES = 4096;
8
- export const BASH_TOOL_MAX_STDOUT_TOKENS = 25000;
9
- export const BASH_TOOL_MAX_STDERR_LINES = 4096;
10
- export const BASH_TOOL_MAX_STDERR_TOKENS = 25000;
11
- export const BASH_USER_MAX_STDOUT_LINES = 16384;
12
- export const BASH_USER_MAX_STDOUT_TOKENS = 100000;
13
- export const BASH_USER_MAX_STDERR_LINES = 4096;
14
- export const BASH_USER_MAX_STDERR_TOKENS = 25000;
5
+ import { bytesToTokens, formatTokenEstimate } from "../utils/token.js";
6
+ import { buildHeadTailPreviewLines } from "../utils/tool_preview.js";
7
+ import { formatBytes, TRUNCATION_MARKER, truncateForTokens, } from "../utils/truncate.js";
8
+ const BASH_MODEL_DEFAULT_MAX_TOKENS = 4096;
9
+ const BASH_MODEL_DEFAULT_PREVIEW_TOKENS = 512;
10
+ const BASH_MODEL_MAX_AUTONOMOUS_TOKENS = 16384;
11
+ const BASH_MAX_OUTPUT_TOKENS = 65536;
12
+ const BASH_USER_MAX_TOKENS = BASH_MAX_OUTPUT_TOKENS;
13
+ const BASH_MODEL_DEFAULT_POLICY = {
14
+ maxTokens: BASH_MODEL_DEFAULT_MAX_TOKENS,
15
+ gateOnExcess: true,
16
+ previewTokens: BASH_MODEL_DEFAULT_PREVIEW_TOKENS,
17
+ };
18
+ const BASH_USER_POLICY = {
19
+ maxTokens: BASH_USER_MAX_TOKENS,
20
+ };
21
+ function clampOutputTokens(value) {
22
+ if (value === undefined || !Number.isFinite(value))
23
+ return undefined;
24
+ return Math.min(Math.max(value, BASH_MODEL_DEFAULT_MAX_TOKENS), BASH_MAX_OUTPUT_TOKENS);
25
+ }
26
+ export function getBashOutputPolicy(args) {
27
+ if (args.mode === "user") {
28
+ return BASH_USER_POLICY;
29
+ }
30
+ if (args.hasMaxOutputTokens) {
31
+ const maxTokens = clampOutputTokens(args.maxOutputTokens) ?? BASH_MODEL_DEFAULT_MAX_TOKENS;
32
+ return { maxTokens };
33
+ }
34
+ return BASH_MODEL_DEFAULT_POLICY;
35
+ }
15
36
  export const BASH_DEFAULT_TIMEOUT_MS = 60_000;
16
37
  const BASH_DESCRIPTION = [
17
- "Execute a shell command in the current working directory and return stdout/stderr.",
38
+ "Execute a shell command in the current working directory and return its output.",
18
39
  "Interactive commands are not supported (no TTY/stdin); commands that prompt or open editors will hang or fail.",
19
40
  "CRITICAL: Always evaluate and provide an accurate safetyLevel assessment.",
20
41
  ].join(" ");
@@ -28,6 +49,13 @@ const BASH_SAFETY_LEVEL_DESCRIPTION = [
28
49
  ].join(" ");
29
50
  const BASH_WORKING_DIRECTORY_DESCRIPTION = "Working directory for the command. If omitted, uses the current working directory. Prefer this over `cd` in the command.";
30
51
  const BASH_TIMEOUT_DESCRIPTION = "Timeout in milliseconds. If omitted, defaults to 60 seconds. Use a longer timeout for known slow operations like builds or large clones.";
52
+ const BASH_MAX_OUTPUT_TOKENS_DESCRIPTION = [
53
+ "Optional maximum number of output tokens to return to the model.",
54
+ `Leave unset by default. If more output is needed, set a value between ${BASH_MODEL_DEFAULT_MAX_TOKENS} and ${BASH_MODEL_MAX_AUTONOMOUS_TOKENS}.`,
55
+ `Only exceed ${BASH_MODEL_MAX_AUTONOMOUS_TOKENS} when the user explicitly requests more output, up to ${BASH_MAX_OUTPUT_TOKENS}.`,
56
+ `User requests are checked by the system, so do not exceed ${BASH_MODEL_MAX_AUTONOMOUS_TOKENS} autonomously.`,
57
+ `If unset and output exceeds ${BASH_MODEL_DEFAULT_MAX_TOKENS} tokens, the tool returns a ${BASH_MODEL_DEFAULT_PREVIEW_TOKENS}-token preview with a gating notice.`,
58
+ ].join(" ");
31
59
  export const BASH_TOOL = {
32
60
  name: "bash",
33
61
  description: BASH_DESCRIPTION,
@@ -45,63 +73,50 @@ export const BASH_TOOL = {
45
73
  timeout: Type.Optional(Type.Number({
46
74
  description: BASH_TIMEOUT_DESCRIPTION,
47
75
  })),
76
+ maxOutputTokens: Type.Optional(Type.Integer({
77
+ description: BASH_MAX_OUTPUT_TOKENS_DESCRIPTION,
78
+ minimum: 1,
79
+ maximum: BASH_MAX_OUTPUT_TOKENS,
80
+ })),
48
81
  }, { additionalProperties: false }),
49
82
  };
50
- export function prepareBashOutput(stdout, stderr, captureTruncated, limits) {
51
- const cleanStdout = stripAnsi(stdout);
52
- const cleanStderr = stripAnsi(stderr);
53
- const stdoutTrunc = truncateMiddleForModel(cleanStdout, {
54
- maxLines: limits.stdout.maxLines,
55
- maxTokens: limits.stdout.maxTokens,
56
- });
57
- const stderrTrunc = truncateMiddleForModel(cleanStderr, {
58
- maxLines: limits.stderr.maxLines,
59
- maxTokens: limits.stderr.maxTokens,
83
+ export function prepareBashOutput(output, captureTruncated, policy) {
84
+ const cleanOutput = stripAnsi(output);
85
+ const maxTruncation = truncateForTokens(cleanOutput, {
86
+ maxTokens: policy.maxTokens,
87
+ strategy: "middle",
60
88
  });
61
- const stdoutHasOutput = stdoutTrunc.content.trim().length > 0;
62
- const stderrHasOutput = stderrTrunc.content.trim().length > 0;
63
- const combinedParts = [];
64
- if (stdoutHasOutput) {
65
- combinedParts.push(stdoutTrunc.content);
66
- }
67
- if (stderrHasOutput) {
68
- combinedParts.push(`[stderr]\n${stderrTrunc.content}`);
69
- }
70
- const combined = combinedParts.join("\n");
71
- const combinedTotalParts = [];
72
- const stdoutRawHasOutput = cleanStdout.trim().length > 0;
73
- const stderrRawHasOutput = cleanStderr.trim().length > 0;
74
- if (stdoutRawHasOutput) {
75
- combinedTotalParts.push(cleanStdout);
89
+ if (policy.gateOnExcess && maxTruncation.truncated) {
90
+ const previewTokens = policy.previewTokens ?? BASH_MODEL_DEFAULT_PREVIEW_TOKENS;
91
+ const previewTruncation = truncateForTokens(cleanOutput, {
92
+ maxTokens: previewTokens,
93
+ strategy: "middle",
94
+ });
95
+ return {
96
+ output: previewTruncation.content,
97
+ model: previewTruncation,
98
+ captureTruncated,
99
+ gated: true,
100
+ };
76
101
  }
77
- if (stderrRawHasOutput) {
78
- combinedTotalParts.push(`[stderr]\n${cleanStderr}`);
79
- }
80
- const combinedTotal = combinedTotalParts.join("\n");
81
- const modelTruncation = {
82
- content: combined,
83
- truncated: stdoutTrunc.truncated || stderrTrunc.truncated,
84
- truncatedBy: (stdoutTrunc.truncatedBy || stderrTrunc.truncatedBy),
85
- totalLines: combinedTotal === "" ? 0 : combinedTotal.split("\n").length,
86
- totalBytes: Buffer.byteLength(combinedTotal, "utf-8"),
87
- outputLines: combined === "" ? 0 : combined.split("\n").length,
88
- outputBytes: Buffer.byteLength(combined, "utf-8"),
89
- maxLines: limits.stdout.maxLines + limits.stderr.maxLines,
90
- maxTokens: limits.stdout.maxTokens + limits.stderr.maxTokens,
91
- };
92
102
  return {
93
- output: combined,
94
- rawOutput: combinedTotal,
95
- model: modelTruncation,
103
+ output: maxTruncation.content,
104
+ model: maxTruncation,
96
105
  captureTruncated,
97
106
  };
98
107
  }
99
108
  export function formatBashToolResultText(args) {
100
109
  const { truncationInfo, exitCode } = args;
101
- const { model, captureTruncated } = truncationInfo;
110
+ const { model, captureTruncated, gated } = truncationInfo;
111
+ if (gated) {
112
+ const preview = model.content.trimEnd() || "(no output)";
113
+ const gateNote = `\n\n[output gated: this command already ran and any side effects have persisted. if the large output was expected, re-run this bash tool call with maxOutputTokens set (${BASH_MODEL_DEFAULT_MAX_TOKENS}-${BASH_MODEL_MAX_AUTONOMOUS_TOKENS}; up to ${BASH_MAX_OUTPUT_TOKENS} only when the user explicitly requests it). user requests are checked by the system, so do not exceed ${BASH_MODEL_MAX_AUTONOMOUS_TOKENS} autonomously.]`;
114
+ const exitNote = exitCode !== null && exitCode !== 0 ? `\n(exit ${exitCode})` : "";
115
+ return `${preview}${gateNote}${exitNote}`;
116
+ }
102
117
  const outputForContext = model.content.trimEnd() || "(no output)";
103
118
  const truncNote = model.truncated || captureTruncated
104
- ? `\n\n[output truncated for context: ${model.outputLines} lines / ${model.outputBytes} bytes shown of ${model.totalLines} lines / ${model.totalBytes} bytes]`
119
+ ? `\n\n[output truncated for context: ${model.outputLines} lines / ${formatBytes(model.outputBytes)} shown of ${model.totalLines} lines / ${formatBytes(model.totalBytes)} (~${bytesToTokens(model.totalBytes)} tokens)]`
105
120
  : "";
106
121
  const exitNote = exitCode !== null && exitCode !== 0 ? `\n(exit ${exitCode})` : "";
107
122
  return `${outputForContext}${truncNote}${exitNote}`;
@@ -111,38 +126,13 @@ export function formatBashUserMessageText(args) {
111
126
  const { model, captureTruncated } = truncationInfo;
112
127
  const outputForContext = model.content.trimEnd() || "(no output)";
113
128
  const truncNote = model.truncated || captureTruncated
114
- ? `\n\n[output truncated for context: ${model.outputLines} lines / ${model.outputBytes} bytes shown of ${model.totalLines} lines / ${model.totalBytes} bytes]`
129
+ ? `\n\n[output truncated for context: ${model.outputLines} lines / ${formatBytes(model.outputBytes)} shown of ${model.totalLines} lines / ${formatBytes(model.totalBytes)} (~${bytesToTokens(model.totalBytes)} tokens)]`
115
130
  : "";
116
131
  const bashContextText = `$ ${command}\n${outputForContext}${truncNote}`;
117
132
  return `Bash command output:\n${bashContextText}`;
118
133
  }
119
134
  const COMPACT_OUTPUT_HEAD_LINES = 3;
120
135
  const COMPACT_OUTPUT_TAIL_LINES = 3;
121
- const BASH_UI_MAX_LINE_LENGTH = 256;
122
- function truncateLineToMax(line) {
123
- if (BASH_UI_MAX_LINE_LENGTH <= 0)
124
- return "";
125
- const chars = Array.from(line);
126
- if (chars.length <= BASH_UI_MAX_LINE_LENGTH)
127
- return line;
128
- if (BASH_UI_MAX_LINE_LENGTH === 1)
129
- return "…";
130
- return `${chars.slice(0, BASH_UI_MAX_LINE_LENGTH - 1).join("")}…`;
131
- }
132
- function buildCompactOutputLines(output, headCount = COMPACT_OUTPUT_HEAD_LINES, tailCount = COMPACT_OUTPUT_TAIL_LINES) {
133
- const cleaned = output.replace(/\n+$/, "");
134
- if (cleaned.trim().length === 0)
135
- return [];
136
- const lines = cleaned.split("\n");
137
- const total = lines.length;
138
- if (total <= headCount + tailCount)
139
- return lines.map(truncateLineToMax);
140
- const head = lines.slice(0, headCount).map(truncateLineToMax);
141
- const tail = lines.slice(Math.max(total - tailCount, headCount)).map(truncateLineToMax);
142
- const remaining = Math.max(0, total - head.length - tail.length);
143
- const label = remaining === 1 ? "line" : "lines";
144
- return [...head, `…${remaining} more ${label}…`, ...tail];
145
- }
146
136
  function formatDurationMs(durationMs) {
147
137
  if (durationMs === null || durationMs === undefined || !Number.isFinite(durationMs)) {
148
138
  return "?ms";
@@ -154,54 +144,36 @@ function formatDurationMs(durationMs) {
154
144
  return `${(ms / 1000).toFixed(1)}s`;
155
145
  return `${Math.round(ms / 1000)}s`;
156
146
  }
157
- function formatSizeSummary(lines, bytes) {
158
- return `${lines} lines (${formatTokenEstimate(bytes)} · ${formatBytes(bytes)})`;
159
- }
160
147
  export function buildBashUiText(args) {
161
148
  const { truncationInfo, exitCode, durationMs } = args;
162
149
  const { model, captureTruncated } = truncationInfo;
163
150
  const previewSource = truncationInfo.output;
164
- const outputLinesPreview = buildCompactOutputLines(previewSource, args.previewLines?.head ?? COMPACT_OUTPUT_HEAD_LINES, args.previewLines?.tail ?? COMPACT_OUTPUT_TAIL_LINES);
151
+ const outputLinesPreview = buildHeadTailPreviewLines(previewSource, {
152
+ headLines: args.previewLines?.head ?? COMPACT_OUTPUT_HEAD_LINES,
153
+ tailLines: args.previewLines?.tail ?? COMPACT_OUTPUT_TAIL_LINES,
154
+ });
165
155
  const previewLines = outputLinesPreview.map((line) => ({
166
156
  text: line,
167
157
  }));
168
- const hasOutput = model.totalBytes > 0;
169
- const showTotals = model.truncated || captureTruncated;
170
- const outputLines = showTotals ? model.totalLines : model.outputLines;
171
- const outputBytes = showTotals ? model.totalBytes : model.outputBytes;
158
+ const outputLines = model.outputLines;
159
+ const outputBytes = model.outputBytes;
160
+ const hasOutput = outputBytes > 0;
172
161
  const exitSummary = exitCode === null ? "exit ?" : `exit ${exitCode}`;
173
162
  const durationLabel = formatDurationMs(durationMs);
174
163
  const lineLabel = hasOutput ? `${outputLines} line${outputLines === 1 ? "" : "s"}` : "no output";
175
- const bytesLabel = hasOutput ? formatBytes(outputBytes).toLowerCase() : undefined;
176
- const tokenLabel = hasOutput ? formatTokenEstimate(outputBytes) : "";
177
- const infoParts = bytesLabel
178
- ? [durationLabel, lineLabel, tokenLabel, bytesLabel]
179
- : [durationLabel, lineLabel];
180
- const infoText = infoParts.join(" · ");
181
- const summaryLine = `${exitSummary} · ${infoText}`;
182
- const fullLines = [];
183
- const pushSection = (text) => {
184
- if (!text)
185
- return;
186
- if (fullLines.length > 0) {
187
- fullLines.push({ text: "" });
188
- }
189
- for (const line of text.split("\n")) {
190
- fullLines.push({ text: line });
191
- }
192
- };
193
- const rawOutput = truncationInfo.rawOutput.trimEnd();
194
- if (rawOutput) {
195
- pushSection(rawOutput);
196
- }
164
+ const bytesLabel = hasOutput ? formatBytes(outputBytes) : undefined;
165
+ const tokenLabel = hasOutput ? formatTokenEstimate(outputBytes) : undefined;
166
+ const summaryParts = [];
197
167
  if (model.truncated || captureTruncated) {
198
- const shown = formatSizeSummary(model.outputLines, model.outputBytes);
199
- const total = formatSizeSummary(model.totalLines, model.totalBytes);
200
- pushSection(`truncated for model: ${shown} of ${total}`);
168
+ summaryParts.push(TRUNCATION_MARKER);
201
169
  }
202
- if (exitCode !== null && exitCode !== 0) {
203
- pushSection(`(exit ${exitCode})`);
170
+ summaryParts.push(exitSummary, durationLabel, lineLabel);
171
+ if (tokenLabel && bytesLabel) {
172
+ summaryParts.push(tokenLabel, bytesLabel);
204
173
  }
174
+ const summaryLine = summaryParts.join(" · ");
175
+ const fullText = args.fullText?.trimEnd() ?? "";
176
+ const fullLines = fullText ? fullText.split("\n").map((text) => ({ text })) : [];
205
177
  return {
206
178
  previewLines,
207
179
  statusLine: summaryLine,
@@ -222,6 +194,7 @@ const bashArgsSchema = z.object({
222
194
  safetyLevel: z.enum(["read", "write"]).optional().catch(undefined),
223
195
  workingDirectory: z.string().trim().optional().catch(undefined),
224
196
  timeout: z.number().positive().optional().catch(undefined),
197
+ maxOutputTokens: z.number().int().positive().optional().catch(undefined),
225
198
  });
226
199
  function parseBashArgs(raw) {
227
200
  const parsed = bashArgsSchema.safeParse(raw);
@@ -231,14 +204,24 @@ function parseBashArgs(raw) {
231
204
  : undefined;
232
205
  const workingDirectory = parsed.success ? parsed.data.workingDirectory : undefined;
233
206
  const timeout = parsed.success ? parsed.data.timeout : undefined;
207
+ const maxOutputTokens = parsed.success ? parsed.data.maxOutputTokens : undefined;
208
+ const hasMaxOutputTokens = typeof raw === "object" && raw !== null && "maxOutputTokens" in raw;
234
209
  const commandForDisplay = command || "(missing command)";
235
- return { command, safetyLevel, workingDirectory, timeout, commandForDisplay };
210
+ return {
211
+ command,
212
+ safetyLevel,
213
+ workingDirectory,
214
+ timeout,
215
+ maxOutputTokens: clampOutputTokens(maxOutputTokens),
216
+ hasMaxOutputTokens,
217
+ commandForDisplay,
218
+ };
236
219
  }
237
220
  export function createBashToolDefinition(backend) {
238
221
  return {
239
222
  schema: BASH_TOOL,
240
223
  async dispatch(toolCall, riskLevel, signal) {
241
- const { command, safetyLevel, workingDirectory, timeout, commandForDisplay } = parseBashArgs(toolCall.arguments);
224
+ const { command, safetyLevel, workingDirectory, timeout, maxOutputTokens, hasMaxOutputTokens, commandForDisplay, } = parseBashArgs(toolCall.arguments);
242
225
  const headerTarget = commandForDisplay.split(/\r?\n/)[0] ?? commandForDisplay;
243
226
  const blocked = (reason) => {
244
227
  const toolResult = createToolError(toolCall, reason);
@@ -276,25 +259,26 @@ export function createBashToolDefinition(backend) {
276
259
  run: (async () => {
277
260
  try {
278
261
  const startedAt = Date.now();
279
- const { stdout, stderr, exitCode, truncated: captureTruncated, } = await backend.runBash(command, {
262
+ const { output, exitCode, truncated: captureTruncated, } = await backend.runBash(command, {
280
263
  signal,
281
264
  timeoutMs: timeout ?? BASH_DEFAULT_TIMEOUT_MS,
282
265
  cwd: workingDirectory,
283
266
  });
284
267
  const durationMs = Math.max(0, Date.now() - startedAt);
285
- const truncationInfo = prepareBashOutput(stdout, stderr, captureTruncated, {
286
- stdout: {
287
- maxLines: BASH_TOOL_MAX_STDOUT_LINES,
288
- maxTokens: BASH_TOOL_MAX_STDOUT_TOKENS,
289
- },
290
- stderr: {
291
- maxLines: BASH_TOOL_MAX_STDERR_LINES,
292
- maxTokens: BASH_TOOL_MAX_STDERR_TOKENS,
293
- },
268
+ const outputPolicy = getBashOutputPolicy({
269
+ mode: "model",
270
+ maxOutputTokens,
271
+ hasMaxOutputTokens,
294
272
  });
273
+ const truncationInfo = prepareBashOutput(output, captureTruncated, outputPolicy);
295
274
  const toolText = formatBashToolResultText({ truncationInfo, exitCode });
296
275
  const isError = exitCode === null || exitCode !== 0;
297
- const uiText = buildBashUiText({ truncationInfo, exitCode, durationMs });
276
+ const uiText = buildBashUiText({
277
+ truncationInfo,
278
+ exitCode,
279
+ durationMs,
280
+ fullText: toolText,
281
+ });
298
282
  const toolResult = createToolResult(toolCall, toolText, isError);
299
283
  const uiEvent = {
300
284
  type: "bash_execution",
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../../src/core/tools/bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../../src/core/tools/bash.ts"],"names":[],"mappings":"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"}
@@ -155,9 +155,11 @@ function buildLineDiff(oldText, newText) {
155
155
  }
156
156
  return { lines, added, removed };
157
157
  }
158
+ function formatEditToolResultText(args) {
159
+ return args.summaryLine;
160
+ }
158
161
  function buildEditUiText(args) {
159
- const { oldLength, newLength, oldText, newText } = args;
160
- const { lines: diffLines, added, removed } = buildLineDiff(oldText, newText);
162
+ const { summaryLine, statusLine, diffLines } = args;
161
163
  const formatLine = (line) => {
162
164
  const text = line;
163
165
  if (line.startsWith("+ "))
@@ -167,10 +169,6 @@ function buildEditUiText(args) {
167
169
  return { text };
168
170
  };
169
171
  const previewLines = diffLines.map((line) => formatLine(line));
170
- const sizeDiff = newLength - oldLength;
171
- const diffStr = sizeDiff === 0 ? "same size" : sizeDiff > 0 ? `+${sizeDiff} chars` : `${sizeDiff} chars`;
172
- const summaryLine = `replaced ${oldLength} → ${newLength} chars (${diffStr})`;
173
- const statusLine = `+${added}, -${removed} · ${summaryLine}`;
174
172
  const fullLines = [{ text: summaryLine }];
175
173
  if (diffLines.length > 0) {
176
174
  fullLines.push({ text: "" }, ...diffLines.map((line) => formatLine(line)));
@@ -250,18 +248,14 @@ export function createEditToolDefinition(backend) {
250
248
  const newContent = content.replace(oldText, () => newText);
251
249
  try {
252
250
  await backend.writeFile(path, newContent);
253
- const oldLines = oldText.split("\n").length;
254
- const newLines = newText.split("\n").length;
255
- const lineDiff = newLines - oldLines;
256
- const lineDiffStr = lineDiff === 0 ? "" : lineDiff > 0 ? ` (+${lineDiff} lines)` : ` (${lineDiff} lines)`;
257
- const resultText = `successfully edited ${path}: replaced ${oldText.length} chars with ${newText.length} chars${lineDiffStr}`;
251
+ const { lines: diffLines, added, removed } = buildLineDiff(oldText, newText);
252
+ const sizeDiff = newText.length - oldText.length;
253
+ const sizeDiffStr = sizeDiff === 0 ? "same size" : sizeDiff > 0 ? `+${sizeDiff} chars` : `${sizeDiff} chars`;
254
+ const summaryLine = `successfully edited ${path}: ${oldText.length} ${newText.length} chars (${sizeDiffStr})`;
255
+ const statusLine = `+${added}, -${removed} · ${oldText.length} ${newText.length} chars (${sizeDiffStr})`;
256
+ const resultText = formatEditToolResultText({ summaryLine });
258
257
  const toolResult = createToolSuccess(toolCall, resultText);
259
- const uiText = buildEditUiText({
260
- oldLength: oldText.length,
261
- newLength: newText.length,
262
- oldText,
263
- newText,
264
- });
258
+ const uiText = buildEditUiText({ summaryLine, statusLine, diffLines });
265
259
  const uiEvent = {
266
260
  type: "edit_success",
267
261
  path,
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/core/tools/edit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAU1E,MAAM,gBAAgB,GAAG;IACvB,8CAA8C;IAC9C,oEAAoE;IACpE,yFAAyF;CAC1F,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,qBAAqB,GAAG,gDAAgD,CAAC;AAC/E,MAAM,yBAAyB,GAAG;IAChC,wEAAwE;IACxE,oCAAoC;IACpC,oFAAoF;CACrF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACZ,MAAM,yBAAyB,GAAG,mCAAmC,CAAC;AACtE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAM,CAAC,MAAM,SAAS,GAAS;IAC7B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CACrB;QACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QACzD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;KACjE,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAChC;CACF,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,GAAY;IACjC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,MAAc;IACvD,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,KAAK,EAAE,CAAC;QACR,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,MAAc,EAAE,eAAuB,CAAC;IACjF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC,CAAC;IAE1E,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,SAAS,SAAS,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC;AACrE,CAAC;AAQD,QAAQ,CAAC,CAAC,uBAAuB,CAAC,IAAY;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE9B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7B,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC;YACT,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAAe,EAAE,OAAe;IACrD,MAAM,QAAQ,GAAG,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACxB,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,GAAG,uBAAuB,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACxB,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,EAAE,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAC7D,IAAI,KAAK,CAAS,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;QACnB,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;QAChC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO,EAAE,CAAC;YACV,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,CAAC;YACR,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,IAKxB;IACC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACxD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,CAAC,IAAY,EAAc,EAAE;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAC/D,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAiB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7E,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,MAAM,OAAO,GACX,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,QAAQ,CAAC;IAC3F,MAAM,WAAW,GAAG,YAAY,SAAS,MAAM,SAAS,WAAW,OAAO,GAAG,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAI,KAAK,MAAM,OAAO,MAAM,WAAW,EAAE,CAAC;IAE7D,MAAM,SAAS,GAAiB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,YAAY;QACZ,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA6B;IACpE,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,CAAC,QAAQ,CAAC,QAAkB,EAAE,SAAoB;YACrD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACrE,MAAM,YAAY,GAAG,IAAI,IAAI,gBAAgB,CAAC;YAE9C,MAAM,OAAO,GAAG,CAAC,MAAc,EAAsB,EAAE;gBACrD,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAgB;oBAC3B,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,IAAI,IAAI,gBAAgB;oBAC9B,YAAY;oBACZ,MAAM;iBACP,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YACjD,CAAC,CAAC;YAEF,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;gBAC/B,OAAO,OAAO,CACZ,2DAA2D,SAAS,0CAA0C,CAC/G,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,OAAO,CAAC,0DAA0D,CAAC,CAAC;YAC7E,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC,0EAA0E,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC3B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChE,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACnD,OAAO,OAAO,CAAC,sBAAsB,IAAI,gCAAgC,CAAC,CAAC;gBAC7E,CAAC;gBACD,OAAO,OAAO,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEtD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,wCAAwC;gBACxC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAExF,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBACrB,IAAI;wBACF,gJAAgJ,CAAC;gBACrJ,CAAC;qBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,IAAI;wBACF,iHAAiH,CAAC;gBACtH,CAAC;qBAAM,CAAC;oBACN,4BAA4B;oBAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/D,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;wBACtE,IAAI,GAAG,+CAA+C,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,wEAAwE,CAAC;oBACxK,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CACZ,6BAA6B,IAAI,kDAAkD,CACpF,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7D,OAAO,OAAO,CACZ,SAAS,UAAU,oIAAoI,iBAAiB,EAAE,CAC3K,CAAC;YACJ,CAAC;YAED,+CAA+C;YAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;YAE3D,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAE1C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBAC5C,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;gBACrC,MAAM,WAAW,GACf,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,SAAS,CAAC;gBAExF,MAAM,UAAU,GAAG,uBAAuB,IAAI,cAAc,OAAO,CAAC,MAAM,eAAe,OAAO,CAAC,MAAM,SAAS,WAAW,EAAE,CAAC;gBAE9H,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,eAAe,CAAC;oBAC7B,SAAS,EAAE,OAAO,CAAC,MAAM;oBACzB,SAAS,EAAE,OAAO,CAAC,MAAM;oBACzB,OAAO;oBACP,OAAO;iBACR,CAAC,CAAC;gBACH,MAAM,OAAO,GAAgB;oBAC3B,IAAI,EAAE,cAAc;oBACpB,IAAI;oBACJ,YAAY;oBACZ,SAAS,EAAE,OAAO,CAAC,MAAM;oBACzB,SAAS,EAAE,OAAO,CAAC,MAAM;oBACzB,OAAO;oBACP,OAAO;oBACP,MAAM;iBACP,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YACjD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,YAAY,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChE,OAAO,OAAO,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/core/tools/edit.ts"],"names":[],"mappings":"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"}