/** * Jina AI Provider Adapter. * * Implements Search, Reader, Research, Quota, and Diagnostics capabilities for Jina AI. * * Field mapping (Jina API → Provider-neutral): * Search (s.jina.ai): * data[].title -> title * data[].url -> url * data[].description -> summary (fallback: content) * data[].publishedTime -> date * Reader (r.jina.ai): * data.title -> title * data.url -> finalUrl * data.content -> content (markdown mode) * data.text -> content (text mode; 8J.2) * Research (deepsearch.jina.ai): * choices[0].message.content -> report * annotations[].url_citation -> sources[] * * Jina capability-aware credential model (8J.1): * - Reader (r.jina.ai) is keyless — available without JINA_API_KEY. * - Search (s.jina.ai), Research (deepsearch.jina.ai), Quota, and * Diagnostics require JINA_API_KEY. The credential fingerprint hashes * `"keyless"` when absent (Reader still works; others fail-closed at * preflight). */ import type { ProviderAdapter, ProviderContext, ProviderDescriptor, ProviderId } from "../types.js"; import type { QuotaCapability } from "../../capabilities/quota.js"; import type { SearchCapability } from "../../capabilities/search.js"; import type { ReaderCapability } from "../../capabilities/reader.js"; import type { ResearchCapability } from "../../capabilities/research.js"; import type { DiagnosticsCapability } from "../../capabilities/diagnostics.js"; import { type JinaTransportDeps } from "./client.js"; export interface JinaAdapterDependencies { readonly transport?: JinaTransportDeps; } export declare class JinaAdapter implements ProviderAdapter { private readonly context; readonly id: ProviderId; readonly search: SearchCapability; readonly reader: ReaderCapability; readonly research: ResearchCapability; readonly quota: QuotaCapability; readonly diagnostics: DiagnosticsCapability; constructor(context: ProviderContext, deps?: JinaAdapterDependencies); } export declare function createJinaDescriptor(): ProviderDescriptor; //# sourceMappingURL=adapter.d.ts.map