export declare function canonicalizeOriginCwd(cwd: string | undefined): string | null; export declare const LEADER_CONDUCTOR_PHILOSOPHY = "Conductor Philosophy: The core principle of OMX is: You are the conductor, not the performer."; export declare const LEADER_CONDUCTOR_GOLDEN_RULE = "When the Main agent is acting in Conductor mode, NEVER make plan or code changes directly. ALWAYS delegate implementation to specialized agents. Your role is to guide, review, and orchestrate."; export declare const LEADER_CONDUCTOR_SILVER_RULE = "Silver Rule: When follow-up work targets an existing role/lane, reuse or resume the assigned specialized agent whenever available before spawning a replacement."; export declare const LEADER_CONDUCTOR_DELEGATION_NOTE = "Delegation note: assign bounded implementation, planning, review, and verification work to the appropriate specialized agents; Main owns orchestration, integration, and final judgment only."; export declare const LEADER_CONDUCTOR_REUSE_AND_LEDGER_RULES: readonly ['Conductor mode is a Main-root contract only; typed subagents never receive this block.', 'Use .omx/state/subagent-tracking.json as the source of truth for saved subagent ids and recovery order.', 'On SessionStart, eagerly attempt resume_agent() for every saved subagent id before spawning any replacement agent.', 'ralplan consensus planning may activate Conductor; autopilot rework stays exempt.']; export declare const LEADER_CONDUCTOR_BLOCK: string; export declare const LEADER_CONDUCTOR_REUSE_AND_LEDGER_GUIDANCE: string; export type NativeSubagentSupportStatus = 'supported' | 'unsupported' | 'unknown' | 'role_routing_unavailable'; export type NativeSubagentUnsupportedReason = 'native_subagents_unsupported' | 'multi_agent_v1_unavailable' | 'agent_thread_limit_reached'; export type NativeSubagentSupportEvidenceSource = 'hook_payload_capability' | 'hook_payload_available_tools' | 'post_tool_failure' | 'persisted_support_blocker' | 'persisted_role_routing_marker' | 'capacity_blocker' | 'default_unknown'; export interface NativeSubagentSupportEvidence { status: NativeSubagentSupportStatus; reason?: NativeSubagentUnsupportedReason; source: NativeSubagentSupportEvidenceSource; evidenceSummary?: string; observedAt?: string; expiresAt?: string; } export type NativeSubagentResultDisposition = { kind: 'success'; evidenceSummary: string; } | { kind: 'capacity'; evidenceSummary: string; } | { kind: 'unsupported'; reason: Exclude; evidenceSummary: string; } | { kind: 'unknown'; evidenceSummary: string; }; export interface RoleRoutingUnavailableMarker { schema_version: 1; cwd?: string; session_id?: string; parent_thread_id?: string; observed_at: string; expires_at: string; evidence?: string; } export interface NativeSubagentCapabilityInput { payload?: Record | null; persistedSupportBlocker?: Record | null; persistedRoleRoutingMarker?: unknown; persistedCapacityBlocker?: Record | null; nowMs?: number; cwd?: string; sessionId?: string; } export declare const NATIVE_SUBAGENT_SUPPORT_BLOCKER_REASONS: readonly ['native_subagents_unsupported', 'multi_agent_v1_unavailable', 'agent_thread_limit_reached']; export declare const NATIVE_SUBAGENT_SUPPORT_BLOCKER_FILE = "native-subagent-support.json"; export declare const LEADER_CONDUCTOR_UNSUPPORTED_NATIVE_DEGRADE_BLOCK: string; export declare const LEADER_CONDUCTOR_ROLE_ROUTING_DEGRADE_BLOCK: string; export declare function parseNativeSubagentResultDisposition(toolName: string, value: unknown): NativeSubagentResultDisposition; export declare function canonicalizeNativeCollaborationToolName(name: string): string; export declare function isNativeSubagentSpawnToolName(name: string): boolean; export declare function isNativeSubagentResultToolName(name: string): boolean; export declare function resolveNativeSubagentSupportStatus(input: NativeSubagentCapabilityInput): NativeSubagentSupportEvidence; export declare function isUnsupportedNativeSubagentEvidenceForScope(value: unknown, input?: Pick): boolean; export declare function isUnsupportedNativeSubagentEvidence(value: unknown): boolean; export declare function isRoleRoutingUnavailableEvidence(value: unknown): boolean; export declare function buildUnsupportedNativeSubagentGuidance(evidence: NativeSubagentSupportEvidence): string; export declare function buildRoleRoutingUnavailableGuidance(evidence: NativeSubagentSupportEvidence): string; export type ConductorPhase = 'deep-interview' | 'ralplan' | 'autopilot-supervision' | 'ultragoal' | 'team' | 'ralph'; export type ConductorLaneKind = 'main-conductor' | 'typed-subagent' | 'team-worker' | 'performer-carveout'; export type ConductorActionKind = 'read-only' | 'orchestration-metadata-write' | 'substantive-deliverable-write' | 'implementation-mutation' | 'unknown-write'; export type ConductorArtifactKind = 'orchestration-metadata' | 'transport' | 'ledger' | 'substantive-plan-spec-interview-review-qa' | 'implementation-source-package-git' | 'unknown'; export interface ConductorAuthorizationInput { phase: ConductorPhase; laneKind: ConductorLaneKind; actionKind: ConductorActionKind; artifactKind: ConductorArtifactKind; } export interface ConductorAuthorizationDecision { allowed: boolean; reason: string; } export declare const CONDUCTOR_ORCHESTRATION_METADATA_PREFIXES: readonly ['.omx/state', '.omx/ultragoal', '.omx/ralph', '.omx/team', '.omx/mailbox', '.omx/handoff', '.omx/handoffs', '.omx/goals', '.omx/notepad', '.omx/wiki', '.beads']; export declare function classifyConductorArtifactKind(relativePath: string): ConductorArtifactKind; export declare function actionKindForConductorArtifact(artifactKind: ConductorArtifactKind): ConductorActionKind; export declare function authorizeConductorAction(input: ConductorAuthorizationInput): ConductorAuthorizationDecision; //# sourceMappingURL=contract.d.ts.map