18 lines
753 B
TypeScript
Raw Normal View History

2026-02-18 01:29:02 +00:00
import { createSessionManagerRuntimeRegistry } from "../session-manager-runtime-registry.js";
import type { EffectiveContextPruningSettings } from "./settings.js";
export type ContextPruningRuntimeValue = {
settings: EffectiveContextPruningSettings;
contextWindowTokens?: number | null;
isToolPrunable: (toolName: string) => boolean;
2026-01-21 19:44:20 +00:00
lastCacheTouchAt?: number | null;
};
// Important: this relies on Pi passing the same SessionManager object instance into
// ExtensionContext (ctx.sessionManager) that we used when calling setContextPruningRuntime.
const registry = createSessionManagerRuntimeRegistry<ContextPruningRuntimeValue>();
export const setContextPruningRuntime = registry.set;
export const getContextPruningRuntime = registry.get;