summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/session-orchestrator/src/orchestrator.ts9
1 files changed, 6 insertions, 3 deletions
diff --git a/packages/session-orchestrator/src/orchestrator.ts b/packages/session-orchestrator/src/orchestrator.ts
index e2d126c..c3b94bf 100644
--- a/packages/session-orchestrator/src/orchestrator.ts
+++ b/packages/session-orchestrator/src/orchestrator.ts
@@ -693,6 +693,7 @@ export function createWarmService(
}
const DEFAULT_KEEP_LAST_N = 10;
+const DEFAULT_COMPACT_THRESHOLD = 350000;
const COMPACTION_SYSTEM_PROMPT =
"You are a conversation summarizer. Summarize the following conversation concord concisely but comprehensively. " +
@@ -734,10 +735,12 @@ export function createCompactionService(
return { error: "conversation too short to compact" };
}
- // Auto mode: check threshold
+ // Auto mode: check threshold (default 350k if not explicitly set;
+ // 0 explicitly disables).
if (opts?.auto === true) {
- const threshold = await deps.conversationStore.getCompactThreshold(conversationId);
- if (threshold === null || threshold <= 0) return { error: "auto-compact disabled" };
+ const stored = await deps.conversationStore.getCompactThreshold(conversationId);
+ const threshold = stored ?? DEFAULT_COMPACT_THRESHOLD;
+ if (threshold <= 0) return { error: "auto-compact disabled" };
const metrics = await deps.conversationStore.loadMetrics(conversationId);
const lastTurn = metrics[metrics.length - 1];
if (lastTurn === undefined) return { error: "no metrics" };