import type { CapabilityAuditBufferOptions, CapabilityBrokerOptions } from "./capabilities"; import type { CreateIsolatedRunnerOptions } from "./run"; import type { IsolateOptions, RunOptions } from "./types"; export type IsolatePolicyName = "ai-tool" | "tenant-script" | "plugin" | "trusted"; export type ResolvedIsolatePolicy = { name: IsolatePolicyName; description: string; isolate: Pick; run: Required>; recipe: IsolatePolicyRecipe; console: { capture: "drop" | "host"; }; fallback: { allowWorker: boolean; productionNote: string; }; }; export type IsolatePolicyRecipe = { audit: { maxEvents: number; }; broker: { defaultConcurrency: number; defaultMaxOutputBytes: number; defaultTimeoutMs: number; }; console: { maxBytes: number; maxEntries: number; }; pool: { idleMs: number; maxSize: number; recycleAfter: number; }; run: Required>; }; export type ResolveIsolatePolicyOverrides = { backend?: IsolateOptions["backend"]; harden?: IsolateOptions["harden"]; memoryLimit?: IsolateOptions["memoryLimit"]; timeout?: RunOptions["timeout"]; maxResultBytes?: RunOptions["maxResultBytes"]; auditMaxEvents?: number; brokerDefaultConcurrency?: number; brokerDefaultMaxOutputBytes?: number; brokerDefaultTimeoutMs?: number; captureConsole?: boolean; maxConsoleBytes?: number; maxConsoleEntries?: number; poolIdleMs?: number; poolMaxSize?: number; poolRecycleAfter?: number; allowWorkerFallback?: boolean; }; export type PolicyAppliedIsolateOptions = Omit & { policy?: ResolvedIsolatePolicy; }; type PolicyOrRecipe = ResolvedIsolatePolicy | IsolatePolicyRecipe; export type PolicyBrokerRecipeOptions = Pick, "defaultConcurrency" | "defaultMaxOutputBytes" | "defaultTimeoutMs">; export type PolicyRunnerRecipeOptions = Pick; export declare const resolveIsolatePolicy: (name: IsolatePolicyName, overrides?: ResolveIsolatePolicyOverrides) => ResolvedIsolatePolicy; export declare const policyAuditOptions: (policy: PolicyOrRecipe) => CapabilityAuditBufferOptions; export declare const policyBrokerOptions: (policy: PolicyOrRecipe) => PolicyBrokerRecipeOptions; export declare const policyConsoleOptions: (policy: PolicyOrRecipe) => Pick; export declare const policyRunOptions: (policy: PolicyOrRecipe) => Required>; export declare const policyRunnerOptions: (policy: PolicyOrRecipe) => PolicyRunnerRecipeOptions; export declare const applyIsolatePolicyOptions: (options?: IsolateOptions) => PolicyAppliedIsolateOptions; export {};