import type { ISkillSource } from '@mcp-abap-adt/llm-agent'; /** Mockable transport over the marketplace registry: a manifest listing plus per-skill * SKILL.md fetch. The unit tests inject a fake; {@link makeHttpTransport} is the live * global-`fetch` implementation (exercised end-to-end, not in unit tests). */ export interface IMarketplaceTransport { /** List every plugin the registry offers, with its version and skill names. */ listPlugins(): Promise>; /** Fetch the raw SKILL.md text for one skill of one plugin. */ fetchSkillMd(plugin: string, skill: string): Promise; } export interface HttpMarketplaceSourceOptions { /** Stable sourceId stamped onto every record/collection. */ source: string; /** Plugins to enable; non-empty required. `['*']` = every offered plugin. */ enabled: readonly string[]; transport: IMarketplaceTransport; chunk: { maxChars: number; }; /** plugin → its group + description; default one-group-per-plugin. */ placement?: (plugin: string) => { group: string; description: string; }; } /** Build an {@link ISkillSource} backed by a marketplace {@link IMarketplaceTransport}. * `acquire()` resolves the enabled plugin set against the registry manifest, fetches each * SKILL.md, and delegates placement/chunking to {@link buildIngestResult}. FS/network-free * given a mock transport. */ export declare function makeHttpMarketplaceSource(opts: HttpMarketplaceSourceOptions): ISkillSource; export interface HttpTransportOptions { /** Base URL of the marketplace registry (no trailing slash required). */ registry: string; /** Optional bearer token sent as `Authorization: Bearer `. */ apiKey?: string; } /** Live {@link IMarketplaceTransport} over global `fetch`. NOT unit-tested (no real network * in tests); exercised live against a registry. Endpoints: * `GET {registry}/plugins` → `[{ plugin, version, skills }]`; * `GET {registry}/plugins/{plugin}/skills/{skill}` → raw SKILL.md text. */ export declare function makeHttpTransport(opts: HttpTransportOptions): IMarketplaceTransport; //# sourceMappingURL=http-marketplace-source.d.ts.map