/** * Read-only adapter source inventory with independent provider verification levels. * Source presence does not establish installed, delivery, workflow, or lifecycle support. * @packageDocumentation */ import type { ProviderChannelVerification, ProviderSourceInspection } from '@cleocode/contracts/capabilities'; /** A provider declaration, source inspection, and separate live capability assessments. */ export interface ProviderMatrixRow { /** Canonical provider identifier (for example, "claude-code"). */ providerId: string; /** Human-readable provider name. */ displayName: string; /** * Whether the adapter source directory was observed. * @deprecated Use source.directoryPresent; this never proved installation. */ installed: boolean; /** * Whether a regular spawn.ts source file was observed. * @deprecated Use source.spawnFilePresent; this never proved executable spawning. */ spawnImplemented: boolean; /** * Number of canonical hook names mentioned in source text, including comments. * @deprecated Use source.hookNameMentions; this never proved hook support. */ hookSupport: number; /** Declared adapter interface name, not a verified runtime implementation. */ adapterClass: string; /** Source-only inventory and diagnostic failures. */ source: ProviderSourceInspection; /** External provider CLI capabilities, independent of CleoOS adapter spawning. */ externalCli: ProviderChannelVerification; /** CleoOS programmatic spawning capabilities, independent of external CLI use. */ programmaticSpawn: ProviderChannelVerification; } /** * Read-only source inventory of known adapters, with live capabilities left unverified. * * @example * ```ts * const rows = await new ProviderMatrix().getMatrix(); * const sourceFailures = rows.filter((row) => row.source.status === 'failed'); * ``` */ export declare class ProviderMatrix { private readonly providersDir; /** * Construct a `ProviderMatrix`. * * @param providersDir - Override the resolved providers directory path. * Primarily for testing. Defaults to the monorepo-relative path. */ constructor(providersDir?: string); /** * Scan all known providers and return their matrix rows. * * Results are returned in the canonical provider order defined by * `KNOWN_PROVIDERS`. Rows are computed concurrently for performance. * * @returns Array of {@link ProviderMatrixRow} — one per known provider. */ getMatrix(): Promise; /** * List provider IDs discovered under the providers directory. * * Returns all subdirectory names found at `packages/adapters/src/providers/`, * including any that are not in the canonical `KNOWN_PROVIDERS` list. Useful * for detecting community-contributed or experimental adapters. * * @deprecated This lists source directories, not installed provider applications. * @returns Array of source directory names present on disk. * @throws Error when directory enumeration fails for a reason other than absence. */ listInstalledProviderIds(): Promise; } //# sourceMappingURL=provider-matrix.d.ts.map