@dexto/core 1.5.3 → 1.5.5

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.
Files changed (143) hide show
  1. package/dist/agent/DextoAgent.cjs +190 -1
  2. package/dist/agent/DextoAgent.d.ts +71 -0
  3. package/dist/agent/DextoAgent.d.ts.map +1 -1
  4. package/dist/agent/DextoAgent.js +181 -1
  5. package/dist/agent/schemas.d.ts +51 -21
  6. package/dist/agent/schemas.d.ts.map +1 -1
  7. package/dist/context/compaction/overflow.cjs +6 -10
  8. package/dist/context/compaction/overflow.d.ts +14 -11
  9. package/dist/context/compaction/overflow.d.ts.map +1 -1
  10. package/dist/context/compaction/overflow.js +6 -10
  11. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +15 -0
  12. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +15 -0
  13. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -1
  14. package/dist/context/compaction/providers/reactive-overflow-provider.js +15 -0
  15. package/dist/context/compaction/schemas.cjs +22 -2
  16. package/dist/context/compaction/schemas.d.ts +45 -0
  17. package/dist/context/compaction/schemas.d.ts.map +1 -1
  18. package/dist/context/compaction/schemas.js +22 -2
  19. package/dist/context/compaction/strategies/reactive-overflow.cjs +168 -26
  20. package/dist/context/compaction/strategies/reactive-overflow.d.ts +22 -0
  21. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -1
  22. package/dist/context/compaction/strategies/reactive-overflow.js +168 -26
  23. package/dist/context/compaction/types.d.ts +13 -1
  24. package/dist/context/compaction/types.d.ts.map +1 -1
  25. package/dist/context/manager.cjs +278 -31
  26. package/dist/context/manager.d.ts +192 -5
  27. package/dist/context/manager.d.ts.map +1 -1
  28. package/dist/context/manager.js +285 -32
  29. package/dist/context/types.d.ts +6 -0
  30. package/dist/context/types.d.ts.map +1 -1
  31. package/dist/context/utils.cjs +77 -11
  32. package/dist/context/utils.d.ts +86 -8
  33. package/dist/context/utils.d.ts.map +1 -1
  34. package/dist/context/utils.js +71 -11
  35. package/dist/errors/types.cjs +0 -2
  36. package/dist/errors/types.d.ts +1 -5
  37. package/dist/errors/types.d.ts.map +1 -1
  38. package/dist/errors/types.js +0 -2
  39. package/dist/events/index.cjs +2 -0
  40. package/dist/events/index.d.ts +21 -6
  41. package/dist/events/index.d.ts.map +1 -1
  42. package/dist/events/index.js +2 -0
  43. package/dist/llm/executor/stream-processor.cjs +104 -28
  44. package/dist/llm/executor/stream-processor.d.ts +7 -0
  45. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  46. package/dist/llm/executor/stream-processor.js +104 -28
  47. package/dist/llm/executor/turn-executor.cjs +147 -30
  48. package/dist/llm/executor/turn-executor.d.ts +28 -10
  49. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  50. package/dist/llm/executor/turn-executor.js +147 -30
  51. package/dist/llm/formatters/vercel.cjs +36 -28
  52. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  53. package/dist/llm/formatters/vercel.js +36 -28
  54. package/dist/llm/services/factory.cjs +3 -2
  55. package/dist/llm/services/factory.d.ts +3 -1
  56. package/dist/llm/services/factory.d.ts.map +1 -1
  57. package/dist/llm/services/factory.js +3 -2
  58. package/dist/llm/services/vercel.cjs +31 -6
  59. package/dist/llm/services/vercel.d.ts +18 -3
  60. package/dist/llm/services/vercel.d.ts.map +1 -1
  61. package/dist/llm/services/vercel.js +31 -6
  62. package/dist/session/chat-session.cjs +29 -13
  63. package/dist/session/chat-session.d.ts +6 -4
  64. package/dist/session/chat-session.d.ts.map +1 -1
  65. package/dist/session/chat-session.js +29 -13
  66. package/dist/session/session-manager.cjs +11 -0
  67. package/dist/session/session-manager.d.ts +7 -0
  68. package/dist/session/session-manager.d.ts.map +1 -1
  69. package/dist/session/session-manager.js +11 -0
  70. package/dist/session/title-generator.cjs +2 -2
  71. package/dist/session/title-generator.js +2 -2
  72. package/dist/systemPrompt/in-built-prompts.cjs +36 -0
  73. package/dist/systemPrompt/in-built-prompts.d.ts +18 -1
  74. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  75. package/dist/systemPrompt/in-built-prompts.js +25 -0
  76. package/dist/systemPrompt/manager.cjs +22 -0
  77. package/dist/systemPrompt/manager.d.ts +10 -0
  78. package/dist/systemPrompt/manager.d.ts.map +1 -1
  79. package/dist/systemPrompt/manager.js +22 -0
  80. package/dist/systemPrompt/registry.cjs +2 -1
  81. package/dist/systemPrompt/registry.d.ts +1 -1
  82. package/dist/systemPrompt/registry.d.ts.map +1 -1
  83. package/dist/systemPrompt/registry.js +2 -1
  84. package/dist/systemPrompt/schemas.cjs +7 -0
  85. package/dist/systemPrompt/schemas.d.ts +13 -13
  86. package/dist/systemPrompt/schemas.d.ts.map +1 -1
  87. package/dist/systemPrompt/schemas.js +7 -0
  88. package/dist/telemetry/telemetry.cjs +12 -5
  89. package/dist/telemetry/telemetry.d.ts.map +1 -1
  90. package/dist/telemetry/telemetry.js +12 -5
  91. package/dist/utils/index.cjs +3 -1
  92. package/dist/utils/index.d.ts +1 -0
  93. package/dist/utils/index.d.ts.map +1 -1
  94. package/dist/utils/index.js +1 -0
  95. package/package.json +15 -5
  96. package/dist/filesystem/error-codes.cjs +0 -53
  97. package/dist/filesystem/error-codes.d.ts +0 -31
  98. package/dist/filesystem/error-codes.d.ts.map +0 -1
  99. package/dist/filesystem/error-codes.js +0 -30
  100. package/dist/filesystem/errors.cjs +0 -303
  101. package/dist/filesystem/errors.d.ts +0 -109
  102. package/dist/filesystem/errors.d.ts.map +0 -1
  103. package/dist/filesystem/errors.js +0 -280
  104. package/dist/filesystem/filesystem-service.cjs +0 -534
  105. package/dist/filesystem/filesystem-service.d.ts +0 -97
  106. package/dist/filesystem/filesystem-service.d.ts.map +0 -1
  107. package/dist/filesystem/filesystem-service.js +0 -501
  108. package/dist/filesystem/index.cjs +0 -37
  109. package/dist/filesystem/index.d.ts +0 -11
  110. package/dist/filesystem/index.d.ts.map +0 -1
  111. package/dist/filesystem/index.js +0 -11
  112. package/dist/filesystem/path-validator.cjs +0 -250
  113. package/dist/filesystem/path-validator.d.ts +0 -103
  114. package/dist/filesystem/path-validator.d.ts.map +0 -1
  115. package/dist/filesystem/path-validator.js +0 -217
  116. package/dist/filesystem/types.cjs +0 -16
  117. package/dist/filesystem/types.d.ts +0 -175
  118. package/dist/filesystem/types.d.ts.map +0 -1
  119. package/dist/filesystem/types.js +0 -0
  120. package/dist/process/command-validator.cjs +0 -554
  121. package/dist/process/command-validator.d.ts +0 -49
  122. package/dist/process/command-validator.d.ts.map +0 -1
  123. package/dist/process/command-validator.js +0 -531
  124. package/dist/process/error-codes.cjs +0 -47
  125. package/dist/process/error-codes.d.ts +0 -25
  126. package/dist/process/error-codes.d.ts.map +0 -1
  127. package/dist/process/error-codes.js +0 -24
  128. package/dist/process/errors.cjs +0 -244
  129. package/dist/process/errors.d.ts +0 -87
  130. package/dist/process/errors.d.ts.map +0 -1
  131. package/dist/process/errors.js +0 -221
  132. package/dist/process/index.cjs +0 -37
  133. package/dist/process/index.d.ts +0 -11
  134. package/dist/process/index.d.ts.map +0 -1
  135. package/dist/process/index.js +0 -11
  136. package/dist/process/process-service.cjs +0 -497
  137. package/dist/process/process-service.d.ts +0 -69
  138. package/dist/process/process-service.d.ts.map +0 -1
  139. package/dist/process/process-service.js +0 -464
  140. package/dist/process/types.cjs +0 -16
  141. package/dist/process/types.d.ts +0 -107
  142. package/dist/process/types.d.ts.map +0 -1
  143. package/dist/process/types.js +0 -0
