@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
@@ -75,16 +75,124 @@ Analyze the agent's reasoning process and respond with a JSON object:
75
75
  }
76
76
  }`;
77
77
  }
78
+ const REASONING_MODES = [
79
+ 'analytical',
80
+ 'creative',
81
+ 'systematic',
82
+ 'intuitive',
83
+ 'reflective',
84
+ 'exploratory',
85
+ ];
86
+ const ISSUE_TYPES = [
87
+ 'stagnation',
88
+ 'low_confidence',
89
+ 'high_cost',
90
+ 'repetition',
91
+ 'tool_failure',
92
+ ];
93
+ const SEVERITIES = ['low', 'medium', 'high'];
94
+ const OPPORTUNITY_TYPES = [
95
+ 'mode_switch',
96
+ 'parameter_tune',
97
+ 'context_add',
98
+ 'tool_compose',
99
+ ];
100
+ const ACTIONS = [
101
+ 'continue',
102
+ 'switch_mode',
103
+ 'adjust_parameters',
104
+ 'inject_context',
105
+ 'abort',
106
+ ];
107
+ function isRecord(value) {
108
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
109
+ }
110
+ function pick(value, allowed) {
111
+ return typeof value === 'string' && allowed.includes(value)
112
+ ? value
113
+ : undefined;
114
+ }
115
+ function probability(value) {
116
+ return typeof value === 'number' && Number.isFinite(value)
117
+ ? Math.min(1, Math.max(0, value))
118
+ : undefined;
119
+ }
120
+ function parseParameterChanges(value) {
121
+ if (!isRecord(value))
122
+ return undefined;
123
+ const changes = {};
124
+ if (typeof value.temperature === 'number' && Number.isFinite(value.temperature)) {
125
+ changes.temperature = Math.min(2, Math.max(0, value.temperature));
126
+ }
127
+ if (typeof value.depth === 'number' && Number.isFinite(value.depth)) {
128
+ changes.depth = Math.min(10, Math.max(1, Math.round(value.depth)));
129
+ }
130
+ return Object.keys(changes).length > 0 ? changes : undefined;
131
+ }
132
+ function parseRecommendation(value) {
133
+ if (!isRecord(value))
134
+ return undefined;
135
+ const action = pick(value.action, ACTIONS);
136
+ if (!action)
137
+ return undefined;
138
+ return {
139
+ action,
140
+ newMode: pick(value.newMode, REASONING_MODES),
141
+ parameterChanges: parseParameterChanges(value.parameterChanges),
142
+ contextAddition: typeof value.contextAddition === 'string' && value.contextAddition.trim()
143
+ ? value.contextAddition.trim()
144
+ : undefined,
145
+ confidence: probability(value.confidence) ?? 0,
146
+ reasoning: typeof value.reasoning === 'string' ? value.reasoning : '',
147
+ };
148
+ }
78
149
  export function parseMetaAssessmentResponse(content) {
150
+ let parsed;
79
151
  try {
80
152
  const json = extractJson(content);
81
153
  if (!json)
82
154
  return null;
83
- return JSON.parse(json);
155
+ parsed = JSON.parse(json);
84
156
  }
85
157
  catch {
86
158
  return null;
87
159
  }
160
+ if (!isRecord(parsed))
161
+ return null;
162
+ const issues = [];
163
+ for (const raw of Array.isArray(parsed.issues) ? parsed.issues : []) {
164
+ if (!isRecord(raw))
165
+ continue;
166
+ const type = pick(raw.type, ISSUE_TYPES);
167
+ if (!type)
168
+ continue;
169
+ issues.push({
170
+ type,
171
+ severity: pick(raw.severity, SEVERITIES) ?? 'medium',
172
+ description: typeof raw.description === 'string' ? raw.description : '',
173
+ });
174
+ }
175
+ const opportunities = [];
176
+ for (const raw of Array.isArray(parsed.opportunities) ? parsed.opportunities : []) {
177
+ if (!isRecord(raw))
178
+ continue;
179
+ const type = pick(raw.type, OPPORTUNITY_TYPES);
180
+ if (!type)
181
+ continue;
182
+ opportunities.push({
183
+ type,
184
+ description: typeof raw.description === 'string' ? raw.description : '',
185
+ expectedImprovement: probability(raw.expectedImprovement) ?? 0.5,
186
+ });
187
+ }
188
+ return {
189
+ onTrack: typeof parsed.onTrack === 'boolean' ? parsed.onTrack : undefined,
190
+ confidence: probability(parsed.confidence),
191
+ reasoning: typeof parsed.reasoning === 'string' ? parsed.reasoning : undefined,
192
+ issues,
193
+ opportunities,
194
+ recommendation: parseRecommendation(parsed.recommendation),
195
+ };
88
196
  }
89
197
  export const META_REASONING_SYSTEM_PROMPT = `You are a meta-reasoning system analyzing an AI agent's reasoning process.
