From 13cc93c33446ac174d50486f5fe05f61a9142e85 Mon Sep 17 00:00:00 2001 From: Timothy Date: Sun, 22 Feb 2026 17:54:12 -0800 Subject: [PATCH] chore: architecture --- docs/architecture/README.md | 178 ++++++++++++++-- docs/roadmap.md | 400 ++++++++++++++++++++---------------- uv.lock | 15 ++ 3 files changed, 404 insertions(+), 189 deletions(-) diff --git a/docs/architecture/README.md b/docs/architecture/README.md index f3828483..7ae5fc42 100644 --- a/docs/architecture/README.md +++ b/docs/architecture/README.md @@ -1,5 +1,148 @@ # Hive Agent Framework: Triangulated Verification for Reliable Goal-Driven Agents +## System Architecture Overview + +The Hive framework is organized around five core subsystems that collaborate to execute goal-driven agents reliably. The following diagram shows how these subsystems connect: + +```mermaid +flowchart TB + %% Main Entity + User([User]) + + %% ========================================= + %% EXTERNAL EVENT SOURCES + %% ========================================= + subgraph ExtEventSource [External Event Source] + E_Sch["Schedulers"] + E_WH["Webhook"] + E_SSE["SSE"] + end + + %% ========================================= + %% SYSTEM NODES + %% ========================================= + subgraph EventLoopNode [Event Loop Node] + ELN_L["listener"] + ELN_SP["System Prompt
(Task)"] + ELN_EL["Event loop"] + ELN_C["Conversation"] + end + + subgraph WorkerBees [Worker Bees] + WB_C["Conversation"] + WB_SP["System prompt"] + subgraph Graph [Graph] + direction TB + N1["Node"] --> N2["Node"] --> N3["Node"] + N1 -.-> AN["Active Node"] + N2 -.-> AN + N3 -.-> AN + end + end + + subgraph JudgeNode [Judge] + J_C["Criteria"] + J_P["Principles"] + J_EL["Event loop"] <--> J_S["Scheduler"] + end + + subgraph QueenBee [Queen Bee] + QB_SP["System prompt"] + QB_EL["Event loop"] + QB_C["Conversation"] + end + + subgraph Infra [Infra] + SA["Sub Agent"] + TR["Tool Registry"] + WTM["Write through Conversation Memory
(Logs/RAM/Harddrive)"] + SM["Shared Memory
(State/Harddrive)"] + EB["Event Bus
(RAM)"] + CS["Credential Store
(Harddrive/Cloud)"] + end + + subgraph PC [PC] + B["Browser"] + CB["Codebase
v 0.0.x ... v n.n.n"] + end + + %% ========================================= + %% CONNECTIONS & DATA FLOW + %% ========================================= + + %% External Event Routing + E_Sch --> ELN_L + E_WH --> ELN_L + E_SSE --> ELN_L + ELN_L -->|"triggers"| ELN_EL + + %% User Interactions + User -->|"Talk"| WB_C + User -->|"Talk"| QB_C + User -->|"Read/Write Access"| CS + + %% Inter-System Logic + ELN_C <-->|"Mirror"| WB_C + WB_C -->|"Focus"| AN + + WorkerBees -->|"Inquire"| JudgeNode + JudgeNode -->|"Approve"| WorkerBees + + %% Judge Alignments + J_C <-.->|"aligns"| WB_SP + J_P <-.->|"aligns"| QB_SP + + %% Escalate path + J_EL -->|"Report (Escalate)"| QB_EL + + %% Pub/Sub Logic + AN -->|"publish"| EB + EB -->|"subscribe"| QB_C + + %% Infra and Process Spawning + ELN_EL -->|"Spawn"| SA + SA -->|"Inform"| ELN_EL + SA -->|"Starts"| B + B -->|"Report"| ELN_EL + TR -->|"Assigned"| EventLoopNode + CB -->|"Modify Worker Bee"| WorkerBees + + %% ========================================= + %% SHARED MEMORY & LOGS ACCESS + %% ========================================= + + %% Worker Bees Access + Graph <-->|"Read/Write"| WTM + Graph <-->|"Read/Write"| SM + + %% Queen Bee Access + QB_C <-->|"Read/Write"| WTM + QB_EL <-->|"Read/Write"| SM + + %% Credentials Access + CS -->|"Read Access"| QB_C +``` + +### Key Subsystems + +| Subsystem | Role | Description | +| --- | --- | --- | +| **Event Loop Node** | Entry point | Listens for external events (schedulers, webhooks, SSE), triggers the event loop, and spawns sub-agents. Its conversation mirrors the Worker Bees conversation for context continuity. | +| **Worker Bees** | Execution | A graph of nodes that execute the actual work. Each node in the graph can become the Active Node. Workers maintain their own conversation and system prompt, and read/write to shared memory. | +| **Judge** | Evaluation | Evaluates Worker Bee output against criteria (aligned with Worker system prompt) and principles (aligned with Queen Bee system prompt). Runs on a scheduled event loop and escalates to the Queen Bee when needed. | +| **Queen Bee** | Oversight | The orchestration layer. Subscribes to Active Node events via the Event Bus, receives escalation reports from the Judge, and has read/write access to shared memory and credentials. Users can talk directly to the Queen Bee. | +| **Infra** | Services | Shared infrastructure: Tool Registry (assigned to Event Loop Nodes), Write-through Conversation Memory (logs across RAM and disk), Shared Memory (state on disk), Event Bus (pub/sub in RAM), Credential Store (encrypted on disk or cloud), and Sub Agents. | + +### Data Flow Patterns + +- **External triggers**: Schedulers, Webhooks, and SSE events flow into the Event Loop Node's listener, which triggers the event loop to spawn sub-agents or start browser-based tasks. +- **User interaction**: Users talk directly to Worker Bees (for task execution) or the Queen Bee (for oversight). Users also have read/write access to the Credential Store. +- **Worker-Judge loop**: Worker Bees inquire with the Judge after completing work. The Judge approves the output or escalates to the Queen Bee. +- **Pub/Sub**: The Active Node publishes events to the Event Bus. The Queen Bee subscribes for real-time visibility. +- **Adaptiveness**: The Codebase modifies Worker Bees, enabling the framework to evolve agent graphs across versions. + +--- + ## The Core Problem: The Ground Truth Crisis in Agentic Systems Modern agent frameworks face a fundamental epistemological challenge: **there is no reliable oracle**. @@ -324,30 +467,35 @@ High Confidence ───────────────────── ## The Complete Picture +The system architecture (see diagram above) maps onto four logical layers. The **Goal Layer** defines what the Queen Bee and Judge align on. The **Execution Layer** is the Worker Bees graph. The **Verification Layer** is the Judge with its triangulated signals. The **Reflexion Layer** is the feedback loop between Worker Bees and Judge. + ``` ┌─────────────────────────────────────────────────────────────────────┐ │ HIVE AGENT FRAMEWORK │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────┐ │ -│ │ GOAL LAYER │ │ +│ │ GOAL LAYER (Queen Bee) │ │ │ │ • Success criteria (weighted, multi-metric) │ │ │ │ • Constraints (hard/soft boundaries) │ │ +│ │ • Principles aligned with Queen Bee system prompt │ │ │ │ • Context (domain knowledge, preferences) │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────┐ │ -│ │ EXECUTION LAYER │ │ +│ │ EXECUTION LAYER (Worker Bees) │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ -│ │ │ Graph │───►│ Worker │───►│ Shared │ │ │ +│ │ │ Graph │───►│ Active │───►│ Shared │ │ │ │ │ │ Executor │ │ Node │ │ Memory │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ +│ │ Event Loop Node triggers │ Sub Agents, Browser tasks │ │ +│ │ Tool Registry provides tools │ Event Bus publishes events │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────┐ │ -│ │ TRIANGULATED VERIFICATION │ │ +│ │ TRIANGULATED VERIFICATION (Judge) │ │ │ │ │ │ │ │ Signal 1 Signal 2 Signal 3 │ │ │ │ ┌────────┐ ┌──────────┐ ┌─────────┐ │ │ @@ -356,9 +504,9 @@ High Confidence ───────────────────── │ │ └────────┘ └──────────┘ └─────────┘ │ │ │ │ │ │ │ │ │ │ │ └────────────────┴──────────────────┘ │ │ -│ │ │ │ │ -│ │ ▼ │ │ -│ │ Confidence from Agreement │ │ +│ │ Criteria aligned with Worker Bee system prompt │ │ +│ │ Principles aligned with Queen Bee system prompt │ │ +│ │ Confidence from agreement across signals │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ @@ -367,7 +515,7 @@ High Confidence ───────────────────── │ │ • ACCEPT: Proceed with confidence │ │ │ │ • RETRY: Learn from failure, try again │ │ │ │ • REPLAN: Strategy failed, change approach │ │ -│ │ • ESCALATE: Uncertainty too high, ask human │ │ +│ │ • ESCALATE: Report to Queen Bee, ask human │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘ @@ -628,17 +776,19 @@ class SignalWeights: ## Summary -The Hive Agent Framework addresses the fundamental reliability crisis in agentic systems through **Triangulated Verification** and a roadmap toward **Online Learning**: +The Hive Agent Framework addresses the fundamental reliability crisis in agentic systems through a layered architecture of **Event Loop Nodes**, **Worker Bees**, **Judges**, and a **Queen Bee**, unified by **Triangulated Verification** and a roadmap toward **Online Learning**: -1. **The Problem**: No single evaluation signal is trustworthy. Tests can be gamed, model confidence is miscalibrated, LLM judges hallucinate. +1. **The Architecture**: External events enter through Event Loop Nodes, which trigger Worker Bees to execute graph-based tasks. A Judge evaluates output using triangulated signals. A Queen Bee provides oversight, receives escalations, and subscribes to events via the Event Bus. Shared infrastructure (memory, credentials, tool registry) connects all subsystems. -2. **The Solution**: Confidence emerges from agreement across multiple independent signals—deterministic rules, semantic evaluation, and human judgment. +2. **The Problem**: No single evaluation signal is trustworthy. Tests can be gamed, model confidence is miscalibrated, LLM judges hallucinate. -3. **The Foundation**: Goal-driven architecture ensures we're optimizing for user intent, not metric gaming. The reflexion loop enables learning from failure without expensive search. +3. **The Solution**: Confidence emerges from agreement across multiple independent signals—deterministic rules, semantic evaluation, and human judgment. The Judge's criteria align with Worker Bee prompts; its principles align with the Queen Bee. -4. **The Learning Path**: Human escalations aren't just fallbacks—they're training signals. Confidence calibration tunes thresholds automatically. Rule generation transforms repeated human decisions into deterministic automation. +4. **The Foundation**: Goal-driven architecture ensures we're optimizing for user intent, not metric gaming. The reflexion loop between Worker Bees and Judge enables learning from failure without expensive search. -5. **The Result**: Agents that are reliable not because they're always right, but because they **know when they don't know**—and get smarter every time they ask for help. +5. **The Learning Path**: Human escalations aren't just fallbacks—they're training signals. Confidence calibration tunes thresholds automatically. Rule generation transforms repeated human decisions into deterministic automation. + +6. **The Result**: Agents that are reliable not because they're always right, but because they **know when they don't know**—and get smarter every time they ask for help. --- diff --git a/docs/roadmap.md b/docs/roadmap.md index 15fc44e6..f9708001 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -3,93 +3,122 @@ Aden Agent Framework aims to help developers build outcome-oriented, self-adaptive agents. Please find our roadmap here ```mermaid -flowchart TD -subgraph Foundation - direction LR - subgraph arch["Architecture"] - a1["Node-Based Architecture"]:::done - a2["Python SDK"]:::done - a3["LLM Integration"]:::done - a4["Communication Protocol"]:::done - end - subgraph ca["Coding Agent"] - b1["Goal Creation Session"]:::done - b2["Worker Agent Creation"] - b3["MCP Tools"]:::done - end - subgraph wa["Worker Agent"] - c1["Human-in-the-Loop"]:::done - c2["Callback Handlers"]:::done - c3["Intervention Points"]:::done - c4["Streaming Interface"] - end - subgraph cred["Credentials"] - d1["Setup Process"]:::done - d2["Pluggable Sources"]:::done - d3["Enterprise Secrets"] - d4["Integration Tools"]:::done - end - subgraph tools["Tools"] - e1["File Use"]:::done - e2["Memory STM/LTM"]:::done - e3["Web Search/Scraper"]:::done - e4["CSV/PDF"]:::done - e5["Excel/Email"] - end - subgraph core["Core"] - f1["Eval System"] - f2["Pydantic Validation"]:::done - f3["Documentation"]:::done - f4["Adaptiveness"] - f5["Sample Agents"] - end -end +flowchart TB + %% Main Entity + User([User]) -subgraph Expansion - direction LR - subgraph intel["Intelligence"] - g1["Guardrails"] - g2["Streaming Mode"] - g3["Image Generation"] - g4["Semantic Search"] + %% ========================================= + %% EXTERNAL EVENT SOURCES + %% ========================================= + subgraph ExtEventSource [External Event Source] + E_Sch["Schedulers"] + E_WH["Webhook"] + E_SSE["SSE"] end - subgraph mem["Memory Iteration"] - h1["Message Model & Sessions"] - h2["Storage Migration"] - h3["Context Building"] - h4["Proactive Compaction"] - h5["Token Tracking"] - end - subgraph evt["Event System"] - i1["Event Bus for Nodes"] - end - subgraph cas["Coding Agent Support"] - j1["Claude Code"] - j2["Cursor"] - j3["Opencode"] - j4["Antigravity"] - j5["Codex CLI"] - end - subgraph plat["Platform"] - k1["JavaScript/TypeScript SDK"] - k2["Custom Tool Integrator"] - k3["Windows Support"] - end - subgraph dep["Deployment"] - l1["Self-Hosted"] - l2["Cloud Services"] - l3["CI/CD Pipeline"] - end - subgraph tmpl["Templates"] - m1["Sales Agent"] - m2["Marketing Agent"] - m3["Analytics Agent"] - m4["Training Agent"] - m5["Smart Form Agent"] - end -end -classDef done fill:#9e9e9e,color:#fff,stroke:#757575 + %% ========================================= + %% SYSTEM NODES + %% ========================================= + subgraph EventLoopNode [Event Loop Node] + ELN_L["listener"] + ELN_SP["System Prompt
(Task)"] + ELN_EL["Event loop"] + ELN_C["Conversation"] + end + + subgraph WorkerBees [Worker Bees] + WB_C["Conversation"] + WB_SP["System prompt"] + subgraph Graph [Graph] + direction TB + N1["Node"] --> N2["Node"] --> N3["Node"] + N1 -.-> AN["Active Node"] + N2 -.-> AN + N3 -.-> AN + end + end + + subgraph JudgeNode [Judge] + J_C["Criteria"] + J_P["Principles"] + J_EL["Event loop"] <--> J_S["Scheduler"] + end + + subgraph QueenBee [Queen Bee] + QB_SP["System prompt"] + QB_EL["Event loop"] + QB_C["Conversation"] + end + + subgraph Infra [Infra] + SA["Sub Agent"] + TR["Tool Registry"] + WTM["Write through Conversation Memory
(Logs/RAM/Harddrive)"] + SM["Shared Memory
(State/Harddrive)"] + EB["Event Bus
(RAM)"] + CS["Credential Store
(Harddrive/Cloud)"] + end + + subgraph PC [PC] + B["Browser"] + CB["Codebase
v 0.0.x ... v n.n.n"] + end + + %% ========================================= + %% CONNECTIONS & DATA FLOW + %% ========================================= + + %% External Event Routing + E_Sch --> ELN_L + E_WH --> ELN_L + E_SSE --> ELN_L + ELN_L -->|"triggers"| ELN_EL + + %% User Interactions + User -->|"Talk"| WB_C + User -->|"Talk"| QB_C + User -->|"Read/Write Access"| CS + + %% Inter-System Logic + ELN_C <-->|"Mirror"| WB_C + WB_C -->|"Focus"| AN + + WorkerBees -->|"Inquire"| JudgeNode + JudgeNode -->|"Approve"| WorkerBees + + %% Judge Alignments + J_C <-.->|"aligns"| WB_SP + J_P <-.->|"aligns"| QB_SP + + %% Escalate path + J_EL -->|"Report (Escalate)"| QB_EL + + %% Pub/Sub Logic + AN -->|"publish"| EB + EB -->|"subscribe"| QB_C + + %% Infra and Process Spawning + ELN_EL -->|"Spawn"| SA + SA -->|"Inform"| ELN_EL + SA -->|"Starts"| B + B -->|"Report"| ELN_EL + TR -->|"Assigned"| EventLoopNode + CB -->|"Modify Worker Bee"| WorkerBees + + %% ========================================= + %% SHARED MEMORY & LOGS ACCESS + %% ========================================= + + %% Worker Bees Access + Graph <-->|"Read/Write"| WTM + Graph <-->|"Read/Write"| SM + + %% Queen Bee Access + QB_C <-->|"Read/Write"| WTM + QB_EL <-->|"Read/Write"| SM + + %% Credentials Access + CS -->|"Read Access"| QB_C ``` --- @@ -97,92 +126,97 @@ classDef done fill:#9e9e9e,color:#fff,stroke:#757575 ## Phase 1: Foundation ### Backbone Architecture + - [ ] **Node-Based Architecture (Agent as a node)** - - [x] Object schema definition - - [x] Node wrapper SDK - - [x] Shared memory access - - [ ] Default monitoring hooks - - [x] Tool access layer - - [x] LLM integration layer (Natively supports all mainstream LLMs through LiteLLM) - - [x] Anthropic - - [x] OpenAI - - [x] Google + - [x] Object schema definition + - [x] Node wrapper SDK + - [x] Shared memory access + - [ ] Default monitoring hooks + - [x] Tool access layer + - [x] LLM integration layer (Natively supports all mainstream LLMs through LiteLLM) + - [x] Anthropic + - [x] OpenAI + - [x] Google - [x] **Communication protocol between nodes** - [x] **[Coding Agent] Goal Creation Session** (separate from coding session) - - [x] Instruction back and forth - - [x] Goal Object schema definition - - [x] Being able to generate the test cases - - [x] Test case validation for worker agent (Outcome driven) + - [x] Instruction back and forth + - [x] Goal Object schema definition + - [x] Being able to generate the test cases + - [x] Test case validation for worker agent (Outcome driven) - [ ] **[Coding Agent] Worker Agent Creation** - - [x] Coding Agent tools - - [ ] Use Template Agent as a start - - [x] Use our MCP tools + - [x] Coding Agent tools + - [ ] Use Template Agent as a start + - [x] Use our MCP tools - [ ] **[Worker Agent] Human-in-the-Loop** - - [x] Worker Agents request with questions and options - - [x] Callback Handler System to receive events throughout execution - - [x] Tool-Based Intervention Points (tool to pause execution and request human input) - - [x] Multiple entrypoint for different event source (e.g. Human input, webhook) - - [ ] Streaming Interface for Real-time Monitoring - - [x] Request State Management + - [x] Worker Agents request with questions and options + - [x] Callback Handler System to receive events throughout execution + - [x] Tool-Based Intervention Points (tool to pause execution and request human input) + - [x] Multiple entrypoint for different event source (e.g. Human input, webhook) + - [ ] Streaming Interface for Real-time Monitoring + - [x] Request State Management ### Credential Management + - [x] **Credentials Setup Process** - - [x] Install Credential MCP + - [x] Install Credential MCP - [x] **Pluggable Credential Sources** - - [x] **Abstraction & Local Sources** - - [x] Introduce `CredentialSource` base class - - [x] Refactor existing logic into `EnvVarSource` - - [x] Implementation of Source Priority Chain mechanism - - [ ] Foundation unit tests - - [ ] **Enterprise Secret Managers** - - [x] `VaultSource` (HashiCorp Vault) - - [ ] `AWSSecretsSource` (AWS Secrets Manager) - - [ ] `AzureKeyVaultSource` (Azure Key Vault) - - [ ] Management of optional provider dependencies - - [ ] **Advanced Features** - - [x] Credential expiration and auto-refresh - - [ ] Audit logging for compliance/tracking - - [ ] Per-environment configuration support - - [ ] **Documentation & DX** - - [ ] Comprehensive source documentation - - [ ] Example configurations for all providers - - [x] **Integration as tools coverage** - - [x] Gsuite Tools - - [x] Social Media - - [ ] Twitter(X) - - [x] Github - - [ ] Instagram - - [ ] SAAS - - [ ] Hubspot - - [ ] Slack - - [ ] Teams - - [ ] Zoom - - [ ] Stripe - - [ ] Salesforce + - [x] **Abstraction & Local Sources** + - [x] Introduce `CredentialSource` base class + - [x] Refactor existing logic into `EnvVarSource` + - [x] Implementation of Source Priority Chain mechanism + - [ ] Foundation unit tests + - [ ] **Enterprise Secret Managers** + - [x] `VaultSource` (HashiCorp Vault) + - [ ] `AWSSecretsSource` (AWS Secrets Manager) + - [ ] `AzureKeyVaultSource` (Azure Key Vault) + - [ ] Management of optional provider dependencies + - [ ] **Advanced Features** + - [x] Credential expiration and auto-refresh + - [ ] Audit logging for compliance/tracking + - [ ] Per-environment configuration support + - [ ] **Documentation & DX** + - [ ] Comprehensive source documentation + - [ ] Example configurations for all providers + - [x] **Integration as tools coverage** + - [x] Gsuite Tools + - [x] Social Media + - [ ] Twitter(X) + - [x] Github + - [ ] Instagram + - [ ] SAAS + - [ ] Hubspot + - [ ] Slack + - [ ] Teams + - [ ] Zoom + - [ ] Stripe + - [ ] Salesforce > [!IMPORTANT] > **Community Contribution Wanted**: We appreciate help from the community to expand the "Integration as tools" capability. Leave an issue of the integration you want to support via Hive! ### Essential Tools + - [x] **File Use Tool Kit** -- [X] **Memory Tools** - - [x] STM Layer Tool (state-based short-term memory) - - [x] LTM Layer Tool (RLM - long-term memory) +- [x] **Memory Tools** + - [x] STM Layer Tool (state-based short-term memory) + - [x] LTM Layer Tool (RLM - long-term memory) - [ ] **Infrastructure Tools** - - [x] Runtime Log Tool (logs for coding agent) - - [x] Web Search - - [x] Web Scraper - - [x] CSV tools - - [x] PDF tools - - [ ] Excel tools - - [ ] Email Tools - - [ ] Recipe for "Add your own tools" + - [x] Runtime Log Tool (logs for coding agent) + - [x] Web Search + - [x] Web Scraper + - [x] CSV tools + - [x] PDF tools + - [ ] Excel tools + - [ ] Email Tools + - [ ] Recipe for "Add your own tools" ### Memory & File System + - [x] DB for long-term persistent memory (Filesystem as durable scratchpad pattern) - [x] Session Local memory isolation ### Eval System (Basic) + - [x] Test Driven - Run test case for all agent iteration - [ ] Failure recording mechanism - [ ] SDK for defining failure conditions @@ -190,27 +224,31 @@ classDef done fill:#9e9e9e,color:#fff,stroke:#757575 - [ ] User-driven log analysis (OSS approach) ### Data Validation + - [x] Natively Support data validation of LLMs output with Pydantic ### Developer Experience + - [ ] **MVP Features** - - [ ] Debugging mode - - [ ] CLI tools for memory management - - [ ] CLI tools for credential management + - [ ] Debugging mode + - [ ] CLI tools for memory management + - [ ] CLI tools for credential management - [ ] **MVP Resources & Documentation** - - [x] Quick start guide - - [x] Goal creation guide - - [x] Agent creation guide - - [x] GitHub Page setup - - [x] README with examples - - [x] Contributing guidelines - - [ ] Introduction Video + - [x] Quick start guide + - [x] Goal creation guide + - [x] Agent creation guide + - [x] GitHub Page setup + - [x] README with examples + - [x] Contributing guidelines + - [ ] Introduction Video ### Adaptiveness + - [ ] Runtime data feedback loop - [ ] Instant Developer Feedback for improvement ### Sample Agents + - [ ] Knowledge Agent - [ ] Blog Writer Agent - [ ] SDR Agent @@ -220,37 +258,42 @@ classDef done fill:#9e9e9e,color:#fff,stroke:#757575 ## Phase 2: Expansion ### Basic Guardrails + - [ ] Support Basic Monitoring from Agent node SDK - [ ] SDK guardrail implementation (in node) - [ ] Guardrail type support (Determined Condition as Guardrails) ### Agent Capability + - [ ] Streaming mode support - [ ] Image Generation support - [ ] Take end user input Image and flatfile understand capability ### Event-loop For Nodes (Opencode-style) + - [ ] **Event bus** ### Memory System Iteration + - [ ] **Message Model & Session Management** - - [ ] Introduce `Message` class with structured content types - - [ ] Implement `Session` classes for conversation state + - [ ] Introduce `Message` class with structured content types + - [ ] Implement `Session` classes for conversation state - [ ] **Storage Migration** - - [ ] Implement granular per-message file persistence (`/message/[agentID]/...`) - - [ ] Migrate from monolithic run storage + - [ ] Implement granular per-message file persistence (`/message/[agentID]/...`) + - [ ] Migrate from monolithic run storage - [ ] **Context Building & Conversation Loop** - - [ ] Implement `Message.stream(sessionID)` - - [ ] Update `EventLoopNode.execute()` for full context building - - [ ] Implement `Message.toModelMessages()` conversion + - [ ] Implement `Message.stream(sessionID)` + - [ ] Update `EventLoopNode.execute()` for full context building + - [ ] Implement `Message.toModelMessages()` conversion - [ ] **Proactive Compaction** - - [ ] Implement proactive overflow detection - - [ ] Develop backward-scanning pruning strategy (e.g., clearing old tool outputs) + - [ ] Implement proactive overflow detection + - [ ] Develop backward-scanning pruning strategy (e.g., clearing old tool outputs) - [ ] **Enhanced Token Tracking** - - [ ] Extend `LLMResponse` to track reasoning and cache tokens - - [ ] Integrate granular token metrics into compaction logic + - [ ] Extend `LLMResponse` to track reasoning and cache tokens + - [ ] Integrate granular token metrics into compaction logic ### Coding Agent Support + - [ ] Claude Code - [ ] Cursor - [ ] Opencode @@ -258,18 +301,21 @@ classDef done fill:#9e9e9e,color:#fff,stroke:#757575 - [ ] Codex CLI (in progress) ### File System Enhancement + - [ ] Semantic Search integration - [ ] Interactive File System in product (frontend integration) ### More Worker Tools + - [ ] Custom Tool Integrator - [ ] Integration as a tool (Credential Store & Support) - [ ] **Core Agent Tools** - - [ ] Node Discovery Tool (find other agents in the graph) - - [ ] HITL Tool (pause execution for human approval) - - [ ] Wake-up Tool (resume agent tasks) + - [ ] Node Discovery Tool (find other agents in the graph) + - [ ] HITL Tool (pause execution for human approval) + - [ ] Wake-up Tool (resume agent tasks) ### Deployment (Self-Hosted) + - [ ] Worker agent docker container standardization - [ ] Headless backend execution - [ ] Exposed API for frontend attachment @@ -277,19 +323,22 @@ classDef done fill:#9e9e9e,color:#fff,stroke:#757575 - [ ] Basic lifecycle APIs (Start, Stop, Pause, Resume) ### Deployment (Cloud) + - [ ] Cloud Service Options - [ ] Support deployment to 3rd-party platforms - [ ] Self-deploy + orchestrator connection - [ ] **CI/CD Pipeline** - - [ ] Automated test execution - - [ ] Agent version control - - [ ] All tests must pass for deployment + - [ ] Automated test execution + - [ ] Agent version control + - [ ] All tests must pass for deployment ### Developer Experience Enhancement + - [ ] Tool usage documentation - [ ] Discord Support Channel ### More Agent Templates + - [ ] GTM Sales Agent (workflow) - [ ] GTM Marketing Agent (workflow) - [ ] Analytics Agent @@ -297,5 +346,6 @@ classDef done fill:#9e9e9e,color:#fff,stroke:#757575 - [ ] Smart Entry / Form Agent (self-evolution emphasis) ### Cross-Platform + - [ ] JavaScript / TypeScript Version SDK - [ ] Better windows support diff --git a/uv.lock b/uv.lock index f0da5ce9..99a60ea6 100644 --- a/uv.lock +++ b/uv.lock @@ -3269,6 +3269,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/81/0d/13d1d239a25cbfb19e740db83143e95c772a1fe10202dda4b76792b114dd/starlette-0.52.1-py3-none-any.whl", hash = "sha256:0029d43eb3d273bc4f83a08720b4912ea4b071087a3b48db01b7c839f7954d74", size = 74272, upload-time = "2026-01-18T13:34:09.188Z" }, ] +[[package]] +name = "stripe" +version = "14.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "requests" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/49/67/8a38222a57fc2ba359c4dcb66528d94c00d803c7fde8f8d8470ad6bdccbb/stripe-14.3.0.tar.gz", hash = "sha256:4c76137d741bd43e8bb433a596c198ca20f4cdf17a8fe04604faf37c74b01978", size = 1463618, upload-time = "2026-01-28T21:20:29.856Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/4b/0b7d5920f2be5e42d72bdfc44a9fae57b422668bfc8dacdf2f74886f6daa/stripe-14.3.0-py3-none-any.whl", hash = "sha256:3e36b68b256c8970e99b703e195d947e2a2919095758788c7074ac4485ac255e", size = 2106980, upload-time = "2026-01-28T21:20:27.566Z" }, +] + [[package]] name = "textual" version = "7.5.0" @@ -3386,6 +3399,7 @@ dependencies = [ { name = "pypdf" }, { name = "python-dotenv" }, { name = "resend" }, + { name = "stripe" }, ] [package.optional-dependencies] @@ -3456,6 +3470,7 @@ requires-dist = [ { name = "resend", specifier = ">=2.0.0" }, { name = "restrictedpython", marker = "extra == 'all'", specifier = ">=7.0" }, { name = "restrictedpython", marker = "extra == 'sandbox'", specifier = ">=7.0" }, + { name = "stripe", specifier = ">=14.3.0" }, ] provides-extras = ["dev", "sandbox", "ocr", "excel", "sql", "bigquery", "all"]