colmugx/posoco/runtime does not have a README file
pub(open) trait Runtime {
async fn call_model(Self, scope : InvocationScope, messages : ArrayView[Message], tool_definitions : Array[ToolDef], call_options : Json, on_chunk : (StreamChunk) -> Unit?) -> Result[ModelCallResult, ModelFailure]
async fn execute_tool(Self, ctx : EffectContext) -> ToolOutcome
async fn cancel_effects(Self, run_id~ : RunId, effect_ids : Array[EffectId], reason : CancelReason) -> Array[(EffectId, CancelDisposition)]
async fn compact(Self, scope : InvocationScope, messages : ArrayView[Message], tools : Array[ToolDef], call_options : Json, trigger : CompactTrigger) -> Result[CompactResult, ModelFailure]
}fn EffectContext::EffectContext(run_id~ : RunId, effect_id~ : EffectId, owner~ : OwnerId, call_id~ : CallId, tool_name~ : ToolName, arguments~ : Json, bound_tool~ : &ToolProvider, tool_context~ : ((&ToolCancellable) -> Unit) -> ToolCallContext) -> EffectContextimpl Show for EnqueueOutcomepub struct PortRuntime {
// private fields
}impl Runtime for PortRuntimeasync fn call_model(self : PortRuntime, scope : InvocationScope, messages : ArrayView[Message], tool_definitions : Array[ToolDef], call_options : Json, on_chunk : (StreamChunk) -> Unit?) -> Result[ModelCallResult, ModelFailure]async fn cancel_effects(self : PortRuntime, run_id~ : RunId, effect_ids : Array[EffectId], reason : CancelReason) -> Array[(EffectId, CancelDisposition)]async fn compact(self : PortRuntime, scope : InvocationScope, messages : ArrayView[Message], tools : Array[ToolDef], call_options : Json, trigger : CompactTrigger) -> Result[CompactResult, ModelFailure]async fn PortRuntime::call_model(self : PortRuntime, scope : InvocationScope, messages : ArrayView[Message], tool_definitions : Array[ToolDef], call_options : Json, on_chunk : (StreamChunk) -> Unit?) -> Result[ModelCallResult, ModelFailure]async fn PortRuntime::cancel_effects(self : PortRuntime, run_id~ : RunId, effect_ids : Array[EffectId], reason : CancelReason) -> Array[(EffectId, CancelDisposition)]async fn PortRuntime::compact(self : PortRuntime, scope : InvocationScope, messages : ArrayView[Message], tools : Array[ToolDef], call_options : Json, trigger : CompactTrigger) -> Result[CompactResult, ModelFailure]Install
Download zipLLM Agent framework with hexagonal (ports-and-adapters) architecture. Defines extension ports + Agent loop.