90
198
  Your job is to assess whether the agent is on track and recommend strategic adjustments.
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/meta-reasoning/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,UAAU,yBAAyB,CACvC,WAA4B,EAC5B,OAGC;IAED,OAAO;;;EAGP,WAAW,CAAC,IAAI;;;QAGV,WAAW,CAAC,WAAW;eAChB,OAAO,CAAC,iBAAiB,CAAC,WAAW;wBAC5B,WAAW,CAAC,mBAAmB;;;oBAGnC,CAAC,WAAW,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gCAChC,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;sBACjG,WAAW,CAAC,eAAe;;;wBAGzB,CAAC,WAAW,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;WAC7D,WAAW,CAAC,eAAe;cACxB,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;iBAG5E,WAAW,CAAC,UAAU;kBACrB,WAAW,CAAC,WAAW;sBACnB,CAAC,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;uBAGpD,CAAC,WAAW,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;sBAC/C,CAAC,WAAW,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;EAGlE,CAAC,WAAW,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;;;EAIrJ,CAAC,WAAW,CAAC,cAAc,IAAK,EAAiD,CAAC;SAC/E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,OAAO,GAAG,CAAwC,CAAC;QACzD,OAAO,MAAM,OAAO,CAAC,IAAI,IAAI,SAAS,KAAK,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;IACrE,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,IAAI,MACnB;;;EAGE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCpD,CAAC;AACH,CAAC;AA0BD,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;8DASkB,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/meta-reasoning/prompts.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,70 @@
1
- import type { Agent, Tool, LLMBackend, SelfModifyingConfig, ArchitectureConfig, GeneratedTool, MetaObservation, MetaAdaptation, ModificationCheckpoint, AppliedModification, SelfModifyingEvent, CapabilityGap } from '@cogitator-ai/types';
1
+ import type { Agent, Tool, LLMBackend, ToolSelfGenerationConfig, ToolSandboxConfig, MetaReasoningConfig, ArchitectureEvolutionConfig, ModificationConstraintsConfig, ModificationConstraints, ArchitectureConfig, GeneratedTool, MetaObservation, MetaAssessment, MetaAdaptation, ModificationCheckpoint, AppliedModification, SelfModifyingEvent, SelfModifyingEventType, CapabilityGap, EvolutionMetrics, ReasoningMode } from '@cogitator-ai/types';
2
+ export interface SelfModifyingAgentConfig {
3
+ enabled?: boolean;
4
+ toolGeneration?: Partial<Omit<ToolSelfGenerationConfig, 'sandboxConfig'>> & {
5
+ sandboxConfig?: Partial<ToolSandboxConfig>;
6
+ };
7
+ metaReasoning?: Partial<MetaReasoningConfig>;
8
+ architectureEvolution?: Partial<ArchitectureEvolutionConfig>;
9
+ constraints?: Partial<ModificationConstraintsConfig>;
10
+ }
2
11
  export interface SelfModifyingAgentOptions {
3
12
  agent: Agent;
4
13
  llm: LLMBackend;
5
- config?: Partial<SelfModifyingConfig>;
14
+ config?: SelfModifyingAgentConfig;
15
+ /** Additional or overriding constraint sets used to validate every self-modification. */
16
+ modificationConstraints?: Partial<ModificationConstraints>;
17
+ /** Models architecture evolution may switch to. Model changes are never proposed when empty. */
18
+ availableModels?: string[];
19
+ }
20
+ export interface SelfModifyingEventDataMap {
21
+ run_started: {
22
+ input: string;
23
+ };
24
+ run_completed: {
25
+ success: boolean;
26
+ toolsGenerated?: number;
27
+ adaptationsMade?: number;
28
+ error?: string;
29
+ };
30
+ tool_generation_started: {
31
+ gap: CapabilityGap;
32
+ };
33
+ tool_generation_completed: {
34
+ toolId: string;
35
+ name: string;
36
+ success: boolean;
37
+ iterations?: number;
38
+ error?: string;
39
+ };
40
+ meta_assessment: {
41
+ observation: MetaObservation;
42
+ assessment: MetaAssessment;
43
+ };
44
+ strategy_changed: {
45
+ previousMode: ReasoningMode;
46
+ newMode: ReasoningMode;
47
+ reason: string;
48
+ };
49
+ architecture_evolved: {
50
+ success: boolean;
51
+ candidateId?: string;
52
+ changes?: ArchitectureConfig;
53
+ metrics?: EvolutionMetrics;
54
+ error?: string;
55
+ };
56
+ checkpoint_created: {
57
+ checkpointId: string;
58
+ };
59
+ rollback_performed: {
60
+ checkpointId: string;
61
+ reason: string;
62
+ };
6
63
  }
