network-ai
Advanced tools
| /** | ||
| * APS Adapter โ Agent Permission Service interop adapter. | ||
| * | ||
| * Maps APS delegation chains to AuthGuardian trust levels. | ||
| * This is the interop PoC proposed in crewAIInc/crewAI#4560: | ||
| * APS chain โ MCP verify โ trust mapping โ registerAgentTrust(). | ||
| * | ||
| * APS (Agent Permission Service) is a delegation-chain permission model | ||
| * proposed by aeoess et al. This adapter consumes APS delegation tokens, | ||
| * verifies them (locally or via MCP server), and translates the verified | ||
| * scope + depth into Network-AI's AgentTrustConfig. | ||
| * | ||
| * Usage: | ||
| * | ||
| * import { APSAdapter } from 'network-ai'; | ||
| * | ||
| * const aps = new APSAdapter(); | ||
| * await aps.initialize({}); | ||
| * | ||
| * // Register an APS-verified agent by providing its delegation chain | ||
| * const trust = aps.apsDelegationToTrust({ | ||
| * delegator: 'root-orchestrator', | ||
| * delegatee: 'sub-agent-7', | ||
| * scope: ['file:read', 'net:fetch'], | ||
| * currentDepth: 1, | ||
| * maxDepth: 3, | ||
| * signature: '<base64-token>', | ||
| * }); | ||
| * | ||
| * // Wire into AuthGuardian | ||
| * guardian.registerAgentTrust(trust); | ||
| * | ||
| * Verification modes: | ||
| * - 'local' โ checks signature + depth + scope locally (default) | ||
| * - 'mcp' โ calls an APS MCP server to verify the full chain | ||
| * | ||
| * @module APSAdapter | ||
| * @version 1.0.0 | ||
| */ | ||
| import { BaseAdapter } from './base-adapter'; | ||
| import type { AdapterConfig, AdapterCapabilities, AgentPayload, AgentContext, AgentResult } from '../types/agent-adapter'; | ||
| /** A single link in an APS delegation chain. */ | ||
| export interface APSDelegation { | ||
| /** Agent that grants authority */ | ||
| delegator: string; | ||
| /** Agent that receives authority */ | ||
| delegatee: string; | ||
| /** Scopes granted โ monotonically narrowing down the chain */ | ||
| scope: string[]; | ||
| /** Current depth in the delegation chain (0 = root) */ | ||
| currentDepth: number; | ||
| /** Maximum allowed depth */ | ||
| maxDepth: number; | ||
| /** Cryptographic signature or token from the delegator */ | ||
| signature: string; | ||
| } | ||
| /** Result of APS verification โ input to AuthGuardian. */ | ||
| export interface APSTrustMapping { | ||
| agentId: string; | ||
| trustLevel: number; | ||
| allowedResources: string[]; | ||
| allowedNamespaces: string[]; | ||
| /** Raw APS chain metadata for audit purposes */ | ||
| apsMetadata: { | ||
| delegator: string; | ||
| depth: number; | ||
| maxDepth: number; | ||
| scope: string[]; | ||
| verified: boolean; | ||
| verificationMode: 'local' | 'mcp'; | ||
| }; | ||
| } | ||
| /** Configuration for the APS adapter. */ | ||
| export interface APSAdapterConfig extends AdapterConfig { | ||
| /** Base trust level for a fully verified root delegation (default: 0.8) */ | ||
| baseTrust?: number; | ||
| /** Depth decay factor โ trust decays as delegation gets deeper (default: 0.4) */ | ||
| depthDecay?: number; | ||
| /** Verification mode: 'local' or 'mcp' (default: 'local') */ | ||
| verificationMode?: 'local' | 'mcp'; | ||
| /** MCP server URL for remote verification (required when mode is 'mcp') */ | ||
| mcpServerUrl?: string; | ||
| /** Function to verify APS signatures โ BYOC (bring your own crypto) */ | ||
| verifySignature?: (delegation: APSDelegation) => Promise<boolean>; | ||
| } | ||
| /** | ||
| * APSAdapter translates APS delegation chains into AuthGuardian trust configs. | ||
| * | ||
| * This is not a traditional execution adapter โ it's a trust-bridging adapter. | ||
| * Its primary method is `apsDelegationToTrust()`, which verifies an APS | ||
| * delegation and returns an `AgentTrustConfig`-compatible object. | ||
| */ | ||
| export declare class APSAdapter extends BaseAdapter { | ||
| readonly name = "aps"; | ||
| readonly version = "1.0.0"; | ||
| private baseTrust; | ||
| private depthDecay; | ||
| private verificationMode; | ||
| private mcpServerUrl?; | ||
| private verifySignatureFn?; | ||
| get capabilities(): AdapterCapabilities; | ||
| initialize(config: APSAdapterConfig): Promise<void>; | ||
| /** | ||
| * Core method: convert an APS delegation into an AuthGuardian trust mapping. | ||
| * | ||
| * Trust formula: baseTrust ร (1 - (currentDepth / maxDepth ร depthDecay)) | ||
| * At depth 0 (root): full baseTrust. | ||
| * At maxDepth: baseTrust ร (1 - depthDecay). | ||
| * | ||
| * Scopes are monotonically narrowing โ a child delegation can only have | ||
| * a subset of the parent's scopes. | ||
| */ | ||
| apsDelegationToTrust(delegation: APSDelegation): Promise<APSTrustMapping>; | ||
| /** | ||
| * Verify an APS delegation โ either locally or via MCP. | ||
| */ | ||
| private verifyDelegation; | ||
| /** | ||
| * Verify delegation via an APS MCP server. | ||
| * Calls the server's `verifyDelegation` tool. | ||
| */ | ||
| private verifyViaMCP; | ||
| /** | ||
| * Execute is a pass-through โ APS adapter is a trust bridge, not an executor. | ||
| * When called, it verifies the delegation from the payload and returns the trust mapping. | ||
| */ | ||
| executeAgent(agentName: string, payload: AgentPayload, context: AgentContext): Promise<AgentResult>; | ||
| } | ||
| //# sourceMappingURL=aps-adapter.d.ts.map |
| {"version":3,"file":"aps-adapter.d.ts","sourceRoot":"","sources":["../../adapters/aps-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAIhC,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,gDAAgD;IAChD,WAAW,EAAE;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,gBAAgB,EAAE,OAAO,GAAG,KAAK,CAAC;KACnC,CAAC;CACH;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACnC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE;AAoBD;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,WAAW;IACzC,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,OAAO,WAAW;IAE3B,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAC,CAAkD;IAE5E,IAAI,YAAY,IAAI,mBAAmB,CAStC;IAEK,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BzD;;;;;;;;;OASG;IACG,oBAAoB,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IA+D/E;;OAEG;YACW,gBAAgB;IAuB9B;;;OAGG;YACW,YAAY;IAwC1B;;;OAGG;IACG,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC;CA2CxB"} |
| "use strict"; | ||
| /** | ||
| * APS Adapter โ Agent Permission Service interop adapter. | ||
| * | ||
| * Maps APS delegation chains to AuthGuardian trust levels. | ||
| * This is the interop PoC proposed in crewAIInc/crewAI#4560: | ||
| * APS chain โ MCP verify โ trust mapping โ registerAgentTrust(). | ||
| * | ||
| * APS (Agent Permission Service) is a delegation-chain permission model | ||
| * proposed by aeoess et al. This adapter consumes APS delegation tokens, | ||
| * verifies them (locally or via MCP server), and translates the verified | ||
| * scope + depth into Network-AI's AgentTrustConfig. | ||
| * | ||
| * Usage: | ||
| * | ||
| * import { APSAdapter } from 'network-ai'; | ||
| * | ||
| * const aps = new APSAdapter(); | ||
| * await aps.initialize({}); | ||
| * | ||
| * // Register an APS-verified agent by providing its delegation chain | ||
| * const trust = aps.apsDelegationToTrust({ | ||
| * delegator: 'root-orchestrator', | ||
| * delegatee: 'sub-agent-7', | ||
| * scope: ['file:read', 'net:fetch'], | ||
| * currentDepth: 1, | ||
| * maxDepth: 3, | ||
| * signature: '<base64-token>', | ||
| * }); | ||
| * | ||
| * // Wire into AuthGuardian | ||
| * guardian.registerAgentTrust(trust); | ||
| * | ||
| * Verification modes: | ||
| * - 'local' โ checks signature + depth + scope locally (default) | ||
| * - 'mcp' โ calls an APS MCP server to verify the full chain | ||
| * | ||
| * @module APSAdapter | ||
| * @version 1.0.0 | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.APSAdapter = void 0; | ||
| const base_adapter_1 = require("./base-adapter"); | ||
| // โโโ Scope โ Resource type mapping โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | ||
| const SCOPE_TO_RESOURCE = { | ||
| 'file:read': 'FILE_SYSTEM', | ||
| 'file:write': 'FILE_SYSTEM', | ||
| 'net:fetch': 'NETWORK', | ||
| 'net:listen': 'NETWORK', | ||
| 'shell:exec': 'SHELL_EXEC', | ||
| 'git:read': 'GIT', | ||
| 'git:write': 'GIT', | ||
| 'db:read': 'DATABASE', | ||
| 'db:write': 'DATABASE', | ||
| 'pay:read': 'PAYMENTS', | ||
| 'pay:write': 'PAYMENTS', | ||
| }; | ||
| // โโโ Adapter โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | ||
| /** | ||
| * APSAdapter translates APS delegation chains into AuthGuardian trust configs. | ||
| * | ||
| * This is not a traditional execution adapter โ it's a trust-bridging adapter. | ||
| * Its primary method is `apsDelegationToTrust()`, which verifies an APS | ||
| * delegation and returns an `AgentTrustConfig`-compatible object. | ||
| */ | ||
| class APSAdapter extends base_adapter_1.BaseAdapter { | ||
| name = 'aps'; | ||
| version = '1.0.0'; | ||
| baseTrust = 0.8; | ||
| depthDecay = 0.4; | ||
| verificationMode = 'local'; | ||
| mcpServerUrl; | ||
| verifySignatureFn; | ||
| get capabilities() { | ||
| return { | ||
| streaming: false, | ||
| parallel: true, | ||
| bidirectional: false, | ||
| discovery: false, | ||
| authentication: true, | ||
| statefulSessions: false, | ||
| }; | ||
| } | ||
| async initialize(config) { | ||
| await super.initialize(config); | ||
| if (config.baseTrust !== undefined) { | ||
| if (typeof config.baseTrust !== 'number' || config.baseTrust < 0 || config.baseTrust > 1) { | ||
| throw new Error('baseTrust must be a number between 0 and 1'); | ||
| } | ||
| this.baseTrust = config.baseTrust; | ||
| } | ||
| if (config.depthDecay !== undefined) { | ||
| if (typeof config.depthDecay !== 'number' || config.depthDecay < 0 || config.depthDecay > 1) { | ||
| throw new Error('depthDecay must be a number between 0 and 1'); | ||
| } | ||
| this.depthDecay = config.depthDecay; | ||
| } | ||
| if (config.verificationMode) { | ||
| this.verificationMode = config.verificationMode; | ||
| } | ||
| if (config.mcpServerUrl) { | ||
| this.mcpServerUrl = config.mcpServerUrl; | ||
| } | ||
| if (config.verifySignature) { | ||
| this.verifySignatureFn = config.verifySignature; | ||
| } | ||
| if (this.verificationMode === 'mcp' && !this.mcpServerUrl) { | ||
| throw new Error('mcpServerUrl is required when verificationMode is "mcp"'); | ||
| } | ||
| } | ||
| /** | ||
| * Core method: convert an APS delegation into an AuthGuardian trust mapping. | ||
| * | ||
| * Trust formula: baseTrust ร (1 - (currentDepth / maxDepth ร depthDecay)) | ||
| * At depth 0 (root): full baseTrust. | ||
| * At maxDepth: baseTrust ร (1 - depthDecay). | ||
| * | ||
| * Scopes are monotonically narrowing โ a child delegation can only have | ||
| * a subset of the parent's scopes. | ||
| */ | ||
| async apsDelegationToTrust(delegation) { | ||
| // Validate input | ||
| if (!delegation || typeof delegation !== 'object') { | ||
| throw new Error('delegation must be a non-null object'); | ||
| } | ||
| if (!delegation.delegatee || typeof delegation.delegatee !== 'string') { | ||
| throw new Error('delegation.delegatee must be a non-empty string'); | ||
| } | ||
| if (!delegation.delegator || typeof delegation.delegator !== 'string') { | ||
| throw new Error('delegation.delegator must be a non-empty string'); | ||
| } | ||
| if (!Array.isArray(delegation.scope) || delegation.scope.length === 0) { | ||
| throw new Error('delegation.scope must be a non-empty array'); | ||
| } | ||
| if (typeof delegation.currentDepth !== 'number' || delegation.currentDepth < 0) { | ||
| throw new Error('delegation.currentDepth must be a non-negative number'); | ||
| } | ||
| if (typeof delegation.maxDepth !== 'number' || delegation.maxDepth < 1) { | ||
| throw new Error('delegation.maxDepth must be a positive number'); | ||
| } | ||
| if (delegation.currentDepth > delegation.maxDepth) { | ||
| throw new Error('delegation.currentDepth cannot exceed maxDepth'); | ||
| } | ||
| // Verify the delegation | ||
| const verified = await this.verifyDelegation(delegation); | ||
| // Compute trust level with depth decay | ||
| const depthRatio = delegation.maxDepth > 0 | ||
| ? delegation.currentDepth / delegation.maxDepth | ||
| : 0; | ||
| const trustLevel = verified | ||
| ? Math.max(0, this.baseTrust * (1 - depthRatio * this.depthDecay)) | ||
| : 0; | ||
| // Map APS scopes to AuthGuardian resource types | ||
| const allowedResources = [...new Set(delegation.scope | ||
| .map(s => SCOPE_TO_RESOURCE[s]) | ||
| .filter((r) => r !== undefined))]; | ||
| // Derive namespace prefixes from scopes | ||
| const allowedNamespaces = delegation.scope | ||
| .map(s => s.split(':')[0] + ':') | ||
| .filter((v, i, a) => a.indexOf(v) === i); | ||
| return { | ||
| agentId: delegation.delegatee, | ||
| trustLevel: Math.round(trustLevel * 1000) / 1000, | ||
| allowedResources, | ||
| allowedNamespaces, | ||
| apsMetadata: { | ||
| delegator: delegation.delegator, | ||
| depth: delegation.currentDepth, | ||
| maxDepth: delegation.maxDepth, | ||
| scope: delegation.scope, | ||
| verified, | ||
| verificationMode: this.verificationMode, | ||
| }, | ||
| }; | ||
| } | ||
| /** | ||
| * Verify an APS delegation โ either locally or via MCP. | ||
| */ | ||
| async verifyDelegation(delegation) { | ||
| // Depth bounds check | ||
| if (delegation.currentDepth > delegation.maxDepth) { | ||
| return false; | ||
| } | ||
| if (!delegation.signature || typeof delegation.signature !== 'string') { | ||
| return false; | ||
| } | ||
| if (this.verificationMode === 'mcp' && this.mcpServerUrl) { | ||
| return this.verifyViaMCP(delegation); | ||
| } | ||
| // Local verification โ use BYOC verifier or default signature check | ||
| if (this.verifySignatureFn) { | ||
| return this.verifySignatureFn(delegation); | ||
| } | ||
| // Default: non-empty signature + valid depth = trusted | ||
| // In production, replace with actual crypto verification | ||
| return delegation.signature.length > 0; | ||
| } | ||
| /** | ||
| * Verify delegation via an APS MCP server. | ||
| * Calls the server's `verifyDelegation` tool. | ||
| */ | ||
| async verifyViaMCP(delegation) { | ||
| if (!this.mcpServerUrl) | ||
| return false; | ||
| try { | ||
| const url = new URL('/sse', this.mcpServerUrl); | ||
| const response = await fetch(url.toString(), { | ||
| method: 'POST', | ||
| headers: { 'Content-Type': 'application/json' }, | ||
| body: JSON.stringify({ | ||
| jsonrpc: '2.0', | ||
| id: `aps-verify-${Date.now()}`, | ||
| method: 'tools/call', | ||
| params: { | ||
| name: 'verifyDelegation', | ||
| arguments: { | ||
| delegator: delegation.delegator, | ||
| delegatee: delegation.delegatee, | ||
| scope: delegation.scope, | ||
| currentDepth: delegation.currentDepth, | ||
| maxDepth: delegation.maxDepth, | ||
| signature: delegation.signature, | ||
| }, | ||
| }, | ||
| }), | ||
| }); | ||
| if (!response.ok) | ||
| return false; | ||
| const result = await response.json(); | ||
| const text = result?.result?.content?.[0]?.text; | ||
| if (!text) | ||
| return false; | ||
| const parsed = JSON.parse(text); | ||
| return parsed.verified === true; | ||
| } | ||
| catch { | ||
| // MCP verification failed โ deny by default | ||
| return false; | ||
| } | ||
| } | ||
| /** | ||
| * Execute is a pass-through โ APS adapter is a trust bridge, not an executor. | ||
| * When called, it verifies the delegation from the payload and returns the trust mapping. | ||
| */ | ||
| async executeAgent(agentName, payload, context) { | ||
| this.ensureReady(); | ||
| const delegation = payload.params; | ||
| if (!delegation?.delegatee) { | ||
| return { | ||
| success: false, | ||
| error: { | ||
| code: 'INVALID_DELEGATION', | ||
| message: 'Payload must contain a valid APSDelegation in params', | ||
| recoverable: false, | ||
| }, | ||
| metadata: { adapter: this.name }, | ||
| }; | ||
| } | ||
| try { | ||
| const trust = await this.apsDelegationToTrust(delegation); | ||
| return { | ||
| success: true, | ||
| data: trust, | ||
| metadata: { | ||
| adapter: this.name, | ||
| trace: { | ||
| agentName, | ||
| verified: trust.apsMetadata.verified, | ||
| trustLevel: trust.trustLevel, | ||
| }, | ||
| }, | ||
| }; | ||
| } | ||
| catch (err) { | ||
| return { | ||
| success: false, | ||
| error: { | ||
| code: 'DELEGATION_FAILED', | ||
| message: err instanceof Error ? err.message : String(err), | ||
| recoverable: false, | ||
| nativeError: err, | ||
| }, | ||
| metadata: { adapter: this.name }, | ||
| }; | ||
| } | ||
| } | ||
| } | ||
| exports.APSAdapter = APSAdapter; | ||
| //# sourceMappingURL=aps-adapter.js.map |
| {"version":3,"file":"aps-adapter.js","sourceRoot":"","sources":["../../adapters/aps-adapter.ts"],"names":[],"mappings":"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"} |
@@ -56,2 +56,4 @@ /** | ||
| export type { MiniMaxAgentConfig, MiniMaxChatClient } from './minimax-adapter'; | ||
| export { APSAdapter } from './aps-adapter'; | ||
| export type { APSDelegation, APSTrustMapping, APSAdapterConfig, } from './aps-adapter'; | ||
| export { NemoClawAdapter } from './nemoclaw-adapter'; | ||
@@ -58,0 +60,0 @@ export type { NemoClawAgentConfig, OpenShellExecutor, BlueprintAction, BlueprintRunResult, SandboxState, SandboxStatus, NetworkPolicy, PolicyEndpoint, } from './nemoclaw-adapter'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../adapters/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../adapters/index.ts"],"names":[],"mappings":"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"} |
@@ -23,3 +23,3 @@ "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.NemoClawAdapter = 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; | ||
| exports.NemoClawAdapter = exports.APSAdapter = 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; | ||
| // Core infrastructure | ||
@@ -74,2 +74,5 @@ var base_adapter_1 = require("./base-adapter"); | ||
| Object.defineProperty(exports, "MiniMaxAdapter", { enumerable: true, get: function () { return minimax_adapter_1.MiniMaxAdapter; } }); | ||
| // APS adapter (Agent Permission Service โ delegation chain โ trust mapping) | ||
| var aps_adapter_1 = require("./aps-adapter"); | ||
| Object.defineProperty(exports, "APSAdapter", { enumerable: true, get: function () { return aps_adapter_1.APSAdapter; } }); | ||
| // NemoClaw adapter (NVIDIA NemoClaw โ sandboxed agent execution via OpenShell) | ||
@@ -76,0 +79,0 @@ var nemoclaw_adapter_1 = require("./nemoclaw-adapter"); |
@@ -1,1 +0,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;AAGvB,+EAA+E;AAC/E,uDAAqD;AAA5C,mHAAA,eAAe,OAAA"} | ||
| {"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;AAGvB,4EAA4E;AAC5E,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAOnB,+EAA+E;AAC/E,uDAAqD;AAA5C,mHAAA,eAAe,OAAA"} |
@@ -67,3 +67,3 @@ # Network-AI Integration Guide | ||
| Network-AI ships 16 adapters. Map your existing agents to the right one: | ||
| Network-AI ships 17 adapters. Map your existing agents to the right one: | ||
@@ -87,2 +87,3 @@ | Your Stack | Network-AI Adapter | Notes | | ||
| | NVIDIA NemoClaw | `NemoClawAdapter` | Sandboxed agent execution via OpenShell | | ||
| | APS delegation chains | `APSAdapter` | Delegation-chain trust mapping for AuthGuardian | | ||
| | **Anything else** | `CustomAdapter` | Wrap any async function or HTTP endpoint | | ||
@@ -468,3 +469,3 @@ | ||
| | [QUICKSTART.md ยง CLI](QUICKSTART.md) | CLI reference โ bb, auth, budget, audit commands | | ||
| | [references/adapter-system.md](references/adapter-system.md) | All 16 adapters with code examples | | ||
| | [references/adapter-system.md](references/adapter-system.md) | All 17 adapters with code examples | | ||
| | [references/trust-levels.md](references/trust-levels.md) | Trust scoring formula and agent roles | | ||
@@ -471,0 +472,0 @@ | [references/auth-guardian.md](references/auth-guardian.md) | Permission system, justification scoring, token lifecycle | |
+2
-2
| { | ||
| "name": "network-ai", | ||
| "version": "4.9.1", | ||
| "description": "AI agent orchestration framework for TypeScript/Node.js - 16 adapters (LangChain, AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, OpenClaw, A2A, Codex, MiniMax, NemoClaw + streaming variants). Built-in CLI, security, swarm intelligence, real-time streaming, and agentic workflow patterns.", | ||
| "version": "4.10.0", | ||
| "description": "AI agent orchestration framework for TypeScript/Node.js - 17 adapters (LangChain, AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, OpenClaw, A2A, Codex, MiniMax, NemoClaw, APS + streaming variants). Built-in CLI, security, swarm intelligence, real-time streaming, and agentic workflow patterns.", | ||
| "homepage": "https://github.com/Jovancoding/Network-AI#readme", | ||
@@ -6,0 +6,0 @@ "main": "dist/index.js", |
+9
-8
@@ -21,3 +21,3 @@ # Network-AI Quick Start Guide | ||
| **Zero external AI dependencies.** All 16 adapters are self-contained โ add framework SDKs only when you need them. | ||
| **Zero external AI dependencies.** All 17 adapters are self-contained โ add framework SDKs only when you need them. | ||
@@ -46,3 +46,3 @@ --- | ||
| | `minimax` | MiniMax | none | MiniMax chat completions | | ||
| | `nemoclaw` | NemoClaw | none | NVIDIA sandboxed agent execution | | ||
| | `nemoclaw` | NemoClaw | none | NVIDIA sandboxed agent execution |\n| `aps` | APS | none | Delegation-chain trust mapping | | ||
@@ -223,5 +223,5 @@ --- | ||
| ```bash | ||
| npx ts-node test-standalone.ts # 79 core tests | ||
| npx ts-node test-security.ts # 33 security tests | ||
| npx ts-node test-adapters.ts # 100+ adapter tests (all 14 frameworks) | ||
| npx ts-node test-standalone.ts # 88 core tests | ||
| npx ts-node test-security.ts # 34 security tests | ||
| npx ts-node test-adapters.ts # 176 adapter tests (all 17 frameworks) | ||
| npx ts-node test-cli.ts # 65 CLI tests | ||
@@ -236,3 +236,3 @@ ``` | ||
| npx ts-node setup.ts --check # Verify installation | ||
| npx ts-node setup.ts --list # List all 16 adapters | ||
| npx ts-node setup.ts --list # List all 17 adapters | ||
| npx ts-node setup.ts --example # Generate example.ts | ||
@@ -354,3 +354,4 @@ ``` | ||
| โโโ DSPyAdapter โโโ DSPy modules | ||
| โโโ AgnoAdapter โโโ Agno agents/teams | ||
| โโโ AgnoAdapter โโโ Agno agents/teams | ||
| โโโ APSAdapter โโโ APS delegation-chain trust | ||
| ``` | ||
@@ -576,3 +577,3 @@ | ||
| // All 16 adapters | ||
| // All 17 adapters | ||
| import { | ||
@@ -579,0 +580,0 @@ AdapterRegistry, BaseAdapter, |
+59
-17
@@ -8,6 +8,6 @@ # Network-AI | ||
| [](https://github.com/Jovancoding/Network-AI/actions/workflows/codeql.yml) | ||
| [](https://github.com/Jovancoding/Network-AI/releases) | ||
| [](https://github.com/Jovancoding/Network-AI/releases) | ||
| [](https://www.npmjs.com/package/network-ai) | ||
| [](#testing) | ||
| [](#adapter-system) | ||
| [](#testing) | ||
| [](#adapter-system) | ||
| [](LICENSE) | ||
@@ -22,2 +22,6 @@ [](https://socket.dev/npm/package/network-ai/overview) | ||
| <p align="center"> | ||
| <img src="assets/demo.svg" alt="Network-AI control-plane demo โ atomic blackboard, priority preemption, AuthGuardian, FSM governance" width="720"> | ||
| </p> | ||
| Network-AI is a TypeScript/Node.js multi-agent orchestrator that adds coordination, guardrails, and governance to any AI agent stack. | ||
@@ -27,3 +31,3 @@ | ||
| - **Guardrails and budgets** โ FSM governance, per-agent token ceilings, HMAC / Ed25519 audit trails, and permission gating | ||
| - **16 adapters** โ LangChain (+ streaming), AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, Custom (+ streaming), OpenClaw, A2A, Codex, MiniMax, and NemoClaw โ no glue code, no lock-in | ||
| - **17 adapters** โ LangChain (+ streaming), AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, Custom (+ streaming), OpenClaw, A2A, Codex, MiniMax, NemoClaw, and APS โ no glue code, no lock-in | ||
| - **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 | ||
@@ -45,9 +49,31 @@ | ||
| > **Try the control-plane stress test โ no API key, ~3 seconds:** | ||
| > ```bash | ||
| > npx ts-node examples/08-control-plane-stress-demo.ts | ||
| > ``` | ||
| > Runs priority preemption, AuthGuardian permission gating, FSM governance, and compliance | ||
| > monitoring against a live swarm. No external services required. | ||
| > | ||
| --- | ||
| ## โก Try in 60 Seconds | ||
| ```bash | ||
| npm install network-ai | ||
| ``` | ||
| ```typescript | ||
| import { LockedBlackboard } from 'network-ai'; | ||
| const board = new LockedBlackboard('.'); | ||
| const id = board.propose('status', { ready: true }, 'agent-1'); | ||
| board.validate(id, 'agent-1'); | ||
| board.commit(id); | ||
| console.log(board.read('status')); // { ready: true } | ||
| ``` | ||
| Two agents, atomic writes, no race conditions. That's it. | ||
| Want the full stress test? **No API key, ~3 seconds:** | ||
| ```bash | ||
| npx ts-node examples/08-control-plane-stress-demo.ts | ||
| ``` | ||
| Runs priority preemption, AuthGuardian permission gating, FSM governance, and compliance monitoring โ all without a single LLM call. | ||
| > If it saves you from a race condition, a โญ helps others find it. | ||
@@ -57,2 +83,17 @@ | ||
| ## What's Included | ||
| | | | | ||
| |---|---| | ||
| | โ Atomic shared state | `propose โ validate โ commit` with filesystem mutex โ no split-brain | | ||
| | โ Token budgets | Hard per-agent ceilings with live spend tracking | | ||
| | โ Permission gating | HMAC / Ed25519-signed tokens, scoped per agent and resource | | ||
| | โ Append-only audit log | Every write, grant, and transition signed and logged | | ||
| | โ 17 framework adapters | LangChain, CrewAI, AutoGen, MCP, Codex, APS, and 11 more โ zero lock-in | | ||
| | โ FSM governance | Hard-stop agents at state boundaries, timeout enforcement | | ||
| | โ Compliance monitoring | Real-time violation detection (tool abuse, turn-taking, timeouts) | | ||
| | โ TypeScript native | ES2022 strict mode, zero native dependencies | | ||
| --- | ||
| ## Why teams use Network-AI | ||
@@ -65,3 +106,3 @@ | ||
| | No visibility into what agents did | HMAC / Ed25519-signed audit log on every write, permission grant, and FSM transition | | ||
| | Locked into one AI framework | 16 adapters โ mix LangChain + AutoGen + CrewAI + Codex + MiniMax + NemoClaw + custom in one swarm | | ||
| | Locked into one AI framework | 17 adapters โ mix LangChain + AutoGen + CrewAI + Codex + MiniMax + NemoClaw + APS + custom in one swarm | | ||
| | Agents escalating beyond their scope | `AuthGuardian` โ scoped permission tokens required before sensitive operations | | ||
@@ -284,3 +325,3 @@ | Agents lack project context between runs | `ProjectContextManager` (Layer 3) โ inject decisions, goals, stack, and milestones into every system prompt | | ||
| 16 adapters, zero adapter dependencies. You bring your own SDK objects. | ||
| 17 adapters, zero adapter dependencies. You bring your own SDK objects. | ||
@@ -305,2 +346,3 @@ | Adapter | Framework / Protocol | Register method | | ||
| | `NemoClawAdapter` | NVIDIA NemoClaw (sandboxed agents via OpenShell) | `registerSandboxAgent(name, config)` | | ||
| | `APSAdapter` | Agent Permission Service (delegation-chain trust) | `apsDelegationToTrust(delegation)` | | ||
@@ -324,3 +366,3 @@ **Streaming variants** (drop-in replacements with `.stream()` support): | ||
| |---|---|---|---|---| | ||
| | 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 | | ||
| | Cross-framework agents in one swarm | โ 17 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 | | ||
| | 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 | | ||
@@ -341,3 +383,3 @@ | 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 | | ||
| npm run test:security # Security module | ||
| npm run test:adapters # All 16 adapters | ||
| npm run test:adapters # All 17 adapters | ||
| npm run test:streaming # Streaming adapters | ||
@@ -350,3 +392,3 @@ npm run test:a2a # A2A protocol adapter | ||
| **1,582 passing assertions across 20 test suites** (`npm run test:all`): | ||
| **1,617 passing assertions across 20 test suites** (`npm run test:all`): | ||
@@ -359,3 +401,3 @@ | Suite | Assertions | Covers | | ||
| | `test-phase6.ts` | 121 | MCP server, control-plane tools, audit tools | | ||
| | `test-adapters.ts` | 141 | All 16 adapters, registry routing, integration, edge cases | | ||
| | `test-adapters.ts` | 176 | All 17 adapters, registry routing, integration, edge cases | | ||
| | `test-phase5d.ts` | 117 | Pluggable backend (Redis, CRDT, Memory) | | ||
@@ -362,0 +404,0 @@ | `test-standalone.ts` | 88 | Blackboard, auth, integration, persistence, parallelisation, quality gate | |
+3
-3
| ๏ปฟ--- | ||
| name: Network-AI | ||
| 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, 16 adapters, CLI) are in the SEPARATE companion npm package (npm install -g network-ai) and are NOT part of this skill bundle." | ||
| 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, 17 adapters, CLI) are in the SEPARATE companion npm package (npm install -g network-ai) and are NOT part of this skill bundle." | ||
| metadata: | ||
@@ -8,3 +8,3 @@ openclaw: | ||
| homepage: https://github.com/Jovancoding/Network-AI | ||
| 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, 16 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." | ||
| 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, 17 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." | ||
| network_calls: none | ||
@@ -750,5 +750,5 @@ 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" | ||
| - A standalone MCP server for IDE integration (Claude, Cursor, VS Code) | ||
| - 16 framework adapters (LangChain, AutoGen, CrewAI, DSPy, LlamaIndex, NemoClaw, etc.) | ||
| - 17 framework adapters (LangChain, AutoGen, CrewAI, DSPy, LlamaIndex, NemoClaw, APS, etc.) | ||
| - A full CLI (`network-ai bb`, `network-ai auth`, `network-ai budget`, `network-ai audit`) | ||
| None of the above are provided by this skill's Python scripts. No network calls are made by this skill. |
Network access
Supply chain riskThis module accesses the network.
Found 3 instances in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 5 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 3 instances in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 5 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
1539548
1.78%202
2.02%24275
1.76%474
9.72%68
9.68%