@ponythewhite/base-context 1.0.8 → 1.0.9

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/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.0.9] - 2026-09-19
4
+
5
+ - Fixed compaction and context checkpoint adoption rejecting concurrent child usage and session bookkeeping updates as branch changes. Real conversation, source, and branch changes still invalidate stale summaries.
6
+ - Fixed repeated automatic summary attempts on unchanged context after a failed threshold compaction. Manual retries and new input remain available.
7
+
3
8
  ## [1.0.8] - 2026-09-18
4
9
 
5
10
  - Fixed harness-state saves to replace files atomically, preserve failed mutations, and report corrupt state without overwriting it.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "base-context-runtime"
3
- version = "1.0.8"
3
+ version = "1.0.9"
4
4
  description = "Kernel-side runtime shim for Base Context recursion"
5
5
  license = "MIT"
6
6
  license-files = ["LICENSE", "NOTICE"]
@@ -367,7 +367,7 @@ wheels = [
367
367
 
368
368
  [[package]]
369
369
  name = "base-context-runtime"
370
- version = "1.0.8"
370
+ version = "1.0.9"
371
371
  source = { editable = "." }
372
372
  dependencies = [
373
373
  { name = "mcp" },
@@ -1,5 +1,5 @@
1
1
  {
2
- "sourceCommit": "2c482f94fc4abde04b7c3a14feddc37dad9c8679",
2
+ "sourceCommit": "f789ed267456bc355aee0445e27fa0fd5ba45dd1",
3
3
  "sourceDirty": false,
4
4
  "buildHost": {
5
5
  "platform": "linux",
@@ -51,7 +51,7 @@ import {
51
51
  oauth_exports,
52
52
  runPrintMode,
53
53
  runRpcMode
54
- } from "./chunk-RVJVXZCS.js";
54
+ } from "./chunk-VVI3UKGR.js";
55
55
  import {
56
56
  AgentSession,
57
57
  CURRENT_SESSION_VERSION,
@@ -143,7 +143,7 @@ import {
143
143
  withFileMutationQueue,
144
144
  wrapRegisteredTool,
145
145
  wrapRegisteredTools
146
- } from "./chunk-EXEFSSF4.js";
146
+ } from "./chunk-NEHLB7JV.js";
147
147
  import "./chunk-CFNASUYO.js";
148
148
  import "./chunk-QKIFBA7N.js";
149
149
  import {
@@ -32297,6 +32297,7 @@ var PublicContextBudgetError = class extends RequestTokenBudgetError {
32297
32297
  originalAssessment;
32298
32298
  mandatoryAssessment;
32299
32299
  taskFrameRebaseAvailable;
32300
+ isSourceCurrent;
32300
32301
  source;
32301
32302
  #compactionKey;
32302
32303
  #summaryCapacity;
@@ -32306,11 +32307,12 @@ var PublicContextBudgetError = class extends RequestTokenBudgetError {
32306
32307
  getCompactionKey() {
32307
32308
  return this.#compactionKey;
32308
32309
  }
32309
- constructor(source, assessment, originalAssessment, mandatoryAssessment, taskFrameRebaseAvailable = false, compactionKey, summaryCapacity) {
32310
+ constructor(source, assessment, originalAssessment, mandatoryAssessment, taskFrameRebaseAvailable = false, compactionKey, summaryCapacity, isSourceCurrent) {
32310
32311
  super(assessment);
32311
32312
  this.originalAssessment = originalAssessment;
32312
32313
  this.mandatoryAssessment = mandatoryAssessment;
32313
32314
  this.taskFrameRebaseAvailable = taskFrameRebaseAvailable;
32315
+ this.isSourceCurrent = isSourceCurrent;
32314
32316
  this.name = "PublicContextBudgetError";
32315
32317
  if (mandatoryAssessment?.status === "over-budget")
32316
32318
  this.message = "Context capacity exceeded: instructions, tools, mandatory evidence and output allowance cannot fit. Summarizing unrelated history cannot resolve this request.";
@@ -32319,7 +32321,7 @@ var PublicContextBudgetError = class extends RequestTokenBudgetError {
32319
32321
  this.#summaryCapacity = summaryCapacity;
32320
32322
  }
32321
32323
  };
32322
- function captureRequestViewBoundary(messages, commit, validate2, fixedPrepare) {
32324
+ function captureRequestViewBoundary(messages, commit, validate2, fixedPrepare, isSourceCurrent) {
32323
32325
  const source = getCanonicalViewSelectionSource(messages);
32324
32326
  if (!source)
32325
32327
  throw new Error("Request view boundary requires compiled canonical messages");
@@ -32333,7 +32335,8 @@ function captureRequestViewBoundary(messages, commit, validate2, fixedPrepare) {
32333
32335
  } : {},
32334
32336
  commit,
32335
32337
  validate: validate2,
32336
- fixedPrepare
32338
+ fixedPrepare,
32339
+ isSourceCurrent
32337
32340
  };
32338
32341
  }
32339
32342
  function providerMessageIndex(indices, canonicalIndex) {
@@ -32405,7 +32408,7 @@ function publicBudgetFailure(boundary, messages, request, projection, budget, as
32405
32408
  const body = JSON.parse(request.body);
32406
32409
  const input = body[inputKey];
32407
32410
  if (!Array.isArray(input) || input.length !== projection.messageIndices.length)
32408
- return new PublicContextBudgetError(boundary.source, assessment, original);
32411
+ return new PublicContextBudgetError(boundary.source, assessment, original, void 0, false, void 0, void 0, boundary.isSourceCurrent);
32409
32412
  const graph = prepareViewSelection(source.units, boundary.limits);
32410
32413
  const retainedInput = (retained) => {
32411
32414
  const roots = source.units.filter((_2, index) => required.has(index) || retained.has(context.references[index]?.ref.entryId ?? "")).map((unit) => unit.id);
@@ -32434,7 +32437,7 @@ function publicBudgetFailure(boundary, messages, request, projection, budget, as
32434
32437
  kept.splice(position < 0 ? kept.length : position, 0, summary);
32435
32438
  const measured = budget.measure(withRequestBody(request, JSON.stringify({ ...body, [inputKey]: kept })));
32436
32439
  return measured.status === "unknown" || measured.availableInputTokens === null || measured.estimatedInputTokens === null ? void 0 : Math.floor(measured.availableInputTokens - measured.estimatedInputTokens);
32437
- });
32440
+ }, boundary.isSourceCurrent);
32438
32441
  }
32439
32442
  async function prepareFixedRequestView(boundary, request, projection, assessment) {
32440
32443
  projection = canonicalRequestProjection(boundary, projection);
@@ -33168,13 +33171,13 @@ var InferenceCoordinator = class _InferenceCoordinator {
33168
33171
  return captured;
33169
33172
  }
33170
33173
  /** Explicit Root-owned epoch boundary, on this same captured MAIN source only. */
33171
- bindRequestViewBoundary(messages, commit, validate2, fixedPrepare) {
33174
+ bindRequestViewBoundary(messages, commit, validate2, fixedPrepare, isSourceCurrent) {
33172
33175
  this.assertAdmission();
33173
33176
  if (!this.capturedSink)
33174
33177
  throw new Error("Request view boundary requires a captured inference owner");
33175
33178
  if (this.requestViewBoundary)
33176
33179
  throw new Error("Request view boundary is already bound");
33177
- this.requestViewBoundary = captureRequestViewBoundary(messages, commit, validate2, fixedPrepare);
33180
+ this.requestViewBoundary = captureRequestViewBoundary(messages, commit, validate2, fixedPrepare, isSourceCurrent);
33178
33181
  }
33179
33182
  /** Read through an explicit capture, never by recapturing the mutable current session. */
33180
33183
  async readHistory(read2) {
@@ -35812,6 +35815,15 @@ function readSessionCatalogHeader(filePath) {
35812
35815
  // dist/core/session-manager.js
35813
35816
  var CURRENT_SESSION_VERSION = 3;
35814
35817
  var SESSION_ASYNC_PARSE_YIELD_BYTES = 4 * 1024 * 1024;
35818
+ var COMPACTION_BOOKKEEPING_ENTRY_TYPES = /* @__PURE__ */ new Set([
35819
+ "session_state",
35820
+ "agent_status",
35821
+ "git_state",
35822
+ "child_usage_attributed"
35823
+ ]);
35824
+ function isCompactionBookkeeping(entry) {
35825
+ return COMPACTION_BOOKKEEPING_ENTRY_TYPES.has(entry.type) || entry.type === "custom_message" && entry.customType === COMPACTION_OUTCOME_CUSTOM_TYPE;
35826
+ }
35815
35827
  var CONTENT_ENTRY_TYPES = /* @__PURE__ */ new Set([
35816
35828
  "message",
35817
35829
  "custom_message",
@@ -36636,6 +36648,7 @@ function newSessionWriteState() {
36636
36648
  reservedLeaf: null,
36637
36649
  leafId: null,
36638
36650
  branchSelectionRevision: 0,
36651
+ compactionRevision: 0,
36639
36652
  pins: 0,
36640
36653
  retired: false,
36641
36654
  closed: false,
@@ -37369,8 +37382,11 @@ var SessionManager = class _SessionManager {
37369
37382
  }
37370
37383
  Object.assign(state, metadata);
37371
37384
  state.metadataRefs = void 0;
37372
- if (advanceLeaf)
37385
+ if (advanceLeaf) {
37373
37386
  state.leafId = snapshot.id;
37387
+ if (!isCompactionBookkeeping(snapshot))
37388
+ state.compactionRevision++;
37389
+ }
37374
37390
  state.reservedLeaf = state.leafId;
37375
37391
  if (this.writeState === state)
37376
37392
  this.leafId = state.leafId;
@@ -37457,6 +37473,8 @@ var SessionManager = class _SessionManager {
37457
37473
  target.message.usage = cloneUsage2(snapshot.aggregateUsage);
37458
37474
  }
37459
37475
  state.leafId = snapshot.id;
37476
+ if (!isCompactionBookkeeping(snapshot))
37477
+ state.compactionRevision++;
37460
37478
  if (this.writeState === state) {
37461
37479
  this.leafId = snapshot.id;
37462
37480
  this._notifyPersistListeners();
@@ -37523,8 +37541,13 @@ var SessionManager = class _SessionManager {
37523
37541
  let capturedSource;
37524
37542
  let captureFailure;
37525
37543
  let selectionRevision;
37544
+ let compactionRevision;
37545
+ let currentRevision;
37546
+ const isCurrent = (revision) => capturedSource !== void 0 && this.writeState === state && state.owner === owner && !state.retired && !state.closed && this.sessionId === sessionId && this.sessionFile === sessionFile && state.branchSelectionRevision === selectionRevision && state.compactionRevision === revision;
37526
37547
  const sink = this._bindHistorySource((index, source, query) => createSessionHistoryReadScope(index, source, query, "source"), (source) => {
37527
37548
  selectionRevision = state.branchSelectionRevision;
37549
+ compactionRevision = state.compactionRevision;
37550
+ currentRevision = compactionRevision;
37528
37551
  if (!indexed)
37529
37552
  residentBranch = this._readResidentBranches([source.leafId], capturedLimits, byId).branches[0];
37530
37553
  capturedSource = source;
@@ -37553,7 +37576,7 @@ var SessionManager = class _SessionManager {
37553
37576
  if (JSON.stringify(epoch.source) !== JSON.stringify(capturedSource))
37554
37577
  throw new Error("Context epoch does not match the bound source capture");
37555
37578
  }
37556
- if (!capturedSource || this.writeState !== state || state.owner !== owner || state.retired || state.closed || this.sessionId !== sessionId || this.sessionFile !== sessionFile || state.branchSelectionRevision !== selectionRevision || state.leafId !== capturedSource.leafId)
37579
+ if (!isCurrent(compactionRevision))
37557
37580
  throw new Error("Compaction source or branch changed");
37558
37581
  };
37559
37582
  const args = [
@@ -37566,10 +37589,13 @@ var SessionManager = class _SessionManager {
37566
37589
  snapshot.usage,
37567
37590
  assertCurrent
37568
37591
  ];
37569
- return qualification || snapshot.requestOutputs ? this._appendCompaction(...args, qualification, snapshot.requestOutputs) : this.appendCompaction(...args);
37592
+ const entryId = await (qualification || snapshot.requestOutputs ? this._appendCompaction(...args, qualification, snapshot.requestOutputs) : this.appendCompaction(...args));
37593
+ currentRevision = compactionRevision + 1;
37594
+ return entryId;
37570
37595
  };
37571
37596
  const bound = {
37572
37597
  ...sink,
37598
+ isCurrent: () => isCurrent(currentRevision),
37573
37599
  readHistory: (read2) => sink.readHistory((history) => read2(history.branchContext)),
37574
37600
  [readCopiedEpochSource]: (read2) => sink.readHistory(read2),
37575
37601
  readBranch: async () => {
@@ -45456,7 +45482,7 @@ async function loadExtensionModule(extensionPath) {
45456
45482
  // (file-path aliases would load a second, divergent copy of each package).
45457
45483
  // Also disable tryNative so jiti handles ALL imports (not just the entry point)
45458
45484
  // Node/dev must also share the native AI registry and implementation identities.
45459
- ...isBunBinary || isBundledCli ? { virtualModules: (await import("./bundled-modules-IGMJH2MU.js")).VIRTUAL_MODULES, tryNative: false } : {
45485
+ ...isBunBinary || isBundledCli ? { virtualModules: (await import("./bundled-modules-5JRM6P4T.js")).VIRTUAL_MODULES, tryNative: false } : {
45460
45486
  alias: getAliases(),
45461
45487
  virtualModules: {
45462
45488
  "@ponythewhite/base-context-ai": src_exports,
@@ -58591,6 +58617,7 @@ var AgentSession = class _AgentSession {
58591
58617
  runtimeServices;
58592
58618
  _contextCompiler = new CanonicalContextCompiler();
58593
58619
  _failedAutomaticCompaction;
58620
+ _failedThresholdCompaction;
58594
58621
  _contextEpochsEnabled;
58595
58622
  _initialContextMode;
58596
58623
  _contextMode;
@@ -58990,7 +59017,7 @@ var AgentSession = class _AgentSession {
58990
59017
  acknowledged = { entryId, result };
58991
59018
  try {
58992
59019
  assertResourceCurrent(resource);
58993
- if (this.sessionManager !== epochManager || epochManager.getLeafId() !== entryId)
59020
+ if (this.sessionManager !== epochManager || !compaction.isCurrent())
58994
59021
  throw new Error("Context epoch source changed before adoption");
58995
59022
  this.agent.state.messages = prepared.messages;
58996
59023
  committed = prepared.checkpoint;
@@ -59066,7 +59093,7 @@ var AgentSession = class _AgentSession {
59066
59093
  committedEntry = { sessionId: epochContext.source.sessionId, entryId };
59067
59094
  requestContract = nextContract;
59068
59095
  assertResourceCurrent(resource);
59069
- if (this.sessionManager !== epochManager || epochManager.getLeafId() !== entryId)
59096
+ if (this.sessionManager !== epochManager || !compaction.isCurrent())
59070
59097
  throw new Error("Context contract source changed before acceptance");
59071
59098
  }
59072
59099
  if (!sameSelectedSkills(committed?.selectedSkills, epochContext.selectedSkills))
@@ -59081,7 +59108,7 @@ var AgentSession = class _AgentSession {
59081
59108
  } catch (cause) {
59082
59109
  throw commitFailure(cause);
59083
59110
  }
59084
- } : void 0);
59111
+ } : void 0, compaction.isCurrent);
59085
59112
  }
59086
59113
  this._compactionSetupFailure = void 0;
59087
59114
  return { messages, adoptMessages: true, streamContext: captured, release: () => captured.dispose() };
@@ -59101,7 +59128,7 @@ var AgentSession = class _AgentSession {
59101
59128
  if (!invocation || invocation.signal !== signal)
59102
59129
  return false;
59103
59130
  const owner = { ...invocation, pumpEpoch: this._sessionInputPumpEpoch };
59104
- if (!this._isCompactionOwnerCurrent(owner) || !error.source.persistent || error.source.sessionId !== owner.sessionId || error.source.sessionFile !== owner.sessionFile || error.source.leafId !== owner.manager.getLeafId())
59131
+ if (!this._isCompactionOwnerCurrent(owner) || !error.source.persistent || error.source.sessionId !== owner.sessionId || error.source.sessionFile !== owner.sessionFile || !(error.isSourceCurrent?.() ?? error.source.leafId === owner.manager.getLeafId()))
59105
59132
  return false;
59106
59133
  if (error.taskFrameRebaseAvailable) {
59107
59134
  this._contextCompiler.requestTaskFrameRebase();
@@ -59383,7 +59410,7 @@ var AgentSession = class _AgentSession {
59383
59410
  result: { summary: "", firstKeptEntryId: prepared.checkpoint.literalTailId, tokensBefore: null }
59384
59411
  };
59385
59412
  this._contextMode = mode;
59386
- if (this.sessionManager !== manager || manager.getLeafId() !== entryId)
59413
+ if (this.sessionManager !== manager || !compaction.isCurrent())
59387
59414
  throw new Error("Context mode source changed before adoption");
59388
59415
  assertResourceCurrent(resource);
59389
59416
  this.agent.state.messages = prepared.messages;
@@ -60904,6 +60931,22 @@ var AgentSession = class _AgentSession {
60904
60931
  return timestamp;
60905
60932
  });
60906
60933
  }
60934
+ _thresholdCompactionConfiguration() {
60935
+ return JSON.stringify({
60936
+ model: this.model,
60937
+ thinkingLevel: this.thinkingLevel,
60938
+ settings: this.settingsManager.getCompactionSettings()
60939
+ });
60940
+ }
60941
+ _hasFailedThresholdCompaction() {
60942
+ const failed = this._failedThresholdCompaction;
60943
+ if (!failed)
60944
+ return false;
60945
+ if (failed.isCurrent() && failed.configuration === this._thresholdCompactionConfiguration() && failed.systemPrompt === this.agent.state.systemPrompt && failed.tools === this.agent.state.tools)
60946
+ return true;
60947
+ this._failedThresholdCompaction = void 0;
60948
+ return false;
60949
+ }
60907
60950
  async _thresholdCompactionNeeded(context, owner = this._captureCompactionOwner(), goalOwner = {
60908
60951
  ...this._captureGoalContinuationOwner(owner.signal),
60909
60952
  checkpointOwner: owner
@@ -60922,6 +60965,8 @@ var AgentSession = class _AgentSession {
60922
60965
  const contextTokens = this._getThresholdContextTokens(context.message, compactionTimestamp);
60923
60966
  if (contextTokens === void 0 || !shouldCompact(contextTokens, contextWindow, settings))
60924
60967
  return false;
60968
+ if (this._hasFailedThresholdCompaction())
60969
+ return false;
60925
60970
  if (!this._isGoalContinuationOwnerCurrent(goalOwner))
60926
60971
  return true;
60927
60972
  if (!await this._queueGoalContinuationForThresholdCompaction(context.message, goalOwner)) {
@@ -62041,6 +62086,7 @@ var AgentSession = class _AgentSession {
62041
62086
  */
62042
62087
  async disposeAsync(options) {
62043
62088
  this._failedAutomaticCompaction = void 0;
62089
+ this._failedThresholdCompaction = void 0;
62044
62090
  this._contextCompiler.clear();
62045
62091
  this._nativeRecoveryCursors.clear();
62046
62092
  for (const admission of this._rlmChildAdmissions)
@@ -62248,6 +62294,7 @@ var AgentSession = class _AgentSession {
62248
62294
  }
62249
62295
  dispose() {
62250
62296
  this._failedAutomaticCompaction = void 0;
62297
+ this._failedThresholdCompaction = void 0;
62251
62298
  this._contextCompiler.clear();
62252
62299
  this._nativeRecoveryCursors.clear();
62253
62300
  if (this._disposed) {
@@ -66407,6 +66454,8 @@ ${parsed.args}` : block;
66407
66454
  if (contextTokens === void 0)
66408
66455
  return false;
66409
66456
  if (shouldCompact(contextTokens, contextWindow, settings)) {
66457
+ if (this._hasFailedThresholdCompaction())
66458
+ return false;
66410
66459
  if (!this._pendingCheckpoint && queueAutonomousContinuation) {
66411
66460
  if (!await this._queueGoalContinuationForThresholdCompaction(assistantMessage, goalOwner) && this._isGoalContinuationOwnerCurrent(goalOwner)) {
66412
66461
  await this._queueAutonomousContinuationForThresholdCompaction(assistantMessage, owner, autonomousOwner);
@@ -66497,6 +66546,16 @@ This compaction outcome could not be saved to session history: ${persistenceErro
66497
66546
  let compaction;
66498
66547
  let committed;
66499
66548
  let failure2;
66549
+ const thresholdConfiguration = reason === "threshold" && !resumeInPlace ? {
66550
+ configuration: this._thresholdCompactionConfiguration(),
66551
+ systemPrompt: this.agent.state.systemPrompt,
66552
+ tools: this.agent.state.tools
66553
+ } : void 0;
66554
+ const rememberThresholdFailure = () => {
66555
+ if (thresholdConfiguration && !abort.signal.aborted && this._isCompactionOwnerCurrent(owner) && compaction?.isCurrent()) {
66556
+ this._failedThresholdCompaction = { ...thresholdConfiguration, isCurrent: compaction.isCurrent };
66557
+ }
66558
+ };
66500
66559
  try {
66501
66560
  const selected = this._resolveCompactionModel();
66502
66561
  const model = selected?.model;
@@ -66513,6 +66572,7 @@ This compaction outcome could not be saved to session history: ${persistenceErro
66513
66572
  const detail = !model || !authResult ? "no model is selected" : authResult.ok ? "no API key is available" : authResult.error;
66514
66573
  await this._endCompactionUnsuccessfully(reason, "failed", `Compaction failed: ${detail}`, { owner });
66515
66574
  this._clearQueuedAutonomousContinuationsAfterSkippedThresholdCompaction(reason === "threshold" && shouldContinueAfterCompaction, queuedAutonomousContinuationsForThisCompaction);
66575
+ rememberThresholdFailure();
66516
66576
  resumeAfterFailure();
66517
66577
  return false;
66518
66578
  }
@@ -66574,6 +66634,7 @@ This compaction outcome could not be saved to session history: ${persistenceErro
66574
66634
  } else {
66575
66635
  await this._endCompactionUnsuccessfully(reason, "failed", reason === "overflow" ? `Context overflow recovery failed: ${errorMessage4}` : reason === "requested" ? `Requested compaction failed: ${errorMessage4}` : `Auto-compaction failed: ${errorMessage4}`, { customInstructions, owner });
66576
66636
  }
66637
+ rememberThresholdFailure();
66577
66638
  resumeAfterFailure();
66578
66639
  return false;
66579
66640
  } finally {
@@ -69952,7 +70013,7 @@ import { resolve as resolve15 } from "node:path";
69952
70013
  var BASE_CONTEXT_BUILD_ID_ENV = "BASE_CONTEXT_BUILD_ID";
69953
70014
  var BASE_CONTEXT_LAUNCHER_PATH_ENV = "BASE_CONTEXT_LAUNCHER_PATH";
69954
70015
  function bundledBuildId() {
69955
- return false ? void 0 : "v1.0.8";
70016
+ return false ? void 0 : "v1.0.9";
69956
70017
  }
69957
70018
  function getDaemonRuntimeIdentity(environment = process.env) {
69958
70019
  const entrypoint = process.argv[1];
@@ -348,7 +348,7 @@ import {
348
348
  watchWithErrorHandler,
349
349
  workerRosterEntryFromSummary,
350
350
  wrapTextWithAnsi
351
- } from "./chunk-EXEFSSF4.js";
351
+ } from "./chunk-NEHLB7JV.js";
352
352
  import {
353
353
  array,
354
354
  boolean,
@@ -5,7 +5,7 @@ import {
5
5
  isOwnedSessionWorkerProcess,
6
6
  maybeRunOwnedSessionWorkerFrontend,
7
7
  maybeStartDaemonEarly
8
- } from "./chunk-EXEFSSF4.js";
8
+ } from "./chunk-NEHLB7JV.js";
9
9
  import {
10
10
  APP_NAME
11
11
  } from "./chunk-2IPDSTDR.js";
@@ -39,7 +39,7 @@ async function runCli() {
39
39
  }
40
40
  const [{ EnvHttpProxyAgent, setGlobalDispatcher }, { main }] = await Promise.all([
41
41
  import("undici"),
42
- import("./main-2FWHT2WZ.js")
42
+ import("./main-ZLGGAAGU.js")
43
43
  ]);
44
44
  setGlobalDispatcher(new EnvHttpProxyAgent({ bodyTimeout: 0, headersTimeout: 0 }));
45
45
  try {
@@ -52,6 +52,6 @@ var supported = assertNodeVersion({
52
52
  exit: (code) => process.exit(code)
53
53
  });
54
54
  if (supported) {
55
- const { runCli } = await import("./cli-main-BUK7QTHO.js");
55
+ const { runCli } = await import("./cli-main-YUDBEYE2.js");
56
56
  await runCli();
57
57
  }
@@ -17,8 +17,8 @@ import {
17
17
  shouldUseDaemonClientRuntime,
18
18
  shouldUseDaemonInteractive,
19
19
  shouldUseEphemeralSessionManagerForDaemonInteractive
20
- } from "./chunk-RVJVXZCS.js";
21
- import "./chunk-EXEFSSF4.js";
20
+ } from "./chunk-VVI3UKGR.js";
21
+ import "./chunk-NEHLB7JV.js";
22
22
  import "./chunk-CFNASUYO.js";
23
23
  import "./chunk-QKIFBA7N.js";
24
24
  import "./chunk-2IPDSTDR.js";
@@ -381,6 +381,7 @@ export declare class AgentSession {
381
381
  readonly runtimeServices: SessionRuntimeServices;
382
382
  private readonly _contextCompiler;
383
383
  private _failedAutomaticCompaction?;
384
+ private _failedThresholdCompaction?;
384
385
  private readonly _contextEpochsEnabled;
385
386
  private readonly _initialContextMode;
386
387
  private _contextMode;
@@ -687,6 +688,8 @@ export declare class AgentSession {
687
688
  private _runBackgroundPlan;
688
689
  private _runSerializedRefine;
689
690
  private _getLatestCompactionTimestamp;
691
+ private _thresholdCompactionConfiguration;
692
+ private _hasFailedThresholdCompaction;
690
693
  private _thresholdCompactionNeeded;
691
694
  private _captureThresholdAutonomousOwner;
692
695
  private _snapshotAutonomousRuntimeState;