@@ -3,6 +3,7 @@ var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
8
  var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
8
9
  var __typeError = (msg) => {
@@ -22,6 +23,14 @@ var __copyProps = (to, from, except, desc) => {
22
23
  }
23
24
  return to;
24
25
  };
26
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
27
+ // If the importer is in node compatibility mode or this is not an ESM
28
+ // file that has been converted to a CommonJS file using a Babel-
29
+ // compatible transform (i.e. "__esModule" has not been set), then set
30
+ // "default" to the CommonJS "module.exports" for node compatibility.
31
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
32
+ mod
33
+ ));
25
34
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
35
  var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
27
36
  var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
@@ -641,6 +650,22 @@ Either:
641
650
  signal: cleanupSignal
642
651
  });
643
652
  listeners.push({ event: "tool:running", listener: toolRunningListener });
653
+ const contextCompactingListener = (data) => {
654
+ if (data.sessionId !== sessionId) return;
655
+ eventQueue.push({ name: "context:compacting", ...data });
656
+ };
657
+ this.agentEventBus.on("context:compacting", contextCompactingListener, {
658
+ signal: cleanupSignal
659
+ });
660
+ listeners.push({ event: "context:compacting", listener: contextCompactingListener });
661
+ const contextCompactedListener = (data) => {
662
+ if (data.sessionId !== sessionId) return;
663
+ eventQueue.push({ name: "context:compacted", ...data });
664
+ };
665
+ this.agentEventBus.on("context:compacted", contextCompactedListener, {
666
+ signal: cleanupSignal
667
+ });
668
+ listeners.push({ event: "context:compacted", listener: contextCompactedListener });
644
669
  const messageQueuedListener = (data) => {
645
670
  if (data.sessionId !== sessionId) return;
646
671
  eventQueue.push({ name: "message:queued", ...data });
@@ -800,7 +825,10 @@ Either:
800
825
  contentParts = [{ type: "text", text: textContent }];
801
826
  }
