acp-kernel 0.0.77-pr.327.192 → 0.0.77-pr.328.193
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/dist/cache-report.d.ts +10 -2
- package/dist/cache-report.d.ts.map +1 -1
- package/dist/compress-tools.d.ts +50 -8
- package/dist/compress-tools.d.ts.map +1 -1
- package/dist/compress.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +178 -45
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cache-report.d.ts
CHANGED
|
@@ -188,7 +188,15 @@ export interface FoldEconomicsInput {
|
|
|
188
188
|
export declare function computeFoldEconomics(f: FoldEconomicsInput, price?: PriceProfile): FoldEconomics;
|
|
189
189
|
export declare function summarizeFoldEconomics(foldEcon: readonly FoldEconomics[]): EconomicsSummary;
|
|
190
190
|
export declare function buildCacheReport(samplesIn: readonly CacheSample[], foldsIn: readonly FoldEvent[], opts?: CacheReportOptions): CacheReport;
|
|
191
|
+
/** Render options: "summary" (default) distills to totals + verdicts +
|
|
192
|
+
* notable folds + anomalous lines; "full" keeps the legacy every-fold,
|
|
193
|
+
* every-line listing. */
|
|
194
|
+
export interface FormatCacheReportOptions {
|
|
195
|
+
detail?: "summary" | "full";
|
|
196
|
+
}
|
|
191
197
|
/** Render the report as compact, model- and human-readable text.
|
|
192
|
-
* The identity line is always printed so a broken implementation cannot hide.
|
|
193
|
-
|
|
198
|
+
* The identity line is always printed so a broken implementation cannot hide.
|
|
199
|
+
* Default detail is "summary"; pass { detail: "full" } for the legacy
|
|
200
|
+
* every-fold, every-line listing. */
|
|
201
|
+
export declare function formatCacheReport(report: CacheReport, sessionLabel?: string, opts?: FormatCacheReportOptions): string;
|
|
194
202
|
//# sourceMappingURL=cache-report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-report.d.ts","sourceRoot":"","sources":["../src/cache-report.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cache-report.d.ts","sourceRoot":"","sources":["../src/cache-report.ts"],"names":[],"mappings":"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"}
|
package/dist/compress-tools.d.ts
CHANGED
|
@@ -199,7 +199,7 @@ export declare const ACP_STATUS_TOOL_OPENAI: {
|
|
|
199
199
|
};
|
|
200
200
|
};
|
|
201
201
|
};
|
|
202
|
-
export declare const ACP_CACHE_TOOL_DESCRIPTION = "Prompt-cache reconciliation: grand ledger (total input/cached/output, overall hit rate) with every request's miss split into new content / compression re-pay / TTL expiry, plus per-fold economics (breakeven turns vs measured cadence). Read-only. Call when asked about cache hits, cache invalidation, or what compression costs.";
|
|
202
|
+
export declare const ACP_CACHE_TOOL_DESCRIPTION = "Prompt-cache reconciliation: grand ledger (total input/cached/output, overall hit rate) with every request's miss split into new content / compression re-pay / TTL expiry, plus per-fold economics (breakeven turns vs measured cadence). Defaults to a compact summary (totals + verdicts + anomalies only); pass detail=\"full\" for every fold and line item. Read-only. Call when asked about cache hits, cache invalidation, or what compression costs.";
|
|
203
203
|
export declare const ACP_CACHE_TOOL_OPENAI: {
|
|
204
204
|
type: "function";
|
|
205
205
|
function: {
|
|
@@ -207,7 +207,13 @@ export declare const ACP_CACHE_TOOL_OPENAI: {
|
|
|
207
207
|
description: string;
|
|
208
208
|
parameters: {
|
|
209
209
|
type: string;
|
|
210
|
-
properties: {
|
|
210
|
+
properties: {
|
|
211
|
+
detail: {
|
|
212
|
+
type: string;
|
|
213
|
+
enum: string[];
|
|
214
|
+
description: string;
|
|
215
|
+
};
|
|
216
|
+
};
|
|
211
217
|
};
|
|
212
218
|
};
|
|
213
219
|
};
|
|
@@ -321,7 +327,13 @@ export declare const ACP_TOOLS_OPENAI: readonly [{
|
|
|
321
327
|
description: string;
|
|
322
328
|
parameters: {
|
|
323
329
|
type: string;
|
|
324
|
-
properties: {
|
|
330
|
+
properties: {
|
|
331
|
+
detail: {
|
|
332
|
+
type: string;
|
|
333
|
+
enum: string[];
|
|
334
|
+
description: string;
|
|
335
|
+
};
|
|
336
|
+
};
|
|
325
337
|
};
|
|
326
338
|
};
|
|
327
339
|
}];
|
|
@@ -383,7 +395,13 @@ export declare const ACP_CACHE_TOOL: {
|
|
|
383
395
|
description: string;
|
|
384
396
|
input_schema: {
|
|
385
397
|
type: string;
|
|
386
|
-
properties: {
|
|
398
|
+
properties: {
|
|
399
|
+
detail: {
|
|
400
|
+
type: string;
|
|
401
|
+
enum: string[];
|
|
402
|
+
description: string;
|
|
403
|
+
};
|
|
404
|
+
};
|
|
387
405
|
};
|
|
388
406
|
};
|
|
389
407
|
export declare const ACP_TOOLS_ANTHROPIC: readonly [{
|
|
@@ -482,7 +500,13 @@ export declare const ACP_TOOLS_ANTHROPIC: readonly [{
|
|
|
482
500
|
description: string;
|
|
483
501
|
input_schema: {
|
|
484
502
|
type: string;
|
|
485
|
-
properties: {
|
|
503
|
+
properties: {
|
|
504
|
+
detail: {
|
|
505
|
+
type: string;
|
|
506
|
+
enum: string[];
|
|
507
|
+
description: string;
|
|
508
|
+
};
|
|
509
|
+
};
|
|
486
510
|
};
|
|
487
511
|
}];
|
|
488
512
|
export declare const COMPRESS_TOOL_RESPONSES: {
|
|
@@ -590,7 +614,13 @@ export declare const ACP_CACHE_TOOL_RESPONSES: {
|
|
|
590
614
|
description: string;
|
|
591
615
|
parameters: {
|
|
592
616
|
type: string;
|
|
593
|
-
properties: {
|
|
617
|
+
properties: {
|
|
618
|
+
detail: {
|
|
619
|
+
type: string;
|
|
620
|
+
enum: string[];
|
|
621
|
+
description: string;
|
|
622
|
+
};
|
|
623
|
+
};
|
|
594
624
|
};
|
|
595
625
|
};
|
|
596
626
|
/** All ACP tools in Responses API flat format, matching ACP_TOOL_NAMES. */
|
|
@@ -695,7 +725,13 @@ export declare const ACP_TOOLS_RESPONSES: readonly [{
|
|
|
695
725
|
description: string;
|
|
696
726
|
parameters: {
|
|
697
727
|
type: string;
|
|
698
|
-
properties: {
|
|
728
|
+
properties: {
|
|
729
|
+
detail: {
|
|
730
|
+
type: string;
|
|
731
|
+
enum: string[];
|
|
732
|
+
description: string;
|
|
733
|
+
};
|
|
734
|
+
};
|
|
699
735
|
};
|
|
700
736
|
}];
|
|
701
737
|
/** Read-only ACP tools (no compress) in Responses flat format. Used for the
|
|
@@ -758,7 +794,13 @@ export declare const ACP_READONLY_TOOLS_RESPONSES: readonly [{
|
|
|
758
794
|
description: string;
|
|
759
795
|
parameters: {
|
|
760
796
|
type: string;
|
|
761
|
-
properties: {
|
|
797
|
+
properties: {
|
|
798
|
+
detail: {
|
|
799
|
+
type: string;
|
|
800
|
+
enum: string[];
|
|
801
|
+
description: string;
|
|
802
|
+
};
|
|
803
|
+
};
|
|
762
804
|
};
|
|
763
805
|
}];
|
|
764
806
|
/** All ACP tool names (dynamic membership — Set, not a static record). Does
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compress-tools.d.ts","sourceRoot":"","sources":["../src/compress-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC;;;6DAG6D;AAC7D,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAC9C,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;qDAKqD;AACrD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACjC,WAAW,EAAE,CAgCf;AAwBD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDhC,CAAC;AAkCF,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,OAAwB,EACjC,QAAQ,CAAC,EAAE,sBAAsB,GAChC,MAAM,CAMR;AAyDD,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,OAAwB,EACjC,QAAQ,CAAC,EAAE,sBAAsB,GAChC,MAAM,CAMR;AA6CD,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,OAAwB,EACjC,QAAQ,CAAC,EAAE,sBAAsB,GAChC,MAAM,CAMR;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;CAyBlC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;CAetC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;CAWlC,CAAC;AAEF,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"compress-tools.d.ts","sourceRoot":"","sources":["../src/compress-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC;;;6DAG6D;AAC7D,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAC9C,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;qDAKqD;AACrD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACjC,WAAW,EAAE,CAgCf;AAwBD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDhC,CAAC;AAkCF,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,OAAwB,EACjC,QAAQ,CAAC,EAAE,sBAAsB,GAChC,MAAM,CAMR;AAyDD,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,OAAwB,EACjC,QAAQ,CAAC,EAAE,sBAAsB,GAChC,MAAM,CAMR;AA6CD,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,OAAwB,EACjC,QAAQ,CAAC,EAAE,sBAAsB,GAChC,MAAM,CAMR;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;CAyBlC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;CAetC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;CAWlC,CAAC;AAEF,eAAO,MAAM,0BAA0B,kcAC0Z,CAAC;AAElc,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;CAiBjC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMnB,CAAC;AAEX;;;;wDAIwD;AACxD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;CAI3B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAI/B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;CAI3B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAI1B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtB,CAAC;AAGX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;CAKrC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;CAKzC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;CAKrC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;CAKpC,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtB,CAAC;AAEX;;;;;gFAKgF;AAChF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK/B,CAAC;AAEX;;iDAEiD;AACjD,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAM7C,CAAC;AAEH;qEACqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAGjD,CAAC;AAEH;8EAC8E;AAC9E,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAIjD,CAAC;AAEH;mEACmE;AACnE,eAAO,MAAM,uBAAuB,mUAC8R,CAAC;AAmBnU,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CAIvB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;CAO9B,CAAC;AAKF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyChC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;CAIlC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;CAItC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;CAIlC,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKnB,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;CAI9B,CAAC"}
|
package/dist/compress.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkC,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAgBhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUvD,OAAO,EAGL,KAAK,YAAY,EAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAEhB,MAAM,EAEN,WAAW,EAGX,iBAAiB,EAEjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IACxD,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAAC;IACvE,YAAY,IAAI,YAAY,EAAE,CAAC;IAC/B,UAAU,CACR,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,GACtB,gBAAgB,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IACnE,MAAM,CACJ,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,YAAY,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;
|
|
1
|
+
{"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkC,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAgBhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUvD,OAAO,EAGL,KAAK,YAAY,EAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAEhB,MAAM,EAEN,WAAW,EAGX,iBAAiB,EAEjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IACxD,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAAC;IACvE,YAAY,IAAI,YAAY,EAAE,CAAC;IAC/B,UAAU,CACR,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,GACtB,gBAAgB,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IACnE,MAAM,CACJ,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,YAAY,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AA2DD,wBAAgB,UAAU,CAAC,KAAK,GAAE,KAAU,GAAG,eAAe,CA+U7D;AA0jCD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export type { DeactivateOptions, CollectedContentResult, CollectContentOptions,
|
|
|
27
27
|
export { buildStatusReport, buildRecap } from "./report.js";
|
|
28
28
|
export type { StatusReportOptions, StatusReportMeta } from "./report.js";
|
|
29
29
|
export { buildCacheReport, computeFoldEconomics, decomposeSample, formatCacheReport, summarizeFoldEconomics, } from "./cache-report.js";
|
|
30
|
-
export type { CacheSample, FoldEvent, FoldEconomicsInput, PriceProfile, SampleDecomposition, CacheTotals, FoldEconomics, EconomicsSummary, CacheReportLine, CacheReportOptions, CacheReport, } from "./cache-report.js";
|
|
30
|
+
export type { CacheSample, FoldEvent, FoldEconomicsInput, PriceProfile, SampleDecomposition, CacheTotals, FoldEconomics, EconomicsSummary, CacheReportLine, CacheReportOptions, CacheReport, FormatCacheReportOptions, } from "./cache-report.js";
|
|
31
31
|
export { renderHandoff, renderMessage, matchSession } from "./handoff.js";
|
|
32
32
|
export type { HandoffInput, HandoffMeta, HandoffBlockFull } from "./handoff.js";
|
|
33
33
|
export { hideConsumedCompressCalls } from "./hide-consumed.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1258,7 +1258,7 @@ var ACP_STATUS_TOOL_OPENAI = {
|
|
|
1258
1258
|
}
|
|
1259
1259
|
}
|
|
1260
1260
|
};
|
|
1261
|
-
var ACP_CACHE_TOOL_DESCRIPTION =
|
|
1261
|
+
var ACP_CACHE_TOOL_DESCRIPTION = `Prompt-cache reconciliation: grand ledger (total input/cached/output, overall hit rate) with every request's miss split into new content / compression re-pay / TTL expiry, plus per-fold economics (breakeven turns vs measured cadence). Defaults to a compact summary (totals + verdicts + anomalies only); pass detail="full" for every fold and line item. Read-only. Call when asked about cache hits, cache invalidation, or what compression costs.`;
|
|
1262
1262
|
var ACP_CACHE_TOOL_OPENAI = {
|
|
1263
1263
|
type: "function",
|
|
1264
1264
|
function: {
|
|
@@ -1266,7 +1266,13 @@ var ACP_CACHE_TOOL_OPENAI = {
|
|
|
1266
1266
|
description: ACP_CACHE_TOOL_DESCRIPTION,
|
|
1267
1267
|
parameters: {
|
|
1268
1268
|
type: "object",
|
|
1269
|
-
properties: {
|
|
1269
|
+
properties: {
|
|
1270
|
+
detail: {
|
|
1271
|
+
type: "string",
|
|
1272
|
+
enum: ["summary", "full"],
|
|
1273
|
+
description: '"summary" (default): totals, verdicts, notable folds, anomalous requests only. "full": every retained fold and line item.'
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1270
1276
|
}
|
|
1271
1277
|
}
|
|
1272
1278
|
};
|
|
@@ -2411,39 +2417,6 @@ function danglingMessageRefs(state, messages, spec) {
|
|
|
2411
2417
|
}
|
|
2412
2418
|
return dangling;
|
|
2413
2419
|
}
|
|
2414
|
-
function coveringBlockIds(state, spec) {
|
|
2415
|
-
const found = /* @__PURE__ */ new Set();
|
|
2416
|
-
for (const ref of [spec.startRef, spec.endRef]) {
|
|
2417
|
-
const parsed = parseBoundary(ref);
|
|
2418
|
-
if (!parsed) continue;
|
|
2419
|
-
let rawIds = [];
|
|
2420
|
-
if (parsed.kind === "message") {
|
|
2421
|
-
const rawId = state.messageRefs.byRef[parsed.raw] ?? state.messageRefs.byRef[indexToRef(parsed.numericId)];
|
|
2422
|
-
if (rawId) rawIds = [rawId];
|
|
2423
|
-
} else {
|
|
2424
|
-
rawIds = blockById(state, `b${parsed.numericId}`)?.effectiveMessageIds ?? [];
|
|
2425
|
-
}
|
|
2426
|
-
if (rawIds.length === 0) continue;
|
|
2427
|
-
for (const candidate of activeBlocks(state)) {
|
|
2428
|
-
if (rawIds.some((id) => candidate.effectiveMessageIds.includes(id))) {
|
|
2429
|
-
found.add(candidate.blockId);
|
|
2430
|
-
}
|
|
2431
|
-
}
|
|
2432
|
-
}
|
|
2433
|
-
return [...found].sort((x, y) => numericBlockId(x) - numericBlockId(y));
|
|
2434
|
-
}
|
|
2435
|
-
function tierActionHint(config, state) {
|
|
2436
|
-
if (!config.tiers.enabled) return "";
|
|
2437
|
-
const t2 = activeBlocks(state).filter((b) => b.tier === 2);
|
|
2438
|
-
if (t2.length >= config.tiers.tier3Trigger) {
|
|
2439
|
-
return ` Tier condensation is actionable now: compress({ content: [{ startId: "${t2[0].blockId}", endId: "${t2[t2.length - 1].blockId}", summary: "...", topic: "..." }] }) merges those tier-2 blocks into one tier-3 block.`;
|
|
2440
|
-
}
|
|
2441
|
-
const t1 = activeBlocks(state).filter((b) => b.tier === 1);
|
|
2442
|
-
if (t1.length >= config.tiers.tier2Trigger) {
|
|
2443
|
-
return ` Tier distillation is actionable now: compress({ content: [{ startId: "${t1[0].blockId}", endId: "${t1[t1.length - 1].blockId}", summary: "...", topic: "..." }] }) merges those tier-1 blocks into one tier-2 block.`;
|
|
2444
|
-
}
|
|
2445
|
-
return "";
|
|
2446
|
-
}
|
|
2447
2420
|
function createCore(ports = {}) {
|
|
2448
2421
|
const countTokens = ports.countTokens ?? defaultCountTokens;
|
|
2449
2422
|
function applyCompression(input) {
|
|
@@ -2542,18 +2515,17 @@ function createCore(ports = {}) {
|
|
|
2542
2515
|
}
|
|
2543
2516
|
}
|
|
2544
2517
|
if (!hasBlockBoundaryRange && totalRangeChars < input.config.compress.minCompressRange) {
|
|
2518
|
+
const live = activeBlocks(state).map((b) => b.blockId).sort((x, y) => numericBlockId(x) - numericBlockId(y));
|
|
2519
|
+
const liveHint = live.length > 0 ? ` Current active blocks span ${live[0]}..${live[live.length - 1]} \u2014 retry with startId/endId set to active block IDs in that span.` : "";
|
|
2545
2520
|
const diagnostics = refGateDiagnostics(
|
|
2546
2521
|
state,
|
|
2547
2522
|
input.ranges.length,
|
|
2548
2523
|
unknownCount
|
|
2549
2524
|
);
|
|
2550
|
-
const firstConsumed = consumedRanges[0];
|
|
2551
|
-
const covering = firstConsumed ? coveringBlockIds(state, firstConsumed) : [];
|
|
2552
|
-
const coverDetail = covering.length > 0 ? `its content is already summarized in active block(s) ${covering.join(", ")}${covering.length === 1 ? ` \u2014 use search_context or decompress ${covering[0]} if you need details from it` : ""}` : `its refs no longer point to directly compressible content (stale block ref(s) distilled or consumed by higher-tier blocks)`;
|
|
2553
2525
|
const danglingRefs = consumedRanges.flatMap(
|
|
2554
2526
|
(spec) => danglingMessageRefs(state, input.messages, spec)
|
|
2555
2527
|
);
|
|
2556
|
-
const gateMessage = resolvableCount === 0 && consumedRanges.length === 0 && unknownCount > 0 ? `None of the ${input.ranges.length} requested range(s) resolved \u2014 every ref is unknown to this session. Refs are per-session snapshots, assigned once when a message is first rendered; no compress reassigns them, so unknown refs cannot come from an earlier compress in this session. They come from a different generation: a previous session instance (switching model or upstream mid-conversation starts a fresh session whose refs restart at m00001), the generation before a native-compaction rebase (which also resets refs to m00001), or a typo. ${diagnostics} Run acp_status, then call the compress tool again using only the refs it reports.` : consumedRanges.length > 0 ? danglingRefs.length > 0 ? `Requested range(s) cannot be anchored (e.g. ${
|
|
2528
|
+
const gateMessage = resolvableCount === 0 && consumedRanges.length === 0 && unknownCount > 0 ? `None of the ${input.ranges.length} requested range(s) resolved \u2014 every ref is unknown to this session. Refs are per-session snapshots, assigned once when a message is first rendered; no compress reassigns them, so unknown refs cannot come from an earlier compress in this session. They come from a different generation: a previous session instance (switching model or upstream mid-conversation starts a fresh session whose refs restart at m00001), the generation before a native-compaction rebase (which also resets refs to m00001), or a typo. ${diagnostics} Run acp_status, then call the compress tool again using only the refs it reports.` : consumedRanges.length > 0 ? danglingRefs.length > 0 ? `Requested range(s) cannot be anchored (e.g. ${consumedRanges[0].startRef}..${consumedRanges[0].endRef}) \u2014 the refs exist in this session's ref map, but the messages they point to are no longer in the visible context and no active block covers them: the message content changed (or the message was filtered out of the view) and now carries a new ref, leaving your old refs dangling. ${diagnostics} Run acp_status, then call the compress tool again using only the refs it reports.` : `Requested range(s) already compressed (e.g. ${consumedRanges[0].startRef}..${consumedRanges[0].endRef}) \u2014 those refs no longer point to directly compressible content: the range is covered by active block(s) or the block ref(s) are stale (distilled or consumed). ${diagnostics} Run acp_status, then call the compress tool again using only the CURRENT compressible ranges it reports.${liveHint}` : `Total compressible content too small (${totalRangeChars} chars across ${countedRanges} range(s), min ${input.config.compress.minCompressRange}). Combine more messages into your range(s) to meet the threshold.`;
|
|
2557
2529
|
return {
|
|
2558
2530
|
state: input.state,
|
|
2559
2531
|
result: {
|
|
@@ -2960,7 +2932,7 @@ function applySingleRange(input) {
|
|
|
2960
2932
|
warnings.push(
|
|
2961
2933
|
`Excluded ${hitProtectedRaw.length} protected message(s) ${hitRefs.join(
|
|
2962
2934
|
", "
|
|
2963
|
-
)} from compression range (recent/last-user zone)
|
|
2935
|
+
)} from compression range (recent/last-user zone).`
|
|
2964
2936
|
);
|
|
2965
2937
|
}
|
|
2966
2938
|
{
|
|
@@ -4262,13 +4234,35 @@ function fmtTime(at) {
|
|
|
4262
4234
|
const p = (x) => String(x).padStart(2, "0");
|
|
4263
4235
|
return `${p(d.getHours())}:${p(d.getMinutes())}:${p(d.getSeconds())}`;
|
|
4264
4236
|
}
|
|
4265
|
-
|
|
4237
|
+
var HIT_HEALTHY_PCT = 90;
|
|
4238
|
+
var HIT_WATCH_PCT = 70;
|
|
4239
|
+
var ANOMALY_HIT_PCT = 85;
|
|
4240
|
+
var ANOMALY_MISS_TOK = 5e3;
|
|
4241
|
+
var TTL_SPIKE_TOK = 1e4;
|
|
4242
|
+
var SUMMARY_FOLD_TOPS = 3;
|
|
4243
|
+
var SUMMARY_ANOMALY_CAP = 20;
|
|
4244
|
+
function hitVerdict(pct2) {
|
|
4245
|
+
if (pct2 >= HIT_HEALTHY_PCT) return "HEALTHY";
|
|
4246
|
+
if (pct2 >= HIT_WATCH_PCT) return "WATCH";
|
|
4247
|
+
return "INVESTIGATE";
|
|
4248
|
+
}
|
|
4249
|
+
function medianHitPct(lines) {
|
|
4250
|
+
if (lines.length === 0) return null;
|
|
4251
|
+
const xs = lines.map((l) => l.hitPct).sort((a, b) => a - b);
|
|
4252
|
+
return xs[Math.floor(xs.length / 2)] ?? null;
|
|
4253
|
+
}
|
|
4254
|
+
function fmtIdleGap(ms) {
|
|
4255
|
+
if (ms < 9e4) return `${Math.max(1, Math.round(ms / 1e3))}s`;
|
|
4256
|
+
if (ms < 90 * 6e4) return `${Math.round(ms / 6e4)}m`;
|
|
4257
|
+
if (ms < 36 * 36e5) return `${(ms / 36e5).toFixed(1)}h`;
|
|
4258
|
+
return `${(ms / 864e5).toFixed(1)}d`;
|
|
4259
|
+
}
|
|
4260
|
+
function foldVerdict(f) {
|
|
4261
|
+
return f.paidBack === null ? "?" : f.paidBack ? "PAID BACK" : "NOT PAID BACK";
|
|
4262
|
+
}
|
|
4263
|
+
function formatCacheReportFull(report) {
|
|
4266
4264
|
const t = report.totals;
|
|
4267
4265
|
const out = [];
|
|
4268
|
-
out.push(
|
|
4269
|
-
`ACP CACHE REPORT${sessionLabel ? ` (${sessionLabel})` : ""} \u2014 ${t.requests} requests`
|
|
4270
|
-
);
|
|
4271
|
-
out.push("");
|
|
4272
4266
|
out.push("GRAND LEDGER");
|
|
4273
4267
|
out.push(` total input ${fmtTok(t.input)} tok`);
|
|
4274
4268
|
out.push(
|
|
@@ -4328,6 +4322,145 @@ function formatCacheReport(report, sessionLabel) {
|
|
|
4328
4322
|
}
|
|
4329
4323
|
return out.join("\n");
|
|
4330
4324
|
}
|
|
4325
|
+
function formatCacheReportSummary(report) {
|
|
4326
|
+
const t = report.totals;
|
|
4327
|
+
const out = [];
|
|
4328
|
+
out.push("GRAND LEDGER");
|
|
4329
|
+
out.push(` total input ${fmtTok(t.input)} tok`);
|
|
4330
|
+
out.push(
|
|
4331
|
+
` total cached ${fmtTok(t.cached)} tok (hit ${t.hitPct.toFixed(1)}% \u2192 ${hitVerdict(t.hitPct)})`
|
|
4332
|
+
);
|
|
4333
|
+
out.push(` total output ${fmtTok(t.output)} tok`);
|
|
4334
|
+
out.push(
|
|
4335
|
+
` miss breakdown (input \u2212 cached = ${fmtTok(Math.max(0, t.input - t.cached))} tok):`
|
|
4336
|
+
);
|
|
4337
|
+
const avgNew = t.requests > 0 ? t.newContent / t.requests : 0;
|
|
4338
|
+
out.push(
|
|
4339
|
+
` new content ${fmtTok(t.newContent)} tok (~${fmtTok(avgNew)}/req fresh append \u2014 not an invalidation)`
|
|
4340
|
+
);
|
|
4341
|
+
out.push(
|
|
4342
|
+
` compress re-pay ${fmtTok(t.compRepay)} tok (${report.economics.folds} folds \u2014 re-billed prefix)`
|
|
4343
|
+
);
|
|
4344
|
+
const spikeIdx = [];
|
|
4345
|
+
report.lines.forEach((l, i) => {
|
|
4346
|
+
if (l.ttlRepay >= TTL_SPIKE_TOK) spikeIdx.push(i);
|
|
4347
|
+
});
|
|
4348
|
+
const spikes = [...spikeIdx].sort(
|
|
4349
|
+
(a, b) => (report.lines[b]?.ttlRepay ?? 0) - (report.lines[a]?.ttlRepay ?? 0)
|
|
4350
|
+
).slice(0, SUMMARY_FOLD_TOPS).sort((a, b) => a - b);
|
|
4351
|
+
const spikeText = spikes.map((i) => {
|
|
4352
|
+
const l = report.lines[i];
|
|
4353
|
+
if (!l) return "";
|
|
4354
|
+
let idle = "";
|
|
4355
|
+
const prev = report.lines[i - 1];
|
|
4356
|
+
if (prev && l.at > prev.at) idle = `, idle ${fmtIdleGap(l.at - prev.at)}`;
|
|
4357
|
+
return `#${l.seq} ${fmtTok(l.ttlRepay)}${idle}`;
|
|
4358
|
+
}).join(" \xB7 ");
|
|
4359
|
+
out.push(
|
|
4360
|
+
` ttl/other ${fmtTok(t.ttlRepay)} tok (stable-prefix misses: TTL expiry / eviction${spikeText ? `; top spikes: ${spikeText}` : ""})`
|
|
4361
|
+
);
|
|
4362
|
+
out.push(
|
|
4363
|
+
` identity check ${t.balanced ? "OK" : "BROKEN"} \u2014 ${fmtTok(t.input)} = ${fmtTok(t.cached)} + ${fmtTok(t.newContent)} + ${fmtTok(t.compRepay)} + ${fmtTok(t.ttlRepay)} (residual ${t.residual})`
|
|
4364
|
+
);
|
|
4365
|
+
const e = report.economics;
|
|
4366
|
+
if (e.folds > 0) {
|
|
4367
|
+
const p = report.profile;
|
|
4368
|
+
out.push("");
|
|
4369
|
+
out.push(`FOLD ECONOMICS (${e.folds} folds @ w=${p.w} r=${p.r} q=${p.q})`);
|
|
4370
|
+
out.push(
|
|
4371
|
+
` gross saved ${fmtTok(e.grossSaved)} tok \xB7 repay cost ${fmtTok(e.repayCost)} tok \xB7 summary cost ${fmtTok(e.summaryCost)} tok \u2192 net ${e.netTokens >= 0 ? "+" : ""}${fmtTok(e.netTokens)} tok`
|
|
4372
|
+
);
|
|
4373
|
+
out.push(
|
|
4374
|
+
` verdict: ${e.paidBackCount} PAID BACK / ${e.notPaidBackCount} NOT PAID BACK / ${e.unobservedCount} unobserved`
|
|
4375
|
+
);
|
|
4376
|
+
if (e.notPaidBackCount > 0)
|
|
4377
|
+
out.push(
|
|
4378
|
+
` NOT PAID BACK = measured post-fold cadence never reached n* (end-of-session / back-to-back folds \u2014 one-time cost, not data loss)`
|
|
4379
|
+
);
|
|
4380
|
+
if (report.folds.length <= SUMMARY_FOLD_TOPS * 2) {
|
|
4381
|
+
for (const f of report.folds) {
|
|
4382
|
+
const nstar = f.breakevenTurns === null ? "n/a" : f.breakevenTurns.toFixed(1);
|
|
4383
|
+
const k = f.turnsToNextFold === null ? "\u2014" : String(f.turnsToNextFold);
|
|
4384
|
+
const h = f.hPct === null ? "n/a" : `${f.hPct.toFixed(1)}%`;
|
|
4385
|
+
out.push(
|
|
4386
|
+
` #${f.seq} ${fmtTime(f.at)} S=${fmtTok(f.S)} \u03C3=${fmtTok(f.sigma)} h=${h} T=${fmtTok(f.T)} \u0394C\u2081=${fmtTok(f.oneTimeCostUnits)} \u0394s=${fmtTok(f.perTurnSavingUnits)}/turn n*=${nstar} k=${k} \u2192 ${foldVerdict(f)}`
|
|
4387
|
+
);
|
|
4388
|
+
}
|
|
4389
|
+
} else {
|
|
4390
|
+
const largest = [...report.folds].sort((a, b) => b.S - a.S).slice(0, SUMMARY_FOLD_TOPS);
|
|
4391
|
+
const worst = [...report.folds].sort((a, b) => b.oneTimeCostUnits - a.oneTimeCostUnits).slice(0, SUMMARY_FOLD_TOPS);
|
|
4392
|
+
out.push(
|
|
4393
|
+
` largest folds: ${largest.map((f) => `#${f.seq} S=${fmtTok(f.S)} ${foldVerdict(f)}`).join(" \xB7 ")}`
|
|
4394
|
+
);
|
|
4395
|
+
out.push(
|
|
4396
|
+
` worst one-time: ${worst.map((f) => `#${f.seq} \u0394C\u2081=${fmtTok(f.oneTimeCostUnits)} (${foldVerdict(f)}${f.turnsToNextFold !== null ? `, k=${f.turnsToNextFold}` : ""})`).join(" \xB7 ")}`
|
|
4397
|
+
);
|
|
4398
|
+
const shown = /* @__PURE__ */ new Set([...largest, ...worst]);
|
|
4399
|
+
if (report.folds.length > shown.size)
|
|
4400
|
+
out.push(
|
|
4401
|
+
` \u2192 ${report.folds.length - shown.size} more folds omitted (detail:"full" lists every fold)`
|
|
4402
|
+
);
|
|
4403
|
+
}
|
|
4404
|
+
}
|
|
4405
|
+
if (report.lines.length > 0) {
|
|
4406
|
+
out.push("");
|
|
4407
|
+
const shownIdx = [];
|
|
4408
|
+
report.lines.forEach((l, i) => {
|
|
4409
|
+
if (l.hitPct < ANOMALY_HIT_PCT || l.missed >= ANOMALY_MISS_TOK)
|
|
4410
|
+
shownIdx.push(i);
|
|
4411
|
+
});
|
|
4412
|
+
const last = report.lines.length - 1;
|
|
4413
|
+
if (!shownIdx.includes(last)) shownIdx.push(last);
|
|
4414
|
+
const kept = shownIdx.slice(Math.max(0, shownIdx.length - SUMMARY_ANOMALY_CAP));
|
|
4415
|
+
const anomalies = kept.filter((i) => {
|
|
4416
|
+
const l = report.lines[i];
|
|
4417
|
+
if (!l) return false;
|
|
4418
|
+
return l.hitPct < ANOMALY_HIT_PCT || l.missed >= ANOMALY_MISS_TOK;
|
|
4419
|
+
}).length;
|
|
4420
|
+
if (anomalies === 0) {
|
|
4421
|
+
const med = medianHitPct(report.lines);
|
|
4422
|
+
out.push(
|
|
4423
|
+
`LINE ITEMS \u2014 no anomalies (${report.lines.length} requests, median hit ${med !== null ? med.toFixed(1) : "n/a"}%${report.linesOmitted > 0 ? `, ${report.linesOmitted} older outside window` : ""})`
|
|
4424
|
+
);
|
|
4425
|
+
} else {
|
|
4426
|
+
out.push(
|
|
4427
|
+
`LINE ITEMS (anomalies: hit<${ANOMALY_HIT_PCT}% or miss\u2265${fmtTok(ANOMALY_MISS_TOK)}):`
|
|
4428
|
+
);
|
|
4429
|
+
out.push(
|
|
4430
|
+
" # time input cached hit% new comp ttl fold"
|
|
4431
|
+
);
|
|
4432
|
+
for (const i of kept) {
|
|
4433
|
+
const l = report.lines[i];
|
|
4434
|
+
if (!l) continue;
|
|
4435
|
+
const fold = l.foldSeq !== null ? `#${l.foldSeq}` : "";
|
|
4436
|
+
out.push(
|
|
4437
|
+
` ${String(l.seq).padStart(4)} ${fmtTime(l.at)} ${fmtTok(l.input).padStart(7)} ${fmtTok(l.cached).padStart(7)} ${l.hitPct.toFixed(1).padStart(5)}% ${fmtTok(l.newContent).padStart(6)} ${fmtTok(l.compRepay).padStart(6)} ${fmtTok(l.ttlRepay).padStart(6)} ${fold}`
|
|
4438
|
+
);
|
|
4439
|
+
}
|
|
4440
|
+
const omitted = report.lines.length - kept.length;
|
|
4441
|
+
if (omitted > 0) {
|
|
4442
|
+
const rest = report.lines.filter((_, i) => !kept.includes(i));
|
|
4443
|
+
const med = medianHitPct(rest);
|
|
4444
|
+
out.push(
|
|
4445
|
+
` \u2026 ${omitted} lines omitted (median hit ${med !== null ? med.toFixed(1) : "n/a"}%${report.linesOmitted > 0 ? `, ${report.linesOmitted} older outside window` : ""} \u2014 detail:"full" lists all)`
|
|
4446
|
+
);
|
|
4447
|
+
}
|
|
4448
|
+
}
|
|
4449
|
+
}
|
|
4450
|
+
return out.join("\n");
|
|
4451
|
+
}
|
|
4452
|
+
function formatCacheReport(report, sessionLabel, opts) {
|
|
4453
|
+
const t = report.totals;
|
|
4454
|
+
const header = `ACP CACHE REPORT${sessionLabel ? ` (${sessionLabel})` : ""} \u2014 ${t.requests} requests`;
|
|
4455
|
+
if (opts?.detail === "full") {
|
|
4456
|
+
return [header, "", formatCacheReportFull(report)].join("\n");
|
|
4457
|
+
}
|
|
4458
|
+
return [
|
|
4459
|
+
header + ` [summary \u2014 detail:"full" for every fold & line]`,
|
|
4460
|
+
"",
|
|
4461
|
+
formatCacheReportSummary(report)
|
|
4462
|
+
].join("\n");
|
|
4463
|
+
}
|
|
4331
4464
|
|
|
4332
4465
|
// src/handoff.ts
|
|
4333
4466
|
function renderMessage2(m) {
|