MCPcopy Create free account
hub / github.com/continuedev/continue / analyzeError

Function analyzeError

gui/src/util/errorAnalysis.ts:38–177  ·  view source on GitHub ↗
(
  error: unknown,
  selectedModel: any,
)

Source from the content-addressed store, hash-verified

36}
37
38export function analyzeError(
39 error: unknown,
40 selectedModel: any,
41): ErrorAnalysis {
42 const errorMessage = (error as any)?.message;
43 const parsedError = parseErrorMessage(
44 typeof errorMessage === "string" ? errorMessage : "",
45 );
46
47 // Collect model information to display useful error info
48 let modelTitle = "Chat model";
49 let providerName = "the model provider";
50 let apiKeyUrl: string | undefined = undefined;
51
52 if (selectedModel) {
53 modelTitle = selectedModel.title;
54 providerName = selectedModel.underlyingProviderName;
55
56 // If there's a matching provider from add model form provider info
57 // We can get more info
58 const foundProvider = Object.values(providers).find(
59 (p) => p?.provider === selectedModel.underlyingProviderName,
60 );
61 if (foundProvider) {
62 providerName = foundProvider.title;
63 if (foundProvider.apiKeyUrl) {
64 apiKeyUrl = foundProvider.apiKeyUrl;
65 }
66 }
67 }
68
69 let message: undefined | string = undefined;
70 let statusCode: undefined | number = undefined;
71
72 // Attempt to get error message and status code from error
73 if (
74 error &&
75 (error instanceof Error || typeof error === "object") &&
76 "message" in error &&
77 typeof error["message"] === "string"
78 ) {
79 message = error["message"];
80 const parts = message?.split(" ") ?? [];
81
82 // Handle single word case (like "404")
83 if (parts.length === 1) {
84 const trimmed = parts[0].trim();
85 if (trimmed !== "") {
86 const code = Number(trimmed);
87 if (!Number.isNaN(code)) {
88 statusCode = code;
89 }
90 }
91 } else if (parts.length > 1) {
92 const status = parts[0] === "HTTP" ? parts[1] : parts[0];
93 if (status) {
94 const code = Number(status);
95 if (!Number.isNaN(code)) {

Callers 3

StreamErrorDialogFunction · 0.90

Calls 1

parseErrorMessageFunction · 0.85

Tested by

no test coverage detected