acp-kernel 0.0.97-pr.472.330 → 0.0.97-pr.472.332

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/index.js CHANGED
@@ -811,7 +811,7 @@ Each message in the conversation is annotated with a <acp tokens="2.1K" type="to
811
811
 
812
812
  You have five context-management tools:
813
813
 
814
- - compress \u2014 Replace a contiguous range of older conversation with a single detailed summary you write. Use when content is genuinely consumed (no longer needed for the current task step). Single range: compress({ topic: "...", content: [{ startId: "m00150", endId: "m00220", summary: "..." }] }). Batch (multiple unrelated ranges, each with its own topic): compress({ content: [{ topic: "Auth", startId: "m00150", endId: "m00220", summary: "..." }, { topic: "Deploy", startId: "m00300", endId: "m00350", summary: "..." }] }).
814
+ - compress \u2014 Replace a contiguous range of older conversation with a single detailed summary you write. Use when content is genuinely consumed (no longer needed for the current task step). Single range: compress({ topic: "...", content: [{ startId: "m00150", endId: "m00220", summary: "..." }] }). Batch (multiple unrelated ranges, each with its own topic): compress({ content: [{ topic: "Auth", startId: "m00150", endId: "m00220", summary: "..." }, { topic: "Deploy", startId: "m00300", endId: "m00350", summary: "..." }] }), or the same batch as ONE plain string \u2014 most robust through lossy gateways: compress({ content: "m00150\u2013m00220 Auth\\nsummary\u2026\\nm00300\u2013m00350 Deploy\\nsummary\u2026" }) \u2014 one block per range, each starting with its 'mNNNNN\u2013mNNNNN optional topic' header line.
815
815
  - decompress \u2014 Restore a previously compressed block's content. By default restores one tier up (T2\u2192T1 summaries, not raw messages). Use full: true to restore all the way to original messages. Use toFile to write to file instead of inflating context. Example: decompress({ blockId: "b5" }) or decompress({ blockId: "b5", toFile: "path" }) or decompress({ blockId: "b5", full: true }).
816
816
  - search_context \u2014 Search compressed block summaries (and optionally visible messages) by keyword. Use BEFORE decompressing to find the right block. Example: search_context({ query: "auth token refresh" }).
817
817
  - acp_status \u2014 Context status with compressible ranges. No args = overview + ranges. Use to find what to compress next.`
@@ -7538,6 +7538,11 @@ function parseObjectValue(value, callId, diag) {
7538
7538
  entries = parsed.entries;
7539
7539
  salvaged = parsed.salvaged;
7540
7540
  if (parsed.quoteRepaired) diag.quoteSalvage = true;
7541
+ } else if (content !== null && typeof content === "object") {
7542
+ const obj = content;
7543
+ const nested = obj["ranges"];
7544
+ entries = Array.isArray(nested) ? nested : [obj];
7545
+ diag.contentSalvage = true;
7541
7546
  } else {
7542
7547
  diag.kind = "content-not-array";
7543
7548
  return finish([], diag);