network-ai 4.5.3 → 4.6.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/README.md +12 -10
- package/dist/adapters/index.d.ts +2 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +4 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/minimax-adapter.d.ts +104 -0
- package/dist/adapters/minimax-adapter.d.ts.map +1 -0
- package/dist/adapters/minimax-adapter.js +233 -0
- package/dist/adapters/minimax-adapter.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://github.com/Jovancoding/Network-AI/actions/workflows/ci.yml)
|
|
6
6
|
[](https://github.com/Jovancoding/Network-AI/actions/workflows/codeql.yml)
|
|
7
|
-
[](https://github.com/Jovancoding/Network-AI/releases)
|
|
8
8
|
[](https://www.npmjs.com/package/network-ai)
|
|
9
|
-
[](#testing)
|
|
10
|
+
[](#adapter-system)
|
|
11
11
|
[](LICENSE)
|
|
12
12
|
[](https://socket.dev/npm/package/network-ai/overview)
|
|
13
13
|
[](https://nodejs.org)
|
|
@@ -20,7 +20,7 @@ Network-AI is a TypeScript/Node.js multi-agent orchestrator that adds coordinati
|
|
|
20
20
|
|
|
21
21
|
- **Shared blackboard with locking** — atomic `propose → validate → commit` prevents race conditions and split-brain failures across parallel agents
|
|
22
22
|
- **Guardrails and budgets** — FSM governance, per-agent token ceilings, HMAC audit trails, and permission gating
|
|
23
|
-
- **
|
|
23
|
+
- **15 adapters** — LangChain (+ streaming), AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, Custom (+ streaming), OpenClaw, A2A, Codex, and MiniMax — no glue code, no lock-in
|
|
24
24
|
- **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
|
|
25
25
|
|
|
26
26
|
> **The silent failure mode in multi-agent systems:** parallel agents writing to the same key
|
|
@@ -55,7 +55,7 @@ Network-AI is a TypeScript/Node.js multi-agent orchestrator that adds coordinati
|
|
|
55
55
|
| Race conditions in parallel agents | Atomic blackboard: `propose → validate → commit` with file-system mutex |
|
|
56
56
|
| Agent overspend / runaway costs | `FederatedBudget` — hard per-agent token ceilings with live spend tracking |
|
|
57
57
|
| No visibility into what agents did | HMAC-signed audit log on every write, permission grant, and FSM transition |
|
|
58
|
-
| Locked into one AI framework |
|
|
58
|
+
| Locked into one AI framework | 15 adapters — mix LangChain + AutoGen + CrewAI + Codex + MiniMax + custom in one swarm |
|
|
59
59
|
| Agents escalating beyond their scope | `AuthGuardian` — scoped permission tokens required before sensitive operations |
|
|
60
60
|
| Agents lack project context between runs | `ProjectContextManager` (Layer 3) — inject decisions, goals, stack, and milestones into every system prompt |
|
|
61
61
|
|
|
@@ -267,7 +267,7 @@ npm run demo -- --07
|
|
|
267
267
|
|
|
268
268
|
## Adapter System
|
|
269
269
|
|
|
270
|
-
|
|
270
|
+
15 adapters, zero adapter dependencies. You bring your own SDK objects.
|
|
271
271
|
|
|
272
272
|
| Adapter | Framework / Protocol | Register method |
|
|
273
273
|
|---|---|---|
|
|
@@ -285,6 +285,7 @@ npm run demo -- --07
|
|
|
285
285
|
| `OpenClawAdapter` | OpenClaw | `registerSkill(name, skillRef)` |
|
|
286
286
|
| `A2AAdapter` | Google A2A Protocol | `registerRemoteAgent(name, url)` |
|
|
287
287
|
| `CodexAdapter` | OpenAI Codex / gpt-4o / Codex CLI | `registerCodexAgent(name, config)` |
|
|
288
|
+
| `MiniMaxAdapter` | MiniMax LLM API (M2.5 / M2.5-highspeed) | `registerAgent(name, config)` |
|
|
288
289
|
|
|
289
290
|
**Streaming variants** (drop-in replacements with `.stream()` support):
|
|
290
291
|
|
|
@@ -303,7 +304,7 @@ Extend `BaseAdapter` (or `StreamingBaseAdapter` for streaming) to add your own i
|
|
|
303
304
|
|
|
304
305
|
| Capability | Network-AI | LangGraph | CrewAI | AutoGen |
|
|
305
306
|
|---|---|---|---|---|
|
|
306
|
-
| Cross-framework agents in one swarm | ✅
|
|
307
|
+
| Cross-framework agents in one swarm | ✅ 15 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 |
|
|
307
308
|
| 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 |
|
|
308
309
|
| 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 |
|
|
309
310
|
| Permission gating before sensitive ops | ✅ `AuthGuardian` (built-in) | ⚠️ Possible via custom node logic | ⚠️ Possible via custom tools | ⚠️ Possible via custom middleware |
|
|
@@ -319,7 +320,7 @@ Extend `BaseAdapter` (or `StreamingBaseAdapter` for streaming) to add your own i
|
|
|
319
320
|
npm run test:all # All suites in sequence
|
|
320
321
|
npm test # Core orchestrator
|
|
321
322
|
npm run test:security # Security module
|
|
322
|
-
npm run test:adapters # All
|
|
323
|
+
npm run test:adapters # All 15 adapters
|
|
323
324
|
npm run test:streaming # Streaming adapters
|
|
324
325
|
npm run test:a2a # A2A protocol adapter
|
|
325
326
|
npm run test:codex # Codex adapter
|
|
@@ -327,7 +328,7 @@ npm run test:priority # Priority & preemption
|
|
|
327
328
|
npm run test:cli # CLI layer
|
|
328
329
|
```
|
|
329
330
|
|
|
330
|
-
**1,
|
|
331
|
+
**1,449 passing assertions across 18 test suites** (`npm run test:all`):
|
|
331
332
|
|
|
332
333
|
| Suite | Assertions | Covers |
|
|
333
334
|
|---|---|---|
|
|
@@ -335,12 +336,13 @@ npm run test:cli # CLI layer
|
|
|
335
336
|
| `test-phase5f.ts` | 127 | SSE transport, `McpCombinedBridge`, extended MCP tools |
|
|
336
337
|
| `test-phase5g.ts` | 121 | CRDT backend, vector clocks, bidirectional sync |
|
|
337
338
|
| `test-phase6.ts` | 121 | MCP server, control-plane tools, audit tools |
|
|
338
|
-
| `test-adapters.ts` | 140 | All
|
|
339
|
+
| `test-adapters.ts` | 140 | All 15 adapters, registry routing, integration, edge cases |
|
|
339
340
|
| `test-phase5d.ts` | 117 | Pluggable backend (Redis, CRDT, Memory) |
|
|
340
341
|
| `test-standalone.ts` | 88 | Blackboard, auth, integration, persistence, parallelisation, quality gate |
|
|
341
342
|
| `test-phase5e.ts` | 87 | Federated budget tracking |
|
|
342
343
|
| `test-phase5c.ts` | 73 | Named multi-blackboard, isolation, backend options |
|
|
343
344
|
| `test-codex.ts` | 51 | Codex adapter: chat, completion, CLI, BYOC client, error paths |
|
|
345
|
+
| `test-minimax.ts` | 50 | MiniMax adapter: lifecycle, registration, chat mode, temperature clamping |
|
|
344
346
|
| `test-priority.ts` | 64 | Priority preemption, conflict resolution, backward compat |
|
|
345
347
|
| `test-a2a.ts` | 35 | A2A protocol: register, execute, mock fetch, error paths |
|
|
346
348
|
| `test-streaming.ts` | 32 | Streaming adapters, chunk shapes, fallback, collectStream |
|
package/dist/adapters/index.d.ts
CHANGED
|
@@ -51,6 +51,8 @@ export { A2AAdapter } from './a2a-adapter';
|
|
|
51
51
|
export type { A2AAgentCard, A2ATask, A2ATaskResponse, A2ATaskState, A2AArtifact, A2AAdapterConfig, } from './a2a-adapter';
|
|
52
52
|
export { CodexAdapter } from './codex-adapter';
|
|
53
53
|
export type { CodexMode, CodexAgentConfig, CodexChatClient, CodexCompletionClient, CodexCLIExecutor, } from './codex-adapter';
|
|
54
|
+
export { MiniMaxAdapter } from './minimax-adapter';
|
|
55
|
+
export type { MiniMaxAgentConfig, MiniMaxChatClient } from './minimax-adapter';
|
|
54
56
|
export type { StreamingChunk, IStreamingAdapter, StreamCollector } from '../types/streaming-adapter';
|
|
55
57
|
export type { IAgentAdapter, AgentPayload, AgentContext, AgentResult, AgentInfo, AdapterConfig, AdapterCapabilities, AdapterRoute, RegistryConfig, AdapterEvent, AdapterEventHandler, AdapterEventType, } from '../types/agent-adapter';
|
|
56
58
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../adapters/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../adapters/index.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/index.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* @version 1.0.0
|
|
21
21
|
*/
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.CodexAdapter = exports.A2AAdapter = exports.CustomStreamingAdapter = exports.LangChainStreamingAdapter = exports.collectStream = exports.StreamingBaseAdapter = exports.AgnoAdapter = exports.DSPyAdapter = exports.HaystackAdapter = exports.OpenAIAssistantsAdapter = exports.SemanticKernelAdapter = exports.LlamaIndexAdapter = exports.CustomAdapter = exports.MCPAdapter = exports.CrewAIAdapter = exports.AutoGenAdapter = exports.LangChainAdapter = exports.OpenClawAdapter = exports.getRegistry = exports.AdapterRegistry = exports.BaseAdapter = void 0;
|
|
23
|
+
exports.MiniMaxAdapter = exports.CodexAdapter = exports.A2AAdapter = exports.CustomStreamingAdapter = exports.LangChainStreamingAdapter = exports.collectStream = exports.StreamingBaseAdapter = exports.AgnoAdapter = exports.DSPyAdapter = exports.HaystackAdapter = exports.OpenAIAssistantsAdapter = exports.SemanticKernelAdapter = exports.LlamaIndexAdapter = exports.CustomAdapter = exports.MCPAdapter = exports.CrewAIAdapter = exports.AutoGenAdapter = exports.LangChainAdapter = exports.OpenClawAdapter = exports.getRegistry = exports.AdapterRegistry = exports.BaseAdapter = void 0;
|
|
24
24
|
// Core infrastructure
|
|
25
25
|
var base_adapter_1 = require("./base-adapter");
|
|
26
26
|
Object.defineProperty(exports, "BaseAdapter", { enumerable: true, get: function () { return base_adapter_1.BaseAdapter; } });
|
|
@@ -67,4 +67,7 @@ Object.defineProperty(exports, "A2AAdapter", { enumerable: true, get: function (
|
|
|
67
67
|
// Codex adapter (OpenAI Codex CLI / chat / completion)
|
|
68
68
|
var codex_adapter_1 = require("./codex-adapter");
|
|
69
69
|
Object.defineProperty(exports, "CodexAdapter", { enumerable: true, get: function () { return codex_adapter_1.CodexAdapter; } });
|
|
70
|
+
// MiniMax adapter (MiniMax LLM API — MiniMax-M2.5 / MiniMax-M2.5-highspeed)
|
|
71
|
+
var minimax_adapter_1 = require("./minimax-adapter");
|
|
72
|
+
Object.defineProperty(exports, "MiniMaxAdapter", { enumerable: true, get: function () { return minimax_adapter_1.MiniMaxAdapter; } });
|
|
70
73
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../adapters/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,sBAAsB;AACtB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,uDAAkE;AAAzD,mHAAA,eAAe,OAAA;AAAE,+GAAA,WAAW,OAAA;AAErC,mCAAmC;AACnC,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AAEzB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAEtB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAEnB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAGtB,8BAA8B;AAC9B,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAO1B,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAE9B,yEAAsE;AAA7D,oIAAA,uBAAuB,OAAA;AAOhC,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AAQxB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAQpB,qBAAqB;AACrB,mEAA+E;AAAtE,8HAAA,oBAAoB,OAAA;AAAE,uHAAA,aAAa,OAAA;AAC5C,6EAA0E;AAAjE,wIAAA,yBAAyB,OAAA;AAClC,uEAAoE;AAA3D,kIAAA,sBAAsB,OAAA;AAG/B,+BAA+B;AAC/B,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAUnB,uDAAuD;AACvD,iDAA+C;AAAtC,6GAAA,YAAY,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../adapters/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,sBAAsB;AACtB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,uDAAkE;AAAzD,mHAAA,eAAe,OAAA;AAAE,+GAAA,WAAW,OAAA;AAErC,mCAAmC;AACnC,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AAEzB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAEtB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAEnB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAGtB,8BAA8B;AAC9B,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAO1B,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAE9B,yEAAsE;AAA7D,oIAAA,uBAAuB,OAAA;AAOhC,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AAQxB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAQpB,qBAAqB;AACrB,mEAA+E;AAAtE,8HAAA,oBAAoB,OAAA;AAAE,uHAAA,aAAa,OAAA;AAC5C,6EAA0E;AAAjE,wIAAA,yBAAyB,OAAA;AAClC,uEAAoE;AAA3D,kIAAA,sBAAsB,OAAA;AAG/B,+BAA+B;AAC/B,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAUnB,uDAAuD;AACvD,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AASrB,4EAA4E;AAC5E,qDAAmD;AAA1C,iHAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MiniMax Adapter
|
|
3
|
+
*
|
|
4
|
+
* Integrates MiniMax LLM API (OpenAI-compatible chat completions) with
|
|
5
|
+
* the SwarmOrchestrator. Supports MiniMax-M2.5 and MiniMax-M2.5-highspeed
|
|
6
|
+
* models with 204K context window.
|
|
7
|
+
*
|
|
8
|
+
* Usage — built-in fetch:
|
|
9
|
+
* const adapter = new MiniMaxAdapter();
|
|
10
|
+
* adapter.registerAgent('analyst', {
|
|
11
|
+
* model: 'MiniMax-M2.5',
|
|
12
|
+
* apiKey: process.env.MINIMAX_API_KEY,
|
|
13
|
+
* systemPrompt: 'You are an expert analyst.',
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* Usage — bring-your-own client (any OpenAI-compatible SDK):
|
|
17
|
+
* adapter.registerAgent('fast', {
|
|
18
|
+
* model: 'MiniMax-M2.5-highspeed',
|
|
19
|
+
* client: openaiCompatibleInstance.chat.completions,
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* @module MiniMaxAdapter
|
|
23
|
+
* @version 1.0.0
|
|
24
|
+
*/
|
|
25
|
+
import { BaseAdapter } from './base-adapter';
|
|
26
|
+
import type { AdapterCapabilities, AgentPayload, AgentContext, AgentResult } from '../types/agent-adapter';
|
|
27
|
+
/**
|
|
28
|
+
* Minimal interface for an OpenAI-compatible chat completions client.
|
|
29
|
+
* Users supply their own SDK instance; no hard dependency.
|
|
30
|
+
*/
|
|
31
|
+
export interface MiniMaxChatClient {
|
|
32
|
+
create(params: {
|
|
33
|
+
model: string;
|
|
34
|
+
messages: Array<{
|
|
35
|
+
role: string;
|
|
36
|
+
content: string;
|
|
37
|
+
}>;
|
|
38
|
+
max_tokens?: number;
|
|
39
|
+
temperature?: number;
|
|
40
|
+
stop?: string[];
|
|
41
|
+
}): Promise<{
|
|
42
|
+
choices: Array<{
|
|
43
|
+
message?: {
|
|
44
|
+
content?: string | null;
|
|
45
|
+
};
|
|
46
|
+
text?: string;
|
|
47
|
+
}>;
|
|
48
|
+
usage?: {
|
|
49
|
+
prompt_tokens: number;
|
|
50
|
+
completion_tokens: number;
|
|
51
|
+
total_tokens: number;
|
|
52
|
+
};
|
|
53
|
+
}>;
|
|
54
|
+
}
|
|
55
|
+
/** Configuration for a registered MiniMax agent */
|
|
56
|
+
export interface MiniMaxAgentConfig {
|
|
57
|
+
/** Model name — e.g. 'MiniMax-M2.5', 'MiniMax-M2.5-highspeed' */
|
|
58
|
+
model?: string;
|
|
59
|
+
/** MiniMax API key — falls back to MINIMAX_API_KEY env var */
|
|
60
|
+
apiKey?: string;
|
|
61
|
+
/** Base URL override (default: 'https://api.minimax.io/v1') */
|
|
62
|
+
baseUrl?: string;
|
|
63
|
+
/** System-level prompt prepended to every request */
|
|
64
|
+
systemPrompt?: string;
|
|
65
|
+
/** Maximum tokens in the completion */
|
|
66
|
+
maxTokens?: number;
|
|
67
|
+
/** Temperature — must be in (0.0, 1.0]. MiniMax rejects 0. Default: 0.7 */
|
|
68
|
+
temperature?: number;
|
|
69
|
+
/** Stop sequences */
|
|
70
|
+
stop?: string[];
|
|
71
|
+
/**
|
|
72
|
+
* Bring-your-own OpenAI-compatible chat completions instance.
|
|
73
|
+
* If supplied, apiKey / baseUrl are ignored and this client is used directly.
|
|
74
|
+
*/
|
|
75
|
+
client?: MiniMaxChatClient;
|
|
76
|
+
/** Additional headers to send with fetch-based requests */
|
|
77
|
+
headers?: Record<string, string>;
|
|
78
|
+
/** Request timeout in milliseconds (default: 120000) */
|
|
79
|
+
timeout?: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Adapter that connects MiniMax LLM models to the SwarmOrchestrator.
|
|
83
|
+
* Uses MiniMax's OpenAI-compatible chat completions API.
|
|
84
|
+
*
|
|
85
|
+
* Available models:
|
|
86
|
+
* - MiniMax-M2.5 — flagship model with 204K context
|
|
87
|
+
* - MiniMax-M2.5-highspeed — faster variant optimised for throughput
|
|
88
|
+
*/
|
|
89
|
+
export declare class MiniMaxAdapter extends BaseAdapter {
|
|
90
|
+
readonly name = "minimax";
|
|
91
|
+
readonly version = "1.0.0";
|
|
92
|
+
private agents;
|
|
93
|
+
get capabilities(): AdapterCapabilities;
|
|
94
|
+
/**
|
|
95
|
+
* Register a MiniMax-powered agent.
|
|
96
|
+
*
|
|
97
|
+
* @param agentId Unique identifier used in `delegateTask` calls.
|
|
98
|
+
* @param config MiniMax agent configuration.
|
|
99
|
+
*/
|
|
100
|
+
registerAgent(agentId: string, config?: MiniMaxAgentConfig): void;
|
|
101
|
+
executeAgent(agentId: string, payload: AgentPayload, context: AgentContext): Promise<AgentResult>;
|
|
102
|
+
private _executeChat;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=minimax-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimax-adapter.d.ts","sourceRoot":"","sources":["../../adapters/minimax-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;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,MAAM,EAAE;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACnD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE;gBAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACzE,KAAK,CAAC,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,iBAAiB,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KACpF,CAAC,CAAC;CACJ;AAED,mDAAmD;AACnD,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuDD;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,OAAO,WAAW;IAE3B,OAAO,CAAC,MAAM,CAA6C;IAE3D,IAAI,YAAY,IAAI,mBAAmB,CAStC;IAMD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,kBAAuB,GAAG,IAAI;IAoB/D,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC;YAoDT,YAAY;CAkF3B"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MiniMax Adapter
|
|
4
|
+
*
|
|
5
|
+
* Integrates MiniMax LLM API (OpenAI-compatible chat completions) with
|
|
6
|
+
* the SwarmOrchestrator. Supports MiniMax-M2.5 and MiniMax-M2.5-highspeed
|
|
7
|
+
* models with 204K context window.
|
|
8
|
+
*
|
|
9
|
+
* Usage — built-in fetch:
|
|
10
|
+
* const adapter = new MiniMaxAdapter();
|
|
11
|
+
* adapter.registerAgent('analyst', {
|
|
12
|
+
* model: 'MiniMax-M2.5',
|
|
13
|
+
* apiKey: process.env.MINIMAX_API_KEY,
|
|
14
|
+
* systemPrompt: 'You are an expert analyst.',
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* Usage — bring-your-own client (any OpenAI-compatible SDK):
|
|
18
|
+
* adapter.registerAgent('fast', {
|
|
19
|
+
* model: 'MiniMax-M2.5-highspeed',
|
|
20
|
+
* client: openaiCompatibleInstance.chat.completions,
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* @module MiniMaxAdapter
|
|
24
|
+
* @version 1.0.0
|
|
25
|
+
*/
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.MiniMaxAdapter = void 0;
|
|
28
|
+
const base_adapter_1 = require("./base-adapter");
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// Helpers
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
/** Build the prompt string from an AgentPayload */
|
|
33
|
+
function buildPrompt(payload) {
|
|
34
|
+
const parts = [];
|
|
35
|
+
const instruction = payload.handoff?.instruction;
|
|
36
|
+
if (instruction)
|
|
37
|
+
parts.push(instruction);
|
|
38
|
+
if (payload.action)
|
|
39
|
+
parts.push(`Task: ${payload.action}`);
|
|
40
|
+
if (payload.params && Object.keys(payload.params).length > 0) {
|
|
41
|
+
parts.push(`Parameters: ${JSON.stringify(payload.params, null, 2)}`);
|
|
42
|
+
}
|
|
43
|
+
if (payload.blackboardSnapshot && Object.keys(payload.blackboardSnapshot).length > 0) {
|
|
44
|
+
const relevant = Object.entries(payload.blackboardSnapshot)
|
|
45
|
+
.slice(0, 10)
|
|
46
|
+
.map(([k, v]) => `${k}: ${JSON.stringify(v)}`)
|
|
47
|
+
.join('\n');
|
|
48
|
+
parts.push(`Context from blackboard:\n${relevant}`);
|
|
49
|
+
}
|
|
50
|
+
return parts.join('\n\n') || 'Complete the task.';
|
|
51
|
+
}
|
|
52
|
+
/** Resolve API key — config first, then env */
|
|
53
|
+
function resolveApiKey(config) {
|
|
54
|
+
return config.apiKey ?? process.env['MINIMAX_API_KEY'] ?? '';
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Clamp temperature to MiniMax's valid range (0.0, 1.0].
|
|
58
|
+
* MiniMax rejects exactly 0, so we use a small epsilon.
|
|
59
|
+
*/
|
|
60
|
+
function clampTemperature(temp) {
|
|
61
|
+
const t = temp ?? 0.7;
|
|
62
|
+
if (t <= 0)
|
|
63
|
+
return 0.01;
|
|
64
|
+
if (t > 1)
|
|
65
|
+
return 1.0;
|
|
66
|
+
return t;
|
|
67
|
+
}
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
// MiniMaxAdapter
|
|
70
|
+
// ---------------------------------------------------------------------------
|
|
71
|
+
/**
|
|
72
|
+
* Adapter that connects MiniMax LLM models to the SwarmOrchestrator.
|
|
73
|
+
* Uses MiniMax's OpenAI-compatible chat completions API.
|
|
74
|
+
*
|
|
75
|
+
* Available models:
|
|
76
|
+
* - MiniMax-M2.5 — flagship model with 204K context
|
|
77
|
+
* - MiniMax-M2.5-highspeed — faster variant optimised for throughput
|
|
78
|
+
*/
|
|
79
|
+
class MiniMaxAdapter extends base_adapter_1.BaseAdapter {
|
|
80
|
+
name = 'minimax';
|
|
81
|
+
version = '1.0.0';
|
|
82
|
+
agents = new Map();
|
|
83
|
+
get capabilities() {
|
|
84
|
+
return {
|
|
85
|
+
streaming: false,
|
|
86
|
+
parallel: true,
|
|
87
|
+
bidirectional: false,
|
|
88
|
+
discovery: true,
|
|
89
|
+
authentication: true,
|
|
90
|
+
statefulSessions: false,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
// -------------------------------------------------------------------------
|
|
94
|
+
// Registration
|
|
95
|
+
// -------------------------------------------------------------------------
|
|
96
|
+
/**
|
|
97
|
+
* Register a MiniMax-powered agent.
|
|
98
|
+
*
|
|
99
|
+
* @param agentId Unique identifier used in `delegateTask` calls.
|
|
100
|
+
* @param config MiniMax agent configuration.
|
|
101
|
+
*/
|
|
102
|
+
registerAgent(agentId, config = {}) {
|
|
103
|
+
if (!this.ready) {
|
|
104
|
+
this.ready = true;
|
|
105
|
+
}
|
|
106
|
+
this.agents.set(agentId, { config });
|
|
107
|
+
this.registeredAgents.set(agentId, {
|
|
108
|
+
id: agentId,
|
|
109
|
+
name: agentId,
|
|
110
|
+
description: `MiniMax agent (model: ${config.model ?? 'MiniMax-M2.5'})`,
|
|
111
|
+
capabilities: ['chat', 'analysis', 'code-generation', 'reasoning'],
|
|
112
|
+
adapter: this.name,
|
|
113
|
+
status: 'available',
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
// -------------------------------------------------------------------------
|
|
117
|
+
// Execution
|
|
118
|
+
// -------------------------------------------------------------------------
|
|
119
|
+
async executeAgent(agentId, payload, context) {
|
|
120
|
+
if (!this.ready) {
|
|
121
|
+
throw new Error('MiniMaxAdapter: adapter not initialized. Call initialize() first.');
|
|
122
|
+
}
|
|
123
|
+
const entry = this.agents.get(agentId);
|
|
124
|
+
if (!entry) {
|
|
125
|
+
return {
|
|
126
|
+
success: false,
|
|
127
|
+
error: {
|
|
128
|
+
code: 'AGENT_NOT_FOUND',
|
|
129
|
+
message: `MiniMaxAdapter: no agent registered with id "${agentId}"`,
|
|
130
|
+
recoverable: false,
|
|
131
|
+
},
|
|
132
|
+
metadata: { adapter: this.name },
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
const cfg = entry.config;
|
|
136
|
+
try {
|
|
137
|
+
const { output, usage } = await this._executeChat(cfg, payload);
|
|
138
|
+
return {
|
|
139
|
+
success: true,
|
|
140
|
+
data: { output, model: cfg.model ?? 'MiniMax-M2.5' },
|
|
141
|
+
metadata: {
|
|
142
|
+
adapter: this.name,
|
|
143
|
+
trace: {
|
|
144
|
+
taskId: context.taskId,
|
|
145
|
+
...(usage ? { usage } : {}),
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
152
|
+
return {
|
|
153
|
+
success: false,
|
|
154
|
+
error: {
|
|
155
|
+
code: 'EXECUTION_ERROR',
|
|
156
|
+
message,
|
|
157
|
+
recoverable: true,
|
|
158
|
+
},
|
|
159
|
+
metadata: { adapter: this.name },
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// -------------------------------------------------------------------------
|
|
164
|
+
// Private execution
|
|
165
|
+
// -------------------------------------------------------------------------
|
|
166
|
+
async _executeChat(cfg, payload) {
|
|
167
|
+
const prompt = buildPrompt(payload);
|
|
168
|
+
const model = cfg.model ?? 'MiniMax-M2.5';
|
|
169
|
+
const temperature = clampTemperature(cfg.temperature);
|
|
170
|
+
// Bring-your-own SDK client
|
|
171
|
+
if (cfg.client) {
|
|
172
|
+
const messages = [];
|
|
173
|
+
if (cfg.systemPrompt)
|
|
174
|
+
messages.push({ role: 'system', content: cfg.systemPrompt });
|
|
175
|
+
messages.push({ role: 'user', content: prompt });
|
|
176
|
+
const resp = await cfg.client.create({
|
|
177
|
+
model,
|
|
178
|
+
messages,
|
|
179
|
+
max_tokens: cfg.maxTokens,
|
|
180
|
+
temperature,
|
|
181
|
+
stop: cfg.stop,
|
|
182
|
+
});
|
|
183
|
+
const output = resp.choices[0]?.message?.content ?? resp.choices[0]?.text ?? '';
|
|
184
|
+
return { output, usage: resp.usage };
|
|
185
|
+
}
|
|
186
|
+
// Built-in fetch path
|
|
187
|
+
const apiKey = resolveApiKey(cfg);
|
|
188
|
+
if (!apiKey) {
|
|
189
|
+
throw new Error('MiniMaxAdapter: no API key provided. Set apiKey in config or MINIMAX_API_KEY env var.');
|
|
190
|
+
}
|
|
191
|
+
const base = (cfg.baseUrl ?? 'https://api.minimax.io/v1').replace(/\/+$/, '');
|
|
192
|
+
const url = `${base}/chat/completions`;
|
|
193
|
+
const messages = [];
|
|
194
|
+
if (cfg.systemPrompt)
|
|
195
|
+
messages.push({ role: 'system', content: cfg.systemPrompt });
|
|
196
|
+
messages.push({ role: 'user', content: prompt });
|
|
197
|
+
const body = {
|
|
198
|
+
model,
|
|
199
|
+
messages,
|
|
200
|
+
...(cfg.maxTokens != null ? { max_tokens: cfg.maxTokens } : {}),
|
|
201
|
+
temperature,
|
|
202
|
+
...(cfg.stop ? { stop: cfg.stop } : {}),
|
|
203
|
+
};
|
|
204
|
+
const timeoutMs = cfg.timeout ?? 120_000;
|
|
205
|
+
const controller = new AbortController();
|
|
206
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
207
|
+
let resp;
|
|
208
|
+
try {
|
|
209
|
+
resp = await fetch(url, {
|
|
210
|
+
method: 'POST',
|
|
211
|
+
headers: {
|
|
212
|
+
'Content-Type': 'application/json',
|
|
213
|
+
'Authorization': `Bearer ${apiKey}`,
|
|
214
|
+
...cfg.headers,
|
|
215
|
+
},
|
|
216
|
+
body: JSON.stringify(body),
|
|
217
|
+
signal: controller.signal,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
finally {
|
|
221
|
+
clearTimeout(timer);
|
|
222
|
+
}
|
|
223
|
+
if (!resp.ok) {
|
|
224
|
+
const text = await resp.text().catch(() => '');
|
|
225
|
+
throw new Error(`MiniMaxAdapter: HTTP ${resp.status} from MiniMax API — ${text.slice(0, 200)}`);
|
|
226
|
+
}
|
|
227
|
+
const json = await resp.json();
|
|
228
|
+
const output = json.choices[0]?.message?.content ?? '';
|
|
229
|
+
return { output, usage: json.usage };
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
exports.MiniMaxAdapter = MiniMaxAdapter;
|
|
233
|
+
//# sourceMappingURL=minimax-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimax-adapter.js","sourceRoot":"","sources":["../../adapters/minimax-adapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "network-ai",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.6.0",
|
|
4
4
|
"description": "AI agent orchestration framework for TypeScript/Node.js - 14 adapters (LangChain, AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, OpenClaw, A2A, Codex + streaming variants). Built-in CLI, security, swarm intelligence, real-time streaming, and agentic workflow patterns.",
|
|
5
5
|
"homepage": "https://github.com/Jovancoding/Network-AI#readme",
|
|
6
6
|
"main": "dist/index.js",
|