network-ai 4.5.3 → 4.6.1

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.
@@ -64,7 +64,7 @@ Answers drive `AuthGuardian` configuration and audit log retention policy.
64
64
 
65
65
  ## 2. Framework Mapping
66
66
 
67
- Network-AI ships 12 adapters. Map your existing agents to the right one:
67
+ Network-AI ships 15 adapters. Map your existing agents to the right one:
68
68
 
69
69
  | Your Stack | Network-AI Adapter | Notes |
70
70
  |-----------|-------------------|-------|
@@ -459,7 +459,7 @@ Run these before declaring the integration production-ready:
459
459
  |----------|---------------|
460
460
  | [QUICKSTART.md](QUICKSTART.md) | Get running in 5 minutes |
461
461
  | [QUICKSTART.md § CLI](QUICKSTART.md) | CLI reference — bb, auth, budget, audit commands |
462
- | [references/adapter-system.md](references/adapter-system.md) | All 12 adapters with code examples |
462
+ | [references/adapter-system.md](references/adapter-system.md) | All 15 adapters with code examples |
463
463
  | [references/trust-levels.md](references/trust-levels.md) | Trust scoring formula and agent roles |
464
464
  | [references/auth-guardian.md](references/auth-guardian.md) | Permission system, justification scoring, token lifecycle |
465
465
  | [references/blackboard-schema.md](references/blackboard-schema.md) | Blackboard key conventions and namespacing |
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 12 adapters are self-contained — add framework SDKs only when you need them.
21
+ **Zero external AI dependencies.** All 15 adapters are self-contained — add framework SDKs only when you need them.
22
22
 
23
23
  ---
24
24
 
@@ -225,7 +225,7 @@ npx ts-node test-cli.ts # 65 CLI tests
225
225
 
226
226
  ```bash
227
227
  npx ts-node setup.ts --check # Verify installation
228
- npx ts-node setup.ts --list # List all 12 adapters
228
+ npx ts-node setup.ts --list # List all 15 adapters
229
229
  npx ts-node setup.ts --example # Generate example.ts
230
230
  ```
231
231
 