64
+ export type TypedSelfModifyingEvent<K extends SelfModifyingEventType> = Omit<SelfModifyingEvent, 'type' | 'data'> & {
65
+ type: K;
66
+ data: SelfModifyingEventDataMap[K];
67
+ };
7
68
  export interface RunContext {
8
69
  runId: string;
9
70
  input: string;
@@ -16,30 +77,27 @@ export interface RunContext {
16
77
  checkpoints: ModificationCheckpoint[];
17
78
  modificationsCount: number;
18
79
  appliedModifications: AppliedModification[];
80
+ tokensUsed: number;
19
81
  }
20
82
  export declare class SelfModifyingAgent {
21
83
  private readonly agent;
22
84
  private readonly llm;
85
+ private readonly modelName;
23
86
  private readonly config;
24
87
  private readonly emitter;
88
+ private readonly listenerWrappers;
25
89
  private readonly gapAnalyzer;
26
90
  private readonly toolGenerator;
27
91
  private readonly toolStore;
28
92
  private readonly metaReasoner;
29
93
  private readonly parameterOptimizer;
30
- private readonly capabilityAnalyzer;
31
94
  private readonly modificationValidator;
32
95
  private readonly rollbackManager;
33
96
  private currentContext;
34
- private isInitialized;
35
- private storedExecutableTools;
97
+ private runQueue;
36
98
  constructor(options: SelfModifyingAgentOptions);
37
- on<K extends SelfModifyingEvent['type']>(event: K, handler: (event: Extract<SelfModifyingEvent, {
38
- type: K;
39
- }>) => void): void;
40
- off<K extends SelfModifyingEvent['type']>(event: K, handler: (event: Extract<SelfModifyingEvent, {
41
- type: K;
42
- }>) => void): void;
99
+ on<K extends SelfModifyingEventType>(event: K, handler: (event: TypedSelfModifyingEvent<K>) => void): () => void;
100
+ off<K extends SelfModifyingEventType>(event: K, handler: (event: TypedSelfModifyingEvent<K>) => void): void;
43
101
  run(input: string): Promise<{
44
102
  output: string;
45
103
  toolsGenerated: GeneratedTool[];
@@ -50,20 +108,28 @@ export declare class SelfModifyingAgent {
50
108
  recordToolUsage(toolId: string, success: boolean, executionTime: number): Promise<void>;
51
109
  getGeneratedTools(): Promise<GeneratedTool[]>;
52
110
  createCheckpoint(): Promise<ModificationCheckpoint | null>;
53
- rollbackToCheckpoint(checkpointId: string): Promise<boolean>;
54
- private ensureInitialized;
111
+ rollbackToCheckpoint(checkpointId: string, reason?: string): Promise<boolean>;
112
+ private executeRun;
113
+ private emit;
114
+ private createBaseArchitectureConfig;
55
115
  private mergeConfig;
56
- private getAvailableTools;
116
+ private getAgentTools;
117
+ private loadAvailableTools;
57
118
  private optimizeArchitecture;
119
+ private recordArchitectureOutcome;
58
120
  private analyzeAndGenerateTools;
121
+ private generateAndRegisterTool;
122
+ private checkGeneratedTool;
59
123
  private executeWithMetaReasoning;
124
+ private selectTrigger;
60
125
  private executeAgentStep;
126
+ private executeToolCalls;
127
+ private executeToolCall;
61
128
  private buildToolSchemas;
129
+ private stepConfidence;
62
130
  private validateModification;
63
131
  private canApplyModification;
64
132
  private recordModification;
65
- private autoRollbackOnError;
66
- private estimateConfidence;
67
- private isTaskComplete;
133
+ private autoRollback;
68
134
  }
69
135
  //# sourceMappingURL=self-modifying-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"self-modifying-agent.d.ts","sourceRoot":"","sources":["../src/self-modifying-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"self-modifying-agent.d.ts","sourceRoot":"","sources":["../src/self-modifying-agent.ts"],"names":[],"mappings":"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"}