claude-flow 2.0.0-alpha.65 → 2.0.0-alpha.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/cache/agent-pool.json +33 -0
- package/.claude/cache/memory-optimization.json +19 -0
- package/.claude/cache/neural-optimization.json +25 -0
- package/.claude/cache/optimized-hooks.json +19 -0
- package/.claude/cache/parallel-processing.json +26 -0
- package/.claude/optimized-settings.json +270 -0
- package/.claude/settings-enhanced.json +278 -0
- package/.claude/settings.json +105 -8
- package/CHANGELOG.md +40 -0
- package/bin/claude-flow +1 -1
- package/dist/cli/simple-commands/hive-mind.js +1 -1
- package/dist/cli/simple-commands/hive-mind.js.map +1 -1
- package/dist/cli/simple-commands/hooks.js +6 -4
- package/dist/cli/simple-commands/hooks.js.map +1 -1
- package/dist/providers/anthropic-provider.d.ts +27 -0
- package/dist/providers/anthropic-provider.d.ts.map +1 -0
- package/dist/providers/anthropic-provider.js +247 -0
- package/dist/providers/anthropic-provider.js.map +1 -0
- package/dist/providers/base-provider.d.ts +134 -0
- package/dist/providers/base-provider.d.ts.map +1 -0
- package/dist/providers/base-provider.js +407 -0
- package/dist/providers/base-provider.js.map +1 -0
- package/dist/providers/cohere-provider.d.ts +28 -0
- package/dist/providers/cohere-provider.d.ts.map +1 -0
- package/dist/providers/cohere-provider.js +407 -0
- package/dist/providers/cohere-provider.js.map +1 -0
- package/dist/providers/google-provider.d.ts +23 -0
- package/dist/providers/google-provider.d.ts.map +1 -0
- package/dist/providers/google-provider.js +362 -0
- package/dist/providers/google-provider.js.map +1 -0
- package/dist/providers/index.d.ts +14 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +18 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/ollama-provider.d.ts +23 -0
- package/dist/providers/ollama-provider.d.ts.map +1 -0
- package/dist/providers/ollama-provider.js +374 -0
- package/dist/providers/ollama-provider.js.map +1 -0
- package/dist/providers/openai-provider.d.ts +23 -0
- package/dist/providers/openai-provider.d.ts.map +1 -0
- package/dist/providers/openai-provider.js +349 -0
- package/dist/providers/openai-provider.js.map +1 -0
- package/dist/providers/provider-manager.d.ts +139 -0
- package/dist/providers/provider-manager.d.ts.map +1 -0
- package/dist/providers/provider-manager.js +513 -0
- package/dist/providers/provider-manager.js.map +1 -0
- package/dist/providers/types.d.ts +356 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +61 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/providers/utils.d.ts +37 -0
- package/dist/providers/utils.d.ts.map +1 -0
- package/dist/providers/utils.js +322 -0
- package/dist/providers/utils.js.map +1 -0
- package/dist/services/agentic-flow-hooks/hook-manager.d.ts +70 -0
- package/dist/services/agentic-flow-hooks/hook-manager.d.ts.map +1 -0
- package/dist/services/agentic-flow-hooks/hook-manager.js +512 -0
- package/dist/services/agentic-flow-hooks/hook-manager.js.map +1 -0
- package/dist/services/agentic-flow-hooks/index.d.ts +36 -0
- package/dist/services/agentic-flow-hooks/index.d.ts.map +1 -0
- package/dist/services/agentic-flow-hooks/index.js +325 -0
- package/dist/services/agentic-flow-hooks/index.js.map +1 -0
- package/dist/services/agentic-flow-hooks/llm-hooks.d.ts +33 -0
- package/dist/services/agentic-flow-hooks/llm-hooks.d.ts.map +1 -0
- package/dist/services/agentic-flow-hooks/llm-hooks.js +415 -0
- package/dist/services/agentic-flow-hooks/llm-hooks.js.map +1 -0
- package/dist/services/agentic-flow-hooks/memory-hooks.d.ts +45 -0
- package/dist/services/agentic-flow-hooks/memory-hooks.d.ts.map +1 -0
- package/dist/services/agentic-flow-hooks/memory-hooks.js +532 -0
- package/dist/services/agentic-flow-hooks/memory-hooks.js.map +1 -0
- package/dist/services/agentic-flow-hooks/neural-hooks.d.ts +39 -0
- package/dist/services/agentic-flow-hooks/neural-hooks.d.ts.map +1 -0
- package/dist/services/agentic-flow-hooks/neural-hooks.js +561 -0
- package/dist/services/agentic-flow-hooks/neural-hooks.js.map +1 -0
- package/dist/services/agentic-flow-hooks/performance-hooks.d.ts +33 -0
- package/dist/services/agentic-flow-hooks/performance-hooks.d.ts.map +1 -0
- package/dist/services/agentic-flow-hooks/performance-hooks.js +621 -0
- package/dist/services/agentic-flow-hooks/performance-hooks.js.map +1 -0
- package/dist/services/agentic-flow-hooks/types.d.ts +379 -0
- package/dist/services/agentic-flow-hooks/types.d.ts.map +1 -0
- package/dist/services/agentic-flow-hooks/types.js +8 -0
- package/dist/services/agentic-flow-hooks/types.js.map +1 -0
- package/dist/services/agentic-flow-hooks/workflow-hooks.d.ts +39 -0
- package/dist/services/agentic-flow-hooks/workflow-hooks.d.ts.map +1 -0
- package/dist/services/agentic-flow-hooks/workflow-hooks.js +742 -0
- package/dist/services/agentic-flow-hooks/workflow-hooks.js.map +1 -0
- package/package.json +2 -2
- package/scripts/install-arm64.js +78 -0
- package/scripts/optimize-performance.js +400 -0
- package/scripts/performance-monitor.js +263 -0
- package/src/cli/help-text.js +1 -1
- package/src/cli/simple-cli.js +1 -1
- package/src/cli/simple-commands/hive-mind.js +1 -1
- package/src/cli/simple-commands/hooks.js +8 -6
- package/src/providers/anthropic-provider.ts +282 -0
- package/src/providers/base-provider.ts +560 -0
- package/src/providers/cohere-provider.ts +521 -0
- package/src/providers/google-provider.ts +477 -0
- package/src/providers/index.ts +21 -0
- package/src/providers/ollama-provider.ts +489 -0
- package/src/providers/openai-provider.ts +476 -0
- package/src/providers/provider-manager.ts +654 -0
- package/src/providers/types.ts +531 -0
- package/src/providers/utils.ts +376 -0
- package/src/services/agentic-flow-hooks/hook-manager.ts +701 -0
- package/src/services/agentic-flow-hooks/index.ts +386 -0
- package/src/services/agentic-flow-hooks/llm-hooks.ts +557 -0
- package/src/services/agentic-flow-hooks/memory-hooks.ts +710 -0
- package/src/services/agentic-flow-hooks/neural-hooks.ts +758 -0
- package/src/services/agentic-flow-hooks/performance-hooks.ts +827 -0
- package/src/services/agentic-flow-hooks/types.ts +503 -0
- package/src/services/agentic-flow-hooks/workflow-hooks.ts +1026 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for multi-LLM provider system
|
|
3
|
+
*/
|
|
4
|
+
import { ProviderManager } from './provider-manager.js';
|
|
5
|
+
/**
|
|
6
|
+
* Create a provider manager with default configuration
|
|
7
|
+
*/
|
|
8
|
+
export function createProviderManager(logger, configManager, customConfig) {
|
|
9
|
+
const defaultConfig = getDefaultProviderConfig();
|
|
10
|
+
const config = { ...defaultConfig, ...customConfig };
|
|
11
|
+
// Load provider configs from environment
|
|
12
|
+
config.providers = loadProviderConfigs(config.providers);
|
|
13
|
+
return new ProviderManager(logger, configManager, config);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get default provider configuration
|
|
17
|
+
*/
|
|
18
|
+
export function getDefaultProviderConfig() {
|
|
19
|
+
const defaultProvider = process.env.DEFAULT_LLM_PROVIDER || 'anthropic';
|
|
20
|
+
return {
|
|
21
|
+
defaultProvider,
|
|
22
|
+
providers: {
|
|
23
|
+
anthropic: {
|
|
24
|
+
provider: 'anthropic',
|
|
25
|
+
apiKey: process.env.ANTHROPIC_API_KEY,
|
|
26
|
+
model: 'claude-3-sonnet-20240229',
|
|
27
|
+
temperature: 0.7,
|
|
28
|
+
maxTokens: 4096,
|
|
29
|
+
enableStreaming: true,
|
|
30
|
+
enableCaching: true,
|
|
31
|
+
timeout: 60000,
|
|
32
|
+
retryAttempts: 3,
|
|
33
|
+
},
|
|
34
|
+
openai: {
|
|
35
|
+
provider: 'openai',
|
|
36
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
37
|
+
model: 'gpt-4-turbo-preview',
|
|
38
|
+
temperature: 0.7,
|
|
39
|
+
maxTokens: 4096,
|
|
40
|
+
enableStreaming: true,
|
|
41
|
+
enableCaching: true,
|
|
42
|
+
timeout: 60000,
|
|
43
|
+
retryAttempts: 3,
|
|
44
|
+
},
|
|
45
|
+
google: {
|
|
46
|
+
provider: 'google',
|
|
47
|
+
apiKey: process.env.GOOGLE_AI_API_KEY,
|
|
48
|
+
model: 'gemini-pro',
|
|
49
|
+
temperature: 0.7,
|
|
50
|
+
maxTokens: 2048,
|
|
51
|
+
enableStreaming: true,
|
|
52
|
+
enableCaching: true,
|
|
53
|
+
timeout: 60000,
|
|
54
|
+
retryAttempts: 3,
|
|
55
|
+
},
|
|
56
|
+
cohere: {
|
|
57
|
+
provider: 'cohere',
|
|
58
|
+
apiKey: process.env.COHERE_API_KEY,
|
|
59
|
+
model: 'command',
|
|
60
|
+
temperature: 0.7,
|
|
61
|
+
maxTokens: 4096,
|
|
62
|
+
enableStreaming: true,
|
|
63
|
+
enableCaching: true,
|
|
64
|
+
timeout: 60000,
|
|
65
|
+
retryAttempts: 3,
|
|
66
|
+
},
|
|
67
|
+
ollama: {
|
|
68
|
+
provider: 'ollama',
|
|
69
|
+
apiUrl: process.env.OLLAMA_API_URL || 'http://localhost:11434',
|
|
70
|
+
model: 'llama-2-7b',
|
|
71
|
+
temperature: 0.7,
|
|
72
|
+
maxTokens: 2048,
|
|
73
|
+
enableStreaming: true,
|
|
74
|
+
enableCaching: false,
|
|
75
|
+
timeout: 120000, // Longer timeout for local models
|
|
76
|
+
retryAttempts: 2,
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
fallbackStrategy: getDefaultFallbackStrategy(),
|
|
80
|
+
loadBalancing: {
|
|
81
|
+
enabled: false,
|
|
82
|
+
strategy: 'round-robin',
|
|
83
|
+
},
|
|
84
|
+
costOptimization: {
|
|
85
|
+
enabled: true,
|
|
86
|
+
maxCostPerRequest: 1.0, // $1 max per request
|
|
87
|
+
preferredProviders: ['anthropic', 'openai'],
|
|
88
|
+
},
|
|
89
|
+
caching: {
|
|
90
|
+
enabled: true,
|
|
91
|
+
ttl: 3600, // 1 hour
|
|
92
|
+
maxSize: 100, // 100MB
|
|
93
|
+
strategy: 'lru',
|
|
94
|
+
},
|
|
95
|
+
monitoring: {
|
|
96
|
+
enabled: true,
|
|
97
|
+
metricsInterval: 60000, // 1 minute
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get default fallback strategy
|
|
103
|
+
*/
|
|
104
|
+
function getDefaultFallbackStrategy() {
|
|
105
|
+
return {
|
|
106
|
+
name: 'default',
|
|
107
|
+
enabled: true,
|
|
108
|
+
maxAttempts: 3,
|
|
109
|
+
rules: [
|
|
110
|
+
{
|
|
111
|
+
condition: 'rate_limit',
|
|
112
|
+
fallbackProviders: ['openai', 'google', 'cohere', 'ollama'],
|
|
113
|
+
retryOriginal: true,
|
|
114
|
+
retryDelay: 60000, // 1 minute
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
condition: 'unavailable',
|
|
118
|
+
fallbackProviders: ['openai', 'google', 'anthropic', 'cohere'],
|
|
119
|
+
retryOriginal: true,
|
|
120
|
+
retryDelay: 30000, // 30 seconds
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
condition: 'timeout',
|
|
124
|
+
fallbackProviders: ['anthropic', 'openai', 'cohere'],
|
|
125
|
+
retryOriginal: false,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
condition: 'cost',
|
|
129
|
+
fallbackProviders: ['ollama', 'cohere', 'google'],
|
|
130
|
+
retryOriginal: false,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
condition: 'error',
|
|
134
|
+
errorCodes: ['AUTHENTICATION', 'MODEL_NOT_FOUND'],
|
|
135
|
+
fallbackProviders: [],
|
|
136
|
+
retryOriginal: false, // Don't retry auth errors
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Load provider configurations from environment variables
|
|
143
|
+
*/
|
|
144
|
+
function loadProviderConfigs(configs) {
|
|
145
|
+
const loaded = { ...configs };
|
|
146
|
+
// Override with environment variables if present
|
|
147
|
+
for (const [provider, config] of Object.entries(loaded)) {
|
|
148
|
+
const envPrefix = `${provider.toUpperCase()}_`;
|
|
149
|
+
// Check for provider-specific overrides
|
|
150
|
+
if (process.env[`${envPrefix}MODEL`]) {
|
|
151
|
+
config.model = process.env[`${envPrefix}MODEL`];
|
|
152
|
+
}
|
|
153
|
+
if (process.env[`${envPrefix}TEMPERATURE`]) {
|
|
154
|
+
config.temperature = parseFloat(process.env[`${envPrefix}TEMPERATURE`]);
|
|
155
|
+
}
|
|
156
|
+
if (process.env[`${envPrefix}MAX_TOKENS`]) {
|
|
157
|
+
config.maxTokens = parseInt(process.env[`${envPrefix}MAX_TOKENS`], 10);
|
|
158
|
+
}
|
|
159
|
+
if (process.env[`${envPrefix}API_URL`]) {
|
|
160
|
+
config.apiUrl = process.env[`${envPrefix}API_URL`];
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return loaded;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Validate provider configuration
|
|
167
|
+
*/
|
|
168
|
+
export function validateProviderConfig(config) {
|
|
169
|
+
const errors = [];
|
|
170
|
+
if (!config.provider) {
|
|
171
|
+
errors.push('Provider name is required');
|
|
172
|
+
}
|
|
173
|
+
if (!config.model) {
|
|
174
|
+
errors.push('Model is required');
|
|
175
|
+
}
|
|
176
|
+
if (config.temperature !== undefined) {
|
|
177
|
+
if (config.temperature < 0 || config.temperature > 2) {
|
|
178
|
+
errors.push('Temperature must be between 0 and 2');
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
if (config.maxTokens !== undefined) {
|
|
182
|
+
if (config.maxTokens < 1 || config.maxTokens > 100000) {
|
|
183
|
+
errors.push('Max tokens must be between 1 and 100000');
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (config.topP !== undefined) {
|
|
187
|
+
if (config.topP < 0 || config.topP > 1) {
|
|
188
|
+
errors.push('Top-p must be between 0 and 1');
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
if (config.timeout !== undefined) {
|
|
192
|
+
if (config.timeout < 1000 || config.timeout > 600000) {
|
|
193
|
+
errors.push('Timeout must be between 1000ms and 600000ms');
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return errors;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Get model recommendations based on use case
|
|
200
|
+
*/
|
|
201
|
+
export function getModelRecommendations(useCase) {
|
|
202
|
+
const recommendations = {
|
|
203
|
+
'code-generation': [
|
|
204
|
+
{
|
|
205
|
+
provider: 'anthropic',
|
|
206
|
+
model: 'claude-3-opus-20240229',
|
|
207
|
+
reasoning: 'Best for complex code generation with high accuracy',
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
provider: 'openai',
|
|
211
|
+
model: 'gpt-4-turbo-preview',
|
|
212
|
+
reasoning: 'Excellent code generation with function calling support',
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
'chat': [
|
|
216
|
+
{
|
|
217
|
+
provider: 'anthropic',
|
|
218
|
+
model: 'claude-3-sonnet-20240229',
|
|
219
|
+
reasoning: 'Balanced performance for conversational AI',
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
provider: 'openai',
|
|
223
|
+
model: 'gpt-3.5-turbo',
|
|
224
|
+
reasoning: 'Fast and cost-effective for chat applications',
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
'analysis': [
|
|
228
|
+
{
|
|
229
|
+
provider: 'anthropic',
|
|
230
|
+
model: 'claude-3-opus-20240229',
|
|
231
|
+
reasoning: 'Excellent for deep analysis and reasoning',
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
provider: 'google',
|
|
235
|
+
model: 'gemini-pro',
|
|
236
|
+
reasoning: 'Good for data analysis with multimodal support',
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
'local': [
|
|
240
|
+
{
|
|
241
|
+
provider: 'ollama',
|
|
242
|
+
model: 'llama-2-13b',
|
|
243
|
+
reasoning: 'Good balance of performance and resource usage for local deployment',
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
provider: 'ollama',
|
|
247
|
+
model: 'mistral-7b',
|
|
248
|
+
reasoning: 'Fast local model with good performance',
|
|
249
|
+
},
|
|
250
|
+
],
|
|
251
|
+
'budget': [
|
|
252
|
+
{
|
|
253
|
+
provider: 'ollama',
|
|
254
|
+
model: 'llama-2-7b',
|
|
255
|
+
reasoning: 'Free local model with no API costs',
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
provider: 'google',
|
|
259
|
+
model: 'gemini-pro',
|
|
260
|
+
reasoning: 'Very cost-effective cloud model',
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
};
|
|
264
|
+
return recommendations[useCase] || recommendations['chat'];
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Calculate estimated monthly cost based on usage
|
|
268
|
+
*/
|
|
269
|
+
export function estimateMonthlyCost(provider, model, estimatedRequests, avgTokensPerRequest) {
|
|
270
|
+
// Get pricing from provider capabilities
|
|
271
|
+
// This is a simplified calculation
|
|
272
|
+
const pricing = getPricing(provider, model);
|
|
273
|
+
if (!pricing) {
|
|
274
|
+
return {
|
|
275
|
+
promptCost: 0,
|
|
276
|
+
completionCost: 0,
|
|
277
|
+
totalCost: 0,
|
|
278
|
+
currency: 'USD',
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
const promptTokens = avgTokensPerRequest * 0.7; // Assume 70% prompt
|
|
282
|
+
const completionTokens = avgTokensPerRequest * 0.3; // Assume 30% completion
|
|
283
|
+
const promptCost = (promptTokens * estimatedRequests / 1000) * pricing.promptCostPer1k;
|
|
284
|
+
const completionCost = (completionTokens * estimatedRequests / 1000) * pricing.completionCostPer1k;
|
|
285
|
+
return {
|
|
286
|
+
promptCost,
|
|
287
|
+
completionCost,
|
|
288
|
+
totalCost: promptCost + completionCost,
|
|
289
|
+
currency: pricing.currency,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Get pricing for a specific provider and model
|
|
294
|
+
*/
|
|
295
|
+
function getPricing(provider, model) {
|
|
296
|
+
// This would typically come from provider capabilities
|
|
297
|
+
// Simplified for example
|
|
298
|
+
const pricingData = {
|
|
299
|
+
'anthropic:claude-3-opus-20240229': {
|
|
300
|
+
promptCostPer1k: 0.015,
|
|
301
|
+
completionCostPer1k: 0.075,
|
|
302
|
+
currency: 'USD',
|
|
303
|
+
},
|
|
304
|
+
'openai:gpt-4-turbo-preview': {
|
|
305
|
+
promptCostPer1k: 0.01,
|
|
306
|
+
completionCostPer1k: 0.03,
|
|
307
|
+
currency: 'USD',
|
|
308
|
+
},
|
|
309
|
+
'google:gemini-pro': {
|
|
310
|
+
promptCostPer1k: 0.00025,
|
|
311
|
+
completionCostPer1k: 0.0005,
|
|
312
|
+
currency: 'USD',
|
|
313
|
+
},
|
|
314
|
+
'ollama:llama-2-7b': {
|
|
315
|
+
promptCostPer1k: 0,
|
|
316
|
+
completionCostPer1k: 0,
|
|
317
|
+
currency: 'USD',
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
return pricingData[`${provider}:${model}`] || null;
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/providers/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic Flow Hook Manager
|
|
3
|
+
*
|
|
4
|
+
* Central manager for all agentic-flow hooks, providing registration,
|
|
5
|
+
* execution, and lifecycle management.
|
|
6
|
+
*/
|
|
7
|
+
import { EventEmitter } from 'events';
|
|
8
|
+
import type { AgenticHookContext, AgenticHookType, HookFilter, HookHandlerResult, HookPayload, HookPipeline, HookRegistration, HookRegistry } from './types.js';
|
|
9
|
+
export declare class AgenticHookManager extends EventEmitter implements HookRegistry {
|
|
10
|
+
private hooks;
|
|
11
|
+
private pipelines;
|
|
12
|
+
private metrics;
|
|
13
|
+
private activeExecutions;
|
|
14
|
+
constructor();
|
|
15
|
+
/**
|
|
16
|
+
* Register a new hook
|
|
17
|
+
*/
|
|
18
|
+
register(registration: HookRegistration): void;
|
|
19
|
+
/**
|
|
20
|
+
* Unregister a hook
|
|
21
|
+
*/
|
|
22
|
+
unregister(id: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Get hooks by type with optional filtering
|
|
25
|
+
*/
|
|
26
|
+
getHooks(type: AgenticHookType, filter?: HookFilter): HookRegistration[];
|
|
27
|
+
/**
|
|
28
|
+
* Execute hooks for a given type
|
|
29
|
+
*/
|
|
30
|
+
executeHooks(type: AgenticHookType, payload: HookPayload, context: AgenticHookContext): Promise<HookHandlerResult[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Create a new hook pipeline
|
|
33
|
+
*/
|
|
34
|
+
createPipeline(config: Partial<HookPipeline>): HookPipeline;
|
|
35
|
+
/**
|
|
36
|
+
* Execute a pipeline
|
|
37
|
+
*/
|
|
38
|
+
executePipeline(pipelineId: string, initialPayload: HookPayload, context: AgenticHookContext): Promise<HookHandlerResult[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Get current metrics
|
|
41
|
+
*/
|
|
42
|
+
getMetrics(): Record<string, any>;
|
|
43
|
+
private validateRegistration;
|
|
44
|
+
private matchesFilter;
|
|
45
|
+
private createFilterFromPayload;
|
|
46
|
+
private executeHook;
|
|
47
|
+
private retryHook;
|
|
48
|
+
private processSideEffects;
|
|
49
|
+
private processSideEffect;
|
|
50
|
+
private processMemorySideEffect;
|
|
51
|
+
private processNeuralSideEffect;
|
|
52
|
+
private processMetricSideEffect;
|
|
53
|
+
private processNotificationSideEffect;
|
|
54
|
+
private processLogSideEffect;
|
|
55
|
+
private handleHookError;
|
|
56
|
+
private executeStage;
|
|
57
|
+
private updatePipelineMetrics;
|
|
58
|
+
private rollbackPipeline;
|
|
59
|
+
private getTotalHookCount;
|
|
60
|
+
private initializeMetrics;
|
|
61
|
+
private updateMetric;
|
|
62
|
+
private generateExecutionId;
|
|
63
|
+
private generatePipelineId;
|
|
64
|
+
private getCachedResult;
|
|
65
|
+
private cacheResult;
|
|
66
|
+
private withTimeout;
|
|
67
|
+
private delay;
|
|
68
|
+
}
|
|
69
|
+
export declare const agenticHookManager: AgenticHookManager;
|
|
70
|
+
//# sourceMappingURL=hook-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-manager.d.ts","sourceRoot":"","sources":["../../../src/services/agentic-flow-hooks/hook-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,UAAU,EAEV,iBAAiB,EAEjB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,YAAY,EAIb,MAAM,YAAY,CAAC;AAQpB,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,YAAY;IAC1E,OAAO,CAAC,KAAK,CAAuD;IACpE,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,gBAAgB,CAA0B;;IAOlD;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI;IAiC9C;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IA4B5B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,gBAAgB,EAAE;IAUxE;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAoE/B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY;IAoB3D;;OAEG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,WAAW,EAC3B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA4D/B;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAkBjC,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,uBAAuB;YAuBjB,WAAW;YA4DX,SAAS;YAqBT,kBAAkB;YAclB,iBAAiB;YA2BjB,uBAAuB;YASvB,uBAAuB;IASrC,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,6BAA6B;IAIrC,OAAO,CAAC,oBAAoB;YAKd,eAAe;YAkBf,YAAY;IAiC1B,OAAO,CAAC,qBAAqB;YA2Bf,gBAAgB;IAU9B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,WAAW;YAUL,WAAW;IAazB,OAAO,CAAC,KAAK;CAGd;AAGD,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|