From 350d76ee141004e202d6c365d29ffdb29bde66c6 Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Sat, 2 May 2026 16:59:03 -0700 Subject: [PATCH] [codex] Align GitHub source control adapter errors (#2476) Co-authored-by: Julius Marminge --- 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 2d95c5219f75f81698943d94c54691c618363b8c..cf04296ea5ec52df4e6255977196abb879c9d97c 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 bb90aeba0145cb90cc850c8c15260b195219ba54..9dcf0ffec750744b1ac44664071467dee4aeec81 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 3bdccbf97d16a7f0df6260c3cfca6ae09944be94..916db45fd4f34271994bf28547fb89c3f293bb9e 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 dd12e749da44156c100ef64d4352e8c82e835098..cf3bfe93efa7bbcacd5a327eeea3f9c97cf69908 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, ]); -- 2.54.0