theway-core 0.1.21

theway core — stateful agent runtime + harness (Agent loop, skills, prompt templates, sessions, compaction) on top of theway-llm-provider.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use async_trait::async_trait;

use super::{RawRuntimeExtensionResult, RuntimeExtensionInvocation, validate_domain_event};

#[async_trait]
pub trait RuntimeRunExtensionPort: Send + Sync {
    async fn invoke_run(&self, invocation: RuntimeExtensionInvocation)
    -> RawRuntimeExtensionResult;

    async fn dispatch_run(
        &self,
        invocation: RuntimeExtensionInvocation,
    ) -> super::RuntimeExtensionResult {
        validate_domain_event(super::RuntimeExtensionDomain::Run, &invocation)?;
        super::validate_hook_result(&invocation, self.invoke_run(invocation.clone()).await?)
    }
}