{"version":3,"file":"providers-BzEVz9rh.mjs","names":[],"sources":["../src/providers/index.ts"],"sourcesContent":["import type { ProviderEntry } from \"../core/registry.ts\";\nimport { hasCodexCredentials } from \"../core/codex-auth.ts\";\nimport {\n  FIRECRAWL_MAX_RESULTS,\n  JINA_MAX_RESULTS,\n  JINA_SEARCH_CATEGORIES,\n  OPENAI_CODEX_MAX_RESULTS,\n  SERPBASE_MAX_RESULTS,\n  SERPBASE_SEARCH_CATEGORIES,\n  TAVILY_SEARCH_TOPICS,\n  TINYFISH_SEARCH_CATEGORIES,\n} from \"../core/providers.ts\";\n\n/** A built-in search entry declares what its class static used to: filters, content options and result fields. */\ntype BuiltinSearch = NonNullable<ProviderEntry[\"search\"]> &\n  Required<\n    Pick<NonNullable<ProviderEntry[\"search\"]>, \"filters\" | \"contentOptions\" | \"resultFields\">\n  >;\n\ninterface BuiltinEntry extends ProviderEntry {\n  readonly search?: BuiltinSearch;\n}\n\n/**\n * Every provider shipped with the package, in `builtinProviders` order.\n *\n * The metadata here is what `listProviders()`, `getProviderCapabilities()` and the capability\n * lists answer from. The adapter module is imported on the first `create()` for its name, so\n * nothing runs when the package is imported and a bundler splits each adapter into its own\n * chunk. A provider missing from this list is invisible to `create()`.\n */\nexport const builtins: readonly ProviderEntry[] = [\n  {\n    name: \"brave\",\n    search: {\n      filters: [\"startPublishedDate\", \"endPublishedDate\"],\n      contentOptions: [],\n      resultLimit: { default: 10, maximum: 20 },\n      resultFields: [\"publishedDate\", \"favicon\", \"text\"],\n      pagination: true,\n    },\n    load: () => import(\"./brave.ts\").then((m) => m.BraveProvider),\n  },\n  {\n    name: \"context\",\n    search: {\n      filters: [\"includeDomains\", \"excludeDomains\"],\n      contentOptions: [],\n      resultLimit: { default: 10, maximum: 100 },\n      resultFields: [\"text\", \"metadata\"],\n    },\n    read: {\n      options: [\"format\", \"targetSelector\", \"removeSelector\", \"timeout\", \"noCache\"],\n      formats: [\"markdown\", \"html\"],\n    },\n    load: () => import(\"./context.ts\").then((m) => m.ContextProvider),\n  },\n  {\n    name: \"exa\",\n    search: {\n      filters: [\n        \"includeDomains\",\n        \"excludeDomains\",\n        \"category\",\n        \"startPublishedDate\",\n        \"endPublishedDate\",\n      ],\n      contentOptions: [\"highlights\", \"summary\", \"fullText\"],\n      resultLimit: { default: 10, maximum: 100 },\n      resultFields: [\n        \"score\",\n        \"publishedDate\",\n        \"author\",\n        \"image\",\n        \"favicon\",\n        \"text\",\n        \"highlights\",\n        \"summary\",\n      ],\n    },\n    load: () => import(\"./exa.ts\").then((m) => m.ExaProvider),\n  },\n  {\n    name: \"firecrawl\",\n    search: {\n      filters: [\"includeDomains\", \"excludeDomains\", \"sources\", \"categories\"],\n      contentOptions: [\"highlights\"],\n      resultLimit: { default: 10, maximum: FIRECRAWL_MAX_RESULTS },\n      resultFields: [\"publishedDate\", \"image\", \"text\", \"metadata\"],\n    },\n    read: {\n      options: [\"format\", \"targetSelector\", \"removeSelector\", \"timeout\", \"noCache\"],\n      formats: [\"markdown\", \"html\"],\n    },\n    load: () => import(\"./firecrawl.ts\").then((m) => m.FirecrawlProvider),\n  },\n  {\n    name: \"jina\",\n    search: {\n      filters: [\"includeDomains\", \"category\"],\n      categories: JINA_SEARCH_CATEGORIES,\n      contentOptions: [],\n      resultLimit: { default: 10, maximum: JINA_MAX_RESULTS },\n      resultFields: [\"publishedDate\", \"image\", \"text\", \"metadata\"],\n    },\n    read: {\n      options: [\"format\", \"maxTokens\", \"targetSelector\", \"removeSelector\", \"timeout\", \"noCache\"],\n      formats: [\"markdown\", \"text\", \"html\"],\n    },\n    load: () => import(\"./jina.ts\").then((m) => m.JinaProvider),\n  },\n  {\n    name: \"mojeek\",\n    search: {\n      filters: [\"includeDomains\", \"excludeDomains\", \"startPublishedDate\", \"endPublishedDate\"],\n      contentOptions: [],\n      resultLimit: { default: 10 },\n      resultFields: [\"score\", \"publishedDate\", \"image\", \"metadata\"],\n      pagination: true,\n    },\n    load: () => import(\"./mojeek.ts\").then((m) => m.MojeekProvider),\n  },\n  {\n    name: \"openai-codex\",\n    isConfigured: hasCodexCredentials,\n    search: {\n      filters: [],\n      contentOptions: [\"summary\"],\n      resultLimit: { default: 10, maximum: OPENAI_CODEX_MAX_RESULTS },\n      resultFields: [],\n    },\n    load: () => import(\"./openai-codex.ts\").then((m) => m.OpenAICodexProvider),\n  },\n  {\n    name: \"searxng\",\n    availability: true,\n    search: {\n      filters: [\"category\"],\n      contentOptions: [],\n      resultFields: [\"score\", \"publishedDate\", \"image\", \"metadata\"],\n      pagination: true,\n    },\n    load: () => import(\"./searxng.ts\").then((m) => m.SearXNGProvider),\n  },\n  {\n    name: \"serpapi\",\n    search: {\n      filters: [],\n      contentOptions: [],\n      resultLimit: { default: 10 },\n      resultFields: [\"publishedDate\", \"image\", \"favicon\", \"metadata\"],\n      pagination: true,\n    },\n    searchImage: {\n      resultLimit: { default: 10 },\n    },\n    load: () => import(\"./serpapi.ts\").then((m) => m.SerpApiProvider),\n  },\n  {\n    name: \"serpbase\",\n    search: {\n      filters: [\"category\"],\n      categories: SERPBASE_SEARCH_CATEGORIES,\n      contentOptions: [],\n      resultLimit: { default: 10, maximum: SERPBASE_MAX_RESULTS },\n      resultFields: [\"publishedDate\", \"image\", \"favicon\", \"metadata\"],\n      pagination: true,\n    },\n    load: () => import(\"./serpbase.ts\").then((m) => m.SerpBaseProvider),\n  },\n  {\n    name: \"tavily\",\n    search: {\n      filters: [\n        \"includeDomains\",\n        \"excludeDomains\",\n        \"category\",\n        \"startPublishedDate\",\n        \"endPublishedDate\",\n      ],\n      categories: TAVILY_SEARCH_TOPICS,\n      contentOptions: [\"summary\", \"fullText\"],\n      resultLimit: { default: 10, maximum: 20 },\n      resultFields: [\"score\", \"publishedDate\", \"text\"],\n    },\n    read: {\n      options: [\"format\", \"timeout\"],\n      formats: [\"markdown\", \"text\"],\n    },\n    load: () => import(\"./tavily.ts\").then((m) => m.TavilyProvider),\n  },\n  {\n    name: \"tinyfish\",\n    search: {\n      filters: [\n        \"includeDomains\",\n        \"excludeDomains\",\n        \"category\",\n        \"startPublishedDate\",\n        \"endPublishedDate\",\n      ],\n      categories: TINYFISH_SEARCH_CATEGORIES,\n      contentOptions: [],\n      resultLimit: { default: 10 },\n      resultFields: [\"publishedDate\", \"author\", \"metadata\"],\n      pagination: true,\n    },\n    read: {\n      options: [\"format\", \"targetSelector\", \"removeSelector\", \"timeout\", \"noCache\"],\n      formats: [\"markdown\", \"html\"],\n    },\n    load: () => import(\"./tinyfish.ts\").then((m) => m.TinyfishProvider),\n  },\n] satisfies readonly BuiltinEntry[];\n"],"mappings":"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"}