import type { CredentialProfile, CredentialProfileStatus } from "@claudexor/schema"; import type { HarnessAdapter } from "@claudexor/core"; export { OPENCODE_VENDOR_CLI_VERSION } from "./vendor-cli-version.js"; /** * INV-135 strict profile routing, ONE owner for the run route and the doctor * probe: an opencode profile is exactly its secret-ref API key, and the ref's * NAMESPACED base selects the provider env var it rides (opencode is * multi-provider by design). A bare ref would alias the engine-default slot; * other kinds and missing secrets refuse typed, never the default ladder. */ export declare function opencodeProfileKeyOrRefusal(profile: { profile_id: string; credential_kind: string; secret_ref: string | null; }, resolve?: (ref: string) => string | null): { envVar: string; value: string; } | { refusal: string; reason: "misconfigured" | "missing_secret"; }; /** * Doctor projection for one opencode profile (INV-135, release wave round-15 * #1): the SAME resolution the run route uses, mapped to a status. PRESENCE * is the honest doctor fact for a stored key; liveness is the run's job. */ export declare function probeOpencodeCredentialProfile(profile: CredentialProfile, resolve?: (ref: string) => string | null): CredentialProfileStatus; export declare function createOpenCodeAdapter(): HarnessAdapter; //# sourceMappingURL=index.d.ts.map