@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
@@ -0,0 +1,46 @@
1
+ import type { SessionId } from '../../types/ids/index.js';
2
+ import type { RecordPointer } from '../../types/session/records.js';
3
+ import { type LogBytes, type SessionLogEntry } from './chain.js';
4
+ import { SessionTurnState } from './fold.js';
5
+ export declare class VerifiedPrefix {
6
+ #private;
7
+ /** Records remembered. */
8
+ get count(): number;
9
+ get head(): RecordPointer | null;
10
+ get gen(): number;
11
+ get sessionId(): SessionId | undefined;
12
+ /** Byte offset just after the last remembered record. */
13
+ get end(): number;
14
+ /** The turn state at the head, as its own copy. */
15
+ turns(): SessionTurnState;
16
+ /** Lengths and digests as they stand now; entries below `count` never change. */
17
+ get lengths(): Uint32Array;
18
+ get digests(): Buffer;
19
+ /** Whether the remembered record `seq` is exactly `pointer` (length and digest). */
20
+ holds(pointer: RecordPointer): boolean;
21
+ /**
22
+ * Remember a record that was verified in full. Ignored unless it continues
23
+ * what is held: the next seq, naming the head by its pointer.
24
+ */
25
+ append(entry: SessionLogEntry): void;
26
+ }
27
+ /** The ledger of a log, if this process has one; marks it recently used. */
28
+ export declare function verifiedPrefixOf(key: string): VerifiedPrefix | undefined;
29
+ /** Discard what is remembered of a log and start an empty ledger for it. */
30
+ export declare function startVerifiedPrefix(key: string): VerifiedPrefix;
31
+ /** Forget every remembered log: what a process that has not read them yet looks like. For tests. */
32
+ export declare function clearVerifiedPrefixes(): void;
33
+ /** How many logs are remembered. For tests. */
34
+ export declare function verifiedPrefixCount(): number;
35
+ /**
36
+ * Read the first `count` lines of `bytes` and compare each one's length and
37
+ * SHA-256 with the ledger's. Resolves `true` only when every one is equal.
38
+ * Parses nothing and keeps nothing. Any difference, a log that ends sooner,
39
+ * or a fragment no record could be, resolves `false`: the caller then verifies
40
+ * in full, which says what is wrong.
41
+ */
42
+ export declare function rehashPrefix(bytes: Pick<LogBytes, 'size'> & {
43
+ stream(offset: number): AsyncIterable<Uint8Array>;
44
+ scan?(offset: number, visit: (chunk: Uint8Array) => boolean): Promise<void>;
45
+ }, ledger: VerifiedPrefix, count: number): Promise<boolean>;
46
+ //# sourceMappingURL=verified-prefix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verified-prefix.d.ts","sourceRoot":"","sources":["../../../src/store/session-log/verified-prefix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAgB,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAsD5C,qBAAa,cAAc;;IAW1B,0BAA0B;IAC1B,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,IAAI,IAAI,aAAa,GAAG,IAAI,CAE/B;IACD,IAAI,GAAG,IAAI,MAAM,CAEhB;IACD,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAErC;IACD,yDAAyD;IACzD,IAAI,GAAG,IAAI,MAAM,CAEhB;IACD,mDAAmD;IACnD,KAAK,IAAI,gBAAgB;IAGzB,iFAAiF;IACjF,IAAI,OAAO,IAAI,WAAW,CAEzB;IACD,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,oFAAoF;IACpF,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAStC;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;CA4BpC;AAeD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAOxE;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAS/D;AAED,oGAAoG;AACpG,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CACjC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG;IAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3E,EACD,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAmClB"}
@@ -0,0 +1,233 @@
1
+ import * as crypto from 'node:crypto';
2
+ import { LineSplitter } from './chain.js';
3
+ import { SessionTurnState } from './fold.js';
4
+ /**
5
+ * What this process has already verified of a session log, so that checking
6
+ * it again costs the bytes and not the parsing.
7
+ *
8
+ * A ledger remembers, for every record this process verified IN FULL (schema,
9
+ * parse, hash chain, seq, gen, links: everything `SessionLogChain.accept`
10
+ * checks), the byte length of its line and the SHA-256 of those bytes, plus
11
+ * the head pointer, the `gen`, the session id and the turn state folded to
12
+ * the head. A later claim of the same log reads every byte again and hashes
13
+ * each line; a line whose length and digest equal the remembered ones is
14
+ * byte-identical to a line that already passed every rule, so it passes them
15
+ * again without being parsed. Only what lies after the remembered head is
16
+ * verified in full. Nothing about the file's identity is trusted for
17
+ * soundness: the content is compared. Any difference (a changed byte, a
18
+ * shorter file, a replaced file, a line that no longer splits the same way)
19
+ * makes the caller discard the ledger and verify from byte 0 as before.
20
+ *
21
+ * A ledger is fed only from entries that came out of a full verification and
22
+ * that continue it (`seq` = count + 1 and `prev` equal to the head), so what
23
+ * it holds is a prefix of one valid chain and nothing else. It costs 36 bytes
24
+ * per record.
25
+ */
26
+ const DIGEST_BYTES = 32;
27
+ /** Logs kept; the least recently used is dropped. */
28
+ const LEDGERS_KEPT = 16;
29
+ /** A log with more records than this is not remembered (about 72 MB of digests). */
30
+ const MAX_RECORDS = 1 << 21;
31
+ /**
32
+ * The digest of one line as lowercase hex. A string, not a Buffer: a Buffer per
33
+ * line (82,000 of them in a long log) is native memory the collector has to
34
+ * chase, and measured about twice the CPU. The one-shot form where Node has it.
35
+ */
36
+ const hexDigestOf = typeof crypto.hash === 'function'
37
+ ? (line) => crypto.hash('sha256', line, 'hex')
38
+ : (line) => crypto.createHash('sha256').update(line).digest('hex');
39
+ /** Whether `hex` (64 lowercase hex characters) spells the 32 bytes at `at` in `bytes`. */
40
+ function hexEqualsBytes(hex, bytes, at) {
41
+ if (hex.length !== DIGEST_BYTES * 2)
42
+ return false;
43
+ for (let i = 0; i < DIGEST_BYTES; i++) {
44
+ const high = hex.charCodeAt(i * 2);
45
+ const low = hex.charCodeAt(i * 2 + 1);
46
+ const value = ((high <= 0x39 ? high - 0x30 : high - 0x57) << 4) | (low <= 0x39 ? low - 0x30 : low - 0x57);
47
+ if (value !== bytes[at + i])
48
+ return false;
49
+ }
50
+ return true;
51
+ }
52
+ export class VerifiedPrefix {
53
+ #count = 0;
54
+ #lengths = new Uint32Array(1024);
55
+ #digests = Buffer.allocUnsafe(1024 * DIGEST_BYTES);
56
+ #head = null;
57
+ #gen = 0;
58
+ #sessionId;
59
+ #end = 0;
60
+ #dead = false;
61
+ #turns = new SessionTurnState();
62
+ /** Records remembered. */
63
+ get count() {
64
+ return this.#count;
65
+ }
66
+ get head() {
67
+ return this.#head;
68
+ }
69
+ get gen() {
70
+ return this.#gen;
71
+ }
72
+ get sessionId() {
73
+ return this.#sessionId;
74
+ }
75
+ /** Byte offset just after the last remembered record. */
76
+ get end() {
77
+ return this.#end;
78
+ }
79
+ /** The turn state at the head, as its own copy. */
80
+ turns() {
81
+ return this.#turns.clone();
82
+ }
83
+ /** Lengths and digests as they stand now; entries below `count` never change. */
84
+ get lengths() {
85
+ return this.#lengths;
86
+ }
87
+ get digests() {
88
+ return this.#digests;
89
+ }
90
+ /** Whether the remembered record `seq` is exactly `pointer` (length and digest). */
91
+ holds(pointer) {
92
+ const at = pointer.seq - 1;
93
+ if (at < 0 || at >= this.#count)
94
+ return false;
95
+ if (this.#lengths[at] !== pointer.length)
96
+ return false;
97
+ return (this.#digests.toString('hex', at * DIGEST_BYTES, (at + 1) * DIGEST_BYTES) === pointer.sha256);
98
+ }
99
+ /**
100
+ * Remember a record that was verified in full. Ignored unless it continues
101
+ * what is held: the next seq, naming the head by its pointer.
102
+ */
103
+ append(entry) {
104
+ if (this.#dead)
105
+ return;
106
+ const { record, pointer } = entry;
107
+ if (pointer.seq !== this.#count + 1 || pointer.offset !== this.#end)
108
+ return;
109
+ const prev = record.prev;
110
+ if (this.#head === null ? prev !== null : !samePointer(prev, this.#head))
111
+ return;
112
+ if (this.#sessionId !== undefined && record.sessionId !== this.#sessionId)
113
+ return;
114
+ if (this.#count >= MAX_RECORDS) {
115
+ this.#dead = true;
116
+ return;
117
+ }
118
+ if (this.#count === this.#lengths.length) {
119
+ const lengths = new Uint32Array(this.#lengths.length * 2);
120
+ lengths.set(this.#lengths);
121
+ this.#lengths = lengths;
122
+ const digests = Buffer.allocUnsafe(this.#digests.length * 2);
123
+ this.#digests.copy(digests);
124
+ this.#digests = digests;
125
+ }
126
+ this.#lengths[this.#count] = pointer.length;
127
+ this.#digests.write(pointer.sha256, this.#count * DIGEST_BYTES, DIGEST_BYTES, 'hex');
128
+ this.#count += 1;
129
+ this.#head = pointer;
130
+ this.#gen = record.gen;
131
+ this.#end = pointer.offset + pointer.length;
132
+ this.#sessionId ??= record.sessionId;
133
+ this.#turns.apply(record);
134
+ }
135
+ }
136
+ function samePointer(a, b) {
137
+ return (a !== null &&
138
+ a !== undefined &&
139
+ a.seq === b.seq &&
140
+ a.offset === b.offset &&
141
+ a.length === b.length &&
142
+ a.sha256 === b.sha256);
143
+ }
144
+ const ledgers = new Map();
145
+ /** The ledger of a log, if this process has one; marks it recently used. */
146
+ export function verifiedPrefixOf(key) {
147
+ const found = ledgers.get(key);
148
+ if (found !== undefined) {
149
+ ledgers.delete(key);
150
+ ledgers.set(key, found);
151
+ }
152
+ return found;
153
+ }
154
+ /** Discard what is remembered of a log and start an empty ledger for it. */
155
+ export function startVerifiedPrefix(key) {
156
+ ledgers.delete(key);
157
+ if (ledgers.size >= LEDGERS_KEPT) {
158
+ const oldest = ledgers.keys().next().value;
159
+ if (oldest !== undefined)
160
+ ledgers.delete(oldest);
161
+ }
162
+ const fresh = new VerifiedPrefix();
163
+ ledgers.set(key, fresh);
164
+ return fresh;
165
+ }
166
+ /** Forget every remembered log: what a process that has not read them yet looks like. For tests. */
167
+ export function clearVerifiedPrefixes() {
168
+ ledgers.clear();
169
+ }
170
+ /** How many logs are remembered. For tests. */
171
+ export function verifiedPrefixCount() {
172
+ return ledgers.size;
173
+ }
174
+ /**
175
+ * Read the first `count` lines of `bytes` and compare each one's length and
176
+ * SHA-256 with the ledger's. Resolves `true` only when every one is equal.
177
+ * Parses nothing and keeps nothing. Any difference, a log that ends sooner,
178
+ * or a fragment no record could be, resolves `false`: the caller then verifies
179
+ * in full, which says what is wrong.
180
+ */
181
+ export async function rehashPrefix(bytes, ledger, count) {
182
+ if (count === 0)
183
+ return true;
184
+ if (count > ledger.count)
185
+ return false;
186
+ const lengths = ledger.lengths;
187
+ const digests = ledger.digests;
188
+ if ((await bytes.size()) < endOfLine(lengths, count))
189
+ return false;
190
+ const splitter = new LineSplitter(0);
191
+ let index = 0;
192
+ let matched = false;
193
+ // True once the answer is known. A chunk is read from a buffer the caller of `visit`
194
+ // may reuse, so nothing here keeps a slice of it: a line is hashed where it stands.
195
+ const visit = (chunk) => {
196
+ for (const { line } of splitter.push(chunk)) {
197
+ if (line.byteLength !== lengths[index])
198
+ return true;
199
+ if (!hexEqualsBytes(hexDigestOf(line), digests, index * DIGEST_BYTES))
200
+ return true;
201
+ index += 1;
202
+ if (index === count) {
203
+ matched = true;
204
+ return true;
205
+ }
206
+ }
207
+ return false;
208
+ };
209
+ try {
210
+ if (bytes.scan !== undefined) {
211
+ await bytes.scan(0, visit);
212
+ }
213
+ else {
214
+ for await (const chunk of bytes.stream(0))
215
+ if (visit(chunk))
216
+ break;
217
+ }
218
+ }
219
+ catch (error) {
220
+ // A fragment longer than any record can be: not the log that was verified.
221
+ if (error.name === 'SessionLogIntegrityError')
222
+ return false;
223
+ throw error;
224
+ }
225
+ return matched;
226
+ }
227
+ function endOfLine(lengths, count) {
228
+ let total = 0;
229
+ for (let i = 0; i < count; i++)
230
+ total += lengths[i];
231
+ return total;
232
+ }
233
+ //# sourceMappingURL=verified-prefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verified-prefix.js","sourceRoot":"","sources":["../../../src/store/session-log/verified-prefix.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admit-facts.d.ts","sourceRoot":"","sources":["../../src/tools/admit-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAqB,MAAM,+BAA+B,CAAA;AA2F/F;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CA+FpE"}
1
+ {"version":3,"file":"admit-facts.d.ts","sourceRoot":"","sources":["../../src/tools/admit-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAqB,MAAM,+BAA+B,CAAA;AA2F/F;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAgGpE"}
@@ -182,6 +182,7 @@ export function admitToolFacts(value) {
182
182
  kind: 'failure',
183
183
  reason,
184
184
  subject: text(value.subject),
185
+ note: text(value.note),
185
186
  });
186
187
  }
187
188
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"admit-facts.js","sourceRoot":"","sources":["../../src/tools/admit-facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admit-facts.js","sourceRoot":"","sources":["../../src/tools/admit-facts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/bash.ts"],"names":[],"mappings":"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"}
@@ -407,6 +407,10 @@ export function execHostShell(command, options) {
407
407
  });
408
408
  }
409
409
  export { dangerousCommandReason };
410
+ /** A reason as a sentence a person reads under a row: first letter up. */
411
+ function sentence(reason) {
412
+ return reason ? `${reason.charAt(0).toUpperCase()}${reason.slice(1)}` : reason;
413
+ }
410
414
  /** The dangerous-pattern check `bash` applies, shared so the `monitor` tool refuses the same lines. */
411
415
  export function isDangerousCommand(command) {
412
416
  return DANGEROUS_PATTERNS.some((pattern) => pattern.test(command));
@@ -473,7 +477,12 @@ const BashToolBase = defineTool({
473
477
  success: false,
474
478
  output: '',
475
479
  error: `Dangerous command blocked: "${input.command}". Why: ${dangerousCommandReason(input.command)}. Nothing ran. Use a narrower command that avoids it, or ask the user to run this one.`,
476
- facts: { kind: 'failure', reason: 'blocked', subject: 'bash' },
480
+ facts: {
481
+ kind: 'failure',
482
+ reason: 'blocked',
483
+ subject: 'bash',
484
+ note: sentence(dangerousCommandReason(input.command)),
485
+ },
477
486
  };
478
487
  }
479
488
  // Where a job registry exists to wait on, a long leading sleep only
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../../src/tools/builtins/bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../../src/tools/builtins/bash.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,23 @@ export declare const TEXT_MAX_INPUT_BYTES: number;
6
6
  * The first bounded chunk can choose a stricter limit from the file signature.
7
7
  */
8
8
  export declare function readBoundedChunks(read: (offset: number, length: number) => Promise<Buffer>, maximum: number, signal?: AbortSignal, selectLimit?: (prefix: Buffer) => number): Promise<Buffer>;
9
- export declare function readBoundedFile(path: string, maximum: number, signal?: AbortSignal, selectLimit?: (prefix: Buffer) => number): Promise<Buffer>;
9
+ export declare function readBoundedFile(path: string, maximum: number, signal?: AbortSignal, selectLimit?: (prefix: Buffer) => number, extraFlags?: number): Promise<Buffer>;
10
+ /** True where the platform can refuse a final-component link at open time. */
11
+ export declare const CAN_REFUSE_LINKS: boolean;
12
+ /** The flag a caller passes to {@link readBoundedFile} to refuse a final-component link. */
13
+ export declare const REFUSE_LINK_FLAG: number;
14
+ /**
15
+ * The same bounded read as {@link readBoundedFile} through one synchronous
16
+ * handle: open, fstat, read, close. A link in the last path component is
17
+ * refused at open (`O_NOFOLLOW`), so a link swapped in after a walk listed the
18
+ * file cannot be followed. Callers yield between files; one file is at most
19
+ * `maximum` bytes; a file whose size is over it answers `'too-large'`. With a
20
+ * `scratch` buffer, a file that fits one chunk comes back as a view of it, valid
21
+ * until the next call. Requires {@link CAN_REFUSE_LINKS}.
22
+ *
23
+ * With `syncMaximum`, a file whose size is over it (and within `maximum`) is not
24
+ * read here: the answer is `'large'`, so the caller reads it through
25
+ * {@link readBoundedFile}, which does not hold the event loop for the whole file.
26
+ */
27
+ export declare function readBoundedFileSync(path: string, maximum: number, scratch?: Buffer, syncMaximum?: number): Buffer | 'too-large' | 'large';
10
28
  //# sourceMappingURL=bounded-file-read.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bounded-file-read.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/bounded-file-read.ts"],"names":[],"mappings":"AAKA,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,QAAmB,CAAA;AAEpD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACzD,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GACtC,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,eAAe,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GACtC,OAAO,CAAC,MAAM,CAAC,CA+BjB"}
1
+ {"version":3,"file":"bounded-file-read.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/bounded-file-read.ts"],"names":[],"mappings":"AAKA,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,QAAmB,CAAA;AAEpD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACzD,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GACtC,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,eAAe,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,EACxC,UAAU,SAAI,GACZ,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAQD,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,SAAuE,CAAA;AAEpG,4FAA4F;AAC5F,eAAO,MAAM,gBAAgB,EAAE,MAAoD,CAAA;AAEnF;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,SAAU,GACnB,MAAM,GAAG,WAAW,GAAG,OAAO,CA4BhC"}
@@ -1,4 +1,4 @@
1
- import { constants } from 'node:fs';
1
+ import { constants, closeSync, fstatSync, openSync, readSync } from 'node:fs';
2
2
  import { open } from 'node:fs/promises';
3
3
  const CHUNK_BYTES = 64 * 1024;
4
4
  /** A hard input ceiling, independent of output windows and allow_large. */
@@ -29,10 +29,12 @@ export async function readBoundedChunks(read, maximum, signal, selectLimit) {
29
29
  return Buffer.concat(chunks, offset);
30
30
  }
31
31
  }
32
- export async function readBoundedFile(path, maximum, signal, selectLimit) {
32
+ export async function readBoundedFile(path, maximum, signal, selectLimit, extraFlags = 0) {
33
33
  // O_NONBLOCK prevents a substituted FIFO from blocking open before fstat.
34
+ // `extraFlags` adds to it, for a caller that also needs the last component
35
+ // refused when it is a link.
34
36
  signal?.throwIfAborted();
35
- const file = await open(path, constants.O_RDONLY | constants.O_NONBLOCK);
37
+ const file = await open(path, constants.O_RDONLY | constants.O_NONBLOCK | extraFlags);
36
38
  try {
37
39
  const info = await file.stat();
38
40
  if (!info.isFile())
@@ -64,4 +66,55 @@ export async function readBoundedFile(path, maximum, signal, selectLimit) {
64
66
  function inputTooLarge(limit) {
65
67
  return new Error(`File exceeds the bounded read limit (${limit} bytes). Extract a smaller file with a shell command.`);
66
68
  }
69
+ /** True where the platform can refuse a final-component link at open time. */
70
+ export const CAN_REFUSE_LINKS = typeof constants.O_NOFOLLOW === 'number' && constants.O_NOFOLLOW > 0;
71
+ /** The flag a caller passes to {@link readBoundedFile} to refuse a final-component link. */
72
+ export const REFUSE_LINK_FLAG = CAN_REFUSE_LINKS ? constants.O_NOFOLLOW : 0;
73
+ /**
74
+ * The same bounded read as {@link readBoundedFile} through one synchronous
75
+ * handle: open, fstat, read, close. A link in the last path component is
76
+ * refused at open (`O_NOFOLLOW`), so a link swapped in after a walk listed the
77
+ * file cannot be followed. Callers yield between files; one file is at most
78
+ * `maximum` bytes; a file whose size is over it answers `'too-large'`. With a
79
+ * `scratch` buffer, a file that fits one chunk comes back as a view of it, valid
80
+ * until the next call. Requires {@link CAN_REFUSE_LINKS}.
81
+ *
82
+ * With `syncMaximum`, a file whose size is over it (and within `maximum`) is not
83
+ * read here: the answer is `'large'`, so the caller reads it through
84
+ * {@link readBoundedFile}, which does not hold the event loop for the whole file.
85
+ */
86
+ export function readBoundedFileSync(path, maximum, scratch, syncMaximum = maximum) {
87
+ const fd = openSync(path, constants.O_RDONLY | constants.O_NONBLOCK | constants.O_NOFOLLOW);
88
+ try {
89
+ const info = fstatSync(fd);
90
+ if (!info.isFile())
91
+ throw new Error('Read requires a regular file.');
92
+ if (info.size > maximum)
93
+ return 'too-large';
94
+ if (info.size > syncMaximum)
95
+ return 'large';
96
+ const chunks = [];
97
+ let offset = 0;
98
+ for (;;) {
99
+ const length = Math.min(CHUNK_BYTES, maximum + 1 - offset);
100
+ const buffer = offset === 0 && scratch && scratch.length >= length ? scratch : Buffer.allocUnsafe(length);
101
+ let used = 0;
102
+ while (used < length) {
103
+ const bytesRead = readSync(fd, buffer, used, length - used, offset + used);
104
+ if (bytesRead === 0)
105
+ break;
106
+ used += bytesRead;
107
+ }
108
+ offset += used;
109
+ if (offset > maximum)
110
+ throw inputTooLarge(maximum);
111
+ chunks.push(buffer.subarray(0, used));
112
+ if (used < length)
113
+ return chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, offset);
114
+ }
115
+ }
116
+ finally {
117
+ closeSync(fd);
118
+ }
119
+ }
67
120
  //# sourceMappingURL=bounded-file-read.js.map