import type { EffortHint, HarnessRunSpec } from "@claudexor/schema"; import type { HarnessAdapter } from "@claudexor/core"; import { runCapture, runCliHarness, selectStrictAuthRoute } from "@claudexor/core"; export { CLAUDE_MANAGED_LOGIN, claudeQuotaModelAliases } from "./capability-profile.js"; export { claudeAccountIdentity, defaultNativeClaudeConfigDir } from "./native-home.js"; export { canonicalProfileConfigDir } from "./profile.js"; import { type ClaudeAuthStatusProbe } from "./auth-status.js"; export { clearClaudeAuthStatusCache, claudeAuthSourceReadiness, redactClaudeDoctorDetail, } from "./auth-status.js"; export type { ClaudeAuthStatusProbe } from "./auth-status.js"; import { smokeIsolatedApiKey, smokeIsolatedOAuthToken } from "./smoke.js"; import { detectClaudeVersion, probeClaudeEffortLevels } from "./effort-probe.js"; export { BIN, CLAUDE_EFFORT_SNAPSHOT } from "./effort-probe.js"; export { CLAUDE_AUTH_REFRESH_TERMINATION_UNCONFIRMED, claudeOauthAccessTokenIsFresh, refreshClaudeNativeAuth, } from "./auth-refresh.js"; export { CLAUDE_VENDOR_CLI_VERSION } from "./vendor-cli-version.js"; import { probeClaudeModels } from "./model-probe.js"; export declare const CLAUDE_PROVIDER_ENV_DENYLIST: string[]; /** Exported for focused route-policy tests; runtime uses this exact selector. */ export declare const selectClaudeRunAuthRoute: typeof selectStrictAuthRoute; export interface ClaudeReadonlyProfileProbe { supported: boolean; missingFlags: string[]; detail: string; } /** * Derived from the SHARED `--help` capture on every call instead of behind a * second cache of its own. That cache had the same defect as the one under it — * a probe that failed once (or that a cancelled run read) stayed failed for the * process lifetime, so a long-lived daemon reported readonly enforcement * unavailable forever. It bought nothing either: the spawn is already memoized, * and what is left is a handful of `includes` over text we already hold. A * run's PATH patch selects the binary the flags are read from, as for the ladder. */ export declare function probeClaudeReadonlyProfile(abortSignal?: AbortSignal, patchPath?: string): Promise; /** Options for probing the default or explicitly selected native Claude store. */ export interface ClaudeAuthStatusProbeOptions { env?: Record; /** Explicit CLAUDE_CONFIG_DIR for the probe (INV-135): a credential-profile * probe must inspect its own store, never the default's. */ configDir?: string; abortSignal?: AbortSignal; runCapture?: typeof runCapture; } export declare function claudeNativeEnv(base?: Record, configDir?: string): Record; export declare function probeAuthStatus(bin?: string, options?: ClaudeAuthStatusProbeOptions): Promise; export declare function anthropicApiKey(): string | null; /** A stored/long-lived Claude Code OAuth (`claude setup-token`) for headless * subscription auth. The hermetic kill switch is honored inside resolveSecret * (single owner), so this reads env-only under CLAUDEXOR_DISABLE_STORED_SECRETS. */ declare function claudeOAuthToken(): string | null; /** The runtime surface the profile module needs (test-stubbable). */ export type ClaudeProfileRuntimeDeps = Pick; type ClaudeRuntimeDeps = { detectVersion: typeof detectClaudeVersion; probeAuthStatus: typeof probeAuthStatus; anthropicApiKey: typeof anthropicApiKey; claudeOAuthToken: typeof claudeOAuthToken; /** Profile-scoped secret resolution (INV-135): reads exactly the profile's * namespaced ref, never the engine-default ladder. */ resolveProfileSecret: (ref: string) => string | null; smokeIsolatedApiKey: typeof smokeIsolatedApiKey; smokeIsolatedOAuthToken: typeof smokeIsolatedOAuthToken; probeReadonlyProfile: typeof probeClaudeReadonlyProfile; /** Effort ladder of the installed binary; falls back to the recorded snapshot. */ probeEffortLevels: typeof probeClaudeEffortLevels; /** Cached prompt-free initialize picker (model-probe.ts); total, never empty. */ probeModels: typeof probeClaudeModels; runCliHarness: typeof runCliHarness; }; export declare function createClaudeAdapter(deps?: Partial): HarnessAdapter; export declare function claudeArgsForSpec(spec: HarnessRunSpec, interactive?: boolean, suppressBare?: boolean, /** What the installed CLI advertises; the recorded snapshot by default so * arg-shape callers stay synchronous and the probe stays optional. */ advertisedEfforts?: readonly EffortHint[]): string[]; //# sourceMappingURL=index.d.ts.map