import { type AgentBindingContract, type OrchestrationDelegationLimits } from "../orchestration/contracts.ts"; import type { TaskRuntimeProjection } from "../orchestration/task-runtime.ts"; /** * Process-independent safety ceilings for one durable session fleet. These limits bound persisted * identity growth and scheduler fan-out; model/provider budgets remain separately authoritative. */ export interface WorkerFleetLimits { maxDepth: number; maxAgentsPerSession: number; maxChildrenPerAgent: number; maxNestedAgentsPerSession: number; maxQueuedDispatches: number; } export declare const DEFAULT_WORKER_FLEET_LIMITS: Readonly; /** Every newly compiled native worker is a leaf; legacy wider limits are narrowed to this contract. */ export declare const LEAF_WORKER_DELEGATION_LIMITS: Readonly; /** Materialize an optional profile limit inside the process-independent host safety ceiling. */ export declare function resolveWorkerFleetLimits(delegationLimits?: Readonly): Readonly; /** Legacy recovery may preserve or narrow a persisted lineage boundary, never widen it. */ export declare function intersectWorkerDelegationLimits(requested?: Readonly, boundary?: Readonly): OrchestrationDelegationLimits | undefined; export type NewWorkerAdmission = { ok: true; depth: number; } | { ok: false; reasonCode: "worker_agent_parent_unknown" | "worker_agent_parent_retired" | "worker_agent_depth_limit_reached" | "worker_agent_child_limit_reached" | "worker_agent_nested_session_limit_reached" | "worker_agent_session_limit_reached"; }; export type WorkerIdentityHeadroomAdmission = { ok: true; } | { ok: false; reasonCode: "worker_agent_session_limit_reached"; }; /** Subjects whose admitted verifier identity has not yet been materialized. */ export declare function pendingVerifierSubjectTaskIds(snapshot: Pick): Set; /** * A persistent-agent turn consumes no implementation identity, but its retained immutable contract * can still require a fresh verifier. Protect both that verifier and every earlier reservation. */ export declare function evaluateReusableWorkerTaskAdmission(snapshot: Pick, agentId: string, limits?: Readonly): WorkerIdentityHeadroomAdmission; /** Evaluate a new durable identity before a task, conversation, or scheduler entry is created. */ export declare function evaluateNewWorkerAdmission(agents: Readonly>, parentAgentId?: string, limits?: Readonly, requiredAgentSlots?: number): NewWorkerAdmission; /** Keep one queue slot reserved for an already-admitted mandatory verifier. */ export declare function workerQueueHasCapacity(queuedCount: number, priority: boolean, limits?: Readonly): boolean; //# sourceMappingURL=worker-fleet-limits.d.ts.map