@getanima/core 0.1.0 → 0.2.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.
Files changed (84) hide show
  1. package/README.md +148 -113
  2. package/dist/alme/core/KnowledgeGraph.d.ts +58 -0
  3. package/dist/alme/core/KnowledgeGraph.d.ts.map +1 -0
  4. package/dist/alme/core/KnowledgeGraph.js +114 -0
  5. package/dist/alme/core/KnowledgeGraph.js.map +1 -0
  6. package/dist/alme/core/MetacognitionEngine.d.ts +35 -0
  7. package/dist/alme/core/MetacognitionEngine.d.ts.map +1 -0
  8. package/dist/alme/core/MetacognitionEngine.js +90 -0
  9. package/dist/alme/core/MetacognitionEngine.js.map +1 -0
  10. package/dist/alme/core/PerformanceAnalyzer.d.ts +68 -0
  11. package/dist/alme/core/PerformanceAnalyzer.d.ts.map +1 -0
  12. package/dist/alme/core/PerformanceAnalyzer.js +142 -0
  13. package/dist/alme/core/PerformanceAnalyzer.js.map +1 -0
  14. package/dist/alme/core/SelfReflectionModule.d.ts +41 -0
  15. package/dist/alme/core/SelfReflectionModule.d.ts.map +1 -0
  16. package/dist/alme/core/SelfReflectionModule.js +101 -0
  17. package/dist/alme/core/SelfReflectionModule.js.map +1 -0
  18. package/dist/alme/core/SkillProfile.d.ts +52 -0
  19. package/dist/alme/core/SkillProfile.d.ts.map +1 -0
  20. package/dist/alme/core/SkillProfile.js +97 -0
  21. package/dist/alme/core/SkillProfile.js.map +1 -0
  22. package/dist/anima.d.ts +57 -0
  23. package/dist/anima.d.ts.map +1 -1
  24. package/dist/anima.js +106 -8
  25. package/dist/anima.js.map +1 -1
  26. package/dist/codegen/ArchitecturalDesignGenerator.d.ts +77 -0
  27. package/dist/codegen/ArchitecturalDesignGenerator.d.ts.map +1 -0
  28. package/dist/codegen/ArchitecturalDesignGenerator.js +194 -0
  29. package/dist/codegen/ArchitecturalDesignGenerator.js.map +1 -0
  30. package/dist/codegen/ContextAwareGenerator.d.ts +67 -0
  31. package/dist/codegen/ContextAwareGenerator.d.ts.map +1 -0
  32. package/dist/codegen/ContextAwareGenerator.js +158 -0
  33. package/dist/codegen/ContextAwareGenerator.js.map +1 -0
  34. package/dist/codegen/SystemInteractionSimulator.d.ts +87 -0
  35. package/dist/codegen/SystemInteractionSimulator.d.ts.map +1 -0
  36. package/dist/codegen/SystemInteractionSimulator.js +203 -0
  37. package/dist/codegen/SystemInteractionSimulator.js.map +1 -0
  38. package/dist/codegen/multiStageCodegen.d.ts +30 -0
  39. package/dist/codegen/multiStageCodegen.d.ts.map +1 -0
  40. package/dist/codegen/multiStageCodegen.js +60 -0
  41. package/dist/codegen/multiStageCodegen.js.map +1 -0
  42. package/dist/esm/anima.js +340 -0
  43. package/dist/esm/anima.js.map +1 -0
  44. package/dist/esm/identity.js +205 -0
  45. package/dist/esm/identity.js.map +1 -0
  46. package/dist/esm/index.js +14 -0
  47. package/dist/esm/index.js.map +1 -0
  48. package/dist/esm/memory.js +429 -0
  49. package/dist/esm/memory.js.map +1 -0
  50. package/dist/esm/reflection.js +86 -0
  51. package/dist/esm/reflection.js.map +1 -0
  52. package/dist/esm/signing.js +194 -0
  53. package/dist/esm/signing.js.map +1 -0
  54. package/dist/esm/types.js +6 -0
  55. package/dist/esm/types.js.map +1 -0
  56. package/dist/esm/utils.js +155 -0
  57. package/dist/esm/utils.js.map +1 -0
  58. package/dist/ideation/InnovationEngine.d.ts +47 -0
  59. package/dist/ideation/InnovationEngine.d.ts.map +1 -0
  60. package/dist/ideation/InnovationEngine.js +127 -0
  61. package/dist/ideation/InnovationEngine.js.map +1 -0
  62. package/dist/index.d.ts +2 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +3 -1
  65. package/dist/index.js.map +1 -1
  66. package/dist/learning-tracker/LearningVisualizer.d.ts +26 -0
  67. package/dist/learning-tracker/LearningVisualizer.d.ts.map +1 -0
  68. package/dist/learning-tracker/LearningVisualizer.js +61 -0
  69. package/dist/learning-tracker/LearningVisualizer.js.map +1 -0
  70. package/dist/memory.d.ts +28 -0
  71. package/dist/memory.d.ts.map +1 -1
  72. package/dist/memory.js +77 -0
  73. package/dist/memory.js.map +1 -1
  74. package/dist/signing.d.ts +96 -0
  75. package/dist/signing.d.ts.map +1 -0
  76. package/dist/signing.js +231 -0
  77. package/dist/signing.js.map +1 -0
  78. package/dist/types.d.ts +6 -0
  79. package/dist/types.d.ts.map +1 -1
  80. package/dist/utils.d.ts +8 -2
  81. package/dist/utils.d.ts.map +1 -1
  82. package/dist/utils.js +28 -9
  83. package/dist/utils.js.map +1 -1
  84. package/package.json +5 -2