802
827
  const session = await this.sessionManager.getSession(sessionId) || await this.sessionManager.createSession(sessionId);
803
- await session.stream(contentParts, signal ? { signal } : void 0);
828
+ const _streamResult = await session.stream(
829
+ contentParts,
830
+ signal ? { signal } : void 0
831
+ );
804
832
  this.sessionManager.incrementMessageCount(session.id).catch(
805
833
  (error) => this.logger.warn(
806
834
  `Failed to increment message count: ${error instanceof Error ? error.message : String(error)}`
@@ -1179,6 +1207,167 @@ Either:
1179
1207
  sessionId
1180
1208
  });
1181
1209
  }
1210
+ /**
1211
+ * Manually compact the context for a session.
1212
+ *
1213
+ * Compaction generates a summary of older messages and adds it to the conversation history.
1214
+ * When the context is loaded, filterCompacted() will exclude messages before the summary,
1215
+ * effectively reducing the context window while preserving the full history in storage.
1216
+ *
1217
+ * @param sessionId Session ID of the session to compact (required)
1218
+ * @returns Compaction result with stats, or null if compaction was skipped
1219
+ */
1220
+ async compactContext(sessionId) {
1221
+ this.ensureStarted();
1222
+ if (!sessionId || typeof sessionId !== "string") {
1223
+ throw import_errors2.AgentError.apiValidationError(
1224
+ "sessionId is required and must be a non-empty string"
1225
+ );
1226
+ }
1227
+ const session = await this.sessionManager.getSession(sessionId);
1228
+ if (!session) {
1229
+ throw import_session.SessionError.notFound(sessionId);
1230
+ }
1231
+ const llmService = session.getLLMService();
1232
+ const compactionStrategy = llmService.getCompactionStrategy();
1233
+ if (!compactionStrategy) {
1234
+ this.logger.warn(
1235
+ `Compaction strategy not configured for session ${sessionId} - skipping manual compaction`
1236
+ );
1237
+ return null;
1238
+ }
1239
+ const contextManager = session.getContextManager();
1240
+ const history = await contextManager.getHistory();
1241
+ if (history.length < 4) {
1242
+ this.logger.debug(`Compaction skipped for session ${sessionId} - history too short`);
1243
+ return null;
1244
+ }
1245
+ const contributorContext = { mcpManager: this.mcpManager };
1246
+ const tools = await llmService.getAllTools();
1247
+ const beforeEstimate = await contextManager.getContextTokenEstimate(
1248
+ contributorContext,
1249
+ tools
1250
+ );
1251
+ const originalTokens = beforeEstimate.estimated;
1252
+ const originalMessages = beforeEstimate.stats.filteredMessageCount;
1253
+ this.agentEventBus.emit("context:compacting", {
1254
+ estimatedTokens: originalTokens,
1255
+ sessionId
1256
+ });
1257
+ const summaryMessages = await compactionStrategy.compact(history);
1258
+ if (summaryMessages.length === 0) {
1259
+ this.logger.debug(`Compaction skipped for session ${sessionId} - nothing to compact`);
1260
+ this.agentEventBus.emit("context:compacted", {
1261
+ originalTokens,
1262
+ compactedTokens: originalTokens,
1263
+ originalMessages,
1264
+ compactedMessages: originalMessages,
1265
+ strategy: compactionStrategy.name,
1266
+ reason: "manual",
1267
+ sessionId
1268
+ });
1269
+ return null;
1270
+ }
1271
+ for (const summary of summaryMessages) {
1272
+ await contextManager.addMessage(summary);
1273
+ }
1274
+ contextManager.resetActualTokenTracking();
1275
+ const afterEstimate = await contextManager.getContextTokenEstimate(
1276
+ contributorContext,
1277
+ tools
1278
+ );
1279
+ const compactedTokens = afterEstimate.estimated;
1280
+ const compactedMessages = afterEstimate.stats.filteredMessageCount;
1281
+ this.agentEventBus.emit("context:compacted", {
1282
+ originalTokens,
1283
+ compactedTokens,
1284
+ originalMessages,
1285
+ compactedMessages,
1286
+ strategy: compactionStrategy.name,
1287
+ reason: "manual",
1288
+ sessionId
1289
+ });
1290
+ this.logger.info(
1291
+ `Compaction complete for session ${sessionId}: ${originalMessages} messages \u2192 ${compactedMessages} messages (~${compactedTokens} tokens)`
1292
+ );
1293
+ return {
1294
+ sessionId,
1295
+ compactedContextTokens: compactedTokens,
1296
+ originalMessages,
1297
+ compactedMessages
1298
+ };
1299
+ }
1300
+ /**
1301
+ * Get context usage statistics for a session.
1302
+ * Useful for monitoring context window usage and compaction status.
1303
+ *
1304
+ * @param sessionId Session ID (required)
1305
+ * @returns Context statistics including token estimates and message counts
1306
+ */
1307
+ async getContextStats(sessionId) {
1308
+ this.ensureStarted();
1309
+ if (!sessionId || typeof sessionId !== "string") {
1310
+ throw import_errors2.AgentError.apiValidationError(
1311
+ "sessionId is required and must be a non-empty string"
1312
+ );
1313
+ }
1314
+ const session = await this.sessionManager.getSession(sessionId);
1315
+ if (!session) {
1316
+ throw import_session.SessionError.notFound(sessionId);
1317
+ }
1318
+ const contextManager = session.getContextManager();
1319
+ const contributorContext = { mcpManager: this.mcpManager };
1320
+ const llmService = session.getLLMService();
1321
+ const tools = await llmService.getAllTools();
1322
+ const tokenEstimate = await contextManager.getContextTokenEstimate(
1323
+ contributorContext,
1324
+ tools
1325
+ );
1326
+ const history = await contextManager.getHistory();
1327
+ const runtimeConfig = this.stateManager.getRuntimeConfig(sessionId);
1328
+ const compactionConfig = runtimeConfig.compaction;
1329
+ const modelContextWindow = contextManager.getMaxInputTokens();
1330
+ let maxContextTokens = modelContextWindow;
1331
+ if (compactionConfig?.maxContextTokens !== void 0) {
1332
+ maxContextTokens = Math.min(maxContextTokens, compactionConfig.maxContextTokens);
1333
+ }
1334
+ const thresholdPercent = compactionConfig?.thresholdPercent ?? 0.9;
1335
+ if (thresholdPercent < 1) {
1336
+ maxContextTokens = Math.floor(maxContextTokens * thresholdPercent);
1337
+ }
1338
+ const hasSummary = history.some(
1339
+ (msg) => msg.metadata?.isSummary === true || msg.metadata?.isSessionSummary === true
1340
+ );
1341
+ const llmConfig = runtimeConfig.llm;
1342
+ const { getModelDisplayName } = await import("../llm/registry.js");
1343
+ const modelDisplayName = getModelDisplayName(llmConfig.model, llmConfig.provider);
1344
+ const estimatedTokens = tokenEstimate.estimated;
1345
+ const autoCompactBuffer = thresholdPercent > 0 && thresholdPercent < 1 ? Math.floor(maxContextTokens * (1 - thresholdPercent) / thresholdPercent) : 0;
1346
+ const totalTokenSpace = maxContextTokens + autoCompactBuffer;
1347
+ const usedTokens = estimatedTokens + autoCompactBuffer;
1348
+ return {
1349
+ estimatedTokens,
1350
+ actualTokens: tokenEstimate.actual,
1351
+ maxContextTokens,
1352
+ modelContextWindow,
1353
+ thresholdPercent,
1354
+ usagePercent: totalTokenSpace > 0 ? Math.round(usedTokens / totalTokenSpace * 100) : 0,
1355
+ messageCount: tokenEstimate.stats.originalMessageCount,
1356
+ filteredMessageCount: tokenEstimate.stats.filteredMessageCount,
1357
+ prunedToolCount: tokenEstimate.stats.prunedToolCount,
1358
+ hasSummary,
1359
+ model: llmConfig.model,
1360
+ modelDisplayName,
1361
+ breakdown: {
1362
+ systemPrompt: tokenEstimate.breakdown.systemPrompt,
1363
+ tools: tokenEstimate.breakdown.tools,
1364
+ messages: tokenEstimate.breakdown.messages
1365
+ },
1366
+ ...tokenEstimate.calculationBasis && {
1367
+ calculationBasis: tokenEstimate.calculationBasis
1368
+ }
1369
+ };
1370
+ }
1182
1371
  // ============= LLM MANAGEMENT =============
