mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-26 17:03:33 +00:00
feat(context-engine): plumb sessionKey into all ContextEngine methods (#44157)
Merged via squash.
Prepared head SHA: 0b341f6f4c
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
This commit is contained in:
@@ -61,6 +61,7 @@ class MockContextEngine implements ContextEngine {
|
||||
|
||||
async ingest(_params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
message: AgentMessage;
|
||||
isHeartbeat?: boolean;
|
||||
}): Promise<IngestResult> {
|
||||
@@ -69,6 +70,7 @@ class MockContextEngine implements ContextEngine {
|
||||
|
||||
async assemble(params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
messages: AgentMessage[];
|
||||
tokenBudget?: number;
|
||||
}): Promise<AssembleResult> {
|
||||
@@ -81,6 +83,7 @@ class MockContextEngine implements ContextEngine {
|
||||
|
||||
async compact(_params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
sessionFile: string;
|
||||
tokenBudget?: number;
|
||||
compactionTarget?: "budget" | "threshold";
|
||||
|
||||
@@ -26,6 +26,7 @@ export class LegacyContextEngine implements ContextEngine {
|
||||
|
||||
async ingest(_params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
message: AgentMessage;
|
||||
isHeartbeat?: boolean;
|
||||
}): Promise<IngestResult> {
|
||||
@@ -35,6 +36,7 @@ export class LegacyContextEngine implements ContextEngine {
|
||||
|
||||
async assemble(params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
messages: AgentMessage[];
|
||||
tokenBudget?: number;
|
||||
}): Promise<AssembleResult> {
|
||||
@@ -49,6 +51,7 @@ export class LegacyContextEngine implements ContextEngine {
|
||||
|
||||
async afterTurn(_params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
sessionFile: string;
|
||||
messages: AgentMessage[];
|
||||
prePromptMessageCount: number;
|
||||
@@ -62,6 +65,7 @@ export class LegacyContextEngine implements ContextEngine {
|
||||
|
||||
async compact(params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
sessionFile: string;
|
||||
tokenBudget?: number;
|
||||
force?: boolean;
|
||||
|
||||
@@ -72,13 +72,18 @@ export interface ContextEngine {
|
||||
/**
|
||||
* Initialize engine state for a session, optionally importing historical context.
|
||||
*/
|
||||
bootstrap?(params: { sessionId: string; sessionFile: string }): Promise<BootstrapResult>;
|
||||
bootstrap?(params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
sessionFile: string;
|
||||
}): Promise<BootstrapResult>;
|
||||
|
||||
/**
|
||||
* Ingest a single message into the engine's store.
|
||||
*/
|
||||
ingest(params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
message: AgentMessage;
|
||||
/** True when the message belongs to a heartbeat run. */
|
||||
isHeartbeat?: boolean;
|
||||
@@ -89,6 +94,7 @@ export interface ContextEngine {
|
||||
*/
|
||||
ingestBatch?(params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
messages: AgentMessage[];
|
||||
/** True when the batch belongs to a heartbeat run. */
|
||||
isHeartbeat?: boolean;
|
||||
@@ -101,6 +107,7 @@ export interface ContextEngine {
|
||||
*/
|
||||
afterTurn?(params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
sessionFile: string;
|
||||
messages: AgentMessage[];
|
||||
/** Number of messages that existed before the prompt was sent. */
|
||||
@@ -121,6 +128,7 @@ export interface ContextEngine {
|
||||
*/
|
||||
assemble(params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
messages: AgentMessage[];
|
||||
tokenBudget?: number;
|
||||
}): Promise<AssembleResult>;
|
||||
@@ -131,6 +139,7 @@ export interface ContextEngine {
|
||||
*/
|
||||
compact(params: {
|
||||
sessionId: string;
|
||||
sessionKey?: string;
|
||||
sessionFile: string;
|
||||
tokenBudget?: number;
|
||||
/** Force compaction even below the default trigger threshold. */
|
||||
|
||||
Reference in New Issue
Block a user