@namzu/sdk 62.7.0 → 62.9.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 (147) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/compaction/plan.d.ts +12 -0
  3. package/dist/compaction/plan.d.ts.map +1 -1
  4. package/dist/compaction/plan.js +39 -11
  5. package/dist/compaction/plan.js.map +1 -1
  6. package/dist/compaction/salience/minhash.d.ts +9 -0
  7. package/dist/compaction/salience/minhash.d.ts.map +1 -1
  8. package/dist/compaction/salience/minhash.js +20 -0
  9. package/dist/compaction/salience/minhash.js.map +1 -1
  10. package/dist/compaction/salience/score.d.ts.map +1 -1
  11. package/dist/compaction/salience/score.js +87 -45
  12. package/dist/compaction/salience/score.js.map +1 -1
  13. package/dist/compaction/salience/working-set.d.ts +14 -0
  14. package/dist/compaction/salience/working-set.d.ts.map +1 -1
  15. package/dist/compaction/salience/working-set.js +84 -33
  16. package/dist/compaction/salience/working-set.js.map +1 -1
  17. package/dist/config/runtime.d.ts +2 -0
  18. package/dist/config/runtime.d.ts.map +1 -1
  19. package/dist/config/runtime.js +14 -0
  20. package/dist/config/runtime.js.map +1 -1
  21. package/dist/manager/session/turn-recorder.d.ts +25 -0
  22. package/dist/manager/session/turn-recorder.d.ts.map +1 -1
  23. package/dist/manager/session/turn-recorder.js +231 -31
  24. package/dist/manager/session/turn-recorder.js.map +1 -1
  25. package/dist/public-runtime.d.ts +1 -1
  26. package/dist/public-runtime.d.ts.map +1 -1
  27. package/dist/public-runtime.js +1 -1
  28. package/dist/public-runtime.js.map +1 -1
  29. package/dist/runtime/query/cancelled-before-start.js +1 -1
  30. package/dist/runtime/query/cancelled-before-start.js.map +1 -1
  31. package/dist/runtime/query/checkpoint.js +2 -1
  32. package/dist/runtime/query/checkpoint.js.map +1 -1
  33. package/dist/runtime/query/context.d.ts.map +1 -1
  34. package/dist/runtime/query/context.js +28 -2
  35. package/dist/runtime/query/context.js.map +1 -1
  36. package/dist/runtime/query/executor.d.ts.map +1 -1
  37. package/dist/runtime/query/executor.js +24 -2
  38. package/dist/runtime/query/executor.js.map +1 -1
  39. package/dist/runtime/query/index.d.ts.map +1 -1
  40. package/dist/runtime/query/index.js +4 -1
  41. package/dist/runtime/query/index.js.map +1 -1
  42. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  43. package/dist/runtime/query/iteration/phases/compaction.js +15 -1
  44. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  45. package/dist/runtime/query/prepare-turn.d.ts.map +1 -1
  46. package/dist/runtime/query/prepare-turn.js +27 -12
  47. package/dist/runtime/query/prepare-turn.js.map +1 -1
  48. package/dist/runtime/query/session-storage.d.ts.map +1 -1
  49. package/dist/runtime/query/session-storage.js +44 -3
  50. package/dist/runtime/query/session-storage.js.map +1 -1
  51. package/dist/sandbox/file-walk.d.ts +7 -1
  52. package/dist/sandbox/file-walk.d.ts.map +1 -1
  53. package/dist/sandbox/file-walk.js +30 -4
  54. package/dist/sandbox/file-walk.js.map +1 -1
  55. package/dist/store/checkpoint/contract.d.ts +12 -0
  56. package/dist/store/checkpoint/contract.d.ts.map +1 -1
  57. package/dist/store/checkpoint/contract.js.map +1 -1
  58. package/dist/store/checkpoint/disk.d.ts.map +1 -1
  59. package/dist/store/checkpoint/disk.js +34 -2
  60. package/dist/store/checkpoint/disk.js.map +1 -1
  61. package/dist/store/checkpoint/prune.d.ts.map +1 -1
  62. package/dist/store/checkpoint/prune.js +6 -0
  63. package/dist/store/checkpoint/prune.js.map +1 -1
  64. package/dist/store/evidence/disk.js +40 -3
  65. package/dist/store/evidence/disk.js.map +1 -1
  66. package/dist/store/session-log/core.d.ts +31 -1
  67. package/dist/store/session-log/core.d.ts.map +1 -1
  68. package/dist/store/session-log/core.js +95 -9
  69. package/dist/store/session-log/core.js.map +1 -1
  70. package/dist/store/session-log/disk.d.ts +2 -0
  71. package/dist/store/session-log/disk.d.ts.map +1 -1
  72. package/dist/store/session-log/disk.js +37 -0
  73. package/dist/store/session-log/disk.js.map +1 -1
  74. package/dist/store/session-log/fold.d.ts +9 -1
  75. package/dist/store/session-log/fold.d.ts.map +1 -1
  76. package/dist/store/session-log/fold.js +18 -2
  77. package/dist/store/session-log/fold.js.map +1 -1
  78. package/dist/store/session-log/incremental.d.ts +31 -0
  79. package/dist/store/session-log/incremental.d.ts.map +1 -0
  80. package/dist/store/session-log/incremental.js +122 -0
  81. package/dist/store/session-log/incremental.js.map +1 -0
  82. package/dist/store/session-log/index.d.ts +1 -0
  83. package/dist/store/session-log/index.d.ts.map +1 -1
  84. package/dist/store/session-log/index.js +1 -0
  85. package/dist/store/session-log/index.js.map +1 -1
  86. package/dist/store/session-log/verified-prefix.d.ts +46 -0
  87. package/dist/store/session-log/verified-prefix.d.ts.map +1 -0
  88. package/dist/store/session-log/verified-prefix.js +233 -0
  89. package/dist/store/session-log/verified-prefix.js.map +1 -0
  90. package/dist/tools/admit-facts.d.ts.map +1 -1
  91. package/dist/tools/admit-facts.js +1 -0
  92. package/dist/tools/admit-facts.js.map +1 -1
  93. package/dist/tools/builtins/bash.d.ts.map +1 -1
  94. package/dist/tools/builtins/bash.js +10 -1
  95. package/dist/tools/builtins/bash.js.map +1 -1
  96. package/dist/tools/builtins/bounded-file-read.d.ts +19 -1
  97. package/dist/tools/builtins/bounded-file-read.d.ts.map +1 -1
  98. package/dist/tools/builtins/bounded-file-read.js +56 -3
  99. package/dist/tools/builtins/bounded-file-read.js.map +1 -1
  100. package/dist/tools/builtins/grep.d.ts +8 -0
  101. package/dist/tools/builtins/grep.d.ts.map +1 -1
  102. package/dist/tools/builtins/grep.js +147 -20
  103. package/dist/tools/builtins/grep.js.map +1 -1
  104. package/dist/tools/builtins/search-support.d.ts +8 -0
  105. package/dist/tools/builtins/search-support.d.ts.map +1 -1
  106. package/dist/tools/builtins/search-support.js +66 -0
  107. package/dist/tools/builtins/search-support.js.map +1 -1
  108. package/dist/types/session/records.d.ts +80 -1
  109. package/dist/types/session/records.d.ts.map +1 -1
  110. package/dist/types/session/records.js +22 -0
  111. package/dist/types/session/records.js.map +1 -1
  112. package/dist/types/tool/presentation.d.ts +6 -0
  113. package/dist/types/tool/presentation.d.ts.map +1 -1
  114. package/package.json +1 -1
  115. package/src/compaction/plan.ts +53 -11
  116. package/src/compaction/salience/minhash.ts +20 -0
  117. package/src/compaction/salience/score.ts +112 -43
  118. package/src/compaction/salience/working-set.ts +102 -31
  119. package/src/config/runtime.ts +14 -0
  120. package/src/manager/session/turn-recorder.ts +259 -30
  121. package/src/public-runtime.ts +1 -0
  122. package/src/runtime/query/cancelled-before-start.ts +1 -1
  123. package/src/runtime/query/checkpoint.ts +2 -1
  124. package/src/runtime/query/context.ts +33 -6
  125. package/src/runtime/query/executor.ts +24 -2
  126. package/src/runtime/query/index.ts +4 -1
  127. package/src/runtime/query/iteration/phases/compaction.ts +18 -0
  128. package/src/runtime/query/prepare-turn.ts +26 -11
  129. package/src/runtime/query/session-storage.ts +42 -3
  130. package/src/sandbox/file-walk.ts +41 -4
  131. package/src/store/checkpoint/contract.ts +15 -0
  132. package/src/store/checkpoint/disk.ts +34 -2
  133. package/src/store/checkpoint/prune.ts +13 -0
  134. package/src/store/evidence/disk.ts +57 -2
  135. package/src/store/session-log/core.ts +129 -10
  136. package/src/store/session-log/disk.ts +32 -0
  137. package/src/store/session-log/fold.ts +19 -2
  138. package/src/store/session-log/incremental.ts +160 -0
  139. package/src/store/session-log/index.ts +1 -0
  140. package/src/store/session-log/verified-prefix.ts +243 -0
  141. package/src/tools/admit-facts.ts +1 -0
  142. package/src/tools/builtins/bash.ts +11 -1
  143. package/src/tools/builtins/bounded-file-read.ts +59 -2
  144. package/src/tools/builtins/grep.ts +172 -26
  145. package/src/tools/builtins/search-support.ts +62 -0
  146. package/src/types/session/records.ts +25 -0
  147. package/src/types/tool/presentation.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"bounded-file-read.js","sourceRoot":"","sources":["../../../src/tools/builtins/bounded-file-read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bounded-file-read.js","sourceRoot":"","sources":["../../../src/tools/builtins/bounded-file-read.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Largest file the local reader reads synchronously, by the size on the open
3
+ * handle. One synchronous read of a file is one uninterrupted block, which on a
4
+ * slow mount can last tens of milliseconds; a larger file is read through the
5
+ * asynchronous bounded read instead, which lets the event loop run between
6
+ * chunks.
7
+ */
8
+ export declare const LOCAL_SYNC_READ_MAX_BYTES: number;
1
9
  /** Entries returned when `head_limit` is not given. */
2
10
  export declare const DEFAULT_HEAD_LIMIT = 250;
3
11
  /** A matching or context line longer than this is replaced by a notice, not printed. */
@@ -1 +1 @@
1
- {"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/grep.ts"],"names":[],"mappings":"AAkEA,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAErC,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,MAAM,CAAA;AA4InC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;EA8UnB,CAAA"}
1
+ {"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/grep.ts"],"names":[],"mappings":"AA8DA;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAAY,CAAA;AA4HlD,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAErC,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,MAAM,CAAA;AAwInC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;EAoWnB,CAAA"}
@@ -1,13 +1,13 @@
1
1
  import { stat } from 'node:fs/promises';
