network-ai 4.15.3 → 5.1.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 +12 -5
- package/QUICKSTART.md +32 -5
- package/README.md +42 -17
- 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/custom-adapter.d.ts +1 -1
- package/dist/adapters/custom-adapter.js +1 -1
- package/dist/adapters/index.d.ts +17 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +25 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/langchain-adapter.js +1 -1
- package/dist/adapters/langchain-adapter.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/mcp-adapter.d.ts +1 -1
- package/dist/adapters/mcp-adapter.js +3 -3
- package/dist/adapters/mcp-adapter.js.map +1 -1
- 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/openclaw-adapter.d.ts +1 -1
- package/dist/adapters/openclaw-adapter.js +3 -3
- package/dist/adapters/openclaw-adapter.js.map +1 -1
- package/dist/adapters/orchestrator-adapter.d.ts +118 -0
- package/dist/adapters/orchestrator-adapter.d.ts.map +1 -0
- package/dist/adapters/orchestrator-adapter.js +219 -0
- package/dist/adapters/orchestrator-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/demo-control-plane.d.ts +12 -0
- package/dist/demo-control-plane.d.ts.map +1 -0
- package/dist/demo-control-plane.js +147 -0
- package/dist/demo-control-plane.js.map +1 -0
- package/dist/demo-worktree-dashboard.d.ts +2 -0
- package/dist/demo-worktree-dashboard.d.ts.map +1 -0
- package/dist/demo-worktree-dashboard.js +131 -0
- package/dist/demo-worktree-dashboard.js.map +1 -0
- package/dist/examples/01-hello-swarm.d.ts +13 -0
- package/dist/examples/01-hello-swarm.d.ts.map +1 -0
- package/dist/examples/01-hello-swarm.js +165 -0
- package/dist/examples/01-hello-swarm.js.map +1 -0
- package/dist/examples/02-fsm-pipeline.d.ts +20 -0
- package/dist/examples/02-fsm-pipeline.d.ts.map +1 -0
- package/dist/examples/02-fsm-pipeline.js +189 -0
- package/dist/examples/02-fsm-pipeline.js.map +1 -0
- package/dist/examples/03-parallel-agents.d.ts +21 -0
- package/dist/examples/03-parallel-agents.d.ts.map +1 -0
- package/dist/examples/03-parallel-agents.js +192 -0
- package/dist/examples/03-parallel-agents.js.map +1 -0
- package/dist/examples/05-code-review-swarm.d.ts +21 -0
- package/dist/examples/05-code-review-swarm.d.ts.map +1 -0
- package/dist/examples/05-code-review-swarm.js +1177 -0
- package/dist/examples/05-code-review-swarm.js.map +1 -0
- package/dist/examples/06-ai-pipeline-demo.d.ts +24 -0
- package/dist/examples/06-ai-pipeline-demo.d.ts.map +1 -0
- package/dist/examples/06-ai-pipeline-demo.js +263 -0
- package/dist/examples/06-ai-pipeline-demo.js.map +1 -0
- package/dist/examples/07-full-showcase.d.ts +27 -0
- package/dist/examples/07-full-showcase.d.ts.map +1 -0
- package/dist/examples/07-full-showcase.js +946 -0
- package/dist/examples/07-full-showcase.js.map +1 -0
- package/dist/examples/08-control-plane-stress-demo.d.ts +19 -0
- package/dist/examples/08-control-plane-stress-demo.d.ts.map +1 -0
- package/dist/examples/08-control-plane-stress-demo.js +186 -0
- package/dist/examples/08-control-plane-stress-demo.js.map +1 -0
- package/dist/examples/09-real-langchain.d.ts +19 -0
- package/dist/examples/09-real-langchain.d.ts.map +1 -0
- package/dist/examples/09-real-langchain.js +231 -0
- package/dist/examples/09-real-langchain.js.map +1 -0
- package/dist/examples/10-nemoclaw-sandbox-swarm.d.ts +16 -0
- package/dist/examples/10-nemoclaw-sandbox-swarm.d.ts.map +1 -0
- package/dist/examples/10-nemoclaw-sandbox-swarm.js +270 -0
- package/dist/examples/10-nemoclaw-sandbox-swarm.js.map +1 -0
- package/dist/examples/demo-runner.d.ts +2 -0
- package/dist/examples/demo-runner.d.ts.map +1 -0
- package/dist/examples/demo-runner.js +119 -0
- package/dist/examples/demo-runner.js.map +1 -0
- package/dist/index.d.ts +113 -559
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +310 -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/control-plane.d.ts +128 -0
- package/dist/lib/control-plane.d.ts.map +1 -0
- package/dist/lib/control-plane.js +527 -0
- package/dist/lib/control-plane.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 +391 -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/lib/work-tree-dashboard.d.ts +130 -0
- package/dist/lib/work-tree-dashboard.d.ts.map +1 -0
- package/dist/lib/work-tree-dashboard.js +583 -0
- package/dist/lib/work-tree-dashboard.js.map +1 -0
- package/dist/lib/work-tree-ui.d.ts +107 -0
- package/dist/lib/work-tree-ui.d.ts.map +1 -0
- package/dist/lib/work-tree-ui.js +333 -0
- package/dist/lib/work-tree-ui.js.map +1 -0
- package/dist/lib/work-tree.d.ts +184 -0
- package/dist/lib/work-tree.d.ts.map +1 -0
- package/dist/lib/work-tree.js +480 -0
- package/dist/lib/work-tree.js.map +1 -0
- package/dist/security.d.ts +95 -0
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +267 -4
- package/dist/security.js.map +1 -1
- package/package.json +8 -6
- package/types/agent-adapter.d.ts +5 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LangGraph Adapter
|
|
3
|
+
*
|
|
4
|
+
* Integrates LangGraph (LangChain's stateful graph execution framework)
|
|
5
|
+
* with the SwarmOrchestrator.
|
|
6
|
+
*
|
|
7
|
+
* LangGraph models agent workflows as directed graphs with typed state,
|
|
8
|
+
* conditional edges, and cycles. This adapter wraps user-supplied graph
|
|
9
|
+
* instances with no hard dependency on the LangGraph package.
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* const adapter = new LangGraphAdapter();
|
|
13
|
+
* adapter.registerGraph('research-flow', myCompiledGraph, {
|
|
14
|
+
* inputKey: 'messages',
|
|
15
|
+
* outputKey: 'response',
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* @module LangGraphAdapter
|
|
19
|
+
* @version 1.0.0
|
|
20
|
+
*/
|
|
21
|
+
import { BaseAdapter } from './base-adapter';
|
|
22
|
+
import type { AdapterCapabilities, AgentPayload, AgentContext, AgentResult } from '../types/agent-adapter';
|
|
23
|
+
/**
|
|
24
|
+
* Minimal interface for a compiled LangGraph graph.
|
|
25
|
+
* Compatible with `StateGraph.compile()` output.
|
|
26
|
+
* Users supply their own LangGraph instance — no hard dependency.
|
|
27
|
+
*/
|
|
28
|
+
export interface LangGraphRunnable {
|
|
29
|
+
invoke(input: Record<string, unknown>, config?: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Streaming variant — optional, for graphs that support streaming.
|
|
33
|
+
*/
|
|
34
|
+
export interface LangGraphStreamable extends LangGraphRunnable {
|
|
35
|
+
stream(input: Record<string, unknown>, config?: Record<string, unknown>): AsyncIterable<Record<string, unknown>>;
|
|
36
|
+
}
|
|
37
|
+
/** Configuration for a registered graph agent */
|
|
38
|
+
export interface LangGraphAgentConfig {
|
|
39
|
+
/** The compiled graph instance */
|
|
40
|
+
graph: LangGraphRunnable;
|
|
41
|
+
/** State key to populate with the agent payload (default: 'messages') */
|
|
42
|
+
inputKey?: string;
|
|
43
|
+
/** State key to read the result from (default: 'response') */
|
|
44
|
+
outputKey?: string;
|
|
45
|
+
/** Optional thread/session ID for checkpointed graphs */
|
|
46
|
+
threadId?: string;
|
|
47
|
+
/** Per-invocation timeout in ms (default: 60000) */
|
|
48
|
+
timeoutMs?: number;
|
|
49
|
+
/** Additional config passed to graph.invoke() */
|
|
50
|
+
runnableConfig?: Record<string, unknown>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Adapter for LangGraph stateful agent graphs.
|
|
54
|
+
*
|
|
55
|
+
* Each registered graph is exposed as a named agent. The adapter
|
|
56
|
+
* handles input mapping, timeout enforcement, and result extraction.
|
|
57
|
+
*/
|
|
58
|
+
export declare class LangGraphAdapter extends BaseAdapter {
|
|
59
|
+
readonly name = "langgraph";
|
|
60
|
+
readonly version = "1.0.0";
|
|
61
|
+
private graphs;
|
|
62
|
+
get capabilities(): AdapterCapabilities;
|
|
63
|
+
/**
|
|
64
|
+
* Register a compiled LangGraph as a named agent.
|
|
65
|
+
*/
|
|
66
|
+
registerGraph(agentId: string, graph: LangGraphRunnable, options?: Omit<LangGraphAgentConfig, 'graph'>): void;
|
|
67
|
+
executeAgent(agentId: string, payload: AgentPayload, _context: AgentContext): Promise<AgentResult>;
|
|
68
|
+
shutdown(): Promise<void>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=langgraph-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langgraph-adapter.d.ts","sourceRoot":"","sources":["../../adapters/langgraph-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAEV,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAMhC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CACJ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,MAAM,CACJ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC3C;AAED,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAMD;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,OAAO,WAAW;IAE3B,OAAO,CAAC,MAAM,CAA2C;IAEzD,IAAI,YAAY,IAAI,mBAAmB,CAStC;IAMD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,GAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAM,GAAG,IAAI;IAgB3G,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IA0DlG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* LangGraph Adapter
|
|
4
|
+
*
|
|
5
|
+
* Integrates LangGraph (LangChain's stateful graph execution framework)
|
|
6
|
+
* with the SwarmOrchestrator.
|
|
7
|
+
*
|
|
8
|
+
* LangGraph models agent workflows as directed graphs with typed state,
|
|
9
|
+
* conditional edges, and cycles. This adapter wraps user-supplied graph
|
|
10
|
+
* instances with no hard dependency on the LangGraph package.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* const adapter = new LangGraphAdapter();
|
|
14
|
+
* adapter.registerGraph('research-flow', myCompiledGraph, {
|
|
15
|
+
* inputKey: 'messages',
|
|
16
|
+
* outputKey: 'response',
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* @module LangGraphAdapter
|
|
20
|
+
* @version 1.0.0
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.LangGraphAdapter = void 0;
|
|
24
|
+
const base_adapter_1 = require("./base-adapter");
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Adapter
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
/**
|
|
29
|
+
* Adapter for LangGraph stateful agent graphs.
|
|
30
|
+
*
|
|
31
|
+
* Each registered graph is exposed as a named agent. The adapter
|
|
32
|
+
* handles input mapping, timeout enforcement, and result extraction.
|
|
33
|
+
*/
|
|
34
|
+
class LangGraphAdapter extends base_adapter_1.BaseAdapter {
|
|
35
|
+
name = 'langgraph';
|
|
36
|
+
version = '1.0.0';
|
|
37
|
+
graphs = new Map();
|
|
38
|
+
get capabilities() {
|
|
39
|
+
return {
|
|
40
|
+
streaming: false,
|
|
41
|
+
parallel: true,
|
|
42
|
+
bidirectional: false,
|
|
43
|
+
discovery: true,
|
|
44
|
+
authentication: false,
|
|
45
|
+
statefulSessions: true,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// -----------------------------------------------------------------------
|
|
49
|
+
// Graph registration
|
|
50
|
+
// -----------------------------------------------------------------------
|
|
51
|
+
/**
|
|
52
|
+
* Register a compiled LangGraph as a named agent.
|
|
53
|
+
*/
|
|
54
|
+
registerGraph(agentId, graph, options = {}) {
|
|
55
|
+
const config = { graph, ...options };
|
|
56
|
+
this.graphs.set(agentId, config);
|
|
57
|
+
this.registerLocalAgent({
|
|
58
|
+
id: agentId,
|
|
59
|
+
name: agentId,
|
|
60
|
+
status: 'available',
|
|
61
|
+
capabilities: ['graph', 'stateful'],
|
|
62
|
+
metadata: { adapter: 'langgraph', inputKey: config.inputKey ?? 'messages' },
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// -----------------------------------------------------------------------
|
|
66
|
+
// Execution
|
|
67
|
+
// -----------------------------------------------------------------------
|
|
68
|
+
async executeAgent(agentId, payload, _context) {
|
|
69
|
+
this.ensureReady();
|
|
70
|
+
const config = this.graphs.get(agentId);
|
|
71
|
+
if (!config) {
|
|
72
|
+
return this.errorResult('LANGGRAPH_AGENT_NOT_FOUND', `No graph registered for agent '${agentId}'`);
|
|
73
|
+
}
|
|
74
|
+
const inputKey = config.inputKey ?? 'messages';
|
|
75
|
+
const outputKey = config.outputKey ?? 'response';
|
|
76
|
+
const timeoutMs = config.timeoutMs ?? 60_000;
|
|
77
|
+
// Build input state
|
|
78
|
+
const input = {
|
|
79
|
+
[inputKey]: payload.params ?? payload.action,
|
|
80
|
+
...payload.handoff?.context,
|
|
81
|
+
};
|
|
82
|
+
// Build runnable config
|
|
83
|
+
const runnableConfig = {
|
|
84
|
+
...config.runnableConfig,
|
|
85
|
+
};
|
|
86
|
+
if (config.threadId) {
|
|
87
|
+
runnableConfig['configurable'] = {
|
|
88
|
+
...runnableConfig['configurable'],
|
|
89
|
+
thread_id: config.threadId,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const start = Date.now();
|
|
93
|
+
try {
|
|
94
|
+
const result = await Promise.race([
|
|
95
|
+
config.graph.invoke(input, runnableConfig),
|
|
96
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('LangGraph invocation timed out')), timeoutMs)),
|
|
97
|
+
]);
|
|
98
|
+
const durationMs = Date.now() - start;
|
|
99
|
+
const output = result[outputKey] ?? result;
|
|
100
|
+
return this.successResult({
|
|
101
|
+
output,
|
|
102
|
+
state: result,
|
|
103
|
+
graphAgent: agentId,
|
|
104
|
+
}, durationMs);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
return this.errorResult('LANGGRAPH_EXECUTION_FAILED', err instanceof Error ? err.message : String(err));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// -----------------------------------------------------------------------
|
|
111
|
+
// Lifecycle
|
|
112
|
+
// -----------------------------------------------------------------------
|
|
113
|
+
async shutdown() {
|
|
114
|
+
this.graphs.clear();
|
|
115
|
+
await super.shutdown();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.LangGraphAdapter = LangGraphAdapter;
|
|
119
|
+
//# sourceMappingURL=langgraph-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langgraph-adapter.js","sourceRoot":"","sources":["../../adapters/langgraph-adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,iDAA6C;AAmD7C,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAa,gBAAiB,SAAQ,0BAAW;IACtC,IAAI,GAAG,WAAW,CAAC;IACnB,OAAO,GAAG,OAAO,CAAC;IAEnB,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;IAEzD,IAAI,YAAY;QACd,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,KAAK;YACpB,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,KAAK;YACrB,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,qBAAqB;IACrB,0EAA0E;IAE1E;;OAEG;IACH,aAAa,CAAC,OAAe,EAAE,KAAwB,EAAE,UAA+C,EAAE;QACxG,MAAM,MAAM,GAAyB,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,kBAAkB,CAAC;YACtB,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,WAAW;YACnB,YAAY,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;YACnC,QAAQ,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,UAAU,EAAE;SAC5E,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,YAAY;IACZ,0EAA0E;IAE1E,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,OAAqB,EAAE,QAAsB;QAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,kCAAkC,OAAO,GAAG,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC;QAE7C,oBAAoB;QACpB,MAAM,KAAK,GAA4B;YACrC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;YAC5C,GAAI,OAAO,CAAC,OAAO,EAAE,OAA+C;SACrE,CAAC;QAEF,wBAAwB;QACxB,MAAM,cAAc,GAA4B;YAC9C,GAAG,MAAM,CAAC,cAAc;SACzB,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,cAAc,CAAC,cAAc,CAAC,GAAG;gBAC/B,GAAI,cAAc,CAAC,cAAc,CAAyC;gBAC1E,SAAS,EAAE,MAAM,CAAC,QAAQ;aAC3B,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC;gBAC1C,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,EAAE,SAAS,CAAC,CACjF;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;YAE3C,OAAO,IAAI,CAAC,aAAa,CAAC;gBACxB,MAAM;gBACN,KAAK,EAAE,MAAM;gBACb,UAAU,EAAE,OAAO;aACpB,EAAE,UAAU,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,WAAW,CACrB,4BAA4B,EAC5B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,YAAY;IACZ,0EAA0E;IAE1E,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAtGD,4CAsGC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* over the Model Context Protocol. This enables cross-network agent discovery
|
|
6
6
|
* and execution via MCP's tool-calling interface.
|
|
7
7
|
*
|
|
8
|
-
* MCP servers expose "tools"
|
|
8
|
+
* MCP servers expose "tools" — this adapter maps each tool to an agent
|
|
9
9
|
* that the orchestrator can delegate tasks to.
|
|
10
10
|
*
|
|
11
11
|
* Usage:
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* over the Model Context Protocol. This enables cross-network agent discovery
|
|
7
7
|
* and execution via MCP's tool-calling interface.
|
|
8
8
|
*
|
|
9
|
-
* MCP servers expose "tools"
|
|
9
|
+
* MCP servers expose "tools" — this adapter maps each tool to an agent
|
|
10
10
|
* that the orchestrator can delegate tasks to.
|
|
11
11
|
*
|
|
12
12
|
* Usage:
|
|
@@ -54,7 +54,7 @@ class MCPAdapter extends base_adapter_1.BaseAdapter {
|
|
|
54
54
|
await this.discoverServerTools();
|
|
55
55
|
}
|
|
56
56
|
// If a URL is provided, the user needs to set up the connection themselves
|
|
57
|
-
// (We don't bundle an MCP client library
|
|
57
|
+
// (We don't bundle an MCP client library — keep it dependency-free)
|
|
58
58
|
if (config.connection?.url && !this.serverConnection) {
|
|
59
59
|
console.info(`[MCPAdapter] URL configured: ${config.connection.url}. ` +
|
|
60
60
|
`Provide a serverConnection via config.options.serverConnection or register tools manually.`);
|
|
@@ -177,7 +177,7 @@ class MCPAdapter extends base_adapter_1.BaseAdapter {
|
|
|
177
177
|
}
|
|
178
178
|
return content[0].data ?? content[0].text;
|
|
179
179
|
}
|
|
180
|
-
// Multiple content blocks
|
|
180
|
+
// Multiple content blocks — return structured
|
|
181
181
|
return content.map(c => ({
|
|
182
182
|
type: c.type,
|
|
183
183
|
value: c.type === 'text' ? c.text : c.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-adapter.js","sourceRoot":"","sources":["../../adapters/mcp-adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAEH,iDAA6C;AAwC7C,MAAa,UAAW,SAAQ,0BAAW;IAChC,IAAI,GAAG,KAAK,CAAC;IACb,OAAO,GAAG,OAAO,CAAC;IACnB,KAAK,GAAgC,IAAI,GAAG,EAAE,CAAC;IAC/C,YAAY,GAAyB,IAAI,GAAG,EAAE,CAAC;IAC/C,gBAAgB,GAA+B,IAAI,CAAC;IAE5D,IAAI,YAAY;QACd,OAAO;YACL,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,KAAK;YACpB,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,KAAK;SACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAqB;QACpC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE/B,qDAAqD;QACrD,IAAI,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAuC,CAAC;YAC/E,iCAAiC;YACjC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnC,CAAC;QAED,2EAA2E;QAC3E,
|
|
1
|
+
{"version":3,"file":"mcp-adapter.js","sourceRoot":"","sources":["../../adapters/mcp-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Agents SDK Adapter
|
|
3
|
+
*
|
|
4
|
+
* Integrates the OpenAI Agents SDK (Python-first, but JS-compatible API)
|
|
5
|
+
* with the SwarmOrchestrator.
|
|
6
|
+
*
|
|
7
|
+
* The OpenAI Agents SDK provides:
|
|
8
|
+
* - Agent definition with instructions + tools
|
|
9
|
+
* - Handoff between agents
|
|
10
|
+
* - Guardrails (input/output validation)
|
|
11
|
+
* - Tracing
|
|
12
|
+
*
|
|
13
|
+
* This adapter wraps user-supplied agent runners or HTTP endpoints
|
|
14
|
+
* that expose the Agents SDK interface. No hard dependency on the SDK.
|
|
15
|
+
*
|
|
16
|
+
* Usage:
|
|
17
|
+
* const adapter = new OpenAIAgentsAdapter();
|
|
18
|
+
* adapter.registerAgentRunner('researcher', {
|
|
19
|
+
* runner: myAgentRunner,
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* @module OpenAIAgentsAdapter
|
|
23
|
+
* @version 1.0.0
|
|
24
|
+
*/
|
|
25
|
+
import { BaseAdapter } from './base-adapter';
|
|
26
|
+
import type { AdapterCapabilities, AgentPayload, AgentContext, AgentResult } from '../types/agent-adapter';
|
|
27
|
+
/** Tool definition for an OpenAI Agent */
|
|
28
|
+
export interface OAIAgentTool {
|
|
29
|
+
/** Tool name */
|
|
30
|
+
name: string;
|
|
31
|
+
/** Tool description */
|
|
32
|
+
description: string;
|
|
33
|
+
/** JSON schema for the tool's parameters */
|
|
34
|
+
parameters: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
/** Result from an agent run */
|
|
37
|
+
export interface OAIAgentRunResult {
|
|
38
|
+
/** Final text output */
|
|
39
|
+
output: string;
|
|
40
|
+
/** Tool calls made during execution */
|
|
41
|
+
toolCalls?: Array<{
|
|
42
|
+
tool: string;
|
|
43
|
+
args: Record<string, unknown>;
|
|
44
|
+
result: unknown;
|
|
45
|
+
}>;
|
|
46
|
+
/** Agent handoffs that occurred */
|
|
47
|
+
handoffs?: Array<{
|
|
48
|
+
from: string;
|
|
49
|
+
to: string;
|
|
50
|
+
reason?: string;
|
|
51
|
+
}>;
|
|
52
|
+
/** Whether guardrails triggered */
|
|
53
|
+
guardrailTriggered?: boolean;
|
|
54
|
+
/** Token usage */
|
|
55
|
+
usage?: {
|
|
56
|
+
inputTokens: number;
|
|
57
|
+
outputTokens: number;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Minimal interface for running an OpenAI Agent.
|
|
62
|
+
* Wraps `Runner.run()` from the Agents SDK or an HTTP endpoint.
|
|
63
|
+
*/
|
|
64
|
+
export interface OAIAgentRunner {
|
|
65
|
+
run(input: string, context?: Record<string, unknown>): Promise<OAIAgentRunResult>;
|
|
66
|
+
}
|
|
67
|
+
/** Configuration for a registered OpenAI Agents SDK agent */
|
|
68
|
+
export interface OAIAgentsConfig {
|
|
69
|
+
/** The agent runner instance */
|
|
70
|
+
runner: OAIAgentRunner;
|
|
71
|
+
/** Agent instructions (system prompt) */
|
|
72
|
+
instructions?: string;
|
|
73
|
+
/** Tools available to the agent */
|
|
74
|
+
tools?: OAIAgentTool[];
|
|
75
|
+
/** Model to use (default: 'gpt-4o') */
|
|
76
|
+
model?: string;
|
|
77
|
+
/** Per-invocation timeout in ms (default: 120000) */
|
|
78
|
+
timeoutMs?: number;
|
|
79
|
+
/** Whether handoffs are enabled */
|
|
80
|
+
handoffsEnabled?: boolean;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Adapter for the OpenAI Agents SDK.
|
|
84
|
+
*
|
|
85
|
+
* Wraps agent runners that implement the OAIAgentRunner interface.
|
|
86
|
+
* Supports tool use, handoffs, and guardrails via the SDK's execution model.
|
|
87
|
+
*/
|
|
88
|
+
export declare class OpenAIAgentsAdapter extends BaseAdapter {
|
|
89
|
+
readonly name = "openai-agents";
|
|
90
|
+
readonly version = "1.0.0";
|
|
91
|
+
private runners;
|
|
92
|
+
get capabilities(): AdapterCapabilities;
|
|
93
|
+
/**
|
|
94
|
+
* Register an OpenAI Agent runner as a named agent.
|
|
95
|
+
*/
|
|
96
|
+
registerAgentRunner(agentId: string, config: OAIAgentsConfig): void;
|
|
97
|
+
executeAgent(agentId: string, payload: AgentPayload, _context: AgentContext): Promise<AgentResult>;
|
|
98
|
+
shutdown(): Promise<void>;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=openai-agents-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-agents-adapter.d.ts","sourceRoot":"","sources":["../../adapters/openai-agents-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAEV,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAMhC,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,+BAA+B;AAC/B,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC,CAAC;IACH,mCAAmC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB;IAClB,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACnF;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,OAAO,WAAW;IAE3B,OAAO,CAAC,OAAO,CAAsC;IAErD,IAAI,YAAY,IAAI,mBAAmB,CAStC;IAMD;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAmB7D,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAkDlG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* OpenAI Agents SDK Adapter
|
|
4
|
+
*
|
|
5
|
+
* Integrates the OpenAI Agents SDK (Python-first, but JS-compatible API)
|
|
6
|
+
* with the SwarmOrchestrator.
|
|
7
|
+
*
|
|
8
|
+
* The OpenAI Agents SDK provides:
|
|
9
|
+
* - Agent definition with instructions + tools
|
|
10
|
+
* - Handoff between agents
|
|
11
|
+
* - Guardrails (input/output validation)
|
|
12
|
+
* - Tracing
|
|
13
|
+
*
|
|
14
|
+
* This adapter wraps user-supplied agent runners or HTTP endpoints
|
|
15
|
+
* that expose the Agents SDK interface. No hard dependency on the SDK.
|
|
16
|
+
*
|
|
17
|
+
* Usage:
|
|
18
|
+
* const adapter = new OpenAIAgentsAdapter();
|
|
19
|
+
* adapter.registerAgentRunner('researcher', {
|
|
20
|
+
* runner: myAgentRunner,
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* @module OpenAIAgentsAdapter
|
|
24
|
+
* @version 1.0.0
|
|
25
|
+
*/
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.OpenAIAgentsAdapter = void 0;
|
|
28
|
+
const base_adapter_1 = require("./base-adapter");
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// Adapter
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
/**
|
|
33
|
+
* Adapter for the OpenAI Agents SDK.
|
|
34
|
+
*
|
|
35
|
+
* Wraps agent runners that implement the OAIAgentRunner interface.
|
|
36
|
+
* Supports tool use, handoffs, and guardrails via the SDK's execution model.
|
|
37
|
+
*/
|
|
38
|
+
class OpenAIAgentsAdapter extends base_adapter_1.BaseAdapter {
|
|
39
|
+
name = 'openai-agents';
|
|
40
|
+
version = '1.0.0';
|
|
41
|
+
runners = new Map();
|
|
42
|
+
get capabilities() {
|
|
43
|
+
return {
|
|
44
|
+
streaming: false,
|
|
45
|
+
parallel: true,
|
|
46
|
+
bidirectional: false,
|
|
47
|
+
discovery: true,
|
|
48
|
+
authentication: true,
|
|
49
|
+
statefulSessions: false,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// -----------------------------------------------------------------------
|
|
53
|
+
// Registration
|
|
54
|
+
// -----------------------------------------------------------------------
|
|
55
|
+
/**
|
|
56
|
+
* Register an OpenAI Agent runner as a named agent.
|
|
57
|
+
*/
|
|
58
|
+
registerAgentRunner(agentId, config) {
|
|
59
|
+
this.runners.set(agentId, config);
|
|
60
|
+
this.registerLocalAgent({
|
|
61
|
+
id: agentId,
|
|
62
|
+
name: agentId,
|
|
63
|
+
status: 'available',
|
|
64
|
+
capabilities: ['tool-use', 'handoff', ...(config.tools?.map((t) => t.name) ?? [])],
|
|
65
|
+
metadata: {
|
|
66
|
+
adapter: 'openai-agents',
|
|
67
|
+
model: config.model ?? 'gpt-4o',
|
|
68
|
+
handoffsEnabled: config.handoffsEnabled ?? false,
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
// -----------------------------------------------------------------------
|
|
73
|
+
// Execution
|
|
74
|
+
// -----------------------------------------------------------------------
|
|
75
|
+
async executeAgent(agentId, payload, _context) {
|
|
76
|
+
this.ensureReady();
|
|
77
|
+
const config = this.runners.get(agentId);
|
|
78
|
+
if (!config) {
|
|
79
|
+
return this.errorResult('OAI_AGENTS_NOT_FOUND', `No agent runner registered as '${agentId}'`);
|
|
80
|
+
}
|
|
81
|
+
const input = payload.handoff?.instruction
|
|
82
|
+
?? payload.params?.instruction
|
|
83
|
+
?? payload.params?.input
|
|
84
|
+
?? payload.action;
|
|
85
|
+
const runContext = {
|
|
86
|
+
...payload.params,
|
|
87
|
+
...payload.handoff?.context,
|
|
88
|
+
};
|
|
89
|
+
const timeoutMs = config.timeoutMs ?? 120_000;
|
|
90
|
+
const start = Date.now();
|
|
91
|
+
try {
|
|
92
|
+
const result = await Promise.race([
|
|
93
|
+
config.runner.run(input, runContext),
|
|
94
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('OpenAI Agent execution timed out')), timeoutMs)),
|
|
95
|
+
]);
|
|
96
|
+
const durationMs = Date.now() - start;
|
|
97
|
+
return this.successResult({
|
|
98
|
+
output: result.output,
|
|
99
|
+
toolCalls: result.toolCalls,
|
|
100
|
+
handoffs: result.handoffs,
|
|
101
|
+
guardrailTriggered: result.guardrailTriggered,
|
|
102
|
+
usage: result.usage,
|
|
103
|
+
}, durationMs);
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
return this.errorResult('OAI_AGENTS_EXECUTION_FAILED', err instanceof Error ? err.message : String(err));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// -----------------------------------------------------------------------
|
|
110
|
+
// Lifecycle
|
|
111
|
+
// -----------------------------------------------------------------------
|
|
112
|
+
async shutdown() {
|
|
113
|
+
this.runners.clear();
|
|
114
|
+
await super.shutdown();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.OpenAIAgentsAdapter = OpenAIAgentsAdapter;
|
|
118
|
+
//# sourceMappingURL=openai-agents-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-agents-adapter.js","sourceRoot":"","sources":["../../adapters/openai-agents-adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEH,iDAA6C;AAiE7C,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAa,mBAAoB,SAAQ,0BAAW;IACzC,IAAI,GAAG,eAAe,CAAC;IACvB,OAAO,GAAG,OAAO,CAAC;IAEnB,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IAErD,IAAI,YAAY;QACd,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,KAAK;YACpB,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,KAAK;SACxB,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,eAAe;IACf,0EAA0E;IAE1E;;OAEG;IACH,mBAAmB,CAAC,OAAe,EAAE,MAAuB;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,kBAAkB,CAAC;YACtB,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,WAAW;YACnB,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClF,QAAQ,EAAE;gBACR,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ;gBAC/B,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,KAAK;aACjD;SACF,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,YAAY;IACZ,0EAA0E;IAE1E,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,OAAqB,EAAE,QAAsB;QAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,kCAAkC,OAAO,GAAG,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW;eACpC,OAAO,CAAC,MAAM,EAAE,WAAsB;eACtC,OAAO,CAAC,MAAM,EAAE,KAAgB;eACjC,OAAO,CAAC,MAAM,CAAC;QAEpB,MAAM,UAAU,GAA4B;YAC1C,GAAI,OAAO,CAAC,MAA8C;YAC1D,GAAI,OAAO,CAAC,OAAO,EAAE,OAA+C;SACrE,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAChC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC;gBACpC,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,EAAE,SAAS,CAAC,CACnF;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAEtC,OAAO,IAAI,CAAC,aAAa,CAAC;gBACxB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,EAAE,UAAU,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,WAAW,CACrB,6BAA6B,EAC7B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,YAAY;IACZ,0EAA0E;IAE1E,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAjGD,kDAiGC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* OpenClaw Adapter
|
|
2
|
+
* OpenClaw Adapter — Preserves all existing OpenClaw functionality
|
|
3
3
|
*
|
|
4
4
|
* This adapter wraps the original `callSkill()` / `OpenClawSkill` interface
|
|
5
5
|
* so the SwarmOrchestrator continues to work exactly as before for OpenClaw users.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* OpenClaw Adapter
|
|
3
|
+
* OpenClaw Adapter — Preserves all existing OpenClaw functionality
|
|
4
4
|
*
|
|
5
5
|
* This adapter wraps the original `callSkill()` / `OpenClawSkill` interface
|
|
6
6
|
* so the SwarmOrchestrator continues to work exactly as before for OpenClaw users.
|
|
@@ -85,7 +85,7 @@ class OpenClawAdapter extends base_adapter_1.BaseAdapter {
|
|
|
85
85
|
}
|
|
86
86
|
const startTime = Date.now();
|
|
87
87
|
try {
|
|
88
|
-
// Translate universal payload
|
|
88
|
+
// Translate universal payload → OpenClaw callSkill format
|
|
89
89
|
const openclawParams = {
|
|
90
90
|
action: payload.action,
|
|
91
91
|
...payload.params,
|
|
@@ -115,7 +115,7 @@ class OpenClawAdapter extends base_adapter_1.BaseAdapter {
|
|
|
115
115
|
}
|
|
116
116
|
// Call the OpenClaw skill
|
|
117
117
|
const result = await this.callSkill(agentId, openclawParams);
|
|
118
|
-
// Translate OpenClaw result
|
|
118
|
+
// Translate OpenClaw result → universal AgentResult
|
|
119
119
|
return {
|
|
120
120
|
success: result.success,
|
|
121
121
|
data: result.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-adapter.js","sourceRoot":"","sources":["../../adapters/openclaw-adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAA6C;AAoB7C,MAAa,eAAgB,SAAQ,0BAAW;IACrC,IAAI,GAAG,UAAU,CAAC;IAClB,OAAO,GAAG,OAAO,CAAC;IACnB,SAAS,GAAuB,IAAI,CAAC;IAE7C,IAAI,YAAY;QACd,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,KAAK;YAChB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAqB;QACpC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE/B,6CAA6C;QAC7C,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,wDAAa,eAAe,GAAC,CAAC;YACnD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;YACpD,IAAI,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBAChF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAwB,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,+FAA+F,CAAC,CAAC;gBAC9G,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,OAAqB,EACrB,OAAqB;QAErB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,qCAAqC,EAAE,KAAK,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"openclaw-adapter.js","sourceRoot":"","sources":["../../adapters/openclaw-adapter.ts"],"names":[],"mappings":"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"}
|