From 75209098c7d5e18f81b463c79a009c9673601823 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 11:00:28 +0000 Subject: [PATCH 1/2] Initial plan From c61ffd7a8f8611a9d2a29f6b91cb5323cdcd8c96 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Feb 2026 11:07:51 +0000 Subject: [PATCH 2/2] Complete Amico V2 redesign - remove V1, add new architecture Co-authored-by: takasaki404 <193405421+takasaki404@users.noreply.github.com> --- ARCHITECTURE.md | 647 + Cargo.lock | 10325 +--------------- Cargo.toml | 37 +- README.md | 198 +- amico-core/Cargo.toml | 30 - amico-core/README.md | 52 - amico-core/src/agent.rs | 205 - amico-core/src/ecs.rs | 5 - amico-core/src/errors/agent_event.rs | 10 - amico-core/src/errors/mod.rs | 3 - amico-core/src/lib.rs | 9 - amico-core/src/traits/event_source.rs | 18 - amico-core/src/traits/handlers.rs | 206 - amico-core/src/traits/mod.rs | 9 - amico-core/src/traits/strategy.rs | 27 - amico-core/src/traits/system.rs | 8 - amico-core/src/types/agent_event.rs | 342 - amico-core/src/types/control.rs | 10 - amico-core/src/types/interaction.rs | 77 - amico-core/src/types/mod.rs | 7 - amico-core/src/world/delegate.rs | 35 - amico-core/src/world/manager.rs | 43 - amico-core/src/world/mod.rs | 5 - amico-core/tests/strategy_interaction.rs | 83 - amico-core/tests/test_agent.rs | 85 - amico-hal/Cargo.toml | 36 - amico-hal/README.md | 40 - amico-hal/src/interface/audio.rs | 21 - amico-hal/src/interface/mod.rs | 1 - amico-hal/src/lib.rs | 7 - amico-hal/src/os/common/audio/control.rs | 249 - amico-hal/src/os/common/audio/driver.rs | 27 - amico-hal/src/os/common/audio/mod.rs | 5 - amico-hal/src/os/common/mod.rs | 1 - amico-hal/src/os/linux/mod.rs | 1 - amico-hal/src/os/mod.rs | 4 - amico-hal/src/wasm/mod.rs | 1 - amico-models/Cargo.toml | 14 + amico-models/src/lib.rs | 260 + amico-mods/Cargo.toml | 123 - amico-mods/README.md | 53 - amico-mods/src/a2a/crypto.rs | 89 - amico-mods/src/a2a/interaction.rs | 1 - amico-mods/src/a2a/mod.rs | 4 - amico-mods/src/a2a/network/dephy.rs | 197 - amico-mods/src/a2a/network/error.rs | 11 - amico-mods/src/a2a/network/interface.rs | 55 - amico-mods/src/a2a/network/mod.rs | 7 - amico-mods/src/aoe/connections/mod.rs | 1 - amico-mods/src/aoe/devices/mod.rs | 1 - amico-mods/src/aoe/mod.rs | 3 - amico-mods/src/aoe/protocol/mod.rs | 1 - amico-mods/src/interface.rs | 54 - amico-mods/src/lib.rs | 14 - amico-mods/src/runtime/mod.rs | 1 - amico-mods/src/runtime/storage/fs.rs | 298 - amico-mods/src/runtime/storage/in_mem.rs | 173 - amico-mods/src/runtime/storage/mod.rs | 5 - amico-mods/src/std/ai/mod.rs | 3 - amico-mods/src/std/ai/providers/mod.rs | 4 - amico-mods/src/std/ai/providers/rig.rs | 95 - .../src/std/ai/providers/rig_helpers.rs | 92 - amico-mods/src/std/ai/services/mod.rs | 1 - amico-mods/src/std/ai/services/speech.rs | 136 - amico-mods/src/std/ai/services/stt.rs | 0 amico-mods/src/std/ai/session.rs | 141 - amico-mods/src/std/core/action_selector.rs | 160 - amico-mods/src/std/core/event_generator.rs | 21 - amico-mods/src/std/core/event_pool.rs | 165 - amico-mods/src/std/core/mod.rs | 9 - amico-mods/src/std/core/model.rs | 19 - amico-mods/src/std/core/tests.rs | 77 - amico-mods/src/std/mod.rs | 4 - amico-mods/src/web3/ethereum/mod.rs | 1 - amico-mods/src/web3/ethereum/wallet.rs | 56 - amico-mods/src/web3/mod.rs | 7 - amico-mods/src/web3/solana/balance.rs | 162 - amico-mods/src/web3/solana/client.rs | 23 - amico-mods/src/web3/solana/mod.rs | 5 - amico-mods/src/web3/solana/trade.rs | 118 - amico-mods/src/web3/solana/utils/mod.rs | 1 - amico-mods/src/web3/solana/utils/swap.rs | 27 - amico-mods/src/web3/solana/wallet.rs | 51 - amico-mods/src/web3/wallet.rs | 316 - amico-runtime/Cargo.toml | 14 + amico-runtime/src/lib.rs | 215 + amico-sdk/Cargo.toml | 40 - amico-sdk/README.md | 51 - amico-sdk/src/a2a/mod.rs | 1 - amico-sdk/src/a2a/network.rs | 194 - amico-sdk/src/ai/completion/error.rs | 14 - amico-sdk/src/ai/completion/mod.rs | 7 - amico-sdk/src/ai/completion/model.rs | 188 - amico-sdk/src/ai/completion/session.rs | 333 - amico-sdk/src/ai/mcp/client.rs | 413 - amico-sdk/src/ai/mcp/mod.rs | 11 - amico-sdk/src/ai/mcp/test_server.rs | 39 - amico-sdk/src/ai/mcp/tests.rs | 253 - amico-sdk/src/ai/mcp/tool.rs | 82 - amico-sdk/src/ai/message.rs | 49 - amico-sdk/src/ai/mod.rs | 6 - amico-sdk/src/ai/tool.rs | 253 - amico-sdk/src/aoe.rs | 3 - amico-sdk/src/environment.rs | 25 - amico-sdk/src/lib.rs | 10 - amico-sdk/src/resource.rs | 253 - amico-sdk/src/runtime/mod.rs | 1 - amico-sdk/src/runtime/storage.rs | 276 - amico-system/Cargo.toml | 14 + amico-system/src/lib.rs | 230 + amico-wasm/Cargo.toml | 39 - amico-wasm/README.md | 64 - amico-wasm/example/.gitignore | 24 - amico-wasm/example/README.md | 68 - amico-wasm/example/eslint.config.js | 33 - amico-wasm/example/index.html | 13 - amico-wasm/example/package.json | 30 - amico-wasm/example/pnpm-lock.yaml | 1910 --- amico-wasm/example/public/vite.svg | 1 - amico-wasm/example/src/App.css | 42 - amico-wasm/example/src/App.jsx | 82 - amico-wasm/example/src/assets/react.svg | 1 - amico-wasm/example/src/index.css | 68 - amico-wasm/example/src/main.jsx | 10 - amico-wasm/example/vite.config.js | 13 - amico-wasm/src/lib.rs | 91 - amico-wasm/src/log.rs | 17 - amico-workflows/Cargo.toml | 19 + amico-workflows/src/lib.rs | 308 + amico/Cargo.toml | 34 +- amico/README.md | 20 - amico/src/audio.rs | 197 - amico/src/engine/a2a.rs | 144 - amico/src/engine/components.rs | 66 - amico/src/engine/events.rs | 26 - amico/src/engine/interaction.rs | 138 - amico/src/engine/mod.rs | 6 - amico/src/engine/strategy.rs | 36 - amico/src/engine/systems.rs | 207 - amico/src/helpers.rs | 7 - amico/src/lib.rs | 250 + amico/src/main.rs | 159 - amico/src/prompt.rs | 18 - 143 files changed, 2296 insertions(+), 20748 deletions(-) create mode 100644 ARCHITECTURE.md delete mode 100644 amico-core/Cargo.toml delete mode 100644 amico-core/README.md delete mode 100644 amico-core/src/agent.rs delete mode 100644 amico-core/src/ecs.rs delete mode 100644 amico-core/src/errors/agent_event.rs delete mode 100644 amico-core/src/errors/mod.rs delete mode 100644 amico-core/src/lib.rs delete mode 100644 amico-core/src/traits/event_source.rs delete mode 100644 amico-core/src/traits/handlers.rs delete mode 100644 amico-core/src/traits/mod.rs delete mode 100644 amico-core/src/traits/strategy.rs delete mode 100644 amico-core/src/traits/system.rs delete mode 100644 amico-core/src/types/agent_event.rs delete mode 100644 amico-core/src/types/control.rs delete mode 100644 amico-core/src/types/interaction.rs delete mode 100644 amico-core/src/types/mod.rs delete mode 100644 amico-core/src/world/delegate.rs delete mode 100644 amico-core/src/world/manager.rs delete mode 100644 amico-core/src/world/mod.rs delete mode 100644 amico-core/tests/strategy_interaction.rs delete mode 100644 amico-core/tests/test_agent.rs delete mode 100644 amico-hal/Cargo.toml delete mode 100644 amico-hal/README.md delete mode 100644 amico-hal/src/interface/audio.rs delete mode 100644 amico-hal/src/interface/mod.rs delete mode 100644 amico-hal/src/lib.rs delete mode 100644 amico-hal/src/os/common/audio/control.rs delete mode 100644 amico-hal/src/os/common/audio/driver.rs delete mode 100644 amico-hal/src/os/common/audio/mod.rs delete mode 100644 amico-hal/src/os/common/mod.rs delete mode 100644 amico-hal/src/os/linux/mod.rs delete mode 100644 amico-hal/src/os/mod.rs delete mode 100644 amico-hal/src/wasm/mod.rs create mode 100644 amico-models/Cargo.toml create mode 100644 amico-models/src/lib.rs delete mode 100644 amico-mods/Cargo.toml delete mode 100644 amico-mods/README.md delete mode 100644 amico-mods/src/a2a/crypto.rs delete mode 100644 amico-mods/src/a2a/interaction.rs delete mode 100644 amico-mods/src/a2a/mod.rs delete mode 100644 amico-mods/src/a2a/network/dephy.rs delete mode 100644 amico-mods/src/a2a/network/error.rs delete mode 100644 amico-mods/src/a2a/network/interface.rs delete mode 100644 amico-mods/src/a2a/network/mod.rs delete mode 100644 amico-mods/src/aoe/connections/mod.rs delete mode 100644 amico-mods/src/aoe/devices/mod.rs delete mode 100644 amico-mods/src/aoe/mod.rs delete mode 100644 amico-mods/src/aoe/protocol/mod.rs delete mode 100644 amico-mods/src/interface.rs delete mode 100644 amico-mods/src/lib.rs delete mode 100644 amico-mods/src/runtime/mod.rs delete mode 100644 amico-mods/src/runtime/storage/fs.rs delete mode 100644 amico-mods/src/runtime/storage/in_mem.rs delete mode 100644 amico-mods/src/runtime/storage/mod.rs delete mode 100644 amico-mods/src/std/ai/mod.rs delete mode 100644 amico-mods/src/std/ai/providers/mod.rs delete mode 100644 amico-mods/src/std/ai/providers/rig.rs delete mode 100644 amico-mods/src/std/ai/providers/rig_helpers.rs delete mode 100644 amico-mods/src/std/ai/services/mod.rs delete mode 100644 amico-mods/src/std/ai/services/speech.rs delete mode 100644 amico-mods/src/std/ai/services/stt.rs delete mode 100644 amico-mods/src/std/ai/session.rs delete mode 100644 amico-mods/src/std/core/action_selector.rs delete mode 100644 amico-mods/src/std/core/event_generator.rs delete mode 100644 amico-mods/src/std/core/event_pool.rs delete mode 100644 amico-mods/src/std/core/mod.rs delete mode 100644 amico-mods/src/std/core/model.rs delete mode 100644 amico-mods/src/std/core/tests.rs delete mode 100644 amico-mods/src/std/mod.rs delete mode 100644 amico-mods/src/web3/ethereum/mod.rs delete mode 100644 amico-mods/src/web3/ethereum/wallet.rs delete mode 100644 amico-mods/src/web3/mod.rs delete mode 100644 amico-mods/src/web3/solana/balance.rs delete mode 100644 amico-mods/src/web3/solana/client.rs delete mode 100644 amico-mods/src/web3/solana/mod.rs delete mode 100644 amico-mods/src/web3/solana/trade.rs delete mode 100644 amico-mods/src/web3/solana/utils/mod.rs delete mode 100644 amico-mods/src/web3/solana/utils/swap.rs delete mode 100644 amico-mods/src/web3/solana/wallet.rs delete mode 100644 amico-mods/src/web3/wallet.rs create mode 100644 amico-runtime/Cargo.toml create mode 100644 amico-runtime/src/lib.rs delete mode 100644 amico-sdk/Cargo.toml delete mode 100644 amico-sdk/README.md delete mode 100644 amico-sdk/src/a2a/mod.rs delete mode 100644 amico-sdk/src/a2a/network.rs delete mode 100644 amico-sdk/src/ai/completion/error.rs delete mode 100644 amico-sdk/src/ai/completion/mod.rs delete mode 100644 amico-sdk/src/ai/completion/model.rs delete mode 100644 amico-sdk/src/ai/completion/session.rs delete mode 100644 amico-sdk/src/ai/mcp/client.rs delete mode 100644 amico-sdk/src/ai/mcp/mod.rs delete mode 100644 amico-sdk/src/ai/mcp/test_server.rs delete mode 100644 amico-sdk/src/ai/mcp/tests.rs delete mode 100644 amico-sdk/src/ai/mcp/tool.rs delete mode 100644 amico-sdk/src/ai/message.rs delete mode 100644 amico-sdk/src/ai/mod.rs delete mode 100644 amico-sdk/src/ai/tool.rs delete mode 100644 amico-sdk/src/aoe.rs delete mode 100644 amico-sdk/src/environment.rs delete mode 100644 amico-sdk/src/lib.rs delete mode 100644 amico-sdk/src/resource.rs delete mode 100644 amico-sdk/src/runtime/mod.rs delete mode 100644 amico-sdk/src/runtime/storage.rs create mode 100644 amico-system/Cargo.toml create mode 100644 amico-system/src/lib.rs delete mode 100644 amico-wasm/Cargo.toml delete mode 100644 amico-wasm/README.md delete mode 100644 amico-wasm/example/.gitignore delete mode 100644 amico-wasm/example/README.md delete mode 100644 amico-wasm/example/eslint.config.js delete mode 100644 amico-wasm/example/index.html delete mode 100644 amico-wasm/example/package.json delete mode 100644 amico-wasm/example/pnpm-lock.yaml delete mode 100644 amico-wasm/example/public/vite.svg delete mode 100644 amico-wasm/example/src/App.css delete mode 100644 amico-wasm/example/src/App.jsx delete mode 100644 amico-wasm/example/src/assets/react.svg delete mode 100644 amico-wasm/example/src/index.css delete mode 100644 amico-wasm/example/src/main.jsx delete mode 100644 amico-wasm/example/vite.config.js delete mode 100644 amico-wasm/src/lib.rs delete mode 100644 amico-wasm/src/log.rs create mode 100644 amico-workflows/Cargo.toml create mode 100644 amico-workflows/src/lib.rs delete mode 100644 amico/README.md delete mode 100644 amico/src/audio.rs delete mode 100644 amico/src/engine/a2a.rs delete mode 100644 amico/src/engine/components.rs delete mode 100644 amico/src/engine/events.rs delete mode 100644 amico/src/engine/interaction.rs delete mode 100644 amico/src/engine/mod.rs delete mode 100644 amico/src/engine/strategy.rs delete mode 100644 amico/src/engine/systems.rs delete mode 100644 amico/src/helpers.rs create mode 100644 amico/src/lib.rs delete mode 100644 amico/src/main.rs delete mode 100644 amico/src/prompt.rs diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..6ea8c83 --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,647 @@ +# Amico V2 Architecture Design + +## Introduction + +Amico V2 is a platform-agnostic **runtime** for AI agents built in Rust. It provides a framework for developers to build AI agent business logic similar to how web frameworks like Axum or Rocket enable web development. + +This document describes the system architecture using functional design principles, Haskell-style function definitions, and Rust trait examples. + +## Design Principles + +1. **Traits + Generics over Boxing**: Use traits and generics to describe abstract concepts at high abstraction levels, avoiding dynamic dispatch +2. **Compile-time Safety**: Prefer compile-time types and static evaluation over runtime polymorphism +3. **Zero-cost Abstractions**: Use references and lifetimes over `Box` and `Arc` +4. **Async Traits**: Abstract async tasks with `Future` traits, not `Pin>` +5. **Modular Architecture**: Organize crates properly, separating core utilities from high-level entry points + +## System Layers + +The Amico V2 architecture consists of four distinct layers: + +``` +┌─────────────────────────────────────────┐ +│ Application / Event Handlers │ ← Developer code +├─────────────────────────────────────────┤ +│ Workflows Layer (Presets) │ ← Tool loop agents, etc. +├─────────────────────────────────────────┤ +│ Runtime Layer │ ← Workflow execution +├─────────────────────────────────────────┤ +│ Models Layer │ ← Model abstractions +├─────────────────────────────────────────┤ +│ System Layer │ ← Tools, side-effects, I/O +└─────────────────────────────────────────┘ +``` + +## 1. Models Layer (`amico-models`) + +The models layer abstracts away specific AI model providers and parameters, categorizing models by their responsibility. + +### Functional Design + +```haskell +-- Model categories by capability +type LanguageModel context input output = context -> input -> Future +type ImageGenModel context input = context -> input -> Future +type VideoGenModel context input = context -> input -> Future