2
- import { isAbsolute, join, relative, sep } from 'node:path';
2
+ import { dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
3
3
  import { z } from 'zod';
4
4
  import { walkFilesLocally } from '../../sandbox/file-walk.js';
5
5
  import { subscribeToAbort } from '../../utils/abort.js';
6
6
  import { defineTool } from '../defineTool.js';
7
- import { resolveWithin, resolveWithinAny, resolveWithinAnyReal, resolveWithinReal, toolRoots, } from '../paths.js';
7
+ import { canonicalize, resolveWithin, resolveWithinAny, resolveWithinAnyReal, resolveWithinReal, toolRoots, } from '../paths.js';
8
8
  import { relativePosix, resolveWithinPosix } from '../posix-path.js';
9
- import { readBoundedChunks, readBoundedFile } from './bounded-file-read.js';
10
- import { MAX_FILES_SEARCHED, SEARCH_BUDGET_MS, hostDisplayPath, ignoredHint, isEntryLimit, isReadDenied, openSearchBudget, plural, stoppedNotice, } from './search-support.js';
9
+ import { CAN_REFUSE_LINKS, REFUSE_LINK_FLAG, readBoundedChunks, readBoundedFile, readBoundedFileSync, } from './bounded-file-read.js';
10
+ import { MAX_FILES_SEARCHED, SEARCH_BUDGET_MS, hostDisplayPath, ignoredHint, isEntryLimit, isReadDenied, openSearchBudget, plural, readAhead, stoppedNotice, } from './search-support.js';
11
11
  /** A remote read has no signal parameter; stop consuming it when the turn ends. */
12
12
  async function readWithSignal(read, signal) {
13
13
  signal?.throwIfAborted();
@@ -31,6 +31,112 @@ async function readWithSignal(read, signal) {
31
31
  dispose?.();
32
32
  }
33
33
  }
34
+ /** Longest the local read loop holds the event loop before it yields. */
35
+ const READ_SLICE_MS = 8;
36
+ /**
37
+ * Largest file the local reader reads synchronously, by the size on the open
38
+ * handle. One synchronous read of a file is one uninterrupted block, which on a
39
+ * slow mount can last tens of milliseconds; a larger file is read through the
40
+ * asynchronous bounded read instead, which lets the event loop run between
41
+ * chunks.
42
+ */
43
+ export const LOCAL_SYNC_READ_MAX_BYTES = 64 * 1024;
44
+ /**
45
+ * Reads files of a local search root. Each directory is resolved to its real
46
+ * path once and checked against the real root once; a file is then one open
47
+ * (links refused at the last component), fstat, read and close, all
48
+ * synchronous, with a yield to the event loop every few milliseconds. That is
49
+ * the same containment decision as resolving every file, because the walk
50
+ * lists only regular files in real directories and the open refuses a file
51
+ * that has become a link. Not used for a sandbox, nor where the platform cannot
52
+ * refuse links.
53
+ */
54
+ function createLocalReader(root, signal) {
55
+ const scratch = Buffer.allocUnsafe(64 * 1024);
56
+ const rootRealPromise = canonicalize(resolve(root));
57
+ const directories = new Map();
58
+ let sliceStart = performance.now();
59
+ const realDirectory = (directory) => {
60
+ let known = directories.get(directory);
61
+ if (!known) {
62
+ known = canonicalize(directory);
63
+ directories.set(directory, known);
64
+ }
65
+ return known;
66
+ };
67
+ let rootReal;
68
+ return {
69
+ async read(filePath) {
70
+ if (performance.now() - sliceStart > READ_SLICE_MS) {
71
+ await new Promise((done) => setImmediate(done));
72
+ sliceStart = performance.now();
73
+ }
74
+ signal?.throwIfAborted();
75
+ const directory = dirname(filePath);
76
+ const real = await realDirectory(directory);
77
+ rootReal ??= await rootRealPromise;
78
+ const contained = real === directory ? filePath : join(real, filePath.slice(directory.length + 1));
79
+ if (!(contained.startsWith(rootReal + sep) || contained === rootReal)) {
80
+ const rel = relative(rootReal, contained);
81
+ if (rel.startsWith('..') || isAbsolute(rel)) {
82
+ throw new Error('Path escapes the working directory through a link.');
83
+ }
84
+ }
85
+ signal?.throwIfAborted();
86
+ try {
87
+ const read = readBoundedFileSync(contained, MAX_FILE_SIZE, scratch, LOCAL_SYNC_READ_MAX_BYTES);
88
+ if (read !== 'large')
89
+ return { buffer: read, contained };
90
+ // The handle that measured the file is closed; the asynchronous read opens it
91
+ // again with the same flags (links refused) and repeats every check.
92
+ const large = await readBoundedFile(contained, MAX_FILE_SIZE, signal, undefined, REFUSE_LINK_FLAG);
93
+ sliceStart = performance.now();
94
+ return { buffer: large, contained };
95
+ }
96
+ catch (error) {
97
+ // Gone since the walk listed it: absent, as a walk that ran later would find it.
98
+ const code = error.code;
99
+ if (code === 'ENOENT' || code === 'ENOTDIR')
100
+ return { buffer: 'gone', contained };
101
+ throw error;
102
+ }
103
+ },
104
+ };
105
+ }
106
+ /** A walked path that is already inside `root` in normal form, or null when it needs the full check. */
107
+ const PLAIN_TAIL = /(^|\/)\.{1,2}(\/|$)|\/\/|\/$/;
108
+ /**
109
+ * The fast form of what `resolveWithin` and the display path compute for the
110
+ * walk's own entries on a POSIX host: a path the walk built under `root` is
111
+ * already normal, so it is returned as it is and its display name is a
112
+ * prefix plus the tail. Anything else, and every other platform, takes the
113
+ * full computation.
114
+ */
115
+ function createWalkedPaths(root, lexicalRoot, workingDirectory) {
116
+ if (sep !== '/')
117
+ return undefined;
118
+ const prefix = root === '/' ? '/' : `${root}/`;
119
+ const rootRel = relative(workingDirectory, lexicalRoot);
120
+ const display = rootRel.startsWith('..') || isAbsolute(rootRel) ? undefined : rootRel;
121
+ return {
122
+ within(path) {
123
+ if (path.startsWith(prefix) && path.length > prefix.length) {
124
+ if (!PLAIN_TAIL.test(path.slice(prefix.length)))
125
+ return path;
126
+ }
127
+ return resolveWithin(root, path);
128
+ },
129
+ displayName(path) {
130
+ if (display === undefined || !path.startsWith(prefix) || path.length === prefix.length) {
131
+ return undefined;
132
+ }
133
+ const tail = path.slice(prefix.length);
134
+ if (PLAIN_TAIL.test(tail))
135
+ return undefined;
136
+ return display === '' ? tail : `${display}/${tail}`;
137
+ },
138
+ };
139
+ }
34
140
  function relativeInclude(include, root, sandboxed) {
35
141
  let pattern = sandboxed ? include : include.split(sep).join('/');
36
142
  if (pattern.split('/').includes('..'))
@@ -164,12 +270,7 @@ const inputSchema = z.object({
164
270
  const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5 MB — skip binaries/large files
165
271
  const BINARY_CHECK_BYTES = 512;
166
272
  function isBinaryContent(buffer) {
167
- const check = buffer.subarray(0, BINARY_CHECK_BYTES);
168
- for (const byte of check) {
169
- if (byte === 0)
170
- return true;
171
- }
172
- return false;
273
+ return buffer.subarray(0, BINARY_CHECK_BYTES).includes(0);
173
274
  }
174
275
  export const GrepTool = defineTool({
175
276
  name: 'grep',
@@ -251,7 +352,11 @@ export const GrepTool = defineTool({
251
352
  walkEnd = value;
252
353
  },
253
354
  };
254
- const entries = walkSandbox ? walkSandbox(root, options) : walkFilesLocally(root, options);
355
+ // A local walk is read ahead so its directory reads overlap with matching; a
356
+ // sandbox's walk is left as the adapter produces it.
357
+ const entries = walkSandbox
358
+ ? walkSandbox(root, options)
359
+ : readAhead(walkFilesLocally(root, { ...options, withoutSizes: CAN_REFUSE_LINKS }));
255
360
  // `execute` is reachable without the schema's defaults.
256
361
  const mode = input.output_mode ?? 'files_with_matches';
257
362
  // `max_results` predates `head_limit`; it keeps meaning "at most this many".
@@ -278,12 +383,16 @@ export const GrepTool = defineTool({
278
383
  // for can be served.
279
384
  const filesToCollect = headLimit > 0 ? offset + Math.max(headLimit * 4, 1000) : Number.POSITIVE_INFINITY;
280
385
  let enough = false;
386
+ const walked = sandbox
387
+ ? undefined
388
+ : createWalkedPaths(root, lexicalRoot, context.workingDirectory);
389
+ const localReader = !sandbox && CAN_REFUSE_LINKS ? createLocalReader(root, signal) : undefined;
281
390
  try {
282
391
  for await (const entry of entries) {
283
392
  signal?.throwIfAborted();
284
393
  const filePath = sandbox
285
394
  ? resolveWithinPosix(root, entry.path)
286
- : resolveWithin(root, entry.path);
395
+ : (walked?.within(entry.path) ?? resolveWithin(root, entry.path));
287
396
  if (filesSearched >= MAX_FILES_SEARCHED) {
288
397
  fileLimit = true;
289
398
  break;
@@ -298,12 +407,27 @@ export const GrepTool = defineTool({
298
407
  let content;
299
408
  let contained;
300
409
  try {
301
- const buffer = await readWithSignal(() => sandbox
302
- ? readBoundedChunks((offset, length) => sandbox.readFile(filePath, { offset, length, signal: signal }), MAX_FILE_SIZE, signal)
303
- : resolveWithinReal(root, filePath).then((path) => {
304
- contained = path;
305
- return readBoundedFile(path, MAX_FILE_SIZE, signal);
306
- }), signal);
410
+ let buffer;
411
+ if (localReader) {
412
+ const read = await localReader.read(filePath);
413
+ contained = read.contained;
414
+ // Over the cap by the size on the open handle: skipped, not unreadable.
415
+ if (read.buffer === 'too-large')
416
+ continue;
417
+ // Gone since the walk listed it: as if the walk had not listed it.
418
+ if (read.buffer === 'gone') {
419
+ filesSearched--;
420
+ continue;
421
+ }
422
+ buffer = read.buffer;
423
+ }
424
+ else
425
+ buffer = await readWithSignal(() => sandbox
426
+ ? readBoundedChunks((offset, length) => sandbox.readFile(filePath, { offset, length, signal: signal }), MAX_FILE_SIZE, signal)
427
+ : resolveWithinReal(root, filePath).then((path) => {
428
+ contained = path;
429
+ return readBoundedFile(path, MAX_FILE_SIZE, signal);
430
+ }), signal);
307
431
  signal?.throwIfAborted();
308
432
  if (buffer.length > MAX_FILE_SIZE || isBinaryContent(buffer))
309
433
  continue;
@@ -319,7 +443,8 @@ export const GrepTool = defineTool({
319
443
  let fileMatches = 0;
320
444
  const relPath = sandbox
321
445
  ? relativePosix(sandbox.rootDir, filePath)
322
- : hostDisplayPath(context.workingDirectory, join(lexicalRoot, relative(root, filePath)));
446
+ : (walked?.displayName(filePath) ??
447
+ hostDisplayPath(context.workingDirectory, join(lexicalRoot, relative(root, filePath))));
323
448
  if (mode === 'content' && input.only_matching) {
324
449
  for (const fragment of matchingFragments(content, regex, multiline)) {
325
450
  signal?.throwIfAborted();
@@ -531,7 +656,9 @@ async function sortByNewest(files) {
531
656
  function lineHits(lines, regex, context) {
532
657
  const hits = [];
533
658
  for (let i = 0; i < lines.length; i++) {
534
- context.abortSignal?.throwIfAborted();
659
+ // A cancellation is seen within a few hundred lines; per line it cost more than the match.
660
+ if ((i & 255) === 0)
661
+ context.abortSignal?.throwIfAborted();
535
662
  regex.lastIndex = 0;
536
663
  if (regex.test(lines[i] ?? ''))
537
664
  hits.push([i, i]);
@@ -1 +1 @@
1
- {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/tools/builtins/grep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/tools/builtins/grep.ts"],"names":[],"mappings":"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"}
@@ -41,4 +41,12 @@ export declare function isReadDenied(context: {
41
41
  workingDirectory: string;
42
42
  readDenied?: (path: string) => boolean;
43
43
  }, path: string, sandboxRoot?: string): boolean;
44
+ /**
45
+ * Pulls from `source` ahead of the consumer, up to `ahead` items, so a walk's
46
+ * directory reads overlap with the matching of files already listed. Order is
47
+ * unchanged. An error from the source is thrown to the consumer after the
48
+ * items listed before it; when the consumer stops, the source is closed (its
49
+ * own cleanup runs) before this returns.
50
+ */
51
+ export declare function readAhead<T>(source: AsyncIterable<T>, ahead?: number): AsyncGenerator<T>;
44
52
  //# sourceMappingURL=search-support.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-support.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/search-support.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAA;AAEtC,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,QAAS,CAAA;AAExC,MAAM,WAAW,YAAY;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,wEAAwE;IACxE,OAAO,IAAI,OAAO,CAAA;IAClB,KAAK,IAAI,IAAI,CAAA;CACb;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,SAAmB,GAAG,YAAY,CAkBhG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlF;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,SAAY,GAAG,MAAM,CAE3E;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ5F;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,EAC7E,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAST"}
1
+ {"version":3,"file":"search-support.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/search-support.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAA;AAEtC,uFAAuF;AACvF,eAAO,MAAM,kBAAkB,QAAS,CAAA;AAExC,MAAM,WAAW,YAAY;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,wEAAwE;IACxE,OAAO,IAAI,OAAO,CAAA;IAClB,KAAK,IAAI,IAAI,CAAA;CACb;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,SAAmB,GAAG,YAAY,CAkBhG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlF;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,SAAY,GAAG,MAAM,CAE3E;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ5F;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,EAC7E,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAST;AAED;;;;;;GAMG;AACH,wBAAuB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,SAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAqD5F"}
@@ -86,4 +86,70 @@ export function isReadDenied(context, path, sandboxRoot) {
86
86
  return true;
87
87
  return context.readDenied(joinPath(context.workingDirectory, relative));
88
88
  }
89
+ /**
90
+ * Pulls from `source` ahead of the consumer, up to `ahead` items, so a walk's
91
+ * directory reads overlap with the matching of files already listed. Order is
92
+ * unchanged. An error from the source is thrown to the consumer after the
93
+ * items listed before it; when the consumer stops, the source is closed (its
94
+ * own cleanup runs) before this returns.
95
+ */
96
+ export async function* readAhead(source, ahead = 256) {
97
+ const iterator = source[Symbol.asyncIterator]();
98
+ const buffer = [];
99
+ let finished = false;
100
+ let failure;
101
+ let stop = false;
102
+ let wakeConsumer;
103
+ let wakeProducer;
104
+ const notifyConsumer = () => {
105
+ const wake = wakeConsumer;
106
+ wakeConsumer = undefined;
107
+ wake?.();
108
+ };
109
+ const producer = (async () => {
110
+ try {
111
+ while (!stop) {
112
+ if (buffer.length >= ahead) {
113
+ await new Promise((resolve) => {
114
+ wakeProducer = resolve;
115
+ });
116
+ continue;
117
+ }
118
+ const next = await iterator.next();
119
+ if (next.done)
120
+ break;
121
+ buffer.push(next.value);
122
+ notifyConsumer();
123
+ }
124
+ }
125
+ catch (error) {
126
+ failure = { error };
127
+ }
128
+ finished = true;
129
+ notifyConsumer();
130
+ })();
131
+ try {
132
+ for (;;) {
133
+ if (buffer.length > 0) {
134
+ const item = buffer.shift();
135
+ wakeProducer?.();
136
+ yield item;
137
+ continue;
138
+ }
139
+ if (failure)
140
+ throw failure.error;
141
+ if (finished)
142
+ return;
143
+ await new Promise((resolve) => {
144
+ wakeConsumer = resolve;
145
+ });
146
+ }
147
+ }
148
+ finally {
149
+ stop = true;
150
+ wakeProducer?.();
151
+ await producer;
152
+ await iterator.return?.();
153
+ }
154
+ }
89
155
  //# sourceMappingURL=search-support.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-support.js","sourceRoot":"","sources":["../../../src/tools/builtins/search-support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-support.js","sourceRoot":"","sources":["../../../src/tools/builtins/search-support.ts"],"names":[],"mappings":"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"}
@@ -793,6 +793,52 @@ export declare const MessageReplacedRecordSchema: z.ZodObject<{
793
793
  "history-repair": "history-repair";
794
794
  }>;
795
795
  }, z.core.$strict>;
796
+ /**
797
+ * A compaction pass changed one message's text in place (a long narration cut
798
+ * to its first sentence, a large tool result cleared) and the message kept its
799
+ * id. The fold shows `content` for `targetMessageId` from this record on, in
800
+ * the message's own position, exactly as it does for `message_replaced`; the
801
+ * `message` record it targets still holds the original text.
802
+ *
803
+ * A record of its own, flagged `ignorable`, and not another `message_replaced`
804
+ * reason: that record's `reason` is a closed list an earlier release validates
805
+ * strictly, so a new value would make it refuse the whole log. An earlier
806
+ * release skips this one and folds the unedited text of the message.
807
+ * `reason` is free text for the same reason: a later release may name more
808
+ * kinds of edit without this one refusing its log.
809
+ */
810
+ export declare const MessageEditedRecordSchema: z.ZodObject<{
811
+ turnId: z.ZodType<TurnId, unknown, z.core.$ZodTypeInternals<TurnId, unknown>>;
812
+ type: z.ZodLiteral<"message_edited">;
813
+ v: z.ZodLiteral<1>;
814
+ id: z.ZodType<RecordId, unknown, z.core.$ZodTypeInternals<RecordId, unknown>>;
815
+ sessionId: z.ZodType<SessionId, unknown, z.core.$ZodTypeInternals<SessionId, unknown>>;
816
+ seq: z.ZodNumber;
817
+ ts: z.ZodString;
818
+ prev: z.ZodNullable<z.ZodObject<{
819
+ seq: z.ZodNumber;
820
+ offset: z.ZodNumber;
821
+ length: z.ZodNumber;
822
+ sha256: z.ZodString;
823
+ }, z.core.$strict>>;
824
+ prevText: z.ZodOptional<z.ZodNullable<z.ZodObject<{
825
+ seq: z.ZodNumber;
826
+ offset: z.ZodNumber;
827
+ length: z.ZodNumber;
828
+ sha256: z.ZodString;
829
+ }, z.core.$strict>>>;
830
+ gen: z.ZodNumber;
831
+ ignorable: z.ZodLiteral<true>;
832
+ targetMessageId: z.ZodType<MessageId, unknown, z.core.$ZodTypeInternals<MessageId, unknown>>;
833
+ content: z.ZodCustom<Message, Message>;
834
+ spill: z.ZodOptional<z.ZodObject<{
835
+ path: z.ZodString;
836
+ manifest: z.ZodString;
837
+ bytes: z.ZodNumber;
838
+ sha256: z.ZodString;
839
+ }, z.core.$strict>>;
840
+ reason: z.ZodString;
841
+ }, z.core.$strict>;
796
842
  /** `SessionRecordSchema` also holds `throughSeq` below the record's own `seq`. */
797
843
  export declare const CheckpointWrittenRecordSchema: z.ZodObject<{
798
844
  turnId: z.ZodType<TurnId, unknown, z.core.$ZodTypeInternals<TurnId, unknown>>;
@@ -1648,6 +1694,38 @@ declare const RECORD_ONLY_SCHEMAS: {
1648
1694
  "history-repair": "history-repair";
1649
1695
  }>;
1650
1696
  }, z.core.$strict>;
1697
+ readonly message_edited: z.ZodObject<{
1698
+ turnId: z.ZodType<TurnId, unknown, z.core.$ZodTypeInternals<TurnId, unknown>>;
1699
+ type: z.ZodLiteral<"message_edited">;
1700
+ v: z.ZodLiteral<1>;
1701
+ id: z.ZodType<RecordId, unknown, z.core.$ZodTypeInternals<RecordId, unknown>>;
1702
+ sessionId: z.ZodType<SessionId, unknown, z.core.$ZodTypeInternals<SessionId, unknown>>;
1703
+ seq: z.ZodNumber;
1704
+ ts: z.ZodString;
1705
+ prev: z.ZodNullable<z.ZodObject<{
1706
+ seq: z.ZodNumber;
1707
+ offset: z.ZodNumber;
1708
+ length: z.ZodNumber;
1709
+ sha256: z.ZodString;
1710
+ }, z.core.$strict>>;
1711
+ prevText: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1712
+ seq: z.ZodNumber;
1713
+ offset: z.ZodNumber;
1714
+ length: z.ZodNumber;
1715
+ sha256: z.ZodString;
1716
+ }, z.core.$strict>>>;
1717
+ gen: z.ZodNumber;
1718
+ ignorable: z.ZodLiteral<true>;
1719
+ targetMessageId: z.ZodType<MessageId, unknown, z.core.$ZodTypeInternals<MessageId, unknown>>;
1720
+ content: z.ZodCustom<Message, Message>;
1721
+ spill: z.ZodOptional<z.ZodObject<{
1722
+ path: z.ZodString;
1723
+ manifest: z.ZodString;
1724
+ bytes: z.ZodNumber;
1725
+ sha256: z.ZodString;
1726
+ }, z.core.$strict>>;
1727
+ reason: z.ZodString;
1728
+ }, z.core.$strict>;
1651
1729
  readonly checkpoint_written: z.ZodObject<{
1652
1730
  turnId: z.ZodType<TurnId, unknown, z.core.$ZodTypeInternals<TurnId, unknown>>;
1653
1731
  type: z.ZodLiteral<"checkpoint_written">;
@@ -2154,6 +2232,7 @@ export type SessionStartedRecord = z.infer<typeof SessionStartedRecordSchema>;
2154
2232
  export type SessionUpdatedRecord = z.infer<typeof SessionUpdatedRecordSchema>;
2155
2233
  export type MessageRecord = z.infer<typeof MessageRecordSchema>;
2156
2234
  export type MessageReplacedRecord = z.infer<typeof MessageReplacedRecordSchema>;
2235
+ export type MessageEditedRecord = z.infer<typeof MessageEditedRecordSchema>;
2157
2236
  export type CheckpointWrittenRecord = z.infer<typeof CheckpointWrittenRecordSchema>;
2158
2237
  export type CheckpointPrunedRecord = z.infer<typeof CheckpointPrunedRecordSchema>;
2159
2238
  export type DecisionRequestedRecord = z.infer<typeof DecisionRequestedRecordSchema>;
@@ -2168,7 +2247,7 @@ export type LogRepairedRecord = z.infer<typeof LogRepairedRecordSchema>;
2168
2247
  export type TurnOutcomeRecordedRecord = z.infer<typeof TurnOutcomeRecordedRecordSchema>;
2169
2248
  export type ChildOutcomeRecordedRecord = z.infer<typeof ChildOutcomeRecordedRecordSchema>;
2170
2249
  export type OutcomeProgressWrittenRecord = z.infer<typeof OutcomeProgressWrittenRecordSchema>;
2171
- export type SessionRecordOnly = SessionStartedRecord | SessionUpdatedRecord | MessageRecord | MessageReplacedRecord | CheckpointWrittenRecord | CheckpointPrunedRecord | DecisionRequestedRecord | DecisionResolvedRecord | DecisionExpiredRecord | CompactionRecord | ChildSessionEndedRecord | AuditRecord | BudgetBoundRecord | AccountBoundRecord | LogRepairedRecord | TurnOutcomeRecordedRecord | ChildOutcomeRecordedRecord | OutcomeProgressWrittenRecord;
2250
+ export type SessionRecordOnly = SessionStartedRecord | SessionUpdatedRecord | MessageRecord | MessageReplacedRecord | MessageEditedRecord | CheckpointWrittenRecord | CheckpointPrunedRecord | DecisionRequestedRecord | DecisionResolvedRecord | DecisionExpiredRecord | CompactionRecord | ChildSessionEndedRecord | AuditRecord | BudgetBoundRecord | AccountBoundRecord | LogRepairedRecord | TurnOutcomeRecordedRecord | ChildOutcomeRecordedRecord | OutcomeProgressWrittenRecord;
2172
2251
  /** One line of a session log. */
2173
2252
  export type SessionRecord = SessionEventRecord | SessionRecordOnly;
2174
2253
  export type SessionRecordType = SessionRecord['type'];