{"record":{"id":"f013607c355c7af3","repo":"diegosouzapw/OmniRoute","slug":"programmable-search-engine-id-cx-is-required","errorCode":null,"errorMessage":"Programmable Search Engine ID (cx) is required","messagePattern":"Programmable Search Engine ID \\(cx\\) is required","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/lib/providers/validation/searchProviders.ts","lineNumber":90,"sourceCode":"  \"tavily-search\": (apiKey) => ({\n    url: \"https://api.tavily.com/search\",\n    init: {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application/json\", Authorization: `Bearer ${apiKey}` },\n      body: JSON.stringify({ query: \"test\", max_results: 1 }),\n    },\n  }),\n  context7: (apiKey) => ({\n    url: \"https://context7.com/api/v1/search?query=test\",\n    init: {\n      method: \"GET\",\n      headers: { Accept: \"application/json\", Authorization: `Bearer ${apiKey}` },\n    },\n  }),\n  \"google-pse-search\": (apiKey, providerSpecificData = {}) => {\n    const cx = providerSpecificData?.cx;\n    if (!cx || typeof cx !== \"string\") {\n      throw new Error(\"Programmable Search Engine ID (cx) is required\");\n    }\n    return {\n      url: `https://www.googleapis.com/customsearch/v1?key=${encodeURIComponent(apiKey)}&cx=${encodeURIComponent(\n        cx\n      )}&q=test&num=1`,\n      init: {\n        method: \"GET\",\n        headers: { Accept: \"application/json\" },\n      },\n    };\n  },\n  \"linkup-search\": (apiKey) => ({\n    url: \"https://api.linkup.so/v1/search\",\n    init: {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application/json\", Authorization: `Bearer ${apiKey}` },\n      body: JSON.stringify({\n        q: \"test\",","sourceCodeStart":72,"sourceCodeEnd":108,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/providers/validation/searchProviders.ts#L72-L108","documentation":"Error \"Programmable Search Engine ID (cx) is required\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/lib/providers/validation/searchProviders.ts:90 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}