package/dist/anima.js CHANGED
@@ -31,6 +31,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
31
31
  exports.Anima = void 0;
32
32
  const memory_1 = require("./memory");
33
33
  const identity_1 = require("./identity");
34
+ const signing_1 = require("./signing");
34
35
  const utils_1 = require("./utils");
35
36
  class Anima {
36
37
  config;
@@ -39,6 +40,7 @@ class Anima {
39
40
  memory;
40
41
  bootTime = 0;
41
42
  memoriesThisSession = 0;
43
+ signing;
42
44
  booted = false;
43
45
  constructor(config) {
44
46
  this.config = {
@@ -52,6 +54,7 @@ class Anima {
52
54
  this.session = (0, utils_1.sessionId)();
53
55
  this.identity = new identity_1.IdentityManager(this.config.storagePath, this.config.identity);
54
56
  this.memory = new memory_1.MemoryEngine(this.config.storagePath, this.session, this.config.decay);
57
+ this.signing = new signing_1.SigningEngine(this.config.storagePath);
55
58
  }
56
59
  // ============ BOOT SEQUENCE ============
57
60
  // Order matters. This is enforced, not suggested.
@@ -61,6 +64,18 @@ class Anima {
61
64
  * Returns a WakeContext with everything the agent needs to start working.
62
65
  * Target: productive state in <60 seconds.
63
66
  */
67
+ /**
68
+ * QuickLoad — lightweight init for CLI commands that don't need full boot context.
69
+ * Loads index + opinions without logging a boot event or returning full context.
70
+ */
71
+ async quickLoad() {
72
+ if (this.booted)
73
+ return;
74
+ await this.identity.load();
75
+ // Load memory index and opinions silently
76
+ await this.memory.loadIndexPublic();
77
+ this.booted = true;
78
+ }
64
79
  async boot() {
65
80
  const startTime = Date.now();
66
81
  // Step 1: Load identity (SOUL.md + identity.json) — ~5s
@@ -102,6 +117,8 @@ class Anima {
102
117
  relevantOpinions: opinions,
103
118
  relationships: [], // TODO: relationship engine
104
119
  sessionId: this.session,
120
+ instanceId: (0, utils_1.sessionId)(), // Unique per boot — prevents identity confusion when forked
121
+ parentInstanceId: undefined, // Set by caller if this is a forked instance
105
122
  lastSessionSummary: todayLog || yesterdayLog || undefined,
106
123
  tokenBudget: 4000, // reasonable default
107
124
  tokensUsed: this.estimateTokens(identityData, recentMemories, opinions),
@@ -162,6 +179,25 @@ class Anima {
162
179
  this.ensureBooted();
163
180
  return this.memory.opine({ topic, opinion, confidence });
164
181
  }
182
+ // ============ CURATE ============
183
+ /**
184
+ * Curate — review raw memories and distill what matters into long-term memory.
185
+ *
186
+ * The missing piece between storage and retrieval.
187
+ * Raw daily logs are your journal. MEMORY.md is your identity.
188
+ * This method bridges the two.
189
+ *
190
+ * Call periodically (heartbeats, daily, whenever feels right).
191
+ *
192
+ * ```typescript
193
+ * const result = await anima.curate();
194
+ * console.log(`Curated ${result.curated.length} memories`);
195
+ * ```
196
+ */
197
+ async curate(options) {
198
+ this.ensureBooted();
199
+ return this.memory.curate(options);
200
+ }
165
201
  // ============ REFLECT (End of session) ============
166
202
  /**
167
203
  * Reflect — end-of-session consolidation.
@@ -170,6 +206,8 @@ class Anima {
170
206
  async reflect() {
171
207
  this.ensureBooted();
172
208
  const startTime = Date.now();
209
+ // Curate before decay — promote important memories to MEMORY.md
210
+ const curationResult = await this.memory.curate({ hoursBack: 24, minImportance: 'medium' });
173
211
  // Run memory decay
174
212
  const decayResult = await this.memory.runDecay();
175
213
  // Get all opinions for summary
@@ -177,7 +215,7 @@ class Anima {
177
215
  // Generate session summary
178
216
  const summary = {
179
217
  sessionId: this.session,
180
- startedAt: new Date(Date.now() - (Date.now() - this.bootTime)).toISOString(),
218
+ startedAt: new Date(Date.now() - this.bootTime).toISOString(),
181
219
  endedAt: (0, utils_1.now)(),
182
220
  summary: `Session ${this.session}: ${this.memoriesThisSession} memories created. Decay: ${decayResult.decayed} removed, ${decayResult.archived} archived, ${decayResult.kept} kept.`,
183
221
  memoriesCreated: this.memoriesThisSession,
@@ -197,15 +235,75 @@ class Anima {
197
235
  importance: 'low',
198
236
  tags: ['system', 'session-summary'],
199
237
  });
200
- // Clear lifeboat (session ended normally)
201
- await this.memory.updateLifeboat({
202
- activeTask: 'No active task session ended normally',
203
- status: 'done',
204
- resumePoint: 'Start fresh next session',
205
- updatedAt: (0, utils_1.now)(),
206
- });
238
+ // Update lifeboat with session summary — PRESERVE existing content
239
+ // The lifeboat may contain a hand-written letter from the agent to future-self.
240
+ // Append session summary instead of nuking everything.
241
+ const existingLifeboat = await this.memory.readLifeboat();
242
+ const sessionEndNote = [
243
+ `\n## Last Session Summary (${(0, utils_1.now)()})`,
244
+ summary.summary,
245
+ `Curated ${curationResult.curated.length} memories to long-term.`,
246
+ `\n## Status`,
247
+ `done — session ended normally. Read everything above for context.`,
248
+ ].join('\n');
249
+ if (existingLifeboat && !existingLifeboat.includes('session ended normally')) {
250
+ // Preserve existing lifeboat, append summary
251
+ await this.memory.writeLifeboatRaw(existingLifeboat + '\n' + sessionEndNote);
252
+ }
253
+ else {
254
+ // No meaningful lifeboat content — write clean end state
255
+ await this.memory.updateLifeboat({
256
+ activeTask: 'No active task — session ended normally',
257
+ status: 'done',
258
+ resumePoint: 'Start fresh next session',
259
+ updatedAt: (0, utils_1.now)(),
260
+ });
261
+ }
207
262
  return summary;
208
263
  }
264
+ // ============ SIGNING ============
265
+ /**
266
+ * Sign — cryptographically sign this agent's identity.
267
+ * Produces a verifiable bundle that proves "this identity is mine and untampered."
268
+ * Initializes keys on first call.
269
+ */
270
+ async sign() {
271
+ this.ensureBooted();
272
+ await this.signing.init(this.config.name);
273
+ const identity = this.identity.get();
274
+ const signed = this.signing.signIdentity(identity);
275
+ await this.signing.saveSignedIdentity(signed);
276
+ return signed;
277
+ }
278
+ /**
279
+ * Verify — check another agent's signed identity.
280
+ * Static: doesn't require booting your own Anima instance.
281
+ *
282
+ * Usage:
283
+ * ```typescript
284
+ * const result = Anima.verify(signedIdentityFromOtherAgent);
285
+ * if (result.valid) console.log(`Verified: ${result.agentName}`);
286
+ * ```
287
+ */
288
+ static verify(signed) {
289
+ return signing_1.SigningEngine.verifyIdentity(signed);
290
+ }
291
+ /**
292
+ * Get this agent's public key bundle — share this for others to verify you.
293
+ * Never includes the private key.
294
+ */
295
+ async getKeyBundle() {
296
+ await this.signing.init(this.config.name);
297
+ return this.signing.getKeyBundle();
298
+ }
299
+ /**
300
+ * Get this agent's fingerprint — a short, human-readable identity string.
301
+ * Like SSH: "ab:cd:ef:12:34:56:78:90:..."
302
+ */
303
+ async getFingerprint() {
304
+ await this.signing.init(this.config.name);
305
+ return this.signing.getFingerprint();
306
+ }
209
307
  // ============ ACCESSORS ============
210
308
  /** Get current session ID */
211
309
  getSessionId() {
package/dist/anima.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"anima.js","sourceRoot":"","sources":["../src/anima.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anima.js","sourceRoot":"","sources":["../src/anima.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { KnowledgeGraph } from '../alme/core/KnowledgeGraph';
2
+ declare enum ArchitecturalPattern {
3
+ Microservices = 0,
4
+ EventDriven = 1,
5
+ Monolithic = 2,
6
+ Serverless = 3,
7
+ Hexagonal = 4,
8
+ CleanArchitecture = 5
9
+ }
10
+ interface TechnologyStack {
11
+ backend: string[];
12
+ frontend: string[];
13
+ database: string[];
14
+ deployment: string[];
15
+ }
16
+ interface ProjectRequirements {
17
+ domain: string;
18
+ scalabilityNeeds: 'low' | 'medium' | 'high';
19
+ performanceConstraints: {
20
+ responseTime: number;
21
+ concurrentUsers: number;
22
+ };
23
+ complexityLevel: 'simple' | 'moderate' | 'complex';
24
+ }
25
+ export declare class ArchitecturalDesignGenerator {
26
+ private knowledgeGraph;
27
+ private architecturalTemplates;
28
+ private technologyStacks;
29
+ constructor(knowledgeGraph: KnowledgeGraph);
30
+ /**
31
+ * Generate architectural design
32
+ * @param requirements Project requirements
33
+ * @returns Comprehensive architectural design
34
+ */
35
+ generateArchitecture(requirements: ProjectRequirements): {
36
+ selectedPattern: ArchitecturalPattern;
37
+ technologyStack: TechnologyStack;
38
+ architecturalBlueprint: string;
39
+ designRecommendations: string[];
40
+ };
41
+ /**
42
+ * Select optimal architectural pattern
43
+ * @param requirements Project requirements
44
+ * @returns Best matching architectural pattern
45
+ */
46
+ private selectArchitecturalPattern;
47
+ /**
48
+ * Retrieve technology stack for pattern
49
+ * @param pattern Selected architectural pattern
50
+ * @returns Recommended technology stack
51
+ */
52
+ private getTechnologyStack;
53
+ /**
54
+ * Create architectural blueprint
55
+ * @param pattern Selected architectural pattern
56
+ * @param requirements Project requirements
57
+ * @returns Architectural blueprint
58
+ */
59
+ private createArchitecturalBlueprint;
60
+ /**
61
+ * Enrich blueprint with knowledge graph insights
62
+ * @param blueprint Base architectural blueprint
63
+ * @param requirements Project requirements
64
+ * @returns Enriched blueprint
65
+ */
66
+ private enrichBlueprintWithKnowledgeInsights;
67
+ /**
68
+ * Generate design recommendations
69
+ * @param pattern Selected architectural pattern
70
+ * @param requirements Project requirements
71
+ * @returns Design recommendations
72
+ */
73
+ private generateDesignRecommendations;
74
+ }
75
+ export declare const architecturalDesignGenerator: ArchitecturalDesignGenerator;
76
+ export {};
77
+ //# sourceMappingURL=ArchitecturalDesignGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArchitecturalDesignGenerator.d.ts","sourceRoot":"","sources":["../../src/codegen/ArchitecturalDesignGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,aAAK,oBAAoB;IACvB,aAAa,IAAA;IACb,WAAW,IAAA;IACX,UAAU,IAAA;IACV,UAAU,IAAA;IACV,SAAS,IAAA;IACT,iBAAiB,IAAA;CAClB;AAGD,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAGD,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,sBAAsB,EAAE;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,eAAe,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CACpD;AAED,qBAAa,4BAA4B;IACvC,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,sBAAsB,CAsC3B;IAGH,OAAO,CAAC,gBAAgB,CAarB;gBAES,cAAc,EAAE,cAAc;IAI1C;;;;OAIG;IACH,oBAAoB,CAClB,YAAY,EAAE,mBAAmB,GAChC;QACD,eAAe,EAAE,oBAAoB,CAAC;QACtC,eAAe,EAAE,eAAe,CAAC;QACjC,sBAAsB,EAAE,MAAM,CAAC;QAC/B,qBAAqB,EAAE,MAAM,EAAE,CAAC;KACjC;IAiCD;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAelC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAqBpC;;;;;OAKG;IACH,OAAO,CAAC,oCAAoC;IAkB5C;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;CA8BtC;AAGD,eAAO,MAAM,4BAA4B,8BAExC,CAAC"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.architecturalDesignGenerator = exports.ArchitecturalDesignGenerator = void 0;
4
+ const KnowledgeGraph_1 = require("../alme/core/KnowledgeGraph");
5
+ // Architectural patterns and styles
6
+ var ArchitecturalPattern;
7
+ (function (ArchitecturalPattern) {
8
+ ArchitecturalPattern[ArchitecturalPattern["Microservices"] = 0] = "Microservices";
9
+ ArchitecturalPattern[ArchitecturalPattern["EventDriven"] = 1] = "EventDriven";
10
+ ArchitecturalPattern[ArchitecturalPattern["Monolithic"] = 2] = "Monolithic";
11
+ ArchitecturalPattern[ArchitecturalPattern["Serverless"] = 3] = "Serverless";
12
+ ArchitecturalPattern[ArchitecturalPattern["Hexagonal"] = 4] = "Hexagonal";
13
+ ArchitecturalPattern[ArchitecturalPattern["CleanArchitecture"] = 5] = "CleanArchitecture";
14
+ })(ArchitecturalPattern || (ArchitecturalPattern = {}));
15
+ class ArchitecturalDesignGenerator {
16
+ knowledgeGraph;
17
+ // Predefined architectural templates
18
+ architecturalTemplates = new Map([
19
+ [ArchitecturalPattern.Microservices, {
20
+ description: 'Distributed system with independently deployable services',
21
+ bestPractices: [
22
+ 'Use lightweight communication protocols',
23
+ 'Implement service discovery',
24
+ 'Design for fault tolerance'
25
+ ],
26
+ componentStructure: `
27
+ microservices/
28
+ ├── service-discovery/
29
+ ├── api-gateway/
30
+ ├── auth-service/
31
+ ├── core-service/
32
+ └── monitoring/
33
+ `
34
+ }],
35
+ [ArchitecturalPattern.Serverless, {
36
+ description: 'Event-driven, cloud-native architecture',
37
+ bestPractices: [
38
+ 'Minimize cold start times',
39
+ 'Design stateless functions',
40
+ 'Implement robust error handling'
41
+ ],
42
+ componentStructure: `
43
+ serverless/
44
+ ├── functions/
45
+ │ ├── authentication/
46
+ │ ├── data-processing/
47
+ │ └── notification/
48
+ ├── event-sources/
49
+ └── infrastructure/
50
+ `
51
+ }]
52
+ ]);
53
+ // Recommended technology stacks
54
+ technologyStacks = new Map([
55
+ [ArchitecturalPattern.Microservices, {
56
+ backend: ['Node.js', 'Kotlin', 'Go'],
57
+ frontend: ['React', 'Vue.js'],
58
+ database: ['MongoDB', 'Cassandra'],
59
+ deployment: ['Kubernetes', 'Docker']
60
+ }],
61
+ [ArchitecturalPattern.Serverless, {
62
+ backend: ['AWS Lambda', 'Azure Functions'],
63
+ frontend: ['Next.js', 'Svelte'],
64
+ database: ['DynamoDB', 'Firestore'],
65
+ deployment: ['Terraform', 'Serverless Framework']
66
+ }]
67
+ ]);
68
+ constructor(knowledgeGraph) {
69
+ this.knowledgeGraph = knowledgeGraph;
70
+ }
71
+ /**
72
+ * Generate architectural design
73
+ * @param requirements Project requirements
74
+ * @returns Comprehensive architectural design
75
+ */
76
+ generateArchitecture(requirements) {
77
+ // 1. Select appropriate architectural pattern
78
+ const selectedPattern = this.selectArchitecturalPattern(requirements);
79
+ // 2. Retrieve technology stack
80
+ const technologyStack = this.getTechnologyStack(selectedPattern);
81
+ // 3. Generate architectural blueprint
82
+ const architecturalBlueprint = this.createArchitecturalBlueprint(selectedPattern, requirements);
83
+ // 4. Generate design recommendations
84
+ const designRecommendations = this.generateDesignRecommendations(selectedPattern, requirements);
85
+ // 5. Enrich with knowledge graph insights
86
+ const enrichedBlueprint = this.enrichBlueprintWithKnowledgeInsights(architecturalBlueprint, requirements);
87
+ return {
88
+ selectedPattern,
89
+ technologyStack,
90
+ architecturalBlueprint: enrichedBlueprint,
91
+ designRecommendations
92
+ };
93
+ }
94
+ /**
95
+ * Select optimal architectural pattern
96
+ * @param requirements Project requirements
97
+ * @returns Best matching architectural pattern
98
+ */
99
+ selectArchitecturalPattern(requirements) {
100
+ // Intelligent pattern selection logic
101
+ if (requirements.scalabilityNeeds === 'high') {
102
+ return ArchitecturalPattern.Microservices;
103
+ }
104
+ if (requirements.performanceConstraints.concurrentUsers > 10000) {
105
+ return ArchitecturalPattern.Serverless;
106
+ }
107
+ return ArchitecturalPattern.Microservices; // Default fallback
108
+ }
109
+ /**
110
+ * Retrieve technology stack for pattern
111
+ * @param pattern Selected architectural pattern
112
+ * @returns Recommended technology stack
113
+ */
114
+ getTechnologyStack(pattern) {
115
+ const stack = this.technologyStacks.get(pattern);
116
+ if (!stack) {
117
+ throw new Error(`No technology stack found for pattern: ${pattern}`);
118
+ }
119
+ return stack;
120
+ }
121
+ /**
122
+ * Create architectural blueprint
123
+ * @param pattern Selected architectural pattern
124
+ * @param requirements Project requirements
125
+ * @returns Architectural blueprint
126
+ */
127
+ createArchitecturalBlueprint(pattern, requirements) {
128
+ const template = this.architecturalTemplates.get(pattern);
129
+ if (!template) {
130
+ throw new Error(`No template found for pattern: ${pattern}`);
131
+ }
132
+ return `
133
+ # Architectural Design: ${requirements.domain}
134
+ ## Pattern: ${ArchitecturalPattern[pattern]}
135
+ ## Complexity: ${requirements.complexityLevel}
136
+
137
+ ${template.componentStructure}
138
+
139
+ ## Best Practices:
140
+ ${template.bestPractices.map(practice => `- ${practice}`).join('\n')}
141
+ `;
142
+ }
143
+ /**
144
+ * Enrich blueprint with knowledge graph insights
145
+ * @param blueprint Base architectural blueprint
146
+ * @param requirements Project requirements
147
+ * @returns Enriched blueprint
148
+ */
149
+ enrichBlueprintWithKnowledgeInsights(blueprint, requirements) {
150
+ // Find related concepts in knowledge graph
151
+ const relatedConcepts = this.knowledgeGraph.findRelatedConcepts(requirements.domain, 2 // Depth of exploration
152
+ );
153
+ // Extract and integrate insights
154
+ const conceptInsights = relatedConcepts
155
+ .map(concept => `## Domain Insight: ${concept.content}`)
156
+ .join('\n');
157
+ return `${blueprint}\n\n${conceptInsights}`;
158
+ }
159
+ /**
160
+ * Generate design recommendations
161
+ * @param pattern Selected architectural pattern
162
+ * @param requirements Project requirements
163
+ * @returns Design recommendations
164
+ */
165
+ generateDesignRecommendations(pattern, requirements) {
166
+ const baseRecommendations = [
167
+ `Optimize for ${requirements.scalabilityNeeds} scalability`,
168
+ `Design to support ${requirements.performanceConstraints.concurrentUsers} concurrent users`,
169
+ `Implement ${requirements.complexityLevel} complexity architecture`
170
+ ];
171
+ const patternSpecificRecommendations = {
172
+ [ArchitecturalPattern.Microservices]: [
173
+ 'Implement robust service discovery',
174
+ 'Design for independent service deployment'
175
+ ],
176
+ [ArchitecturalPattern.Serverless]: [
177
+ 'Minimize cold start times',
178
+ 'Design stateless, event-driven functions'
179
+ ],
180
+ [ArchitecturalPattern.EventDriven]: [],
181
+ [ArchitecturalPattern.Monolithic]: [],
182
+ [ArchitecturalPattern.Hexagonal]: [],
183
+ [ArchitecturalPattern.CleanArchitecture]: []
184
+ };
185
+ return [
186
+ ...baseRecommendations,
187
+ ...(patternSpecificRecommendations[pattern] || [])
188
+ ];
189
+ }
190
+ }
191
+ exports.ArchitecturalDesignGenerator = ArchitecturalDesignGenerator;
192
+ // Singleton instance for global use
193
+ exports.architecturalDesignGenerator = new ArchitecturalDesignGenerator(new KnowledgeGraph_1.KnowledgeGraph());
194
+ //# sourceMappingURL=ArchitecturalDesignGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArchitecturalDesignGenerator.js","sourceRoot":"","sources":["../../src/codegen/ArchitecturalDesignGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { KnowledgeGraph } from '../../alme/core/KnowledgeGraph';
2
+ declare enum CodeGenerationContext {
3
+ MobileApp = 0,
4
+ WebService = 1,
5
+ SystemIntegration = 2,
6
+ MachineLearning = 3,
7
+ ServerlessArchitecture = 4
8
+ }
9
+ interface CodeGenerationRequest {
10
+ context: CodeGenerationContext;
11
+ domain: string;
12
+ specificRequirements: string[];
13
+ constraints: {
14
+ performanceTarget?: number;
15
+ memoryLimit?: number;
16
+ scalabilityRequirements?: string;
17
+ };
18
+ }
19
+ export declare class ContextAwareCodeGenerator {
20
+ private knowledgeGraph;
21
+ private codeTemplates;
22
+ constructor(knowledgeGraph: KnowledgeGraph);
23
+ /**
24
+ * Generate context-aware code
25
+ * @param request Code generation requirements
26
+ * @returns Generated code snippet
27
+ */
28
+ generateCode(request: CodeGenerationRequest): Promise<string>;
29
+ /**
30
+ * Retrieve appropriate code template
31
+ * @param context Generation context
32
+ * @returns Matching code template
33
+ */
34
+ private getCodeTemplate;
35
+ /**
36
+ * Enrich template with contextual insights
37
+ * @param template Base code template
38
+ * @param contextNodes Related knowledge graph nodes
39
+ * @param request Generation request
40
+ * @returns Enhanced template
41
+ */
42
+ private enrichTemplateWithContextualInsights;
43
+ /**
44
+ * Fill template with specific implementation details
45
+ * @param template Enhanced code template
46
+ * @param request Generation request
47
+ * @returns Specific code implementation
48
+ */
49
+ private fillTemplateWithSpecifics;
50
+ /**
51
+ * Validate generated code
52
+ * @param code Generated code snippet
53
+ * @param request Original generation request
54
+ * @returns Validation result
55
+ */
56
+ private validateGeneratedCode;
57
+ /**
58
+ * Refine generated code based on feedback
59
+ * @param code Original generated code
60
+ * @param feedback Validation feedback
61
+ * @returns Improved code
62
+ */
63
+ private refineCode;
64
+ }
65
+ export declare const contextAwareCodeGenerator: ContextAwareCodeGenerator;
66
+ export {};
67
+ //# sourceMappingURL=ContextAwareGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextAwareGenerator.d.ts","sourceRoot":"","sources":["../../src/codegen/ContextAwareGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,aAAK,qBAAqB;IACxB,SAAS,IAAA;IACT,UAAU,IAAA;IACV,iBAAiB,IAAA;IACjB,eAAe,IAAA;IACf,sBAAsB,IAAA;CACvB;AAGD,UAAU,qBAAqB;IAC7B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE;QACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;CACH;AASD,qBAAa,yBAAyB;IACpC,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,aAAa,CA2ClB;gBAES,cAAc,EAAE,cAAc;IAI1C;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BnE;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAQvB;;;;;;OAMG;IACH,OAAO,CAAC,oCAAoC;IAmB5C;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;;;;OAKG;YACW,qBAAqB;IAoBnC;;;;;OAKG;IACH,OAAO,CAAC,UAAU;CAMnB;AAGD,eAAO,MAAM,yBAAyB,2BAErC,CAAC"}