dsh-plugin-om 0.0.39 → 0.0.40

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.
@@ -77,10 +77,11 @@ export declare function resolveCompressionEffort(ctx: Context, session: Session,
77
77
  */
78
78
  export declare function isPairBalancedAfter(session: Session, seq: number): boolean;
79
79
  /**
80
- * 观察压缩区间:压缩边界后的首个表层节点 → 触发点完整消息(endMessageIndex)对应的
81
- * 表层终点(取该完整消息最后一个事件 seq 在表层中的位置);区间终点回退到
82
- * tool-call/result 配对平衡点(不切段)。触发点完整消息不存在或其事件已不在表层
83
- * (被后续压缩遮蔽)时返回 undefined。返回区间起止表层 seq 与被遮蔽 seq 列表。
80
+ * 观察压缩区间:压缩边界后的首个表层节点(无边界时从首个非 system/message 头节点的
81
+ * 表层节点起)→ 触发点完整消息(endMessageIndex)对应的表层终点(取该完整消息最后
82
+ * 一个事件 seq 在表层中的位置);区间终点回退到 tool-call/result 配对平衡点(不切段)。
83
+ * 触发点完整消息不存在或其事件已不在表层(被后续压缩遮蔽)时返回 undefined。
84
+ * 返回区间起止表层 seq 与被遮蔽 seq 列表。
84
85
  */
85
86
  export declare function computeCompressRange(session: Session, endMessageIndex: number): {
86
87
  start: number;
@@ -1 +1 @@
1
- {"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAgB9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EACV,KAAK,EAKL,OAAO,EACP,YAAY,EACZ,OAAO,EAIR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAgB,KAAK,YAAY,EAAqC,MAAM,YAAY,CAAC;AAEhG;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,OAAO,EAAE,OAAO,GACf,YAAY,GAAG,SAAS,CAK1B;AAKD,uDAAuD;AACvD,wBAAgB,8BAA8B,IAAI,IAAI,CAErD;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAyBxC;AAmED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAY1E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,MAAM,GACtB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAoCpE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG;IAChD,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,CAUA;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,GACf;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAoB1D;AA6ID;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,iBAAiB,GAClC,OAAO,CAAC,kBAAkB,CAAC,CAyH7B;AAwED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,iBAAiB,GAClC,OAAO,CAAC,kBAAkB,CAAC,CAkO7B;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAyB7B"}
package/dist/index.mjs CHANGED
@@ -9037,16 +9037,19 @@ function isPairBalancedAfter(session, seq) {
9037
9037
  return false;
9038
9038
  }
9039
9039
  /**
9040
- * 观察压缩区间:压缩边界后的首个表层节点 → 触发点完整消息(endMessageIndex)对应的
9041
- * 表层终点(取该完整消息最后一个事件 seq 在表层中的位置);区间终点回退到
9042
- * tool-call/result 配对平衡点(不切段)。触发点完整消息不存在或其事件已不在表层
9043
- * (被后续压缩遮蔽)时返回 undefined。返回区间起止表层 seq 与被遮蔽 seq 列表。
9040
+ * 观察压缩区间:压缩边界后的首个表层节点(无边界时从首个非 system/message 头节点的
9041
+ * 表层节点起)→ 触发点完整消息(endMessageIndex)对应的表层终点(取该完整消息最后
9042
+ * 一个事件 seq 在表层中的位置);区间终点回退到 tool-call/result 配对平衡点(不切段)。
9043
+ * 触发点完整消息不存在或其事件已不在表层(被后续压缩遮蔽)时返回 undefined。
9044
+ * 返回区间起止表层 seq 与被遮蔽 seq 列表。
9044
9045
  */
9045
9046
  function computeCompressRange(session, endMessageIndex) {
9046
9047
  const surface = [...session.surface.nodes];
9047
9048
  if (surface.length === 0) return void 0;
9048
9049
  const { boundarySeq } = historySection(session);
9049
- const startIdx = boundarySeq === void 0 ? 0 : surface.indexOf(SessionSeq(boundarySeq)) + 1;
9050
+ const headSeq = surface[0];
9051
+ const headOffset = (headSeq === void 0 ? void 0 : session.snapshotEvents()[headSeq])?.type === "system/message" ? 1 : 0;
9052
+ const startIdx = boundarySeq === void 0 ? headOffset : surface.indexOf(SessionSeq(boundarySeq)) + 1;
9050
9053
  if (startIdx >= surface.length) return void 0;
9051
9054
  const target = indexCompleteMessages(session).find((cm) => cm.index === endMessageIndex);
9052
9055
  if (target === void 0) return void 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-plugin-om",
3
- "version": "0.0.39",
3
+ "version": "0.0.40",
4
4
  "type": "module",
5
5
  "main": "./dist/index.mjs",
6
6
  "module": "./dist/index.mjs",