@pga-ai/core 0.4.0 → 0.8.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 (183) hide show
  1. package/README.md +7 -7
  2. package/dist/PGA.d.ts +100 -1
  3. package/dist/PGA.d.ts.map +1 -1
  4. package/dist/PGA.js +1015 -25
  5. package/dist/PGA.js.map +1 -1
  6. package/dist/advanced-ai/AgentVitals.d.ts +23 -0
  7. package/dist/advanced-ai/AgentVitals.d.ts.map +1 -0
  8. package/dist/advanced-ai/AgentVitals.js +13 -0
  9. package/dist/advanced-ai/AgentVitals.js.map +1 -0
  10. package/dist/advanced-ai/CalibratedAutonomy.d.ts +37 -0
  11. package/dist/advanced-ai/CalibratedAutonomy.d.ts.map +1 -0
  12. package/dist/advanced-ai/CalibratedAutonomy.js +151 -0
  13. package/dist/advanced-ai/CalibratedAutonomy.js.map +1 -0
  14. package/dist/advanced-ai/EmotionalModel.d.ts +27 -0
  15. package/dist/advanced-ai/EmotionalModel.d.ts.map +1 -0
  16. package/dist/advanced-ai/EmotionalModel.js +206 -0
  17. package/dist/advanced-ai/EmotionalModel.js.map +1 -0
  18. package/dist/advanced-ai/EnhancedSelfModel.d.ts +53 -0
  19. package/dist/advanced-ai/EnhancedSelfModel.d.ts.map +1 -0
  20. package/dist/advanced-ai/EnhancedSelfModel.js +189 -0
  21. package/dist/advanced-ai/EnhancedSelfModel.js.map +1 -0
  22. package/dist/advanced-ai/SelfModel.d.ts +29 -0
  23. package/dist/advanced-ai/SelfModel.d.ts.map +1 -0
  24. package/dist/advanced-ai/SelfModel.js +91 -0
  25. package/dist/advanced-ai/SelfModel.js.map +1 -0
  26. package/dist/advanced-ai/StrategicAutonomy.d.ts +41 -0
  27. package/dist/advanced-ai/StrategicAutonomy.d.ts.map +1 -0
  28. package/dist/advanced-ai/StrategicAutonomy.js +148 -0
  29. package/dist/advanced-ai/StrategicAutonomy.js.map +1 -0
  30. package/dist/core/GenesisBootstrap.d.ts +18 -0
  31. package/dist/core/GenesisBootstrap.d.ts.map +1 -0
  32. package/dist/core/GenesisBootstrap.js +95 -0
  33. package/dist/core/GenesisBootstrap.js.map +1 -0
  34. package/dist/core/GenomeManager.js +1 -1
  35. package/dist/core/PromptAssembler.d.ts +26 -0
  36. package/dist/core/PromptAssembler.d.ts.map +1 -1
  37. package/dist/core/PromptAssembler.js +133 -8
  38. package/dist/core/PromptAssembler.js.map +1 -1
  39. package/dist/evaluation/BenchmarkSuites.d.ts +2 -0
  40. package/dist/evaluation/BenchmarkSuites.d.ts.map +1 -1
  41. package/dist/evaluation/BenchmarkSuites.js +9 -6
  42. package/dist/evaluation/BenchmarkSuites.js.map +1 -1
  43. package/dist/evaluation/Evaluator.d.ts.map +1 -1
  44. package/dist/evaluation/Evaluator.js +8 -7
  45. package/dist/evaluation/Evaluator.js.map +1 -1
  46. package/dist/evaluation/ProofOfValueRunner.d.ts +41 -0
  47. package/dist/evaluation/ProofOfValueRunner.d.ts.map +1 -0
  48. package/dist/evaluation/ProofOfValueRunner.js +177 -0
  49. package/dist/evaluation/ProofOfValueRunner.js.map +1 -0
  50. package/dist/evaluation/SandboxSuites.js +4 -4
  51. package/dist/evaluation/SandboxSuites.js.map +1 -1
  52. package/dist/evaluation/fixtures/proof-of-value-v1.json +178 -0
  53. package/dist/evolution/MutationOperator.d.ts +26 -0
  54. package/dist/evolution/MutationOperator.d.ts.map +1 -1
  55. package/dist/evolution/MutationOperator.js +200 -9
  56. package/dist/evolution/MutationOperator.js.map +1 -1
  57. package/dist/evolution/PurposeSurvival.d.ts +68 -0
  58. package/dist/evolution/PurposeSurvival.d.ts.map +1 -0
  59. package/dist/evolution/PurposeSurvival.js +199 -0
  60. package/dist/evolution/PurposeSurvival.js.map +1 -0
  61. package/dist/evolution/boost/EvolutionBoostEngine.d.ts +2 -1
  62. package/dist/evolution/boost/EvolutionBoostEngine.d.ts.map +1 -1
  63. package/dist/evolution/boost/EvolutionBoostEngine.js +3 -3
  64. package/dist/evolution/boost/EvolutionBoostEngine.js.map +1 -1
  65. package/dist/evolution/boost/GeneticRecombinator.d.ts.map +1 -1
  66. package/dist/evolution/boost/GeneticRecombinator.js +16 -5
  67. package/dist/evolution/boost/GeneticRecombinator.js.map +1 -1
  68. package/dist/evolution/boost/ParetoOptimizer.d.ts +1 -1
  69. package/dist/evolution/boost/ParetoOptimizer.d.ts.map +1 -1
  70. package/dist/evolution/boost/ParetoOptimizer.js.map +1 -1
  71. package/dist/evolution/boost/operators/BreakthroughOperator.d.ts +4 -7
  72. package/dist/evolution/boost/operators/BreakthroughOperator.d.ts.map +1 -1
  73. package/dist/evolution/boost/operators/BreakthroughOperator.js +172 -160
  74. package/dist/evolution/boost/operators/BreakthroughOperator.js.map +1 -1
  75. package/dist/evolution/boost/operators/CrossoverMutationOperator.d.ts +10 -15
  76. package/dist/evolution/boost/operators/CrossoverMutationOperator.d.ts.map +1 -1
  77. package/dist/evolution/boost/operators/CrossoverMutationOperator.js +167 -120
  78. package/dist/evolution/boost/operators/CrossoverMutationOperator.js.map +1 -1
  79. package/dist/evolution/boost/operators/PatternExtractionOperator.d.ts +7 -10
  80. package/dist/evolution/boost/operators/PatternExtractionOperator.d.ts.map +1 -1
  81. package/dist/evolution/boost/operators/PatternExtractionOperator.js +167 -164
  82. package/dist/evolution/boost/operators/PatternExtractionOperator.js.map +1 -1
  83. package/dist/evolution/boost/operators/SemanticRestructuringOperator.d.ts +2 -3
  84. package/dist/evolution/boost/operators/SemanticRestructuringOperator.d.ts.map +1 -1
  85. package/dist/evolution/boost/operators/SemanticRestructuringOperator.js +136 -54
  86. package/dist/evolution/boost/operators/SemanticRestructuringOperator.js.map +1 -1
  87. package/dist/evolution/boost/utils/llmHelper.d.ts +10 -0
  88. package/dist/evolution/boost/utils/llmHelper.d.ts.map +1 -0
  89. package/dist/evolution/boost/utils/llmHelper.js +13 -0
  90. package/dist/evolution/boost/utils/llmHelper.js.map +1 -0
  91. package/dist/firewall/ContentFirewall.d.ts +30 -0
  92. package/dist/firewall/ContentFirewall.d.ts.map +1 -0
  93. package/dist/firewall/ContentFirewall.js +251 -0
  94. package/dist/firewall/ContentFirewall.js.map +1 -0
  95. package/dist/firewall/DefaultPatterns.d.ts +8 -0
  96. package/dist/firewall/DefaultPatterns.d.ts.map +1 -0
  97. package/dist/firewall/DefaultPatterns.js +623 -0
  98. package/dist/firewall/DefaultPatterns.js.map +1 -0
  99. package/dist/firewall/index.d.ts +3 -0
  100. package/dist/firewall/index.d.ts.map +1 -0
  101. package/dist/firewall/index.js +3 -0
  102. package/dist/firewall/index.js.map +1 -0
  103. package/dist/gene-bank/CognitiveGene.d.ts +106 -106
  104. package/dist/gene-bank/GeneAdopter.d.ts +1 -0
  105. package/dist/gene-bank/GeneAdopter.d.ts.map +1 -1
  106. package/dist/gene-bank/GeneAdopter.js +23 -4
  107. package/dist/gene-bank/GeneAdopter.js.map +1 -1
  108. package/dist/gene-bank/GeneBank.d.ts +6 -6
  109. package/dist/gene-bank/GeneExtractor.d.ts +4 -4
  110. package/dist/gene-bank/MarketplaceClient.d.ts +26 -0
  111. package/dist/gene-bank/MarketplaceClient.d.ts.map +1 -0
  112. package/dist/gene-bank/MarketplaceClient.js +147 -0
  113. package/dist/gene-bank/MarketplaceClient.js.map +1 -0
  114. package/dist/gene-bank/SandboxTester.d.ts +2 -2
  115. package/dist/gene-bank/adapters/PostgresGeneStorage.js +1 -1
  116. package/dist/gene-bank/adapters/PostgresGeneStorage.js.map +1 -1
  117. package/dist/gene-bank/index.d.ts +1 -0
  118. package/dist/gene-bank/index.d.ts.map +1 -1
  119. package/dist/gene-bank/index.js +1 -0
  120. package/dist/gene-bank/index.js.map +1 -1
  121. package/dist/index.d.ts +54 -8
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +33 -5
  124. package/dist/index.js.map +1 -1
  125. package/dist/interfaces/StorageAdapter.d.ts +4 -1
  126. package/dist/interfaces/StorageAdapter.d.ts.map +1 -1
  127. package/dist/memory/AnalyticMemoryEngine.d.ts +83 -0
  128. package/dist/memory/AnalyticMemoryEngine.d.ts.map +1 -0
  129. package/dist/memory/AnalyticMemoryEngine.js +372 -0
  130. package/dist/memory/AnalyticMemoryEngine.js.map +1 -0
  131. package/dist/memory/LayeredMemory.d.ts +2 -0
  132. package/dist/memory/LayeredMemory.d.ts.map +1 -1
  133. package/dist/memory/LayeredMemory.js +2 -0
  134. package/dist/memory/LayeredMemory.js.map +1 -1
  135. package/dist/memory/PatternMemory.d.ts +38 -0
  136. package/dist/memory/PatternMemory.d.ts.map +1 -0
  137. package/dist/memory/PatternMemory.js +161 -0
  138. package/dist/memory/PatternMemory.js.map +1 -0
  139. package/dist/memory/PersonalNarrative.d.ts +51 -0
  140. package/dist/memory/PersonalNarrative.d.ts.map +1 -0
  141. package/dist/memory/PersonalNarrative.js +172 -0
  142. package/dist/memory/PersonalNarrative.js.map +1 -0
  143. package/dist/monitoring/AlertWebhooks.d.ts.map +1 -1
  144. package/dist/monitoring/AlertWebhooks.js +8 -5
  145. package/dist/monitoring/AlertWebhooks.js.map +1 -1
  146. package/dist/monitoring/MonitoringDashboard.js +1 -1
  147. package/dist/reasoning/Metacognition.d.ts +47 -0
  148. package/dist/reasoning/Metacognition.d.ts.map +1 -0
  149. package/dist/reasoning/Metacognition.js +274 -0
  150. package/dist/reasoning/Metacognition.js.map +1 -0
  151. package/dist/types/GenomeV2.d.ts +95 -0
  152. package/dist/types/GenomeV2.d.ts.map +1 -1
  153. package/dist/types/index.d.ts +159 -0
  154. package/dist/types/index.d.ts.map +1 -1
  155. package/dist/utils/tokens.d.ts +4 -0
  156. package/dist/utils/tokens.d.ts.map +1 -0
  157. package/dist/utils/tokens.js +16 -0
  158. package/dist/utils/tokens.js.map +1 -0
  159. package/dist/wrap/FunctionLLMAdapter.d.ts +9 -0
  160. package/dist/wrap/FunctionLLMAdapter.d.ts.map +1 -0
  161. package/dist/wrap/FunctionLLMAdapter.js +26 -0
  162. package/dist/wrap/FunctionLLMAdapter.js.map +1 -0
  163. package/dist/wrap/GenomeBuilder.d.ts +13 -0
  164. package/dist/wrap/GenomeBuilder.d.ts.map +1 -0
  165. package/dist/wrap/GenomeBuilder.js +222 -0
  166. package/dist/wrap/GenomeBuilder.js.map +1 -0
  167. package/dist/wrap/InMemoryStorageAdapter.d.ts +61 -0
  168. package/dist/wrap/InMemoryStorageAdapter.d.ts.map +1 -0
  169. package/dist/wrap/InMemoryStorageAdapter.js +153 -0
  170. package/dist/wrap/InMemoryStorageAdapter.js.map +1 -0
  171. package/dist/wrap/WrapOptions.d.ts +45 -0
  172. package/dist/wrap/WrapOptions.d.ts.map +1 -0
  173. package/dist/wrap/WrapOptions.js +2 -0
  174. package/dist/wrap/WrapOptions.js.map +1 -0
  175. package/dist/wrap/WrappedAgent.d.ts +77 -0
  176. package/dist/wrap/WrappedAgent.d.ts.map +1 -0
  177. package/dist/wrap/WrappedAgent.js +142 -0
  178. package/dist/wrap/WrappedAgent.js.map +1 -0
  179. package/dist/wrap/index.d.ts +6 -0
  180. package/dist/wrap/index.d.ts.map +1 -0
  181. package/dist/wrap/index.js +5 -0
  182. package/dist/wrap/index.js.map +1 -0
  183. package/package.json +13 -10
