@cogitator-ai/self-modifying 17.0.18 → 18.0.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 (84) hide show
  1. package/README.md +112 -48
  2. package/dist/architecture-evolution/capability-analyzer.d.ts.map +1 -1
  3. package/dist/architecture-evolution/capability-analyzer.js +38 -37
  4. package/dist/architecture-evolution/capability-analyzer.js.map +1 -1
  5. package/dist/architecture-evolution/index.d.ts +2 -2
  6. package/dist/architecture-evolution/index.d.ts.map +1 -1
  7. package/dist/architecture-evolution/index.js +1 -1
  8. package/dist/architecture-evolution/index.js.map +1 -1
  9. package/dist/architecture-evolution/parameter-optimizer.d.ts +5 -4
  10. package/dist/architecture-evolution/parameter-optimizer.d.ts.map +1 -1
  11. package/dist/architecture-evolution/parameter-optimizer.js +36 -31
  12. package/dist/architecture-evolution/parameter-optimizer.js.map +1 -1
  13. package/dist/architecture-evolution/prompts.d.ts +21 -2
  14. package/dist/architecture-evolution/prompts.d.ts.map +1 -1
  15. package/dist/architecture-evolution/prompts.js +150 -36
  16. package/dist/architecture-evolution/prompts.js.map +1 -1
  17. package/dist/constraints/modification-validator.d.ts +1 -0
  18. package/dist/constraints/modification-validator.d.ts.map +1 -1
  19. package/dist/constraints/modification-validator.js +30 -14
  20. package/dist/constraints/modification-validator.js.map +1 -1
  21. package/dist/index.d.ts +4 -4
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -3
  24. package/dist/index.js.map +1 -1
  25. package/dist/meta-reasoning/meta-reasoner.d.ts +3 -0
  26. package/dist/meta-reasoning/meta-reasoner.d.ts.map +1 -1
  27. package/dist/meta-reasoning/meta-reasoner.js +101 -33
  28. package/dist/meta-reasoning/meta-reasoner.js.map +1 -1
  29. package/dist/meta-reasoning/prompts.d.ts +10 -14
  30. package/dist/meta-reasoning/prompts.d.ts.map +1 -1
  31. package/dist/meta-reasoning/prompts.js +109 -1
  32. package/dist/meta-reasoning/prompts.js.map +1 -1
  33. package/dist/self-modifying-agent.d.ts +83 -17
  34. package/dist/self-modifying-agent.d.ts.map +1 -1
  35. package/dist/self-modifying-agent.js +557 -444
  36. package/dist/self-modifying-agent.js.map +1 -1
  37. package/dist/tool-generation/gap-analyzer.d.ts +0 -1
  38. package/dist/tool-generation/gap-analyzer.d.ts.map +1 -1
  39. package/dist/tool-generation/gap-analyzer.js +14 -14
  40. package/dist/tool-generation/gap-analyzer.js.map +1 -1
  41. package/dist/tool-generation/index.d.ts +3 -3
  42. package/dist/tool-generation/index.d.ts.map +1 -1
  43. package/dist/tool-generation/index.js +2 -2
  44. package/dist/tool-generation/index.js.map +1 -1
  45. package/dist/tool-generation/prompts.d.ts +1 -0
  46. package/dist/tool-generation/prompts.d.ts.map +1 -1
  47. package/dist/tool-generation/prompts.js +33 -8
  48. package/dist/tool-generation/prompts.js.map +1 -1
  49. package/dist/tool-generation/tool-generator.d.ts +5 -5
  50. package/dist/tool-generation/tool-generator.d.ts.map +1 -1
  51. package/dist/tool-generation/tool-generator.js +41 -28
  52. package/dist/tool-generation/tool-generator.js.map +1 -1
  53. package/dist/tool-generation/tool-sandbox.d.ts +9 -6
  54. package/dist/tool-generation/tool-sandbox.d.ts.map +1 -1
  55. package/dist/tool-generation/tool-sandbox.js +257 -157
  56. package/dist/tool-generation/tool-sandbox.js.map +1 -1
  57. package/dist/tool-generation/tool-validator.d.ts +3 -8
  58. package/dist/tool-generation/tool-validator.d.ts.map +1 -1
  59. package/dist/tool-generation/tool-validator.js +53 -54
  60. package/dist/tool-generation/tool-validator.js.map +1 -1
  61. package/dist/utils/llm-helper.d.ts.map +1 -1
  62. package/dist/utils/llm-helper.js +1 -0
  63. package/dist/utils/llm-helper.js.map +1 -1
  64. package/package.json +3 -12
  65. package/src/__tests__/component-regressions.test.ts +599 -0
  66. package/src/__tests__/meta-reasoning.test.ts +5 -1
  67. package/src/__tests__/sandbox-security.test.ts +186 -0
  68. package/src/__tests__/self-modifying-agent.test.ts +363 -1
  69. package/src/architecture-evolution/capability-analyzer.ts +56 -40
  70. package/src/architecture-evolution/index.ts +2 -0
  71. package/src/architecture-evolution/parameter-optimizer.ts +52 -34
  72. package/src/architecture-evolution/prompts.ts +179 -41
  73. package/src/constraints/modification-validator.ts +30 -14
  74. package/src/index.ts +14 -0
  75. package/src/meta-reasoning/meta-reasoner.ts +105 -40
  76. package/src/meta-reasoning/prompts.ts +129 -15
  77. package/src/self-modifying-agent.ts +764 -489
  78. package/src/tool-generation/gap-analyzer.ts +19 -18
  79. package/src/tool-generation/index.ts +13 -3
  80. package/src/tool-generation/prompts.ts +41 -8
  81. package/src/tool-generation/tool-generator.ts +59 -33
  82. package/src/tool-generation/tool-sandbox.ts +306 -175
  83. package/src/tool-generation/tool-validator.ts +66 -63
  84. package/src/utils/llm-helper.ts +1 -0
