/** * Resource registry — collects resource definitions for schema discovery * and dynamic bound-resource creation. * * Provides the single source of truth for resource definitions, schemas, * and schema output generation. The `ResourceRegistry` class is the * extensible core; module-level helpers delegate to `defaultRegistry` * for backward compatibility. */ import type { ExecutionContext, ResourceCallMeta, ResourceDefinition, ResourceResult, ResourceSchema } from "./types.ts"; /** A resource function bound to an ExecutionContext via the registry. */ export type BoundResourceFn = (input: TInput, meta?: ResourceCallMeta) => Promise>; /** * Collects resource definitions and generates bound resource functions * dynamically. Built-in resources register at module load; plugins * register at config time. */ export declare class ResourceRegistry { private _definitions; /** Register a resource definition. Throws on duplicate type. */ register(def: ResourceDefinition): void; /** Get a definition by type name. */ get(type: string): ResourceDefinition | undefined; /** List all registered type names. */ types(): string[]; /** All registered definitions (for schema generation). */ definitions(): ResourceDefinition[]; /** Create bound resource functions for a given context. */ createBoundResources(ctx: ExecutionContext): Record; } /** Global default registry with built-in resources. */ export declare const defaultRegistry: ResourceRegistry; /** Return all registered resource definitions. */ export declare function getAllDefinitions(): ReadonlyMap>; /** Return a single resource definition by type, or undefined if not found. */ export declare function getDefinition(type: string): ResourceDefinition | undefined; /** Return all resource type names in registry order. */ export declare function getResourceTypes(): string[]; /** Return the schema for a resource type, or undefined if not found. */ export declare function getResourceSchema(type: string): ResourceSchema | undefined; /** Return all resource schemas as a map of type → schema. */ export declare function getAllResourceSchemas(): Map; /** Machine-readable recipe format specification. */ export declare function getRecipeSchema(): Record; /** Machine-readable inventory format specification. */ export declare function getInventorySchema(): Record; /** Formal RunSummary JSON output schema for agents. */ export declare function getRunSummarySchema(): Record; //# sourceMappingURL=registry.d.ts.map