@pga-ai/core 0.4.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 (268) hide show
  1. package/README.md +278 -0
  2. package/dist/PGA.d.ts +156 -0
  3. package/dist/PGA.d.ts.map +1 -0
  4. package/dist/PGA.js +636 -0
  5. package/dist/PGA.js.map +1 -0
  6. package/dist/advanced-ai/ModelRouter.d.ts +82 -0
  7. package/dist/advanced-ai/ModelRouter.d.ts.map +1 -0
  8. package/dist/advanced-ai/ModelRouter.js +280 -0
  9. package/dist/advanced-ai/ModelRouter.js.map +1 -0
  10. package/dist/advanced-ai/ThinkingEngine.d.ts +50 -0
  11. package/dist/advanced-ai/ThinkingEngine.d.ts.map +1 -0
  12. package/dist/advanced-ai/ThinkingEngine.js +179 -0
  13. package/dist/advanced-ai/ThinkingEngine.js.map +1 -0
  14. package/dist/core/ContextMemory.d.ts +56 -0
  15. package/dist/core/ContextMemory.d.ts.map +1 -0
  16. package/dist/core/ContextMemory.js +253 -0
  17. package/dist/core/ContextMemory.js.map +1 -0
  18. package/dist/core/DNAProfile.d.ts +19 -0
  19. package/dist/core/DNAProfile.d.ts.map +1 -0
  20. package/dist/core/DNAProfile.js +141 -0
  21. package/dist/core/DNAProfile.js.map +1 -0
  22. package/dist/core/FitnessTracker.d.ts +13 -0
  23. package/dist/core/FitnessTracker.d.ts.map +1 -0
  24. package/dist/core/FitnessTracker.js +101 -0
  25. package/dist/core/FitnessTracker.js.map +1 -0
  26. package/dist/core/GenomeKernel.d.ts +57 -0
  27. package/dist/core/GenomeKernel.d.ts.map +1 -0
  28. package/dist/core/GenomeKernel.js +305 -0
  29. package/dist/core/GenomeKernel.js.map +1 -0
  30. package/dist/core/GenomeManager.d.ts +21 -0
  31. package/dist/core/GenomeManager.d.ts.map +1 -0
  32. package/dist/core/GenomeManager.js +123 -0
  33. package/dist/core/GenomeManager.js.map +1 -0
  34. package/dist/core/LearningAnnouncer.d.ts +16 -0
  35. package/dist/core/LearningAnnouncer.d.ts.map +1 -0
  36. package/dist/core/LearningAnnouncer.js +176 -0
  37. package/dist/core/LearningAnnouncer.js.map +1 -0
  38. package/dist/core/ProactiveSuggestions.d.ts +25 -0
  39. package/dist/core/ProactiveSuggestions.d.ts.map +1 -0
  40. package/dist/core/ProactiveSuggestions.js +238 -0
  41. package/dist/core/ProactiveSuggestions.js.map +1 -0
  42. package/dist/core/PromptAssembler.d.ts +12 -0
  43. package/dist/core/PromptAssembler.d.ts.map +1 -0
  44. package/dist/core/PromptAssembler.js +74 -0
  45. package/dist/core/PromptAssembler.js.map +1 -0
  46. package/dist/enterprise/AuthManager.d.ts +71 -0
  47. package/dist/enterprise/AuthManager.d.ts.map +1 -0
  48. package/dist/enterprise/AuthManager.js +216 -0
  49. package/dist/enterprise/AuthManager.js.map +1 -0
  50. package/dist/enterprise/RateLimiter.d.ts +48 -0
  51. package/dist/enterprise/RateLimiter.d.ts.map +1 -0
  52. package/dist/enterprise/RateLimiter.js +193 -0
  53. package/dist/enterprise/RateLimiter.js.map +1 -0
  54. package/dist/evaluation/BenchmarkSuites.d.ts +27 -0
  55. package/dist/evaluation/BenchmarkSuites.d.ts.map +1 -0
  56. package/dist/evaluation/BenchmarkSuites.js +69 -0
  57. package/dist/evaluation/BenchmarkSuites.js.map +1 -0
  58. package/dist/evaluation/CalibrationManager.d.ts +66 -0
  59. package/dist/evaluation/CalibrationManager.d.ts.map +1 -0
  60. package/dist/evaluation/CalibrationManager.js +117 -0
  61. package/dist/evaluation/CalibrationManager.js.map +1 -0
  62. package/dist/evaluation/Evaluator.d.ts +79 -0
  63. package/dist/evaluation/Evaluator.d.ts.map +1 -0
  64. package/dist/evaluation/Evaluator.js +359 -0
  65. package/dist/evaluation/Evaluator.js.map +1 -0
  66. package/dist/evaluation/EvolutionGuardrails.d.ts +29 -0
  67. package/dist/evaluation/EvolutionGuardrails.d.ts.map +1 -0
  68. package/dist/evaluation/EvolutionGuardrails.js +166 -0
  69. package/dist/evaluation/EvolutionGuardrails.js.map +1 -0
  70. package/dist/evaluation/SandboxSuites.d.ts +26 -0
  71. package/dist/evaluation/SandboxSuites.d.ts.map +1 -0
  72. package/dist/evaluation/SandboxSuites.js +252 -0
  73. package/dist/evaluation/SandboxSuites.js.map +1 -0
  74. package/dist/evaluation/SemanticJudge.d.ts +21 -0
  75. package/dist/evaluation/SemanticJudge.d.ts.map +1 -0
  76. package/dist/evaluation/SemanticJudge.js +139 -0
  77. package/dist/evaluation/SemanticJudge.js.map +1 -0
  78. package/dist/evaluation/fixtures/core-coding-v1.json +68 -0
  79. package/dist/evaluation/fixtures/core-general-v1.json +68 -0
  80. package/dist/evolution/CanaryDeployment.d.ts +77 -0
  81. package/dist/evolution/CanaryDeployment.d.ts.map +1 -0
  82. package/dist/evolution/CanaryDeployment.js +261 -0
  83. package/dist/evolution/CanaryDeployment.js.map +1 -0
  84. package/dist/evolution/DriftAnalyzer.d.ts +63 -0
  85. package/dist/evolution/DriftAnalyzer.d.ts.map +1 -0
  86. package/dist/evolution/DriftAnalyzer.js +283 -0
  87. package/dist/evolution/DriftAnalyzer.js.map +1 -0
  88. package/dist/evolution/FitnessCalculator.d.ts +47 -0
  89. package/dist/evolution/FitnessCalculator.d.ts.map +1 -0
  90. package/dist/evolution/FitnessCalculator.js +177 -0
  91. package/dist/evolution/FitnessCalculator.js.map +1 -0
  92. package/dist/evolution/MutationOperator.d.ts +76 -0
  93. package/dist/evolution/MutationOperator.d.ts.map +1 -0
  94. package/dist/evolution/MutationOperator.js +267 -0
  95. package/dist/evolution/MutationOperator.js.map +1 -0
  96. package/dist/evolution/PromotionGate.d.ts +45 -0
  97. package/dist/evolution/PromotionGate.d.ts.map +1 -0
  98. package/dist/evolution/PromotionGate.js +248 -0
  99. package/dist/evolution/PromotionGate.js.map +1 -0
  100. package/dist/evolution/boost/EvolutionBoostEngine.d.ts +69 -0
  101. package/dist/evolution/boost/EvolutionBoostEngine.d.ts.map +1 -0
  102. package/dist/evolution/boost/EvolutionBoostEngine.js +185 -0
  103. package/dist/evolution/boost/EvolutionBoostEngine.js.map +1 -0
  104. package/dist/evolution/boost/GeneticRecombinator.d.ts +26 -0
  105. package/dist/evolution/boost/GeneticRecombinator.d.ts.map +1 -0
  106. package/dist/evolution/boost/GeneticRecombinator.js +179 -0
  107. package/dist/evolution/boost/GeneticRecombinator.js.map +1 -0
  108. package/dist/evolution/boost/MetaEvolutionEngine.d.ts +48 -0
  109. package/dist/evolution/boost/MetaEvolutionEngine.d.ts.map +1 -0
  110. package/dist/evolution/boost/MetaEvolutionEngine.js +193 -0
  111. package/dist/evolution/boost/MetaEvolutionEngine.js.map +1 -0
  112. package/dist/evolution/boost/ParallelEvolutionEngine.d.ts +44 -0
  113. package/dist/evolution/boost/ParallelEvolutionEngine.d.ts.map +1 -0
  114. package/dist/evolution/boost/ParallelEvolutionEngine.js +135 -0
  115. package/dist/evolution/boost/ParallelEvolutionEngine.js.map +1 -0
  116. package/dist/evolution/boost/ParetoOptimizer.d.ts +42 -0
  117. package/dist/evolution/boost/ParetoOptimizer.d.ts.map +1 -0
  118. package/dist/evolution/boost/ParetoOptimizer.js +167 -0
  119. package/dist/evolution/boost/ParetoOptimizer.js.map +1 -0
  120. package/dist/evolution/boost/operators/BreakthroughOperator.d.ts +22 -0
  121. package/dist/evolution/boost/operators/BreakthroughOperator.d.ts.map +1 -0
  122. package/dist/evolution/boost/operators/BreakthroughOperator.js +217 -0
  123. package/dist/evolution/boost/operators/BreakthroughOperator.js.map +1 -0
  124. package/dist/evolution/boost/operators/CrossoverMutationOperator.d.ts +26 -0
  125. package/dist/evolution/boost/operators/CrossoverMutationOperator.d.ts.map +1 -0
  126. package/dist/evolution/boost/operators/CrossoverMutationOperator.js +160 -0
  127. package/dist/evolution/boost/operators/CrossoverMutationOperator.js.map +1 -0
  128. package/dist/evolution/boost/operators/PatternExtractionOperator.d.ts +24 -0
  129. package/dist/evolution/boost/operators/PatternExtractionOperator.d.ts.map +1 -0
  130. package/dist/evolution/boost/operators/PatternExtractionOperator.js +212 -0
  131. package/dist/evolution/boost/operators/PatternExtractionOperator.js.map +1 -0
  132. package/dist/evolution/boost/operators/SemanticRestructuringOperator.d.ts +19 -0
  133. package/dist/evolution/boost/operators/SemanticRestructuringOperator.d.ts.map +1 -0
  134. package/dist/evolution/boost/operators/SemanticRestructuringOperator.js +106 -0
  135. package/dist/evolution/boost/operators/SemanticRestructuringOperator.js.map +1 -0
  136. package/dist/gene-bank/CognitiveGene.d.ts +799 -0
  137. package/dist/gene-bank/CognitiveGene.d.ts.map +1 -0
  138. package/dist/gene-bank/CognitiveGene.js +128 -0
  139. package/dist/gene-bank/CognitiveGene.js.map +1 -0
  140. package/dist/gene-bank/GeneAdopter.d.ts +75 -0
  141. package/dist/gene-bank/GeneAdopter.d.ts.map +1 -0
  142. package/dist/gene-bank/GeneAdopter.js +271 -0
  143. package/dist/gene-bank/GeneAdopter.js.map +1 -0
  144. package/dist/gene-bank/GeneBank.d.ts +124 -0
  145. package/dist/gene-bank/GeneBank.d.ts.map +1 -0
  146. package/dist/gene-bank/GeneBank.js +261 -0
  147. package/dist/gene-bank/GeneBank.js.map +1 -0
  148. package/dist/gene-bank/GeneExtractor.d.ts +59 -0
  149. package/dist/gene-bank/GeneExtractor.d.ts.map +1 -0
  150. package/dist/gene-bank/GeneExtractor.js +311 -0
  151. package/dist/gene-bank/GeneExtractor.js.map +1 -0
  152. package/dist/gene-bank/GeneMatcher.d.ts +82 -0
  153. package/dist/gene-bank/GeneMatcher.d.ts.map +1 -0
  154. package/dist/gene-bank/GeneMatcher.js +215 -0
  155. package/dist/gene-bank/GeneMatcher.js.map +1 -0
  156. package/dist/gene-bank/PGAIntegration.d.ts +53 -0
  157. package/dist/gene-bank/PGAIntegration.d.ts.map +1 -0
  158. package/dist/gene-bank/PGAIntegration.js +139 -0
  159. package/dist/gene-bank/PGAIntegration.js.map +1 -0
  160. package/dist/gene-bank/SandboxTester.d.ts +92 -0
  161. package/dist/gene-bank/SandboxTester.d.ts.map +1 -0
  162. package/dist/gene-bank/SandboxTester.js +262 -0
  163. package/dist/gene-bank/SandboxTester.js.map +1 -0
  164. package/dist/gene-bank/adapters/InMemoryGeneStorage.d.ts +21 -0
  165. package/dist/gene-bank/adapters/InMemoryGeneStorage.d.ts.map +1 -0
  166. package/dist/gene-bank/adapters/InMemoryGeneStorage.js +115 -0
  167. package/dist/gene-bank/adapters/InMemoryGeneStorage.js.map +1 -0
  168. package/dist/gene-bank/adapters/PostgresGeneStorage.d.ts +21 -0
  169. package/dist/gene-bank/adapters/PostgresGeneStorage.d.ts.map +1 -0
  170. package/dist/gene-bank/adapters/PostgresGeneStorage.js +272 -0
  171. package/dist/gene-bank/adapters/PostgresGeneStorage.js.map +1 -0
  172. package/dist/gene-bank/index.d.ts +7 -0
  173. package/dist/gene-bank/index.d.ts.map +1 -0
  174. package/dist/gene-bank/index.js +7 -0
  175. package/dist/gene-bank/index.js.map +1 -0
  176. package/dist/index.d.ts +72 -0
  177. package/dist/index.d.ts.map +1 -0
  178. package/dist/index.js +37 -0
  179. package/dist/index.js.map +1 -0
  180. package/dist/interfaces/LLMAdapter.d.ts +31 -0
  181. package/dist/interfaces/LLMAdapter.d.ts.map +1 -0
  182. package/dist/interfaces/LLMAdapter.js +2 -0
  183. package/dist/interfaces/LLMAdapter.js.map +1 -0
  184. package/dist/interfaces/StorageAdapter.d.ts +49 -0
  185. package/dist/interfaces/StorageAdapter.d.ts.map +1 -0
  186. package/dist/interfaces/StorageAdapter.js +2 -0
  187. package/dist/interfaces/StorageAdapter.js.map +1 -0
  188. package/dist/memory/LayeredMemory.d.ts +112 -0
  189. package/dist/memory/LayeredMemory.d.ts.map +1 -0
  190. package/dist/memory/LayeredMemory.js +405 -0
  191. package/dist/memory/LayeredMemory.js.map +1 -0
  192. package/dist/memory-compaction/MemoryCompactor.d.ts +18 -0
  193. package/dist/memory-compaction/MemoryCompactor.d.ts.map +1 -0
  194. package/dist/memory-compaction/MemoryCompactor.js +156 -0
  195. package/dist/memory-compaction/MemoryCompactor.js.map +1 -0
  196. package/dist/memory-compaction/index.d.ts +6 -0
  197. package/dist/memory-compaction/index.d.ts.map +1 -0
  198. package/dist/memory-compaction/index.js +5 -0
  199. package/dist/memory-compaction/index.js.map +1 -0
  200. package/dist/memory-compaction/strategies/BaseStrategy.d.ts +9 -0
  201. package/dist/memory-compaction/strategies/BaseStrategy.d.ts.map +1 -0
  202. package/dist/memory-compaction/strategies/BaseStrategy.js +50 -0
  203. package/dist/memory-compaction/strategies/BaseStrategy.js.map +1 -0
  204. package/dist/memory-compaction/strategies/ImportanceBasedStrategy.d.ts +9 -0
  205. package/dist/memory-compaction/strategies/ImportanceBasedStrategy.d.ts.map +1 -0
  206. package/dist/memory-compaction/strategies/ImportanceBasedStrategy.js +101 -0
  207. package/dist/memory-compaction/strategies/ImportanceBasedStrategy.js.map +1 -0
  208. package/dist/memory-compaction/strategies/SlidingWindowStrategy.d.ts +9 -0
  209. package/dist/memory-compaction/strategies/SlidingWindowStrategy.d.ts.map +1 -0
  210. package/dist/memory-compaction/strategies/SlidingWindowStrategy.js +87 -0
  211. package/dist/memory-compaction/strategies/SlidingWindowStrategy.js.map +1 -0
  212. package/dist/memory-compaction/types.d.ts +78 -0
  213. package/dist/memory-compaction/types.d.ts.map +1 -0
  214. package/dist/memory-compaction/types.js +2 -0
  215. package/dist/memory-compaction/types.js.map +1 -0
  216. package/dist/monitoring/AlertWebhooks.d.ts +57 -0
  217. package/dist/monitoring/AlertWebhooks.d.ts.map +1 -0
  218. package/dist/monitoring/AlertWebhooks.js +205 -0
  219. package/dist/monitoring/AlertWebhooks.js.map +1 -0
  220. package/dist/monitoring/MetricsCollector.d.ts +120 -0
  221. package/dist/monitoring/MetricsCollector.d.ts.map +1 -0
  222. package/dist/monitoring/MetricsCollector.js +274 -0
  223. package/dist/monitoring/MetricsCollector.js.map +1 -0
  224. package/dist/monitoring/MonitoringDashboard.d.ts +38 -0
  225. package/dist/monitoring/MonitoringDashboard.d.ts.map +1 -0
  226. package/dist/monitoring/MonitoringDashboard.js +271 -0
  227. package/dist/monitoring/MonitoringDashboard.js.map +1 -0
  228. package/dist/plugins/PluginManager.d.ts +61 -0
  229. package/dist/plugins/PluginManager.d.ts.map +1 -0
  230. package/dist/plugins/PluginManager.js +154 -0
  231. package/dist/plugins/PluginManager.js.map +1 -0
  232. package/dist/rag/RAGEngine.d.ts +54 -0
  233. package/dist/rag/RAGEngine.d.ts.map +1 -0
  234. package/dist/rag/RAGEngine.js +162 -0
  235. package/dist/rag/RAGEngine.js.map +1 -0
  236. package/dist/rag/VectorStoreAdapter.d.ts +40 -0
  237. package/dist/rag/VectorStoreAdapter.d.ts.map +1 -0
  238. package/dist/rag/VectorStoreAdapter.js +106 -0
  239. package/dist/rag/VectorStoreAdapter.js.map +1 -0
  240. package/dist/realtime/EventEmitter.d.ts +86 -0
  241. package/dist/realtime/EventEmitter.d.ts.map +1 -0
  242. package/dist/realtime/EventEmitter.js +173 -0
  243. package/dist/realtime/EventEmitter.js.map +1 -0
  244. package/dist/realtime/StreamingManager.d.ts +26 -0
  245. package/dist/realtime/StreamingManager.d.ts.map +1 -0
  246. package/dist/realtime/StreamingManager.js +175 -0
  247. package/dist/realtime/StreamingManager.js.map +1 -0
  248. package/dist/reasoning/ReasoningEngine.d.ts +57 -0
  249. package/dist/reasoning/ReasoningEngine.d.ts.map +1 -0
  250. package/dist/reasoning/ReasoningEngine.js +316 -0
  251. package/dist/reasoning/ReasoningEngine.js.map +1 -0
  252. package/dist/resilience/CircuitBreaker.d.ts +41 -0
  253. package/dist/resilience/CircuitBreaker.d.ts.map +1 -0
  254. package/dist/resilience/CircuitBreaker.js +108 -0
  255. package/dist/resilience/CircuitBreaker.js.map +1 -0
  256. package/dist/resilience/RetryManager.d.ts +14 -0
  257. package/dist/resilience/RetryManager.d.ts.map +1 -0
  258. package/dist/resilience/RetryManager.js +35 -0
  259. package/dist/resilience/RetryManager.js.map +1 -0
  260. package/dist/types/GenomeV2.d.ts +226 -0
  261. package/dist/types/GenomeV2.d.ts.map +1 -0
  262. package/dist/types/GenomeV2.js +2 -0
  263. package/dist/types/GenomeV2.js.map +1 -0
  264. package/dist/types/index.d.ts +205 -0
  265. package/dist/types/index.d.ts.map +1 -0
  266. package/dist/types/index.js +2 -0
  267. package/dist/types/index.js.map +1 -0
  268. package/package.json +75 -0