@@ -1,11 +1,13 @@
1
1
  import { CapabilityAnalyzer } from './capability-analyzer.js';
2
2
  import { EvolutionStrategy } from './evolution-strategy.js';
3
- import { buildCandidateGenerationPrompt, buildPerformanceAnalysisPrompt, parseCandidateGenerationResponse, parsePerformanceAnalysisResponse, } from './prompts.js';
3
+ import { buildCandidateGenerationPrompt, buildPerformanceAnalysisPrompt, parseCandidateGenerationResponse, parsePerformanceAnalysisResponse, MAX_TOKENS_RANGE, REFLECTION_DEPTH_RANGE, TEMPERATURE_RANGE, } from './prompts.js';
4
+ import { llmChat } from '../utils/llm-helper.js';
4
5
  export class ParameterOptimizer {
5
6
  llm;
6
7
  config;
7
8
  model;
8
9
  baseConfig;
10
+ availableModels;
9
11
  capabilityAnalyzer;
10
12
  evolutionStrategy;
11
13
  candidates = [];
@@ -18,6 +20,7 @@ export class ParameterOptimizer {
18
20
  this.config = options.config;
19
21
  this.model = options.model ?? 'default';
20
22
  this.baseConfig = options.baseConfig;
23
+ this.availableModels = options.availableModels ?? [];
21
24
  this.capabilityAnalyzer = new CapabilityAnalyzer({
22
25
  llm: options.llm,
23
26
  enableLLMAnalysis: true,
@@ -34,19 +37,23 @@ export class ParameterOptimizer {
34
37
  await this.generateInitialCandidates(profile);
35
38
  }
36
39
  const selection = this.evolutionStrategy.select(this.candidates);
37
- const mergedConfig = this.mergeConfigs(this.baseConfig, selection.candidate.config);
40
+ const candidate = selection.candidate;
41
+ const mergedConfig = this.mergeConfigs(this.baseConfig, candidate.config);
38
42
  const bestEvaluated = this.candidates
39
43
  .filter((c) => c.evaluationCount > 0)
40
44
  .sort((a, b) => b.score - a.score)[0];
41
- const shouldAdopt = !bestEvaluated ||
42
- selection.candidate.id === bestEvaluated.id ||
43
- selection.score >= bestEvaluated.score * 0.9;
45
+ const threshold = this.config.adaptationThreshold ?? 0.1;
46
+ const shouldAdopt = candidate.evaluationCount === 0 ||
47
+ !bestEvaluated ||
48
+ candidate.id === bestEvaluated.id ||
49
+ candidate.score >= bestEvaluated.score - threshold;
44
50
  return {
45
51
  recommendedConfig: mergedConfig,
46
- candidate: selection.candidate,
52
+ taskProfile: profile,
53
+ candidate,
47
54
  metrics: this.calculateMetrics(),
48
55
  shouldAdopt,
49
- confidence: selection.score,
56
+ confidence: candidate.evaluationCount > 0 ? candidate.score : 0.5,
50
57
  reasoning: selection.reasoning,
51
58
  };
52
59
  }
@@ -76,19 +83,22 @@ export class ParameterOptimizer {
76
83
  }
77
84
  }
78
85
  async generateInitialCandidates(profile) {
79
- const prompt = buildCandidateGenerationPrompt(profile, this.baseConfig, this.getRelevantHistory(profile));
86
+ const prompt = buildCandidateGenerationPrompt(profile, this.baseConfig, this.getRelevantHistory(profile), { availableModels: this.availableModels });
80
87
  try {
81
- const response = await this.callLLM([
88
+ const content = await llmChat(this.llm, [
82
89
  {
83
90
  role: 'system',
84
91
  content: 'You are an AI architecture optimizer. Generate candidate configurations.',
85
92
  },
86
93
  { role: 'user', content: prompt },
87
- ], 0.5);
88
- const generated = parseCandidateGenerationResponse(response.content);
94
+ ], { model: this.model, temperature: 0.5 });
95
+ const generated = parseCandidateGenerationResponse(content, {
96
+ availableModels: this.availableModels,
97
+ }).filter((c) => c.risk !== 'high');
98
+ const maxCandidates = this.config.maxCandidates ?? 10;
89
99
  this.candidates = [
90
100
  this.createBaselineCandidate(),
91
- ...generated.map((c) => ({
101
+ ...generated.slice(0, Math.max(0, maxCandidates - 1)).map((c) => ({
92
102
  ...c,
93
103
  generation: this.currentGeneration,
94
104
  })),
@@ -169,16 +179,16 @@ export class ParameterOptimizer {
169
179
  const mutationRate = 0.3;
170
180
  if (Math.random() < mutationRate) {
171
181
  const base = mutated.temperature ?? this.baseConfig.temperature;
172
- mutated.temperature = Math.max(0, Math.min(2, base + (Math.random() - 0.5) * 0.3));
182
+ mutated.temperature = Math.max(TEMPERATURE_RANGE.min, Math.min(TEMPERATURE_RANGE.max, base + (Math.random() - 0.5) * 0.3));
173
183
  }
174
184
  if (Math.random() < mutationRate) {
175
185
  const base = mutated.maxTokens ?? this.baseConfig.maxTokens;
176
186
  const delta = Math.floor((Math.random() - 0.5) * 1000);
177
- mutated.maxTokens = Math.max(100, Math.min(32000, base + delta));
187
+ mutated.maxTokens = Math.max(MAX_TOKENS_RANGE.min, Math.min(MAX_TOKENS_RANGE.max, base + delta));
178
188
  }
179
189
  if (Math.random() < mutationRate) {
180
190
  const base = mutated.reflectionDepth ?? this.baseConfig.reflectionDepth;
181
- mutated.reflectionDepth = Math.max(0, Math.min(5, base + Math.round(Math.random() * 2 - 1)));
191
+ mutated.reflectionDepth = Math.max(REFLECTION_DEPTH_RANGE.min, Math.min(REFLECTION_DEPTH_RANGE.max, base + Math.round(Math.random() * 2 - 1)));
182
192
  }
183
193
  return mutated;
184
194
  }
@@ -220,16 +230,16 @@ export class ParameterOptimizer {
220
230
  const minRequired = this.config.minEvaluationsBeforeEvolution ?? 3;
221
231
  if (minEvaluations < minRequired)
222
232
  return false;
223
- const evaluationsSinceEvolution = this.history.filter((h) => h.timestamp > this.getLastEvolutionTime()).length;
224
- return evaluationsSinceEvolution >= 5;
233
+ const evaluationsSinceEvolution = this.history.filter((h) => h.timestamp > this.lastEvolutionTimestamp).length;
234
+ return evaluationsSinceEvolution >= this.getEvaluationWindow();
225
235
  }
226
- getLastEvolutionTime() {
227
- return this.lastEvolutionTimestamp;
236
+ getEvaluationWindow() {
237
+ return Math.max(1, this.config.evaluationWindow ?? 10);
228
238
  }
229
239
  getRelevantHistory(profile) {
230
240
  return this.history
231
241
  .filter((h) => h.taskProfile.domain === profile.domain || h.taskProfile.complexity === profile.complexity)
232
- .slice(-10);
242
+ .slice(-this.getEvaluationWindow());
233
243
  }
234
244
  mergeConfigs(base, overrides) {
235
245
  return {
@@ -302,9 +312,10 @@ export class ParameterOptimizer {
302
312
  return fields > 0 ? distance / fields : 0;
303
313
  }
304
314
  calculateConvergenceRate() {
305
- if (this.history.length < 10)
315
+ const window = this.getEvaluationWindow();
316
+ if (this.history.length < window)
306
317
  return 0;
307
- const recentScores = this.history.slice(-10).map((h) => h.score);
318
+ const recentScores = this.history.slice(-window).map((h) => h.score);
308
319
  const variance = this.calculateVariance(recentScores);
309
320
  return Math.max(0, 1 - variance * 4);
310
321
  }
@@ -337,22 +348,16 @@ export class ParameterOptimizer {
337
348
  });
338
349
  const prompt = buildPerformanceAnalysisPrompt(evaluatedCandidates, results);
339
350
  try {
340
- const response = await this.callLLM([
351
+ const content = await llmChat(this.llm, [
341
352
  { role: 'system', content: 'You are an AI performance analyst.' },
342
353
  { role: 'user', content: prompt },
343
- ], 0.2);
344
- return parsePerformanceAnalysisResponse(response.content);
354
+ ], { model: this.model, temperature: 0.2 });
355
+ return parsePerformanceAnalysisResponse(content);
345
356
  }
346
357
  catch {
347
358
  return null;
348
359
  }
349
360
  }
350
- async callLLM(messages, temperature) {
351
- if (this.llm.complete) {
352
- return this.llm.complete({ messages, temperature });
353
- }
354
- return this.llm.chat({ model: this.model, messages, temperature });
355
- }
356
361
  getCandidates() {
357
362
  return [...this.candidates];
358
363
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-optimizer.js","sourceRoot":"","sources":["../../src/architecture-evolution/parameter-optimizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter-optimizer.js","sourceRoot":"","sources":["../../src/architecture-evolution/parameter-optimizer.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,9 @@ export declare function buildCandidateGenerationPrompt(profile: TaskProfile, cur
12
12
  config: Partial<ArchitectureConfig>;
13
13
  score: number;
14
14
  metrics: Record<string, number>;
15
- }>): string;
15
+ }>, options?: {
16
+ availableModels?: string[];
17
+ }): string;
16
18
  export declare function buildPerformanceAnalysisPrompt(candidates: EvolutionCandidate[], results: Array<{
17
19
  candidateId: string;
18
20
  metrics: {
@@ -22,8 +24,25 @@ export declare function buildPerformanceAnalysisPrompt(candidates: EvolutionCand
22
24
  qualityScore: number;
23
25
  };
24
26
  }>): string;
27
+ export declare const MAX_TOKENS_RANGE: {
28
+ readonly min: 100;
29
+ readonly max: 32000;
30
+ };
31
+ export declare const REFLECTION_DEPTH_RANGE: {
32
+ readonly min: 0;
33
+ readonly max: 5;
34
+ };
35
+ export declare const TEMPERATURE_RANGE: {
36
+ readonly min: 0;
37
+ readonly max: 2;
38
+ };
25
39
  export declare function parseTaskProfileResponse(response: string): TaskProfile | null;
26
- export declare function parseCandidateGenerationResponse(response: string): EvolutionCandidate[];
40
+ export declare function sanitizeCandidateConfig(raw: unknown, options?: {
41
+ availableModels?: string[];
42
+ }): Partial<ArchitectureConfig>;
43
+ export declare function parseCandidateGenerationResponse(response: string, options?: {
44
+ availableModels?: string[];
45
+ }): EvolutionCandidate[];
27
46
  export declare function parsePerformanceAnalysisResponse(response: string): {
28
47
  recommendation: string;
29
48
  confidence: number;
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/architecture-evolution/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG/F,eAAO,MAAM,mCAAmC,ycASN,CAAC;AAE3C,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD,GACA,MAAM,CAgCR;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,kBAAkB,EACjC,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC,GACD,MAAM,CA0CR;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,kBAAkB,EAAE,EAChC,OAAO,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC,GACD,MAAM,CAwBR;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAuB7E;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CA2BvF;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAgBP"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/architecture-evolution/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG/F,eAAO,MAAM,mCAAmC,ycASN,CAAC;AAE3C,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD,GACA,MAAM,CAgCR;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,kBAAkB,EACjC,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC,EACF,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAC3C,MAAM,CAkDR;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,kBAAkB,EAAE,EAChC,OAAO,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC,GACD,MAAM,CAwBR;AAkDD,eAAO,MAAM,gBAAgB;;;CAAoC,CAAC;AAClE,eAAO,MAAM,sBAAsB;;;CAA8B,CAAC;AAClE,eAAO,MAAM,iBAAiB;;;CAA8B,CAAC;AAoB7D,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA4B7E;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAC3C,OAAO,CAAC,kBAAkB,CAAC,CA+B7B;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAC3C,kBAAkB,EAAE,CA0CtB;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAgBP"}
@@ -41,7 +41,14 @@ Respond with a JSON object:
41
41
  "riskFactors": ["List of potential challenges"]
42
42
  }`;
43
43
  }
44
- export function buildCandidateGenerationPrompt(profile, currentConfig, historicalPerformance) {
44
+ export function buildCandidateGenerationPrompt(profile, currentConfig, historicalPerformance, options = {}) {
45
+ const availableModels = options.availableModels ?? [];
46
+ const modelLine = availableModels.length > 0
47
+ ? `\n "model": ${availableModels.map((m) => JSON.stringify(m)).join(' | ')} | null,`
48
+ : '';
49
+ const modelRule = availableModels.length > 0
50
+ ? `Only use models from this list: ${availableModels.join(', ')}.`
51
+ : 'Do not change the model.';
45
52
  const historySection = historicalPerformance?.length
46
53
  ? `
47
54
  HISTORICAL PERFORMANCE:
@@ -61,18 +68,17 @@ ${historySection}
61
68
 
62
69
  Generate 3-5 candidate configurations that might improve performance.
63
70
  Each candidate should modify 1-3 parameters from current config.
71
+ ${modelRule}
64
72
 
65
73
  Respond with a JSON array:
66
74
  [
67
75
  {
68
76
  "id": "candidate_1",
69
- "config": {
70
- "model": "model name or null to keep current",
71
- "temperature": number or null,
77
+ "config": {${modelLine}
78
+ "temperature": number between 0 and 2 or null,
72
79
  "maxTokens": number or null,
73
- "systemPromptAdditions": "additional instructions or null",
74
80
  "toolStrategy": "sequential" | "parallel" | "adaptive" | null,
75
- "reflectionDepth": number or null
81
+ "reflectionDepth": integer between 0 and 5 or null
76
82
  },
77
83
  "reasoning": "Why this configuration might help",
78
84
  "expectedImprovement": 0.0-1.0,
@@ -105,54 +111,162 @@ Respond with:
105
111
  "adoptionReason": "Why to adopt or not adopt the recommendation"
106
112
  }`;
107
113
  }
114
+ const COMPLEXITIES = [
115
+ 'trivial',
116
+ 'simple',
117
+ 'moderate',
118
+ 'complex',
119
+ 'expert',
120
+ 'extreme',
121
+ ];
122
+ const DOMAINS = [
123
+ 'general',
124
+ 'coding',
125
+ 'reasoning',
126
+ 'creative',
127
+ 'factual',
128
+ 'conversational',
129
+ ];
130
+ const TOOL_INTENSITIES = [
131
+ 'none',
132
+ 'light',
133
+ 'moderate',
134
+ 'heavy',
135
+ ];
136
+ const REASONING_DEPTHS = [
137
+ 'shallow',
138
+ 'moderate',
139
+ 'deep',
140
+ 'exhaustive',
141
+ ];
142
+ const CREATIVITY_LEVELS = ['low', 'moderate', 'high'];
143
+ const ACCURACY_LEVELS = [
144
+ 'approximate',
145
+ 'moderate',
146
+ 'high',
147
+ 'critical',
148
+ ];
149
+ const TIME_CONSTRAINTS = [
150
+ 'none',
151
+ 'relaxed',
152
+ 'moderate',
153
+ 'strict',
154
+ ];
155
+ const TOOL_STRATEGIES = [
156
+ 'sequential',
157
+ 'parallel',
158
+ 'adaptive',
159
+ ];
160
+ const RISKS = ['low', 'medium', 'high'];
161
+ export const MAX_TOKENS_RANGE = { min: 100, max: 32000 };
162
+ export const REFLECTION_DEPTH_RANGE = { min: 0, max: 5 };
163
+ export const TEMPERATURE_RANGE = { min: 0, max: 2 };
164
+ function pickEnum(value, allowed, fallback) {
165
+ return typeof value === 'string' && allowed.includes(value)
166
+ ? value
167
+ : fallback;
168
+ }
169
+ function finiteNumber(value) {
170
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
171
+ }
172
+ function clamp(value, range) {
173
+ return Math.min(range.max, Math.max(range.min, value));
174
+ }
175
+ function isRecord(value) {
176
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
177
+ }
108
178
  export function parseTaskProfileResponse(response) {
109
179
  const json = extractJson(response);
110
180
  if (!json)
111
181
  return null;
182
+ let parsed;
112
183
  try {
113
- const parsed = JSON.parse(json);
114
- return {
115
- complexity: parsed.complexity || 'moderate',
116
- domain: parsed.domain || 'general',
117
- estimatedTokens: parsed.estimatedTokens || 1000,
118
- requiresTools: Boolean(parsed.requiresTools),
119
- requiresReasoning: Boolean(parsed.requiresReasoning),
120
- requiresCreativity: Boolean(parsed.requiresCreativity),
121
- toolIntensity: parsed.toolIntensity || 'none',
122
- reasoningDepth: parsed.reasoningDepth || 'moderate',
123
- creativityLevel: parsed.creativityLevel || 'moderate',
124
- accuracyRequirement: parsed.accuracyRequirement || 'moderate',
125
- timeConstraint: parsed.timeConstraint || 'none',
126
- };
184
+ parsed = JSON.parse(json);
127
185
  }
128
186
  catch {
129
187
  return null;
130
188
  }
189
+ if (!isRecord(parsed))
190
+ return null;
191
+ const estimatedTokens = finiteNumber(parsed.estimatedTokens);
192
+ return {
193
+ complexity: pickEnum(parsed.complexity, COMPLEXITIES, 'moderate'),
194
+ domain: pickEnum(parsed.domain, DOMAINS, 'general'),
195
+ estimatedTokens: estimatedTokens !== undefined && estimatedTokens > 0 ? Math.round(estimatedTokens) : 1000,
196
+ requiresTools: Boolean(parsed.requiresTools),
197
+ requiresReasoning: Boolean(parsed.requiresReasoning),
198
+ requiresCreativity: Boolean(parsed.requiresCreativity),
199
+ toolIntensity: pickEnum(parsed.toolIntensity, TOOL_INTENSITIES, 'none'),
200
+ reasoningDepth: pickEnum(parsed.reasoningDepth, REASONING_DEPTHS, 'moderate'),
201
+ creativityLevel: pickEnum(parsed.creativityLevel, CREATIVITY_LEVELS, 'moderate'),
202
+ accuracyRequirement: pickEnum(parsed.accuracyRequirement, ACCURACY_LEVELS, 'moderate'),
203
+ timeConstraint: pickEnum(parsed.timeConstraint, TIME_CONSTRAINTS, 'none'),
204
+ };
205
+ }
206
+ export function sanitizeCandidateConfig(raw, options = {}) {
207
+ if (!isRecord(raw))
208
+ return {};
209
+ const config = {};
210
+ if (typeof raw.model === 'string' && options.availableModels?.includes(raw.model)) {
211
+ config.model = raw.model;
212
+ }
213
+ const temperature = finiteNumber(raw.temperature);
214
+ if (temperature !== undefined) {
215
+ config.temperature = clamp(temperature, TEMPERATURE_RANGE);
216
+ }
217
+ const maxTokens = finiteNumber(raw.maxTokens);
218
+ if (maxTokens !== undefined) {
219
+ config.maxTokens = clamp(Math.round(maxTokens), MAX_TOKENS_RANGE);
220
+ }
221
+ if (typeof raw.toolStrategy === 'string' &&
222
+ TOOL_STRATEGIES.includes(raw.toolStrategy)) {
223
+ config.toolStrategy = raw.toolStrategy;
224
+ }
225
+ const reflectionDepth = finiteNumber(raw.reflectionDepth);
226
+ if (reflectionDepth !== undefined) {
227
+ config.reflectionDepth = clamp(Math.round(reflectionDepth), REFLECTION_DEPTH_RANGE);
228
+ }
229
+ return config;
131
230
  }
132
- export function parseCandidateGenerationResponse(response) {
231
+ export function parseCandidateGenerationResponse(response, options = {}) {
133
232
  const json = extractJsonArray(response);
134
233
  if (!json)
135
234
  return [];
235
+ let parsed;
136
236
  try {
137
- const parsed = JSON.parse(json);
138
- if (!Array.isArray(parsed))
139
- return [];
140
- return parsed
141
- .filter((c) => c && typeof c === 'object' && c.config)
142
- .map((c, idx) => ({
143
- id: String(c.id || `candidate_${idx}`),
144
- config: c.config,
145
- reasoning: String(c.reasoning || ''),
146
- expectedImprovement: typeof c.expectedImprovement === 'number' ? c.expectedImprovement : 0.5,
147
- risk: (['low', 'medium', 'high'].includes(String(c.risk)) ? c.risk : 'medium'),
148
- generation: 0,
149
- score: 0,
150
- evaluationCount: 0,
151
- }));
237
+ parsed = JSON.parse(json);
152
238
  }
153
239
  catch {
154
240
  return [];
155
241
  }
242
+ if (!Array.isArray(parsed))
243
+ return [];
244
+ const usedIds = new Set(['baseline']);
245
+ const candidates = [];
246
+ parsed.forEach((raw, idx) => {
247
+ if (!isRecord(raw))
248
+ return;
249
+ const config = sanitizeCandidateConfig(raw.config, options);
250
+ if (Object.keys(config).length === 0)
251
+ return;
252
+ let id = typeof raw.id === 'string' && raw.id.trim() ? raw.id.trim() : `candidate_${idx}`;
253
+ while (usedIds.has(id)) {
254
+ id = `${id}_${idx}`;
255
+ }
256
+ usedIds.add(id);
257
+ const expectedImprovement = finiteNumber(raw.expectedImprovement);
258
+ candidates.push({
259
+ id,
260
+ config,
261
+ reasoning: typeof raw.reasoning === 'string' ? raw.reasoning : '',
262
+ expectedImprovement: expectedImprovement !== undefined ? clamp(expectedImprovement, { min: 0, max: 1 }) : 0.5,
263
+ risk: pickEnum(raw.risk, RISKS, 'medium'),
264
+ generation: 0,
265
+ score: 0,
266
+ evaluationCount: 0,
267
+ });
268
+ });
269
+ return candidates;
156
270
  }
157
271
  export function parsePerformanceAnalysisResponse(response) {
158
272
  const json = extractJson(response);
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/architecture-evolution/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/architecture-evolution/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,CAAC,MAAM,mCAAmC,GAAG;;;;;;;;;0CAST,CAAC;AAE3C,MAAM,UAAU,sBAAsB,CACpC,eAAuB,EACvB,OAIC;IAED,MAAM,cAAc,GAAG,OAAO;QAC5B,CAAC,CAAC;;EAEJ,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EACpG,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EAChG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;EAC/E,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACzF,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;EAGP,eAAe;EACf,cAAc;;;;;;;;;;;;;;;;;EAiBd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,OAAoB,EACpB,aAAiC,EACjC,qBAIE,EACF,UAA0C,EAAE;IAE5C,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IACtD,MAAM,SAAS,GACb,eAAe,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,oBAAoB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;QACzF,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,SAAS,GACb,eAAe,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,mCAAmC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAClE,CAAC,CAAC,0BAA0B,CAAC;IACjC,MAAM,cAAc,GAAG,qBAAqB,EAAE,MAAM;QAClD,CAAC,CAAC;;EAEJ,qBAAqB;aACpB,KAAK,CAAC,CAAC,CAAC,CAAC;aACT,GAAG,CACF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CACxH;aACA,IAAI,CAAC,IAAI,CAAC,EAAE;QACX,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;EAGP,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;EAGhC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;EACtC,cAAc;;;;EAId,SAAS;;;;;;iBAMM,SAAS;;;;;;;;;;EAUxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,UAAgC,EAChC,OAQE;IAEF,OAAO;;;EAGP,UAAU;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO;EACT,CAAC,CAAC,EAAE;YACM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;eACrB,CAAC,CAAC,SAAS;IACtB,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC7E,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;EAUX,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAyC;IACzD,SAAS;IACT,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;CACV,CAAC;AACF,MAAM,OAAO,GAAqC;IAChD,SAAS;IACT,QAAQ;IACR,WAAW;IACX,UAAU;IACV,SAAS;IACT,gBAAgB;CACjB,CAAC;AACF,MAAM,gBAAgB,GAA4C;IAChE,MAAM;IACN,OAAO;IACP,UAAU;IACV,OAAO;CACR,CAAC;AACF,MAAM,gBAAgB,GAA6C;IACjE,SAAS;IACT,UAAU;IACV,MAAM;IACN,YAAY;CACb,CAAC;AACF,MAAM,iBAAiB,GAA8C,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AACjG,MAAM,eAAe,GAAkD;IACrE,aAAa;IACb,UAAU;IACV,MAAM;IACN,UAAU;CACX,CAAC;AACF,MAAM,gBAAgB,GAA6C;IACjE,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;CACT,CAAC;AACF,MAAM,eAAe,GAAkD;IACrE,YAAY;IACZ,UAAU;IACV,UAAU;CACX,CAAC;AACF,MAAM,KAAK,GAA0C,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAW,CAAC;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAW,CAAC;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAW,CAAC;AAE7D,SAAS,QAAQ,CAAmB,KAAc,EAAE,OAAqB,EAAE,QAAW;IACpF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,OAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChF,CAAC,CAAE,KAAW;QACd,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,KAAmC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAE7D,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC;QACjE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;QACnD,eAAe,EACb,eAAe,KAAK,SAAS,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3F,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QAC5C,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACpD,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACtD,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,gBAAgB,EAAE,MAAM,CAAC;QACvE,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,UAAU,CAAC;QAC7E,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,UAAU,CAAC;QAChF,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,eAAe,EAAE,UAAU,CAAC;QACtF,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,MAAM,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAAY,EACZ,UAA0C,EAAE;IAE5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpE,CAAC;IAED,IACE,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;QACnC,eAAqC,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EACjE,CAAC;QACD,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,YAAkD,CAAC;IAC/E,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC1D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,sBAAsB,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,QAAgB,EAChB,UAA0C,EAAE;IAE5C,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAyB,EAAE,CAAC;IAE5C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAY,EAAE,GAAW,EAAE,EAAE;QAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO;QAC3B,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE7C,IAAI,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1F,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,EAAE,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,mBAAmB,GAAG,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAElE,UAAU,CAAC,IAAI,CAAC;YACd,EAAE;YACF,MAAM;YACN,SAAS,EAAE,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACjE,mBAAmB,EACjB,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG;YAC1F,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;YACzC,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,CAAC;YACR,eAAe,EAAE,CAAC;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,QAAgB;IAM/D,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhC,OAAO;YACL,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;YACnD,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;YAC3E,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;YACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;SACxC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,KAAK,CAAC;YACf,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC;YACd,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,QAAQ;YAAE,SAAS;QAEvB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACjC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAClC,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -12,6 +12,7 @@ export declare class ModificationValidator {
12
12
  private evaluateSafetyRule;
13
13
  private evaluateExpression;
14
14
  private evaluateSimpleCondition;
15
+ private payloadOf;
15
16
  private resolveValue;
16
17
  private checkCapabilityConstraints;
17
18
  private checkResourceConstraints;
@@ -1 +1 @@
1
- {"version":3,"file":"modification-validator.d.ts","sourceRoot":"","sources":["../../src/constraints/modification-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EAEvB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAEjB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,UAAU,CAAU;gBAEhB,OAAO,GAAE,4BAAiC;IAKhD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,4BAA4B,CAAC;YA2CrE,sBAAsB;IAmBpC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,uBAAuB;IA+B/B,OAAO,CAAC,YAAY;YAiBN,0BAA0B;YA+C1B,wBAAwB;YAuDxB,sBAAsB;IAyBpC,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IASvD,uBAAuB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAS/D,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI;IAS3D,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAYvD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IA8BrC,cAAc,IAAI,uBAAuB;CAQ1C"}
1
+ {"version":3,"file":"modification-validator.d.ts","sourceRoot":"","sources":["../../src/constraints/modification-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EAEvB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAEjB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,UAAU,CAAU;gBAEhB,OAAO,GAAE,4BAAiC;IAKhD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,4BAA4B,CAAC;YA2CrE,sBAAsB;IAsBpC,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,uBAAuB;IA+B/B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,YAAY;YAoBN,0BAA0B;YAiD1B,wBAAwB;YAuDxB,sBAAsB;IAyBpC,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IASvD,uBAAuB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAS/D,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI;IAS3D,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAYvD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IA8BrC,cAAc,IAAI,uBAAuB;CAQ1C"}