opencode-acp 1.18.0-pr.392.147 → 1.18.0-pr.394.151

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/README.md CHANGED
@@ -10,6 +10,16 @@ The model decides <em>when</em> and <em>what</em> to compress — not a hard lim
10
10
 
11
11
  ---
12
12
 
13
+
14
+ ## 📄 Paper / Preprint
15
+
16
+ - **[Model-Driven Incremental Hierarchical Compression: Training-Free Multi-Generational Context Management for Long-Lived Coding Agents](./paper/model-driven-incremental-hierarchical-compression-training-free-multi-generational-context-management-for-long-lived-coding-agents.md)** (English, v0.2)
17
+ - [模型驱动的分层增量压缩:面向长寿命编码 Agent 的免训练多代上下文管理](./paper/模型驱动的分层增量压缩-免训练多代上下文管理.md)(中文版)
18
+
19
+ A production-scale longitudinal study: 4.5 months, three hosts, 174,327 model calls, 18.76B cumulative input tokens (~24.7B across all hosts), zero window violations on 204,800-token models, marathon sessions of 8,584–12,049 calls.
20
+
21
+ ---
22
+
13
23
  <p align="center">
14
24
  <a href="https://www.npmjs.com/package/opencode-acp"><img src="https://img.shields.io/npm/v/opencode-acp.svg?style=flat-square" alt="npm"></a>
15
25
  <a href="https://github.com/ranxianglei/opencode-acp/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/opencode-acp.svg?style=flat-square" alt="license"></a>
package/README.zh-CN.md CHANGED
@@ -10,6 +10,16 @@
10
10
 
11
11
  ---
12
12
 
13
+
14
+ ## 📄 论文 / 预印本
15
+
16
+ - **[模型驱动的分层增量压缩:面向长寿命编码 Agent 的免训练多代上下文管理](./paper/模型驱动的分层增量压缩-免训练多代上下文管理.md)**(中文版,v0.2)
17
+ - [Model-Driven Incremental Hierarchical Compression: Training-Free Multi-Generational Context Management for Long-Lived Coding Agents](./paper/model-driven-incremental-hierarchical-compression-training-free-multi-generational-context-management-for-long-lived-coding-agents.md)(English)
18
+
19
+ 生产规模纵向研究:四个半月、三宿主、174,327 次模型调用、187.6 亿累计输入 token(三宿主合计约 247 亿),204,800-token 窗口零违规,马拉松会话 8,584–12,049 次调用。
20
+
21
+ ---
22
+
13
23
  <p align="center">
14
24
  <a href="https://www.npmjs.com/package/opencode-acp"><img src="https://img.shields.io/npm/v/opencode-acp.svg?style=flat-square" alt="npm"></a>
15
25
  <a href="https://github.com/ranxianglei/opencode-acp/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/opencode-acp.svg?style=flat-square" alt="license"></a>
package/dist/index.js CHANGED
@@ -10154,12 +10154,6 @@ function renderOverview(visibleMessages, summaryTokens, systemTokens, blocks, fe
10154
10154
  }
10155
10155
  }
10156
10156
  if (!fetchFailed) {
10157
- const pruneMap = ctx.state.prune.messages.byMessageId;
10158
- const visibleRaw = rawMessages.filter((msg) => {
10159
- const msgId = msg.info?.id || "";
10160
- const entry = pruneMap.get(msgId);
10161
- return !entry || entry.activeBlockIds.length === 0;
10162
- });
10163
10157
  if (ctx.config?.compress?.candidates === true) {
10164
10158
  const candidates = renderCompressionCandidates(rawMessages, ctx);
10165
10159
  if (candidates.length > 0) {
@@ -10167,6 +10161,12 @@ function renderOverview(visibleMessages, summaryTokens, systemTokens, blocks, fe
10167
10161
  lines.push(...candidates);
10168
10162
  }
10169
10163
  } else {
10164
+ const pruneMap = ctx.state.prune.messages.byMessageId;
10165
+ const visibleRaw = rawMessages.filter((msg) => {
10166
+ const msgId = msg.info?.id || "";
10167
+ const entry = pruneMap.get(msgId);
10168
+ return !entry || entry.activeBlockIds.length === 0;
10169
+ });
10170
10170
  const protectedRefs = ctx.config?.compress ? computeProtectedRefs(visibleRaw, ctx.state, ctx.config.compress) : /* @__PURE__ */ new Set();
10171
10171
  const contextRanges = buildCompressibleRanges(
10172
10172
  visibleRaw,
@@ -10553,7 +10553,7 @@ import { writeFile as writeFile2, mkdir as mkdir2 } from "fs/promises";
10553
10553
  import { join as join4 } from "path";
10554
10554
  import { existsSync as existsSync4 } from "fs";
10555
10555
  import { homedir as homedir3 } from "os";
10556
- var LOG_VERSION = true ? "1.18.0-pr.392.147" : "dev";
10556
+ var LOG_VERSION = true ? "1.18.0-pr.394.151" : "dev";
10557
10557
  var LEVEL_RANK = {
10558
10558
  debug: 10,
10559
10559
  info: 20,
@@ -13236,7 +13236,7 @@ var server = (async (ctx) => {
13236
13236
  }
13237
13237
  const logger = new Logger(config.debug, config.debug ? "debug" : config.logLevel);
13238
13238
  logger.info("ACP plugin initialized", {
13239
- version: true ? "1.18.0-pr.392.147" : "dev",
13239
+ version: true ? "1.18.0-pr.394.151" : "dev",
13240
13240
  workspace: ctx.directory,
13241
13241
  logLevel: logger.level,
13242
13242
  debug: config.debug,