@namzu/sdk 58.1.0 → 58.1.1
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.
- package/CHANGELOG.md +8 -0
- package/dist/runtime/query/iteration/phases/compaction-breaker.d.ts +7 -7
- package/dist/runtime/query/iteration/phases/compaction-breaker.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction-breaker.js +7 -7
- package/dist/runtime/query/iteration/phases/compaction-breaker.js.map +1 -1
- package/dist/runtime/query/tool-output-budget.d.ts.map +1 -1
- package/dist/runtime/query/tool-output-budget.js +5 -3
- package/dist/runtime/query/tool-output-budget.js.map +1 -1
- package/dist/tools/text-window.d.ts.map +1 -1
- package/dist/tools/text-window.js +4 -3
- package/dist/tools/text-window.js.map +1 -1
- package/dist/utils/copy-string.d.ts +10 -0
- package/dist/utils/copy-string.d.ts.map +1 -0
- package/dist/utils/copy-string.js +12 -0
- package/dist/utils/copy-string.js.map +1 -0
- package/package.json +1 -1
- package/src/runtime/query/iteration/phases/compaction-breaker.ts +7 -7
- package/src/runtime/query/tool-output-budget.ts +8 -4
- package/src/tools/text-window.ts +4 -3
- package/src/utils/copy-string.ts +11 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 58.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 60ca139: Prevent bounded tool previews and delegated-agent activity rows from retaining the backing storage of much larger source strings. Visible text, output limits and retained full-output recovery are unchanged; copied previews preserve all UTF-16 code units.
|
|
8
|
+
|
|
9
|
+
Explain that repeated compaction refills can result from little reclaimed space even with small outputs. Suggest checking the model context window instead of diagnosing an oversized file from the refill count alone. The compaction safety limits remain unchanged.
|
|
10
|
+
|
|
3
11
|
## 58.1.0
|
|
4
12
|
|
|
5
13
|
### Minor Changes
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* line and a `breaker_open` event, no sentence); a pass the provider forces
|
|
9
9
|
* by rejecting the prompt is not gated, so the reactive ladder still runs.
|
|
10
10
|
* - Three compactions in a row, each followed by the history regaining all
|
|
11
|
-
* space shed within three iterations:
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* space shed within three iterations: conversation growth refills the space
|
|
12
|
+
* freed. Even small outputs can do this when a summary leaves little room.
|
|
13
|
+
* The turn stops, because carrying on buys the same wall.
|
|
14
14
|
*
|
|
15
15
|
* Off unless `compactionConfig.circuitBreaker` is true: stopping compaction,
|
|
16
16
|
* and above all stopping a turn, is not something a host had before.
|
|
@@ -34,11 +34,11 @@ export declare const COMPACTION_REFILL_ITERATIONS = 3;
|
|
|
34
34
|
/** Consecutive refills that stop the turn. */
|
|
35
35
|
export declare const COMPACTION_REFILL_LIMIT = 3;
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
37
|
+
* Shown once when the turn stops on refills. Explain context pressure without
|
|
38
|
+
* inferring the size of any individual output; suggest steps that preserve
|
|
39
|
+
* the conversation.
|
|
40
40
|
*/
|
|
41
|
-
export declare const COMPACTION_REFILL_MESSAGE = "The context filled up again right after being compacted, three times in a row.
|
|
41
|
+
export declare const COMPACTION_REFILL_MESSAGE = "The context filled up again right after being compacted, three times in a row. Compaction may have left too little room, even for small outputs. Check the configured model context window; limit tool output or read files in smaller parts.";
|
|
42
42
|
export declare class CompactionBreaker {
|
|
43
43
|
private failures;
|
|
44
44
|
private refills;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-breaker.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/compaction-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,oCAAoC,CAAA;AAErF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CASzE;AAED,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,IAAI,CAAA;AACzC,8EAA8E;AAC9E,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAC7C,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"compaction-breaker.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/compaction-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,oCAAoC,CAAA;AAErF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CASzE;AAED,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,IAAI,CAAA;AACzC,8EAA8E;AAC9E,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAC7C,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,kPAC0M,CAAA;AAEhP,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,sBAAsB,CAAoB;IAClD,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,eAAe,CAAI;IAC3B,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,UAAU,CAAoB;IAEtC,8EAA8E;IAC9E,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,8DAA8D;IAC9D,iBAAiB,IAAI,OAAO;IAM5B,aAAa,IAAI,IAAI;IAIrB,qDAAqD;IACrD,YAAY,IAAI,IAAI;IAIpB;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAarD,kFAAkF;IAClF,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAQpF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B,sEAAsE;IACtE,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;CACD;AAID,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,SAAS,CAQtF"}
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* line and a `breaker_open` event, no sentence); a pass the provider forces
|
|
9
9
|
* by rejecting the prompt is not gated, so the reactive ladder still runs.
|
|
10
10
|
* - Three compactions in a row, each followed by the history regaining all
|
|
11
|
-
* space shed within three iterations:
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* space shed within three iterations: conversation growth refills the space
|
|
12
|
+
* freed. Even small outputs can do this when a summary leaves little room.
|
|
13
|
+
* The turn stops, because carrying on buys the same wall.
|
|
14
14
|
*
|
|
15
15
|
* Off unless `compactionConfig.circuitBreaker` is true: stopping compaction,
|
|
16
16
|
* and above all stopping a turn, is not something a host had before.
|
|
@@ -40,11 +40,11 @@ export const COMPACTION_REFILL_ITERATIONS = 3;
|
|
|
40
40
|
/** Consecutive refills that stop the turn. */
|
|
41
41
|
export const COMPACTION_REFILL_LIMIT = 3;
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
43
|
+
* Shown once when the turn stops on refills. Explain context pressure without
|
|
44
|
+
* inferring the size of any individual output; suggest steps that preserve
|
|
45
|
+
* the conversation.
|
|
46
46
|
*/
|
|
47
|
-
export const COMPACTION_REFILL_MESSAGE = 'The context filled up again right after being compacted, three times in a row.
|
|
47
|
+
export const COMPACTION_REFILL_MESSAGE = 'The context filled up again right after being compacted, three times in a row. Compaction may have left too little room, even for small outputs. Check the configured model context window; limit tool output or read files in smaller parts.';
|
|
48
48
|
export class CompactionBreaker {
|
|
49
49
|
failures = 0;
|
|
50
50
|
refills = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-breaker.js","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/compaction-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AAChF,OAAO,EAAgB,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAGtD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA4B;IAChE,OAAO,QAAQ,CAAC,MAAM,CACrB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAClB,KAAK;QACL,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,EACnC,CAAC,CACD,CAAA;AACF,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAA;AACzC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAA;AAC7C,8CAA8C;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GACrC,
|
|
1
|
+
{"version":3,"file":"compaction-breaker.js","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/compaction-breaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-output-budget.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/tool-output-budget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-output-budget.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/tool-output-budget.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,6BAA6B,QAAS,CAAA;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,yCAAyC,SAAU,CAAA;AAEhE,0FAA0F;AAC1F,eAAO,MAAM,4BAA4B,OAAQ,CAAA;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,oCAAoC,CAAA;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,kEAAkE,CAAA;AAKnG;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAcpF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOtE;AAsED,MAAM,WAAW,sBAAsB;IACtC,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,gDAAgD;IAChD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,OAAO,GAC7C,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,GAAG,MAAM,CAOjF;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,uFAAuF;IACvF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IACtC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAA;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,4BAA4B,GAAG,sBAAsB,CA6EhG;AAqED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,gCAAgC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAA;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,IAAI,EAAE,gCAAgC,GACpC,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAoBvC"}
|
|
@@ -2,6 +2,7 @@ import { createHash } from 'node:crypto';
|
|
|
2
2
|
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { digest, spillManifest } from '../../store/evidence/format.js';
|
|
5
|
+
import { copyString } from '../../utils/copy-string.js';
|
|
5
6
|
/**
|
|
6
7
|
* Model-visible size cap for a single tool result.
|
|
7
8
|
*
|
|
@@ -230,8 +231,9 @@ export function applyToolOutputBudget(opts) {
|
|
|
230
231
|
if (preview !== undefined && retained?.integrity) {
|
|
231
232
|
const condensed = [preview, recovery].filter(Boolean).join('\n\n');
|
|
232
233
|
if (effectiveTextBudget === undefined || condensed.length <= effectiveTextBudget) {
|
|
234
|
+
const visible = withNotice(condensed);
|
|
233
235
|
return {
|
|
234
|
-
output:
|
|
236
|
+
output: effectiveTextBudget === undefined ? visible : copyString(visible),
|
|
235
237
|
originalLength,
|
|
236
238
|
truncated: true,
|
|
237
239
|
spillPath,
|
|
@@ -243,7 +245,7 @@ export function applyToolOutputBudget(opts) {
|
|
|
243
245
|
return { output: withNotice(output), originalLength, truncated: false };
|
|
244
246
|
}
|
|
245
247
|
return {
|
|
246
|
-
output: withNotice(boundedPreview(output, effectiveTextBudget ?? textBudget, opts.toolName, recovery)),
|
|
248
|
+
output: copyString(withNotice(boundedPreview(output, effectiveTextBudget ?? textBudget, opts.toolName, recovery))),
|
|
247
249
|
originalLength,
|
|
248
250
|
truncated: true,
|
|
249
251
|
...(spillPath ? { spillPath } : {}),
|
|
@@ -360,7 +362,7 @@ function previewForMessageBudget(item, opts) {
|
|
|
360
362
|
spilledAt,
|
|
361
363
|
].join('\n');
|
|
362
364
|
return {
|
|
363
|
-
output,
|
|
365
|
+
output: copyString(output),
|
|
364
366
|
originalLength: item.output.length,
|
|
365
367
|
spillPath: spilledAt.split('\n')[0].slice(SPILL_MARKER.length + 1),
|
|
366
368
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-output-budget.js","sourceRoot":"","sources":["../../../src/runtime/query/tool-output-budget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-output-budget.js","sourceRoot":"","sources":["../../../src/runtime/query/tool-output-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-window.d.ts","sourceRoot":"","sources":["../../src/tools/text-window.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"text-window.d.ts","sourceRoot":"","sources":["../../src/tools/text-window.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAGnE,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,OAAQ,CAAA;AAmBtC;;;;GAIG;AACH,wBAAgB,UAAU,CACzB,IAAI,EAAE,MAAM,EACZ,UAAU,SAAkC,GAC1C,cAAc,CAsBhB;AAID;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAsBjD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { copyString } from '../utils/copy-string.js';
|
|
1
2
|
/** Lines kept from the start and from the end of a long text. */
|
|
2
3
|
export const WINDOW_HEAD_LINES = 80;
|
|
3
4
|
export const WINDOW_TAIL_LINES = 40;
|
|
@@ -32,7 +33,7 @@ export function windowText(text, totalBytes = Buffer.byteLength(text, 'utf8')) {
|
|
|
32
33
|
const lines = body.length === 0 ? [] : body.split('\n');
|
|
33
34
|
const totalLines = lines.length;
|
|
34
35
|
if (totalLines <= WINDOW_HEAD_LINES + WINDOW_TAIL_LINES && body.length <= WINDOW_HALF_CHARS * 2) {
|
|
35
|
-
return { head: body, totalLines, totalBytes };
|
|
36
|
+
return { head: copyString(body), totalLines, totalBytes };
|
|
36
37
|
}
|
|
37
38
|
const headLines = lines.slice(0, WINDOW_HEAD_LINES);
|
|
38
39
|
const tailLines = totalLines > WINDOW_HEAD_LINES
|
|
@@ -42,8 +43,8 @@ export function windowText(text, totalBytes = Buffer.byteLength(text, 'utf8')) {
|
|
|
42
43
|
const tail = clipTail(tailLines.join('\n'), WINDOW_HALF_CHARS);
|
|
43
44
|
const omittedLines = totalLines - headLines.length - tailLines.length;
|
|
44
45
|
return {
|
|
45
|
-
head,
|
|
46
|
-
...(tail ? { tail } : {}),
|
|
46
|
+
head: copyString(head),
|
|
47
|
+
...(tail ? { tail: copyString(tail) } : {}),
|
|
47
48
|
...(omittedLines > 0 ? { omittedLines } : {}),
|
|
48
49
|
totalLines,
|
|
49
50
|
totalBytes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-window.js","sourceRoot":"","sources":["../../src/tools/text-window.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text-window.js","sourceRoot":"","sources":["../../src/tools/text-window.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Give retained text its own backing storage instead of keeping a source slice
|
|
3
|
+
* alive. Call only after bounding the text: copying a whole tool result would
|
|
4
|
+
* briefly double its memory. UTF-16 preserves every JavaScript code unit,
|
|
5
|
+
* including lone surrogates that a UTF-8 round trip would replace.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare function copyString(text: string): string;
|
|
10
|
+
//# sourceMappingURL=copy-string.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-string.d.ts","sourceRoot":"","sources":["../../src/utils/copy-string.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Give retained text its own backing storage instead of keeping a source slice
|
|
3
|
+
* alive. Call only after bounding the text: copying a whole tool result would
|
|
4
|
+
* briefly double its memory. UTF-16 preserves every JavaScript code unit,
|
|
5
|
+
* including lone surrogates that a UTF-8 round trip would replace.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export function copyString(text) {
|
|
10
|
+
return Buffer.from(text, 'utf16le').toString('utf16le');
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=copy-string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-string.js","sourceRoot":"","sources":["../../src/utils/copy-string.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;AACxD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@namzu/sdk",
|
|
3
|
-
"version": "58.1.
|
|
3
|
+
"version": "58.1.1",
|
|
4
4
|
"description": "Open-source AI kernel for TypeScript: runs an agent the way an operating system runs a process, with an identity and a budget, scheduled tool calls and checkpointed turns.",
|
|
5
5
|
"license": "FSL-1.1-MIT",
|
|
6
6
|
"engines": {
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* line and a `breaker_open` event, no sentence); a pass the provider forces
|
|
9
9
|
* by rejecting the prompt is not gated, so the reactive ladder still runs.
|
|
10
10
|
* - Three compactions in a row, each followed by the history regaining all
|
|
11
|
-
* space shed within three iterations:
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* space shed within three iterations: conversation growth refills the space
|
|
12
|
+
* freed. Even small outputs can do this when a summary leaves little room.
|
|
13
|
+
* The turn stops, because carrying on buys the same wall.
|
|
14
14
|
*
|
|
15
15
|
* Off unless `compactionConfig.circuitBreaker` is true: stopping compaction,
|
|
16
16
|
* and above all stopping a turn, is not something a host had before.
|
|
@@ -49,12 +49,12 @@ export const COMPACTION_REFILL_ITERATIONS = 3
|
|
|
49
49
|
export const COMPACTION_REFILL_LIMIT = 3
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
52
|
+
* Shown once when the turn stops on refills. Explain context pressure without
|
|
53
|
+
* inferring the size of any individual output; suggest steps that preserve
|
|
54
|
+
* the conversation.
|
|
55
55
|
*/
|
|
56
56
|
export const COMPACTION_REFILL_MESSAGE =
|
|
57
|
-
'The context filled up again right after being compacted, three times in a row.
|
|
57
|
+
'The context filled up again right after being compacted, three times in a row. Compaction may have left too little room, even for small outputs. Check the configured model context window; limit tool output or read files in smaller parts.'
|
|
58
58
|
|
|
59
59
|
export class CompactionBreaker {
|
|
60
60
|
private failures = 0
|
|
@@ -2,6 +2,7 @@ import { createHash } from 'node:crypto'
|
|
|
2
2
|
import { mkdirSync, writeFileSync } from 'node:fs'
|
|
3
3
|
import { join } from 'node:path'
|
|
4
4
|
import { digest, spillManifest } from '../../store/evidence/format.js'
|
|
5
|
+
import { copyString } from '../../utils/copy-string.js'
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Model-visible size cap for a single tool result.
|
|
@@ -304,8 +305,9 @@ export function applyToolOutputBudget(opts: ApplyToolOutputBudgetOptions): ToolO
|
|
|
304
305
|
if (preview !== undefined && retained?.integrity) {
|
|
305
306
|
const condensed = [preview, recovery].filter(Boolean).join('\n\n')
|
|
306
307
|
if (effectiveTextBudget === undefined || condensed.length <= effectiveTextBudget) {
|
|
308
|
+
const visible = withNotice(condensed)
|
|
307
309
|
return {
|
|
308
|
-
output:
|
|
310
|
+
output: effectiveTextBudget === undefined ? visible : copyString(visible),
|
|
309
311
|
originalLength,
|
|
310
312
|
truncated: true,
|
|
311
313
|
spillPath,
|
|
@@ -318,8 +320,10 @@ export function applyToolOutputBudget(opts: ApplyToolOutputBudgetOptions): ToolO
|
|
|
318
320
|
}
|
|
319
321
|
|
|
320
322
|
return {
|
|
321
|
-
output:
|
|
322
|
-
|
|
323
|
+
output: copyString(
|
|
324
|
+
withNotice(
|
|
325
|
+
boundedPreview(output, effectiveTextBudget ?? textBudget, opts.toolName, recovery),
|
|
326
|
+
),
|
|
323
327
|
),
|
|
324
328
|
originalLength,
|
|
325
329
|
truncated: true,
|
|
@@ -471,7 +475,7 @@ function previewForMessageBudget(
|
|
|
471
475
|
spilledAt,
|
|
472
476
|
].join('\n')
|
|
473
477
|
return {
|
|
474
|
-
output,
|
|
478
|
+
output: copyString(output),
|
|
475
479
|
originalLength: item.output.length,
|
|
476
480
|
spillPath: (spilledAt.split('\n')[0] as string).slice(SPILL_MARKER.length + 1),
|
|
477
481
|
}
|
package/src/tools/text-window.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ToolTextWindow } from '../types/tool/presentation.js'
|
|
2
|
+
import { copyString } from '../utils/copy-string.js'
|
|
2
3
|
|
|
3
4
|
/** Lines kept from the start and from the end of a long text. */
|
|
4
5
|
export const WINDOW_HEAD_LINES = 80
|
|
@@ -36,7 +37,7 @@ export function windowText(
|
|
|
36
37
|
const lines = body.length === 0 ? [] : body.split('\n')
|
|
37
38
|
const totalLines = lines.length
|
|
38
39
|
if (totalLines <= WINDOW_HEAD_LINES + WINDOW_TAIL_LINES && body.length <= WINDOW_HALF_CHARS * 2) {
|
|
39
|
-
return { head: body, totalLines, totalBytes }
|
|
40
|
+
return { head: copyString(body), totalLines, totalBytes }
|
|
40
41
|
}
|
|
41
42
|
const headLines = lines.slice(0, WINDOW_HEAD_LINES)
|
|
42
43
|
const tailLines =
|
|
@@ -47,8 +48,8 @@ export function windowText(
|
|
|
47
48
|
const tail = clipTail(tailLines.join('\n'), WINDOW_HALF_CHARS)
|
|
48
49
|
const omittedLines = totalLines - headLines.length - tailLines.length
|
|
49
50
|
return {
|
|
50
|
-
head,
|
|
51
|
-
...(tail ? { tail } : {}),
|
|
51
|
+
head: copyString(head),
|
|
52
|
+
...(tail ? { tail: copyString(tail) } : {}),
|
|
52
53
|
...(omittedLines > 0 ? { omittedLines } : {}),
|
|
53
54
|
totalLines,
|
|
54
55
|
totalBytes,
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Give retained text its own backing storage instead of keeping a source slice
|
|
3
|
+
* alive. Call only after bounding the text: copying a whole tool result would
|
|
4
|
+
* briefly double its memory. UTF-16 preserves every JavaScript code unit,
|
|
5
|
+
* including lone surrogates that a UTF-8 round trip would replace.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export function copyString(text: string): string {
|
|
10
|
+
return Buffer.from(text, 'utf16le').toString('utf16le')
|
|
11
|
+
}
|