billion-context-omp 0.1.1 → 0.1.2

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.
@@ -45,6 +45,17 @@ export declare function isBlockRef(ref: string): boolean;
45
45
  * Message refs (mNNNNN) go through byRef; block refs (bN) resolve to the
46
46
  * earliest (min) or latest (max) covered message's raw id. "" = unresolved. */
47
47
  export declare function boundaryRaw(ref: string, byRef: Record<string, string>, blocks: BlockLike[], pick: "min" | "max"): string;
48
+ /** Ranges too small to carry a meaningful summary (kernel minSummaryLength
49
+ * is 50 chars; a 16-token message can't support one and nets a LOSS). The
50
+ * "compress all ranges in one call" nudge hint makes listing them a trap:
51
+ * the model bundles them, the batch fails atomically, nothing gets applied
52
+ * (observed live: 14-range batch rejected by a 43-char summary on a
53
+ * 16-token range). 200 tokens ≈ 800 chars of substance — comfortably above
54
+ * the summary floor while still listing every genuinely compressible range. */
55
+ export declare const VIABLE_RANGE_MIN_TOKENS = 200;
56
+ export declare function viableRanges<T extends {
57
+ tokens: number;
58
+ }>(ranges: T[]): T[];
48
59
  /** One fingerprint per range (never filtered, "-" for unresolvable
49
60
  * boundaries) so replay-side index lookup stays aligned even for mixed
50
61
  * message/block boundary batches. Written into the compress tool result. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "billion-context-omp",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "One billion, not one million. Model-driven context management for the oh-my-pi (omp) coding agent.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",