import { type ResourcePointer } from "../orchestration/contracts.ts"; import type { NormalizedProfile } from "../profile-registry.ts"; import type { ResourceLoader } from "../resource-loader.ts"; export interface WorkerResourceCatalogLoader { getDiscoverableSkillPaths(): string[]; getDiscoverablePromptPaths(): string[]; } export interface CatalogWorkerResourcePointersOptions { cwd: string; resourceLoader: WorkerResourceCatalogLoader; /** Profiles linked by one orchestration profile, in its declared deterministic order. */ resourceProfiles: readonly Pick[]; maxPointers?: number; } export type WorkerResourcePointerSelection = { ok: true; pointers: readonly ResourcePointer[]; } | { ok: false; reason: "worker_resource_pointer_unknown" | "worker_resource_pointer_duplicate"; pointerId: string; }; export declare function workerResourcePointerId(kind: "skill" | "prompt", resourcePath: string): string; /** * Metadata-only resource discovery for native workers. The ResourceLoader methods accepted here * deliberately expose paths only: no skill/prompt parser or extension loader can cross admission. */ export declare function catalogWorkerResourcePointers(options: CatalogWorkerResourcePointersOptions): ResourcePointer[]; /** Select exact admitted pointers only. Unknown and duplicate request ids remain denial reasons. */ export declare function selectWorkerResourcePointers(admittedPointers: readonly ResourcePointer[], requestedPointerIds: readonly string[]): WorkerResourcePointerSelection; export type WorkerResourceCatalogResourceLoader = Pick; //# sourceMappingURL=worker-resource-catalog.d.ts.map