README

colmugx/posoco/error does not have a README file

#
AgentError

pub(all) suberror AgentError {
Model(String)
Session(SessionError)
Runtime(RuntimeError)
ToolLoopExceeded(consumed~ : Int, limit~ : Int)
PipelineAborted(String)
} derive(
Debug
)

impl Show for AgentError

#
CommandError

pub(all) suberror CommandError {
NotFound(String)
InvalidArgs(reason~ : String)
ExecutionFailed(String)
} derive(
Debug
)

Errors raised by CommandPort.invoke: unknown command id, invalid args, or execution failure.

#
CompositionError

pub(all) suberror CompositionError {
ToolCollision(String, String, manifests~ : Array[String])
CommandCollision(String, manifests~ : Array[String])
MissingModel
MultipleModels(manifests~ : Array[String])
EmptyManifests
ManifestSchemaError(manifest_id~ : String, detail~ : String)
EmptyPort(String)
ExtensionComposeFailed(manifest_id~ : String, detail~ : String)
} derive(
Debug
)

Composition errors raised during Agent::new (manifest aggregation failures).

Every variant that involves a specific extension carries manifest_id so callers can locate the offending extension without guessing. Multi-party collisions carry the list of involved manifest ids.

#
MemoryError

pub(all) suberror MemoryError {
Store(String)
Search(String)
Delete(String)
} derive(
Debug
)

impl Show for MemoryError

#
ModelError

pub(all) suberror ModelError {
RequestBuild(String)
Transport(String)
ResponseParse(String)
RateLimited(RateLimitInfo)
} derive(
Debug
)

impl Show for ModelError

#
RuntimeError

pub(all) suberror RuntimeError {
UnknownTool(String)
InvocationFailed(String)
Transport(String)
ToolAlreadyRegistered(String)
} derive(
Debug
)

#
RuntimeError::to_string

fn RuntimeError::to_string(self : RuntimeError) -> String

#
SessionError

pub(all) suberror SessionError {
Load(String)
Save(String)
} derive(
Debug
)

#
SessionError::to_string

fn SessionError::to_string(self : SessionError) -> String

#
UiError

pub(all) suberror UiError {
Unsupported(detail~ : String)
Cancelled
InvalidRequest(detail~ : String)
IoFailure(detail~ : String)
} derive(
Debug
)

Errors raised by UiPort implementations. UiPort::request MUST raise one of these typed variants instead of an untyped error, so that callers can distinguish "user cancelled" from "this UI doesn't support requests".
impl Show for UiError

#
RateLimitInfo

pub(all) struct RateLimitInfo {
status : Int
message : String
reset_at_ms : Int64?
provider_code : String?
} derive(Eq,
Debug
)

Structured quota/rate-limit verdict returned by a provider (the HTTP 429 family). Raised as ModelError::RateLimited instead of Transport so hosts can schedule recovery from typed data instead of parsing strings.

reset_at_ms is the Unix epoch in milliseconds at which the provider stated the quota window frees; None means no explicit reset time was stated, so waiting is not schedulable and the caller should treat the verdict as terminal for this turn. provider_code is the provider's own machine code for the verdict when available (for example z.ai "1308", OpenAI "usage_limit_reached"). message is a bounded excerpt of the provider message, safe to display.

Powered by MoonBit

Site sourceReport issuePackagesBuild queueSkillsStatistics

© 2026 mooncakes.io