Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697import { RequestError } from "@agentclientprotocol/sdk"import { Schema } from "effect"
export class SessionNotFoundError extends Schema.TaggedError<SessionNotFoundError>()("ACPSessionNotFoundError", { sessionId: Schema.String,}) {}
export class SessionDirectoryMismatchError extends Schema.TaggedError<SessionDirectoryMismatchError>()( "ACPSessionDirectoryMismatchError", { sessionId: Schema.String, cwd: Schema.String },) {}
export class InvalidConfigOptionError extends Schema.TaggedError<InvalidConfigOptionError>()( "ACPInvalidConfigOptionError", { configId: Schema.String },) {}
export class InvalidModelError extends Schema.TaggedError<InvalidModelError>()("ACPInvalidModelError", { modelId: Schema.String, providerId: Schema.optional(Schema.String),}) {}
export class InvalidEffortError extends Schema.TaggedError<InvalidEffortError>()("ACPInvalidEffortError", { effort: Schema.String,}) {}
export class InvalidModeError extends Schema.TaggedError<InvalidModeError>()("ACPInvalidModeError", { mode: Schema.String,}) {}
export class AuthRequiredError extends Schema.TaggedError<AuthRequiredError>()("ACPAuthRequiredError", {}) {}
export class UnknownAuthMethodError extends Schema.TaggedError<UnknownAuthMethodError>()("ACPUnknownAuthMethodError", { methodId: Schema.String,}) {}
export class ServiceFailureError extends Schema.TaggedError<ServiceFailureError>()("ACPServiceFailureError", { safeMessage: Schema.String, service: Schema.optional(Schema.String), errorName: Schema.optional(Schema.String),}) {}
export type Error = | SessionNotFoundError | SessionDirectoryMismatchError | InvalidConfigOptionError | InvalidModelError | InvalidEffortError | InvalidModeError | AuthRequiredError | UnknownAuthMethodError | ServiceFailureError
export function toRequestError(error: Error): RequestError { switch (error._tag) { case "ACPSessionNotFoundError": return RequestError.invalidParams({ sessionId: error.sessionId }, `session not found: ${error.sessionId}`) case "ACPSessionDirectoryMismatchError": return RequestError.invalidParams( { sessionId: error.sessionId, cwd: error.cwd }, `session ${error.sessionId} does not belong to cwd: ${error.cwd}`, ) case "ACPInvalidConfigOptionError": return RequestError.invalidParams({ configId: error.configId }, `unknown config option: ${error.configId}`) case "ACPInvalidModelError": return RequestError.invalidParams( { providerId: error.providerId, modelId: error.modelId }, `model not found: ${error.modelId}`, ) case "ACPInvalidEffortError": return RequestError.invalidParams({ effort: error.effort }, `effort not found: ${error.effort}`) case "ACPInvalidModeError": return RequestError.invalidParams({ mode: error.mode }, `mode not found: ${error.mode}`) case "ACPAuthRequiredError": return RequestError.authRequired({}, "provider authentication required") case "ACPUnknownAuthMethodError": return RequestError.invalidParams({ methodId: error.methodId }, `unknown auth method: ${error.methodId}`) case "ACPServiceFailureError": return RequestError.internalError( { ...(error.service ? { service: error.service } : {}), ...(error.errorName ? { errorName: error.errorName } : {}), }, error.safeMessage, ) } const exhaustive: never = error return exhaustive}
export function fromUnknown(error: unknown, service?: string) { const errorName = error instanceof Error ? error.name : undefined return new ServiceFailureError({ safeMessage: "Internal service failure", service, errorName })}
export * as ACPError from "./error"