network-ai 4.15.3 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/INTEGRATION_GUIDE.md +11 -4
- package/QUICKSTART.md +31 -4
- package/README.md +37 -15
- package/bin/dashboard.ts +146 -0
- package/bin/mcp-server.ts +3 -2
- package/dist/adapters/adapter-registry.d.ts +33 -1
- package/dist/adapters/adapter-registry.d.ts.map +1 -1
- package/dist/adapters/adapter-registry.js +49 -0
- package/dist/adapters/adapter-registry.js.map +1 -1
- package/dist/adapters/anthropic-computer-use-adapter.d.ts +132 -0
- package/dist/adapters/anthropic-computer-use-adapter.d.ts.map +1 -0
- package/dist/adapters/anthropic-computer-use-adapter.js +180 -0
- package/dist/adapters/anthropic-computer-use-adapter.js.map +1 -0
- package/dist/adapters/browser-agent-adapter.d.ts +121 -0
- package/dist/adapters/browser-agent-adapter.d.ts.map +1 -0
- package/dist/adapters/browser-agent-adapter.js +219 -0
- package/dist/adapters/browser-agent-adapter.js.map +1 -0
- package/dist/adapters/copilot-adapter.d.ts +59 -0
- package/dist/adapters/copilot-adapter.d.ts.map +1 -0
- package/dist/adapters/copilot-adapter.js +132 -0
- package/dist/adapters/copilot-adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +15 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +22 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/langgraph-adapter.d.ts +70 -0
- package/dist/adapters/langgraph-adapter.d.ts.map +1 -0
- package/dist/adapters/langgraph-adapter.js +119 -0
- package/dist/adapters/langgraph-adapter.js.map +1 -0
- package/dist/adapters/openai-agents-adapter.d.ts +100 -0
- package/dist/adapters/openai-agents-adapter.d.ts.map +1 -0
- package/dist/adapters/openai-agents-adapter.js +118 -0
- package/dist/adapters/openai-agents-adapter.js.map +1 -0
- package/dist/adapters/pydantic-ai-adapter.d.ts +104 -0
- package/dist/adapters/pydantic-ai-adapter.d.ts.map +1 -0
- package/dist/adapters/pydantic-ai-adapter.js +163 -0
- package/dist/adapters/pydantic-ai-adapter.js.map +1 -0
- package/dist/adapters/vertex-ai-adapter.d.ts +122 -0
- package/dist/adapters/vertex-ai-adapter.d.ts.map +1 -0
- package/dist/adapters/vertex-ai-adapter.js +166 -0
- package/dist/adapters/vertex-ai-adapter.js.map +1 -0
- package/dist/bin/dashboard.d.ts +11 -0
- package/dist/bin/dashboard.d.ts.map +1 -0
- package/dist/bin/dashboard.js +135 -0
- package/dist/bin/dashboard.js.map +1 -0
- package/dist/bin/mcp-server.js +3 -2
- package/dist/bin/mcp-server.js.map +1 -1
- package/dist/index.d.ts +103 -559
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +295 -1074
- package/dist/index.js.map +1 -1
- package/dist/lib/adapter-test-harness.d.ts +88 -0
- package/dist/lib/adapter-test-harness.d.ts.map +1 -0
- package/dist/lib/adapter-test-harness.js +118 -0
- package/dist/lib/adapter-test-harness.js.map +1 -0
- package/dist/lib/agent-conversation.d.ts +115 -0
- package/dist/lib/agent-conversation.d.ts.map +1 -0
- package/dist/lib/agent-conversation.js +155 -0
- package/dist/lib/agent-conversation.js.map +1 -0
- package/dist/lib/agent-debate.d.ts +115 -0
- package/dist/lib/agent-debate.d.ts.map +1 -0
- package/dist/lib/agent-debate.js +146 -0
- package/dist/lib/agent-debate.js.map +1 -0
- package/dist/lib/agent-memory.d.ts +157 -0
- package/dist/lib/agent-memory.d.ts.map +1 -0
- package/dist/lib/agent-memory.js +336 -0
- package/dist/lib/agent-memory.js.map +1 -0
- package/dist/lib/agent-vcr.d.ts +133 -0
- package/dist/lib/agent-vcr.d.ts.map +1 -0
- package/dist/lib/agent-vcr.js +218 -0
- package/dist/lib/agent-vcr.js.map +1 -0
- package/dist/lib/anomaly-detector.d.ts +112 -0
- package/dist/lib/anomaly-detector.d.ts.map +1 -0
- package/dist/lib/anomaly-detector.js +178 -0
- package/dist/lib/anomaly-detector.js.map +1 -0
- package/dist/lib/approval-inbox.d.ts +147 -0
- package/dist/lib/approval-inbox.d.ts.map +1 -0
- package/dist/lib/approval-inbox.js +385 -0
- package/dist/lib/approval-inbox.js.map +1 -0
- package/dist/lib/auth-guardian.d.ts +170 -0
- package/dist/lib/auth-guardian.d.ts.map +1 -0
- package/dist/lib/auth-guardian.js +604 -0
- package/dist/lib/auth-guardian.js.map +1 -0
- package/dist/lib/auth-validator.d.ts +70 -0
- package/dist/lib/auth-validator.d.ts.map +1 -0
- package/dist/lib/auth-validator.js +32 -0
- package/dist/lib/auth-validator.js.map +1 -0
- package/dist/lib/blackboard-validator.d.ts +56 -0
- package/dist/lib/blackboard-validator.d.ts.map +1 -1
- package/dist/lib/blackboard-validator.js +181 -4
- package/dist/lib/blackboard-validator.js.map +1 -1
- package/dist/lib/comparison-runner.d.ts +99 -0
- package/dist/lib/comparison-runner.d.ts.map +1 -0
- package/dist/lib/comparison-runner.js +138 -0
- package/dist/lib/comparison-runner.js.map +1 -0
- package/dist/lib/config-watcher.d.ts +109 -0
- package/dist/lib/config-watcher.d.ts.map +1 -0
- package/dist/lib/config-watcher.js +215 -0
- package/dist/lib/config-watcher.js.map +1 -0
- package/dist/lib/cost-governor.d.ts +105 -0
- package/dist/lib/cost-governor.d.ts.map +1 -0
- package/dist/lib/cost-governor.js +128 -0
- package/dist/lib/cost-governor.js.map +1 -0
- package/dist/lib/cost-heatmap.d.ts +104 -0
- package/dist/lib/cost-heatmap.d.ts.map +1 -0
- package/dist/lib/cost-heatmap.js +161 -0
- package/dist/lib/cost-heatmap.js.map +1 -0
- package/dist/lib/coverage-reporter.d.ts +92 -0
- package/dist/lib/coverage-reporter.d.ts.map +1 -0
- package/dist/lib/coverage-reporter.js +177 -0
- package/dist/lib/coverage-reporter.js.map +1 -0
- package/dist/lib/dashboard-server.d.ts +71 -0
- package/dist/lib/dashboard-server.d.ts.map +1 -0
- package/dist/lib/dashboard-server.js +403 -0
- package/dist/lib/dashboard-server.js.map +1 -0
- package/dist/lib/dry-run.d.ts +73 -0
- package/dist/lib/dry-run.d.ts.map +1 -0
- package/dist/lib/dry-run.js +130 -0
- package/dist/lib/dry-run.js.map +1 -0
- package/dist/lib/errors.d.ts +15 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +38 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/event-bus.d.ts +167 -0
- package/dist/lib/event-bus.d.ts.map +1 -0
- package/dist/lib/event-bus.js +229 -0
- package/dist/lib/event-bus.js.map +1 -0
- package/dist/lib/explainability.d.ts +85 -0
- package/dist/lib/explainability.d.ts.map +1 -0
- package/dist/lib/explainability.js +102 -0
- package/dist/lib/explainability.js.map +1 -0
- package/dist/lib/goal-dsl.d.ts +157 -0
- package/dist/lib/goal-dsl.d.ts.map +1 -0
- package/dist/lib/goal-dsl.js +392 -0
- package/dist/lib/goal-dsl.js.map +1 -0
- package/dist/lib/job-queue.d.ts +183 -0
- package/dist/lib/job-queue.d.ts.map +1 -0
- package/dist/lib/job-queue.js +310 -0
- package/dist/lib/job-queue.js.map +1 -0
- package/dist/lib/learning-loop.d.ts +113 -0
- package/dist/lib/learning-loop.d.ts.map +1 -0
- package/dist/lib/learning-loop.js +181 -0
- package/dist/lib/learning-loop.js.map +1 -0
- package/dist/lib/lifecycle-hooks.d.ts +116 -0
- package/dist/lib/lifecycle-hooks.d.ts.map +1 -0
- package/dist/lib/lifecycle-hooks.js +148 -0
- package/dist/lib/lifecycle-hooks.js.map +1 -0
- package/dist/lib/locked-blackboard.d.ts.map +1 -1
- package/dist/lib/locked-blackboard.js +9 -5
- package/dist/lib/locked-blackboard.js.map +1 -1
- package/dist/lib/mcp-tool-consumer.d.ts +153 -0
- package/dist/lib/mcp-tool-consumer.d.ts.map +1 -0
- package/dist/lib/mcp-tool-consumer.js +320 -0
- package/dist/lib/mcp-tool-consumer.js.map +1 -0
- package/dist/lib/metrics.d.ts +119 -0
- package/dist/lib/metrics.d.ts.map +1 -0
- package/dist/lib/metrics.js +284 -0
- package/dist/lib/metrics.js.map +1 -0
- package/dist/lib/orchestrator-types.d.ts +309 -0
- package/dist/lib/orchestrator-types.d.ts.map +1 -0
- package/dist/lib/orchestrator-types.js +61 -0
- package/dist/lib/orchestrator-types.js.map +1 -0
- package/dist/lib/otel-bridge.d.ts +74 -0
- package/dist/lib/otel-bridge.d.ts.map +1 -0
- package/dist/lib/otel-bridge.js +167 -0
- package/dist/lib/otel-bridge.js.map +1 -0
- package/dist/lib/playground.d.ts +76 -0
- package/dist/lib/playground.d.ts.map +1 -0
- package/dist/lib/playground.js +224 -0
- package/dist/lib/playground.js.map +1 -0
- package/dist/lib/quadtree.d.ts +114 -0
- package/dist/lib/quadtree.d.ts.map +1 -0
- package/dist/lib/quadtree.js +259 -0
- package/dist/lib/quadtree.js.map +1 -0
- package/dist/lib/shared-blackboard.d.ts +101 -0
- package/dist/lib/shared-blackboard.d.ts.map +1 -0
- package/dist/lib/shared-blackboard.js +249 -0
- package/dist/lib/shared-blackboard.js.map +1 -0
- package/dist/lib/speculative-executor.d.ts +89 -0
- package/dist/lib/speculative-executor.d.ts.map +1 -0
- package/dist/lib/speculative-executor.js +107 -0
- package/dist/lib/speculative-executor.js.map +1 -0
- package/dist/lib/swarm-transport.d.ts +150 -0
- package/dist/lib/swarm-transport.d.ts.map +1 -0
- package/dist/lib/swarm-transport.js +307 -0
- package/dist/lib/swarm-transport.js.map +1 -0
- package/dist/lib/task-decomposer.d.ts +41 -0
- package/dist/lib/task-decomposer.d.ts.map +1 -0
- package/dist/lib/task-decomposer.js +272 -0
- package/dist/lib/task-decomposer.js.map +1 -0
- package/dist/lib/timeline-scrubber.d.ts +84 -0
- package/dist/lib/timeline-scrubber.d.ts.map +1 -0
- package/dist/lib/timeline-scrubber.js +173 -0
- package/dist/lib/timeline-scrubber.js.map +1 -0
- package/dist/lib/topology.d.ts +361 -0
- package/dist/lib/topology.d.ts.map +1 -0
- package/dist/lib/topology.js +591 -0
- package/dist/lib/topology.js.map +1 -0
- package/dist/security.d.ts +95 -0
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +266 -4
- package/dist/security.js.map +1 -1
- package/package.json +7 -5
- package/types/agent-adapter.d.ts +5 -0
package/INTEGRATION_GUIDE.md
CHANGED
|
@@ -64,14 +64,16 @@ Answers drive `AuthGuardian` configuration and audit log retention policy.
|
|
|
64
64
|
|
|
65
65
|
## 2. Framework Mapping
|
|
66
66
|
|
|
67
|
-
Network-AI ships
|
|
67
|
+
Network-AI ships 26 adapters. Map your existing agents to the right one:
|
|
68
68
|
|
|
69
69
|
| Your Stack | Network-AI Adapter | Notes |
|
|
70
70
|
|-----------|-------------------|-------|
|
|
71
71
|
| LangChain (JS/TS) | `LangChainAdapter` | Supports Runnables, chains, agents |
|
|
72
|
+
| LangGraph | `LangGraphAdapter` | Compiled StateGraph execution |
|
|
72
73
|
| AutoGen / AG2 | `AutoGenAdapter` | Supports `.run()` and `.generateReply()` |
|
|
73
74
|
| CrewAI | `CrewAIAdapter` | Individual agents and full crew objects |
|
|
74
75
|
| OpenAI Assistants | `OpenAIAssistantsAdapter` | Thread management included |
|
|
76
|
+
| OpenAI Agents SDK | `OpenAIAgentsAdapter` | Tool use, handoffs, guardrails |
|
|
75
77
|
| LlamaIndex | `LlamaIndexAdapter` | Query engines, chat engines, agent runners |
|
|
76
78
|
| Semantic Kernel | `SemanticKernelAdapter` | Microsoft SK kernels, functions, planners |
|
|
77
79
|
| Haystack | `HaystackAdapter` | Pipelines, agents, components |
|
|
@@ -84,6 +86,11 @@ Network-AI ships 17 adapters. Map your existing agents to the right one:
|
|
|
84
86
|
| MiniMax | `MiniMaxAdapter` | MiniMax chat completions (M2.5) |
|
|
85
87
|
| NVIDIA NemoClaw | `NemoClawAdapter` | Sandboxed agent execution via OpenShell |
|
|
86
88
|
| APS delegation chains | `APSAdapter` | Delegation-chain trust mapping for AuthGuardian |
|
|
89
|
+
| GitHub Copilot | `CopilotAdapter` | Code generate/review/explain/fix/test/refactor/chat |
|
|
90
|
+
| Anthropic Computer Use | `AnthropicComputerUseAdapter` | Screenshot/click/type/scroll browser automation |
|
|
91
|
+
| Google Vertex AI / Gemini | `VertexAIAdapter` | Function calling, multi-modal (text+image) |
|
|
92
|
+
| Pydantic AI | `PydanticAIAdapter` | Structured output with validation, deps injection |
|
|
93
|
+
| Browser automation | `BrowserAgentAdapter` | Playwright/Puppeteer/CDP browser control |
|
|
87
94
|
| **Anything else** | `CustomAdapter` | Wrap any async function or HTTP endpoint |
|
|
88
95
|
|
|
89
96
|
### No matching framework?
|
|
@@ -409,7 +416,7 @@ Run these before declaring the integration production-ready:
|
|
|
409
416
|
- [ ] `npx ts-node test-phase4.ts` — 147 behavioral tests pass
|
|
410
417
|
- [ ] `npx ts-node test-qa.ts` — 67 QA orchestrator tests pass
|
|
411
418
|
- [ ] `npx ts-node test-phase7.ts` — 94 Phase 7 tests pass (hooks, flow control, composer, semantic search)
|
|
412
|
-
- [ ] `npm run test:all` — all 2,
|
|
419
|
+
- [ ] `npm run test:all` — all 2,531 tests pass across 25+ suites
|
|
413
420
|
- [ ] `npm run demo -- --08` runs to completion in < 10 seconds
|
|
414
421
|
|
|
415
422
|
### Race Condition Safety
|
|
@@ -467,7 +474,7 @@ Run these before declaring the integration production-ready:
|
|
|
467
474
|
|----------|---------------|
|
|
468
475
|
| [QUICKSTART.md](QUICKSTART.md) | Get running in 5 minutes |
|
|
469
476
|
| [QUICKSTART.md § CLI](QUICKSTART.md) | CLI reference — bb, auth, budget, audit commands |
|
|
470
|
-
| [references/adapter-system.md](references/adapter-system.md) | All
|
|
477
|
+
| [references/adapter-system.md](references/adapter-system.md) | All 26 adapters with code examples |
|
|
471
478
|
| [references/trust-levels.md](references/trust-levels.md) | Trust scoring formula and agent roles |
|
|
472
479
|
| [references/auth-guardian.md](references/auth-guardian.md) | Permission system, justification scoring, token lifecycle |
|
|
473
480
|
| [references/blackboard-schema.md](references/blackboard-schema.md) | Blackboard key conventions and namespacing |
|
|
@@ -477,4 +484,4 @@ Run these before declaring the integration production-ready:
|
|
|
477
484
|
|
|
478
485
|
---
|
|
479
486
|
|
|
480
|
-
*Network-AI
|
|
487
|
+
*Network-AI v5.0.0 · MIT License · https://github.com/Jovancoding/Network-AI*
|
package/QUICKSTART.md
CHANGED
|
@@ -18,7 +18,7 @@ npm install
|
|
|
18
18
|
npx ts-node setup.ts --check
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
**Zero external AI dependencies.** All
|
|
21
|
+
**Zero external AI dependencies.** All 26 adapters are self-contained — add framework SDKs only when you need them.
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
@@ -43,6 +43,13 @@ npx ts-node setup.ts --check
|
|
|
43
43
|
| `codex` | Codex | `openai` | OpenAI Codex CLI |
|
|
44
44
|
| `minimax` | MiniMax | none | MiniMax chat completions |
|
|
45
45
|
| `nemoclaw` | NemoClaw | none | NVIDIA sandboxed agent execution |\n| `aps` | APS | none | Delegation-chain trust mapping |
|
|
46
|
+
| `copilot` | GitHub Copilot | none | Code generate/review/explain/fix/test/refactor |
|
|
47
|
+
| `langgraph` | LangGraph | `@langchain/langgraph` | Compiled StateGraph execution |
|
|
48
|
+
| `anthropic-computer-use` | Anthropic Computer Use | `@anthropic-ai/sdk` | Screenshot/click/type/scroll automation |
|
|
49
|
+
| `openai-agents` | OpenAI Agents SDK | `openai` | Tool use, handoffs, guardrails |
|
|
50
|
+
| `vertex-ai` | Vertex AI / Gemini | `@google-cloud/vertexai` | Function calling, multi-modal |
|
|
51
|
+
| `pydantic-ai` | Pydantic AI | none | Structured output with validation |
|
|
52
|
+
| `browser-agent` | Browser Automation | none | Playwright/Puppeteer/CDP browser control |
|
|
46
53
|
|
|
47
54
|
---
|
|
48
55
|
|
|
@@ -244,7 +251,7 @@ export class MyFrameworkAdapter extends BaseAdapter {
|
|
|
244
251
|
```bash
|
|
245
252
|
npx ts-node test-standalone.ts # 88 core tests
|
|
246
253
|
npx ts-node test-security.ts # 34 security tests
|
|
247
|
-
npx ts-node test-adapters.ts # 176 adapter tests (all
|
|
254
|
+
npx ts-node test-adapters.ts # 176 adapter tests (all 26 frameworks)
|
|
248
255
|
npx ts-node test-cli.ts # 65 CLI tests
|
|
249
256
|
npx ts-node test-qa.ts # 67 QA orchestrator tests
|
|
250
257
|
```
|
|
@@ -374,7 +381,15 @@ Your App
|
|
|
374
381
|
├── HaystackAdapter ─── Haystack pipelines
|
|
375
382
|
├── DSPyAdapter ─── DSPy modules
|
|
376
383
|
├── AgnoAdapter ─── Agno agents/teams
|
|
377
|
-
|
|
384
|
+
├── AgnoAdapter ─── Agno agents/teams
|
|
385
|
+
├── APSAdapter ─── APS delegation-chain trust
|
|
386
|
+
├── CopilotAdapter ─── GitHub Copilot
|
|
387
|
+
├── LangGraphAdapter ─── LangGraph state graphs
|
|
388
|
+
├── VertexAIAdapter ─── Vertex AI / Gemini
|
|
389
|
+
├── PydanticAIAdapter ─── Pydantic AI structured output
|
|
390
|
+
├── OpenAIAgentsAdapter ─── OpenAI Agents SDK
|
|
391
|
+
├── AnthropicComputerUseAdapter ─── Computer Use
|
|
392
|
+
└── BrowserAgentAdapter ─── Browser automation
|
|
378
393
|
```
|
|
379
394
|
|
|
380
395
|
---
|
|
@@ -604,13 +619,25 @@ import SwarmOrchestrator, {
|
|
|
604
619
|
// Factory
|
|
605
620
|
import { createSwarmOrchestrator } from 'network-ai';
|
|
606
621
|
|
|
607
|
-
// All
|
|
622
|
+
// All 26 adapters
|
|
608
623
|
import {
|
|
609
624
|
AdapterRegistry, BaseAdapter,
|
|
610
625
|
OpenClawAdapter, LangChainAdapter, AutoGenAdapter,
|
|
611
626
|
CrewAIAdapter, MCPAdapter, CustomAdapter,
|
|
612
627
|
LlamaIndexAdapter, SemanticKernelAdapter, OpenAIAssistantsAdapter,
|
|
613
628
|
HaystackAdapter, DSPyAdapter, AgnoAdapter,
|
|
629
|
+
CopilotAdapter, LangGraphAdapter, AnthropicComputerUseAdapter,
|
|
630
|
+
OpenAIAgentsAdapter, VertexAIAdapter, PydanticAIAdapter, BrowserAgentAdapter,
|
|
631
|
+
} from 'network-ai';
|
|
632
|
+
|
|
633
|
+
// v5.0 modules
|
|
634
|
+
import {
|
|
635
|
+
AgentVCR, ComparisonRunner, CoverageReporter,
|
|
636
|
+
JobQueue, FileJobStore, ApprovalInbox,
|
|
637
|
+
SwarmTransportServer, SwarmTransportClient,
|
|
638
|
+
startPlayground, createAdapterTestSuite,
|
|
639
|
+
parseGoal, validateGoal, compileGoal,
|
|
640
|
+
NoOpAuthValidator,
|
|
614
641
|
} from 'network-ai';
|
|
615
642
|
|
|
616
643
|
// Types
|
package/README.md
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
[](https://network-ai.org/)
|
|
6
6
|
[](https://github.com/Jovancoding/Network-AI/actions/workflows/ci.yml)
|
|
7
7
|
[](https://github.com/Jovancoding/Network-AI/actions/workflows/codeql.yml)
|
|
8
|
-
[](https://github.com/Jovancoding/Network-AI/releases)
|
|
9
9
|
[](https://www.npmjs.com/package/network-ai)
|
|
10
|
-
[](#testing)
|
|
11
|
+
[](#adapter-system)
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
[](https://socket.dev/npm/package/network-ai/overview)
|
|
14
14
|
[](https://nodejs.org)
|
|
@@ -23,12 +23,17 @@
|
|
|
23
23
|
<img src="assets/demo.svg" alt="Network-AI control-plane demo — atomic blackboard, priority preemption, AuthGuardian, FSM governance" width="720">
|
|
24
24
|
</p>
|
|
25
25
|
|
|
26
|
+
<p align="center">
|
|
27
|
+
<b>If Network-AI is useful to you, consider <a href="https://github.com/Jovancoding/Network-AI">giving it a star ⭐</a> — it helps others find the project.</b>
|
|
28
|
+
</p>
|
|
29
|
+
|
|
26
30
|
Network-AI is a TypeScript/Node.js multi-agent orchestrator that adds coordination, guardrails, and governance to any AI agent stack.
|
|
27
31
|
|
|
28
32
|
- **Shared blackboard with locking** — atomic `propose → validate → commit` prevents race conditions and split-brain failures across parallel agents
|
|
29
33
|
- **Guardrails and budgets** — FSM governance, per-agent token ceilings, HMAC / Ed25519 audit trails, and permission gating
|
|
30
|
-
- **
|
|
34
|
+
- **26 adapters** — LangChain (+ streaming), AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, Custom (+ streaming), OpenClaw, A2A, Codex, MiniMax, NemoClaw, APS, Copilot, LangGraph, Anthropic Computer Use, OpenAI Agents SDK, Vertex AI, Pydantic AI, and Browser Agent — no glue code, no lock-in
|
|
31
35
|
- **Persistent project memory (Layer 3)** — `context_manager.py` injects decisions, goals, stack, milestones, and banned patterns into every system prompt so agents always have full project context
|
|
36
|
+
- **v5.0 modules** — Agent VCR (record/replay), comparison runner, coverage reporter, goal DSL, approval inbox, job queue, gRPC/HTTP transport, playground REPL, adapter test harness, and more
|
|
32
37
|
|
|
33
38
|
> **The silent failure mode in multi-agent systems:** parallel agents writing to the same key
|
|
34
39
|
> use last-write-wins by default — one agent's result silently overwrites another's mid-flight.
|
|
@@ -103,6 +108,16 @@ Runs priority preemption, AuthGuardian permission gating, FSM governance, and co
|
|
|
103
108
|
| ✅ Pipe mode | JSON stdin/stdout protocol for programmatic AI-to-orchestrator control |
|
|
104
109
|
| ✅ Strategy agent | Meta-orchestrator with elastic agent pools, workload partitioning, and adaptive scaling |
|
|
105
110
|
| ✅ Goal decomposer | LLM-powered goal → task DAG → parallel execution with `runTeam()` one-liner |
|
|
111
|
+
| ✅ Goal DSL | YAML/JSON goal definitions with cycle detection and topological compilation |
|
|
112
|
+
| ✅ Agent VCR | Record and replay LLM/agent interactions for deterministic tests |
|
|
113
|
+
| ✅ Comparison runner | Side-by-side adapter comparison with scoring, timing, cost analysis |
|
|
114
|
+
| ✅ Coverage reporter | V8 coverage collection with threshold enforcement |
|
|
115
|
+
| ✅ Job queue | Persistent priority FIFO with retries, crash recovery, pluggable backends |
|
|
116
|
+
| ✅ Approval inbox | Web-accessible approval queue with REST API and SSE streaming |
|
|
117
|
+
| ✅ Transport layer | JSON-RPC 2.0 over HTTP with HMAC auth, TTL, node allowlisting |
|
|
118
|
+
| ✅ Playground REPL | Interactive sandbox with mock agents for rapid prototyping |
|
|
119
|
+
| ✅ Adapter test harness | Parameterized test battery for any adapter implementation |
|
|
120
|
+
| ✅ IAuthValidator | Interface to decouple authorization from concrete AuthGuardian |
|
|
106
121
|
| ✅ TypeScript native | ES2022 strict mode, zero native dependencies |
|
|
107
122
|
|
|
108
123
|
---
|
|
@@ -114,7 +129,7 @@ Runs priority preemption, AuthGuardian permission gating, FSM governance, and co
|
|
|
114
129
|
| Race conditions in parallel agents | Atomic blackboard: `propose → validate → commit` with file-system mutex |
|
|
115
130
|
| Agent overspend / runaway costs | `FederatedBudget` — hard per-agent token ceilings with live spend tracking |
|
|
116
131
|
| No visibility into what agents did | HMAC / Ed25519-signed audit log on every write, permission grant, and FSM transition |
|
|
117
|
-
| Locked into one AI framework |
|
|
132
|
+
| Locked into one AI framework | 26 adapters — mix LangChain + AutoGen + CrewAI + Codex + MiniMax + NemoClaw + APS + LangGraph + Vertex AI + custom in one swarm |
|
|
118
133
|
| Agents escalating beyond their scope | `AuthGuardian` — scoped permission tokens required before sensitive operations |
|
|
119
134
|
| Agents lack project context between runs | `ProjectContextManager` (Layer 3) — inject decisions, goals, stack, and milestones into every system prompt |
|
|
120
135
|
| No regression tracking on agent output quality | `QAOrchestratorAgent` — scenario replay, feedback loops, cross-agent contradiction detection, historical trend tracking |
|
|
@@ -335,7 +350,7 @@ npx ts-node examples/10-nemoclaw-sandbox-swarm.ts
|
|
|
335
350
|
|
|
336
351
|
## Adapter System
|
|
337
352
|
|
|
338
|
-
|
|
353
|
+
26 adapters, zero adapter dependencies. You bring your own SDK objects.
|
|
339
354
|
|
|
340
355
|
| Adapter | Framework / Protocol | Register method |
|
|
341
356
|
|---|---|---|
|
|
@@ -356,6 +371,13 @@ npx ts-node examples/10-nemoclaw-sandbox-swarm.ts
|
|
|
356
371
|
| `MiniMaxAdapter` | MiniMax LLM API (M2.5 / M2.5-highspeed) | `registerAgent(name, config)` |
|
|
357
372
|
| `NemoClawAdapter` | NVIDIA NemoClaw (sandboxed agents via OpenShell) | `registerSandboxAgent(name, config)` |
|
|
358
373
|
| `APSAdapter` | Agent Permission Service (delegation-chain trust) | `apsDelegationToTrust(delegation)` |
|
|
374
|
+
| `CopilotAdapter` | GitHub Copilot (generate/review/explain/fix/test/refactor/chat) | `registerAgent(name, config)` |
|
|
375
|
+
| `LangGraphAdapter` | LangGraph (compiled StateGraph) | `registerGraph(name, graph)` |
|
|
376
|
+
| `AnthropicComputerUseAdapter` | Anthropic Computer Use (screenshot/click/type/scroll) | `registerAgent(name, config)` |
|
|
377
|
+
| `OpenAIAgentsAdapter` | OpenAI Agents SDK (tool use, handoffs, guardrails) | `registerAgent(name, runner)` |
|
|
378
|
+
| `VertexAIAdapter` | Google Vertex AI / Gemini (function calling, multi-modal) | `registerAgent(name, config)` |
|
|
379
|
+
| `PydanticAIAdapter` | Pydantic AI (structured output, validation, deps injection) | `registerAgent(name, config)` |
|
|
380
|
+
| `BrowserAgentAdapter` | Browser automation (Playwright/Puppeteer/CDP) | `registerAgent(name, driver)` |
|
|
359
381
|
|
|
360
382
|
**Streaming variants** (drop-in replacements with `.stream()` support):
|
|
361
383
|
|
|
@@ -374,7 +396,7 @@ Extend `BaseAdapter` (or `StreamingBaseAdapter` for streaming) to add your own i
|
|
|
374
396
|
|
|
375
397
|
| Capability | Network-AI | LangGraph | CrewAI | AutoGen |
|
|
376
398
|
|---|---|---|---|---|
|
|
377
|
-
| Cross-framework agents in one swarm | ✅
|
|
399
|
+
| Cross-framework agents in one swarm | ✅ 26 built-in adapters | ⚠️ Nodes can call any code; no adapter abstraction | ⚠️ Extensible via tools; CrewAI-native agents only | ⚠️ Extensible via plugins; AutoGen-native agents only |
|
|
378
400
|
| Atomic shared state (conflict-safe) | ✅ `propose → validate → commit` mutex | ⚠️ State passed between nodes; last-write-wins | ⚠️ Shared memory available; no conflict resolution | ⚠️ Shared context available; no conflict resolution |
|
|
379
401
|
| Hard token ceiling per agent | ✅ `FederatedBudget` (first-class API) | ⚠️ Via callbacks / custom middleware | ⚠️ Via callbacks / custom middleware | ⚠️ Built-in token tracking in v0.4+; no swarm-level ceiling |
|
|
380
402
|
| Permission gating before sensitive ops | ✅ `AuthGuardian` (built-in) | ⚠️ Possible via custom node logic | ⚠️ Possible via custom tools | ⚠️ Possible via custom middleware |
|
|
@@ -400,7 +422,7 @@ npm run test:phase9 # Agent runtime, console, strategy agent
|
|
|
400
422
|
npm run test:phase10 # Goal decomposer, task DAG, runTeam
|
|
401
423
|
```
|
|
402
424
|
|
|
403
|
-
**2,
|
|
425
|
+
**2,531 passing assertions across 25+ test suites** (`npm run test:all`):
|
|
404
426
|
|
|
405
427
|
| Suite | Assertions | Covers |
|
|
406
428
|
|---|---|---|
|
|
@@ -408,7 +430,7 @@ npm run test:phase10 # Goal decomposer, task DAG, runTeam
|
|
|
408
430
|
| `test-phase5f.ts` | 127 | SSE transport, `McpCombinedBridge`, extended MCP tools |
|
|
409
431
|
| `test-phase5g.ts` | 121 | CRDT backend, vector clocks, bidirectional sync |
|
|
410
432
|
| `test-phase6.ts` | 121 | MCP server, control-plane tools, audit tools |
|
|
411
|
-
| `test-adapters.ts` | 176 | All
|
|
433
|
+
| `test-adapters.ts` | 176 | All 26 adapters, registry routing, integration, edge cases |
|
|
412
434
|
| `test-phase5d.ts` | 117 | Pluggable backend (Redis, CRDT, Memory) |
|
|
413
435
|
| `test-standalone.ts` | 88 | Blackboard, auth, integration, persistence, parallelisation, quality gate |
|
|
414
436
|
| `test-phase5e.ts` | 87 | Federated budget tracking |
|
|
@@ -436,16 +458,16 @@ npm run test:phase10 # Goal decomposer, task DAG, runTeam
|
|
|
436
458
|
| Doc | Contents |
|
|
437
459
|
|---|---|
|
|
438
460
|
| [QUICKSTART.md](QUICKSTART.md) | Installation, first run, CLI reference, PowerShell guide, Python scripts CLI |
|
|
439
|
-
| [ARCHITECTURE.md](ARCHITECTURE.md) | Race condition problem, FSM design, handoff protocol, project structure |
|
|
461
|
+
| [ARCHITECTURE.md](ARCHITECTURE.md) | Race condition problem, FSM design, handoff protocol, module inventory, project structure |
|
|
440
462
|
| [BENCHMARKS.md](BENCHMARKS.md) | Provider performance, rate limits, local GPU, `max_completion_tokens` guide |
|
|
441
|
-
| [SECURITY.md](SECURITY.md) | Security module, permission system, trust levels, audit trail |
|
|
463
|
+
| [SECURITY.md](SECURITY.md) | Security module, permission system, trust levels, audit trail, v5.0 security additions |
|
|
442
464
|
| [ENTERPRISE.md](ENTERPRISE.md) | Evaluation checklist, stability policy, security summary, integration entry points |
|
|
443
465
|
| [AUDIT_LOG_SCHEMA.md](AUDIT_LOG_SCHEMA.md) | Audit log field reference, all event types, scoring formula |
|
|
444
466
|
| [ADOPTERS.md](ADOPTERS.md) | Known adopters — open a PR to add yourself |
|
|
445
|
-
| [INTEGRATION_GUIDE.md](INTEGRATION_GUIDE.md) | End-to-end integration walkthrough |
|
|
446
|
-
| [references/adapter-system.md](references/adapter-system.md) | Adapter architecture, writing custom adapters |
|
|
447
|
-
| [references/auth-guardian.md](references/auth-guardian.md) | Permission scoring, resource types |
|
|
448
|
-
| [references/trust-levels.md](references/trust-levels.md) | Trust level configuration |
|
|
467
|
+
| [INTEGRATION_GUIDE.md](INTEGRATION_GUIDE.md) | End-to-end integration walkthrough with v5.0 modules |
|
|
468
|
+
| [references/adapter-system.md](references/adapter-system.md) | Adapter architecture, all 26 adapters, writing custom adapters |
|
|
469
|
+
| [references/auth-guardian.md](references/auth-guardian.md) | Permission scoring, resource types, IAuthValidator interface |
|
|
470
|
+
| [references/trust-levels.md](references/trust-levels.md) | Trust level configuration, APS delegation-chain mapping |
|
|
449
471
|
|
|
450
472
|
---
|
|
451
473
|
|
package/bin/dashboard.ts
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Dashboard CLI entry point
|
|
4
|
+
*
|
|
5
|
+
* Launches the live agent topology dashboard on localhost.
|
|
6
|
+
* Usage: npx network-ai-dashboard [--port 4820]
|
|
7
|
+
*
|
|
8
|
+
* @module DashboardCLI
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { TopologyTracker } from '../lib/topology';
|
|
12
|
+
import { DashboardServer } from '../lib/dashboard-server';
|
|
13
|
+
|
|
14
|
+
const args = process.argv.slice(2);
|
|
15
|
+
let port = 4820;
|
|
16
|
+
|
|
17
|
+
for (let i = 0; i < args.length; i++) {
|
|
18
|
+
if (args[i] === '--port' && args[i + 1]) {
|
|
19
|
+
const p = parseInt(args[i + 1], 10);
|
|
20
|
+
if (!isNaN(p) && p > 0 && p < 65536) {
|
|
21
|
+
port = p;
|
|
22
|
+
}
|
|
23
|
+
i++;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const tracker = new TopologyTracker();
|
|
28
|
+
const dashboard = new DashboardServer(tracker, { port });
|
|
29
|
+
|
|
30
|
+
async function main(): Promise<void> {
|
|
31
|
+
await dashboard.start();
|
|
32
|
+
|
|
33
|
+
console.log(`
|
|
34
|
+
╔══════════════════════════════════════════════════════╗
|
|
35
|
+
║ Network-AI Live Agent Topology Dashboard ║
|
|
36
|
+
║ ║
|
|
37
|
+
║ Dashboard: http://127.0.0.1:${String(port).padEnd(5)} ║
|
|
38
|
+
║ WebSocket: ws://127.0.0.1:${String(port).padEnd(5)} ║
|
|
39
|
+
║ ║
|
|
40
|
+
║ Press Ctrl+C to stop ║
|
|
41
|
+
╚══════════════════════════════════════════════════════╝
|
|
42
|
+
`);
|
|
43
|
+
|
|
44
|
+
// Demo: spawn some agents to show the dashboard working
|
|
45
|
+
// In real usage, the orchestrator feeds real events
|
|
46
|
+
if (args.includes('--demo')) {
|
|
47
|
+
runDemo(tracker);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Runs a demo simulation with fake agents for demonstration purposes.
|
|
53
|
+
*/
|
|
54
|
+
function runDemo(topo: TopologyTracker): void {
|
|
55
|
+
console.log(' Running demo simulation...\n');
|
|
56
|
+
|
|
57
|
+
topo.addAgent({ id: 'orchestrator', label: 'Orchestrator', role: 'orchestrator' });
|
|
58
|
+
topo.addAgent({ id: 'planner', label: 'Planner', role: 'planner', adapter: 'custom' });
|
|
59
|
+
topo.addAgent({ id: 'lc:researcher', label: 'Researcher', role: 'worker', adapter: 'langchain', tokenBudget: 5000 });
|
|
60
|
+
topo.addAgent({ id: 'lc:writer', label: 'Writer', role: 'worker', adapter: 'langchain', tokenBudget: 8000 });
|
|
61
|
+
topo.addAgent({ id: 'crew:reviewer', label: 'Reviewer', role: 'validator', adapter: 'crewai', tokenBudget: 3000 });
|
|
62
|
+
topo.addAgent({ id: 'aggregator', label: 'Aggregator', role: 'aggregator', adapter: 'custom' });
|
|
63
|
+
|
|
64
|
+
topo.setStatus('orchestrator', 'running');
|
|
65
|
+
|
|
66
|
+
let step = 0;
|
|
67
|
+
const interval = setInterval(() => {
|
|
68
|
+
step++;
|
|
69
|
+
|
|
70
|
+
switch (step) {
|
|
71
|
+
case 1:
|
|
72
|
+
topo.setStatus('planner', 'running');
|
|
73
|
+
topo.setTask('planner', 'Decomposing goal into tasks');
|
|
74
|
+
topo.addEdge('orchestrator', 'planner', 'delegation', 'plan');
|
|
75
|
+
break;
|
|
76
|
+
case 3:
|
|
77
|
+
topo.setStatus('planner', 'completed');
|
|
78
|
+
topo.addEdge('planner', 'orchestrator', 'result', 'task DAG');
|
|
79
|
+
topo.setStatus('lc:researcher', 'running');
|
|
80
|
+
topo.setStatus('lc:writer', 'running');
|
|
81
|
+
topo.setTask('lc:researcher', 'Analyzing codebase');
|
|
82
|
+
topo.setTask('lc:writer', 'Drafting documentation');
|
|
83
|
+
topo.addEdge('orchestrator', 'lc:researcher', 'delegation', 'research');
|
|
84
|
+
topo.addEdge('orchestrator', 'lc:writer', 'delegation', 'write');
|
|
85
|
+
break;
|
|
86
|
+
case 5:
|
|
87
|
+
topo.addTokens('lc:researcher', 1200);
|
|
88
|
+
topo.addTokens('lc:writer', 800);
|
|
89
|
+
topo.addEdge('lc:researcher', '_blackboard', 'blackboard_write', 'analysis:result');
|
|
90
|
+
break;
|
|
91
|
+
case 7:
|
|
92
|
+
topo.addTokens('lc:researcher', 2100);
|
|
93
|
+
topo.addTokens('lc:writer', 2500);
|
|
94
|
+
topo.addEdge('lc:writer', '_blackboard', 'blackboard_write', 'draft:v1');
|
|
95
|
+
topo.setStatus('lc:researcher', 'completed');
|
|
96
|
+
topo.setTask('lc:researcher', undefined);
|
|
97
|
+
break;
|
|
98
|
+
case 9:
|
|
99
|
+
topo.addTokens('lc:writer', 4200);
|
|
100
|
+
topo.setStatus('lc:writer', 'completed');
|
|
101
|
+
topo.setTask('lc:writer', undefined);
|
|
102
|
+
topo.setStatus('crew:reviewer', 'running');
|
|
103
|
+
topo.setTask('crew:reviewer', 'Reviewing draft');
|
|
104
|
+
topo.addEdge('crew:reviewer', '_blackboard', 'blackboard_read', 'draft:v1');
|
|
105
|
+
topo.addEdge('orchestrator', 'crew:reviewer', 'delegation', 'review');
|
|
106
|
+
break;
|
|
107
|
+
case 11:
|
|
108
|
+
topo.addTokens('crew:reviewer', 1500);
|
|
109
|
+
topo.setStatus('crew:reviewer', 'completed');
|
|
110
|
+
topo.addEdge('crew:reviewer', '_blackboard', 'blackboard_write', 'review:feedback');
|
|
111
|
+
topo.setStatus('aggregator', 'running');
|
|
112
|
+
topo.setTask('aggregator', 'Merging results');
|
|
113
|
+
topo.addEdge('aggregator', '_blackboard', 'blackboard_read', 'analysis:result');
|
|
114
|
+
topo.addEdge('orchestrator', 'aggregator', 'delegation', 'aggregate');
|
|
115
|
+
break;
|
|
116
|
+
case 13:
|
|
117
|
+
topo.setStatus('aggregator', 'completed');
|
|
118
|
+
topo.addEdge('aggregator', 'orchestrator', 'result', 'final output');
|
|
119
|
+
topo.setStatus('orchestrator', 'completed');
|
|
120
|
+
topo.setTask('orchestrator', 'Done');
|
|
121
|
+
break;
|
|
122
|
+
case 16:
|
|
123
|
+
// Reset for loop
|
|
124
|
+
step = 0;
|
|
125
|
+
topo.clear();
|
|
126
|
+
topo.addAgent({ id: 'orchestrator', label: 'Orchestrator', role: 'orchestrator' });
|
|
127
|
+
topo.addAgent({ id: 'planner', label: 'Planner', role: 'planner', adapter: 'custom' });
|
|
128
|
+
topo.addAgent({ id: 'lc:researcher', label: 'Researcher', role: 'worker', adapter: 'langchain', tokenBudget: 5000 });
|
|
129
|
+
topo.addAgent({ id: 'lc:writer', label: 'Writer', role: 'worker', adapter: 'langchain', tokenBudget: 8000 });
|
|
130
|
+
topo.addAgent({ id: 'crew:reviewer', label: 'Reviewer', role: 'validator', adapter: 'crewai', tokenBudget: 3000 });
|
|
131
|
+
topo.addAgent({ id: 'aggregator', label: 'Aggregator', role: 'aggregator', adapter: 'custom' });
|
|
132
|
+
topo.setStatus('orchestrator', 'running');
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
}, 1500);
|
|
136
|
+
|
|
137
|
+
process.on('SIGINT', () => {
|
|
138
|
+
clearInterval(interval);
|
|
139
|
+
dashboard.stop().then(() => process.exit(0));
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
main().catch((err) => {
|
|
144
|
+
console.error('Failed to start dashboard:', err);
|
|
145
|
+
process.exit(1);
|
|
146
|
+
});
|
package/bin/mcp-server.ts
CHANGED
|
@@ -162,11 +162,12 @@ async function runStdio(combined: McpCombinedBridge): Promise<void> {
|
|
|
162
162
|
let request: McpJsonRpcRequest;
|
|
163
163
|
try {
|
|
164
164
|
request = JSON.parse(trimmed);
|
|
165
|
-
} catch {
|
|
165
|
+
} catch (parseErr) {
|
|
166
|
+
const detail = parseErr instanceof Error ? parseErr.message : String(parseErr);
|
|
166
167
|
const err = {
|
|
167
168
|
jsonrpc: '2.0' as const,
|
|
168
169
|
id: null,
|
|
169
|
-
error: { code: -32700, message:
|
|
170
|
+
error: { code: -32700, message: `Parse error: ${detail}` },
|
|
170
171
|
};
|
|
171
172
|
process.stdout.write(JSON.stringify(err) + '\n');
|
|
172
173
|
return;
|
|
@@ -14,6 +14,22 @@ import type { IAgentAdapter, AdapterConfig, AdapterRoute, RegistryConfig, AgentP
|
|
|
14
14
|
* Used with registerDeferred() for lazy initialization.
|
|
15
15
|
*/
|
|
16
16
|
export type AdapterFactory = () => IAgentAdapter;
|
|
17
|
+
/**
|
|
18
|
+
* Configurable retry behaviour for adapter execution.
|
|
19
|
+
*
|
|
20
|
+
* The policy uses exponential backoff with optional jitter.
|
|
21
|
+
* Only errors marked `recoverable` in the {@link AgentResult} trigger a retry.
|
|
22
|
+
*/
|
|
23
|
+
export interface RetryPolicy {
|
|
24
|
+
/** Maximum number of retry attempts (0 = no retries, default). */
|
|
25
|
+
maxRetries: number;
|
|
26
|
+
/** Base delay in ms before the first retry (doubled each attempt). */
|
|
27
|
+
baseDelayMs: number;
|
|
28
|
+
/** Maximum delay cap in ms. */
|
|
29
|
+
maxDelayMs: number;
|
|
30
|
+
/** Optional fallback adapter name to try when all retries are exhausted. */
|
|
31
|
+
fallbackAdapter?: string;
|
|
32
|
+
}
|
|
17
33
|
/**
|
|
18
34
|
* Central registry that manages multiple agent framework adapters and
|
|
19
35
|
* routes execution requests to the correct one.
|
|
@@ -42,7 +58,15 @@ export declare class AdapterRegistry {
|
|
|
42
58
|
private eventHandlers;
|
|
43
59
|
private agentCache;
|
|
44
60
|
private deferredFactories;
|
|
45
|
-
|
|
61
|
+
/** Opt-in retry policy for adapter execution. */
|
|
62
|
+
private retryPolicy;
|
|
63
|
+
constructor(config?: RegistryConfig & {
|
|
64
|
+
retryPolicy?: Partial<RetryPolicy>;
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* Update the retry policy at runtime.
|
|
68
|
+
*/
|
|
69
|
+
setRetryPolicy(policy: Partial<RetryPolicy>): void;
|
|
46
70
|
/**
|
|
47
71
|
* Register an adapter with the registry.
|
|
48
72
|
* Call this for each agent framework you want to support.
|
|
@@ -120,6 +144,14 @@ export declare class AdapterRegistry {
|
|
|
120
144
|
* This is the primary method the SwarmOrchestrator calls.
|
|
121
145
|
*/
|
|
122
146
|
executeAgent(agentId: string, payload: AgentPayload, context: AgentContext): Promise<AgentResult>;
|
|
147
|
+
/**
|
|
148
|
+
* Execute with exponential-backoff retries for recoverable errors.
|
|
149
|
+
*/
|
|
150
|
+
private executeWithRetry;
|
|
151
|
+
/**
|
|
152
|
+
* Single adapter execution attempt with event emission.
|
|
153
|
+
*/
|
|
154
|
+
private executeOnce;
|
|
123
155
|
/**
|
|
124
156
|
* Discover all agents across all registered adapters
|
|
125
157
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-registry.d.ts","sourceRoot":"","sources":["../../adapters/adapter-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EAET,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAGhC;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,iBAAiB,CAA8E;
|
|
1
|
+
{"version":3,"file":"adapter-registry.d.ts","sourceRoot":"","sources":["../../adapters/adapter-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EAET,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAGhC;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAQD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,iBAAiB,CAA8E;IACvG,iDAAiD;IACjD,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,CAAC,EAAE,cAAc,GAAG;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;KAAE;IAQ5E;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAQlD;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAc7C;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvF;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnF;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAavD;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAE,aAAkB,GAAG,IAAI;IAQzF;;;OAGG;YACW,mBAAmB;IAajC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1D;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAe5F;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAW5C;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAMnC;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IA8CrD;;;OAGG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAsCzE,OAAO,CAAC,YAAY;IAgCpB;;;OAGG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC;IA6BvB;;OAEG;YACW,gBAAgB;IA8B9B;;OAEG;YACW,WAAW;IAkDzB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAqB5C;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBnD,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAqBpF,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAM/D,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAKhE,OAAO,CAAC,IAAI;IAsBZ;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAcnC;AAKD,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,eAAe,CAKpE"}
|
|
@@ -13,6 +13,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.AdapterRegistry = void 0;
|
|
14
14
|
exports.getRegistry = getRegistry;
|
|
15
15
|
const errors_1 = require("../lib/errors");
|
|
16
|
+
const DEFAULT_RETRY_POLICY = {
|
|
17
|
+
maxRetries: 0,
|
|
18
|
+
baseDelayMs: 200,
|
|
19
|
+
maxDelayMs: 5000,
|
|
20
|
+
};
|
|
16
21
|
/**
|
|
17
22
|
* Central registry that manages multiple agent framework adapters and
|
|
18
23
|
* routes execution requests to the correct one.
|
|
@@ -41,11 +46,20 @@ class AdapterRegistry {
|
|
|
41
46
|
eventHandlers = new Map();
|
|
42
47
|
agentCache = new Map(); // agentId -> adapterName
|
|
43
48
|
deferredFactories = new Map();
|
|
49
|
+
/** Opt-in retry policy for adapter execution. */
|
|
50
|
+
retryPolicy;
|
|
44
51
|
constructor(config) {
|
|
45
52
|
if (config) {
|
|
46
53
|
this.defaultAdapterName = config.defaultAdapter ?? null;
|
|
47
54
|
this.routes = config.routes ?? [];
|
|
48
55
|
}
|
|
56
|
+
this.retryPolicy = { ...DEFAULT_RETRY_POLICY, ...config?.retryPolicy };
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Update the retry policy at runtime.
|
|
60
|
+
*/
|
|
61
|
+
setRetryPolicy(policy) {
|
|
62
|
+
this.retryPolicy = { ...this.retryPolicy, ...policy };
|
|
49
63
|
}
|
|
50
64
|
// =========================================================================
|
|
51
65
|
// ADAPTER MANAGEMENT
|
|
@@ -325,6 +339,41 @@ class AdapterRegistry {
|
|
|
325
339
|
},
|
|
326
340
|
};
|
|
327
341
|
}
|
|
342
|
+
const result = await this.executeWithRetry(adapter, agentId, payload, context);
|
|
343
|
+
// If all retries exhausted and a fallback adapter is configured, try it
|
|
344
|
+
if (!result.success && result.error?.recoverable && this.retryPolicy.fallbackAdapter) {
|
|
345
|
+
const fallback = this.adapters.get(this.retryPolicy.fallbackAdapter);
|
|
346
|
+
if (fallback && fallback !== adapter) {
|
|
347
|
+
this.emit('agent:execution:fallback', this.retryPolicy.fallbackAdapter, { agentId, originalAdapter: adapter.name });
|
|
348
|
+
return this.executeOnce(fallback, agentId, payload, context);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
return result;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Execute with exponential-backoff retries for recoverable errors.
|
|
355
|
+
*/
|
|
356
|
+
async executeWithRetry(adapter, agentId, payload, context) {
|
|
357
|
+
let lastResult = await this.executeOnce(adapter, agentId, payload, context);
|
|
358
|
+
let attempt = 0;
|
|
359
|
+
while (attempt < this.retryPolicy.maxRetries &&
|
|
360
|
+
!lastResult.success &&
|
|
361
|
+
lastResult.error?.recoverable) {
|
|
362
|
+
attempt++;
|
|
363
|
+
const delay = Math.min(this.retryPolicy.baseDelayMs * Math.pow(2, attempt - 1), this.retryPolicy.maxDelayMs);
|
|
364
|
+
await new Promise(r => setTimeout(r, delay));
|
|
365
|
+
this.emit('agent:execution:retry', adapter.name, { agentId, attempt, delayMs: delay });
|
|
366
|
+
lastResult = await this.executeOnce(adapter, agentId, payload, context);
|
|
367
|
+
}
|
|
368
|
+
if (lastResult.metadata) {
|
|
369
|
+
lastResult.metadata.retryAttempts = attempt;
|
|
370
|
+
}
|
|
371
|
+
return lastResult;
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Single adapter execution attempt with event emission.
|
|
375
|
+
*/
|
|
376
|
+
async executeOnce(adapter, agentId, payload, context) {
|
|
328
377
|
this.emit('agent:execution:start', adapter.name, { agentId, payload });
|
|
329
378
|
const startTime = Date.now();
|
|
330
379
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-registry.js","sourceRoot":"","sources":["../../adapters/adapter-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter-registry.js","sourceRoot":"","sources":["../../adapters/adapter-registry.ts"],"names":[],"mappings":"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"}
|