# dcooperdev/bhive-core architecture

> Architecture diagram of the GitHub repository dcooperdev/bhive-core, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/dcooperdev/bhive-core
- Repository: https://github.com/dcooperdev/bhive-core

## Overview

Hive is a provider-agnostic multi-agent framework. The principal workflow is that a caller configures Bees through BeeManager and submits a task; a Bee uses an LLM adapter, validates and executes tool calls, and returns a result. Bees can delegate to one another through the manager, which enforces delegation checks and can secure, audit, and publish delegation events. The README also documents bounded storage-backed queues, persisted conversation context, lifecycle events, retries, and runtime reconfiguration. Security and queue wiring is shown where documented; unsampled subsystem internals are represented by their enclosing source paths.

Main entry points: [`src/bee/BeeManager.ts`](https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeManager.ts) (BeeManager), [`src/bee/Bee.ts`](https://github.com/dcooperdev/bhive-core/blob/main/src/bee/Bee.ts) (Bee), [`src/llm/adapters`](https://github.com/dcooperdev/bhive-core/tree/main/src/llm/adapters) (Provider adapters), [`src/providers/LLMAdapter.ts`](https://github.com/dcooperdev/bhive-core/blob/main/src/providers/LLMAdapter.ts) (LLM adapter contract)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Agent runtime"]
  node_manager["BeeManager<br/>[BeeManager.ts]"]
  node_bee["Bee<br/>[Bee.ts]"]
  node_config["Bee configuration<br/>[BeeConfig.ts]"]
  node_tool_validation["Tool validation"]
  node_queue["Task queue<br/>[Bee.ts]"]
end

subgraph group_llm["LLM integration"]
  node_provider_registry["Provider registry"]
  node_adapter_contract["LLM adapter contract<br/>[LLMAdapter.ts]"]
  node_llm_adapters["Provider adapters"]
  node_tool_parser["Tool call parser"]
end

subgraph group_providers["Runtime providers"]
  node_context["Conversation context<br/>[ContextProvider.ts]"]
  node_storage_contract["Storage contract<br/>[StorageProvider.ts]"]
  node_memory_storage[("In-memory storage<br/>[InMemoryStorage.ts]")]
  node_event_contract["Event interfaces<br/>[EventBus.ts]"]
  node_event_bus["In-memory event bus"]
end

subgraph group_delegation["Delegation and security"]
  node_delegation_tool["Delegation tool<br/>[delegationTools.ts]"]
  node_security_context["Delegation policy"]
  node_identity["Identity manager"]
  node_keyring["Bee keyring<br/>[BeeKeyring.ts]"]
  node_secure_message["Secure messages<br/>[SecureMessage.ts]"]
  node_injection["Injection detection"]
  node_attestation["Attestation chain"]
  node_audit["Audit log<br/>[AuditLog.ts]"]
end

node_caller(("Application caller"))
node_llm_service(("LLM services"))

node_caller -->|"configures and submits"| node_manager
node_manager -->|"creates and runs"| node_bee
node_manager -->|"selects adapter"| node_provider_registry
node_manager -->|"configures limits"| node_config
node_bee -->|"requests completion"| node_adapter_contract
node_llm_adapters -->|"implements"| node_adapter_contract
node_llm_adapters -->|"parses responses"| node_tool_parser
node_llm_adapters -->|"sends requests"| node_llm_service
node_adapter_contract -->|"implemented by"| node_llm_adapters
node_bee -->|"validates tool calls"| node_tool_validation
node_bee -->|"queues tasks"| node_queue
node_bee -->|"persists context"| node_context
node_bee -->|"uses queue storage"| node_storage_contract
node_memory_storage -->|"implements"| node_storage_contract
node_bee -->|"publishes lifecycle events"| node_event_contract
node_manager -->|"publishes delegation events"| node_event_contract
node_event_bus -->|"implements"| node_event_contract
node_bee -->|"offers delegation tool"| node_delegation_tool
node_delegation_tool -->|"requests delegation"| node_manager
node_manager -->|"dispatches to target"| node_bee
node_manager -->|"checks delegation policy"| node_security_context
node_manager -->|"scans delegated task"| node_injection
node_manager -->|"seals and opens messages"| node_secure_message
node_manager -->|"resolves identities"| node_identity
node_identity -->|"creates keyrings"| node_keyring
node_secure_message -->|"signs and decrypts"| node_keyring
node_manager -->|"records message chain"| node_attestation
node_manager -->|"records delegation events"| node_audit

click node_manager "https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeManager.ts"
click node_bee "https://github.com/dcooperdev/bhive-core/blob/main/src/bee/Bee.ts"
click node_config "https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeConfig.ts"
click node_tool_validation "https://github.com/dcooperdev/bhive-core/blob/main/src/security/ToolCallValidator.ts"
click node_provider_registry "https://github.com/dcooperdev/bhive-core/blob/main/src/llm/providerRegistry.ts"
click node_adapter_contract "https://github.com/dcooperdev/bhive-core/blob/main/src/providers/LLMAdapter.ts"
click node_llm_adapters "https://github.com/dcooperdev/bhive-core/tree/main/src/llm/adapters"
click node_tool_parser "https://github.com/dcooperdev/bhive-core/blob/main/src/llm/ToolCallingParser.ts"
click node_queue "https://github.com/dcooperdev/bhive-core/blob/main/src/bee/Bee.ts"
click node_context "https://github.com/dcooperdev/bhive-core/blob/main/src/providers/ContextProvider.ts"
click node_storage_contract "https://github.com/dcooperdev/bhive-core/blob/main/src/providers/StorageProvider.ts"
click node_memory_storage "https://github.com/dcooperdev/bhive-core/blob/main/src/storage/InMemoryStorage.ts"
click node_event_contract "https://github.com/dcooperdev/bhive-core/blob/main/src/providers/EventBus.ts"
click node_event_bus "https://github.com/dcooperdev/bhive-core/blob/main/src/events/InMemoryEventBus.ts"
click node_delegation_tool "https://github.com/dcooperdev/bhive-core/blob/main/src/bee/delegationTools.ts"
click node_security_context "https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeSecurityContext.ts"
click node_identity "https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeIdentityManager.ts"
click node_keyring "https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeKeyring.ts"
click node_secure_message "https://github.com/dcooperdev/bhive-core/blob/main/src/security/SecureMessage.ts"
click node_injection "https://github.com/dcooperdev/bhive-core/blob/main/src/security/PromptInjectionDetector.ts"
click node_attestation "https://github.com/dcooperdev/bhive-core/blob/main/src/security/AttestationChain.ts"
click node_audit "https://github.com/dcooperdev/bhive-core/blob/main/src/security/AuditLog.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_manager,node_bee,node_config,node_tool_validation,node_queue toneBlue
class node_provider_registry,node_adapter_contract,node_llm_adapters,node_tool_parser toneAmber
class node_context,node_storage_contract,node_memory_storage,node_event_contract,node_event_bus toneMint
class node_delegation_tool,node_security_context,node_identity,node_keyring,node_secure_message,node_injection,node_attestation,node_audit toneRose
class node_caller,node_llm_service toneIndigo
```

## Components

### Agent runtime

- [BeeManager](https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeManager.ts): `src/bee/BeeManager.ts`
- [Bee](https://github.com/dcooperdev/bhive-core/blob/main/src/bee/Bee.ts): `src/bee/Bee.ts`
- [Bee configuration](https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeConfig.ts): `src/bee/BeeConfig.ts`
- [Tool validation](https://github.com/dcooperdev/bhive-core/blob/main/src/security/ToolCallValidator.ts): `src/security/ToolCallValidator.ts`
- [Task queue](https://github.com/dcooperdev/bhive-core/blob/main/src/bee/Bee.ts): `src/bee/Bee.ts`

### LLM integration

- [Provider registry](https://github.com/dcooperdev/bhive-core/blob/main/src/llm/providerRegistry.ts): `src/llm/providerRegistry.ts`
- [LLM adapter contract](https://github.com/dcooperdev/bhive-core/blob/main/src/providers/LLMAdapter.ts): `src/providers/LLMAdapter.ts`
- [Provider adapters](https://github.com/dcooperdev/bhive-core/tree/main/src/llm/adapters): `src/llm/adapters`
- [Tool call parser](https://github.com/dcooperdev/bhive-core/blob/main/src/llm/ToolCallingParser.ts): `src/llm/ToolCallingParser.ts`

### Runtime providers

- [Conversation context](https://github.com/dcooperdev/bhive-core/blob/main/src/providers/ContextProvider.ts): `src/providers/ContextProvider.ts`
- [Storage contract](https://github.com/dcooperdev/bhive-core/blob/main/src/providers/StorageProvider.ts): `src/providers/StorageProvider.ts`
- [In-memory storage](https://github.com/dcooperdev/bhive-core/blob/main/src/storage/InMemoryStorage.ts): `src/storage/InMemoryStorage.ts`
- [Event interfaces](https://github.com/dcooperdev/bhive-core/blob/main/src/providers/EventBus.ts): `src/providers/EventBus.ts`
- [In-memory event bus](https://github.com/dcooperdev/bhive-core/blob/main/src/events/InMemoryEventBus.ts): `src/events/InMemoryEventBus.ts`

### Delegation and security

- [Delegation tool](https://github.com/dcooperdev/bhive-core/blob/main/src/bee/delegationTools.ts): `src/bee/delegationTools.ts`
- [Delegation policy](https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeSecurityContext.ts): `src/bee/BeeSecurityContext.ts`
- [Identity manager](https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeIdentityManager.ts): `src/bee/BeeIdentityManager.ts`
- [Bee keyring](https://github.com/dcooperdev/bhive-core/blob/main/src/bee/BeeKeyring.ts): `src/bee/BeeKeyring.ts`
- [Secure messages](https://github.com/dcooperdev/bhive-core/blob/main/src/security/SecureMessage.ts): `src/security/SecureMessage.ts`
- [Injection detection](https://github.com/dcooperdev/bhive-core/blob/main/src/security/PromptInjectionDetector.ts): `src/security/PromptInjectionDetector.ts`
- [Attestation chain](https://github.com/dcooperdev/bhive-core/blob/main/src/security/AttestationChain.ts): `src/security/AttestationChain.ts`
- [Audit log](https://github.com/dcooperdev/bhive-core/blob/main/src/security/AuditLog.ts): `src/security/AuditLog.ts`

### Other components

- **Application caller**
- **LLM services**

## Connections

- Application caller → BeeManager: configures and submits
- BeeManager → Bee: creates and runs
- BeeManager → Provider registry: selects adapter
- BeeManager → Bee configuration: configures limits
- Bee → LLM adapter contract: requests completion
- Provider adapters → LLM adapter contract: implements
- Provider adapters → Tool call parser: parses responses
- Provider adapters → LLM services: sends requests
- LLM adapter contract → Provider adapters: implemented by
- Bee → Tool validation: validates tool calls
- Bee → Task queue: queues tasks
- Bee → Conversation context: persists context
- Bee → Storage contract: uses queue storage
- In-memory storage → Storage contract: implements
- Bee → Event interfaces: publishes lifecycle events
- BeeManager → Event interfaces: publishes delegation events
- In-memory event bus → Event interfaces: implements
- Bee → Delegation tool: offers delegation tool
- Delegation tool → BeeManager: requests delegation
- BeeManager → Bee: dispatches to target
- BeeManager → Delegation policy: checks delegation policy
- BeeManager → Injection detection: scans delegated task
- BeeManager → Secure messages: seals and opens messages
- BeeManager → Identity manager: resolves identities
- Identity manager → Bee keyring: creates keyrings
- Secure messages → Bee keyring: signs and decrypts
- BeeManager → Attestation chain: records message chain
- BeeManager → Audit log: records delegation events