@@ -1,35 +1,66 @@
1
+ import { generateText } from '../utils/llmHelper.js';
2
+ import { estimateTokenCount } from '../../../utils/tokens.js';
1
3
  export class PatternExtractionOperator {
2
- geneBank;
3
4
  llm;
5
+ geneBank;
4
6
  name = 'pattern_extraction';
5
- description = 'Extract and integrate successful patterns from Gene Bank';
7
+ description = 'Crystallize learned behavioral patterns into gene content';
6
8
  targetChromosome = 'c1';
7
- constructor(geneBank, llm) {
8
- this.geneBank = geneBank;
9
+ constructor(llm, geneBank) {
9
10
  this.llm = llm;
11
+ this.geneBank = geneBank;
10
12
  }
11
13
  async mutate(context) {
14
+ const evidence = context.evidence ?? {};
15
+ const patterns = (evidence.patterns ?? []);
16
+ const predictions = (evidence.predictions ?? []);
17
+ if (patterns.length === 0 && !this.geneBank) {
18
+ return this.createFailure(context, 'No behavioral patterns available and no GeneBank fallback');
19
+ }
12
20
  const mutant = this.deepClone(context.genome);
13
- const weaknesses = this.identifyWeaknesses(context);
14
- const relevantPatterns = await this.findRelevantPatterns(weaknesses, context);
15
- if (relevantPatterns.length === 0) {
16
- return {
17
- success: false,
18
- mutant: context.genome,
19
- mutation: this.createEmptyMutation(),
20
- description: 'No relevant patterns found in Gene Bank',
21
- expectedImprovement: 0,
22
- };
21
+ const targetGene = context.targetGene
22
+ ?? mutant.chromosomes.c1.operations[0];
23
+ if (!targetGene) {
24
+ return this.createFailure(context, 'No target gene found for pattern extraction');
25
+ }
26
+ const geneIndex = mutant.chromosomes.c1.operations.findIndex(g => g.id === targetGene.id || g.category === targetGene.category);
27
+ if (geneIndex === -1) {
28
+ return this.createFailure(context, `Gene ${targetGene.category} not found`);
29
+ }
30
+ let enhancedContent;
31
+ if (patterns.length > 0) {
32
+ enhancedContent = await this.extractFromPatterns(targetGene, patterns, predictions, context);
33
+ }
34
+ else if (this.geneBank) {
35
+ enhancedContent = await this.extractFromGeneBank(targetGene, context);
23
36
  }
24
- mutant.chromosomes.c1.operations = await this.integratePatterns(mutant.chromosomes.c1.operations, relevantPatterns, context);
37
+ else {
38
+ return this.createFailure(context, 'No patterns or GeneBank available');
39
+ }
40
+ mutant.chromosomes.c1.operations[geneIndex] = {
41
+ ...targetGene,
42
+ content: enhancedContent,
43
+ tokenCount: estimateTokenCount(enhancedContent),
44
+ version: (targetGene.version ?? 0) + 1,
45
+ lastModified: new Date(),
46
+ origin: 'mutation',
47
+ mutationHistory: [
48
+ ...(targetGene.mutationHistory || []),
49
+ {
50
+ operation: this.name,
51
+ timestamp: new Date(),
52
+ reason: `Extracted ${patterns.length} behavioral patterns`,
53
+ },
54
+ ],
55
+ };
25
56
  const mutation = {
26
57
  id: this.generateId(),
27
58
  timestamp: new Date(),
28
59
  chromosome: 'c1',
29
60
  operation: this.name,
30
- before: JSON.stringify(context.genome.chromosomes.c1),
31
- after: JSON.stringify(mutant.chromosomes.c1),
32
- diff: `Integrated ${relevantPatterns.length} patterns from Gene Bank`,
61
+ before: targetGene.content,
62
+ after: enhancedContent,
63
+ diff: `Pattern extraction: ${patterns.length} patterns crystallized into ${targetGene.category}`,
33
64
  trigger: 'drift-detected',
34
65
  reason: context.reason,
35
66
  sandboxTested: false,
@@ -40,151 +71,139 @@ export class PatternExtractionOperator {
40
71
  success: true,
41
72
  mutant,
42
73
  mutation,
43
- description: `Integrated ${relevantPatterns.length} successful patterns from Gene Bank`,
44
- expectedImprovement: 0.50,
74
+ description: `Crystallized ${patterns.length} behavioral patterns into ${targetGene.category}`,
75
+ expectedImprovement: this.estimateImprovement(context),
45
76
  };
46
77
  }
47
78
  estimateImprovement(context) {
48
- const fitness = context.genome.fitness;
49
- const gaps = [
50
- 1 - fitness.quality,
51
- 1 - fitness.successRate,
52
- 1 - fitness.tokenEfficiency,
53
- fitness.interventionRate,
54
- ];
55
- const avgGap = gaps.reduce((sum, g) => sum + g, 0) / gaps.length;
56
- return 0.50 + (avgGap * 0.20);
57
- }
58
- identifyWeaknesses(context) {
59
- const weaknesses = [];
60
- const fitness = context.genome.fitness;
61
- if (fitness.quality < 0.7) {
62
- weaknesses.push('low-quality-responses');
63
- }
64
- if (fitness.successRate < 0.8) {
65
- weaknesses.push('low-success-rate');
66
- }
67
- if (fitness.tokenEfficiency < 0.6) {
68
- weaknesses.push('inefficient-token-usage');
69
- }
70
- if (fitness.interventionRate > 0.15) {
71
- weaknesses.push('high-intervention-rate');
72
- }
73
- if (fitness.latency > 2000) {
74
- weaknesses.push('high-latency');
79
+ const evidence = context.evidence ?? {};
80
+ const patterns = (evidence.patterns ?? []);
81
+ if (patterns.length === 0) {
82
+ return this.geneBank ? 0.08 : 0.02;
75
83
  }
76
- if (context.reason.toLowerCase().includes('error')) {
77
- weaknesses.push('error-handling');
78
- }
79
- if (context.reason.toLowerCase().includes('tool')) {
80
- weaknesses.push('tool-usage');
81
- }
82
- return weaknesses;
83
- }
84
- async findRelevantPatterns(weaknesses, context) {
85
- const patterns = [];
86
- try {
87
- for (const weakness of weaknesses) {
88
- const genes = await this.geneBank.searchGenes({
89
- type: [this.mapWeaknessToGeneType(weakness)],
90
- minFitness: 0.75,
91
- limit: 3,
92
- });
93
- for (const gene of genes) {
94
- if (gene.fitness > context.genome.fitness.composite) {
95
- patterns.push({
96
- pattern: gene.pattern,
97
- fitness: gene.fitness,
98
- category: gene.type,
99
- });
100
- }
101
- }
102
- }
103
- }
104
- catch (error) {
105
- console.warn('Gene Bank not available for pattern extraction:', error);
106
- }
107
- return patterns.sort((a, b) => b.fitness - a.fitness).slice(0, 5);
108
- }
109
- mapWeaknessToGeneType(weakness) {
110
- const mapping = {
111
- 'low-quality-responses': 'reasoning-pattern',
112
- 'low-success-rate': 'tool-usage-pattern',
113
- 'inefficient-token-usage': 'cognitive-compression',
114
- 'high-intervention-rate': 'safety-constraint',
115
- 'high-latency': 'performance-optimization',
116
- 'error-handling': 'error-recovery-pattern',
117
- 'tool-usage': 'tool-usage-pattern',
118
- };
119
- return mapping[weakness] || 'reasoning-pattern';
84
+ const avgConfidence = patterns.reduce((sum, p) => sum + p.confidence, 0) / patterns.length;
85
+ const patternBonus = Math.min(patterns.length * 0.04, 0.20);
86
+ const confidenceBonus = avgConfidence * 0.15;
87
+ return Math.min(0.40, 0.05 + patternBonus + confidenceBonus);
120
88
  }
121
- async integratePatterns(genes, patterns, context) {
122
- const integrationPrompt = this.buildIntegrationPrompt(genes, patterns, context);
123
- const response = await this.llm.generateText({
124
- prompt: integrationPrompt,
125
- temperature: 0.5,
126
- maxTokens: 2000,
127
- });
128
- const enhancedGenes = this.parseEnhancedGenes(response.content, genes);
129
- return enhancedGenes;
130
- }
131
- buildIntegrationPrompt(genes, patterns, context) {
132
- const genesText = genes.map((g, i) => `Gene ${i + 1} (${g.category}):\n${g.content}`).join('\n\n');
133
- const patternsText = patterns.map((p, i) => `Pattern ${i + 1} (${p.category}, fitness: ${(p.fitness * 100).toFixed(0)}%):\n${p.pattern}`).join('\n\n');
134
- return `You are an expert AI agent optimizer. Integrate successful patterns into existing genes.
89
+ async extractFromPatterns(gene, patterns, predictions, context) {
90
+ const patternsText = patterns.map((p, i) => {
91
+ let text = `${i + 1}. [${p.type}] ${p.description} (confidence: ${(p.confidence * 100).toFixed(0)}%, seen ${p.frequency}x)`;
92
+ if (p.prediction)
93
+ text += `\n → Prediction: ${p.prediction}`;
94
+ return text;
95
+ }).join('\n');
96
+ const predictionsText = predictions.length > 0
97
+ ? predictions.map(p => `- ${p.prediction} (${(p.confidence * 100).toFixed(0)}% confidence)`).join('\n')
98
+ : 'None available';
99
+ const purpose = context.evidence?.purpose ?? 'general-purpose AI assistant';
100
+ const prompt = `You are an expert AI agent prompt engineer. Your task is to ENHANCE an agent instruction by incorporating learned behavioral patterns from real user interactions.
135
101
 
136
- CURRENT GENES:
137
- ${genesText}
102
+ CURRENT INSTRUCTION (category: ${gene.category}):
103
+ \`\`\`
104
+ ${gene.content}
105
+ \`\`\`
138
106
 
139
- SUCCESSFUL PATTERNS TO INTEGRATE (from high-performing agents):
107
+ LEARNED BEHAVIORAL PATTERNS (from real interactions):
140
108
  ${patternsText}
141
109
 
142
- CURRENT PERFORMANCE:
143
- - Quality: ${(context.genome.fitness.quality * 100).toFixed(1)}%
144
- - Success Rate: ${(context.genome.fitness.successRate * 100).toFixed(1)}%
145
- - Token Efficiency: ${(context.genome.fitness.tokenEfficiency * 100).toFixed(1)}%
110
+ NEXT-ACTION PREDICTIONS:
111
+ ${predictionsText}
112
+
113
+ AGENT PURPOSE: ${purpose}
146
114
 
147
- TASK: Enhance the current genes by intelligently integrating these successful patterns.
115
+ TASK: Rewrite the instruction to incorporate these learned patterns. The enhanced instruction should:
148
116
 
149
- GUIDELINES:
150
- 1. Preserve core functionality of existing genes
151
- 2. Integrate pattern techniques that address weaknesses
152
- 3. Maintain clarity and actionability
153
- 4. Don't duplicate - merge intelligently
154
- 5. Keep each gene focused on its category
117
+ 1. CODIFY successful patterns as explicit strategies (e.g., "When users ask for X, always include Y")
118
+ 2. ADD proactive behaviors based on predictions (e.g., "Anticipate follow-up questions about Z")
119
+ 3. INCLUDE error-recovery strategies from learned error patterns
120
+ 4. OPTIMIZE tool usage based on tool-preference patterns
121
+ 5. PRESERVE the core functionality of the original instruction
122
+ 6. Keep the instruction focused on category: ${gene.category}
155
123
 
156
- Return the enhanced genes in this EXACT format:
157
- ---GENE:${genes[0]?.category || 'tool-usage'}---
158
- [Enhanced content here]
159
- ---END---
124
+ Return ONLY the enhanced instruction content. No explanations.
160
125
 
161
- For each gene, use the separator format above.`;
126
+ ENHANCED INSTRUCTION:`;
127
+ try {
128
+ const response = await generateText(this.llm, {
129
+ prompt,
130
+ temperature: 0.4,
131
+ maxTokens: 1500,
132
+ });
133
+ return response.content.trim();
134
+ }
135
+ catch {
136
+ return gene.content;
137
+ }
162
138
  }
163
- parseEnhancedGenes(response, originalGenes) {
164
- const enhanced = [];
165
- const geneMatches = response.matchAll(/---GENE:(\S+)---([\s\S]*?)---END---/g);
166
- for (const match of geneMatches) {
167
- const category = match[1];
168
- const content = match[2].trim();
169
- const original = originalGenes.find(g => g.category === category);
170
- if (original) {
171
- enhanced.push({
172
- ...original,
173
- content,
174
- version: original.version + 1,
175
- lastModified: new Date(),
176
- mutationHistory: [
177
- ...(original.mutationHistory || []),
178
- {
179
- operation: this.name,
180
- timestamp: new Date(),
181
- reason: 'Pattern integration from Gene Bank',
182
- },
183
- ],
184
- });
185
- }
139
+ async extractFromGeneBank(gene, _context) {
140
+ if (!this.geneBank)
141
+ return gene.content;
142
+ try {
143
+ const candidates = await this.geneBank.searchGenes({
144
+ type: [this.categoryToType(gene.category)],
145
+ minFitness: 0.75,
146
+ sortBy: 'fitness',
147
+ sortOrder: 'desc',
148
+ limit: 3,
149
+ });
150
+ if (candidates.length === 0)
151
+ return gene.content;
152
+ const patternsText = candidates.map((c, i) => `${i + 1}. (fitness: ${(c.fitness.overallFitness * 100).toFixed(0)}%): ${c.content.instruction}`).join('\n\n');
153
+ const prompt = `You are an expert AI agent prompt engineer. Enhance this instruction by integrating techniques from high-performing agents.
154
+
155
+ CURRENT INSTRUCTION (${gene.category}):
156
+ \`\`\`
157
+ ${gene.content}
158
+ \`\`\`
159
+
160
+ HIGH-PERFORMING PATTERNS FROM OTHER AGENTS:
161
+ ${patternsText}
162
+
163
+ Rewrite the instruction to incorporate the best techniques. Return ONLY the enhanced content.
164
+
165
+ ENHANCED INSTRUCTION:`;
166
+ const response = await generateText(this.llm, {
167
+ prompt,
168
+ temperature: 0.4,
169
+ maxTokens: 1500,
170
+ });
171
+ return response.content.trim();
172
+ }
173
+ catch {
174
+ return gene.content;
186
175
  }
187
- return enhanced.length > 0 ? enhanced : originalGenes;
176
+ }
177
+ categoryToType(category) {
178
+ const mapping = {
179
+ 'tool-usage': 'tool-usage-pattern',
180
+ 'coding-patterns': 'reasoning-pattern',
181
+ 'reasoning': 'reasoning-pattern',
182
+ 'communication': 'communication-pattern',
183
+ 'error-handling': 'error-recovery-pattern',
184
+ 'data-processing': 'performance-optimization',
185
+ };
186
+ return mapping[category] || 'reasoning-pattern';
187
+ }
188
+ createFailure(context, reason) {
189
+ return {
190
+ success: false,
191
+ mutant: context.genome,
192
+ mutation: {
193
+ id: this.generateId(),
194
+ timestamp: new Date(),
195
+ chromosome: 'c1',
196
+ operation: this.name,
197
+ before: '', after: '', diff: '',
198
+ trigger: 'drift-detected',
199
+ reason,
200
+ sandboxTested: false,
201
+ promoted: false,
202
+ proposer: 'system',
203
+ },
204
+ description: reason,
205
+ expectedImprovement: 0,
206
+ };
188
207
  }
189
208
  deepClone(genome) {
190
209
  return JSON.parse(JSON.stringify(genome));
@@ -192,21 +211,5 @@ For each gene, use the separator format above.`;
192
211
  generateId() {
193
212
  return `mut_pattern_${Date.now()}_${Math.random().toString(36).substring(7)}`;
194
213
  }
195
- createEmptyMutation() {
196
- return {
197
- id: this.generateId(),
198
- timestamp: new Date(),
199
- chromosome: 'c1',
200
- operation: this.name,
201
- before: '',
202
- after: '',
203
- diff: '',
204
- trigger: 'drift-detected',
205
- reason: 'No patterns found',
206
- sandboxTested: false,
207
- promoted: false,
208
- proposer: 'system',
209
- };
210
- }
211
214
  }
212
215
  //# sourceMappingURL=PatternExtractionOperator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PatternExtractionOperator.js","sourceRoot":"","sources":["../../../../src/evolution/boost/operators/PatternExtractionOperator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PatternExtractionOperator.js","sourceRoot":"","sources":["../../../../src/evolution/boost/operators/PatternExtractionOperator.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,10 @@ export declare class SemanticRestructuringOperator implements IMutationOperator
9
9
  constructor(llm: LLMAdapter);
10
10
  mutate(context: MutationContext): Promise<MutationResult>;
11
11
  estimateImprovement(context: MutationContext): number;
12
- private restructureGene;
13
- private buildRestructuringPrompt;
12
+ private buildIntelligentPrompt;
14
13
  private performSimpleRestructuring;
14
+ private createFailure;
15
15
  private deepClone;
16
16
  private generateId;
17
- private computeDiff;
18
17
  }
19
18
  //# sourceMappingURL=SemanticRestructuringOperator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SemanticRestructuringOperator.d.ts","sourceRoot":"","sources":["../../../../src/evolution/boost/operators/SemanticRestructuringOperator.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAGR,YAAY,EAEf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACR,iBAAiB,EACjB,eAAe,EACf,cAAc,EACjB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAQpE,qBAAa,6BAA8B,YAAW,iBAAiB;IAKvD,OAAO,CAAC,GAAG;IAJvB,IAAI,EAAE,YAAY,CAA4B;IAC9C,WAAW,SAAwD;IACnE,gBAAgB,EAAE,IAAI,CAAQ;gBAEV,GAAG,EAAE,UAAU;IAE7B,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAyC/D,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;YAgBvC,eAAe;IAwB7B,OAAO,CAAC,wBAAwB;IAsChC,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;CAMtB"}
1
+ {"version":3,"file":"SemanticRestructuringOperator.d.ts","sourceRoot":"","sources":["../../../../src/evolution/boost/operators/SemanticRestructuringOperator.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAGR,YAAY,EAEf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EACR,iBAAiB,EACjB,eAAe,EACf,cAAc,EACjB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAyCpE,qBAAa,6BAA8B,YAAW,iBAAiB;IAKvD,OAAO,CAAC,GAAG;IAJvB,IAAI,EAAE,YAAY,CAA4B;IAC9C,WAAW,SAAqE;IAChF,gBAAgB,EAAE,IAAI,CAAQ;gBAEV,GAAG,EAAE,UAAU;IAE7B,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IA8E/D,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAqCrD,OAAO,CAAC,sBAAsB;IA+E9B,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;CAGrB"}