@loreai/core 0.20.0 → 0.20.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.
@@ -15,7 +15,7 @@ export declare const LoreConfig: z.ZodObject<{
15
15
  ltm: z.ZodDefault<z.ZodNumber>;
16
16
  targetCacheReadCostPerTurn: z.ZodDefault<z.ZodNumber>;
17
17
  maxLayer0Tokens: z.ZodOptional<z.ZodNumber>;
18
- targetBustCost: z.ZodDefault<z.ZodNumber>;
18
+ targetBustCost: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
19
19
  maxContextTokens: z.ZodOptional<z.ZodNumber>;
20
20
  }, z.core.$strip>>;
21
21
  idleResumeMinutes: z.ZodDefault<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8OrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAIpD,wBAAgB,MAAM,IAAI,UAAU,CAEnC;AAED,wBAAsB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAajE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsOrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAIpD,wBAAgB,MAAM,IAAI,UAAU,CAEnC;AAED,wBAAsB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAajE"}
@@ -151,6 +151,10 @@ export declare function run(input: {
151
151
  skipMeta?: boolean;
152
152
  urgent?: boolean;
153
153
  callType?: "batch" | "direct";
154
+ /** Override the meta-distillation gen-0 threshold. When set, meta-distillation
155
+ * triggers at this count instead of `cfg.distillation.metaThreshold`.
156
+ * Used by the urgent-distillation path to consolidate earlier under bust pressure. */
157
+ metaThresholdOverride?: number;
154
158
  }): Promise<{
155
159
  rounds: number;
156
160
  distilled: number;
@@ -1 +1 @@
1
- {"version":3,"file":"distillation.d.ts","sourceRoot":"","sources":["../../src/distillation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distillation.d.ts","sourceRoot":"","sources":["../../src/distillation.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,44 @@
1
1
  import type { LoreMessageWithParts } from "./types";
2
2
  type MessageWithParts = LoreMessageWithParts;
3
- /** Compute the context ceiling from a per-bust cost target and cache-write price per token. */
4
- export declare function computeContextCap(targetBustCost: number, cacheWriteCostPerToken: number): number;
5
- /** Set the static context ceiling. Called by the host adapter after computing
6
- * from model pricing. The effective per-session cap may be lower due to
7
- * dynamic adaptation (bust rate EMA). */
8
- export declare function setMaxContextTokens(tokens: number): void;
9
- /** Returns the current static ceiling (for external callers / tests). */
10
- export declare function getMaxContextTokens(): number;
11
- /**
12
- * Feed cache usage data after each API response. Updates the per-session
13
- * bust rate EMA and inter-bust interval, which adjust the effective context
14
- * cap dynamically.
3
+ /**
4
+ * Set cache pricing for the current model. Called by the host adapter after
5
+ * looking up model cost data. Required for tier-based bust-vs-continue
6
+ * decisions. When not set (both 0), tier decisions fall back to conservative
7
+ * defaults: always compress at tier boundaries.
8
+ */
9
+ export declare function setCachePricing(writeCost: number, readCost: number): void;
10
+ /** Returns current pricing (for tests). */
11
+ export declare function getCachePricing(): {
12
+ write: number;
13
+ read: number;
14
+ };
15
+ /**
16
+ * Decide whether compression is economical at a tier boundary.
17
+ *
18
+ * @param currentTokens - expected input tokens if we stay at the current layer
19
+ * @param compressedTokens - expected tokens after compression
20
+ * @param consecutiveBusts - how many turns in a row we've busted the cache
21
+ * @param threshold - bust cost must be < threshold × continue cost to compress (default 0.85)
22
+ * @returns true if compression is worth it
23
+ */
24
+ export declare function shouldCompress(currentTokens: number, compressedTokens: number, consecutiveBusts: number, threshold?: number): boolean;
25
+ /**
26
+ * Determine which tier the given token count falls into.
27
+ * Returns 0, 1, or 2 corresponding to the tier index.
28
+ */
29
+ export declare function getTier(tokens: number): number;
30
+ /**
31
+ * Record cache usage from an API response. Tracks consecutive busts for
32
+ * the rolling bust detection used by shouldCompress().
33
+ *
34
+ * A "bust" is when cache_write > 50% of total input tokens.
15
35
  *
16
36
  * @param cacheWrite - cache_creation_input_tokens from the API response
17
37
  * @param cacheRead - cache_read_input_tokens from the API response
38
+ * @param inputTokens - total input_tokens from the API response (includes uncached)
18
39
  * @param sessionID - session that produced this response
19
40
  */
20
- export declare function updateBustRate(cacheWrite: number, cacheRead: number, sessionID?: string, lastLayer?: number): void;
41
+ export declare function recordCacheUsage(cacheWrite: number, cacheRead: number, inputTokens: number, sessionID?: string): void;
21
42
  type DistillationSnapshot = {
22
43
  /** Cached distillation rows from the most recent DB read */
23
44
  rows: Distillation[];
@@ -141,10 +162,27 @@ export declare function inspectSessionState(sessionID: string): {
141
162
  postIdleCompact: boolean;
142
163
  lastTurnAt: number;
143
164
  distillationSnapshot: DistillationSnapshot | null;
144
- bustRateEMA: number;
145
- dynamicContextCap: number;
146
- consecutiveLayer4: number;
165
+ consecutiveBusts: number;
147
166
  } | null;
167
+ /**
168
+ * Return the consecutive-bust counter for a session (read-only).
169
+ * Returns 0 if the session has no in-memory state — callers treat this
170
+ * as "no bust pressure" which is the safe default.
171
+ *
172
+ * Uses Map.get() instead of getSessionState() to avoid creating phantom
173
+ * SessionState entries with zeroed calibration fields, which would cause
174
+ * the next transform() call to treat the session as uncalibrated.
175
+ */
176
+ export declare function getConsecutiveBusts(sessionID: string): number;
177
+ /** Bust-pressure threshold for meta-distillation: consecutive busts ≥ this
178
+ * value trigger earlier consolidation of gen-0 segments. */
179
+ export declare const BUST_PRESSURE_THRESHOLD = 3;
180
+ /**
181
+ * Compute the effective meta-distillation threshold under bust pressure.
182
+ * When busts ≥ BUST_PRESSURE_THRESHOLD, lowers the threshold to 1/4 of the
183
+ * configured value (min 3) to consolidate the distilled prefix earlier.
184
+ */
185
+ export declare function effectiveMetaThreshold(busts: number, configThreshold: number): number;
148
186
  /**
149
187
  * For testing only — set the session's lastTurnAt field. Used to simulate
150
188
  * idle gaps without sleeping. Creates the session state if not present so
@@ -218,6 +256,10 @@ export type TransformResult = {
218
256
  distilledBudget: number;
219
257
  rawBudget: number;
220
258
  refreshLtm: boolean;
259
+ /** When set, the conversation is growing unsustainably — 5+ consecutive
260
+ * cache busts detected. The pipeline should inject a warning message
261
+ * advising the user to compact or start a new conversation. */
262
+ unsustainable?: boolean;
221
263
  };
222
264
  export declare function needsUrgentDistillation(sessionID: string): boolean;
223
265
  export declare function transform(input: {
@@ -1 +1 @@
1
- {"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../../src/gradient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../../src/gradient.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export { load, config, type LoreConfig } from "./config";
18
18
  export { db, dbPath, ensureProject, getLastImportAt, setLastImportAt, isFirstRun, projectId, projectName, projectPath, resolveProjectByRemoteOrPath, mergeProjectInternal, loadForceMinLayer, saveForceMinLayer, saveSessionCosts, loadSessionCosts, loadAllSessionCosts, type SessionCostSnapshot, saveSessionTracking, loadSessionTracking, loadHeaderSessionIndex, type SessionTrackingState, type LoadedSessionTracking, getKV, setKV, getMeta, setMeta, getInstanceId, close, } from "./db";
19
19
  export { normalizeRemoteUrl, getGitRemote, clearGitRemoteCache } from "./git";
20
20
  export { enableHostedMode, isHostedMode } from "./hosted";
21
- export { transform, setModelLimits, setMaxLayer0Tokens, computeLayer0Cap, setMaxContextTokens, computeContextCap, getMaxContextTokens, updateBustRate, needsUrgentDistillation, calibrate, setLtmTokens, getLtmTokens, getLtmBudget, setForceMinLayer, getLastTransformedCount, getLastTransformEstimate, getLastLayer, toolStripAnnotation, onIdleResume, getLastTurnAt, consumeCameOutOfIdle, saveGradientState, setLastTurnAtForTest, inspectSessionState, } from "./gradient";
21
+ export { transform, setModelLimits, setMaxLayer0Tokens, computeLayer0Cap, setCachePricing, getCachePricing, shouldCompress, getTier, recordCacheUsage, needsUrgentDistillation, calibrate, setLtmTokens, getLtmTokens, getLtmBudget, setForceMinLayer, getLastTransformedCount, getLastTransformEstimate, getLastLayer, toolStripAnnotation, onIdleResume, getLastTurnAt, consumeCameOutOfIdle, saveGradientState, setLastTurnAtForTest, inspectSessionState, getConsecutiveBusts, BUST_PRESSURE_THRESHOLD, effectiveMetaThreshold, } from "./gradient";
22
22
  export { formatKnowledge, formatDistillations, DISTILLATION_SYSTEM, distillationUser, RECURSIVE_SYSTEM, recursiveUser, CURATOR_SYSTEM, curatorUser, CONSOLIDATION_SYSTEM, consolidationUser, QUERY_EXPANSION_SYSTEM, COMPACT_SUMMARY_TEMPLATE, buildCompactPrompt, } from "./prompt";
23
23
  export { shouldImport, importFromFile, exportToFile, exportLoreFile, importLoreFile, shouldImportLoreFile, loreFileExists, clearLoreFileCache, LORE_FILE, } from "./agents-file";
24
24
  export { workerSessionIDs, isWorkerSession } from "./worker";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -26629,19 +26629,11 @@ var LoreConfig = external_exports.object({
26629
26629
  * cost-aware formula from targetCacheReadCostPerTurn. 0 = disabled
26630
26630
  * (no cap, use full context). Default: undefined (use cost-aware auto). */
26631
26631
  maxLayer0Tokens: external_exports.number().min(0).optional(),
26632
- /** Target maximum cost (USD) for a single full cache bust (cold write of
26633
- * the entire context). Controls the total-context token cap at layer 1+:
26634
- * maxContextTokens = targetBustCost / cacheWriteCostPerToken.
26635
- * For opus-4-6 ($6.25/M write): $1.00 → 160K cap.
26636
- * For sonnet-4 ($3.75/M write): $1.00 → 267K (effectively uncapped at 200K).
26637
- * The cap is further adjusted dynamically per session based on observed
26638
- * bust rate (EMA) and break frequency. Default: 1.00. Set to 0 to disable. */
26639
- targetBustCost: external_exports.number().min(0).default(1),
26640
- /** Direct override for the total-context token cap at layer 1+. When set,
26641
- * bypasses the cost-aware formula from targetBustCost. 0 = disabled.
26642
- * Default: undefined (use cost-aware auto). */
26632
+ /** @deprecated Ignored. Tier-based bust-vs-continue replaces static cap. */
26633
+ targetBustCost: external_exports.number().min(0).default(1).optional(),
26634
+ /** @deprecated Ignored. Tier-based bust-vs-continue replaces static cap. */
26643
26635
  maxContextTokens: external_exports.number().min(0).optional()
26644
- }).default({ distilled: 0.25, raw: 0.4, output: 0.25, ltm: 0.05, targetCacheReadCostPerTurn: 0.1, targetBustCost: 1 }),
26636
+ }).default({ distilled: 0.25, raw: 0.4, output: 0.25, ltm: 0.05, targetCacheReadCostPerTurn: 0.1 }),
26645
26637
  /**
26646
26638
  * Cold-cache idle-resume handling.
26647
26639
  *
@@ -29953,70 +29945,41 @@ function estimateMessage(msg) {
29953
29945
  }
29954
29946
  var contextLimit = 2e5;
29955
29947
  var outputReserved = 32e3;
29956
- var maxLayer0Tokens = 0;
29957
- var MIN_LAYER0_FLOOR = 4e4;
29958
- var maxContextTokensCeiling = 0;
29959
- var MIN_CONTEXT_FLOOR = 13e4;
29960
- function computeContextCap(targetBustCost, cacheWriteCostPerToken) {
29961
- if (targetBustCost <= 0 || cacheWriteCostPerToken <= 0) return 0;
29962
- return Math.max(MIN_CONTEXT_FLOOR, Math.floor(targetBustCost / cacheWriteCostPerToken));
29963
- }
29964
- function setMaxContextTokens(tokens) {
29965
- maxContextTokensCeiling = Math.max(0, Math.floor(tokens));
29948
+ var TIER_BOUNDARIES = [2e5, 5e5];
29949
+ var cacheWriteCostPerToken = 0;
29950
+ var cacheReadCostPerToken = 0;
29951
+ function setCachePricing(writeCost, readCost) {
29952
+ cacheWriteCostPerToken = Math.max(0, writeCost);
29953
+ cacheReadCostPerToken = Math.max(0, readCost);
29966
29954
  }
29967
- function getMaxContextTokens() {
29968
- return maxContextTokensCeiling;
29955
+ function getCachePricing() {
29956
+ return { write: cacheWriteCostPerToken, read: cacheReadCostPerToken };
29969
29957
  }
29970
- function updateBustRate(cacheWrite, cacheRead, sessionID, lastLayer) {
29958
+ var maxLayer0Tokens = 0;
29959
+ var MIN_LAYER0_FLOOR = 4e4;
29960
+ function shouldCompress(currentTokens, compressedTokens, consecutiveBusts, threshold = 0.85) {
29961
+ if (consecutiveBusts >= 5) return false;
29962
+ if (cacheWriteCostPerToken <= 0 || cacheReadCostPerToken <= 0) return false;
29963
+ const bustCost = compressedTokens * cacheWriteCostPerToken;
29964
+ const continueCost = currentTokens * cacheReadCostPerToken;
29965
+ return bustCost < threshold * continueCost;
29966
+ }
29967
+ function getTier(tokens) {
29968
+ if (tokens <= TIER_BOUNDARIES[0]) return 0;
29969
+ if (tokens <= TIER_BOUNDARIES[1]) return 1;
29970
+ return 2;
29971
+ }
29972
+ function recordCacheUsage(cacheWrite, cacheRead, inputTokens, sessionID) {
29971
29973
  if (!sessionID) return;
29972
29974
  const state = getSessionState(sessionID);
29973
- if (lastLayer === 4) {
29974
- state.consecutiveLayer4++;
29975
- if (state.consecutiveLayer4 >= 5 && state.dynamicContextCap > 0 && maxContextTokensCeiling > 0) {
29976
- state.dynamicContextCap = Math.min(
29977
- maxContextTokensCeiling,
29978
- Math.floor(state.dynamicContextCap * 1.1)
29979
- );
29975
+ const total = inputTokens > 0 ? inputTokens : cacheWrite + cacheRead;
29976
+ if (total > 0) {
29977
+ if (cacheWrite / total > 0.5) {
29978
+ state.consecutiveBusts++;
29979
+ } else {
29980
+ state.consecutiveBusts = 0;
29980
29981
  }
29981
- return;
29982
- }
29983
- if (lastLayer !== void 0) {
29984
- state.consecutiveLayer4 = 0;
29985
29982
  }
29986
- const total = cacheWrite + cacheRead;
29987
- if (total === 0) return;
29988
- const bustRatio = cacheWrite / total;
29989
- state.bustRateEMA = state.bustRateEMA < 0 ? bustRatio : state.bustRateEMA * 0.7 + bustRatio * 0.3;
29990
- const now = Date.now();
29991
- if (bustRatio > 0.5) {
29992
- if (state.lastBustAt > 0) {
29993
- const interval = now - state.lastBustAt;
29994
- state.interBustIntervalEMA = state.interBustIntervalEMA < 0 ? interval : state.interBustIntervalEMA * 0.7 + interval * 0.3;
29995
- }
29996
- state.lastBustAt = now;
29997
- }
29998
- adaptContextCap(state);
29999
- }
30000
- function adaptContextCap(state) {
30001
- if (maxContextTokensCeiling <= 0) return;
30002
- const cap = state.dynamicContextCap > 0 ? state.dynamicContextCap : maxContextTokensCeiling;
30003
- let newCap = cap;
30004
- if (state.bustRateEMA > 0.8) {
30005
- newCap = Math.floor(cap * 0.9);
30006
- } else if (state.bustRateEMA < 0.3) {
30007
- newCap = Math.floor(cap * 1.05);
30008
- }
30009
- if (state.interBustIntervalEMA > 0) {
30010
- if (state.interBustIntervalEMA < 2 * 6e4) {
30011
- newCap = Math.floor(newCap * 0.95);
30012
- } else if (state.interBustIntervalEMA > 10 * 6e4) {
30013
- newCap = Math.floor(newCap * 1.03);
30014
- }
30015
- }
30016
- state.dynamicContextCap = Math.max(
30017
- MIN_CONTEXT_FLOOR,
30018
- Math.min(maxContextTokensCeiling, newCap)
30019
- );
30020
29983
  }
30021
29984
  var FIRST_TURN_OVERHEAD = 15e3;
30022
29985
  var calibratedOverhead = null;
@@ -30037,11 +30000,7 @@ function makeSessionState() {
30037
30000
  cameOutOfIdle: false,
30038
30001
  postIdleCompact: false,
30039
30002
  consecutiveHighLayer: 0,
30040
- consecutiveLayer4: 0,
30041
- bustRateEMA: -1,
30042
- interBustIntervalEMA: -1,
30043
- lastBustAt: 0,
30044
- dynamicContextCap: 0,
30003
+ consecutiveBusts: 0,
30045
30004
  distillationSnapshot: null
30046
30005
  };
30047
30006
  }
@@ -30053,13 +30012,10 @@ function getSessionState(sessionID) {
30053
30012
  state.forceMinLayer = loadForceMinLayer(sessionID);
30054
30013
  const persisted = loadSessionTracking(sessionID);
30055
30014
  if (persisted && persisted.lastTurnAt > 0) {
30056
- state.dynamicContextCap = persisted.dynamicContextCap;
30057
- state.bustRateEMA = persisted.bustRateEMA;
30058
- state.interBustIntervalEMA = persisted.interBustIntervalEMA;
30059
30015
  state.lastLayer = persisted.lastLayer;
30060
30016
  state.lastKnownInput = persisted.lastKnownInput;
30061
30017
  state.lastTurnAt = persisted.lastTurnAt;
30062
- state.lastBustAt = persisted.lastBustAt;
30018
+ state.consecutiveBusts = persisted.dynamicContextCap;
30063
30019
  }
30064
30020
  sessionStates.set(sessionID, state);
30065
30021
  }
@@ -30095,9 +30051,9 @@ function setModelLimits(limits) {
30095
30051
  function setMaxLayer0Tokens(tokens) {
30096
30052
  maxLayer0Tokens = Math.max(0, Math.floor(tokens));
30097
30053
  }
30098
- function computeLayer0Cap(targetCostPerTurn, cacheReadCostPerToken) {
30099
- if (targetCostPerTurn <= 0 || cacheReadCostPerToken <= 0) return 0;
30100
- const rawCap = Math.floor(targetCostPerTurn / cacheReadCostPerToken);
30054
+ function computeLayer0Cap(targetCostPerTurn, cacheReadCostPerToken2) {
30055
+ if (targetCostPerTurn <= 0 || cacheReadCostPerToken2 <= 0) return 0;
30056
+ const rawCap = Math.floor(targetCostPerTurn / cacheReadCostPerToken2);
30101
30057
  return Math.max(rawCap, MIN_LAYER0_FLOOR);
30102
30058
  }
30103
30059
  function setLtmTokens(tokens, sessionID) {
@@ -30166,11 +30122,16 @@ function inspectSessionState(sessionID) {
30166
30122
  postIdleCompact: state.postIdleCompact,
30167
30123
  lastTurnAt: state.lastTurnAt,
30168
30124
  distillationSnapshot: state.distillationSnapshot,
30169
- bustRateEMA: state.bustRateEMA,
30170
- dynamicContextCap: state.dynamicContextCap,
30171
- consecutiveLayer4: state.consecutiveLayer4
30125
+ consecutiveBusts: state.consecutiveBusts
30172
30126
  };
30173
30127
  }
30128
+ function getConsecutiveBusts(sessionID) {
30129
+ return sessionStates.get(sessionID)?.consecutiveBusts ?? 0;
30130
+ }
30131
+ var BUST_PRESSURE_THRESHOLD = 3;
30132
+ function effectiveMetaThreshold(busts, configThreshold) {
30133
+ return busts >= BUST_PRESSURE_THRESHOLD ? Math.max(3, Math.floor(configThreshold / 4)) : configThreshold;
30134
+ }
30174
30135
  function setLastTurnAtForTest(sessionID, ms) {
30175
30136
  getSessionState(sessionID).lastTurnAt = ms;
30176
30137
  }
@@ -30178,13 +30139,12 @@ function saveGradientState(sessionID) {
30178
30139
  const state = sessionStates.get(sessionID);
30179
30140
  if (!state) return;
30180
30141
  saveSessionTracking(sessionID, {
30181
- dynamicContextCap: state.dynamicContextCap,
30182
- bustRateEMA: state.bustRateEMA,
30183
- interBustIntervalEMA: state.interBustIntervalEMA,
30184
30142
  lastLayer: state.lastLayer,
30185
30143
  lastKnownInput: state.lastKnownInput,
30186
30144
  lastTurnAt: state.lastTurnAt,
30187
- lastBustAt: state.lastBustAt
30145
+ // Repurpose the dead dynamicContextCap column (v24, always 0 now)
30146
+ // to persist consecutiveBusts — avoids a new DB migration.
30147
+ dynamicContextCap: state.consecutiveBusts
30188
30148
  });
30189
30149
  }
30190
30150
  function loadDistillations(projectPath2, sessionID) {
@@ -30629,8 +30589,7 @@ function transformInner(input) {
30629
30589
  0,
30630
30590
  contextLimit - outputReserved - overhead - sessLtmTokens
30631
30591
  );
30632
- const effectiveCap = sid && sessState.dynamicContextCap > 0 ? sessState.dynamicContextCap : maxContextTokensCeiling;
30633
- const usable = effectiveCap > 0 && usableRaw > effectiveCap ? effectiveCap : usableRaw;
30592
+ const usable = usableRaw;
30634
30593
  const distilledBudget = Math.floor(usable * cfg.budget.distilled);
30635
30594
  let rawBudget = Math.floor(usable * cfg.budget.raw);
30636
30595
  let effectiveMinLayer = sessState.forceMinLayer;
@@ -30651,8 +30610,7 @@ function transformInner(input) {
30651
30610
  if (postIdleCompact) {
30652
30611
  sessState.postIdleCompact = false;
30653
30612
  effectiveMinLayer = Math.max(effectiveMinLayer, 1);
30654
- const postIdleRawFraction = effectiveCap > 0 ? 0.3 : 0.2;
30655
- rawBudget = Math.floor(usable * postIdleRawFraction);
30613
+ rawBudget = Math.floor(usable * 0.2);
30656
30614
  info(
30657
30615
  `post-idle compact: session=${sid} rawBudget=${rawBudget} (${Math.floor(usable * cfg.budget.raw)}\u2192${rawBudget})`
30658
30616
  );
@@ -30683,9 +30641,32 @@ function transformInner(input) {
30683
30641
  usable,
30684
30642
  distilledBudget,
30685
30643
  rawBudget,
30686
- refreshLtm: false
30644
+ refreshLtm: false,
30645
+ unsustainable: sid ? getSessionState(sid).consecutiveBusts >= 5 : false
30687
30646
  };
30688
30647
  }
30648
+ if (effectiveMinLayer === 0 && layer0Input > layer0Ceiling && layer0Input <= maxInput && sid) {
30649
+ const busts = getSessionState(sid).consecutiveBusts;
30650
+ const compressedEstimate = distilledBudget + rawBudget;
30651
+ if (!shouldCompress(Math.round(layer0Input), compressedEstimate, busts)) {
30652
+ const messageTokens = calibrated ? expectedInput - (sessLtmTokens - sessState.lastKnownLtm) : expectedInput - overhead - sessLtmTokens;
30653
+ info(
30654
+ `tier gate: session=${sid} skipping compression \u2014 bustCost not justified (input=${Math.round(layer0Input)} compressed=${compressedEstimate} busts=${busts})`
30655
+ );
30656
+ return {
30657
+ messages: input.messages,
30658
+ layer: 0,
30659
+ distilledTokens: 0,
30660
+ rawTokens: Math.max(0, messageTokens),
30661
+ totalTokens: Math.max(0, messageTokens),
30662
+ usable,
30663
+ distilledBudget,
30664
+ rawBudget,
30665
+ refreshLtm: false,
30666
+ unsustainable: busts >= 5
30667
+ };
30668
+ }
30669
+ }
30689
30670
  const turnStart = currentTurnStart(input.messages);
30690
30671
  const dedupMessages = deduplicateToolOutputs(input.messages, turnStart);
30691
30672
  const distillations = sid ? loadDistillationsCached(input.projectPath, sid, input.messages, sessState) : [];
@@ -30733,7 +30714,15 @@ function transformInner(input) {
30733
30714
  if (sid && (s > 0 || cached2.tokens === 0)) {
30734
30715
  urgentDistillationMap.set(sid, true);
30735
30716
  }
30736
- return { ...result, layer: stageLayer, usable, distilledBudget, rawBudget, refreshLtm: false };
30717
+ return {
30718
+ ...result,
30719
+ layer: stageLayer,
30720
+ usable,
30721
+ distilledBudget,
30722
+ rawBudget,
30723
+ refreshLtm: false,
30724
+ unsustainable: sid ? getSessionState(sid).consecutiveBusts >= 5 : false
30725
+ };
30737
30726
  }
30738
30727
  }
30739
30728
  sessState.rawWindowCache = null;
@@ -30769,6 +30758,7 @@ function transformInner(input) {
30769
30758
  }
30770
30759
  const nuclearRaw = [...olderMessages, ...currentTurn];
30771
30760
  const nuclearRawTokens = olderTokens + currentTurnTokens;
30761
+ const unsustainable = sid ? getSessionState(sid).consecutiveBusts >= 5 : false;
30772
30762
  return {
30773
30763
  messages: [...nuclearPrefix, ...nuclearRaw],
30774
30764
  layer: 4,
@@ -30778,7 +30768,8 @@ function transformInner(input) {
30778
30768
  usable,
30779
30769
  distilledBudget,
30780
30770
  rawBudget,
30781
- refreshLtm: true
30771
+ refreshLtm: true,
30772
+ unsustainable
30782
30773
  };
30783
30774
  }
30784
30775
  function transform2(input) {
@@ -30803,7 +30794,7 @@ function transform2(input) {
30803
30794
  state.consecutiveHighLayer = 0;
30804
30795
  }
30805
30796
  info(
30806
- `gradient: session=${sid} layer=${result.layer} tokens=${result.totalTokens} (distilled=${result.distilledTokens} raw=${result.rawTokens}) usable=${result.usable} cap=${maxLayer0Tokens || "off"}`
30797
+ `gradient: session=${sid} layer=${result.layer} tokens=${result.totalTokens} (distilled=${result.distilledTokens} raw=${result.rawTokens}) usable=${result.usable} tier=${getTier(result.totalTokens)} l0cap=${maxLayer0Tokens || "off"}`
30807
30798
  );
30808
30799
  }
30809
30800
  return result;
@@ -31353,7 +31344,11 @@ async function runInner(input) {
31353
31344
  }
31354
31345
  }
31355
31346
  }
31356
- if (!input.skipMeta && gen0Count(input.projectPath, input.sessionID) >= cfg.distillation.metaThreshold) {
31347
+ const effectiveMetaThreshold2 = Math.max(
31348
+ 2,
31349
+ input.metaThresholdOverride ?? cfg.distillation.metaThreshold
31350
+ );
31351
+ if (!input.skipMeta && gen0Count(input.projectPath, input.sessionID) >= effectiveMetaThreshold2) {
31357
31352
  await metaDistillInner({
31358
31353
  llm: input.llm,
31359
31354
  projectPath: input.projectPath,
@@ -33916,6 +33911,7 @@ function resolveWorkerModel(_providerID, configWorkerModel, configModel, costAwa
33916
33911
  return configModel;
33917
33912
  }
33918
33913
  export {
33914
+ BUST_PRESSURE_THRESHOLD,
33919
33915
  COMPACT_SUMMARY_TEMPLATE,
33920
33916
  CONSOLIDATION_SYSTEM,
33921
33917
  CURATOR_SYSTEM,
@@ -33931,7 +33927,6 @@ export {
33931
33927
  clearGitRemoteCache,
33932
33928
  clearLoreFileCache,
33933
33929
  close,
33934
- computeContextCap,
33935
33930
  computeLayer0Cap,
33936
33931
  config2 as config,
33937
33932
  consolidationUser,
@@ -33945,6 +33940,7 @@ export {
33945
33940
  dbPath,
33946
33941
  distillation_exports as distillation,
33947
33942
  distillationUser,
33943
+ effectiveMetaThreshold,
33948
33944
  embedding_exports as embedding,
33949
33945
  embedding_vendor_exports as embeddingVendor,
33950
33946
  enableHostedMode,
@@ -33959,6 +33955,8 @@ export {
33959
33955
  ftsQuery,
33960
33956
  ftsQueryOr,
33961
33957
  ftsQueryRelaxed,
33958
+ getCachePricing,
33959
+ getConsecutiveBusts,
33962
33960
  getGitRemote,
33963
33961
  getInstanceId,
33964
33962
  getKV,
@@ -33969,8 +33967,8 @@ export {
33969
33967
  getLastTurnAt,
33970
33968
  getLtmBudget,
33971
33969
  getLtmTokens,
33972
- getMaxContextTokens,
33973
33970
  getMeta,
33971
+ getTier,
33974
33972
  h,
33975
33973
  importFromFile,
33976
33974
  importLoreFile,
@@ -34007,6 +34005,7 @@ export {
34007
34005
  projectPath,
34008
34006
  recallById,
34009
34007
  reciprocalRankFusion,
34008
+ recordCacheUsage,
34010
34009
  recursiveUser,
34011
34010
  renderMarkdown,
34012
34011
  resolveProjectByRemoteOrPath,
@@ -34019,15 +34018,16 @@ export {
34019
34018
  saveSessionTracking,
34020
34019
  searchRecall,
34021
34020
  serialize,
34021
+ setCachePricing,
34022
34022
  setForceMinLayer,
34023
34023
  setKV,
34024
34024
  setLastImportAt,
34025
34025
  setLastTurnAtForTest,
34026
34026
  setLtmTokens,
34027
- setMaxContextTokens,
34028
34027
  setMaxLayer0Tokens,
34029
34028
  setMeta,
34030
34029
  setModelLimits,
34030
+ shouldCompress,
34031
34031
  shouldImport,
34032
34032
  shouldImportLoreFile,
34033
34033
  strong2 as strong,
@@ -34037,7 +34037,6 @@ export {
34037
34037
  transform2 as transform,
34038
34038
  ul,
34039
34039
  unescapeMarkdown,
34040
- updateBustRate,
34041
34040
  worker_model_exports as workerModel,
34042
34041
  workerSessionIDs
34043
34042
  };