package/README.md ADDED
@@ -0,0 +1,278 @@
1
+ # @pga-ai/core
2
+
3
+ > 🧬 **Genomic Self-Evolving Prompts** — Core Engine
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@pga-ai/core)](https://www.npmjs.com/package/@pga-ai/core)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ **Created by Luis Alfredo Velasquez Duran | Germany, 2025**
9
+
10
+ ---
11
+
12
+ ## What is @pga-ai/core?
13
+
14
+ The core engine for PGA (Genomic Self-Evolving Prompts) — the world's first system that makes AI prompts **evolve automatically** like biological organisms.
15
+
16
+ Instead of manually tweaking prompts, PGA:
17
+ - ✅ Learns from every interaction
18
+ - ✅ Adapts to each user uniquely
19
+ - ✅ Improves continuously (autonomous)
20
+ - ✅ Never degrades (immune system)
21
+ - ✅ Tests changes before deployment (sandbox)
22
+
23
+ ## Installation
24
+
25
+ ```bash
26
+ npm install @pga-ai/core
27
+ ```
28
+
29
+ You'll also need adapters for your LLM and database:
30
+
31
+ ```bash
32
+ npm install @pga-ai/adapters-llm @pga-ai/adapters-storage
33
+ ```
34
+
35
+ ## Quick Start
36
+
37
+ ```typescript
38
+ import { PGA } from '@pga-ai/core';
39
+ import { ClaudeAdapter } from '@pga-ai/adapters-llm/anthropic';
40
+ import { PostgresAdapter } from '@pga-ai/adapters-storage/postgres';
41
+
42
+ // 1. Initialize PGA
43
+ const pga = new PGA({
44
+ llm: new ClaudeAdapter({
45
+ apiKey: process.env.ANTHROPIC_KEY,
46
+ }),
47
+ storage: new PostgresAdapter({
48
+ connectionString: process.env.DATABASE_URL,
49
+ }),
50
+ });
51
+
52
+ await pga.initialize();
53
+
54
+ // 2. Create genome
55
+ const genome = await pga.createGenome({
56
+ name: 'my-assistant',
57
+ });
58
+
59
+ // 3. Use in your agent loop
60
+ async function chat(userId: string, message: string) {
61
+ const response = await genome.chat(message, { userId });
62
+ return response;
63
+ }
64
+
65
+ // 4. PGA learns automatically from interactions
66
+ await genome.recordInteraction({
67
+ userId: 'user123',
68
+ userMessage: 'Hello!',
69
+ assistantResponse: 'Hi there!',
70
+ toolCalls: [],
71
+ score: 0.9,
72
+ timestamp: new Date(),
73
+ });
74
+ ```
75
+
76
+ That's it! Your agent now evolves automatically.
77
+
78
+ ## Core Concepts
79
+
80
+ ### Three-Layer Architecture
81
+
82
+ ```
83
+ ┌─────────────────────────────────────────┐
84
+ │ Layer 0: Immutable DNA │
85
+ │ Security, Ethics, Core Identity │
86
+ │ 🚫 NEVER mutates │
87
+ ├─────────────────────────────────────────┤
88
+ │ Layer 1: Operative Genes │
89
+ │ Tool Usage, Coding Patterns │
90
+ │ 🐢 SLOW mutation (high validation) │
91
+ ├─────────────────────────────────────────┤
92
+ │ Layer 2: Epigenomes │
93
+ │ User Preferences, Communication Style │
94
+ │ ⚡ FAST mutation (daily adaptation) │
95
+ └─────────────────────────────────────────┘
96
+ ```
97
+
98
+ ### User DNA Profiling
99
+
100
+ Each user gets a unique cognitive profile:
101
+
102
+ ```typescript
103
+ const dna = await genome.getDNA('user123');
104
+
105
+ console.log(dna.traits);
106
+ // {
107
+ // communicationStyle: 'technical',
108
+ // verbosity: 'terse',
109
+ // preferredTools: ['browser', 'code'],
110
+ // domainExpertise: { 'coding': 0.9 }
111
+ // }
112
+ ```
113
+
114
+ ### Automatic Evolution
115
+
116
+ PGA evolves through a 4-phase cycle:
117
+
118
+ 1. **Transcription**: Log every interaction
119
+ 2. **Variation**: Generate mutations
120
+ 3. **Simulation**: Test in sandbox
121
+ 4. **Selection**: Deploy only improvements
122
+
123
+ ## API Reference
124
+
125
+ ### PGA Class
126
+
127
+ #### `new PGA(config)`
128
+
129
+ Create PGA instance.
130
+
131
+ ```typescript
132
+ const pga = new PGA({
133
+ llm: new ClaudeAdapter({ apiKey: '...' }),
134
+ storage: new PostgresAdapter({ connectionString: '...' }),
135
+ config: {
136
+ enableSandbox: true, // Test mutations before deploy
137
+ mutationRate: 'balanced', // 'slow' | 'balanced' | 'aggressive'
138
+ },
139
+ });
140
+ ```
141
+
142
+ #### `pga.initialize()`
143
+
144
+ Initialize storage (create tables, etc.).
145
+
146
+ ```typescript
147
+ await pga.initialize();
148
+ ```
149
+
150
+ #### `pga.createGenome(options)`
151
+
152
+ Create new genome.
153
+
154
+ ```typescript
155
+ const genome = await pga.createGenome({
156
+ name: 'my-assistant',
157
+ config: {
158
+ enableSandbox: true,
159
+ mutationRate: 'balanced',
160
+ },
161
+ });
162
+ ```
163
+
164
+ ### GenomeInstance Class
165
+
166
+ #### `genome.assemblePrompt(context)`
167
+
168
+ Get optimized prompt for current context.
169
+
170
+ ```typescript
171
+ const prompt = await genome.assemblePrompt({
172
+ userId: 'user123',
173
+ taskType: 'coding',
174
+ });
175
+ ```
176
+
177
+ #### `genome.chat(message, context)`
178
+
179
+ Chat with PGA optimization.
180
+
181
+ ```typescript
182
+ const response = await genome.chat('Hello!', {
183
+ userId: 'user123',
184
+ });
185
+ ```
186
+
187
+ #### `genome.recordInteraction(interaction)`
188
+
189
+ Record interaction (enables learning).
190
+
191
+ ```typescript
192
+ await genome.recordInteraction({
193
+ userId: 'user123',
194
+ userMessage: 'Fix this bug',
195
+ assistantResponse: 'Bug fixed!',
196
+ toolCalls: [],
197
+ score: 0.95,
198
+ timestamp: new Date(),
199
+ });
200
+ ```
201
+
202
+ #### `genome.getDNA(userId)`
203
+
204
+ Get user's DNA profile.
205
+
206
+ ```typescript
207
+ const dna = await genome.getDNA('user123');
208
+ ```
209
+
210
+ #### `genome.recordFeedback(userId, gene, sentiment)`
211
+
212
+ Record user feedback.
213
+
214
+ ```typescript
215
+ await genome.recordFeedback('user123', 'communication-style', 'positive');
216
+ ```
217
+
218
+ ## Adapters
219
+
220
+ ### LLM Adapters
221
+
222
+ Implement `LLMAdapter` interface:
223
+
224
+ ```typescript
225
+ import type { LLMAdapter } from '@pga-ai/core';
226
+
227
+ export class MyLLMAdapter implements LLMAdapter {
228
+ readonly name = 'my-llm';
229
+ readonly model = 'my-model-v1';
230
+
231
+ async chat(messages, options) {
232
+ // Your implementation
233
+ }
234
+ }
235
+ ```
236
+
237
+ Available adapters:
238
+ - `@pga-ai/adapters-llm/anthropic` - Claude
239
+ - `@pga-ai/adapters-llm/openai` - GPT
240
+ - `@pga-ai/adapters-llm/google` - Gemini
241
+ - `@pga-ai/adapters-llm/local` - Ollama
242
+
243
+ ### Storage Adapters
244
+
245
+ Implement `StorageAdapter` interface:
246
+
247
+ ```typescript
248
+ import type { StorageAdapter } from '@pga-ai/core';
249
+
250
+ export class MyStorageAdapter implements StorageAdapter {
251
+ async initialize() { /* ... */ }
252
+ async saveGenome(genome) { /* ... */ }
253
+ async loadGenome(id) { /* ... */ }
254
+ // ... other methods
255
+ }
256
+ ```
257
+
258
+ Available adapters:
259
+ - `@pga-ai/adapters-storage/postgres`
260
+ - `@pga-ai/adapters-storage/mongodb`
261
+ - `@pga-ai/adapters-storage/redis`
262
+ - `@pga-ai/adapters-storage/sqlite`
263
+
264
+ ## Examples
265
+
266
+ See [/examples](../../examples) directory for:
267
+ - Basic usage
268
+ - LangChain integration
269
+ - Custom agents
270
+ - Next.js app
271
+
272
+ ## License
273
+
274
+ MIT © Luis Alfredo Velasquez Duran
275
+
276
+ ---
277
+
278
+ **Created with 🧬 by [Luis Alfredo Velasquez Duran](https://pga.ai)**
package/dist/PGA.d.ts ADDED
@@ -0,0 +1,156 @@
1
+ import type { LLMAdapter } from './interfaces/LLMAdapter.js';
2
+ import type { StorageAdapter } from './interfaces/StorageAdapter.js';
3
+ import type { Genome, GenomeConfig, SelectionContext, Interaction, EvolutionGuardrails } from './types/index.js';
4
+ import { type ModelRouterConfig } from './advanced-ai/ModelRouter.js';
5
+ import { MetricsCollector, type MetricsCollectorConfig } from './monitoring/MetricsCollector.js';
6
+ import { MonitoringDashboard, type DashboardConfig } from './monitoring/MonitoringDashboard.js';
7
+ import { type RAGConfig } from './rag/RAGEngine.js';
8
+ import { type ReasoningConfig } from './reasoning/ReasoningEngine.js';
9
+ export interface PGAConfig {
10
+ llm: LLMAdapter;
11
+ storage: StorageAdapter;
12
+ config?: Partial<GenomeConfig>;
13
+ modelRouter?: ModelRouterConfig;
14
+ monitoring?: MetricsCollectorConfig;
15
+ dashboard?: DashboardConfig & {
16
+ enabled?: boolean;
17
+ };
18
+ rag?: RAGConfig;
19
+ reasoning?: Partial<ReasoningConfig>;
20
+ }
21
+ export declare class PGA {
22
+ private pgaConfig;
23
+ private genomeManager;
24
+ private llm;
25
+ private metricsCollector;
26
+ private dashboard?;
27
+ constructor(pgaConfig: PGAConfig);
28
+ initialize(): Promise<void>;
29
+ getMetrics(): MetricsCollector;
30
+ getDashboard(): MonitoringDashboard | undefined;
31
+ exportMetrics(): {
32
+ performance: import("./index.js").PerformanceMetrics;
33
+ cost: import("./index.js").CostMetrics;
34
+ health: import("./index.js").HealthStatus;
35
+ alerts: import("./index.js").Alert[];
36
+ auditLogs: import("./index.js").AuditLog[];
37
+ };
38
+ getAlerts(): import("./index.js").Alert[];
39
+ getHealthStatus(): import("./index.js").HealthStatus;
40
+ shutdown(): void;
41
+ createGenome(options: {
42
+ name: string;
43
+ config?: Partial<GenomeConfig>;
44
+ }): Promise<GenomeInstance>;
45
+ loadGenome(genomeId: string): Promise<GenomeInstance | null>;
46
+ listGenomes(): Promise<Genome[]>;
47
+ deleteGenome(genomeId: string): Promise<void>;
48
+ }
49
+ export declare class GenomeInstance {
50
+ private genome;
51
+ private llm;
52
+ private storage;
53
+ private assembler;
54
+ private dnaProfile;
55
+ private learningAnnouncer;
56
+ private contextMemory;
57
+ private proactiveSuggestions;
58
+ private guardrailsManager;
59
+ private modelRouter;
60
+ private metrics;
61
+ private ragEngine?;
62
+ private reasoningEngine?;
63
+ constructor(genome: Genome, llm: LLMAdapter, storage: StorageAdapter, metrics: MetricsCollector, modelRouterConfig?: ModelRouterConfig, ragConfig?: RAGConfig, reasoningConfig?: Partial<ReasoningConfig>);
64
+ get id(): string;
65
+ get name(): string;
66
+ getWelcomeMessage(style?: 'short' | 'detailed' | 'technical' | 'casual'): string;
67
+ assemblePrompt(context: SelectionContext, currentMessage?: string): Promise<string>;
68
+ chat(userMessage: string, context: SelectionContext): Promise<string>;
69
+ recordInteraction(interaction: Omit<Interaction, 'genomeId'>): Promise<void>;
70
+ getDNA(userId: string): Promise<import("./index.js").UserDNA>;
71
+ recordFeedback(userId: string, gene: string, sentiment: 'positive' | 'negative' | 'neutral'): Promise<void>;
72
+ addAllele(layer: 0 | 1 | 2, gene: string, variant: string, content: string): Promise<void>;
73
+ mutate(options?: {
74
+ operators?: string[];
75
+ candidates?: number;
76
+ minImprovement?: number;
77
+ taskType?: string;
78
+ layer?: 0 | 1 | 2;
79
+ gene?: string;
80
+ }): Promise<{
81
+ applied: boolean;
82
+ reason: string;
83
+ improvement?: number;
84
+ gateResults?: {
85
+ quality: {
86
+ passed: boolean;
87
+ score: number;
88
+ };
89
+ sandbox: {
90
+ passed: boolean;
91
+ score: number;
92
+ };
93
+ economic: {
94
+ passed: boolean;
95
+ score: number;
96
+ };
97
+ stability: {
98
+ passed: boolean;
99
+ score: number;
100
+ };
101
+ };
102
+ }>;
103
+ rollback(options: {
104
+ layer: 0 | 1 | 2;
105
+ gene: string;
106
+ variant: string;
107
+ }): Promise<void>;
108
+ chatWithMetrics(userMessage: string, context: SelectionContext): Promise<{
109
+ content: string;
110
+ metrics: {
111
+ tokensUsed: number;
112
+ responseTime: number;
113
+ fitnessScore: number;
114
+ };
115
+ }>;
116
+ publishGeneToRegistry(gene: string, variant: string, description?: string): Promise<string>;
117
+ inheritGeneFromRegistry(familyId: string, gene: string, targetLayer?: 0 | 1 | 2): Promise<void>;
118
+ getEvolutionHealth(): Promise<{
119
+ status: 'healthy' | 'degraded' | 'critical';
120
+ metrics: {
121
+ avgFitness: number;
122
+ mutationRate: number;
123
+ stabilityScore: number;
124
+ generationCount: number;
125
+ };
126
+ warnings: string[];
127
+ }>;
128
+ getAnalytics(): Promise<{
129
+ totalMutations: number;
130
+ totalInteractions: number;
131
+ avgFitnessImprovement: number;
132
+ userSatisfaction: number;
133
+ topGenes: Array<{
134
+ gene: string;
135
+ fitness: number;
136
+ }>;
137
+ }>;
138
+ getGuardrailsReport(): string;
139
+ updateGuardrails(updates: Partial<EvolutionGuardrails>): void;
140
+ getOptimalModel(userMessage: string, context?: string): Promise<import("./index.js").RoutingDecision>;
141
+ getRoutingAnalytics(): {
142
+ modelPerformance: Record<string, {
143
+ successRate: number;
144
+ avgCost: number;
145
+ avgLatency: number;
146
+ samples: number;
147
+ }>;
148
+ totalRoutings: number;
149
+ strategy: string;
150
+ };
151
+ export(): Promise<Genome>;
152
+ getLearningSummary(userId: string): Promise<string>;
153
+ getProactiveSuggestions(userId: string, currentMessage: string): Promise<import("./core/ProactiveSuggestions.js").ProactiveSuggestion[]>;
154
+ getConversationContext(userId: string): Promise<import("./core/ContextMemory.js").ConversationContext>;
155
+ }
156
+ //# sourceMappingURL=PGA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PGA.d.ts","sourceRoot":"","sources":["../src/PGA.ts"],"names":[],"mappings":"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"}