@nxuss/lemma 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +311 -0
  3. package/dist/cloud/KeyManager.d.ts +29 -0
  4. package/dist/cloud/KeyManager.d.ts.map +1 -0
  5. package/dist/cloud/KeyManager.js +142 -0
  6. package/dist/cloud/KeyManager.js.map +1 -0
  7. package/dist/cloud/TenantCache.d.ts +29 -0
  8. package/dist/cloud/TenantCache.d.ts.map +1 -0
  9. package/dist/cloud/TenantCache.js +162 -0
  10. package/dist/cloud/TenantCache.js.map +1 -0
  11. package/dist/cloud/index.d.ts +4 -0
  12. package/dist/cloud/index.d.ts.map +1 -0
  13. package/dist/cloud/index.js +23 -0
  14. package/dist/cloud/index.js.map +1 -0
  15. package/dist/cloud/server.d.ts +17 -0
  16. package/dist/cloud/server.d.ts.map +1 -0
  17. package/dist/cloud/server.js +189 -0
  18. package/dist/cloud/server.js.map +1 -0
  19. package/dist/cloud/types.d.ts +35 -0
  20. package/dist/cloud/types.d.ts.map +1 -0
  21. package/dist/cloud/types.js +14 -0
  22. package/dist/cloud/types.js.map +1 -0
  23. package/dist/config/index.d.ts +44 -0
  24. package/dist/config/index.d.ts.map +1 -0
  25. package/dist/config/index.js +161 -0
  26. package/dist/config/index.js.map +1 -0
  27. package/dist/consensus/ConsensusEngine.d.ts +119 -0
  28. package/dist/consensus/ConsensusEngine.d.ts.map +1 -0
  29. package/dist/consensus/ConsensusEngine.js +314 -0
  30. package/dist/consensus/ConsensusEngine.js.map +1 -0
  31. package/dist/consensus/ModelPool.d.ts +103 -0
  32. package/dist/consensus/ModelPool.d.ts.map +1 -0
  33. package/dist/consensus/ModelPool.js +276 -0
  34. package/dist/consensus/ModelPool.js.map +1 -0
  35. package/dist/consensus/index.d.ts +8 -0
  36. package/dist/consensus/index.d.ts.map +1 -0
  37. package/dist/consensus/index.js +13 -0
  38. package/dist/consensus/index.js.map +1 -0
  39. package/dist/core/AgentRegistry.d.ts +89 -0
  40. package/dist/core/AgentRegistry.d.ts.map +1 -0
  41. package/dist/core/AgentRegistry.js +264 -0
  42. package/dist/core/AgentRegistry.js.map +1 -0
  43. package/dist/core/DashboardBroadcaster.d.ts +67 -0
  44. package/dist/core/DashboardBroadcaster.d.ts.map +1 -0
  45. package/dist/core/DashboardBroadcaster.js +264 -0
  46. package/dist/core/DashboardBroadcaster.js.map +1 -0
  47. package/dist/core/OrchestrationEngine.d.ts +84 -0
  48. package/dist/core/OrchestrationEngine.d.ts.map +1 -0
  49. package/dist/core/OrchestrationEngine.js +455 -0
  50. package/dist/core/OrchestrationEngine.js.map +1 -0
  51. package/dist/core/SubconsciousEngine.d.ts +53 -0
  52. package/dist/core/SubconsciousEngine.d.ts.map +1 -0
  53. package/dist/core/SubconsciousEngine.js +273 -0
  54. package/dist/core/SubconsciousEngine.js.map +1 -0
  55. package/dist/core/WebSocketServer.d.ts +89 -0
  56. package/dist/core/WebSocketServer.d.ts.map +1 -0
  57. package/dist/core/WebSocketServer.js +416 -0
  58. package/dist/core/WebSocketServer.js.map +1 -0
  59. package/dist/core/index.d.ts +15 -0
  60. package/dist/core/index.d.ts.map +1 -0
  61. package/dist/core/index.js +24 -0
  62. package/dist/core/index.js.map +1 -0
  63. package/dist/core/router.d.ts +105 -0
  64. package/dist/core/router.d.ts.map +1 -0
  65. package/dist/core/router.js +420 -0
  66. package/dist/core/router.js.map +1 -0
  67. package/dist/embed/index.d.ts +153 -0
  68. package/dist/embed/index.d.ts.map +1 -0
  69. package/dist/embed/index.js +408 -0
  70. package/dist/embed/index.js.map +1 -0
  71. package/dist/embed.d.ts +11 -0
  72. package/dist/embed.d.ts.map +1 -0
  73. package/dist/embed.js +19 -0
  74. package/dist/embed.js.map +1 -0
  75. package/dist/index.d.ts +83 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +176 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/protocol/flows.d.ts +126 -0
  80. package/dist/protocol/flows.d.ts.map +1 -0
  81. package/dist/protocol/flows.js +347 -0
  82. package/dist/protocol/flows.js.map +1 -0
  83. package/dist/protocol/iap.d.ts +54 -0
  84. package/dist/protocol/iap.d.ts.map +1 -0
  85. package/dist/protocol/iap.js +108 -0
  86. package/dist/protocol/iap.js.map +1 -0
  87. package/dist/protocol/index.d.ts +23 -0
  88. package/dist/protocol/index.d.ts.map +1 -0
  89. package/dist/protocol/index.js +45 -0
  90. package/dist/protocol/index.js.map +1 -0
  91. package/dist/protocol/types.d.ts +332 -0
  92. package/dist/protocol/types.d.ts.map +1 -0
  93. package/dist/protocol/types.js +57 -0
  94. package/dist/protocol/types.js.map +1 -0
  95. package/dist/protocol/utils.d.ts +130 -0
  96. package/dist/protocol/utils.d.ts.map +1 -0
  97. package/dist/protocol/utils.js +292 -0
  98. package/dist/protocol/utils.js.map +1 -0
  99. package/dist/protocol/validators.d.ts +54 -0
  100. package/dist/protocol/validators.d.ts.map +1 -0
  101. package/dist/protocol/validators.js +344 -0
  102. package/dist/protocol/validators.js.map +1 -0
  103. package/dist/security/AuthManager.d.ts +73 -0
  104. package/dist/security/AuthManager.d.ts.map +1 -0
  105. package/dist/security/AuthManager.js +102 -0
  106. package/dist/security/AuthManager.js.map +1 -0
  107. package/dist/security/MessageSanitizer.d.ts +51 -0
  108. package/dist/security/MessageSanitizer.d.ts.map +1 -0
  109. package/dist/security/MessageSanitizer.js +166 -0
  110. package/dist/security/MessageSanitizer.js.map +1 -0
  111. package/dist/security/RateLimiter.d.ts +46 -0
  112. package/dist/security/RateLimiter.d.ts.map +1 -0
  113. package/dist/security/RateLimiter.js +133 -0
  114. package/dist/security/RateLimiter.js.map +1 -0
  115. package/dist/security/SecurityMiddleware.d.ts +88 -0
  116. package/dist/security/SecurityMiddleware.d.ts.map +1 -0
  117. package/dist/security/SecurityMiddleware.js +146 -0
  118. package/dist/security/SecurityMiddleware.js.map +1 -0
  119. package/dist/security/index.d.ts +35 -0
  120. package/dist/security/index.d.ts.map +1 -0
  121. package/dist/security/index.js +42 -0
  122. package/dist/security/index.js.map +1 -0
  123. package/dist/speculative/PredictionEngine.d.ts +99 -0
  124. package/dist/speculative/PredictionEngine.d.ts.map +1 -0
  125. package/dist/speculative/PredictionEngine.js +291 -0
  126. package/dist/speculative/PredictionEngine.js.map +1 -0
  127. package/dist/speculative/SpeculativeCache.d.ts +117 -0
  128. package/dist/speculative/SpeculativeCache.d.ts.map +1 -0
  129. package/dist/speculative/SpeculativeCache.js +292 -0
  130. package/dist/speculative/SpeculativeCache.js.map +1 -0
  131. package/dist/speculative/SpeculativeEngine.d.ts +114 -0
  132. package/dist/speculative/SpeculativeEngine.d.ts.map +1 -0
  133. package/dist/speculative/SpeculativeEngine.js +244 -0
  134. package/dist/speculative/SpeculativeEngine.js.map +1 -0
  135. package/dist/speculative/WorkerPool.d.ts +109 -0
  136. package/dist/speculative/WorkerPool.d.ts.map +1 -0
  137. package/dist/speculative/WorkerPool.js +327 -0
  138. package/dist/speculative/WorkerPool.js.map +1 -0
  139. package/dist/speculative/index.d.ts +10 -0
  140. package/dist/speculative/index.d.ts.map +1 -0
  141. package/dist/speculative/index.js +17 -0
  142. package/dist/speculative/index.js.map +1 -0
  143. package/dist/subconscious/EmbeddingService.d.ts +73 -0
  144. package/dist/subconscious/EmbeddingService.d.ts.map +1 -0
  145. package/dist/subconscious/EmbeddingService.js +196 -0
  146. package/dist/subconscious/EmbeddingService.js.map +1 -0
  147. package/dist/subconscious/SemanticCache.d.ts +82 -0
  148. package/dist/subconscious/SemanticCache.d.ts.map +1 -0
  149. package/dist/subconscious/SemanticCache.js +164 -0
  150. package/dist/subconscious/SemanticCache.js.map +1 -0
  151. package/dist/subconscious/SubconsciousEngine.d.ts +121 -0
  152. package/dist/subconscious/SubconsciousEngine.d.ts.map +1 -0
  153. package/dist/subconscious/SubconsciousEngine.js +241 -0
  154. package/dist/subconscious/SubconsciousEngine.js.map +1 -0
  155. package/dist/subconscious/VectorStore.d.ts +54 -0
  156. package/dist/subconscious/VectorStore.d.ts.map +1 -0
  157. package/dist/subconscious/VectorStore.js +168 -0
  158. package/dist/subconscious/VectorStore.js.map +1 -0
  159. package/dist/subconscious/cache.d.ts +34 -0
  160. package/dist/subconscious/cache.d.ts.map +1 -0
  161. package/dist/subconscious/cache.js +156 -0
  162. package/dist/subconscious/cache.js.map +1 -0
  163. package/dist/subconscious/embeddings.d.ts +25 -0
  164. package/dist/subconscious/embeddings.d.ts.map +1 -0
  165. package/dist/subconscious/embeddings.js +65 -0
  166. package/dist/subconscious/embeddings.js.map +1 -0
  167. package/dist/subconscious/index.d.ts +12 -0
  168. package/dist/subconscious/index.d.ts.map +1 -0
  169. package/dist/subconscious/index.js +19 -0
  170. package/dist/subconscious/index.js.map +1 -0
  171. package/dist/types/index.d.ts +286 -0
  172. package/dist/types/index.d.ts.map +1 -0
  173. package/dist/types/index.js +43 -0
  174. package/dist/types/index.js.map +1 -0
  175. package/dist/utils/logger.d.ts +63 -0
  176. package/dist/utils/logger.d.ts.map +1 -0
  177. package/dist/utils/logger.js +126 -0
  178. package/dist/utils/logger.js.map +1 -0
  179. package/package.json +99 -0
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Model Pool - Shadow Consensus v3.0
3
+ *
4
+ * Manages connections to multiple AI models for consensus routing.
5
+ * Supports: Llama 3, Claude 3, GPT-4, Gemini, and other models.
6
+ *
7
+ * Features:
8
+ * - Multi-provider support
9
+ * - Load balancing
10
+ * - Health monitoring
11
+ * - Automatic failover
12
+ */
13
+ import { EventEmitter } from 'events';
14
+ export interface ModelConfig {
15
+ id: string;
16
+ name: string;
17
+ provider: 'ollama' | 'anthropic' | 'openai' | 'google';
18
+ endpoint: string;
19
+ apiKey?: string;
20
+ model: string;
21
+ maxTokens?: number;
22
+ temperature?: number;
23
+ enabled?: boolean;
24
+ }
25
+ export interface ModelInfo {
26
+ id: string;
27
+ name: string;
28
+ provider: string;
29
+ model: string;
30
+ status: 'online' | 'offline' | 'error';
31
+ lastHealthCheck: number;
32
+ requestCount: number;
33
+ errorCount: number;
34
+ averageLatency: number;
35
+ }
36
+ export interface QueryResponse {
37
+ text: string;
38
+ confidence?: number;
39
+ reasoning?: string;
40
+ model: string;
41
+ latency: number;
42
+ }
43
+ export interface ModelPoolConfig {
44
+ models: ModelConfig[];
45
+ healthCheckInterval?: number;
46
+ requestTimeout?: number;
47
+ }
48
+ export declare class ModelPool extends EventEmitter {
49
+ private config;
50
+ private models;
51
+ private modelInfo;
52
+ private healthCheckTimer?;
53
+ constructor(config: ModelPoolConfig);
54
+ /**
55
+ * Start the model pool
56
+ */
57
+ start(): Promise<void>;
58
+ /**
59
+ * Query a specific model
60
+ */
61
+ query(modelId: string, prompt: string): Promise<QueryResponse>;
62
+ /**
63
+ * Query Ollama model
64
+ */
65
+ private queryOllama;
66
+ /**
67
+ * Query Anthropic (Claude) model
68
+ */
69
+ private queryAnthropic;
70
+ /**
71
+ * Query OpenAI (GPT) model
72
+ */
73
+ private queryOpenAI;
74
+ /**
75
+ * Query Google (Gemini) model
76
+ */
77
+ private queryGoogle;
78
+ /**
79
+ * Select models for consensus
80
+ */
81
+ selectModels(minModels: number, maxModels: number): Promise<any[]>;
82
+ /**
83
+ * Health check all models
84
+ */
85
+ private healthCheckAll;
86
+ /**
87
+ * Health check a specific model
88
+ */
89
+ private healthCheck;
90
+ /**
91
+ * Get model info
92
+ */
93
+ getModelInfo(modelId: string): ModelInfo | undefined;
94
+ /**
95
+ * Get all models info
96
+ */
97
+ getAllModelsInfo(): ModelInfo[];
98
+ /**
99
+ * Stop the model pool
100
+ */
101
+ stop(): void;
102
+ }
103
+ //# sourceMappingURL=ModelPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelPool.d.ts","sourceRoot":"","sources":["../../src/consensus/ModelPool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAAiB;gBAE9B,MAAM,EAAE,eAAe;IA2BnC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC;;OAEG;IACU,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAqD3E;;OAEG;YACW,WAAW;IA6BzB;;OAEG;YACW,cAAc;IA+B5B;;OAEG;YACW,WAAW;IA8BzB;;OAEG;YACW,WAAW;IA+BzB;;OAEG;IACU,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAwB/E;;OAEG;YACW,cAAc;IAO5B;;OAEG;YACW,WAAW;IAgBzB;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI3D;;OAEG;IACI,gBAAgB,IAAI,SAAS,EAAE;IAItC;;OAEG;IACI,IAAI,IAAI,IAAI;CAOpB"}
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+ /**
3
+ * Model Pool - Shadow Consensus v3.0
4
+ *
5
+ * Manages connections to multiple AI models for consensus routing.
6
+ * Supports: Llama 3, Claude 3, GPT-4, Gemini, and other models.
7
+ *
8
+ * Features:
9
+ * - Multi-provider support
10
+ * - Load balancing
11
+ * - Health monitoring
12
+ * - Automatic failover
13
+ */
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ModelPool = void 0;
19
+ const events_1 = require("events");
20
+ const axios_1 = __importDefault(require("axios"));
21
+ class ModelPool extends events_1.EventEmitter {
22
+ constructor(config) {
23
+ super();
24
+ this.models = new Map();
25
+ this.modelInfo = new Map();
26
+ this.config = {
27
+ ...config,
28
+ healthCheckInterval: config.healthCheckInterval || 60000,
29
+ requestTimeout: config.requestTimeout || 30000,
30
+ };
31
+ // Initialize models
32
+ config.models.forEach((model) => {
33
+ if (model.enabled !== false) {
34
+ this.models.set(model.id, model);
35
+ this.modelInfo.set(model.id, {
36
+ id: model.id,
37
+ name: model.name,
38
+ provider: model.provider,
39
+ model: model.model,
40
+ status: 'offline',
41
+ lastHealthCheck: 0,
42
+ requestCount: 0,
43
+ errorCount: 0,
44
+ averageLatency: 0,
45
+ });
46
+ }
47
+ });
48
+ }
49
+ /**
50
+ * Start the model pool
51
+ */
52
+ async start() {
53
+ // Initial health check
54
+ await this.healthCheckAll();
55
+ // Start periodic health checks
56
+ this.healthCheckTimer = setInterval(() => {
57
+ this.healthCheckAll().catch((error) => {
58
+ this.emit('error', error);
59
+ });
60
+ }, this.config.healthCheckInterval);
61
+ this.emit('started');
62
+ }
63
+ /**
64
+ * Query a specific model
65
+ */
66
+ async query(modelId, prompt) {
67
+ const model = this.models.get(modelId);
68
+ if (!model) {
69
+ throw new Error(`Model not found: ${modelId}`);
70
+ }
71
+ const info = this.modelInfo.get(modelId);
72
+ const startTime = Date.now();
73
+ try {
74
+ let response;
75
+ switch (model.provider) {
76
+ case 'ollama':
77
+ response = await this.queryOllama(model, prompt);
78
+ break;
79
+ case 'anthropic':
80
+ response = await this.queryAnthropic(model, prompt);
81
+ break;
82
+ case 'openai':
83
+ response = await this.queryOpenAI(model, prompt);
84
+ break;
85
+ case 'google':
86
+ response = await this.queryGoogle(model, prompt);
87
+ break;
88
+ default:
89
+ throw new Error(`Unsupported provider: ${model.provider}`);
90
+ }
91
+ // Update stats
92
+ const latency = Date.now() - startTime;
93
+ info.requestCount++;
94
+ info.averageLatency =
95
+ (info.averageLatency * (info.requestCount - 1) + latency) /
96
+ info.requestCount;
97
+ info.status = 'online';
98
+ response.latency = latency;
99
+ response.model = model.model;
100
+ this.emit('query-success', { modelId, latency });
101
+ return response;
102
+ }
103
+ catch (error) {
104
+ info.errorCount++;
105
+ info.status = 'error';
106
+ this.emit('query-error', { modelId, error: error.message });
107
+ throw error;
108
+ }
109
+ }
110
+ /**
111
+ * Query Ollama model
112
+ */
113
+ async queryOllama(model, prompt) {
114
+ const response = await axios_1.default.post(`${model.endpoint}/api/generate`, {
115
+ model: model.model,
116
+ prompt,
117
+ stream: false,
118
+ options: {
119
+ temperature: model.temperature || 0.7,
120
+ num_predict: model.maxTokens || 1000,
121
+ },
122
+ }, {
123
+ timeout: this.config.requestTimeout,
124
+ });
125
+ return {
126
+ text: response.data.response,
127
+ confidence: 0.8, // Ollama doesn't provide confidence
128
+ reasoning: '',
129
+ model: model.model,
130
+ latency: 0,
131
+ };
132
+ }
133
+ /**
134
+ * Query Anthropic (Claude) model
135
+ */
136
+ async queryAnthropic(model, prompt) {
137
+ const response = await axios_1.default.post(`${model.endpoint}/v1/messages`, {
138
+ model: model.model,
139
+ max_tokens: model.maxTokens || 1000,
140
+ messages: [{ role: 'user', content: prompt }],
141
+ temperature: model.temperature || 0.7,
142
+ }, {
143
+ headers: {
144
+ 'x-api-key': model.apiKey,
145
+ 'anthropic-version': '2023-06-01',
146
+ 'content-type': 'application/json',
147
+ },
148
+ timeout: this.config.requestTimeout,
149
+ });
150
+ return {
151
+ text: response.data.content[0].text,
152
+ confidence: 0.85,
153
+ reasoning: '',
154
+ model: model.model,
155
+ latency: 0,
156
+ };
157
+ }
158
+ /**
159
+ * Query OpenAI (GPT) model
160
+ */
161
+ async queryOpenAI(model, prompt) {
162
+ const response = await axios_1.default.post(`${model.endpoint}/v1/chat/completions`, {
163
+ model: model.model,
164
+ messages: [{ role: 'user', content: prompt }],
165
+ max_tokens: model.maxTokens || 1000,
166
+ temperature: model.temperature || 0.7,
167
+ }, {
168
+ headers: {
169
+ Authorization: `Bearer ${model.apiKey}`,
170
+ 'Content-Type': 'application/json',
171
+ },
172
+ timeout: this.config.requestTimeout,
173
+ });
174
+ return {
175
+ text: response.data.choices[0].message.content,
176
+ confidence: 0.85,
177
+ reasoning: '',
178
+ model: model.model,
179
+ latency: 0,
180
+ };
181
+ }
182
+ /**
183
+ * Query Google (Gemini) model
184
+ */
185
+ async queryGoogle(model, prompt) {
186
+ const response = await axios_1.default.post(`${model.endpoint}/v1/models/${model.model}:generateContent`, {
187
+ contents: [{ parts: [{ text: prompt }] }],
188
+ generationConfig: {
189
+ temperature: model.temperature || 0.7,
190
+ maxOutputTokens: model.maxTokens || 1000,
191
+ },
192
+ }, {
193
+ headers: {
194
+ 'x-goog-api-key': model.apiKey,
195
+ 'Content-Type': 'application/json',
196
+ },
197
+ timeout: this.config.requestTimeout,
198
+ });
199
+ return {
200
+ text: response.data.candidates[0].content.parts[0].text,
201
+ confidence: 0.85,
202
+ reasoning: '',
203
+ model: model.model,
204
+ latency: 0,
205
+ };
206
+ }
207
+ /**
208
+ * Select models for consensus
209
+ */
210
+ async selectModels(minModels, maxModels) {
211
+ // Get online models
212
+ const onlineModels = Array.from(this.modelInfo.values()).filter((info) => info.status === 'online');
213
+ if (onlineModels.length < minModels) {
214
+ throw new Error(`Not enough online models: ${onlineModels.length} < ${minModels}`);
215
+ }
216
+ // Sort by performance (lower error rate, lower latency)
217
+ const sortedModels = onlineModels.sort((a, b) => {
218
+ const aScore = a.errorCount / (a.requestCount + 1) + a.averageLatency / 1000;
219
+ const bScore = b.errorCount / (b.requestCount + 1) + b.averageLatency / 1000;
220
+ return aScore - bScore;
221
+ });
222
+ // Select top models
223
+ const selectedCount = Math.min(maxModels, sortedModels.length);
224
+ return sortedModels.slice(0, selectedCount);
225
+ }
226
+ /**
227
+ * Health check all models
228
+ */
229
+ async healthCheckAll() {
230
+ const checks = Array.from(this.models.keys()).map((modelId) => this.healthCheck(modelId));
231
+ await Promise.allSettled(checks);
232
+ }
233
+ /**
234
+ * Health check a specific model
235
+ */
236
+ async healthCheck(modelId) {
237
+ const model = this.models.get(modelId);
238
+ const info = this.modelInfo.get(modelId);
239
+ if (!model || !info)
240
+ return;
241
+ try {
242
+ // Simple ping query
243
+ await this.query(modelId, 'Hello');
244
+ info.status = 'online';
245
+ info.lastHealthCheck = Date.now();
246
+ }
247
+ catch (error) {
248
+ info.status = 'offline';
249
+ info.lastHealthCheck = Date.now();
250
+ }
251
+ }
252
+ /**
253
+ * Get model info
254
+ */
255
+ getModelInfo(modelId) {
256
+ return this.modelInfo.get(modelId);
257
+ }
258
+ /**
259
+ * Get all models info
260
+ */
261
+ getAllModelsInfo() {
262
+ return Array.from(this.modelInfo.values());
263
+ }
264
+ /**
265
+ * Stop the model pool
266
+ */
267
+ stop() {
268
+ if (this.healthCheckTimer) {
269
+ clearInterval(this.healthCheckTimer);
270
+ this.healthCheckTimer = undefined;
271
+ }
272
+ this.emit('stopped');
273
+ }
274
+ }
275
+ exports.ModelPool = ModelPool;
276
+ //# sourceMappingURL=ModelPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelPool.js","sourceRoot":"","sources":["../../src/consensus/ModelPool.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;AAEH,mCAAsC;AACtC,kDAA0B;AAwC1B,MAAa,SAAU,SAAQ,qBAAY;IAMzC,YAAY,MAAuB;QACjC,KAAK,EAAE,CAAC;QALF,WAAM,GAA6B,IAAI,GAAG,EAAE,CAAC;QAC7C,cAAS,GAA2B,IAAI,GAAG,EAAE,CAAC;QAKpD,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,MAAM;YACT,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,KAAK;YACxD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;SAC/C,CAAC;QAEF,oBAAoB;QACpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;oBAC3B,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,SAAS;oBACjB,eAAe,EAAE,CAAC;oBAClB,YAAY,EAAE,CAAC;oBACf,UAAU,EAAE,CAAC;oBACb,cAAc,EAAE,CAAC;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,uBAAuB;QACvB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,+BAA+B;QAC/B,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK,CAAC,OAAe,EAAE,MAAc;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,IAAI,QAAuB,CAAC;YAE5B,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACvB,KAAK,QAAQ;oBACX,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,WAAW;oBACd,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACpD,MAAM;gBACR,KAAK,QAAQ;oBACX,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,QAAQ;oBACX,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACjD,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,eAAe;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,cAAc;gBACjB,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;oBACzD,IAAI,CAAC,YAAY,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YAEvB,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAE7B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAEjD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAE5D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,KAAkB,EAClB,MAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,GAAG,KAAK,CAAC,QAAQ,eAAe,EAChC;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM;YACN,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;gBACrC,WAAW,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;aACrC;SACF,EACD;YACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;YAC5B,UAAU,EAAE,GAAG,EAAE,oCAAoC;YACrD,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,CAAC;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,KAAkB,EAClB,MAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,GAAG,KAAK,CAAC,QAAQ,cAAc,EAC/B;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YACnC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;SACtC,EACD;YACE,OAAO,EAAE;gBACP,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,mBAAmB,EAAE,YAAY;gBACjC,cAAc,EAAE,kBAAkB;aACnC;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YACnC,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,CAAC;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,KAAkB,EAClB,MAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,GAAG,KAAK,CAAC,QAAQ,sBAAsB,EACvC;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YACnC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;SACtC,EACD;YACE,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,CAAC,MAAM,EAAE;gBACvC,cAAc,EAAE,kBAAkB;aACnC;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;YAC9C,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,CAAC;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,KAAkB,EAClB,MAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,GAAG,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,KAAK,kBAAkB,EAC5D;YACE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACzC,gBAAgB,EAAE;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG;gBACrC,eAAe,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;aACzC;SACF,EACD;YACE,OAAO,EAAE;gBACP,gBAAgB,EAAE,KAAK,CAAC,MAAM;gBAC9B,cAAc,EAAE,kBAAkB;aACnC;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACpC,CACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YACvD,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,CAAC;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,SAAiB;QAC5D,oBAAoB;QACpB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CACnC,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,6BAA6B,YAAY,CAAC,MAAM,MAAM,SAAS,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7E,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7E,OAAO,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAC1B,CAAC;QACF,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,OAAe;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO;QAE5B,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,OAAe;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,IAAI;QACT,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;CACF;AA/TD,8BA+TC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Consensus Module - Shadow Consensus v3.0
3
+ *
4
+ * Exports all consensus components for Phase 3.
5
+ */
6
+ export { ConsensusEngine, ConsensusRequest, ModelResponse, DebateRound, ConsensusResult, ConsensusEngineConfig, ConsensusMetrics, } from './ConsensusEngine';
7
+ export { ModelPool, ModelConfig, ModelInfo, QueryResponse, ModelPoolConfig, } from './ModelPool';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/consensus/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,eAAe,GAChB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * Consensus Module - Shadow Consensus v3.0
4
+ *
5
+ * Exports all consensus components for Phase 3.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ModelPool = exports.ConsensusEngine = void 0;
9
+ var ConsensusEngine_1 = require("./ConsensusEngine");
10
+ Object.defineProperty(exports, "ConsensusEngine", { enumerable: true, get: function () { return ConsensusEngine_1.ConsensusEngine; } });
11
+ var ModelPool_1 = require("./ModelPool");
12
+ Object.defineProperty(exports, "ModelPool", { enumerable: true, get: function () { return ModelPool_1.ModelPool; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consensus/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qDAQ2B;AAPzB,kHAAA,eAAe,OAAA;AASjB,yCAMqB;AALnB,sGAAA,SAAS,OAAA"}
@@ -0,0 +1,89 @@
1
+ import { EventEmitter } from 'events';
2
+ import { AgentInfo, AgentStatus, AgentCapability, AgentMetrics } from '../types';
3
+ /**
4
+ * Dynamic registry for tracking connected agents and their capabilities
5
+ * Maintains agent state, metrics, and capability discovery
6
+ */
7
+ export declare class AgentRegistry extends EventEmitter {
8
+ private agents;
9
+ private capabilityIndex;
10
+ private metricsInterval;
11
+ constructor();
12
+ /**
13
+ * Register a new agent
14
+ */
15
+ registerAgent(agentId: string, connectionId: string, capabilities: AgentCapability[], metadata?: Record<string, any>): AgentInfo;
16
+ /**
17
+ * Unregister an agent (on disconnect)
18
+ */
19
+ unregisterAgent(agentId: string): boolean;
20
+ /**
21
+ * Get agent information
22
+ */
23
+ getAgent(agentId: string): AgentInfo | undefined;
24
+ /**
25
+ * Get all registered agents
26
+ */
27
+ getAllAgents(): AgentInfo[];
28
+ /**
29
+ * Get online agents only
30
+ */
31
+ getOnlineAgents(): AgentInfo[];
32
+ /**
33
+ * Find agents by capability
34
+ */
35
+ findAgentsByCapability(capabilityName: string): AgentInfo[];
36
+ /**
37
+ * Find agents by multiple capabilities (AND logic)
38
+ */
39
+ findAgentsByCapabilities(capabilityNames: string[]): AgentInfo[];
40
+ /**
41
+ * Find best agent for a task based on capabilities and load
42
+ */
43
+ findBestAgent(requiredCapabilities: string[]): AgentInfo | null;
44
+ /**
45
+ * Update agent status
46
+ */
47
+ updateAgentStatus(agentId: string, status: AgentStatus): boolean;
48
+ /**
49
+ * Update agent metrics
50
+ */
51
+ updateAgentMetrics(agentId: string, metrics: Partial<AgentMetrics>): boolean;
52
+ /**
53
+ * Record task start for an agent
54
+ */
55
+ recordTaskStart(agentId: string): boolean;
56
+ /**
57
+ * Record task completion for an agent
58
+ */
59
+ recordTaskCompletion(agentId: string, responseTime: number, success: boolean): boolean;
60
+ /**
61
+ * Get all available capabilities across all agents
62
+ */
63
+ getAllCapabilities(): string[];
64
+ /**
65
+ * Get registry statistics
66
+ */
67
+ getStats(): {
68
+ totalAgents: number;
69
+ onlineAgents: number;
70
+ offlineAgents: number;
71
+ totalCapabilities: number;
72
+ totalTasksInProgress: number;
73
+ totalTasksCompleted: number;
74
+ totalTasksFailed: number;
75
+ };
76
+ /**
77
+ * Start periodic metrics collection
78
+ */
79
+ private startMetricsCollection;
80
+ /**
81
+ * Stop metrics collection
82
+ */
83
+ stop(): void;
84
+ /**
85
+ * Clear all agents (for testing/reset)
86
+ */
87
+ clear(): void;
88
+ }
89
+ //# sourceMappingURL=AgentRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentRegistry.d.ts","sourceRoot":"","sources":["../../src/core/AgentRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEjF;;;GAGG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,eAAe,CAA+B;;IAOtD;;OAEG;IACI,aAAa,CAClB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,eAAe,EAAE,EAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,SAAS;IA0CZ;;OAEG;IACI,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IA2BhD;;OAEG;IACI,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIvD;;OAEG;IACI,YAAY,IAAI,SAAS,EAAE;IAIlC;;OAEG;IACI,eAAe,IAAI,SAAS,EAAE;IAMrC;;OAEG;IACI,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,EAAE;IAalE;;OAEG;IACI,wBAAwB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE;IAoBvE;;OAEG;IACI,aAAa,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI;IAkBtE;;OAEG;IACI,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO;IAiBvE;;OAEG;IACI,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO;IAkBnF;;OAEG;IACI,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAYhD;;OAEG;IACI,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAsB7F;;OAEG;IACI,kBAAkB,IAAI,MAAM,EAAE;IAIrC;;OAEG;IACI,QAAQ;;;;;;;;;IAef;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;OAEG;IACI,IAAI,IAAI,IAAI;IAOnB;;OAEG;IACI,KAAK,IAAI,IAAI;CAIrB"}