export type ExecutionMode = "standalone-claude" | "ao-orchestrator" | "ao-worker" | "operator-cli"; export interface ExecutionContext { readonly mode: ExecutionMode; readonly sessionId: string; readonly agentId?: string; readonly role?: string; readonly objectiveId?: string; readonly taskId?: string; readonly projectRoot: string; readonly projectId?: string; readonly worktree?: { readonly id: string; readonly path: string; readonly branch: string; readonly baseSha: string; }; } export type ContextErrorCode = "AO_CONTEXT_UNAVAILABLE" | "INVALID_CONTEXT" | "AO_OWNED_OPERATION"; export declare class ExecutionContextError extends Error { readonly code: ContextErrorCode; constructor(code: ContextErrorCode, message: string); } /** Resolve one context from the host's authoritative AO/session fields. */ export declare function resolveExecutionContext(env?: NodeJS.ProcessEnv, cwd?: string): ExecutionContext; /** Commands which would create a second lifecycle owner inside an AO worker. */ export declare function assertLifecycleOwner(context: ExecutionContext, operation: string): void; export declare function isAoContext(context: ExecutionContext): boolean; //# sourceMappingURL=execution-context.d.ts.map