New skald-core::loop_adapters module — implements the agent-loop trait
surface over existing infrastructure, unused by the current loop (wired
in phase 2):
- SqliteHistory: HistoryStore over chat_sessions_stack/chat_history/
chat_llm_tools/chat_summaries, no schema change; CallState maps 1:1 on
the existing status strings; wire call ids synthesized as tc_{id}
- SkaldSelector: ModelSelector over LlmManager with the agent's strength
captured per-turn (D14); DtlMode → ToolRendering mapping (D15)
- SkaldActivationSource + SkaldToolActivator: DTL catalog + persistence
(activated_tools, anchored at the triggering message) behind the
crate's protocol traits; unifies the grants/persistence split
- ApprovalGate: port of run_approval_gate (pre-approved, engine, fs
fast-path, auto-deny, AwaitingHuman + block on human); a closed human
channel maps to the new GateDecision::Suspend in agent-loop
- SkaldToolSet + CoreToolBridge/McpToolBridge: core-api and MCP tools
run inside the crate's kernel (execution bridged, execute_cmd keeps
its teardown; D7 MarkInterrupted for shell)
- agent-loop: re-export async_trait at root; EventSink::new made public
17 adapter tests green (temp-DB integration); full workspace suite green
(pre-existing honcho-client doc-test failure untouched: missing dev-deps).
53 lines
1.1 KiB
Rust
53 lines
1.1 KiB
Rust
//! The headless Skald core: storage, identity, LLM stack, tools, sessions.
|
|
//!
|
|
//! Nothing here knows what runs it. The process shell — HTTP server, setup
|
|
//! wizard — lives in the crates that depend on this one. Concrete
|
|
//! plugins are never named: `plugin::PluginManager` only ever sees
|
|
//! `Arc<dyn Plugin>`, constructed by the consumer and handed to `Skald::new`.
|
|
|
|
pub mod boot;
|
|
pub mod config;
|
|
pub mod auth;
|
|
pub mod config_store;
|
|
pub mod skald;
|
|
pub mod agents;
|
|
pub mod approval;
|
|
pub mod chat_event_bus;
|
|
pub mod chat_hub;
|
|
pub mod clarification;
|
|
pub mod command;
|
|
pub mod compactor;
|
|
pub mod container;
|
|
pub mod crypto;
|
|
pub mod elicitation;
|
|
pub mod cron;
|
|
pub mod db;
|
|
pub mod events;
|
|
pub mod image_generate;
|
|
pub mod i18n;
|
|
pub mod inbox;
|
|
pub mod latex;
|
|
pub mod llm;
|
|
pub mod location;
|
|
pub mod loop_adapters;
|
|
pub mod memory;
|
|
pub mod mcp;
|
|
pub mod notification;
|
|
pub mod pending_registry;
|
|
pub mod plugin;
|
|
pub mod projects;
|
|
pub mod provider;
|
|
pub mod run_context;
|
|
pub mod secrets;
|
|
pub mod service_manager;
|
|
pub mod session;
|
|
pub mod setup;
|
|
pub mod tic;
|
|
pub mod tool_catalog;
|
|
pub mod tool_discovery;
|
|
pub mod tools;
|
|
pub mod transcribe;
|
|
pub mod tts;
|
|
pub mod uploads;
|
|
pub mod users;
|