@@ -563,7 +563,7 @@ import SwarmOrchestrator, {
563
563
  // Factory
564
564
  import { createSwarmOrchestrator } from 'network-ai';
565
565
 
566
- // All 12 adapters
566
+ // All 15 adapters
567
567
  import {
568
568
  AdapterRegistry, BaseAdapter,
569
569
  OpenClawAdapter, LangChainAdapter, AutoGenAdapter,
package/README.md CHANGED
@@ -4,10 +4,10 @@
4
4
 
5
5
  [![CI](https://github.com/Jovancoding/Network-AI/actions/workflows/ci.yml/badge.svg)](https://github.com/Jovancoding/Network-AI/actions/workflows/ci.yml)
6
6
  [![CodeQL](https://github.com/Jovancoding/Network-AI/actions/workflows/codeql.yml/badge.svg)](https://github.com/Jovancoding/Network-AI/actions/workflows/codeql.yml)
7
- [![Release](https://img.shields.io/badge/release-v4.5.2-blue.svg)](https://github.com/Jovancoding/Network-AI/releases)
7
+ [![Release](https://img.shields.io/badge/release-v4.6.1-blue.svg)](https://github.com/Jovancoding/Network-AI/releases)
8
8
  [![npm](https://img.shields.io/npm/dw/network-ai.svg?label=npm%20downloads)](https://www.npmjs.com/package/network-ai)
9
- [![Tests](https://img.shields.io/badge/tests-1399%20passing-brightgreen.svg)](#testing)
10
- [![Adapters](https://img.shields.io/badge/frameworks-14%20supported-blueviolet.svg)](#adapter-system)
9
+ [![Tests](https://img.shields.io/badge/tests-1449%20passing-brightgreen.svg)](#testing)
10
+ [![Adapters](https://img.shields.io/badge/frameworks-15%20supported-blueviolet.svg)](#adapter-system)
11
11
  [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](LICENSE)
12
12
  [![Socket](https://socket.dev/api/badge/npm/package/network-ai)](https://socket.dev/npm/package/network-ai/overview)
13
13
  [![Node.js](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)](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
- - **14 adapters** — LangChain (+ streaming), AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, Custom (+ streaming), OpenClaw, A2A, and Codex — no glue code, no lock-in
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 | 14 adapters — mix LangChain + AutoGen + CrewAI + Codex + custom in one swarm |
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
- 14 adapters, zero adapter dependencies. You bring your own SDK objects.
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 | ✅ 14 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
+ | 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 14 adapters
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,399 passing assertions across 17 test suites** (`npm run test:all`):
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 14 adapters, registry routing, integration, edge cases |
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/SKILL.md CHANGED
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: Network-AI
3
- description: "Python orchestration skill: local multi-agent workflows via blackboard file, permission gating, and token budget scripts. All execution is local — no network calls, no Node.js required. TypeScript/Node.js features (HMAC tokens, AES-256, MCP server, 14 adapters, CLI) are in the SEPARATE companion npm package (npm install -g network-ai) and are NOT part of this skill bundle."
3
+ description: "Python orchestration skill: local multi-agent workflows via blackboard file, permission gating, and token budget scripts. All execution is local — no network calls, no Node.js required. TypeScript/Node.js features (HMAC tokens, AES-256, MCP server, 15 adapters, CLI) are in the SEPARATE companion npm package (npm install -g network-ai) and are NOT part of this skill bundle."
4
4
  metadata:
5
5
  openclaw:
6
6
  emoji: "\U0001F41D"
7
7
  homepage: https://github.com/Jovancoding/Network-AI
8
- bundle_scope: "Python scripts only (scripts/*.py). The README.md in this repo describes the FULL project including the companion Node.js npm package — features documented there (HMAC tokens, AES-256 encryption, MCP server, 14 adapters, CLI) are NOT implemented in these Python scripts and are NOT part of this ClawHub skill. Install the npm package separately for those features."
8
+ bundle_scope: "Python scripts only (scripts/*.py). The README.md in this repo describes the FULL project including the companion Node.js npm package — features documented there (HMAC tokens, AES-256 encryption, MCP server, 15 adapters, CLI) are NOT implemented in these Python scripts and are NOT part of this ClawHub skill. Install the npm package separately for those features."
9
9
  network_calls: none
10
10
  sessions_ops: "platform-provided — sessions_send, sessions_list, and sessions_history are OpenClaw host platform built-ins, not implemented or invoked by this skill's Python scripts"
11
11
  requires:
@@ -37,6 +37,8 @@ metadata:
37
37
 
38
38
  **No pip install required.** All 6 scripts use Python standard library only — zero third-party packages.
39
39
 
40
+ > **Note on `requirements.txt`:** The file exists for documentation purposes only — it lists the stdlib modules used and has **no required packages**. All listed deps are commented out as optional. You do not need to run `pip install -r requirements.txt`.
41
+
40
42
  ```bash
41
43
  # Prerequisite: python3 (any version ≥ 3.8)
42
44
  python3 --version
@@ -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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"}
@@ -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,7 +1,7 @@
1
1
  {
2
2
  "name": "network-ai",
3
- "version": "4.5.3",
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.",
3
+ "version": "4.6.1",
4
+ "description": "AI agent orchestration framework for TypeScript/Node.js - 15 adapters (LangChain, AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, OpenClaw, A2A, Codex, MiniMax + 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",
7
7
  "types": "dist/index.d.ts",
package/socket.json CHANGED
@@ -35,6 +35,22 @@
35
35
  {
36
36
  "path": "dist/bin/mcp-server.js",
37
37
  "reason": "Intentional — network-ai-server is an opt-in CLI binary that starts an HTTP/SSE server to expose the Network-AI tool suite over MCP. Users invoke it explicitly; it is not a background side-effect."
38
+ },
39
+ {
40
+ "path": "adapters/codex-adapter.ts",
41
+ "reason": "Intentional — CodexAdapter calls OpenAI's chat/completions API (or user-provided baseUrl) via fetch(). Network access is the purpose of this adapter for connecting to OpenAI/Codex endpoints."
42
+ },
43
+ {
44
+ "path": "dist/adapters/codex-adapter.js",
45
+ "reason": "Intentional — CodexAdapter calls OpenAI's chat/completions API (or user-provided baseUrl) via fetch(). Network access is the purpose of this adapter for connecting to OpenAI/Codex endpoints."
46
+ },
47
+ {
48
+ "path": "adapters/minimax-adapter.ts",
49
+ "reason": "Intentional — MiniMaxAdapter calls MiniMax's OpenAI-compatible chat/completions API via fetch(). Network access is the purpose of this adapter for connecting to MiniMax LLM endpoints."
50
+ },
51
+ {
52
+ "path": "dist/adapters/minimax-adapter.js",
53
+ "reason": "Intentional — MiniMaxAdapter calls MiniMax's OpenAI-compatible chat/completions API via fetch(). Network access is the purpose of this adapter for connecting to MiniMax LLM endpoints."
38
54
  }
39
55
  ],
40
56
  "urlStrings": [
@@ -49,6 +65,22 @@
49
65
  {
50
66
  "path": "dist/bin/mcp-server.js",
51
67
  "reason": "Intentional — mcp-server.js is the MCP server binary; localhost URLs are for the server it starts (e.g. http://localhost:3001/sse) and are documented in help text and comments."
68
+ },
69
+ {
70
+ "path": "adapters/codex-adapter.ts",
71
+ "reason": "Intentional — CodexAdapter uses https://api.openai.com as default baseUrl for OpenAI API calls. Users can override via config.baseUrl."
72
+ },
73
+ {
74
+ "path": "dist/adapters/codex-adapter.js",
75
+ "reason": "Intentional — CodexAdapter uses https://api.openai.com as default baseUrl for OpenAI API calls. Users can override via config.baseUrl."
76
+ },
77
+ {
78
+ "path": "adapters/minimax-adapter.ts",
79
+ "reason": "Intentional — MiniMaxAdapter uses https://api.minimax.io/v1 as default baseUrl for MiniMax API calls. Users can override via config.baseUrl."
80
+ },
81
+ {
82
+ "path": "dist/adapters/minimax-adapter.js",
83
+ "reason": "Intentional — MiniMaxAdapter uses https://api.minimax.io/v1 as default baseUrl for MiniMax API calls. Users can override via config.baseUrl."
52
84
  }
53
85
  ],
54
86
  "envVars": [