diff --git a/extensions/codestory/src/sidecar/client.ts b/extensions/codestory/src/sidecar/client.ts index 7769ad0b613..342fc884bbf 100644 --- a/extensions/codestory/src/sidecar/client.ts +++ b/extensions/codestory/src/sidecar/client.ts @@ -141,9 +141,23 @@ export class SideCarClient { } async getRepoStatus(): Promise { - const response = await fetch(this.getRepoListUrl()); - const repoList = (await response.json()) as RepoStatus; - return repoList; + try { + const response = await fetch(this.getRepoListUrl()); + if (!response.ok) { + return { + repo_map: {}, + error: `Failed to fetch repository status: ${response.statusText}` + }; + } + const repoList = (await response.json()) as RepoStatus; + return repoList; + } catch (error) { + console.error('Error fetching repository status:', error); + return { + repo_map: {}, + error: `Internal server error: Tool error: Repo map error: Tree generation error: No tree generated. ${error instanceof Error ? error.message : String(error)}` + }; + } } @@ -2227,4 +2241,4 @@ function getCurrentActiveWindow(): { end_line: endPosition.line + 1, language: activeWindow.document.languageId, }; -} +} \ No newline at end of file diff --git a/extensions/codestory/src/sidecar/types.ts b/extensions/codestory/src/sidecar/types.ts index 61520df4195..a4cd6c11543 100644 --- a/extensions/codestory/src/sidecar/types.ts +++ b/extensions/codestory/src/sidecar/types.ts @@ -119,6 +119,7 @@ export type SyncStatus = export interface RepoStatus { // The string here is generated from RepoRef.to_string() repo_map: { [key: string]: Repository }; + error?: string; // Optional error property to store error information when tree generation fails } @@ -732,4 +733,4 @@ function getModelProviderConfiguration(providerConfiguration: ProviderSpecificCo return 'OpenRouter'; } return null; -} +} \ No newline at end of file