@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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"}
package/dist/bun/index.js CHANGED
@@ -26612,19 +26612,11 @@ var LoreConfig = external_exports.object({
26612
26612
  * cost-aware formula from targetCacheReadCostPerTurn. 0 = disabled
26613
26613
  * (no cap, use full context). Default: undefined (use cost-aware auto). */
26614
26614
  maxLayer0Tokens: external_exports.number().min(0).optional(),
26615
- /** Target maximum cost (USD) for a single full cache bust (cold write of
26616
- * the entire context). Controls the total-context token cap at layer 1+:
26617
- * maxContextTokens = targetBustCost / cacheWriteCostPerToken.
26618
- * For opus-4-6 ($6.25/M write): $1.00 → 160K cap.
26619
- * For sonnet-4 ($3.75/M write): $1.00 → 267K (effectively uncapped at 200K).
26620
- * The cap is further adjusted dynamically per session based on observed
26621
- * bust rate (EMA) and break frequency. Default: 1.00. Set to 0 to disable. */
26622
- targetBustCost: external_exports.number().min(0).default(1),
26623
- /** Direct override for the total-context token cap at layer 1+. When set,
26624
- * bypasses the cost-aware formula from targetBustCost. 0 = disabled.
26625
- * Default: undefined (use cost-aware auto). */
26615
+ /** @deprecated Ignored. Tier-based bust-vs-continue replaces static cap. */
26616
+ targetBustCost: external_exports.number().min(0).default(1).optional(),
26617
+ /** @deprecated Ignored. Tier-based bust-vs-continue replaces static cap. */
26626
26618
  maxContextTokens: external_exports.number().min(0).optional()
26627
- }).default({ distilled: 0.25, raw: 0.4, output: 0.25, ltm: 0.05, targetCacheReadCostPerTurn: 0.1, targetBustCost: 1 }),
26619
+ }).default({ distilled: 0.25, raw: 0.4, output: 0.25, ltm: 0.05, targetCacheReadCostPerTurn: 0.1 }),
26628
26620
  /**
26629
26621
  * Cold-cache idle-resume handling.
26630
26622
  *
@@ -29936,70 +29928,41 @@ function estimateMessage(msg) {
29936
29928
  }
29937
29929
  var contextLimit = 2e5;
29938
29930
  var outputReserved = 32e3;
29939
- var maxLayer0Tokens = 0;
29940
- var MIN_LAYER0_FLOOR = 4e4;
29941
- var maxContextTokensCeiling = 0;
29942
- var MIN_CONTEXT_FLOOR = 13e4;
29943
- function computeContextCap(targetBustCost, cacheWriteCostPerToken) {
29944
- if (targetBustCost <= 0 || cacheWriteCostPerToken <= 0) return 0;
29945
- return Math.max(MIN_CONTEXT_FLOOR, Math.floor(targetBustCost / cacheWriteCostPerToken));
29946
- }
29947
- function setMaxContextTokens(tokens) {
29948
- maxContextTokensCeiling = Math.max(0, Math.floor(tokens));
29931
+ var TIER_BOUNDARIES = [2e5, 5e5];
29932
+ var cacheWriteCostPerToken = 0;
29933
+ var cacheReadCostPerToken = 0;
29934
+ function setCachePricing(writeCost, readCost) {
29935
+ cacheWriteCostPerToken = Math.max(0, writeCost);
29936
+ cacheReadCostPerToken = Math.max(0, readCost);
29949
29937
  }
29950
- function getMaxContextTokens() {
29951
- return maxContextTokensCeiling;
29938
+ function getCachePricing() {
29939
+ return { write: cacheWriteCostPerToken, read: cacheReadCostPerToken };
29952
29940
  }
29953
- function updateBustRate(cacheWrite, cacheRead, sessionID, lastLayer) {
29941
+ var maxLayer0Tokens = 0;
29942
+ var MIN_LAYER0_FLOOR = 4e4;
29943
+ function shouldCompress(currentTokens, compressedTokens, consecutiveBusts, threshold = 0.85) {
29944
+ if (consecutiveBusts >= 5) return false;
29945
+ if (cacheWriteCostPerToken <= 0 || cacheReadCostPerToken <= 0) return false;
29946
+ const bustCost = compressedTokens * cacheWriteCostPerToken;
29947
+ const continueCost = currentTokens * cacheReadCostPerToken;
29948
+ return bustCost < threshold * continueCost;
29949
+ }
29950
+ function getTier(tokens) {
29951
+ if (tokens <= TIER_BOUNDARIES[0]) return 0;
29952
+ if (tokens <= TIER_BOUNDARIES[1]) return 1;
29953
+ return 2;
29954
+ }
29955
+ function recordCacheUsage(cacheWrite, cacheRead, inputTokens, sessionID) {
29954
29956
  if (!sessionID) return;
29955
29957
  const state = getSessionState(sessionID);
29956
- if (lastLayer === 4) {
29957
- state.consecutiveLayer4++;
29958
- if (state.consecutiveLayer4 >= 5 && state.dynamicContextCap > 0 && maxContextTokensCeiling > 0) {
29959
- state.dynamicContextCap = Math.min(
29960
- maxContextTokensCeiling,
29961
- Math.floor(state.dynamicContextCap * 1.1)
29962
- );
29958
+ const total = inputTokens > 0 ? inputTokens : cacheWrite + cacheRead;
29959
+ if (total > 0) {
29960
+ if (cacheWrite / total > 0.5) {
29961
+ state.consecutiveBusts++;
29962
+ } else {
29963
+ state.consecutiveBusts = 0;
29963
29964
  }
29964
- return;
29965
- }
29966
- if (lastLayer !== void 0) {
29967
- state.consecutiveLayer4 = 0;
29968
29965
  }
29969
- const total = cacheWrite + cacheRead;
29970
- if (total === 0) return;
29971
- const bustRatio = cacheWrite / total;
29972
- state.bustRateEMA = state.bustRateEMA < 0 ? bustRatio : state.bustRateEMA * 0.7 + bustRatio * 0.3;
29973
- const now = Date.now();
29974
- if (bustRatio > 0.5) {
29975
- if (state.lastBustAt > 0) {
29976
- const interval = now - state.lastBustAt;
29977
- state.interBustIntervalEMA = state.interBustIntervalEMA < 0 ? interval : state.interBustIntervalEMA * 0.7 + interval * 0.3;
29978
- }
29979
- state.lastBustAt = now;
29980
- }
29981
- adaptContextCap(state);
29982
- }
29983
- function adaptContextCap(state) {
29984
- if (maxContextTokensCeiling <= 0) return;
29985
- const cap = state.dynamicContextCap > 0 ? state.dynamicContextCap : maxContextTokensCeiling;
29986
- let newCap = cap;
29987
- if (state.bustRateEMA > 0.8) {
29988
- newCap = Math.floor(cap * 0.9);
29989
- } else if (state.bustRateEMA < 0.3) {
29990
- newCap = Math.floor(cap * 1.05);
29991
- }
29992
- if (state.interBustIntervalEMA > 0) {
29993
- if (state.interBustIntervalEMA < 2 * 6e4) {
29994
- newCap = Math.floor(newCap * 0.95);
29995
- } else if (state.interBustIntervalEMA > 10 * 6e4) {
29996
- newCap = Math.floor(newCap * 1.03);
29997
- }
29998
- }
29999
- state.dynamicContextCap = Math.max(
30000
- MIN_CONTEXT_FLOOR,
30001
- Math.min(maxContextTokensCeiling, newCap)
30002
- );
30003
29966
  }
30004
29967
  var FIRST_TURN_OVERHEAD = 15e3;
30005
29968
  var calibratedOverhead = null;
@@ -30020,11 +29983,7 @@ function makeSessionState() {
30020
29983
  cameOutOfIdle: false,
30021
29984
  postIdleCompact: false,
30022
29985
  consecutiveHighLayer: 0,
30023
- consecutiveLayer4: 0,
30024
- bustRateEMA: -1,
30025
- interBustIntervalEMA: -1,
30026
- lastBustAt: 0,
30027
- dynamicContextCap: 0,
29986
+ consecutiveBusts: 0,
30028
29987
  distillationSnapshot: null
30029
29988
  };
30030
29989
  }
@@ -30036,13 +29995,10 @@ function getSessionState(sessionID) {
30036
29995
  state.forceMinLayer = loadForceMinLayer(sessionID);
30037
29996
  const persisted = loadSessionTracking(sessionID);
30038
29997
  if (persisted && persisted.lastTurnAt > 0) {
30039
- state.dynamicContextCap = persisted.dynamicContextCap;
30040
- state.bustRateEMA = persisted.bustRateEMA;
30041
- state.interBustIntervalEMA = persisted.interBustIntervalEMA;
30042
29998
  state.lastLayer = persisted.lastLayer;
30043
29999
  state.lastKnownInput = persisted.lastKnownInput;
30044
30000
  state.lastTurnAt = persisted.lastTurnAt;
30045
- state.lastBustAt = persisted.lastBustAt;
30001
+ state.consecutiveBusts = persisted.dynamicContextCap;
30046
30002
  }
30047
30003
  sessionStates.set(sessionID, state);
30048
30004
  }
@@ -30078,9 +30034,9 @@ function setModelLimits(limits) {
30078
30034
  function setMaxLayer0Tokens(tokens) {
30079
30035
  maxLayer0Tokens = Math.max(0, Math.floor(tokens));
30080
30036
  }
30081
- function computeLayer0Cap(targetCostPerTurn, cacheReadCostPerToken) {
30082
- if (targetCostPerTurn <= 0 || cacheReadCostPerToken <= 0) return 0;
30083
- const rawCap = Math.floor(targetCostPerTurn / cacheReadCostPerToken);
30037
+ function computeLayer0Cap(targetCostPerTurn, cacheReadCostPerToken2) {
30038
+ if (targetCostPerTurn <= 0 || cacheReadCostPerToken2 <= 0) return 0;
30039
+ const rawCap = Math.floor(targetCostPerTurn / cacheReadCostPerToken2);
30084
30040
  return Math.max(rawCap, MIN_LAYER0_FLOOR);
30085
30041
  }
30086
30042
  function setLtmTokens(tokens, sessionID) {
@@ -30149,11 +30105,16 @@ function inspectSessionState(sessionID) {
30149
30105
  postIdleCompact: state.postIdleCompact,
30150
30106
  lastTurnAt: state.lastTurnAt,
30151
30107
  distillationSnapshot: state.distillationSnapshot,
30152
- bustRateEMA: state.bustRateEMA,
30153
- dynamicContextCap: state.dynamicContextCap,
30154
- consecutiveLayer4: state.consecutiveLayer4
30108
+ consecutiveBusts: state.consecutiveBusts
30155
30109
  };
30156
30110
  }
30111
+ function getConsecutiveBusts(sessionID) {
30112
+ return sessionStates.get(sessionID)?.consecutiveBusts ?? 0;
30113
+ }
30114
+ var BUST_PRESSURE_THRESHOLD = 3;
30115
+ function effectiveMetaThreshold(busts, configThreshold) {
30116
+ return busts >= BUST_PRESSURE_THRESHOLD ? Math.max(3, Math.floor(configThreshold / 4)) : configThreshold;
30117
+ }
30157
30118
  function setLastTurnAtForTest(sessionID, ms) {
30158
30119
  getSessionState(sessionID).lastTurnAt = ms;
30159
30120
  }
@@ -30161,13 +30122,12 @@ function saveGradientState(sessionID) {
30161
30122
  const state = sessionStates.get(sessionID);
30162
30123
  if (!state) return;
30163
30124
  saveSessionTracking(sessionID, {
30164
- dynamicContextCap: state.dynamicContextCap,
30165
- bustRateEMA: state.bustRateEMA,
30166
- interBustIntervalEMA: state.interBustIntervalEMA,
30167
30125
  lastLayer: state.lastLayer,
30168
30126
  lastKnownInput: state.lastKnownInput,
30169
30127
  lastTurnAt: state.lastTurnAt,
30170
- lastBustAt: state.lastBustAt
30128
+ // Repurpose the dead dynamicContextCap column (v24, always 0 now)
30129
+ // to persist consecutiveBusts — avoids a new DB migration.
30130
+ dynamicContextCap: state.consecutiveBusts
30171
30131
  });
30172
30132
  }
30173
30133
  function loadDistillations(projectPath2, sessionID) {
@@ -30612,8 +30572,7 @@ function transformInner(input) {
30612
30572
  0,
30613
30573
  contextLimit - outputReserved - overhead - sessLtmTokens
30614
30574
  );
30615
- const effectiveCap = sid && sessState.dynamicContextCap > 0 ? sessState.dynamicContextCap : maxContextTokensCeiling;
30616
- const usable = effectiveCap > 0 && usableRaw > effectiveCap ? effectiveCap : usableRaw;
30575
+ const usable = usableRaw;
30617
30576
  const distilledBudget = Math.floor(usable * cfg.budget.distilled);
30618
30577
  let rawBudget = Math.floor(usable * cfg.budget.raw);
30619
30578
  let effectiveMinLayer = sessState.forceMinLayer;
@@ -30634,8 +30593,7 @@ function transformInner(input) {
30634
30593
  if (postIdleCompact) {
30635
30594
  sessState.postIdleCompact = false;
30636
30595
  effectiveMinLayer = Math.max(effectiveMinLayer, 1);
30637
- const postIdleRawFraction = effectiveCap > 0 ? 0.3 : 0.2;
30638
- rawBudget = Math.floor(usable * postIdleRawFraction);
30596
+ rawBudget = Math.floor(usable * 0.2);
30639
30597
  info(
30640
30598
  `post-idle compact: session=${sid} rawBudget=${rawBudget} (${Math.floor(usable * cfg.budget.raw)}\u2192${rawBudget})`
30641
30599
  );
@@ -30666,9 +30624,32 @@ function transformInner(input) {
30666
30624
  usable,
30667
30625
  distilledBudget,
30668
30626
  rawBudget,
30669
- refreshLtm: false
30627
+ refreshLtm: false,
30628
+ unsustainable: sid ? getSessionState(sid).consecutiveBusts >= 5 : false
30670
30629
  };
30671
30630
  }
30631
+ if (effectiveMinLayer === 0 && layer0Input > layer0Ceiling && layer0Input <= maxInput && sid) {
30632
+ const busts = getSessionState(sid).consecutiveBusts;
30633
+ const compressedEstimate = distilledBudget + rawBudget;
30634
+ if (!shouldCompress(Math.round(layer0Input), compressedEstimate, busts)) {
30635
+ const messageTokens = calibrated ? expectedInput - (sessLtmTokens - sessState.lastKnownLtm) : expectedInput - overhead - sessLtmTokens;
30636
+ info(
30637
+ `tier gate: session=${sid} skipping compression \u2014 bustCost not justified (input=${Math.round(layer0Input)} compressed=${compressedEstimate} busts=${busts})`
30638
+ );
30639
+ return {
30640
+ messages: input.messages,
30641
+ layer: 0,
30642
+ distilledTokens: 0,
30643
+ rawTokens: Math.max(0, messageTokens),
30644
+ totalTokens: Math.max(0, messageTokens),
30645
+ usable,
30646
+ distilledBudget,
30647
+ rawBudget,
30648
+ refreshLtm: false,
30649
+ unsustainable: busts >= 5
30650
+ };
30651
+ }
30652
+ }
30672
30653
  const turnStart = currentTurnStart(input.messages);
30673
30654
  const dedupMessages = deduplicateToolOutputs(input.messages, turnStart);
30674
30655
  const distillations = sid ? loadDistillationsCached(input.projectPath, sid, input.messages, sessState) : [];
@@ -30716,7 +30697,15 @@ function transformInner(input) {
30716
30697
  if (sid && (s > 0 || cached2.tokens === 0)) {
30717
30698
  urgentDistillationMap.set(sid, true);
30718
30699
  }
30719
- return { ...result, layer: stageLayer, usable, distilledBudget, rawBudget, refreshLtm: false };
30700
+ return {
30701
+ ...result,
30702
+ layer: stageLayer,
30703
+ usable,
30704
+ distilledBudget,
30705
+ rawBudget,
30706
+ refreshLtm: false,
30707
+ unsustainable: sid ? getSessionState(sid).consecutiveBusts >= 5 : false
30708
+ };
30720
30709
  }
30721
30710
  }
30722
30711
  sessState.rawWindowCache = null;
@@ -30752,6 +30741,7 @@ function transformInner(input) {
30752
30741
  }
30753
30742
  const nuclearRaw = [...olderMessages, ...currentTurn];
30754
30743
  const nuclearRawTokens = olderTokens + currentTurnTokens;
30744
+ const unsustainable = sid ? getSessionState(sid).consecutiveBusts >= 5 : false;
30755
30745
  return {
30756
30746
  messages: [...nuclearPrefix, ...nuclearRaw],
30757
30747
  layer: 4,
@@ -30761,7 +30751,8 @@ function transformInner(input) {
30761
30751
  usable,
30762
30752
  distilledBudget,
30763
30753
  rawBudget,
30764
- refreshLtm: true
30754
+ refreshLtm: true,
30755
+ unsustainable
30765
30756
  };
30766
30757
  }
30767
30758
  function transform2(input) {
@@ -30786,7 +30777,7 @@ function transform2(input) {
30786
30777
  state.consecutiveHighLayer = 0;
30787
30778
  }
30788
30779
  info(
30789
- `gradient: session=${sid} layer=${result.layer} tokens=${result.totalTokens} (distilled=${result.distilledTokens} raw=${result.rawTokens}) usable=${result.usable} cap=${maxLayer0Tokens || "off"}`
30780
+ `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"}`
30790
30781
  );
30791
30782
  }
30792
30783
  return result;
@@ -31336,7 +31327,11 @@ async function runInner(input) {
31336
31327
  }
31337
31328
  }
31338
31329
  }
31339
- if (!input.skipMeta && gen0Count(input.projectPath, input.sessionID) >= cfg.distillation.metaThreshold) {
31330
+ const effectiveMetaThreshold2 = Math.max(
31331
+ 2,
31332
+ input.metaThresholdOverride ?? cfg.distillation.metaThreshold
31333
+ );
31334
+ if (!input.skipMeta && gen0Count(input.projectPath, input.sessionID) >= effectiveMetaThreshold2) {
31340
31335
  await metaDistillInner({
31341
31336
  llm: input.llm,
31342
31337
  projectPath: input.projectPath,
@@ -33899,6 +33894,7 @@ function resolveWorkerModel(_providerID, configWorkerModel, configModel, costAwa
33899
33894
  return configModel;
33900
33895
  }
33901
33896
  export {
33897
+ BUST_PRESSURE_THRESHOLD,
33902
33898
  COMPACT_SUMMARY_TEMPLATE,
33903
33899
  CONSOLIDATION_SYSTEM,
33904
33900
  CURATOR_SYSTEM,
@@ -33914,7 +33910,6 @@ export {
33914
33910
  clearGitRemoteCache,
33915
33911
  clearLoreFileCache,
33916
33912
  close,
33917
- computeContextCap,
33918
33913
  computeLayer0Cap,
33919
33914
  config2 as config,
33920
33915
  consolidationUser,
@@ -33928,6 +33923,7 @@ export {
33928
33923
  dbPath,
33929
33924
  distillation_exports as distillation,
33930
33925
  distillationUser,
33926
+ effectiveMetaThreshold,
33931
33927
  embedding_exports as embedding,
33932
33928
  embedding_vendor_exports as embeddingVendor,
33933
33929
  enableHostedMode,
@@ -33942,6 +33938,8 @@ export {
33942
33938
  ftsQuery,
33943
33939
  ftsQueryOr,
33944
33940
  ftsQueryRelaxed,
33941
+ getCachePricing,
33942
+ getConsecutiveBusts,
33945
33943
  getGitRemote,
33946
33944
  getInstanceId,
33947
33945
  getKV,
@@ -33952,8 +33950,8 @@ export {
33952
33950
  getLastTurnAt,
33953
33951
  getLtmBudget,
33954
33952
  getLtmTokens,
33955
- getMaxContextTokens,
33956
33953
  getMeta,
33954
+ getTier,
33957
33955
  h,
33958
33956
  importFromFile,
33959
33957
  importLoreFile,
@@ -33990,6 +33988,7 @@ export {
33990
33988
  projectPath,
33991
33989
  recallById,
33992
33990
  reciprocalRankFusion,
33991
+ recordCacheUsage,
33993
33992
  recursiveUser,
33994
33993
  renderMarkdown,
33995
33994
  resolveProjectByRemoteOrPath,
@@ -34002,15 +34001,16 @@ export {
34002
34001
  saveSessionTracking,
34003
34002
  searchRecall,
34004
34003
  serialize,
34004
+ setCachePricing,
34005
34005
  setForceMinLayer,
34006
34006
  setKV,
34007
34007
  setLastImportAt,
34008
34008
  setLastTurnAtForTest,
34009
34009
  setLtmTokens,
34010
- setMaxContextTokens,
34011
34010
  setMaxLayer0Tokens,
34012
34011
  setMeta,
34013
34012
  setModelLimits,
34013
+ shouldCompress,
34014
34014
  shouldImport,
34015
34015
  shouldImportLoreFile,
34016
34016
  strong2 as strong,
@@ -34020,7 +34020,6 @@ export {
34020
34020
  transform2 as transform,
34021
34021
  ul,
34022
34022
  unescapeMarkdown,
34023
- updateBustRate,
34024
34023
  worker_model_exports as workerModel,
34025
34024
  workerSessionIDs
34026
34025
  };