acp-kernel 0.0.97-pr.471.324 → 0.0.97-pr.472.325

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
@@ -696,7 +696,7 @@ var COMPRESS_PARAMETERS = {
696
696
  description: "Optional short title for the compressed range"
697
697
  },
698
698
  content: {
699
- description: "One or more ranges to compress into separate summary blocks. Array form (preferred): one entry per range \u2014 line form (one STRING per range: first line 'm00150\u2013m00220 optional topic', remaining lines the markdown summary verbatim) or object form {startId,endId,summary,topic?}. String form also accepted: bare line-form text, or a JSON-encoded array of ranges (some gateways stringify arrays). REQUIRED unless the flat single-range form is used.",
699
+ description: "One or more ranges to compress into separate summary blocks. Array form: one entry per range \u2014 line form (one STRING per range: first line 'm00150\u2013m00220 optional topic', remaining lines the markdown summary verbatim) or object form {startId,endId,summary,topic?}. Single-string form (PREFERRED for multi-range batches \u2014 plain text survives lossy gateways best): ONE plain string holding ALL ranges, each block starting with its 'm00150\u2013m00220 optional topic' header line followed by that block's summary. A JSON-encoded array of ranges as that string is also accepted (some gateways stringify arrays). Batch multiple ranges into ONE call \u2014 do not split into one call per range. REQUIRED unless the flat single-range form is used.",
700
700
  anyOf: [
701
701
  {
702
702
  type: "array",
@@ -704,7 +704,7 @@ var COMPRESS_PARAMETERS = {
704
704
  anyOf: [
705
705
  {
706
706
  type: "string",
707
- description: "Line form: first line 'm00150\u2013m00220 optional topic', remaining lines the summary markdown, verbatim (no JSON escaping)"
707
+ description: "Line form: first line 'm00150\u2013m00220 optional topic', remaining lines the summary markdown, verbatim (no JSON escaping). A single string may carry MULTIPLE ranges \u2014 each block starts with its own refs header line"
708
708
  },
709
709
  {
710
710
  ...COMPRESS_RANGE_OBJECT,
@@ -744,7 +744,7 @@ var COMPRESS_PARAMETERS = {
744
744
  };
745
745
  var COMPRESS_TOOL = {
746
746
  name: COMPRESS_TOOL_NAME,
747
- description: "Replace consumed conversation ranges with self-contained summaries you write, identified by their refs. Line form (preferred): content = one STRING per range \u2014 first line 'm00150\u2013m00220 optional topic', remaining lines the markdown summary written verbatim (no JSON structure, no escaping). Also accepted: object entries {startId,endId,summary,topic?} in the content array, content as a single string (bare line form or JSON-encoded array), and a flat single-range call {startId,endId,summary,topic?} without content. Use when content is genuinely consumed. REQUIRED \u2014 compress without content or flat range fields is invalid.",
747
+ description: "Replace consumed conversation ranges with self-contained summaries you write, identified by their refs. Line form (preferred): content = one STRING per range \u2014 first line 'm00150\u2013m00220 optional topic', remaining lines the markdown summary written verbatim (no JSON structure, no escaping). Also accepted: object entries {startId,endId,summary,topic?} in the content array, content as a single string (bare line form \u2014 one string may hold ALL ranges, each block starting with its refs header line \u2014 or JSON-encoded array), and a flat single-range call {startId,endId,summary,topic?} without content. Batch multiple ranges into ONE call. Use when content is genuinely consumed. REQUIRED \u2014 compress without content or flat range fields is invalid.",
748
748
  input_schema: COMPRESS_PARAMETERS
749
749
  };
750
750
  function parseCompressInput(input, callId, onWarn) {
@@ -5984,7 +5984,7 @@ var LEAN_TOOL_PROMPTS = {
5984
5984
  compress: {
5985
5985
  description: "Replace consumed conversation ranges with self-contained summaries using mNNNNN or bN refs.",
5986
5986
  paramDescriptions: {
5987
- content: "One string per range: first line 'm00150\u2013m00220 optional topic', remaining lines the summary markdown. Object form also accepted.",
5987
+ content: "One string per range: first line 'm00150\u2013m00220 optional topic', remaining lines the summary markdown; ONE string may hold several ranges (new header line per range). Object form also accepted.",
5988
5988
  startId: "Inclusive first mNNNNN or bN ref.",
5989
5989
  endId: "Inclusive last mNNNNN or bN ref.",
5990
5990
  summary: "Self-contained replacement preserving exact technical details.",
@@ -7538,11 +7538,6 @@ 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;
7546
7541
  } else {
7547
7542
  diag.kind = "content-not-array";
7548
7543
  return finish([], diag);