Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586import { RequestError } from "@agentclientprotocol/sdk"import { Schema } from "effect"
export class SessionNotFoundError extends Schema.TaggedError<SessionNotFoundError>()("ACPSessionNotFoundError", { sessionId: 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 | 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 "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"