network-ai 4.5.2 → 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.
@@ -1,4 +1,4 @@
1
- # Network-AI Integration Guide
1
+ # Network-AI Integration Guide
2
2
 
3
3
  **For technical leads, solutions architects, and engineering teams evaluating or deploying Network-AI in a production environment.**
4
4
 
@@ -469,4 +469,4 @@ Run these before declaring the integration production-ready:
469
469
 
470
470
  ---
471
471
 
472
- *Network-AI v4.0.6 · MIT License · https://github.com/jovanSAPFIONEER/Network-AI*
472
+ *Network-AI v4.0.6 · MIT License · https://github.com/Jovancoding/Network-AI*
package/QUICKSTART.md CHANGED
@@ -1,4 +1,4 @@
1
- # Network-AI Quick Start Guide
1
+ # Network-AI Quick Start Guide
2
2
 
3
3
  Get the Multi-Agent Swarm Orchestrator running in **under 5 minutes**.
4
4
 
@@ -8,7 +8,7 @@ Get the Multi-Agent Swarm Orchestrator running in **under 5 minutes**.
8
8
 
9
9
  ```bash
10
10
  # Clone the repo
11
- git clone https://github.com/jovanSAPFIONEER/Network-AI.git
11
+ git clone https://github.com/Jovancoding/Network-AI.git
12
12
  cd Network-AI
13
13
 
14
14
  # Install dependencies (only TypeScript + ts-node needed)
@@ -347,7 +347,7 @@ Your App
347
347
 
348
348
  ---
349
349
 
350
- **Questions?** Open an issue at [github.com/jovanSAPFIONEER/Network-AI](https://github.com/jovanSAPFIONEER/Network-AI)
350
+ **Questions?** Open an issue at [github.com/Jovancoding/Network-AI](https://github.com/Jovancoding/Network-AI)
351
351
 
352
352
  ---
353
353
 
package/README.md CHANGED
@@ -1,26 +1,26 @@
1
- # Network-AI
1
+ # Network-AI
2
2
 
3
3
  **TypeScript/Node.js multi-agent orchestrator — shared state, guardrails, budgets, and cross-framework coordination**
4
4
 
5
- [![CI](https://github.com/jovanSAPFIONEER/Network-AI/actions/workflows/ci.yml/badge.svg)](https://github.com/jovanSAPFIONEER/Network-AI/actions/workflows/ci.yml)
6
- [![CodeQL](https://github.com/jovanSAPFIONEER/Network-AI/actions/workflows/codeql.yml/badge.svg)](https://github.com/jovanSAPFIONEER/Network-AI/actions/workflows/codeql.yml)
7
- [![Release](https://img.shields.io/badge/release-v4.5.2-blue.svg)](https://github.com/jovanSAPFIONEER/Network-AI/releases)
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
+ [![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.6.0-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)
14
14
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6.svg)](https://typescriptlang.org)
15
15
  [![ClawHub](https://img.shields.io/badge/ClawHub-network--ai-orange.svg)](https://clawhub.ai/skills/network-ai)
16
16
  [![Integration Guide](https://img.shields.io/badge/docs-integration%20guide-informational.svg)](INTEGRATION_GUIDE.md)
17
- [![Glama](https://img.shields.io/badge/Glama-listed-8A2BE2.svg)](https://glama.ai/mcp/servers/@jovanSAPFIONEER/network-ai)
17
+ [![Glama](https://img.shields.io/badge/Glama-listed-8A2BE2.svg)](https://glama.ai/mcp/servers/@Jovancoding/network-ai)
18
18
 
19
19
  Network-AI is a TypeScript/Node.js multi-agent orchestrator that adds coordination, guardrails, and governance to any AI agent stack.
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 |
@@ -397,11 +399,11 @@ Copy the contents of `claude-project-prompt.md` (below the horizontal rule) into
397
399
  ## Contributing
398
400
 
399
401
  1. Fork → feature branch → `npm run test:all` → pull request
400
- 2. Bugs and feature requests via [Issues](https://github.com/jovanSAPFIONEER/Network-AI/issues)
402
+ 2. Bugs and feature requests via [Issues](https://github.com/Jovancoding/Network-AI/issues)
401
403
 
402
404
  ---
403
405
 
404
- MIT License — [LICENSE](LICENSE)  ·  [CHANGELOG](CHANGELOG.md)  ·  [CONTRIBUTING](CONTRIBUTING.md)  ·  [![RSS](https://img.shields.io/badge/RSS-releases-orange?logo=rss)](https://github.com/jovanSAPFIONEER/Network-AI/releases.atom)
406
+ MIT License — [LICENSE](LICENSE)  ·  [CHANGELOG](CHANGELOG.md)  ·  [CONTRIBUTING](CONTRIBUTING.md)  ·  [![RSS](https://img.shields.io/badge/RSS-releases-orange?logo=rss)](https://github.com/Jovancoding/Network-AI/releases.atom)
405
407
 
406
408
  <details>
407
409
  <summary>Keywords</summary>
package/SKILL.md CHANGED
@@ -1,10 +1,10 @@
1
- ---
1
+ ---
2
2
  name: Network-AI
3
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."
4
4
  metadata:
5
5
  openclaw:
6
6
  emoji: "\U0001F41D"
7
- homepage: https://github.com/jovanSAPFIONEER/Network-AI
7
+ homepage: https://github.com/Jovancoding/Network-AI
8
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."
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"
@@ -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,8 +1,8 @@
1
1
  {
2
2
  "name": "network-ai",
3
- "version": "4.5.2",
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
- "homepage": "https://github.com/jovanSAPFIONEER/Network-AI#readme",
5
+ "homepage": "https://github.com/Jovancoding/Network-AI#readme",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "bin": {
@@ -81,7 +81,7 @@
81
81
  "license": "MIT",
82
82
  "repository": {
83
83
  "type": "git",
84
- "url": "https://github.com/jovanSAPFIONEER/Network-AI.git"
84
+ "url": "https://github.com/Jovancoding/Network-AI.git"
85
85
  },
86
86
  "engines": {
87
87
  "node": ">=18.0.0",