acp-kernel 0.0.81 → 0.0.82-pr.165.206
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/compress.d.ts.map +1 -1
- package/dist/index.js +36 -11
- package/dist/index.js.map +1 -1
- package/dist/report.d.ts.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
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;AAcvD,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;AA2GD,wBAAgB,UAAU,CAAC,KAAK,GAAE,KAAU,GAAG,eAAe,CAgV7D;
|
|
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;AAcvD,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;AA2GD,wBAAgB,UAAU,CAAC,KAAK,GAAE,KAAU,GAAG,eAAe,CAgV7D;AAmmCD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2938,10 +2938,29 @@ function applySingleRange(input) {
|
|
|
2938
2938
|
messages: input.messages,
|
|
2939
2939
|
state: input.state
|
|
2940
2940
|
});
|
|
2941
|
-
const
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2941
|
+
const plainRange = resolved.boundaryKind !== "block";
|
|
2942
|
+
const liveCarrierIds = /* @__PURE__ */ new Set();
|
|
2943
|
+
if (plainRange) {
|
|
2944
|
+
for (const message of input.messages) {
|
|
2945
|
+
const carrierOf = message.summaryOfBlockId;
|
|
2946
|
+
if (carrierOf === void 0) continue;
|
|
2947
|
+
if (blockById(input.state, carrierOf)?.active) {
|
|
2948
|
+
liveCarrierIds.add(message.id);
|
|
2949
|
+
}
|
|
2950
|
+
}
|
|
2951
|
+
}
|
|
2952
|
+
const adjustedIds = applyPairBoundaryAdjustments(resolved, input.messages);
|
|
2953
|
+
const skippedCarriers = adjustedIds.filter((id) => liveCarrierIds.has(id));
|
|
2954
|
+
if (skippedCarriers.length > 0) {
|
|
2955
|
+
warnings.push(
|
|
2956
|
+
`Excluded ${skippedCarriers.length} checkpoint message(s) ${skippedCarriers.join(
|
|
2957
|
+
", "
|
|
2958
|
+
)} from the compression range \u2014 they carry the visible summary of still-active block(s), which a plain message-ref range does not supersede. The checkpoints stay visible; to fold them, reference the block ids (bN..bM) instead.`
|
|
2959
|
+
);
|
|
2960
|
+
}
|
|
2961
|
+
const rangeMessageIds = adjustedIds.filter(
|
|
2962
|
+
(id) => !isSummaryMessageId(id) && !liveCarrierIds.has(id)
|
|
2963
|
+
);
|
|
2945
2964
|
if (rangeMessageIds.length > resolved.messageIds.length) {
|
|
2946
2965
|
const indexByMessageId = /* @__PURE__ */ new Map();
|
|
2947
2966
|
input.messages.forEach((m, i) => indexByMessageId.set(m.id, i));
|
|
@@ -3885,7 +3904,7 @@ function collectVisible(messages, state, countTokens) {
|
|
|
3885
3904
|
if (!ref) return;
|
|
3886
3905
|
const tokens = countMessageTokens(message, countTokens);
|
|
3887
3906
|
const tool = isToolMessage(message) ? message.toolName ?? (message.toolCallId ? toolCallNames.get(message.toolCallId) : void 0) ?? "tool" : "text";
|
|
3888
|
-
if (tokens > 0) visible.push({ ref, tokens, tool, index });
|
|
3907
|
+
if (tokens > 0) visible.push({ ref, tokens, tool, index, isUser: message.role === "user" });
|
|
3889
3908
|
});
|
|
3890
3909
|
return { visible, summaryTokens };
|
|
3891
3910
|
}
|
|
@@ -3904,7 +3923,7 @@ function buildStatusReport(state, messages, countTokens, options = {}) {
|
|
|
3904
3923
|
if (view === "messages") {
|
|
3905
3924
|
return renderMessageDrilldown(visible, toolFilter, sort, limit);
|
|
3906
3925
|
}
|
|
3907
|
-
return renderUncompressedRanges(visible);
|
|
3926
|
+
return renderUncompressedRanges(visible, sort, limit);
|
|
3908
3927
|
}
|
|
3909
3928
|
return renderOverview(visible, summaryTokens, activeBlocks2, state, countTokens, limit, options.meta);
|
|
3910
3929
|
}
|
|
@@ -3972,7 +3991,7 @@ function renderOverview(visible, summaryTokens, blocks, state, countTokens, limi
|
|
|
3972
3991
|
);
|
|
3973
3992
|
return lines.join("\n");
|
|
3974
3993
|
}
|
|
3975
|
-
function renderUncompressedRanges(visible) {
|
|
3994
|
+
function renderUncompressedRanges(visible, sort, limit) {
|
|
3976
3995
|
const lines = [];
|
|
3977
3996
|
const totalTokens = visible.reduce((s, m) => s + m.tokens, 0);
|
|
3978
3997
|
lines.push(`UNCOMPRESSED \u2014 ${formatTokens2(totalTokens)} | ${visible.length} visible messages`);
|
|
@@ -4000,7 +4019,9 @@ function renderUncompressedRanges(visible) {
|
|
|
4000
4019
|
for (const m of visible) {
|
|
4001
4020
|
const num = refNum2(m.ref);
|
|
4002
4021
|
const last = merged[merged.length - 1];
|
|
4003
|
-
|
|
4022
|
+
const contiguous = !!last && num === last.startNum + last.count;
|
|
4023
|
+
const turnBoundary = !!last && m.isUser && last.count >= 3;
|
|
4024
|
+
if (contiguous && !turnBoundary) {
|
|
4004
4025
|
last.endRef = m.ref;
|
|
4005
4026
|
last.count += 1;
|
|
4006
4027
|
last.tokens += m.tokens;
|
|
@@ -4010,12 +4031,16 @@ function renderUncompressedRanges(visible) {
|
|
|
4010
4031
|
merged.push({ startRef: m.ref, endRef: m.ref, startNum: num, count: 1, tokens: m.tokens, toolTokens });
|
|
4011
4032
|
}
|
|
4012
4033
|
}
|
|
4013
|
-
|
|
4034
|
+
if (sort !== "time") merged.sort((a, b) => b.tokens - a.tokens || a.startNum - b.startNum);
|
|
4035
|
+
lines.push(`Sorted by ${sort === "time" ? "time" : "size"}`);
|
|
4036
|
+
lines.push("");
|
|
4037
|
+
const shown = merged.slice(0, limit);
|
|
4038
|
+
for (const r of shown) {
|
|
4014
4039
|
const range = r.count === 1 ? r.startRef : `${r.startRef}\u2013${r.endRef}`;
|
|
4015
4040
|
lines.push(` ${range} (${r.count} msgs, ${formatTokens2(r.tokens)}${r.count > 1 ? ` (${Math.round(r.tokens / r.count)}/msg)` : ""}) ${dominantTool(r.toolTokens)}`);
|
|
4016
4041
|
}
|
|
4017
|
-
if (merged.length >
|
|
4018
|
-
lines.push(` ... and ${merged.length -
|
|
4042
|
+
if (merged.length > shown.length) {
|
|
4043
|
+
lines.push(` ... and ${merged.length - shown.length} more ranges`);
|
|
4019
4044
|
}
|
|
4020
4045
|
return lines.join("\n");
|
|
4021
4046
|
}
|