import type { LanguageModel, TelemetryOptions } from 'ai'; import type { Session } from '../types/session.js'; import type { EffectToolExecutor, MemoryService, AutoRetrieveProvider, RunContext } from '../types/run-context.js'; import type { StreamPart } from '../types/stream.js'; import type { RefinementCapability } from '../capabilities/RefinementCapability.js'; import type { ValidationCapability } from '../capabilities/ValidationCapability.js'; import type { InputProcessor, OutputProcessor } from '../types/processors.js'; import type { Limits } from '../types/guardrails.js'; import type { FileSystem } from '../types/filesystem.js'; import type { RunState, SignalDelivery, StepRecord } from './durable/types.js'; import type { RunStore } from './durable/RunStore.js'; import { type Policy } from './policies/toolPolicy.js'; import type { SkillHandle } from '../skills/skillHandle.js'; import type { SkillMeta } from '../types/skills.js'; import { type SkillActivation } from '../skills/skillActivation.js'; import type { LiveSkillCatalog } from '../skills/liveSkillCatalog.js'; import type { FlowGateJudgeProvider } from '../flow/evaluateGates.js'; interface EffectClock { now(): number; uuid(): string; } export interface CtxDeps { session: Session; runState: RunState; runStore: RunStore; steps: StepRecord[]; toolExecutor: EffectToolExecutor; model: LanguageModel; controlModel?: LanguageModel; outOfBandControl?: boolean; refinementPolicies?: RefinementCapability[]; validationPolicies?: ValidationCapability[]; inputProcessors?: InputProcessor[]; outputProcessors?: OutputProcessor[]; limits?: Limits; autoRetrieve?: AutoRetrieveProvider; memoryService?: MemoryService; fs?: FileSystem; bargeIn?: AbortSignal; abortSignal?: AbortSignal; clock?: EffectClock; emit?: (part: StreamPart) => void; /** Decides allow / ask / deny per tool call. Defaults to honouring `needsApproval`. */ policy?: Policy; signalDelivery?: SignalDelivery; getSkill?: (name: string) => SkillHandle; skillMetaByName?: ReadonlyMap; skillActivations?: SkillActivation[]; skillCatalog?: LiveSkillCatalog; flowGateJudge?: FlowGateJudgeProvider | LanguageModel; telemetry?: TelemetryOptions; } export declare function createRunContext(deps: CtxDeps): Promise; export {};