Merge pull request #262 from getcompanion-ai/memory-staging

Add first-class memory management plumbing
This commit is contained in:
Hari 2026-03-08 19:54:01 -04:00 committed by GitHub
commit fb782fa025
17 changed files with 1982 additions and 3885 deletions

View file

@ -320,6 +320,7 @@ export async function createAgentSession(
};
const extensionRunnerRef: { current?: ExtensionRunner } = {};
const sessionRef: { current?: AgentSession } = {};
agent = new Agent({
initialState: {
@ -331,9 +332,15 @@ export async function createAgentSession(
convertToLlm: convertToLlmWithBlockImages,
sessionId: sessionManager.getSessionId(),
transformContext: async (messages) => {
const currentSession = sessionRef.current;
let transformedMessages = messages;
if (currentSession) {
transformedMessages =
await currentSession.transformRuntimeContext(transformedMessages);
}
const runner = extensionRunnerRef.current;
if (!runner) return messages;
return runner.emitContext(messages);
if (!runner) return transformedMessages;
return runner.emitContext(transformedMessages);
},
steeringMode: settingsManager.getSteeringMode(),
followUpMode: settingsManager.getFollowUpMode(),
@ -393,6 +400,7 @@ export async function createAgentSession(
initialActiveToolNames,
extensionRunnerRef,
});
sessionRef.current = session;
const extensionsResult = resourceLoader.getExtensions();
return {