/** * APIClaw Open APIs - Free APIs that don't require authentication * These are called directly but still logged for analytics */ export interface OpenAPIConfig { name: string; description: string; baseUrl: string; actions: Record; } export interface OpenAPIAction { method: 'GET' | 'POST'; path: (params: Record) => string; transform?: (data: any, params: Record) => any; } /** * Registry of open APIs */ export declare const openAPIs: Record; /** * Check if a provider is an open API */ export declare function isOpenAPI(providerId: string): boolean; /** * Get available actions for an open API */ export declare function getOpenAPIActions(providerId: string): string[]; /** * Execute an open API call */ export declare function executeOpenAPI(providerId: string, action: string, params: Record): Promise<{ success: boolean; provider: string; action: string; data?: any; error?: string; }>; /** * Resolve the full URL that executeOpenAPI would fetch for a given call. * Used by the gateway client to pass the target URL to the Intelligent Gateway. * * Returns undefined if the provider/action is unknown or needs special handling * that can't be expressed as a simple URL (e.g. Kroki POST with body). */ export declare function getOpenAPIBaseUrl(providerId: string, action: string, params: Record): string | undefined; /** * List all open APIs with their actions */ export declare function listOpenAPIs(): { provider: string; name: string; description: string; actions: string[]; }[]; /** * Stats about the generated provider artifact. */ export declare function getOpenAPIStats(): { curatedProviders: number; generatedProviders: number; generatedCallable: number; totalProviders: number; generatedAt: number; }; /** * APIClaw operates three tiers. This function returns the unified count * across all of them, so the dashboard, landing page, and homepage badge * always cite a coherent number. * * - Tier 1 (Discovery): the indexed registry — searchable, free, no auth * - Tier 2 (Open API): callable without keys, free * - Tier 3 (managed): premium, APIClaw owns the keys * * The managed-provider count is intentionally a constant here. It's small, * changes rarely, and lives canonically in the Apiclaw MOC. If it ever * grows past a handful, replace this constant with a Convex query. */ export declare const DIRECT_CALL_PROVIDERS = 19; export declare const DIRECT_CALL_SUB_APIS = 27; export declare function getAPIClawTotalStats(opts?: { registryIndexed?: number; }): { tier1_discovery_indexed: number; tier2_openapi_curated: number; tier2_openapi_generated: number; tier2_openapi_generated_callable: number; tier2_openapi_callable_total: number; tier3_direct_call_providers: number; tier3_direct_call_sub_apis: number; total_callable: number; total_indexed_or_callable: number; generatedArtifactAt: number; }; //# sourceMappingURL=open-apis.d.ts.map