@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
@@ -3,11 +3,11 @@ import { dirname, posix as pathPosix, sep as pathSep } from "node:path";
3
3
  import { createDefaultCoreDeps } from "../runtime/deps.js";
4
4
  import { sanitizeEnvironment } from "../utils/sanitize_env.js";
5
5
  import { spawnWithCapture } from "../utils/spawn_capture.js";
6
- import { truncateToBytesFromStart } from "../utils/truncate.js";
6
+ import { formatBytes } from "../utils/truncate.js";
7
7
  import { createDockerSandbox } from "./sandbox/docker_sandbox.js";
8
- const BASH_MAX_CAPTURE_BYTES = 2 * 1024 * 1024; // 2MB
8
+ const BASH_MAX_CAPTURE_BYTES = 1024 * 1024; // 1MB
9
9
  const BASH_KILL_GRACE_MS = 2_000;
10
- const GREP_MAX_CAPTURE_BYTES = 2 * 1024 * 1024;
10
+ const GREP_MAX_CAPTURE_BYTES = 1024 * 1024;
11
11
  const GREP_KILL_GRACE_MS = 2_000;
12
12
  export function createLocalToolExecutionBackend(deps) {
13
13
  const envProvider = deps?.env?.env ?? (() => process.env);
@@ -41,15 +41,12 @@ export function createLocalToolExecutionBackend(deps) {
41
41
  timeoutMs: effectiveTimeoutMs,
42
42
  maxCaptureBytes: BASH_MAX_CAPTURE_BYTES,
43
43
  maxCaptureMode: "ignore",
44
+ maxCaptureStrategy: "tail",
45
+ captureOutput: "combined",
44
46
  killGraceMs: BASH_KILL_GRACE_MS,
45
47
  });
46
- let stdout = result.stdout;
47
- let stderr = result.stderr;
48
- let truncated = result.captureLimitExceeded;
49
- if (result.captureLimitExceeded) {
50
- stdout = truncateToBytesFromStart(stdout, BASH_MAX_CAPTURE_BYTES / 2);
51
- stderr = truncateToBytesFromStart(stderr, BASH_MAX_CAPTURE_BYTES / 2);
52
- }
48
+ let output = result.output ?? "";
49
+ const truncated = result.captureLimitExceeded;
53
50
  let terminationNote;
