opencode-acp 1.12.7 → 1.12.8

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":"message.d.ts","sourceRoot":"","sources":["../../../lib/compress/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AA6D1C,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CA0KnF"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../lib/compress/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AA8D1C,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAmLnF"}
@@ -37,6 +37,25 @@ export declare function finalizeSession(ctx: ToolContext, toolCtx: RunContext, r
37
37
  * Returns null if no visible message exists.
38
38
  */
39
39
  export declare function getLastVisibleMessageId(rawMessages: WithParts[], state: SessionState): string | null;
40
+ /**
41
+ * Stateless check: reject compression plans that would produce phantom blocks
42
+ * (0 new direct messages, 0 compressed tokens). A phantom block occurs when
43
+ * every message in the effective range is already active under an existing
44
+ * compression block. Returns an Error to throw if any plan is phantom.
45
+ *
46
+ * Fix for issue #93: empty compression blocks waste context (summary overhead
47
+ * with no token savings) and cause compression loops — the model sees 0 tokens
48
+ * removed, retries the same range, creates another phantom, endlessly.
49
+ *
50
+ * A message is "new" (will be newly compressed) if it is NOT currently active
51
+ * under any block. Messages active under consumed blocks are still "already
52
+ * compressed" — re-labeling them under a new block does not newly hide them
53
+ * (matches applyCompressionState's newlyCompressedMessageIds computation).
54
+ */
55
+ export declare function checkPhantomBlock(state: SessionState, plans: Array<{
56
+ messageIds: string[];
57
+ consumedBlockIds: number[];
58
+ }>): Error | null;
40
59
  /**
41
60
  * Stateless check: if any plan covers the most recent visible message,
42
61
  * the caller must pass `dangerous: true` to proceed. Returns an Error
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../lib/compress/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,KAAK,EAAE,YAAY,CAAA;IACnB,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACzC;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,CAMjF;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,mBAAmB,GAC9B,IAAI,CAIN;AAED,UAAU,UAAU;IAChB,GAAG,CAAC,KAAK,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACpC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,QAAQ,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACxC,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,SAAS,EAAE,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;CAC/B;AAED,wBAAsB,cAAc,CAChC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC,CAqC1B;AAED,wBAAsB,eAAe,CACjC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,SAAS,EAAE,EACxB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,WAAW,EAAE,SAAS,EAAE,EACxB,KAAK,EAAE,YAAY,GACpB,MAAM,GAAG,IAAI,CAUf;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACrC,GAAG,EAAE,WAAW,EAChB,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAC7B,WAAW,EAAE,SAAS,EAAE,EACxB,SAAS,EAAE,OAAO,GACnB,KAAK,GAAG,IAAI,CAgBd"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../lib/compress/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,KAAK,EAAE,YAAY,CAAA;IACnB,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACzC;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,CAMjF;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,mBAAmB,GAC9B,IAAI,CAIN;AAED,UAAU,UAAU;IAChB,GAAG,CAAC,KAAK,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACpC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,QAAQ,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACxC,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,SAAS,EAAE,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;CAC/B;AAED,wBAAsB,cAAc,CAChC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC,CAqC1B;AAED,wBAAsB,eAAe,CACjC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,SAAS,EAAE,EACxB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,WAAW,EAAE,SAAS,EAAE,EACxB,KAAK,EAAE,YAAY,GACpB,MAAM,GAAG,IAAI,CAUf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GACnE,KAAK,GAAG,IAAI,CA+Bd;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACrC,GAAG,EAAE,WAAW,EAChB,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAC7B,WAAW,EAAE,SAAS,EAAE,EACxB,SAAS,EAAE,OAAO,GACnB,KAAK,GAAG,IAAI,CAgBd"}
@@ -1 +1 @@
1
- {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../lib/compress/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AA6E1C,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CA8OjF"}
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../lib/compress/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AA8E1C,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAuPjF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "opencode-acp",
4
- "version": "1.12.7",
4
+ "version": "1.12.8",
5
5
  "type": "module",
6
6
  "description": "Active Context Pruning — model-driven context management for OpenCode (hardened fork of DCP with 35 bug fixes)",
7
7
  "main": "./dist/index.js",