import type { AppSignal, RuntimeContext, SessionState, WorldState, BudgetState, MemoryService, GoalStore } from "@loomic/types"; import type { ToolRegistry } from "./tool-registry.js"; import type { UIComposer } from "./ui-composer.js"; import type { RuntimeJournal } from "./journal.js"; /** * ContextAssemblerConfig — sources the assembler reads from. * All optional except signal and the core runtime modules. */ export type ContextAssemblerConfig = { session: SessionState; world: WorldState; budgets: BudgetState; tools: ToolRegistry; ui: UIComposer; memoryService?: MemoryService; goalStore?: GoalStore; policies?: Array<{ name: string; }>; /** Journal for extracting recent signals. */ journal?: RuntimeJournal; /** Max recent signals to include. Default: 10. */ recentSignalLimit?: number; /** Keys in world state to redact before sending to planner. */ redactedWorldKeys?: string[]; /** Memory sensitivity threshold — only memories at or below this level are included. */ memorySensitivityCeiling?: "public" | "normal" | "sensitive"; }; /** * assembleContext — gathers data from all runtime sources into * a RuntimeContext for the planner. * * This is the single async gathering step in each run-loop cycle. */ export declare function assembleContext(signal: AppSignal, config: ContextAssemblerConfig): Promise; //# sourceMappingURL=context-assembler.d.ts.map