@dexto/core 1.5.4 → 1.5.6
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/dist/agent/DextoAgent.cjs +61 -155
- package/dist/agent/DextoAgent.d.ts +11 -54
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +61 -155
- package/dist/context/compaction/strategies/reactive-overflow.cjs +5 -3
- package/dist/context/compaction/strategies/reactive-overflow.d.ts +1 -0
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -1
- package/dist/context/compaction/strategies/reactive-overflow.js +5 -3
- package/dist/context/compaction/types.d.ts +13 -1
- package/dist/context/compaction/types.d.ts.map +1 -1
- package/dist/errors/types.cjs +0 -2
- package/dist/errors/types.d.ts +1 -5
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +0 -2
- package/dist/events/index.cjs +0 -2
- package/dist/events/index.d.ts +6 -25
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +0 -2
- package/dist/llm/executor/stream-processor.cjs +85 -27
- package/dist/llm/executor/stream-processor.d.ts +4 -0
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +85 -27
- package/dist/llm/executor/turn-executor.cjs +58 -130
- package/dist/llm/executor/turn-executor.d.ts +9 -43
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +58 -130
- package/dist/llm/executor/types.d.ts +0 -28
- package/dist/llm/executor/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +2 -5
- package/dist/llm/services/vercel.d.ts +1 -6
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +2 -5
- package/dist/logger/logger.cjs +6 -7
- package/dist/logger/logger.d.ts +1 -0
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +6 -7
- package/dist/session/chat-session.cjs +19 -12
- package/dist/session/chat-session.d.ts +3 -6
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +19 -12
- package/dist/session/session-manager.cjs +0 -135
- package/dist/session/session-manager.d.ts +0 -43
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +0 -135
- package/dist/telemetry/telemetry.cjs +12 -5
- package/dist/telemetry/telemetry.d.ts.map +1 -1
- package/dist/telemetry/telemetry.js +12 -5
- package/dist/tools/schemas.cjs +2 -2
- package/dist/tools/schemas.js +2 -2
- package/package.json +15 -5
- package/dist/filesystem/error-codes.cjs +0 -53
- package/dist/filesystem/error-codes.d.ts +0 -31
- package/dist/filesystem/error-codes.d.ts.map +0 -1
- package/dist/filesystem/error-codes.js +0 -30
- package/dist/filesystem/errors.cjs +0 -303
- package/dist/filesystem/errors.d.ts +0 -109
- package/dist/filesystem/errors.d.ts.map +0 -1
- package/dist/filesystem/errors.js +0 -280
- package/dist/filesystem/filesystem-service.cjs +0 -534
- package/dist/filesystem/filesystem-service.d.ts +0 -97
- package/dist/filesystem/filesystem-service.d.ts.map +0 -1
- package/dist/filesystem/filesystem-service.js +0 -501
- package/dist/filesystem/index.cjs +0 -37
- package/dist/filesystem/index.d.ts +0 -11
- package/dist/filesystem/index.d.ts.map +0 -1
- package/dist/filesystem/index.js +0 -11
- package/dist/filesystem/path-validator.cjs +0 -250
- package/dist/filesystem/path-validator.d.ts +0 -103
- package/dist/filesystem/path-validator.d.ts.map +0 -1
- package/dist/filesystem/path-validator.js +0 -217
- package/dist/filesystem/types.cjs +0 -16
- package/dist/filesystem/types.d.ts +0 -175
- package/dist/filesystem/types.d.ts.map +0 -1
- package/dist/filesystem/types.js +0 -0
- package/dist/process/command-validator.cjs +0 -554
- package/dist/process/command-validator.d.ts +0 -49
- package/dist/process/command-validator.d.ts.map +0 -1
- package/dist/process/command-validator.js +0 -531
- package/dist/process/error-codes.cjs +0 -47
- package/dist/process/error-codes.d.ts +0 -25
- package/dist/process/error-codes.d.ts.map +0 -1
- package/dist/process/error-codes.js +0 -24
- package/dist/process/errors.cjs +0 -244
- package/dist/process/errors.d.ts +0 -87
- package/dist/process/errors.d.ts.map +0 -1
- package/dist/process/errors.js +0 -221
- package/dist/process/index.cjs +0 -37
- package/dist/process/index.d.ts +0 -11
- package/dist/process/index.d.ts.map +0 -1
- package/dist/process/index.js +0 -11
- package/dist/process/process-service.cjs +0 -497
- package/dist/process/process-service.d.ts +0 -69
- package/dist/process/process-service.d.ts.map +0 -1
- package/dist/process/process-service.js +0 -464
- package/dist/process/types.cjs +0 -16
- package/dist/process/types.d.ts +0 -107
- package/dist/process/types.d.ts.map +0 -1
- package/dist/process/types.js +0 -0
- package/dist/session/compaction-service.cjs +0 -139
- package/dist/session/compaction-service.d.ts +0 -81
- package/dist/session/compaction-service.d.ts.map +0 -1
- package/dist/session/compaction-service.js +0 -106
|
@@ -666,14 +666,6 @@ Either:
|
|
|
666
666
|
signal: cleanupSignal
|
|
667
667
|
});
|
|
668
668
|
listeners.push({ event: "context:compacted", listener: contextCompactedListener });
|
|
669
|
-
const sessionContinuedListener = (data) => {
|
|
670
|
-
if (data.previousSessionId !== sessionId) return;
|
|
671
|
-
eventQueue.push({ name: "session:continued", ...data });
|
|
672
|
-
};
|
|
673
|
-
this.agentEventBus.on("session:continued", sessionContinuedListener, {
|
|
674
|
-
signal: cleanupSignal
|
|
675
|
-
});
|
|
676
|
-
listeners.push({ event: "session:continued", listener: sessionContinuedListener });
|
|
677
669
|
const messageQueuedListener = (data) => {
|
|
678
670
|
if (data.sessionId !== sessionId) return;
|
|
679
671
|
eventQueue.push({ name: "message:queued", ...data });
|
|
@@ -833,7 +825,7 @@ Either:
|
|
|
833
825
|
contentParts = [{ type: "text", text: textContent }];
|
|
834
826
|
}
|
|
835
827
|
const session = await this.sessionManager.getSession(sessionId) || await this.sessionManager.createSession(sessionId);
|
|
836
|
-
const
|
|
828
|
+
const _streamResult = await session.stream(
|
|
837
829
|
contentParts,
|
|
838
830
|
signal ? { signal } : void 0
|
|
839
831
|
);
|
|
@@ -842,9 +834,6 @@ Either:
|
|
|
842
834
|
`Failed to increment message count: ${error instanceof Error ? error.message : String(error)}`
|
|
843
835
|
)
|
|
844
836
|
);
|
|
845
|
-
if (streamResult.didCompact && streamResult.compaction) {
|
|
846
|
-
await this.handleSessionContinuation(session, streamResult.compaction);
|
|
847
|
-
}
|
|
848
837
|
} catch (err) {
|
|
849
838
|
const error = err instanceof import_DextoRuntimeError.DextoRuntimeError || err instanceof import_DextoValidationError.DextoValidationError ? err : err instanceof Error ? err : import_errors2.AgentError.streamFailed(String(err));
|
|
850
839
|
completed = true;
|
|
@@ -1219,16 +1208,14 @@ Either:
|
|
|
1219
1208
|
});
|
|
1220
1209
|
}
|
|
1221
1210
|
/**
|
|
1222
|
-
* Manually compact the context
|
|
1223
|
-
*
|
|
1224
|
-
* Session-native compaction creates a NEW session with the summary as initial context,
|
|
1225
|
-
* providing clean session isolation while maintaining traceability via linking.
|
|
1211
|
+
* Manually compact the context for a session.
|
|
1226
1212
|
*
|
|
1227
|
-
*
|
|
1228
|
-
*
|
|
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.
|
|
1229
1216
|
*
|
|
1230
1217
|
* @param sessionId Session ID of the session to compact (required)
|
|
1231
|
-
* @returns Compaction result with
|
|
1218
|
+
* @returns Compaction result with stats, or null if compaction was skipped
|
|
1232
1219
|
*/
|
|
1233
1220
|
async compactContext(sessionId) {
|
|
1234
1221
|
this.ensureStarted();
|
|
@@ -1249,70 +1236,65 @@ Either:
|
|
|
1249
1236
|
);
|
|
1250
1237
|
return null;
|
|
1251
1238
|
}
|
|
1252
|
-
const
|
|
1253
|
-
const
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
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
|
|
1257
1250
|
);
|
|
1258
|
-
const
|
|
1259
|
-
|
|
1260
|
-
|
|
1251
|
+
const originalTokens = beforeEstimate.estimated;
|
|
1252
|
+
const originalMessages = beforeEstimate.stats.filteredMessageCount;
|
|
1253
|
+
this.agentEventBus.emit("context:compacting", {
|
|
1254
|
+
estimatedTokens: originalTokens,
|
|
1255
|
+
sessionId
|
|
1261
1256
|
});
|
|
1262
|
-
|
|
1257
|
+
const summaryMessages = await compactionStrategy.compact(history);
|
|
1258
|
+
if (summaryMessages.length === 0) {
|
|
1263
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
|
+
});
|
|
1264
1269
|
return null;
|
|
1265
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
|
+
});
|
|
1266
1290
|
this.logger.info(
|
|
1267
|
-
`
|
|
1291
|
+
`Compaction complete for session ${sessionId}: ${originalMessages} messages \u2192 ${compactedMessages} messages (~${compactedTokens} tokens)`
|
|
1268
1292
|
);
|
|
1269
1293
|
return {
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
};
|
|
1275
|
-
}
|
|
1276
|
-
/**
|
|
1277
|
-
* Get the chain of linked sessions (ancestors and descendants) for a session.
|
|
1278
|
-
* Useful for displaying session history and understanding compaction lineage.
|
|
1279
|
-
*
|
|
1280
|
-
* @param sessionId Any session ID in the chain
|
|
1281
|
-
* @returns Array of session data in the chain, ordered chronologically (oldest first)
|
|
1282
|
-
*/
|
|
1283
|
-
async getSessionLineage(sessionId) {
|
|
1284
|
-
this.ensureStarted();
|
|
1285
|
-
if (!sessionId || typeof sessionId !== "string") {
|
|
1286
|
-
throw import_errors2.AgentError.apiValidationError(
|
|
1287
|
-
"sessionId is required and must be a non-empty string"
|
|
1288
|
-
);
|
|
1289
|
-
}
|
|
1290
|
-
const chain = await this.sessionManager.getSessionChain(sessionId);
|
|
1291
|
-
if (chain.length === 0) {
|
|
1292
|
-
throw import_session.SessionError.notFound(sessionId);
|
|
1293
|
-
}
|
|
1294
|
-
const currentIndex = chain.findIndex((s) => s.id === sessionId);
|
|
1295
|
-
if (currentIndex < 0) {
|
|
1296
|
-
throw import_session.SessionError.notFound(sessionId);
|
|
1297
|
-
}
|
|
1298
|
-
return {
|
|
1299
|
-
chain: chain.map((s) => {
|
|
1300
|
-
const item = {
|
|
1301
|
-
id: s.id,
|
|
1302
|
-
createdAt: s.createdAt
|
|
1303
|
-
};
|
|
1304
|
-
if (s.continuedFrom !== void 0) {
|
|
1305
|
-
item.continuedFrom = s.continuedFrom;
|
|
1306
|
-
}
|
|
1307
|
-
if (s.continuedTo !== void 0) {
|
|
1308
|
-
item.continuedTo = s.continuedTo;
|
|
1309
|
-
}
|
|
1310
|
-
if (s.compactedAt !== void 0) {
|
|
1311
|
-
item.compactedAt = s.compactedAt;
|
|
1312
|
-
}
|
|
1313
|
-
return item;
|
|
1314
|
-
}),
|
|
1315
|
-
currentIndex
|
|
1294
|
+
sessionId,
|
|
1295
|
+
compactedContextTokens: compactedTokens,
|
|
1296
|
+
originalMessages,
|
|
1297
|
+
compactedMessages
|
|
1316
1298
|
};
|
|
1317
1299
|
}
|
|
1318
1300
|
/**
|
|
@@ -1360,19 +1342,20 @@ Either:
|
|
|
1360
1342
|
const { getModelDisplayName } = await import("../llm/registry.js");
|
|
1361
1343
|
const modelDisplayName = getModelDisplayName(llmConfig.model, llmConfig.provider);
|
|
1362
1344
|
const estimatedTokens = tokenEstimate.estimated;
|
|
1363
|
-
const
|
|
1345
|
+
const autoCompactBuffer = thresholdPercent > 0 && thresholdPercent < 1 ? Math.floor(maxContextTokens * (1 - thresholdPercent) / thresholdPercent) : 0;
|
|
1346
|
+
const totalTokenSpace = maxContextTokens + autoCompactBuffer;
|
|
1347
|
+
const usedTokens = estimatedTokens + autoCompactBuffer;
|
|
1364
1348
|
return {
|
|
1365
1349
|
estimatedTokens,
|
|
1366
1350
|
actualTokens: tokenEstimate.actual,
|
|
1367
1351
|
maxContextTokens,
|
|
1368
1352
|
modelContextWindow,
|
|
1369
1353
|
thresholdPercent,
|
|
1370
|
-
usagePercent:
|
|
1354
|
+
usagePercent: totalTokenSpace > 0 ? Math.round(usedTokens / totalTokenSpace * 100) : 0,
|
|
1371
1355
|
messageCount: tokenEstimate.stats.originalMessageCount,
|
|
1372
1356
|
filteredMessageCount: tokenEstimate.stats.filteredMessageCount,
|
|
1373
1357
|
prunedToolCount: tokenEstimate.stats.prunedToolCount,
|
|
1374
1358
|
hasSummary,
|
|
1375
|
-
compactionCount,
|
|
1376
1359
|
model: llmConfig.model,
|
|
1377
1360
|
modelDisplayName,
|
|
1378
1361
|
breakdown: {
|
|
@@ -1460,83 +1443,6 @@ Either:
|
|
|
1460
1443
|
}
|
|
1461
1444
|
return validatedConfig;
|
|
1462
1445
|
}
|
|
1463
|
-
/**
|
|
1464
|
-
* Handles session-native continuation after compaction.
|
|
1465
|
-
*
|
|
1466
|
-
* When context compaction occurs, this method:
|
|
1467
|
-
* 1. Receives compaction data directly (summary text + preserved messages)
|
|
1468
|
-
* 2. Creates a new continuation session
|
|
1469
|
-
* 3. Adds the summary as the first message in the new session
|
|
1470
|
-
* 4. Adds preserved messages to the new session
|
|
1471
|
-
* 5. Links the old and new sessions for traceability
|
|
1472
|
-
* 6. Emits session:continued event for UI to handle session switch
|
|
1473
|
-
*
|
|
1474
|
-
* IMPORTANT: The original session is NOT modified. The summary was never added to it.
|
|
1475
|
-
* This is the clean session-native compaction approach where:
|
|
1476
|
-
* - Original session: UNCHANGED (full history preserved)
|
|
1477
|
-
* - New session: [summary, ...preservedMessages]
|
|
1478
|
-
*
|
|
1479
|
-
* @param currentSession The session that triggered compaction
|
|
1480
|
-
* @param compactionData The compaction data with summary text and preserved messages
|
|
1481
|
-
*/
|
|
1482
|
-
async handleSessionContinuation(currentSession, compactionData) {
|
|
1483
|
-
const currentSessionId = currentSession.id;
|
|
1484
|
-
try {
|
|
1485
|
-
const { summaryText, preservedMessages, summarizedCount } = compactionData;
|
|
1486
|
-
if (!summaryText) {
|
|
1487
|
-
this.logger.warn(
|
|
1488
|
-
`Session continuation skipped: empty summary text for session ${currentSessionId}`
|
|
1489
|
-
);
|
|
1490
|
-
return;
|
|
1491
|
-
}
|
|
1492
|
-
const { sessionId: newSessionId, session: newSession } = await this.sessionManager.createContinuationSession(currentSessionId);
|
|
1493
|
-
const sessionSummaryMessage = {
|
|
1494
|
-
role: "assistant",
|
|
1495
|
-
content: [{ type: "text", text: summaryText }],
|
|
1496
|
-
timestamp: Date.now(),
|
|
1497
|
-
metadata: {
|
|
1498
|
-
isSessionSummary: true,
|
|
1499
|
-
continuedFrom: currentSessionId,
|
|
1500
|
-
summarizedAt: Date.now(),
|
|
1501
|
-
originalMessageCount: summarizedCount,
|
|
1502
|
-
originalFirstTimestamp: compactionData.originalFirstTimestamp,
|
|
1503
|
-
originalLastTimestamp: compactionData.originalLastTimestamp
|
|
1504
|
-
}
|
|
1505
|
-
};
|
|
1506
|
-
const newContextManager = newSession.getContextManager();
|
|
1507
|
-
await newContextManager.addMessage(sessionSummaryMessage);
|
|
1508
|
-
for (const msg of preservedMessages) {
|
|
1509
|
-
await newContextManager.addMessage(msg);
|
|
1510
|
-
}
|
|
1511
|
-
await this.sessionManager.markSessionCompacted(currentSessionId, newSessionId);
|
|
1512
|
-
const { estimateMessagesTokens } = await import("../context/utils.js");
|
|
1513
|
-
const summaryTokens = estimateMessagesTokens([sessionSummaryMessage]);
|
|
1514
|
-
const totalOriginalMessages = summarizedCount + preservedMessages.length;
|
|
1515
|
-
const newSessionLLMConfig = this.stateManager.getRuntimeConfig(newSessionId).llm;
|
|
1516
|
-
const { getModelDisplayName } = await import("../llm/registry.js");
|
|
1517
|
-
const modelDisplayName = getModelDisplayName(
|
|
1518
|
-
newSessionLLMConfig.model,
|
|
1519
|
-
newSessionLLMConfig.provider
|
|
1520
|
-
);
|
|
1521
|
-
this.logger.info(
|
|
1522
|
-
`Session continuation: ${currentSessionId} \u2192 ${newSessionId} (${totalOriginalMessages} messages \u2192 summary + ${preservedMessages.length} preserved)`
|
|
1523
|
-
);
|
|
1524
|
-
this.agentEventBus.emit("session:continued", {
|
|
1525
|
-
previousSessionId: currentSessionId,
|
|
1526
|
-
newSessionId,
|
|
1527
|
-
summaryTokens,
|
|
1528
|
-
originalMessages: totalOriginalMessages,
|
|
1529
|
-
reason: "overflow",
|
|
1530
|
-
sessionId: newSessionId,
|
|
1531
|
-
model: newSessionLLMConfig.model,
|
|
1532
|
-
modelDisplayName
|
|
1533
|
-
});
|
|
1534
|
-
} catch (error) {
|
|
1535
|
-
this.logger.error(
|
|
1536
|
-
`Failed to handle session continuation for ${currentSessionId}: ${error instanceof Error ? error.message : String(error)}`
|
|
1537
|
-
);
|
|
1538
|
-
}
|
|
1539
|
-
}
|
|
1540
1446
|
/**
|
|
1541
1447
|
* Performs the actual LLM switch with a validated configuration.
|
|
1542
1448
|
* This is a helper method that handles state management and session switching.
|
|
@@ -378,46 +378,25 @@ export declare class DextoAgent {
|
|
|
378
378
|
*/
|
|
379
379
|
clearContext(sessionId: string): Promise<void>;
|
|
380
380
|
/**
|
|
381
|
-
* Manually compact the context
|
|
381
|
+
* Manually compact the context for a session.
|
|
382
382
|
*
|
|
383
|
-
*
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
-
* The old session is marked as compacted with `continuedTo` pointing to the new session,
|
|
387
|
-
* and the new session has `continuedFrom` pointing back to the old session.
|
|
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.
|
|
388
386
|
*
|
|
389
387
|
* @param sessionId Session ID of the session to compact (required)
|
|
390
|
-
* @returns Compaction result with
|
|
388
|
+
* @returns Compaction result with stats, or null if compaction was skipped
|
|
391
389
|
*/
|
|
392
390
|
compactContext(sessionId: string): Promise<{
|
|
393
391
|
/** The session that was compacted */
|
|
394
|
-
|
|
395
|
-
/**
|
|
396
|
-
|
|
397
|
-
/**
|
|
398
|
-
summaryTokens: number;
|
|
399
|
-
/** Number of messages that were summarized */
|
|
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 */
|
|
400
396
|
originalMessages: number;
|
|
397
|
+
/** Number of messages after compaction (summary + preserved) */
|
|
398
|
+
compactedMessages: number;
|
|
401
399
|
} | null>;
|
|
402
|
-
/**
|
|
403
|
-
* Get the chain of linked sessions (ancestors and descendants) for a session.
|
|
404
|
-
* Useful for displaying session history and understanding compaction lineage.
|
|
405
|
-
*
|
|
406
|
-
* @param sessionId Any session ID in the chain
|
|
407
|
-
* @returns Array of session data in the chain, ordered chronologically (oldest first)
|
|
408
|
-
*/
|
|
409
|
-
getSessionLineage(sessionId: string): Promise<{
|
|
410
|
-
/** All sessions in the chain, ordered chronologically */
|
|
411
|
-
chain: Array<{
|
|
412
|
-
id: string;
|
|
413
|
-
createdAt: number;
|
|
414
|
-
continuedFrom?: string;
|
|
415
|
-
continuedTo?: string;
|
|
416
|
-
compactedAt?: number;
|
|
417
|
-
}>;
|
|
418
|
-
/** Index of the requested session in the chain */
|
|
419
|
-
currentIndex: number;
|
|
420
|
-
}>;
|
|
421
400
|
/**
|
|
422
401
|
* Get context usage statistics for a session.
|
|
423
402
|
* Useful for monitoring context window usage and compaction status.
|
|
@@ -440,8 +419,6 @@ export declare class DextoAgent {
|
|
|
440
419
|
filteredMessageCount: number;
|
|
441
420
|
prunedToolCount: number;
|
|
442
421
|
hasSummary: boolean;
|
|
443
|
-
/** Number of times this session chain has been compacted */
|
|
444
|
-
compactionCount: number;
|
|
445
422
|
/** Current model identifier */
|
|
446
423
|
model: string;
|
|
447
424
|
/** Display name for the model */
|
|
@@ -514,26 +491,6 @@ export declare class DextoAgent {
|
|
|
514
491
|
* ```
|
|
515
492
|
*/
|
|
516
493
|
switchLLM(llmUpdates: LLMUpdates, sessionId?: string): Promise<ValidatedLLMConfig>;
|
|
517
|
-
/**
|
|
518
|
-
* Handles session-native continuation after compaction.
|
|
519
|
-
*
|
|
520
|
-
* When context compaction occurs, this method:
|
|
521
|
-
* 1. Receives compaction data directly (summary text + preserved messages)
|
|
522
|
-
* 2. Creates a new continuation session
|
|
523
|
-
* 3. Adds the summary as the first message in the new session
|
|
524
|
-
* 4. Adds preserved messages to the new session
|
|
525
|
-
* 5. Links the old and new sessions for traceability
|
|
526
|
-
* 6. Emits session:continued event for UI to handle session switch
|
|
527
|
-
*
|
|
528
|
-
* IMPORTANT: The original session is NOT modified. The summary was never added to it.
|
|
529
|
-
* This is the clean session-native compaction approach where:
|
|
530
|
-
* - Original session: UNCHANGED (full history preserved)
|
|
531
|
-
* - New session: [summary, ...preservedMessages]
|
|
532
|
-
*
|
|
533
|
-
* @param currentSession The session that triggered compaction
|
|
534
|
-
* @param compactionData The compaction data with summary text and preserved messages
|
|
535
|
-
*/
|
|
536
|
-
private handleSessionContinuation;
|
|
537
494
|
/**
|
|
538
495
|
* Performs the actual LLM switch with a validated configuration.
|
|
539
496
|
* This is a helper method that handles state management and session switching.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DextoAgent.d.ts","sourceRoot":"","sources":["../../src/agent/DextoAgent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAA2B,MAAM,uBAAuB,CAAC;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAgB,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAC;AAWxF,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAuB,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAKH,SAAS,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE5F,OAAO,EACH,aAAa,EAEb,KAAK,cAAc,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DextoAgent.d.ts","sourceRoot":"","sources":["../../src/agent/DextoAgent.ts"],"names":[],"mappings":"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"}
|