mirror of
https://github.com/outbackdingo/optimclaw.git
synced 2026-08-30 16:19:21 +00:00
Add CodeAct execution (Tier 1) using the Monty embedded Python interpreter, following the Recursive Language Model (RLM) pattern from arXiv:2512.24601. Key additions: - executor/scripting.rs: Monty integration with FunctionCall-based tool dispatch, catch_unwind panic safety, resource limits (30s, 64MB, 1M allocs) - LlmResponse::Code variant + ExecutionTier::Scripting - Context-as-variables (RLM 3.4): thread messages, goal, step_number, previous_results injected as Python variables — LLM context stays lean while code accesses data selectively - llm_query(prompt, context) (RLM 3.5): recursive subagent calls from within Python code — results stored as variables, not injected into parent's attention window (symbolic composition) - Compact output metadata between code steps instead of full stdout - MontyObject ↔ serde_json::Value bidirectional conversion - Updated architecture plan with RLM design principles 74 tests passing, zero clippy warnings. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
30 lines
882 B
TOML
30 lines
882 B
TOML
[package]
|
|
name = "ironclaw_engine"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
rust-version = "1.92"
|
|
description = "Unified thread-capability-CodeAct execution engine for IronClaw"
|
|
authors = ["NEAR AI <[email protected]>"]
|
|
license = "MIT OR Apache-2.0"
|
|
homepage = "https://github.com/nearai/ironclaw"
|
|
repository = "https://github.com/nearai/ironclaw"
|
|
publish = false
|
|
|
|
[package.metadata.dist]
|
|
dist = false
|
|
|
|
[dependencies]
|
|
async-trait = "0.1"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
monty = { git = "https://github.com/pydantic/monty.git", branch = "main" }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
thiserror = "2"
|
|
tokio = { version = "1", features = ["sync", "time", "macros", "rt"] }
|
|
tracing = "0.1"
|
|
uuid = { version = "1", features = ["v4", "serde"] }
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions = "1"
|
|
tokio = { version = "1", features = ["full", "test-util"] }
|