{"record":{"id":"90b5eee1fb6716fd","repo":"continuedev/continue","slug":"no-query-params-found","errorCode":null,"errorMessage":"no query params found","messagePattern":"no query params found","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"core/context/mcp/MCPOauth.ts","lineNumber":42,"sourceCode":"const authenticatingContexts = new Map<string, MCPOauthContext>();\n\n// Map state parameters to server URLs for OAuth callback matching\nconst stateToServerUrl = new Map<string, string>();\n\nconst PORT = 3000;\n\nlet serverInstance: http.Server | null = null;\n\nconst createServerForOAuth = () =>\n  http.createServer((req, res) => {\n    try {\n      if (!req.url) {\n        throw new Error(\"no url found\");\n      }\n\n      const parsedUrl = url.parse(req.url, true);\n      if (!parsedUrl.query[\"code\"]) {\n        throw new Error(\"no query params found\");\n      }\n\n      const code = parsedUrl.query[\"code\"] as string;\n      const state = parsedUrl.query[\"state\"] as string | undefined;\n\n      void handleMCPOauthCode(code, state);\n\n      const html = `\n<!DOCTYPE html>\n<html>\n<head><title>Authentication Complete</title></head>\n<body>Authentication Complete. You can close this page now.</body>\n</html>`;\n\n      res.writeHead(200, {\n        \"Content-Type\": \"text/html\",\n      });\n      res.end(html);","sourceCodeStart":24,"sourceCodeEnd":60,"githubUrl":"https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/mcp/MCPOauth.ts#L24-L60","documentation":"Streaming-path model routing fallback: the model string maps to no known publisher, so there is no streaming implementation to invoke. Mirror of the non-streaming Unsupported model error.","triggerScenarios":"Streaming a model id that determineVertexProvider can't classify — wrong prefix, typo, or unsupported family.","commonSituations":"Switching a streaming pipeline to a model name copied from another provider; adapter version predating support for a newly added Vertex model.","solutions":["Use a supported model id (gemini-*, claude-*@*, mistral/codestral)","Update openai-adapters to pick up new provider mappings","Log body.model at call sites to catch typos early"],"exampleFix":"// before\napi.chatCompletionStream({ model: 'llama-3.1-405b', ... }, signal);\n\n// after\napi.chatCompletionStream({ model: 'gemini-1.5-flash', ... }, signal);","handlingStrategy":"validation","validationCode":"const routable = (m: string) => /^(gemini|claude|mistral|codestral)/.test(m); if (!routable(body.model)) throw new Error('unsupported model for Vertex streaming');","typeGuard":"const isVertexModel = (m: string): boolean => /^(gemini|claude|mistral|codestral)/.test(m);","tryCatchPattern":"try { ... } catch (e) { if ((e as Error).message.startsWith('Unsupported model')) { /* correct the model id */ } throw e; }","preventionTips":["Share a validated model-id allowlist between streaming and non-streaming paths"],"tags":["vertexai","streaming","model-name","routing"],"backgroundTag":"unsupported-model-name","analyzedSha":"5522c6f44ca0ac3528b37244818fbfa39b5af470","analyzedAt":"2026-08-27T11:28:54.683Z","schemaVersion":2},"datasetVersion":"2026-08-27T13:17:12.746Z"}