import type { ONIConfig } from "./types.js"; import type { BaseStore } from "./store/index.js"; import type { ToolPermissions } from "./tools/types.js"; export interface StreamWriter { emit(name: string, data: unknown): void; token(token: string): void; } export interface RunContext { config: ONIConfig; store: BaseStore | null; writer: StreamWriter | null; state: unknown; parentGraph: unknown | null; parentUpdates: Array>; step: number; recursionLimit: number; /** Tool permissions from guardrails config — checked by defineAgent before executing tools. */ toolPermissions?: ToolPermissions; /** Record model token usage into the budget tracker — may throw BudgetExceededError */ _recordUsage?: (agentName: string, modelId: string, usage: { inputTokens: number; outputTokens: number; }) => void; /** Emit a lifecycle event from within a node execution */ _emitEvent?: (event: { type: string; [key: string]: unknown; }) => void; /** Record an audit entry from within a node execution */ _auditRecord?: (entry: { timestamp: number; agent: string; action: string; data: Record; }) => void; } export declare function _runWithContext(ctx: RunContext, fn: () => T | Promise): Promise; export declare function _getRunContext(): RunContext | undefined; export declare function getConfig(): ONIConfig; export declare function getStore(): BaseStore | null; export declare function getStreamWriter(): StreamWriter | null; export declare function getCurrentState(): S; export declare function getRemainingSteps(): number; //# sourceMappingURL=context.d.ts.map