acp-kernel 0.0.59 → 0.0.60-pr.236.83

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.
@@ -1 +1 @@
1
- {"version":3,"file":"hide-consumed.d.ts","sourceRoot":"","sources":["../src/hide-consumed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAYhE,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAClB;AA8BD,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,WAAW,EAAE,GACxB,kBAAkB,CAmFpB"}
1
+ {"version":3,"file":"hide-consumed.d.ts","sourceRoot":"","sources":["../src/hide-consumed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAYhE,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAClB;AA8FD,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,WAAW,EAAE,GACxB,kBAAkB,CAwFpB"}
package/dist/index.js CHANGED
@@ -666,25 +666,71 @@ var KEEP_LAST_ORPHANED = 2;
666
666
  function rangeKey(startRef, endRef) {
667
667
  return `${startRef}::${endRef}`;
668
668
  }
669
- function rewriteCompressText(text, liveKeys) {
669
+ function parseCallText(text) {
670
+ const raw = text ?? "";
671
+ const start = raw.indexOf("{");
672
+ if (start < 0) return null;
670
673
  let parsed;
671
674
  try {
672
- parsed = JSON.parse(text ?? "");
675
+ parsed = JSON.parse(raw.slice(start));
673
676
  } catch {
674
677
  return null;
675
678
  }
676
679
  if (!parsed || typeof parsed !== "object") return null;
677
680
  const obj = parsed;
678
- const content = obj.content;
679
- if (!Array.isArray(content) || content.length === 0) return null;
681
+ let content = null;
682
+ let contentWasString = false;
683
+ if (Array.isArray(obj.content)) {
684
+ content = obj.content;
685
+ } else if (typeof obj.content === "string") {
686
+ contentWasString = true;
687
+ try {
688
+ const inner = JSON.parse(obj.content);
689
+ if (Array.isArray(inner)) content = inner;
690
+ } catch {
691
+ content = null;
692
+ }
693
+ }
694
+ if (!content || content.length === 0) return null;
695
+ return { prefix: raw.slice(0, start), obj, content, contentWasString };
696
+ }
697
+ function rewriteCompressText(text, liveKeys) {
698
+ const parsed = parseCallText(text);
699
+ if (!parsed) return null;
700
+ const { prefix, obj, content, contentWasString } = parsed;
680
701
  const kept = content.filter((entry) => {
681
702
  if (!entry || typeof entry !== "object") return false;
682
- const s = typeof entry.startId === "string" ? entry.startId : typeof entry.messageId === "string" ? entry.messageId : "";
683
- const e = typeof entry.endId === "string" ? entry.endId : typeof entry.messageId === "string" ? entry.messageId : "";
684
- return liveKeys.has(rangeKey(s, e));
703
+ const e = entry;
704
+ const s = typeof e.startId === "string" ? e.startId : typeof e.messageId === "string" ? e.messageId : "";
705
+ const end = typeof e.endId === "string" ? e.endId : typeof e.messageId === "string" ? e.messageId : "";
706
+ return liveKeys.has(rangeKey(s, end));
685
707
  });
686
- if (kept.length === content.length || kept.length === 0) return null;
687
- return JSON.stringify({ ...obj, content: kept });
708
+ if (kept.length === 0) return null;
709
+ return prefix + serializeCompacted(obj, kept, contentWasString).text;
710
+ }
711
+ var SUMMARY_STUB_CHARS = 200;
712
+ function compactEntry(entry) {
713
+ if (!entry || typeof entry !== "object") return entry;
714
+ const e = entry;
715
+ if (typeof e.summary !== "string" || e.summary.length <= SUMMARY_STUB_CHARS) return entry;
716
+ return { ...e, summary: `${e.summary.slice(0, SUMMARY_STUB_CHARS - 1)}\u2026` };
717
+ }
718
+ function serializeCompacted(obj, content, contentWasString) {
719
+ let changed = false;
720
+ const compacted = content.map((entry) => {
721
+ const out = compactEntry(entry);
722
+ if (out !== entry) changed = true;
723
+ return out;
724
+ });
725
+ const outContent = contentWasString ? JSON.stringify(compacted) : compacted;
726
+ return { text: JSON.stringify({ ...obj, content: outContent }), changed };
727
+ }
728
+ function compactCompressText(text) {
729
+ const parsed = parseCallText(text);
730
+ if (!parsed) return null;
731
+ const { prefix, obj, content, contentWasString } = parsed;
732
+ const { text: out, changed } = serializeCompacted(obj, content, contentWasString);
733
+ return changed ? prefix + out : null;
688
734
  }
689
735
  function hideConsumedCompressCalls(state, messages) {
690
736
  const allBlockCallIds = /* @__PURE__ */ new Set();
@@ -743,6 +789,11 @@ function hideConsumedCompressCalls(state, messages) {
743
789
  continue;
744
790
  }
745
791
  }
792
+ const compacted = compactCompressText(message.text);
793
+ if (compacted !== null) {
794
+ result.push({ ...message, text: compacted });
795
+ continue;
796
+ }
746
797
  }
747
798
  result.push(message);
748
799
  }