pub enum InstallError {
Show 21 variants
ManifestRequest(Error),
ManifestBadStatus {
code: StatusCode,
url: String,
body: String,
},
ManifestResponse(Error),
ManifestParse(Error<Error>),
CliZipRequest(Error),
CliZipBadStatus {
code: StatusCode,
url: String,
},
CliZipResponse(Error),
PluginDirCreate(PathBuf, Error),
ManifestSerialize(Error),
ManifestPersist(PathBuf, Error),
ViewerZipRequest(Error),
ViewerZipBadStatus {
code: StatusCode,
url: String,
},
ViewerZipResponse(Error),
ZipExtract(PathBuf, String),
InvalidHeaderName {
name: String,
reason: String,
},
InvalidHeaderValue {
name: String,
reason: String,
},
AlreadyInstalled {
repository: String,
},
ReservedRepositoryName {
repository: String,
},
ManifestInvalid(&'static str),
InvalidIdentifier {
kind: &'static str,
value: String,
},
ToolNameTooLong {
tool_name: String,
len: usize,
},
}Expand description
Failures the plugin install pipeline can encounter. Shape modelled
after objectiveai-api’s github::Error: split request / response
/ status / parse so diagnostics name what failed, plus IO variants
for the local-disk side of the flow.
Variants§
ManifestRequest(Error)
ManifestBadStatus
ManifestResponse(Error)
ManifestParse(Error<Error>)
CliZipRequest(Error)
CliZipBadStatus
CliZipResponse(Error)
PluginDirCreate(PathBuf, Error)
ManifestSerialize(Error)
ManifestPersist(PathBuf, Error)
ViewerZipRequest(Error)
ViewerZipBadStatus
ViewerZipResponse(Error)
ZipExtract(PathBuf, String)
InvalidHeaderName
InvalidHeaderValue
AlreadyInstalled
ReservedRepositoryName
ManifestInvalid(&'static str)
InvalidIdentifier
owner, repository, or commit does not match the
^[A-Za-z0-9_.-]{1,128}$ shape required for them to land in a
usable LLM tool name (Anthropic enforces ^[a-zA-Z0-9_-]{1,128}$;
we additionally allow . so semver-shaped version strings can
flow through, with . -> - substitution applied when the tool
name is materialized).
ToolNameTooLong
The materialized tool name ({owner}-{name}-{version} with .
substituted to -) is longer than the 100-character budget we
reserve. Anthropic’s hard cap is 128 chars; the 28-char gap
leaves headroom for the proxy prefix the MCP server stamps on
(oai_, oaifs_, etc.) plus any future prefix growth.
Trait Implementations§
Source§impl Debug for InstallError
impl Debug for InstallError
Source§impl Display for InstallError
impl Display for InstallError
Source§impl Error for InstallError
impl Error for InstallError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<InstallError> for Error
impl From<InstallError> for Error
Source§fn from(source: InstallError) -> Self
fn from(source: InstallError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for InstallError
impl !UnwindSafe for InstallError
impl Freeze for InstallError
impl Send for InstallError
impl Sync for InstallError
impl Unpin for InstallError
impl UnsafeUnpin for InstallError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.