You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/architecture/project-structure.md
+15-2Lines changed: 15 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,10 +28,15 @@ All application code lives under `internal/` to enforce Go's visibility boundary
28
28
29
29
| Package | Description |
30
30
|---------|-------------|
31
-
|`adk/`| Google ADK v0.4.0 integration. Contains `Agent` (wraps ADK runner), `ModelAdapter` (bridges `provider.ProviderProxy` to ADK `model.LLM`), `ContextAwareModelAdapter` (injects knowledge/memory/RAG into system prompt), `SessionServiceAdapter` (bridges internal session store to ADK session interface), and `AdaptTool()` (converts `agent.Tool` to ADK `tool.Tool`) |
31
+
|`adk/`| Google ADK v0.5.0 integration. Contains `Agent` (wraps ADK runner), `ModelAdapter` (bridges `provider.ProviderProxy` to ADK `model.LLM`), `ContextAwareModelAdapter` (injects knowledge/memory/RAG into system prompt), `SessionServiceAdapter` (bridges internal session store to ADK session interface), `ChildSessionServiceAdapter` (fork/merge child sessions for sub-agent isolation), `Summarizer` (extracts key results from child sessions), and `AdaptTool()` (converts `agent.Tool` to ADK `tool.Tool`) |
|`cli/tui/`| TUI components and views for interactive terminal sessions |
56
62
|`channels/`| Channel bot integrations for Telegram, Discord, and Slack. Each adapter converts platform-specific messages to the Gateway's internal format |
@@ -95,8 +101,12 @@ All application code lives under `internal/` to enforce Go's visibility boundary
95
101
|`keyring/`| Hardware keyring integration (Touch ID / TPM 2.0). `Provider` interface backed by OS keyring via go-keyring |
96
102
|`sandbox/`| Tool execution isolation. `SubprocessExecutor` for process-isolated P2P tool execution. `ContainerRuntime` interface with Docker/gVisor/native fallback chain. Optional pre-warmed container pool |
97
103
|`dbmigrate/`| Database encryption migration. `MigrateToEncrypted` / `DecryptToPlaintext` for SQLCipher transitions. `IsEncrypted` detection and `secureDeleteFile` cleanup |
104
+
|`toolcatalog/`| Thread-safe tool registry with category grouping. `Catalog` with `Register()`, `Get()`, `ListCategories()`, `ListTools()`. `ToolEntry` pairs tools with categories, `ToolSchema` provides tool summaries |
|`p2p/team/`| P2P team coordination. `Team` manages task-scoped agent groups with roles (Leader, Worker, Reviewer, Observer). `ScopedContext` controls metadata sharing. Budget tracking via `AddSpend()`. Team lifecycle: Forming → Active → Completed/Disbanded |
119
+
|`p2p/agentpool/`| P2P agent pool with health monitoring. `Pool` manages discovered agents. `HealthChecker` runs periodic probes (Healthy/Degraded/Unhealthy/Unknown). `Selector` provides weighted agent selection based on reputation, latency, success rate, and availability |
120
+
|`p2p/settlement/`| On-chain USDC settlement for P2P tool invocations. `Service` handles EIP-3009 authorization-based transfers with exponential retry. `ReputationRecorder` interface for outcome tracking. Subscriber pattern for settlement notifications |
Commands for inspecting A2A (Agent-to-Agent) protocol configuration and verifying remote agent connectivity. See the [A2A Protocol](../features/a2a-protocol.md) section for detailed documentation.
4
+
5
+
```
6
+
lango a2a <subcommand>
7
+
```
8
+
9
+
---
10
+
11
+
## lango a2a card
12
+
13
+
Show the local A2A agent card configuration, including enabled status, base URL, agent name, and configured remote agents.
Fetch and display a remote agent card from a URL. Useful for verifying that a remote A2A agent is reachable and correctly configured before adding it to your configuration.
54
+
55
+
```
56
+
lango a2a check <url> [--json]
57
+
```
58
+
59
+
| Argument | Required | Description |
60
+
|----------|----------|-------------|
61
+
|`url`| Yes | URL of the remote agent card (e.g., `http://host/.well-known/agent.json`) |
0 commit comments