import type { ExecutionEnvironmentMode } from './execution-environment-mode.js'; import { type AgentCapabilities, type AgentClientType, type CanonControlDescriptor, type CanonControlLiveBehavior, type CanonRuntimeCommandDescriptor, type CanonRuntimeDescriptor, type CanonRuntimeStreamingMode, type CanonRuntimeTurnModeDescriptor, type CanonWorkspaceRootMetadata, type ModelOption, type PermissionModeOption, type WorkspaceOption } from './types.js'; import type { CanonRuntimePresentationPolicy } from './types.js'; import type { HostAdmissionActionCapabilities } from './turn-protocol.js'; export interface NormalizeRuntimeCommandDescriptorsOptions { reservedAliases?: Iterable; maxCommands?: number; } export declare function normalizeRuntimeCommandAlias(value: string): string | null; export declare function normalizeRuntimeCommandAliases(command: Pick): string[]; export declare function normalizeRuntimeCommandDescriptors(commands: ReadonlyArray, options?: NormalizeRuntimeCommandDescriptorsOptions): CanonRuntimeCommandDescriptor[]; /** * Default reasoning/thinking-level options. This is plain data, not Claude * logic — any coding agent can reuse it or supply its own option set. Each * agent passes its native effort levels into the shared descriptor builder. */ export declare const EFFORT_OPTIONS: readonly [{ readonly value: "low"; readonly label: "Low"; }, { readonly value: "medium"; readonly label: "Medium"; }, { readonly value: "high"; readonly label: "High"; }, { readonly value: "xhigh"; readonly label: "Extra high"; }, { readonly value: "max"; readonly label: "Max"; }]; export declare const EXECUTION_MODE_CONTROL_OPTIONS: ReadonlyArray<{ value: ExecutionEnvironmentMode; label: string; description: string; }>; export declare function buildRuntimeWorkspaceControlOptions(workspaces: ReadonlyArray): ModelOption[]; export declare const RUNTIME_STOP_ACTION: CanonRuntimeCommandDescriptor; export declare const RUNTIME_STOP_AND_DROP_ACTION: CanonRuntimeCommandDescriptor; export declare const RUNTIME_NEW_SESSION_ACTION: CanonRuntimeCommandDescriptor; export declare function buildFirstPartyCodingRuntimeDescriptor(input: { /** * Any agent client type may use this builder. Per-agent differences are * driven by the {@link AGENT_CAPABILITIES} table and the option/behavior * fields below — not by hard-coded clientType branches — so adding a coding * agent is a capability-table entry plus its own option lists. */ clientType: AgentClientType; models: ReadonlyArray; workspaces: ReadonlyArray; workspaceRoots?: ReadonlyArray; executionModes: ReadonlyArray; permissionModes?: ReadonlyArray; defaultPermissionMode?: string | null; /** Permission-mode control label override (e.g. Codex uses "Execution policy"). */ permissionModeLabel?: string; /** Effort/thinking-level options. When provided, an effort control is emitted. */ effortOptions?: ReadonlyArray; defaultEffort?: string | null; effortLiveBehavior?: CanonControlLiveBehavior; /** Model control live behavior. Defaults to immediate; Codex applies next turn. */ modelLiveBehavior?: 'immediate' | 'next_turn'; /** Capability overrides; defaults to the AGENT_CAPABILITIES entry for clientType. */ capabilities?: AgentCapabilities; commands?: ReadonlyArray; turnModes?: ReadonlyArray; /** Extra runtime controls appended after the built-in effort control. */ extraRuntimeControls?: ReadonlyArray; streamingTextMode: CanonRuntimeStreamingMode; admissionActions?: HostAdmissionActionCapabilities; presentation?: CanonRuntimePresentationPolicy; runtimeCards?: CanonRuntimeDescriptor['runtimeCards']; }): CanonRuntimeDescriptor;