From a26c444b0179fa3a4e0cc1d0188b52642e22d7dc Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Sat, 2 May 2026 16:43:44 -0700 Subject: [PATCH] Align GitHub source control adapter errors --- apps/server/src/git/GitManager.test.ts | 3 ++- apps/server/src/sourceControl/GitHubCli.ts | 14 ++++++++++++-- .../sourceControl/GitHubSourceControlProvider.ts | 5 ++--- .../gitHubPullRequests.ts} | 0 packages/contracts/src/git.ts | 11 ----------- 5 files changed, 16 insertions(+), 17 deletions(-) rename apps/server/src/{git/githubPullRequests.ts => sourceControl/gitHubPullRequests.ts} (100%) diff --git a/apps/server/src/git/GitManager.test.ts b/apps/server/src/git/GitManager.test.ts index 2d95c5219f7..cf04296ea5e 100644 --- a/apps/server/src/git/GitManager.test.ts +++ b/apps/server/src/git/GitManager.test.ts @@ -14,9 +14,10 @@ import type { ThreadId, } from "@t3tools/contracts"; -import { GitCommandError, GitHubCliError, TextGenerationError } from "@t3tools/contracts"; +import { GitCommandError, TextGenerationError } from "@t3tools/contracts"; import { type GitManagerShape } from "./GitManager.ts"; import { + GitHubCliError, type GitHubCliShape, type GitHubPullRequestSummary, GitHubCli, diff --git a/apps/server/src/sourceControl/GitHubCli.ts b/apps/server/src/sourceControl/GitHubCli.ts index bb90aeba014..9dcf0ffec75 100644 --- a/apps/server/src/sourceControl/GitHubCli.ts +++ b/apps/server/src/sourceControl/GitHubCli.ts @@ -1,16 +1,26 @@ import { Context, Effect, Layer, Result, Schema, SchemaIssue } from "effect"; -import { GitHubCliError, TrimmedNonEmptyString, type VcsError } from "@t3tools/contracts"; +import { TrimmedNonEmptyString, type VcsError } from "@t3tools/contracts"; import { VcsProcess, type VcsProcessOutput } from "../vcs/VcsProcess.ts"; import { decodeGitHubPullRequestJson, decodeGitHubPullRequestListJson, formatGitHubJsonDecodeError, -} from "../git/githubPullRequests.ts"; +} from "./gitHubPullRequests.ts"; const DEFAULT_TIMEOUT_MS = 30_000; +export class GitHubCliError extends Schema.TaggedErrorClass()("GitHubCliError", { + operation: Schema.String, + detail: Schema.String, + cause: Schema.optional(Schema.Defect), +}) { + override get message(): string { + return `GitHub CLI failed in ${this.operation}: ${this.detail}`; + } +} + export interface GitHubPullRequestSummary { readonly number: number; readonly title: string; diff --git a/apps/server/src/sourceControl/GitHubSourceControlProvider.ts b/apps/server/src/sourceControl/GitHubSourceControlProvider.ts index 3bdccbf97d1..916db45fd4f 100644 --- a/apps/server/src/sourceControl/GitHubSourceControlProvider.ts +++ b/apps/server/src/sourceControl/GitHubSourceControlProvider.ts @@ -3,11 +3,10 @@ import { SourceControlProviderError, type ChangeRequest, type ChangeRequestState, - type GitHubCliError, } from "@t3tools/contracts"; -import { GitHubCli, type GitHubPullRequestSummary } from "./GitHubCli.ts"; -import { decodeGitHubPullRequestListJson } from "../git/githubPullRequests.ts"; +import { GitHubCli, type GitHubCliError, type GitHubPullRequestSummary } from "./GitHubCli.ts"; +import { decodeGitHubPullRequestListJson } from "./gitHubPullRequests.ts"; import { SourceControlProvider, type SourceControlProviderShape } from "./SourceControlProvider.ts"; function providerError(operation: string, cause: GitHubCliError): SourceControlProviderError { diff --git a/apps/server/src/git/githubPullRequests.ts b/apps/server/src/sourceControl/gitHubPullRequests.ts similarity index 100% rename from apps/server/src/git/githubPullRequests.ts rename to apps/server/src/sourceControl/gitHubPullRequests.ts diff --git a/packages/contracts/src/git.ts b/packages/contracts/src/git.ts index dd12e749da4..cf3bfe93efa 100644 --- a/packages/contracts/src/git.ts +++ b/packages/contracts/src/git.ts @@ -328,16 +328,6 @@ export class GitCommandError extends Schema.TaggedErrorClass()( } } -export class GitHubCliError extends Schema.TaggedErrorClass()("GitHubCliError", { - operation: Schema.String, - detail: Schema.String, - cause: Schema.optional(Schema.Defect), -}) { - override get message(): string { - return `GitHub CLI failed in ${this.operation}: ${this.detail}`; - } -} - export class TextGenerationError extends Schema.TaggedErrorClass()( "TextGenerationError", { @@ -364,7 +354,6 @@ export class GitManagerError extends Schema.TaggedErrorClass()( export const GitManagerServiceError = Schema.Union([ GitManagerError, GitCommandError, - GitHubCliError, SourceControlProviderError, TextGenerationError, ]);