import type { AgentToolContext, ToolCallContext } from "@gajae-code/agent-core"; import type { Settings } from "../config/settings"; import type { CustomToolContext } from "../extensibility/custom-tools/types"; import type { ExtensionUIContext } from "../extensibility/extensions/types"; export type InternalToolContext = Omit & { settings: Settings; }; declare module "@gajae-code/agent-core" { interface AgentToolContext extends Omit { settings?: Settings; ui?: ExtensionUIContext; hasUI?: boolean; toolNames?: string[]; toolCall?: ToolCallContext; } } export declare class ToolContextStore { #private; private readonly getBaseContext; constructor(getBaseContext: () => InternalToolContext); getContext(toolCall?: ToolCallContext): AgentToolContext; setUIContext(uiContext: ExtensionUIContext, hasUI: boolean): void; setToolNames(names: string[]): void; }