@weavelogic/knowledge-graph-agent 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +70 -3
- package/dist/_virtual/__vite-browser-external.js +2 -2
- package/dist/_virtual/__vite-browser-external.js.map +1 -1
- package/dist/_virtual/index12.js +7 -0
- package/dist/_virtual/index12.js.map +1 -0
- package/dist/_virtual/ort-web.min.js +8 -0
- package/dist/_virtual/ort-web.min.js.map +1 -0
- package/dist/_virtual/ort-web.min2.js +5 -0
- package/dist/_virtual/ort-web.min2.js.map +1 -0
- package/dist/agents/base-agent.d.ts +63 -0
- package/dist/agents/base-agent.d.ts.map +1 -1
- package/dist/agents/base-agent.js +139 -0
- package/dist/agents/base-agent.js.map +1 -1
- package/dist/agents/coordinator-agent.d.ts +422 -0
- package/dist/agents/coordinator-agent.d.ts.map +1 -0
- package/dist/agents/documenter-agent.d.ts +298 -0
- package/dist/agents/documenter-agent.d.ts.map +1 -0
- package/dist/agents/index.d.ts +11 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/mixins/index.d.ts +9 -0
- package/dist/agents/mixins/index.d.ts.map +1 -0
- package/dist/agents/mixins/trajectory-mixin.d.ts +112 -0
- package/dist/agents/mixins/trajectory-mixin.d.ts.map +1 -0
- package/dist/agents/optimizer-agent.d.ts +388 -0
- package/dist/agents/optimizer-agent.d.ts.map +1 -0
- package/dist/agents/planner-agent.d.ts +395 -0
- package/dist/agents/planner-agent.d.ts.map +1 -0
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +5 -0
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/reviewer-agent.d.ts +330 -0
- package/dist/agents/reviewer-agent.d.ts.map +1 -0
- package/dist/agents/types.d.ts +12 -1
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/types.js +1 -0
- package/dist/agents/types.js.map +1 -1
- package/dist/cli/commands/hive-mind/add-frontmatter.d.ts +102 -0
- package/dist/cli/commands/hive-mind/add-frontmatter.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/add-frontmatter.js +439 -0
- package/dist/cli/commands/hive-mind/add-frontmatter.js.map +1 -0
- package/dist/cli/commands/hive-mind/analyze-links.d.ts +80 -0
- package/dist/cli/commands/hive-mind/analyze-links.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/analyze-links.js +367 -0
- package/dist/cli/commands/hive-mind/analyze-links.js.map +1 -0
- package/dist/cli/commands/hive-mind/find-connections.d.ts +75 -0
- package/dist/cli/commands/hive-mind/find-connections.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/find-connections.js +347 -0
- package/dist/cli/commands/hive-mind/find-connections.js.map +1 -0
- package/dist/cli/commands/hive-mind/index.d.ts +37 -0
- package/dist/cli/commands/hive-mind/index.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/index.js +33 -0
- package/dist/cli/commands/hive-mind/index.js.map +1 -0
- package/dist/cli/commands/hive-mind/validate-names.d.ts +79 -0
- package/dist/cli/commands/hive-mind/validate-names.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/validate-names.js +353 -0
- package/dist/cli/commands/hive-mind/validate-names.js.map +1 -0
- package/dist/cli/commands/vector.js +2 -0
- package/dist/cli/commands/vector.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/equilibrium/agent-equilibrium.d.ts +194 -0
- package/dist/equilibrium/agent-equilibrium.d.ts.map +1 -0
- package/dist/equilibrium/agent-equilibrium.js +304 -0
- package/dist/equilibrium/agent-equilibrium.js.map +1 -0
- package/dist/equilibrium/graph-equilibrium.d.ts +177 -0
- package/dist/equilibrium/graph-equilibrium.d.ts.map +1 -0
- package/dist/equilibrium/index.d.ts +11 -0
- package/dist/equilibrium/index.d.ts.map +1 -0
- package/dist/equilibrium/memory-equilibrium.d.ts +153 -0
- package/dist/equilibrium/memory-equilibrium.d.ts.map +1 -0
- package/dist/graphql/resolvers/index.d.ts.map +1 -1
- package/dist/graphql/resolvers/queries.d.ts +11 -0
- package/dist/graphql/resolvers/queries.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/inference/index.d.ts +9 -0
- package/dist/inference/index.d.ts.map +1 -0
- package/dist/inference/model-selection.d.ts +131 -0
- package/dist/inference/model-selection.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/agent-booster-adapter.d.ts +265 -0
- package/dist/integrations/agentic-flow/adapters/agent-booster-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-adapter.d.ts +197 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-vector-store.d.ts +249 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-vector-store.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/base-adapter.d.ts +120 -0
- package/dist/integrations/agentic-flow/adapters/base-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/federation-hub-adapter.d.ts +444 -0
- package/dist/integrations/agentic-flow/adapters/federation-hub-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/index.d.ts +17 -0
- package/dist/integrations/agentic-flow/adapters/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/model-router-adapter.d.ts +242 -0
- package/dist/integrations/agentic-flow/adapters/model-router-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/quic-transport-adapter.d.ts +364 -0
- package/dist/integrations/agentic-flow/adapters/quic-transport-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/reasoning-bank-adapter.d.ts +209 -0
- package/dist/integrations/agentic-flow/adapters/reasoning-bank-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/benchmark/index.d.ts +9 -0
- package/dist/integrations/agentic-flow/benchmark/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/benchmark/vector-benchmark.d.ts +253 -0
- package/dist/integrations/agentic-flow/benchmark/vector-benchmark.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/config.d.ts +109 -0
- package/dist/integrations/agentic-flow/config.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/feature-flags.d.ts +140 -0
- package/dist/integrations/agentic-flow/feature-flags.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/index.d.ts +22 -0
- package/dist/integrations/agentic-flow/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/migration/index.d.ts +9 -0
- package/dist/integrations/agentic-flow/migration/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/migration/migrate-to-agentdb.d.ts +242 -0
- package/dist/integrations/agentic-flow/migration/migrate-to-agentdb.d.ts.map +1 -0
- package/dist/learning/index.d.ts +91 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/learning-loop.d.ts +176 -0
- package/dist/learning/learning-loop.d.ts.map +1 -0
- package/dist/learning/services/ab-testing-framework.d.ts +135 -0
- package/dist/learning/services/ab-testing-framework.d.ts.map +1 -0
- package/dist/learning/services/agent-priming-service.d.ts +207 -0
- package/dist/learning/services/agent-priming-service.d.ts.map +1 -0
- package/dist/learning/services/daily-log-generator.d.ts +113 -0
- package/dist/learning/services/daily-log-generator.d.ts.map +1 -0
- package/dist/learning/services/index.d.ts +14 -0
- package/dist/learning/services/index.d.ts.map +1 -0
- package/dist/learning/services/memory-extraction-service.d.ts +87 -0
- package/dist/learning/services/memory-extraction-service.d.ts.map +1 -0
- package/dist/learning/services/task-completion-consumer.d.ts +162 -0
- package/dist/learning/services/task-completion-consumer.d.ts.map +1 -0
- package/dist/learning/services/trajectory-tracker.d.ts +174 -0
- package/dist/learning/services/trajectory-tracker.d.ts.map +1 -0
- package/dist/learning/types.d.ts +516 -0
- package/dist/learning/types.d.ts.map +1 -0
- package/dist/mcp/clients/claude-flow-memory-client.d.ts +259 -0
- package/dist/mcp/clients/claude-flow-memory-client.d.ts.map +1 -0
- package/dist/mcp/clients/claude-flow-memory-client.js +305 -0
- package/dist/mcp/clients/claude-flow-memory-client.js.map +1 -0
- package/dist/mcp/clients/index.d.ts +11 -0
- package/dist/mcp/clients/index.d.ts.map +1 -0
- package/dist/mcp/clients/mcp-client-adapter.d.ts +146 -0
- package/dist/mcp/clients/mcp-client-adapter.d.ts.map +1 -0
- package/dist/mcp/clients/mcp-client-adapter.js +372 -0
- package/dist/mcp/clients/mcp-client-adapter.js.map +1 -0
- package/dist/mcp/index.d.ts +10 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/memory/vault-sync.d.ts +12 -0
- package/dist/memory/vault-sync.d.ts.map +1 -1
- package/dist/memory/vault-sync.js +94 -11
- package/dist/memory/vault-sync.js.map +1 -1
- package/dist/node_modules/@huggingface/jinja/dist/index.js +118 -0
- package/dist/node_modules/@huggingface/jinja/dist/index.js.map +1 -0
- package/dist/node_modules/@typescript-eslint/project-service/dist/index.js +1 -1
- package/dist/node_modules/@xenova/transformers/src/backends/onnx.js +24 -0
- package/dist/node_modules/@xenova/transformers/src/backends/onnx.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/configs.js +52 -0
- package/dist/node_modules/@xenova/transformers/src/configs.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/env.js +35 -0
- package/dist/node_modules/@xenova/transformers/src/env.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/models.js +3852 -0
- package/dist/node_modules/@xenova/transformers/src/models.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/tokenizers.js +144 -0
- package/dist/node_modules/@xenova/transformers/src/tokenizers.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/core.js +52 -0
- package/dist/node_modules/@xenova/transformers/src/utils/core.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/generation.js +623 -0
- package/dist/node_modules/@xenova/transformers/src/utils/generation.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/hub.js +395 -0
- package/dist/node_modules/@xenova/transformers/src/utils/hub.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/image.js +12 -0
- package/dist/node_modules/@xenova/transformers/src/utils/image.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/maths.js +89 -0
- package/dist/node_modules/@xenova/transformers/src/utils/maths.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/tensor.js +750 -0
- package/dist/node_modules/@xenova/transformers/src/utils/tensor.js.map +1 -0
- package/dist/node_modules/fdir/dist/index.js +13 -13
- package/dist/node_modules/fdir/dist/index.js.map +1 -1
- package/dist/node_modules/onnxruntime-common/dist/lib/backend-impl.js +67 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/backend-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env-impl.js +24 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env.js +6 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/index.js +11 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/index.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session-impl.js +162 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session.js +6 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor-impl.js +393 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor.js +6 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor.js.map +1 -0
- package/dist/node_modules/onnxruntime-web/dist/ort-web.min.js +12919 -0
- package/dist/node_modules/onnxruntime-web/dist/ort-web.min.js.map +1 -0
- package/dist/node_modules/tinyglobby/dist/index.js +14 -14
- package/dist/node_modules/tinyglobby/dist/index.js.map +1 -1
- package/dist/node_modules/typescript/lib/typescript.js +24 -24
- package/dist/node_modules/typescript/lib/typescript.js.map +1 -1
- package/dist/transport/agent-transport.d.ts +269 -0
- package/dist/transport/agent-transport.d.ts.map +1 -0
- package/dist/transport/index.d.ts +10 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/vector/index.d.ts +1 -1
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/services/embedding-service.d.ts +244 -0
- package/dist/vector/services/embedding-service.d.ts.map +1 -0
- package/dist/vector/services/embedding-service.js +10 -0
- package/dist/vector/services/embedding-service.js.map +1 -0
- package/dist/vector/services/hybrid-search.d.ts +320 -0
- package/dist/vector/services/hybrid-search.d.ts.map +1 -0
- package/dist/vector/services/hybrid-search.js +3 -0
- package/dist/vector/services/hybrid-search.js.map +1 -0
- package/dist/vector/services/index.d.ts +4 -0
- package/dist/vector/services/index.d.ts.map +1 -1
- package/package.json +10 -1
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optimizer Agent
|
|
3
|
+
*
|
|
4
|
+
* Specialized agent for performance optimization, memory profiling, query optimization,
|
|
5
|
+
* caching strategy design, and benchmarking. Extends BaseAgent with optimization
|
|
6
|
+
* capabilities and statistical analysis.
|
|
7
|
+
*
|
|
8
|
+
* @module agents/optimizer-agent
|
|
9
|
+
*/
|
|
10
|
+
import { BaseAgent } from './base-agent.js';
|
|
11
|
+
import { AgentType, type AgentTask, type AgentResult, type AgentConfig } from './types.js';
|
|
12
|
+
import { type SupportedLanguage } from '../integrations/agentic-flow/adapters/agent-booster-adapter.js';
|
|
13
|
+
/**
|
|
14
|
+
* Optimizer agent configuration
|
|
15
|
+
*/
|
|
16
|
+
export interface OptimizerAgentConfig extends AgentConfig {
|
|
17
|
+
type: AgentType.OPTIMIZER;
|
|
18
|
+
/** Target performance improvement percentage */
|
|
19
|
+
targetImprovement?: number;
|
|
20
|
+
/** Memory threshold in MB for optimization suggestions */
|
|
21
|
+
memoryThreshold?: number;
|
|
22
|
+
/** Enable detailed profiling */
|
|
23
|
+
detailedProfiling?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Impact level for optimization improvements
|
|
27
|
+
*/
|
|
28
|
+
export type ImpactLevel = 'high' | 'medium' | 'low';
|
|
29
|
+
/**
|
|
30
|
+
* Individual optimization improvement
|
|
31
|
+
*/
|
|
32
|
+
export interface OptimizationImprovement {
|
|
33
|
+
/** Type of optimization */
|
|
34
|
+
type: string;
|
|
35
|
+
/** Description of the improvement */
|
|
36
|
+
description: string;
|
|
37
|
+
/** Impact level */
|
|
38
|
+
impact: ImpactLevel;
|
|
39
|
+
/** Location in code */
|
|
40
|
+
location: string;
|
|
41
|
+
/** Suggested code change (optional) */
|
|
42
|
+
suggestedCode?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Performance optimization result
|
|
46
|
+
*/
|
|
47
|
+
export interface OptimizationResult {
|
|
48
|
+
/** Original code */
|
|
49
|
+
original: string;
|
|
50
|
+
/** Optimized code */
|
|
51
|
+
optimized: string;
|
|
52
|
+
/** List of improvements made */
|
|
53
|
+
improvements: OptimizationImprovement[];
|
|
54
|
+
/** Performance metrics */
|
|
55
|
+
metrics: {
|
|
56
|
+
/** Estimated speedup factor (e.g., 1.5 = 50% faster) */
|
|
57
|
+
estimatedSpeedup: number;
|
|
58
|
+
/** Memory reduction percentage (0-1) */
|
|
59
|
+
memoryReduction: number;
|
|
60
|
+
/** Complexity reduction percentage (0-1) */
|
|
61
|
+
complexityReduction: number;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Memory allocation entry
|
|
66
|
+
*/
|
|
67
|
+
export interface MemoryAllocation {
|
|
68
|
+
/** Type of allocation */
|
|
69
|
+
type: string;
|
|
70
|
+
/** Size in bytes */
|
|
71
|
+
size: number;
|
|
72
|
+
/** Number of allocations */
|
|
73
|
+
count: number;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Memory profile data
|
|
77
|
+
*/
|
|
78
|
+
export interface MemoryProfile {
|
|
79
|
+
/** Heap memory used in bytes */
|
|
80
|
+
heapUsed: number;
|
|
81
|
+
/** Total heap size in bytes */
|
|
82
|
+
heapTotal: number;
|
|
83
|
+
/** External memory in bytes */
|
|
84
|
+
external: number;
|
|
85
|
+
/** Array buffer memory in bytes */
|
|
86
|
+
arrayBuffers: number;
|
|
87
|
+
/** Detailed allocations */
|
|
88
|
+
allocations: MemoryAllocation[];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Memory optimization suggestion
|
|
92
|
+
*/
|
|
93
|
+
export interface MemoryOptimizationSuggestion {
|
|
94
|
+
/** Type of optimization */
|
|
95
|
+
type: string;
|
|
96
|
+
/** Description */
|
|
97
|
+
description: string;
|
|
98
|
+
/** Expected memory savings in bytes */
|
|
99
|
+
expectedSavings: number;
|
|
100
|
+
/** Priority level */
|
|
101
|
+
priority: ImpactLevel;
|
|
102
|
+
/** Implementation details */
|
|
103
|
+
implementation: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Memory optimization result
|
|
107
|
+
*/
|
|
108
|
+
export interface MemoryOptimizationResult {
|
|
109
|
+
/** Original memory profile */
|
|
110
|
+
originalProfile: MemoryProfile;
|
|
111
|
+
/** List of optimization suggestions */
|
|
112
|
+
suggestions: MemoryOptimizationSuggestion[];
|
|
113
|
+
/** Estimated total savings in bytes */
|
|
114
|
+
estimatedTotalSavings: number;
|
|
115
|
+
/** Estimated memory reduction percentage */
|
|
116
|
+
estimatedReduction: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Query optimization result
|
|
120
|
+
*/
|
|
121
|
+
export interface QueryOptimizationResult {
|
|
122
|
+
/** Original query */
|
|
123
|
+
original: string;
|
|
124
|
+
/** Optimized query */
|
|
125
|
+
optimized: string;
|
|
126
|
+
/** Explanation of changes */
|
|
127
|
+
explanation: string;
|
|
128
|
+
/** Estimated improvement percentage */
|
|
129
|
+
estimatedImprovement: number;
|
|
130
|
+
/** Suggested indexes to create */
|
|
131
|
+
suggestedIndexes?: string[];
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Caching layer configuration
|
|
135
|
+
*/
|
|
136
|
+
export interface CachingLayer {
|
|
137
|
+
/** Layer name */
|
|
138
|
+
name: string;
|
|
139
|
+
/** Cache type */
|
|
140
|
+
type: 'memory' | 'redis' | 'cdn';
|
|
141
|
+
/** Time to live in seconds */
|
|
142
|
+
ttl: number;
|
|
143
|
+
/** Invalidation strategy description */
|
|
144
|
+
invalidation: string;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Caching strategy design
|
|
148
|
+
*/
|
|
149
|
+
export interface CachingStrategy {
|
|
150
|
+
/** Cache layers from closest to origin */
|
|
151
|
+
layers: CachingLayer[];
|
|
152
|
+
/** Caching patterns to apply */
|
|
153
|
+
patterns: string[];
|
|
154
|
+
/** Estimated cache hit rate */
|
|
155
|
+
estimatedHitRate: number;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Individual benchmark measurement
|
|
159
|
+
*/
|
|
160
|
+
export interface BenchmarkMeasurement {
|
|
161
|
+
/** Benchmark name */
|
|
162
|
+
name: string;
|
|
163
|
+
/** Mean execution time in milliseconds */
|
|
164
|
+
meanMs: number;
|
|
165
|
+
/** Standard deviation */
|
|
166
|
+
stdDev: number;
|
|
167
|
+
/** Operations per second */
|
|
168
|
+
opsPerSecond: number;
|
|
169
|
+
/** Percentile measurements */
|
|
170
|
+
percentiles: {
|
|
171
|
+
p50: number;
|
|
172
|
+
p95: number;
|
|
173
|
+
p99: number;
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Benchmark suite result
|
|
178
|
+
*/
|
|
179
|
+
export interface BenchmarkResult {
|
|
180
|
+
/** Suite name */
|
|
181
|
+
suite: string;
|
|
182
|
+
/** Number of iterations */
|
|
183
|
+
iterations: number;
|
|
184
|
+
/** Individual benchmark results */
|
|
185
|
+
results: BenchmarkMeasurement[];
|
|
186
|
+
/** Timestamp */
|
|
187
|
+
timestamp: Date;
|
|
188
|
+
/** Environment info */
|
|
189
|
+
environment?: {
|
|
190
|
+
nodeVersion: string;
|
|
191
|
+
platform: string;
|
|
192
|
+
cpuCount: number;
|
|
193
|
+
memoryMB: number;
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* System architecture for caching strategy design
|
|
198
|
+
*/
|
|
199
|
+
export interface SystemArchitecture {
|
|
200
|
+
/** Application tier description */
|
|
201
|
+
appTier: string;
|
|
202
|
+
/** Database type */
|
|
203
|
+
database: string;
|
|
204
|
+
/** Read/write ratio (reads per write) */
|
|
205
|
+
readWriteRatio: number;
|
|
206
|
+
/** Average request rate per second */
|
|
207
|
+
requestRate: number;
|
|
208
|
+
/** Data volatility (how often data changes) */
|
|
209
|
+
dataVolatility: 'low' | 'medium' | 'high';
|
|
210
|
+
/** Latency requirements in ms */
|
|
211
|
+
latencyRequirement?: number;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Optimizer task types
|
|
215
|
+
*/
|
|
216
|
+
export type OptimizerTaskType = 'performance' | 'memory' | 'query' | 'caching' | 'benchmark';
|
|
217
|
+
/**
|
|
218
|
+
* Optimizer Agent
|
|
219
|
+
*
|
|
220
|
+
* Capabilities:
|
|
221
|
+
* - Performance analysis with actionable suggestions
|
|
222
|
+
* - Memory profiling and optimization
|
|
223
|
+
* - SQL and GraphQL query optimization
|
|
224
|
+
* - Caching strategy design
|
|
225
|
+
* - Benchmark suite with statistical analysis
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* const optimizer = new OptimizerAgent({
|
|
230
|
+
* name: 'optimizer-agent',
|
|
231
|
+
* targetImprovement: 20, // 20% target
|
|
232
|
+
* });
|
|
233
|
+
*
|
|
234
|
+
* const result = await optimizer.optimizePerformance(code);
|
|
235
|
+
* console.log(`Speedup: ${result.metrics.estimatedSpeedup}x`);
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
238
|
+
export declare class OptimizerAgent extends BaseAgent {
|
|
239
|
+
/** Agent type */
|
|
240
|
+
readonly type = AgentType.OPTIMIZER;
|
|
241
|
+
/** Agent capabilities */
|
|
242
|
+
readonly capabilities: string[];
|
|
243
|
+
/** Target improvement percentage */
|
|
244
|
+
private readonly targetImprovement;
|
|
245
|
+
/** Memory threshold for suggestions */
|
|
246
|
+
private readonly memoryThreshold;
|
|
247
|
+
/** Enable detailed profiling */
|
|
248
|
+
private readonly detailedProfiling;
|
|
249
|
+
/** Agent Booster adapter for fast code transformations (352x faster) */
|
|
250
|
+
private booster;
|
|
251
|
+
constructor(config: Partial<OptimizerAgentConfig> & {
|
|
252
|
+
name: string;
|
|
253
|
+
});
|
|
254
|
+
/**
|
|
255
|
+
* Execute optimizer task
|
|
256
|
+
*/
|
|
257
|
+
protected executeTask(task: AgentTask): Promise<AgentResult>;
|
|
258
|
+
/**
|
|
259
|
+
* Analyze and optimize performance of code
|
|
260
|
+
*
|
|
261
|
+
* Analyzes the provided code for:
|
|
262
|
+
* - Loop optimizations (vectorization, early exits)
|
|
263
|
+
* - Algorithm improvements
|
|
264
|
+
* - Lazy evaluation opportunities
|
|
265
|
+
* - Parallelization opportunities
|
|
266
|
+
*/
|
|
267
|
+
optimizePerformance(code: string): Promise<OptimizationResult>;
|
|
268
|
+
/**
|
|
269
|
+
* Analyze memory profile and suggest optimizations
|
|
270
|
+
*
|
|
271
|
+
* Suggests:
|
|
272
|
+
* - Object pooling for frequent allocations
|
|
273
|
+
* - Streaming instead of buffering
|
|
274
|
+
* - WeakMap/WeakSet usage for caching
|
|
275
|
+
* - Buffer reuse patterns
|
|
276
|
+
*/
|
|
277
|
+
optimizeMemory(profile: MemoryProfile): Promise<MemoryOptimizationResult>;
|
|
278
|
+
/**
|
|
279
|
+
* Optimize SQL or GraphQL queries
|
|
280
|
+
*
|
|
281
|
+
* Optimizations include:
|
|
282
|
+
* - Index suggestions
|
|
283
|
+
* - Query restructuring
|
|
284
|
+
* - N+1 elimination
|
|
285
|
+
* - Pagination optimization
|
|
286
|
+
*/
|
|
287
|
+
optimizeQueries(queries: string[]): Promise<QueryOptimizationResult[]>;
|
|
288
|
+
/**
|
|
289
|
+
* Design a multi-layer caching strategy based on system architecture
|
|
290
|
+
*/
|
|
291
|
+
designCachingStrategy(architecture: SystemArchitecture): Promise<CachingStrategy>;
|
|
292
|
+
/**
|
|
293
|
+
* Run performance benchmarks with statistical analysis
|
|
294
|
+
*/
|
|
295
|
+
runBenchmark(suite: string, iterations?: number): Promise<BenchmarkResult>;
|
|
296
|
+
private handlePerformanceTask;
|
|
297
|
+
private handleMemoryTask;
|
|
298
|
+
private handleQueryTask;
|
|
299
|
+
private handleCachingTask;
|
|
300
|
+
private handleBenchmarkTask;
|
|
301
|
+
private findLoopOptimizations;
|
|
302
|
+
private findAlgorithmOptimizations;
|
|
303
|
+
private findLazyEvaluationOpportunities;
|
|
304
|
+
private findParallelizationOpportunities;
|
|
305
|
+
private applyOptimizations;
|
|
306
|
+
private calculateOptimizationMetrics;
|
|
307
|
+
private analyzeForPooling;
|
|
308
|
+
private analyzeBufferUsage;
|
|
309
|
+
private analyzeForWeakReferences;
|
|
310
|
+
private optimizeSingleQuery;
|
|
311
|
+
private calculateTTL;
|
|
312
|
+
private calculateCacheHitRate;
|
|
313
|
+
private getBenchmarkSuite;
|
|
314
|
+
private calculateStatistics;
|
|
315
|
+
private getEnvironmentInfo;
|
|
316
|
+
/**
|
|
317
|
+
* Initialize the Agent Booster adapter
|
|
318
|
+
*
|
|
319
|
+
* Call this before using applyOptimizationWithBooster for faster transformations.
|
|
320
|
+
*/
|
|
321
|
+
initializeBooster(): Promise<void>;
|
|
322
|
+
/**
|
|
323
|
+
* Check if Agent Booster is available
|
|
324
|
+
*/
|
|
325
|
+
isBoosterAvailable(): boolean;
|
|
326
|
+
/**
|
|
327
|
+
* Apply optimization using Agent Booster for 352x faster transformations
|
|
328
|
+
*
|
|
329
|
+
* This method uses the Agent Booster adapter to apply code transformations
|
|
330
|
+
* based on the improvements identified in an OptimizationResult. Average
|
|
331
|
+
* latency is ~1ms per transformation vs ~352ms with LLM-based approaches.
|
|
332
|
+
*
|
|
333
|
+
* @param code - Source code to optimize
|
|
334
|
+
* @param optimization - Optimization result with improvements to apply
|
|
335
|
+
* @param language - Programming language of the code
|
|
336
|
+
* @returns Applied optimization results
|
|
337
|
+
*
|
|
338
|
+
* @example
|
|
339
|
+
* ```typescript
|
|
340
|
+
* const optimizer = new OptimizerAgent({ name: 'optimizer' });
|
|
341
|
+
* await optimizer.initializeBooster();
|
|
342
|
+
*
|
|
343
|
+
* const analysis = await optimizer.optimizePerformance(code);
|
|
344
|
+
* const applied = await optimizer.applyOptimizationWithBooster(
|
|
345
|
+
* code,
|
|
346
|
+
* analysis,
|
|
347
|
+
* 'typescript'
|
|
348
|
+
* );
|
|
349
|
+
*
|
|
350
|
+
* console.log(`Applied ${applied.appliedCount} optimizations in ${applied.totalLatencyMs}ms`);
|
|
351
|
+
* ```
|
|
352
|
+
*/
|
|
353
|
+
applyOptimizationWithBooster(code: string, optimization: OptimizationResult, language?: SupportedLanguage): Promise<{
|
|
354
|
+
success: boolean;
|
|
355
|
+
code: string;
|
|
356
|
+
appliedCount: number;
|
|
357
|
+
totalLatencyMs: number;
|
|
358
|
+
details: Array<{
|
|
359
|
+
improvement: string;
|
|
360
|
+
applied: boolean;
|
|
361
|
+
latencyMs: number;
|
|
362
|
+
}>;
|
|
363
|
+
}>;
|
|
364
|
+
/**
|
|
365
|
+
* Apply a specific optimization type using Agent Booster
|
|
366
|
+
*
|
|
367
|
+
* @param code - Source code to optimize
|
|
368
|
+
* @param optimizationType - Type of optimization to apply
|
|
369
|
+
* @param language - Programming language
|
|
370
|
+
* @returns Transformation result
|
|
371
|
+
*/
|
|
372
|
+
applyBoosterOptimization(code: string, optimizationType: 'loop' | 'async' | 'memory' | 'general', language?: SupportedLanguage): Promise<{
|
|
373
|
+
success: boolean;
|
|
374
|
+
code: string;
|
|
375
|
+
latencyMs: number;
|
|
376
|
+
confidence: number;
|
|
377
|
+
}>;
|
|
378
|
+
/**
|
|
379
|
+
* Get Agent Booster status
|
|
380
|
+
*/
|
|
381
|
+
getBoosterStatus(): {
|
|
382
|
+
available: boolean;
|
|
383
|
+
initialized: boolean;
|
|
384
|
+
version?: string;
|
|
385
|
+
fallbackMode: boolean;
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
//# sourceMappingURL=optimizer-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimizer-agent.d.ts","sourceRoot":"","sources":["../../src/agents/optimizer-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,SAAS,EACT,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,gEAAgE,CAAC;AAMxE;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;IAC1B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,YAAY,EAAE,uBAAuB,EAAE,CAAC;IACxC,0BAA0B;IAC1B,OAAO,EAAE;QACP,wDAAwD;QACxD,gBAAgB,EAAE,MAAM,CAAC;QACzB,wCAAwC;QACxC,eAAe,EAAE,MAAM,CAAC;QACxB,4CAA4C;QAC5C,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,6BAA6B;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,8BAA8B;IAC9B,eAAe,EAAE,aAAa,CAAC;IAC/B,uCAAuC;IACvC,WAAW,EAAE,4BAA4B,EAAE,CAAC;IAC5C,uCAAuC;IACvC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,4CAA4C;IAC5C,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IACjC,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,WAAW,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,gBAAgB;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,uBAAuB;IACvB,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,cAAc,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,iCAAiC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,QAAQ,GACR,OAAO,GACP,SAAS,GACT,WAAW,CAAC;AAMhB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,iBAAiB;IACjB,QAAQ,CAAC,IAAI,uBAAuB;IAEpC,yBAAyB;IACzB,QAAQ,CAAC,YAAY,WAMnB;IAEF,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAE3C,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEzC,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAE5C,wEAAwE;IACxE,OAAO,CAAC,OAAO,CAAoC;gBAEvC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAuBpE;;OAEG;cACa,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IA4BlE;;;;;;;;OAQG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoCpE;;;;;;;;OAQG;IACG,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA4D/E;;;;;;;;OAQG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAM5E;;OAEG;IACG,qBAAqB,CAAC,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IA4DvF;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,eAAe,CAAC;YAqDvE,qBAAqB;YA2BrB,gBAAgB;YA2BhB,eAAe;YA2Bf,iBAAiB;YA2BjB,mBAAmB;IA+BjC,OAAO,CAAC,qBAAqB;IAiD7B,OAAO,CAAC,0BAA0B;IAgDlC,OAAO,CAAC,+BAA+B;IAsCvC,OAAO,CAAC,gCAAgC;IA6BxC,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,4BAA4B;IA+CpC,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,wBAAwB;IAkChC,OAAO,CAAC,mBAAmB;IA4G3B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,iBAAiB;IA2FzB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,kBAAkB;IAa1B;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBxC;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,4BAA4B,CAChC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,kBAAkB,EAChC,QAAQ,GAAE,iBAAgC,GACzC,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,KAAK,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,OAAO,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,CAAC;IAgEF;;;;;;;OAOG;IACG,wBAAwB,CAC5B,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,EACzD,QAAQ,GAAE,iBAAgC,GACzC,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAwBF;;OAEG;IACH,gBAAgB,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,OAAO,CAAC;KACvB;CAiBF"}
|