Merge pull request #9963 from continuedev/dallin/error-messages
fix: use underlying provider name for stream errors
This commit is contained in:
@@ -230,7 +230,7 @@ const StreamErrorDialog = ({ error }: StreamErrorProps) => {
|
||||
{selectedModel ? (
|
||||
<span>
|
||||
{`Provider: `}
|
||||
<code>{selectedModel.provider}</code>
|
||||
<code>{selectedModel.underlyingProviderName}</code>
|
||||
</span>
|
||||
) : null}
|
||||
{/* TODO: status page links for providers? */}
|
||||
@@ -294,7 +294,7 @@ const StreamErrorDialog = ({ error }: StreamErrorProps) => {
|
||||
const issueBody = `**Error Details**
|
||||
|
||||
Model: ${selectedModel?.title || "Unknown"}
|
||||
Provider: ${selectedModel?.provider || "Unknown"}
|
||||
Provider: ${selectedModel ? `${selectedModel.underlyingProviderName}${selectedModel.provider === "continue-proxy" ? " (continue-proxy)" : ""}` : "Unknown"}
|
||||
Status Code: ${statusCode || "N/A"}
|
||||
|
||||
**Error Output**
|
||||
|
||||
@@ -228,10 +228,10 @@ describe("errorAnalysis", () => {
|
||||
});
|
||||
|
||||
describe("selectedModel handling", () => {
|
||||
it("should use selectedModel title and provider", () => {
|
||||
it("should use selectedModel title and underlyingProviderName", () => {
|
||||
const selectedModel = {
|
||||
title: "GPT-4",
|
||||
provider: "openai",
|
||||
underlyingProviderName: "openai",
|
||||
};
|
||||
const error = new Error("Test error");
|
||||
const result = analyzeError(error, selectedModel);
|
||||
@@ -246,7 +246,7 @@ describe("errorAnalysis", () => {
|
||||
it("should use selectedModel info when no matching provider is found", () => {
|
||||
const selectedModel = {
|
||||
title: "Custom Model",
|
||||
provider: "unknown-provider",
|
||||
underlyingProviderName: "unknown-provider",
|
||||
};
|
||||
const error = new Error("Test error");
|
||||
const result = analyzeError(error, selectedModel);
|
||||
@@ -258,7 +258,7 @@ describe("errorAnalysis", () => {
|
||||
|
||||
it("should handle selectedModel with missing title", () => {
|
||||
const selectedModel = {
|
||||
provider: "openai",
|
||||
underlyingProviderName: "openai",
|
||||
};
|
||||
const error = new Error("Test error");
|
||||
const result = analyzeError(error, selectedModel);
|
||||
@@ -270,7 +270,7 @@ describe("errorAnalysis", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("should handle selectedModel with missing provider", () => {
|
||||
it("should handle selectedModel with missing underlyingProviderName", () => {
|
||||
const selectedModel = {
|
||||
title: "Custom Model",
|
||||
};
|
||||
@@ -297,7 +297,7 @@ describe("errorAnalysis", () => {
|
||||
it("should match Anthropic provider", () => {
|
||||
const selectedModel = {
|
||||
title: "Claude 3.5 Sonnet",
|
||||
provider: "anthropic",
|
||||
underlyingProviderName: "anthropic",
|
||||
};
|
||||
const error = new Error("Test error");
|
||||
const result = analyzeError(error, selectedModel);
|
||||
@@ -311,7 +311,7 @@ describe("errorAnalysis", () => {
|
||||
it("should match Groq provider", () => {
|
||||
const selectedModel = {
|
||||
title: "Llama 3.1 70B",
|
||||
provider: "groq",
|
||||
underlyingProviderName: "groq",
|
||||
};
|
||||
const error = new Error("Test error");
|
||||
const result = analyzeError(error, selectedModel);
|
||||
@@ -323,7 +323,7 @@ describe("errorAnalysis", () => {
|
||||
it("should match provider with no apiKeyUrl", () => {
|
||||
const selectedModel = {
|
||||
title: "Llama 3.1",
|
||||
provider: "ollama",
|
||||
underlyingProviderName: "ollama",
|
||||
};
|
||||
const error = new Error("Test error");
|
||||
const result = analyzeError(error, selectedModel);
|
||||
@@ -335,7 +335,7 @@ describe("errorAnalysis", () => {
|
||||
it("should be case sensitive for provider matching", () => {
|
||||
const selectedModel = {
|
||||
title: "GPT-4",
|
||||
provider: "OpenAI", // Different case
|
||||
underlyingProviderName: "OpenAI", // Different case
|
||||
};
|
||||
const error = new Error("Test error");
|
||||
const result = analyzeError(error, selectedModel);
|
||||
@@ -352,7 +352,7 @@ describe("errorAnalysis", () => {
|
||||
);
|
||||
const selectedModel = {
|
||||
title: "GPT-4",
|
||||
provider: "openai",
|
||||
underlyingProviderName: "openai",
|
||||
};
|
||||
const result = analyzeError(error, selectedModel);
|
||||
|
||||
@@ -382,7 +382,7 @@ describe("errorAnalysis", () => {
|
||||
);
|
||||
const selectedModel = {
|
||||
title: "GPT-4",
|
||||
provider: "openai",
|
||||
underlyingProviderName: "openai",
|
||||
};
|
||||
const result = analyzeError(error, selectedModel);
|
||||
|
||||
@@ -486,7 +486,7 @@ describe("errorAnalysis", () => {
|
||||
);
|
||||
const selectedModel = {
|
||||
title: "GPT-4",
|
||||
provider: "openai",
|
||||
underlyingProviderName: "openai",
|
||||
};
|
||||
const result = analyzeError(error, selectedModel);
|
||||
|
||||
@@ -502,7 +502,7 @@ describe("errorAnalysis", () => {
|
||||
);
|
||||
const selectedModel = {
|
||||
title: "Claude 3.5 Sonnet",
|
||||
provider: "anthropic",
|
||||
underlyingProviderName: "anthropic",
|
||||
};
|
||||
const result = analyzeError(error, selectedModel);
|
||||
|
||||
@@ -514,7 +514,7 @@ describe("errorAnalysis", () => {
|
||||
const error = new Error("Network request failed");
|
||||
const selectedModel = {
|
||||
title: "Local Model",
|
||||
provider: "ollama",
|
||||
underlyingProviderName: "ollama",
|
||||
};
|
||||
const result = analyzeError(error, selectedModel);
|
||||
|
||||
|
||||
@@ -49,12 +49,12 @@ export function analyzeError(
|
||||
|
||||
if (selectedModel) {
|
||||
modelTitle = selectedModel.title;
|
||||
providerName = selectedModel.provider;
|
||||
providerName = selectedModel.underlyingProviderName;
|
||||
|
||||
// If there's a matching provider from add model form provider info
|
||||
// We can get more info
|
||||
const foundProvider = Object.values(providers).find(
|
||||
(p) => p?.provider === selectedModel.provider,
|
||||
(p) => p?.provider === selectedModel.underlyingProviderName,
|
||||
);
|
||||
if (foundProvider) {
|
||||
providerName = foundProvider.title;
|
||||
|
||||
Reference in New Issue
Block a user