import type { ThinkingLevel } from "@caupulican/pi-agent-core"; import type { Usage } from "@caupulican/pi-ai"; export type Provider = "pi" | "codex" | "agy" | "claude" | "opencode" | "custom"; /** Full host-auditable Pi worker surface after the shared worker ceiling removes agent launchers * and root-owned durable mutation controls. */ export declare const DEFAULT_MANAGED_WORKER_TOOLS: readonly string[]; export declare class WorkerLaunchProfileError extends Error { readonly code: "worker_profile_tools_rejected"; readonly rejectedTools: readonly string[]; constructor(rejectedTools: readonly string[]); } export interface WorkerLaunchProfileInput { identity: string; inheritedTools?: readonly string[]; allowedTools?: readonly string[]; resourceProfile?: string; resourceProfileJson?: string; writePaths?: readonly string[]; thinkingLevel?: ThinkingLevel; worktreeLane?: string; parentPid?: number; parentSession?: string; taskRef?: string; } /** Immutable profile compiled once before a managed process is reserved or launched. Empty * `writePaths` means the host-derived machine-root scope; a non-empty list is an explicit narrowing. */ export interface WorkerLaunchProfile { readonly identity: string; readonly allowedTools: readonly string[]; readonly resourceProfile?: string; readonly resourceProfileJson?: string; readonly writePaths: readonly string[]; readonly thinkingLevel?: ThinkingLevel; readonly worktreeLane?: string; readonly parentPid?: number; readonly parentSession?: string; readonly taskRef?: string; } export declare function deriveWorkerLaunchProfile(input: WorkerLaunchProfileInput): WorkerLaunchProfile; export interface LaunchProfileFlag { flag: string; value?: string; } /** Render a Pi child's immutable profile into its own CLI configuration. The manager supplies either * an explicit resource-profile override or a one-shot snapshot of the parent's effective resources; * standalone callers that omit both retain the child's normal resources. */ export declare function buildLaunchProfileFlags(profile: WorkerLaunchProfile): LaunchProfileFlag[]; export declare function buildScopedSystemPrompt(profile: WorkerLaunchProfile): string; /** Decode an optional cooperative worker usage claim. Malformed numeric fields are zeroed because * the claim is advisory and must never become an authoritative billing record. */ export declare function decodeTmuxWorkerUsageClaim(raw: unknown): Usage | undefined; //# sourceMappingURL=launch-profile.d.ts.map