import type { ExtensionContext } from "@earendil-works/pi-coding-agent"; import { type FabricExecutionTraceV1 } from "./audit/trace.js"; import { FabricActivityStore } from "./activity/store.js"; import type { FabricRunDisplay } from "./activity/types.js"; import { type FabricConfig } from "./config.js"; import { ActionRegistry, type FabricCallAudit } from "./core/action-registry.js"; import type { FabricTypeError } from "./runtime/type-checker.js"; export interface FabricExecutionResult { success: boolean; value: unknown; logs: string[]; audits: FabricCallAudit[]; phases: string[]; trace: FabricExecutionTraceV1; elapsedMs: number; typeErrors?: FabricTypeError[]; error?: string; } interface FabricExecutionPartial { audits: FabricCallAudit[]; phases: string[]; progress?: string | undefined; } export interface FabricExecutionAuthorizer { authorize(ref: string, parentToolCallId: string): Promise; } export interface FabricExecutionOptions { code: string; strings?: Record; signal: AbortSignal | undefined; parentToolCallId: string; context: ExtensionContext; tokenBudget?: number; maxAgentCalls?: number; display?: FabricRunDisplay; onPartial(snapshot: FabricExecutionPartial): void; } export declare class FabricExecutionService { #private; readonly registry: ActionRegistry; readonly config: FabricConfig; readonly activity?: FabricActivityStore | undefined; readonly authorizer?: FabricExecutionAuthorizer | undefined; constructor(registry: ActionRegistry, config: FabricConfig, activity?: FabricActivityStore | undefined, authorizer?: FabricExecutionAuthorizer | undefined); execute(options: FabricExecutionOptions): Promise; } export {}; //# sourceMappingURL=execution-service.d.ts.map