1183
1372
  /**
1184
1373
  * Gets the current LLM configuration with all defaults applied.
@@ -377,6 +377,77 @@ export declare class DextoAgent {
377
377
  * @param sessionId Session ID (required)
378
378
  */
379
379
  clearContext(sessionId: string): Promise<void>;
380
+ /**
381
+ * Manually compact the context for a session.
382
+ *
383
+ * Compaction generates a summary of older messages and adds it to the conversation history.
384
+ * When the context is loaded, filterCompacted() will exclude messages before the summary,
385
+ * effectively reducing the context window while preserving the full history in storage.
386
+ *
387
+ * @param sessionId Session ID of the session to compact (required)
388
+ * @returns Compaction result with stats, or null if compaction was skipped
389
+ */
390
+ compactContext(sessionId: string): Promise<{
391
+ /** The session that was compacted */
392
+ sessionId: string;
393
+ /** Estimated tokens in context after compaction (includes system prompt, tools, and messages) */
394
+ compactedContextTokens: number;
395
+ /** Number of messages before compaction */
396
+ originalMessages: number;
397
+ /** Number of messages after compaction (summary + preserved) */
398
+ compactedMessages: number;
399
+ } | null>;
400
+ /**
401
+ * Get context usage statistics for a session.
402
+ * Useful for monitoring context window usage and compaction status.
403
+ *
404
+ * @param sessionId Session ID (required)
405
+ * @returns Context statistics including token estimates and message counts
406
+ */
407
+ getContextStats(sessionId: string): Promise<{
408
+ estimatedTokens: number;
409
+ /** Last actual token count from LLM API (null if no calls made yet) */
410
+ actualTokens: number | null;
411
+ /** Effective max context tokens (after applying maxContextTokens override and thresholdPercent) */
412
+ maxContextTokens: number;
413
+ /** The model's raw context window before any config overrides */
414
+ modelContextWindow: number;
415
+ /** Configured threshold percent (0.0-1.0), defaults to 1.0 */
416
+ thresholdPercent: number;
417
+ usagePercent: number;
418
+ messageCount: number;
419
+ filteredMessageCount: number;
420
+ prunedToolCount: number;
421
+ hasSummary: boolean;
422
+ /** Current model identifier */
423
+ model: string;
424
+ /** Display name for the model */
425
+ modelDisplayName: string;
426
+ /** Detailed breakdown of context usage by category */
427
+ breakdown: {
428
+ systemPrompt: number;
429
+ tools: {
430
+ total: number;
431
+ /** Per-tool token estimates */
432
+ perTool: Array<{
433
+ name: string;
434
+ tokens: number;
435
+ }>;
436
+ };
437
+ messages: number;
438
+ };
439
+ /** Calculation basis showing how the estimate was computed */
440
+ calculationBasis?: {
441
+ /** 'actuals' = used lastInput + lastOutput + newEstimate, 'estimate' = pure estimation */
442
+ method: 'actuals' | 'estimate';
443
+ /** Last actual input tokens from API (if method is 'actuals') */
444
+ lastInputTokens?: number;
445
+ /** Last actual output tokens from API (if method is 'actuals') */
446
+ lastOutputTokens?: number;
447
+ /** Estimated tokens for new messages since last call (if method is 'actuals') */
448
+ newMessagesEstimate?: number;
449
+ };
450
+ }>;
380
451
  /**
381
452
  * Gets the current LLM configuration with all defaults applied.
382
453
  * @returns Current LLM configuration
@@ -1 +1 @@
1
- {"version":3,"file":"DextoAgent.d.ts","sourceRoot":"","sources":["../../src/agent/DextoAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DextoAgent.d.ts","sourceRoot":"","sources":["../../src/agent/DextoAgent.ts"],"names":[],"mappings":"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"}
@@ -585,6 +585,22 @@ Either:
585
585
  signal: cleanupSignal
586
586
  });
587
587
  listeners.push({ event: "tool:running", listener: toolRunningListener });
588
+ const contextCompactingListener = (data) => {
589
+ if (data.sessionId !== sessionId) return;
590
+ eventQueue.push({ name: "context:compacting", ...data });
591
+ };
592
+ this.agentEventBus.on("context:compacting", contextCompactingListener, {
593
+ signal: cleanupSignal
594
+ });
595
+ listeners.push({ event: "context:compacting", listener: contextCompactingListener });
596
+ const contextCompactedListener = (data) => {
597
+ if (data.sessionId !== sessionId) return;
598
+ eventQueue.push({ name: "context:compacted", ...data });
599
+ };
600
+ this.agentEventBus.on("context:compacted", contextCompactedListener, {
601
+ signal: cleanupSignal
602
+ });
603
+ listeners.push({ event: "context:compacted", listener: contextCompactedListener });
588
604
  const messageQueuedListener = (data) => {
589
605
  if (data.sessionId !== sessionId) return;
590
606
  eventQueue.push({ name: "message:queued", ...data });
@@ -744,7 +760,10 @@ Either:
744
760
  contentParts = [{ type: "text", text: textContent }];
745
761
  }
746
762
  const session = await this.sessionManager.getSession(sessionId) || await this.sessionManager.createSession(sessionId);
747
- await session.stream(contentParts, signal ? { signal } : void 0);
763
+ const _streamResult = await session.stream(
764
+ contentParts,
765
+ signal ? { signal } : void 0
766
+ );
748
767
  this.sessionManager.incrementMessageCount(session.id).catch(
749
768
  (error) => this.logger.warn(
750
769
  `Failed to increment message count: ${error instanceof Error ? error.message : String(error)}`
@@ -1123,6 +1142,167 @@ Either:
1123
1142
  sessionId
1124
1143
  });
1125
1144
  }
1145
+ /**
1146
+ * Manually compact the context for a session.
1147
+ *
1148
+ * Compaction generates a summary of older messages and adds it to the conversation history.
1149
+ * When the context is loaded, filterCompacted() will exclude messages before the summary,
1150
+ * effectively reducing the context window while preserving the full history in storage.
1151
+ *
1152
+ * @param sessionId Session ID of the session to compact (required)
1153
+ * @returns Compaction result with stats, or null if compaction was skipped
1154
+ */
1155
+ async compactContext(sessionId) {
1156
+ this.ensureStarted();
1157
+ if (!sessionId || typeof sessionId !== "string") {
1158
+ throw AgentError.apiValidationError(
1159
+ "sessionId is required and must be a non-empty string"
1160
+ );
1161
+ }
1162
+ const session = await this.sessionManager.getSession(sessionId);
1163
+ if (!session) {
1164
+ throw SessionError.notFound(sessionId);
1165
+ }
1166
+ const llmService = session.getLLMService();
1167
+ const compactionStrategy = llmService.getCompactionStrategy();
1168
+ if (!compactionStrategy) {
1169
+ this.logger.warn(
1170
+ `Compaction strategy not configured for session ${sessionId} - skipping manual compaction`
1171
+ );
1172
+ return null;
1173
+ }
1174
+ const contextManager = session.getContextManager();
1175
+ const history = await contextManager.getHistory();
1176
+ if (history.length < 4) {
1177
+ this.logger.debug(`Compaction skipped for session ${sessionId} - history too short`);
1178
+ return null;
1179
+ }
1180
+ const contributorContext = { mcpManager: this.mcpManager };
1181
+ const tools = await llmService.getAllTools();
1182
+ const beforeEstimate = await contextManager.getContextTokenEstimate(
1183
+ contributorContext,
1184
+ tools
1185
+ );
1186
+ const originalTokens = beforeEstimate.estimated;
1187
+ const originalMessages = beforeEstimate.stats.filteredMessageCount;
1188
+ this.agentEventBus.emit("context:compacting", {
1189
+ estimatedTokens: originalTokens,
1190
+ sessionId
1191
+ });
1192
+ const summaryMessages = await compactionStrategy.compact(history);
1193
+ if (summaryMessages.length === 0) {
1194
+ this.logger.debug(`Compaction skipped for session ${sessionId} - nothing to compact`);
1195
+ this.agentEventBus.emit("context:compacted", {
1196
+ originalTokens,
1197
+ compactedTokens: originalTokens,
1198
+ originalMessages,
1199
+ compactedMessages: originalMessages,
1200
+ strategy: compactionStrategy.name,
1201
+ reason: "manual",
1202
+ sessionId
1203
+ });
1204
+ return null;
1205
+ }
1206
+ for (const summary of summaryMessages) {
1207
+ await contextManager.addMessage(summary);
1208
+ }
1209
+ contextManager.resetActualTokenTracking();
1210
+ const afterEstimate = await contextManager.getContextTokenEstimate(
1211
+ contributorContext,
1212
+ tools
1213
+ );
1214
+ const compactedTokens = afterEstimate.estimated;
1215
+ const compactedMessages = afterEstimate.stats.filteredMessageCount;
1216
+ this.agentEventBus.emit("context:compacted", {
1217
+ originalTokens,
1218
+ compactedTokens,
1219
+ originalMessages,
1220
+ compactedMessages,
1221
+ strategy: compactionStrategy.name,
1222
+ reason: "manual",
1223
+ sessionId
1224
+ });
1225
+ this.logger.info(
1226
+ `Compaction complete for session ${sessionId}: ${originalMessages} messages \u2192 ${compactedMessages} messages (~${compactedTokens} tokens)`
1227
+ );
1228
+ return {
1229
+ sessionId,
1230
+ compactedContextTokens: compactedTokens,
1231
+ originalMessages,
1232
+ compactedMessages
1233
+ };
1234
+ }
1235
+ /**
1236
+ * Get context usage statistics for a session.
1237
+ * Useful for monitoring context window usage and compaction status.
1238
+ *
1239
+ * @param sessionId Session ID (required)
1240
+ * @returns Context statistics including token estimates and message counts
1241
+ */
1242
+ async getContextStats(sessionId) {
1243
+ this.ensureStarted();
1244
+ if (!sessionId || typeof sessionId !== "string") {
1245
+ throw AgentError.apiValidationError(
1246
+ "sessionId is required and must be a non-empty string"
1247
+ );
1248
+ }
1249
+ const session = await this.sessionManager.getSession(sessionId);
1250
+ if (!session) {
1251
+ throw SessionError.notFound(sessionId);
1252
+ }
1253
+ const contextManager = session.getContextManager();
1254
+ const contributorContext = { mcpManager: this.mcpManager };
1255
+ const llmService = session.getLLMService();
1256
+ const tools = await llmService.getAllTools();
1257
+ const tokenEstimate = await contextManager.getContextTokenEstimate(
1258
+ contributorContext,
1259
+ tools
1260
+ );
1261
+ const history = await contextManager.getHistory();
1262
+ const runtimeConfig = this.stateManager.getRuntimeConfig(sessionId);
1263
+ const compactionConfig = runtimeConfig.compaction;
1264
+ const modelContextWindow = contextManager.getMaxInputTokens();
1265
+ let maxContextTokens = modelContextWindow;
1266
+ if (compactionConfig?.maxContextTokens !== void 0) {
1267
+ maxContextTokens = Math.min(maxContextTokens, compactionConfig.maxContextTokens);
1268
+ }
1269
+ const thresholdPercent = compactionConfig?.thresholdPercent ?? 0.9;
1270
+ if (thresholdPercent < 1) {
1271
+ maxContextTokens = Math.floor(maxContextTokens * thresholdPercent);
1272
+ }
1273
+ const hasSummary = history.some(
1274
+ (msg) => msg.metadata?.isSummary === true || msg.metadata?.isSessionSummary === true
1275
+ );
1276
+ const llmConfig = runtimeConfig.llm;
1277
+ const { getModelDisplayName } = await import("../llm/registry.js");
1278
+ const modelDisplayName = getModelDisplayName(llmConfig.model, llmConfig.provider);
1279
+ const estimatedTokens = tokenEstimate.estimated;
1280
+ const autoCompactBuffer = thresholdPercent > 0 && thresholdPercent < 1 ? Math.floor(maxContextTokens * (1 - thresholdPercent) / thresholdPercent) : 0;
1281
+ const totalTokenSpace = maxContextTokens + autoCompactBuffer;
1282
+ const usedTokens = estimatedTokens + autoCompactBuffer;
1283
+ return {
1284
+ estimatedTokens,
1285
+ actualTokens: tokenEstimate.actual,
1286
+ maxContextTokens,
1287
+ modelContextWindow,
1288
+ thresholdPercent,
1289
+ usagePercent: totalTokenSpace > 0 ? Math.round(usedTokens / totalTokenSpace * 100) : 0,
1290
+ messageCount: tokenEstimate.stats.originalMessageCount,
1291
+ filteredMessageCount: tokenEstimate.stats.filteredMessageCount,
1292
+ prunedToolCount: tokenEstimate.stats.prunedToolCount,
1293
+ hasSummary,
1294
+ model: llmConfig.model,
1295
+ modelDisplayName,
1296
+ breakdown: {
1297
+ systemPrompt: tokenEstimate.breakdown.systemPrompt,
1298
+ tools: tokenEstimate.breakdown.tools,
1299
+ messages: tokenEstimate.breakdown.messages
1300
+ },
1301
+ ...tokenEstimate.calculationBasis && {
1302
+ calculationBasis: tokenEstimate.calculationBasis
1303
+ }
1304
+ };
1305
+ }
1126
1306
  // ============= LLM MANAGEMENT =============
1127
1307
  /**
1128
1308
  * Gets the current LLM configuration with all defaults applied.