/** * `tools list --available [--lang ]` — the opt-in External Tool Adapter catalog. * * Unlike {@link toolsList} (the effective/installed set), this describes adapters * the user could install but may NOT have on disk. The universe is the CLI-bundled * {@link FIRST_PARTY_ADAPTERS} catalog (a build-time projection of every adapter's * manifest), cross-referenced with the run's installed ids so each row is marked * installed / not-installed. Pure — no dynamic import, no filesystem beyond what the * caller already resolved. */ import { type FirstPartyAdapter } from './first-party-adapters.generated.js'; import type { ToolsAvailableResult, ToolsAvailableRow } from '@opensip-cli/contracts'; /** Options for {@link toolsListAvailable}. */ export interface ToolsAvailableOptions { /** Canonical language id filter (already canonicalized, e.g. `c++` → `cpp`), or undefined. */ readonly lang?: string; /** Tool ids already installed (global or project), from the effective-set discovery. */ readonly installedIds: ReadonlySet; /** Injectable catalog for tests; defaults to the CLI-bundled one. */ readonly catalog?: readonly FirstPartyAdapter[]; } /** Options for the shared first-party adapter catalog selector. */ export interface AdapterSelectionOptions { /** Canonical language ids, undefined for no filter, or empty for polyglot-only. */ readonly languages?: ReadonlySet; /** Tool ids already installed (global or project), from the effective-set discovery. */ readonly installedIds: ReadonlySet; /** Injectable catalog for tests; defaults to the CLI-bundled one. */ readonly catalog?: readonly FirstPartyAdapter[]; } /** Select and project adapter rows once, preserving generated catalog order. */ export declare function selectAvailableAdapters(options: AdapterSelectionOptions): readonly ToolsAvailableRow[]; export declare function toolsListAvailable(opts: ToolsAvailableOptions): ToolsAvailableResult; //# sourceMappingURL=available.d.ts.map