Read-only context + delegate methods that a Runner uses to interact with Cortex. Created fresh for each run() invocation via Cortex.createRunnerContext().

interface RunnerContext {
    apiBaseUrl: string;
    insights: any;
    last_result: any;
    llmCallFn?: ((args: {
        input: any[];
        model: string;
        schema?: any;
        schema_name?: string;
    }) => Promise<any>);
    log: ((...args: any[]) => void);
    messages: common.apis.cortex.IOMessages;
    model: string;
    provider: common.apis.cortex.Provider;
    signal?: AbortSignal;
    workspace: Record<string, any>;
    addCortexMessage(content: string): void;
    addUserResultInput(result: common.apis.cortex.CodeExecutionResult): void;
    buildMessages(): {
        content: string;
        role: string;
    }[];
    emitEvent(evt: any): void;
    getContextStatus(): common.apis.cortex.ContextStatus;
    logEvent(msg: string): void;
    runCodeOutput(output: common.apis.cortex.CodeOutput): Promise<common.apis.cortex.FunctionResult>;
    updateUsage(promptTokens: number, completionTokens: number, cachedInputTokens?: number): void;
}

Properties

apiBaseUrl: string
insights: any
last_result: any
llmCallFn?: ((args: {
    input: any[];
    model: string;
    schema?: any;
    schema_name?: string;
}) => Promise<any>)
log: ((...args: any[]) => void)
model: string
signal?: AbortSignal
workspace: Record<string, any>

Methods