Merged via squash. Prepared head SHA: be473efd1635616ebbae6e649d542ed50b4a827f Co-authored-by: rodrigouroz <384037+rodrigouroz@users.noreply.github.com> Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com> Reviewed-by: @jalehman
26 lines
988 B
TypeScript
26 lines
988 B
TypeScript
import type { Api, Model } from "@mariozechner/pi-ai";
|
|
import type { AgentCompactionIdentifierPolicy } from "../../config/types.agent-defaults.js";
|
|
import { createSessionManagerRuntimeRegistry } from "./session-manager-runtime-registry.js";
|
|
|
|
export type CompactionSafeguardRuntimeValue = {
|
|
maxHistoryShare?: number;
|
|
contextWindowTokens?: number;
|
|
identifierPolicy?: AgentCompactionIdentifierPolicy;
|
|
identifierInstructions?: string;
|
|
/**
|
|
* Model to use for compaction summarization.
|
|
* Passed through runtime because `ctx.model` is undefined in the compact.ts workflow
|
|
* (extensionRunner.initialize() is never called in that path).
|
|
*/
|
|
model?: Model<Api>;
|
|
recentTurnsPreserve?: number;
|
|
qualityGuardEnabled?: boolean;
|
|
qualityGuardMaxRetries?: number;
|
|
};
|
|
|
|
const registry = createSessionManagerRuntimeRegistry<CompactionSafeguardRuntimeValue>();
|
|
|
|
export const setCompactionSafeguardRuntime = registry.set;
|
|
|
|
export const getCompactionSafeguardRuntime = registry.get;
|