54
51
  if (result.timedOut && effectiveTimeoutMs !== undefined) {
55
52
  terminationNote = `(tau) timed out after ${effectiveTimeoutMs}ms`;
@@ -61,21 +58,11 @@ export function createLocalToolExecutionBackend(deps) {
61
58
  terminationNote = `(tau) terminated by signal ${result.closeSignal}`;
62
59
  }
63
60
  const note = terminationNote?.trim();
64
- if (note && !stdout.includes(note) && !stderr.includes(note)) {
65
- const noteText = `${stderr && !stderr.endsWith("\n") ? "\n" : ""}${note}\n`;
66
- const noteBytes = Buffer.byteLength(noteText, "utf-8");
67
- const currentBytes = Buffer.byteLength(stdout, "utf-8") + Buffer.byteLength(stderr, "utf-8");
68
- if (currentBytes + noteBytes > BASH_MAX_CAPTURE_BYTES) {
69
- truncated = true;
70
- const remaining = Math.max(0, BASH_MAX_CAPTURE_BYTES - noteBytes);
71
- const stdoutBudget = Math.floor(remaining / 2);
72
- const stderrBudget = remaining - stdoutBudget;
73
- stdout = truncateToBytesFromStart(stdout, stdoutBudget);
74
- stderr = truncateToBytesFromStart(stderr, stderrBudget);
75
- }
76
- stderr += noteText;
61
+ if (note && !output.includes(note)) {
62
+ const noteText = `${output && !output.endsWith("\n") ? "\n" : ""}${note}\n`;
63
+ output += noteText;
77
64
  }
78
- return { stdout, stderr, exitCode: result.exitCode, truncated };
65
+ return { output, exitCode: result.exitCode, truncated };
79
66
  },
80
67
  async readFile(path, _options) {
81
68
  const content = readFileSync(path, "utf-8");
@@ -89,7 +76,7 @@ export function createLocalToolExecutionBackend(deps) {
89
76
  const bytes = stats.size;
90
77
  const maxBytes = options.maxBytes;
91
78
  if (maxBytes !== undefined && bytes > maxBytes) {
92
- throw new Error(`file exceeds maximum size of ${maxBytes} bytes (got ${bytes} bytes).`);
79
+ throw new Error(`file exceeds maximum size of ${formatBytes(maxBytes)} (got ${formatBytes(bytes)}).`);
93
80
  }
94
81
  const content = readFileSync(path);
95
82
  return { path, content, bytes };
@@ -124,8 +111,7 @@ export function createLocalToolExecutionBackend(deps) {
124
111
  const fullArgs = [...baseArgs, "--", pattern, ...resolvedPaths];
125
112
  if (dryRun) {
126
113
  return {
127
- stdout: "",
128
- stderr: "",
114
+ output: "",
129
115
  exitCode: 0,
130
116
  captureTruncated: false,
131
117
  resolvedPaths,
@@ -138,11 +124,12 @@ export function createLocalToolExecutionBackend(deps) {
138
124
  signal,
139
125
  timeoutMs,
140
126
  maxCaptureBytes: GREP_MAX_CAPTURE_BYTES,
127
+ maxCaptureMode: "ignore",
128
+ captureOutput: "combined",
141
129
  killGraceMs: GREP_KILL_GRACE_MS,
142
130
  });
143
131
  return {
144
- stdout: result.stdout,
145
- stderr: result.stderr,
132
+ output: result.output ?? "",
146
133
  exitCode: result.exitCode,
147
134
  captureTruncated: result.captureLimitExceeded || result.timedOut,
148
135
  resolvedPaths,
@@ -150,8 +137,7 @@ export function createLocalToolExecutionBackend(deps) {
150
137
  }
151
138
  catch (err) {
152
139
  return {
153
- stdout: "",
154
- stderr: err instanceof Error ? err.message : String(err),
140
+ output: err instanceof Error ? err.message : String(err),
155
141
  exitCode: 2,
156
142
  captureTruncated: false,
157
143
  resolvedPaths,
@@ -206,6 +192,8 @@ export async function createSandboxToolExecutionBackend(options) {
206
192
  timeoutMs: effectiveTimeoutMs,
207
193
  maxCaptureBytes: BASH_MAX_CAPTURE_BYTES,
208
194
  maxCaptureMode: "ignore",
195
+ maxCaptureStrategy: "tail",
196
+ captureOutput: "combined",
209
197
  killGraceMs: BASH_KILL_GRACE_MS,
210
198
  env: {
211
199
  GIT_TERMINAL_PROMPT: "0",
@@ -216,13 +204,8 @@ export async function createSandboxToolExecutionBackend(options) {
216
204
  GIT_SSH_COMMAND: "ssh -o BatchMode=yes",
217
205
  },
218
206
  });
219
- let stdout = result.stdout;
220
- let stderr = result.stderr;
221
- let truncated = result.captureLimitExceeded;
222
- if (result.captureLimitExceeded) {
223
- stdout = truncateToBytesFromStart(stdout, BASH_MAX_CAPTURE_BYTES / 2);
224
- stderr = truncateToBytesFromStart(stderr, BASH_MAX_CAPTURE_BYTES / 2);
225
- }
207
+ let output = result.output ?? "";
208
+ const truncated = result.captureLimitExceeded;
226
209
  let terminationNote;
227
210
  if (result.timedOut && effectiveTimeoutMs !== undefined) {
228
211
  terminationNote = `(tau) timed out after ${effectiveTimeoutMs}ms`;
@@ -234,21 +217,11 @@ export async function createSandboxToolExecutionBackend(options) {
234
217
  terminationNote = `(tau) terminated by signal ${result.closeSignal}`;
235
218
  }
236
219
  const note = terminationNote?.trim();
237
- if (note && !stdout.includes(note) && !stderr.includes(note)) {
238
- const noteText = `${stderr && !stderr.endsWith("\n") ? "\n" : ""}${note}\n`;
239
- const noteBytes = Buffer.byteLength(noteText, "utf-8");
240
- const currentBytes = Buffer.byteLength(stdout, "utf-8") + Buffer.byteLength(stderr, "utf-8");
241
- if (currentBytes + noteBytes > BASH_MAX_CAPTURE_BYTES) {
242
- truncated = true;
243
- const remaining = Math.max(0, BASH_MAX_CAPTURE_BYTES - noteBytes);
244
- const stdoutBudget = Math.floor(remaining / 2);
245
- const stderrBudget = remaining - stdoutBudget;
246
- stdout = truncateToBytesFromStart(stdout, stdoutBudget);
247
- stderr = truncateToBytesFromStart(stderr, stderrBudget);
248
- }
249
- stderr += noteText;
220
+ if (note && !output.includes(note)) {
221
+ const noteText = `${output && !output.endsWith("\n") ? "\n" : ""}${note}\n`;
222
+ output += noteText;
250
223
  }
251
- return { stdout, stderr, exitCode: result.exitCode, truncated };
224
+ return { output, exitCode: result.exitCode, truncated };
252
225
  },
253
226
  async readFile(path, _options) {
254
227
  const resolved = resolveContainerPath(path);
@@ -273,7 +246,7 @@ export async function createSandboxToolExecutionBackend(options) {
273
246
  }
274
247
  const maxBytes = options.maxBytes;
275
248
  if (maxBytes !== undefined && bytes > maxBytes) {
276
- throw new Error(`file exceeds maximum size of ${maxBytes} bytes (got ${bytes} bytes).`);
249
+ throw new Error(`file exceeds maximum size of ${formatBytes(maxBytes)} (got ${formatBytes(bytes)}).`);
277
250
  }
278
251
  const captureLimit = Math.max(1024, Math.ceil(bytes * 1.5));
279
252
  const result = await sandbox.exec(["base64", "--", resolved.containerPath], {
@@ -357,8 +330,7 @@ export async function createSandboxToolExecutionBackend(options) {
357
330
  const fullArgs = [...baseArgs, "--", pattern, ...commandPaths];
358
331
  if (dryRun) {
359
332
  return {
360
- stdout: "",
361
- stderr: "",
333
+ output: "",
362
334
  exitCode: 0,
363
335
  captureTruncated: false,
364
336
  resolvedPaths,
@@ -371,11 +343,12 @@ export async function createSandboxToolExecutionBackend(options) {
371
343
  signal,
372
344
  timeoutMs,
373
345
  maxCaptureBytes: GREP_MAX_CAPTURE_BYTES,
346
+ maxCaptureMode: "ignore",
347
+ captureOutput: "combined",
374
348
  killGraceMs: GREP_KILL_GRACE_MS,
375
349
  });
376
350
  return {
377
- stdout: result.stdout,
378
- stderr: result.stderr,
351
+ output: result.output ?? "",
379
352
  exitCode: result.exitCode,
380
353
  captureTruncated: result.captureLimitExceeded || result.timedOut,
381
354
  resolvedPaths,
@@ -383,8 +356,7 @@ export async function createSandboxToolExecutionBackend(options) {
383
356
  }
384
357
  catch (err) {
385
358
  return {
386
- stdout: "",
387
- stderr: err instanceof Error ? err.message : String(err),
359
+ output: err instanceof Error ? err.message : String(err),
388
360
  exitCode: 2,
389
361
  captureTruncated: false,
390
362
  resolvedPaths,
@@ -1 +1 @@
1
- {"version":3,"file":"execution_backend.js","sourceRoot":"","sources":["../../../src/core/tools/execution_backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution_backend.js","sourceRoot":"","sources":["../../../src/core/tools/execution_backend.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { Type } from "@sinclair/typebox";
2
2
  import { z } from "zod";
3
3
  import { createToolError, createToolResult } from "../utils/messages.js";
4
- import { applyPreviewPolicy, buildCompactPreviewLines, GREP_UI_MAX_LINES, GREP_UI_MAX_TOKENS, } from "../utils/tool_preview.js";
5
- import { truncateMiddleForModel } from "../utils/truncate.js";
6
- export const GREP_TOOL_MAX_LINES = 4096;
7
- export const GREP_TOOL_MAX_TOKENS = 25000;
4
+ import { buildHeadTailPreviewLines } from "../utils/tool_preview.js";
5
+ import { TRUNCATION_MARKER, truncateForTokens } from "../utils/truncate.js";
6
+ export const GREP_TOOL_MAX_TOKENS = 8192;
8
7
  export const GREP_DEFAULT_TIMEOUT_MS = 60_000;
9
8
  const GREP_DESCRIPTION = ["Search the project with ripgrep (rg).", "Runs without a shell."].join(" ");
10
9
  const GREP_PATTERN_DESCRIPTION = "Search pattern (ripgrep regex).";
@@ -102,86 +101,47 @@ function buildGrepArgs(raw) {
102
101
  }
103
102
  function formatGrepToolResultText(args) {
104
103
  const parts = [];
105
- const pathsStr = args.paths.length ? ` ${args.paths.join(" ")}` : "";
106
- parts.push(`grep ${args.pattern}${pathsStr}`);
107
- const out = args.stdout.content.trimEnd();
104
+ const out = args.output.content.trimEnd();
108
105
  if (out) {
109
- parts.push("", out);
106
+ parts.push(out);
110
107
  }
111
- const err = args.stderr.content.trimEnd();
112
- if (err) {
113
- parts.push("", "stderr:", err);
114
- }
115
- if (args.captureTruncated || args.stdout.truncated || args.stderr.truncated) {
116
- const shown = `${args.stdout.outputLines} of ${args.stdout.totalLines} lines`;
117
- parts.push("", `truncated for model: ${shown}`);
108
+ if (args.captureTruncated || args.output.truncated) {
109
+ if (parts.length > 0) {
110
+ parts.push("");
111
+ }
112
+ const shown = `${args.output.outputLines} of ${args.output.totalLines} lines`;
113
+ parts.push(`truncated for model: ${shown}. narrow the search scope to see more.`);
118
114
  }
119
115
  if (args.exitCode === null) {
120
- parts.push("", "(terminated)");
116
+ if (parts.length > 0) {
117
+ parts.push("");
118
+ }
119
+ parts.push("(terminated)");
121
120
  }
122
121
  else if (args.exitCode !== 0 && args.exitCode !== 1) {
123
- parts.push("", `(exit ${args.exitCode})`);
122
+ if (parts.length > 0) {
123
+ parts.push("");
124
+ }
125
+ parts.push(`(exit ${args.exitCode})`);
124
126
  }
125
127
  return parts.join("\n");
126
128
  }
127
129
  function buildGrepUiText(args) {
128
- const { stdout, stderr, stdoutModel, stderrModel, exitCode, captureTruncated } = args;
129
- const { truncation: stdoutPreview, previewLines: stdoutLines } = applyPreviewPolicy(stdoutModel.content, {
130
- maxLines: GREP_UI_MAX_LINES,
131
- maxTokens: GREP_UI_MAX_TOKENS,
132
- strategy: "middle",
130
+ const { modelTruncation, fullText, captureTruncated } = args;
131
+ const previewContentLines = buildHeadTailPreviewLines(modelTruncation.content, {
132
+ headLines: 5,
133
+ tailLines: 5,
133
134
  });
134
- const { truncation: stderrPreview, previewLines: stderrLines } = applyPreviewPolicy(stderrModel.content, {
135
- maxLines: GREP_UI_MAX_LINES,
136
- maxTokens: GREP_UI_MAX_TOKENS,
137
- strategy: "middle",
138
- });
139
- const err = stderrPreview.content.trimEnd();
140
- const out = stdoutPreview.content.trimEnd();
141
- const previewText = err
142
- ? (buildCompactPreviewLines(stderrLines, {
143
- totalLines: stderrPreview.totalLines,
144
- maxLines: 16,
145
- indent: 0,
146
- }) ?? "")
147
- : out
148
- ? (buildCompactPreviewLines(stdoutLines, {
149
- totalLines: stdoutPreview.totalLines,
150
- maxLines: 16,
151
- indent: 0,
152
- }) ?? "")
153
- : "";
154
- const previewLines = previewText
155
- ? previewText.split("\n").map((text) => ({ text }))
135
+ const previewLines = previewContentLines.map((text) => ({ text }));
136
+ const trimmedFullText = fullText.trimEnd();
137
+ const fullLines = trimmedFullText
138
+ ? trimmedFullText.split("\n").map((text) => ({ text }))
156
139
  : [];
157
- const fullLines = [];
158
- const pushSection = (text) => {
159
- if (!text)
160
- return;
161
- if (fullLines.length > 0) {
162
- fullLines.push({ text: "" });
163
- }
164
- for (const line of text.split("\n")) {
165
- fullLines.push({ text: line });
166
- }
167
- };
168
- const trimmedOut = stdout.trimEnd();
169
- if (trimmedOut) {
170
- pushSection(trimmedOut);
171
- }
172
- const trimmedErr = stderr.trimEnd();
173
- if (trimmedErr) {
174
- pushSection(["stderr:", trimmedErr].join("\n"));
175
- }
176
- if (stdoutModel.truncated || stderrModel.truncated || captureTruncated) {
177
- pushSection(`truncated for model: ${stdoutModel.outputLines} of ${stdoutModel.totalLines} lines`);
178
- }
179
- if (exitCode !== null && exitCode !== 0 && exitCode !== 1) {
180
- pushSection(`(exit ${exitCode})`);
181
- }
140
+ const statusLine = modelTruncation.truncated || captureTruncated ? TRUNCATION_MARKER : undefined;
182
141
  return {
183
142
  previewLines,
184
143
  fullLines,
144
+ statusLine,
185
145
  };
186
146
  }
187
147
  export function createGrepToolDefinition(backend) {
@@ -241,29 +201,19 @@ export function createGrepToolDefinition(backend) {
241
201
  const errorMessage = e instanceof Error ? e.message : String(e);
242
202
  return blocked(`grep failed: ${errorMessage}`);
243
203
  }
244
- const { stdout, stderr, exitCode, captureTruncated, resolvedPaths } = result;
245
- const stdoutModel = truncateMiddleForModel(stdout, {
246
- maxLines: GREP_TOOL_MAX_LINES,
247
- maxTokens: GREP_TOOL_MAX_TOKENS,
248
- });
249
- const stderrModel = truncateMiddleForModel(stderr, {
250
- maxLines: GREP_TOOL_MAX_LINES,
204
+ const { output, exitCode, captureTruncated } = result;
205
+ const outputModel = truncateForTokens(output, {
251
206
  maxTokens: GREP_TOOL_MAX_TOKENS,
207
+ strategy: "head",
252
208
  });
253
209
  const toolText = formatGrepToolResultText({
254
- pattern: parsed.pattern,
255
- paths: resolvedPaths,
256
- stdout: stdoutModel,
257
- stderr: stderrModel,
210
+ output: outputModel,
258
211
  exitCode,
259
212
  captureTruncated,
260
213
  });
261
214
  const uiText = buildGrepUiText({
262
- stdout,
263
- stderr,
264
- stdoutModel,
265
- stderrModel,
266
- exitCode,
215
+ modelTruncation: outputModel,
216
+ fullText: toolText,
267
217
  captureTruncated,
268
218
  });
269
219
  const isError = exitCode === null || (exitCode !== 0 && exitCode !== 1);
@@ -275,8 +225,7 @@ export function createGrepToolDefinition(backend) {
275
225
  headerTarget,
276
226
  status: isError ? "error" : "success",
277
227
  exitCode,
278
- stdout: stdoutModel.content,
279
- stderr: stderrModel.content,
228
+ output: outputModel.content,
280
229
  captureTruncated,
281
230
  uiText,
282
231
  };
@@ -1 +1 @@
1
- {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/core/tools/grep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/core/tools/grep.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import { Type } from "@sinclair/typebox";
2
2
  import { z } from "zod";
3
3
  import { createToolError, createToolResult } from "../utils/messages.js";
4
- import { buildCompactPreviewLines } from "../utils/tool_preview.js";
5
- export const LIST_MAX_ENTRIES = 256;
6
- const LIST_DEFAULT_LIMIT = 64;
4
+ import { buildHeadTailPreviewLines } from "../utils/tool_preview.js";
5
+ import { TRUNCATION_MARKER } from "../utils/truncate.js";
6
+ export const LIST_MAX_ENTRIES = 4096;
7
+ const LIST_DEFAULT_LIMIT = 256;
7
8
  const LIST_DESCRIPTION = ["List files in a directory (non-recursive)."].join(" ");
8
9
  const LIST_PATH_DESCRIPTION = "Directory path to list (relative to the current working directory). Use '.' for root.";
9
10
  const LIST_OFFSET_DESCRIPTION = "Number of entries to skip.";
10
- const LIST_LIMIT_DESCRIPTION = "Max number of entries to return (<= 256).";
11
+ const LIST_LIMIT_DESCRIPTION = "Max number of entries to return (<= 4096).";
11
12
  export const LIST_TOOL = {
12
13
  name: "list",
13
14
  description: LIST_DESCRIPTION,
@@ -31,45 +32,25 @@ function parseListArgs(raw) {
31
32
  const limit = parsed.success ? (parsed.data.limit ?? LIST_DEFAULT_LIMIT) : LIST_DEFAULT_LIMIT;
32
33
  return { path, offset, limit };
33
34
  }
34
- function formatListToolResultText(args) {
35
- const parts = [];
36
- parts.push(`list ${args.path} (offset ${args.offset}, limit ${args.limit})`);
37
- parts.push(`${args.returned} of ${args.total} entries`);
38
- if (args.entries.length > 0) {
39
- parts.push("", ...args.entries);
40
- }
41
- return parts.join("\n");
35
+ function formatListToolResultText(entries) {
36
+ return entries.join("\n");
42
37
  }
43
38
  function buildListUiText(args) {
44
- const { offset, limit, total, returned, entries } = args;
45
- const compactLines = buildCompactPreviewLines(entries, {
46
- totalLines: entries.length,
47
- maxLines: 16,
39
+ const { offset, limit, total, returned, entries, fullText } = args;
40
+ const previewContentLines = buildHeadTailPreviewLines(entries.join("\n"), {
41
+ headLines: 5,
42
+ tailLines: 5,
48
43
  unitLabel: "entries",
49
- indent: 0,
44
+ unitLabelSingular: "entry",
50
45
  });
51
46
  const infoText = `${returned} of ${total} entries · offset ${offset} · limit ${limit}`;
52
- const summaryLine = infoText;
53
- const previewLines = compactLines
54
- ? compactLines.split("\n").map((text) => ({ text }))
47
+ const hasMore = total > offset + returned;
48
+ const summaryLine = hasMore ? `${TRUNCATION_MARKER} · ${infoText}` : infoText;
49
+ const previewLines = previewContentLines.map((text) => ({ text }));
50
+ const trimmedFullText = fullText.trimEnd();
51
+ const fullLines = trimmedFullText
52
+ ? trimmedFullText.split("\n").map((text) => ({ text }))
55
53
  : [];
56
- const fullLines = [];
57
- const pushSection = (text) => {
58
- if (!text)
59
- return;
60
- if (fullLines.length > 0) {
61
- fullLines.push({ text: "" });
62
- }
63
- for (const line of text.split("\n")) {
64
- fullLines.push({ text: line });
65
- }
66
- };
67
- const summary = `${returned} of ${total} entries (offset ${offset}, limit ${limit})`;
68
- const listText = entries.length > 0 ? entries.join("\n") : "";
69
- pushSection(summary);
70
- if (listText) {
71
- pushSection(listText);
72
- }
73
54
  return { previewLines, statusLine: summaryLine, fullLines };
74
55
  }
75
56
  export function createListToolDefinition(backend) {
@@ -107,20 +88,14 @@ export function createListToolDefinition(backend) {
107
88
  .map((e) => `${e.name}${e.suffix}`);
108
89
  const total = entries.length;
109
90
  const windowed = entries.slice(offset, offset + effectiveLimit);
110
- const toolText = formatListToolResultText({
111
- path: resolvedPath,
112
- offset,
113
- limit: effectiveLimit,
114
- total,
115
- returned: windowed.length,
116
- entries: windowed,
117
- });
91
+ const toolText = formatListToolResultText(windowed);
118
92
  const uiText = buildListUiText({
119
93
  offset,
120
94
  limit: effectiveLimit,
121
95
  total,
122
96
  returned: windowed.length,
123
97
  entries: windowed,
98
+ fullText: toolText,
124
99
  });
125
100
  const toolResult = createToolResult(toolCall, toolText, false);
126
101
  const uiEvent = {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/core/tools/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAUpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,gBAAgB,GAAG,CAAC,4CAA4C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAElF,MAAM,qBAAqB,GACzB,uFAAuF,CAAC;AAC1F,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAC7D,MAAM,sBAAsB,GAAG,2CAA2C,CAAC;AAE3E,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;YAChB,WAAW,EAAE,qBAAqB;SACnC,CAAC;QACF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACzF,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACxF,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,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,GAAY;IAKjC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC9F,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,wBAAwB,CAAC,IAOjC;IACC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC;IAExD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,IAMxB;IACC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzD,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE;QACrD,UAAU,EAAE,OAAO,CAAC,MAAM;QAC1B,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,GAAG,QAAQ,OAAO,KAAK,qBAAqB,MAAM,YAAY,KAAK,EAAE,CAAC;IACvF,MAAM,WAAW,GAAG,QAAQ,CAAC;IAC7B,MAAM,YAAY,GAAiB,YAAY;QAC7C,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,SAAS,GAAiB,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAQ,EAAE;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,QAAQ,OAAO,KAAK,oBAAoB,MAAM,WAAW,KAAK,GAAG,CAAC;IACrF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,IAAI,QAAQ,EAAE,CAAC;QACb,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA6B;IACpE,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,CAAC,QAAQ,CAAC,QAAkB,EAAE,UAAqB;YACtD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClE,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,8CAA8C;YAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,OAAO,CAAC,2BAA2B,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,OAAO,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACzC,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC;YAEtE,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE7E,MAAM,OAAO,GAAG,OAAO;qBACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACX,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;iBACrD,CAAC,CAAC;qBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;qBAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEtC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC;gBAEhE,MAAM,QAAQ,GAAG,wBAAwB,CAAC;oBACxC,IAAI,EAAE,YAAY;oBAClB,MAAM;oBACN,KAAK,EAAE,cAAc;oBACrB,KAAK;oBACL,QAAQ,EAAE,QAAQ,CAAC,MAAM;oBACzB,OAAO,EAAE,QAAQ;iBAClB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,eAAe,CAAC;oBAC7B,MAAM;oBACN,KAAK,EAAE,cAAc;oBACrB,KAAK;oBACL,QAAQ,EAAE,QAAQ,CAAC,MAAM;oBACzB,OAAO,EAAE,QAAQ;iBAClB,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAsB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAClF,MAAM,OAAO,GAAgB;oBAC3B,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,YAAY;oBAClB,YAAY,EAAE,YAAY;oBAC1B,MAAM;oBACN,KAAK,EAAE,cAAc;oBACrB,KAAK;oBACL,QAAQ,EAAE,QAAQ,CAAC,MAAM;oBACzB,OAAO,EAAE,QAAQ;oBACjB,MAAM;iBACP,CAAC;gBAEF,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,gBAAgB,YAAY,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/core/tools/list.ts"],"names":[],"mappings":"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"}