@cogitator-ai/self-modifying 0.1.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 (143) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +714 -0
  3. package/dist/architecture-evolution/capability-analyzer.d.ts +32 -0
  4. package/dist/architecture-evolution/capability-analyzer.d.ts.map +1 -0
  5. package/dist/architecture-evolution/capability-analyzer.js +264 -0
  6. package/dist/architecture-evolution/capability-analyzer.js.map +1 -0
  7. package/dist/architecture-evolution/evolution-strategy.d.ts +29 -0
  8. package/dist/architecture-evolution/evolution-strategy.d.ts.map +1 -0
  9. package/dist/architecture-evolution/evolution-strategy.js +176 -0
  10. package/dist/architecture-evolution/evolution-strategy.js.map +1 -0
  11. package/dist/architecture-evolution/index.d.ts +5 -0
  12. package/dist/architecture-evolution/index.d.ts.map +1 -0
  13. package/dist/architecture-evolution/index.js +5 -0
  14. package/dist/architecture-evolution/index.js.map +1 -0
  15. package/dist/architecture-evolution/parameter-optimizer.d.ts +67 -0
  16. package/dist/architecture-evolution/parameter-optimizer.d.ts.map +1 -0
  17. package/dist/architecture-evolution/parameter-optimizer.js +341 -0
  18. package/dist/architecture-evolution/parameter-optimizer.js.map +1 -0
  19. package/dist/architecture-evolution/prompts.d.ts +33 -0
  20. package/dist/architecture-evolution/prompts.d.ts.map +1 -0
  21. package/dist/architecture-evolution/prompts.js +169 -0
  22. package/dist/architecture-evolution/prompts.js.map +1 -0
  23. package/dist/constraints/index.d.ts +4 -0
  24. package/dist/constraints/index.d.ts.map +1 -0
  25. package/dist/constraints/index.js +4 -0
  26. package/dist/constraints/index.js.map +1 -0
  27. package/dist/constraints/modification-validator.d.ts +26 -0
  28. package/dist/constraints/modification-validator.d.ts.map +1 -0
  29. package/dist/constraints/modification-validator.js +313 -0
  30. package/dist/constraints/modification-validator.js.map +1 -0
  31. package/dist/constraints/rollback-manager.d.ts +52 -0
  32. package/dist/constraints/rollback-manager.d.ts.map +1 -0
  33. package/dist/constraints/rollback-manager.js +113 -0
  34. package/dist/constraints/rollback-manager.js.map +1 -0
  35. package/dist/constraints/safety-constraints.d.ts +11 -0
  36. package/dist/constraints/safety-constraints.d.ts.map +1 -0
  37. package/dist/constraints/safety-constraints.js +78 -0
  38. package/dist/constraints/safety-constraints.js.map +1 -0
  39. package/dist/events/event-emitter.d.ts +12 -0
  40. package/dist/events/event-emitter.d.ts.map +1 -0
  41. package/dist/events/event-emitter.js +43 -0
  42. package/dist/events/event-emitter.js.map +1 -0
  43. package/dist/events/index.d.ts +2 -0
  44. package/dist/events/index.d.ts.map +1 -0
  45. package/dist/events/index.js +2 -0
  46. package/dist/events/index.js.map +1 -0
  47. package/dist/index.d.ts +8 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +7 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/meta-reasoning/index.d.ts +5 -0
  52. package/dist/meta-reasoning/index.d.ts.map +1 -0
  53. package/dist/meta-reasoning/index.js +5 -0
  54. package/dist/meta-reasoning/index.js.map +1 -0
  55. package/dist/meta-reasoning/meta-reasoner.d.ts +53 -0
  56. package/dist/meta-reasoning/meta-reasoner.d.ts.map +1 -0
  57. package/dist/meta-reasoning/meta-reasoner.js +261 -0
  58. package/dist/meta-reasoning/meta-reasoner.js.map +1 -0
  59. package/dist/meta-reasoning/observation-collector.d.ts +37 -0
  60. package/dist/meta-reasoning/observation-collector.d.ts.map +1 -0
  61. package/dist/meta-reasoning/observation-collector.js +123 -0
  62. package/dist/meta-reasoning/observation-collector.js.map +1 -0
  63. package/dist/meta-reasoning/prompts.d.ts +31 -0
  64. package/dist/meta-reasoning/prompts.d.ts.map +1 -0
  65. package/dist/meta-reasoning/prompts.js +96 -0
  66. package/dist/meta-reasoning/prompts.js.map +1 -0
  67. package/dist/meta-reasoning/strategy-selector.d.ts +27 -0
  68. package/dist/meta-reasoning/strategy-selector.d.ts.map +1 -0
  69. package/dist/meta-reasoning/strategy-selector.js +138 -0
  70. package/dist/meta-reasoning/strategy-selector.js.map +1 -0
  71. package/dist/self-modifying-agent.d.ts +61 -0
  72. package/dist/self-modifying-agent.d.ts.map +1 -0
  73. package/dist/self-modifying-agent.js +449 -0
  74. package/dist/self-modifying-agent.js.map +1 -0
  75. package/dist/tool-generation/gap-analyzer.d.ts +25 -0
  76. package/dist/tool-generation/gap-analyzer.d.ts.map +1 -0
  77. package/dist/tool-generation/gap-analyzer.js +153 -0
  78. package/dist/tool-generation/gap-analyzer.js.map +1 -0
  79. package/dist/tool-generation/generated-tool-store.d.ts +51 -0
  80. package/dist/tool-generation/generated-tool-store.d.ts.map +1 -0
  81. package/dist/tool-generation/generated-tool-store.js +195 -0
  82. package/dist/tool-generation/generated-tool-store.js.map +1 -0
  83. package/dist/tool-generation/index.d.ts +7 -0
  84. package/dist/tool-generation/index.d.ts.map +1 -0
  85. package/dist/tool-generation/index.js +7 -0
  86. package/dist/tool-generation/index.js.map +1 -0
  87. package/dist/tool-generation/prompts.d.ts +28 -0
  88. package/dist/tool-generation/prompts.d.ts.map +1 -0
  89. package/dist/tool-generation/prompts.js +269 -0
  90. package/dist/tool-generation/prompts.js.map +1 -0
  91. package/dist/tool-generation/tool-generator.d.ts +29 -0
  92. package/dist/tool-generation/tool-generator.d.ts.map +1 -0
  93. package/dist/tool-generation/tool-generator.js +169 -0
  94. package/dist/tool-generation/tool-generator.js.map +1 -0
  95. package/dist/tool-generation/tool-sandbox.d.ts +31 -0
  96. package/dist/tool-generation/tool-sandbox.d.ts.map +1 -0
  97. package/dist/tool-generation/tool-sandbox.js +240 -0
  98. package/dist/tool-generation/tool-sandbox.js.map +1 -0
  99. package/dist/tool-generation/tool-validator.d.ts +32 -0
  100. package/dist/tool-generation/tool-validator.d.ts.map +1 -0
  101. package/dist/tool-generation/tool-validator.js +304 -0
  102. package/dist/tool-generation/tool-validator.js.map +1 -0
  103. package/dist/utils/index.d.ts +2 -0
  104. package/dist/utils/index.d.ts.map +1 -0
  105. package/dist/utils/index.js +2 -0
  106. package/dist/utils/index.js.map +1 -0
  107. package/dist/utils/llm-helper.d.ts +6 -0
  108. package/dist/utils/llm-helper.d.ts.map +1 -0
  109. package/dist/utils/llm-helper.js +18 -0
  110. package/dist/utils/llm-helper.js.map +1 -0
  111. package/package.json +61 -0
  112. package/src/__tests__/architecture-evolution.test.ts +368 -0
  113. package/src/__tests__/constraints.test.ts +266 -0
  114. package/src/__tests__/index.test.ts +99 -0
  115. package/src/__tests__/meta-reasoning.test.ts +343 -0
  116. package/src/__tests__/tool-generation.test.ts +455 -0
  117. package/src/architecture-evolution/capability-analyzer.ts +337 -0
  118. package/src/architecture-evolution/evolution-strategy.ts +224 -0
  119. package/src/architecture-evolution/index.ts +26 -0
  120. package/src/architecture-evolution/parameter-optimizer.ts +489 -0
  121. package/src/architecture-evolution/prompts.ts +216 -0
  122. package/src/constraints/index.ts +23 -0
  123. package/src/constraints/modification-validator.ts +402 -0
  124. package/src/constraints/rollback-manager.ts +173 -0
  125. package/src/constraints/safety-constraints.ts +103 -0
  126. package/src/events/event-emitter.ts +62 -0
  127. package/src/events/index.ts +1 -0
  128. package/src/index.ts +112 -0
  129. package/src/meta-reasoning/index.ts +24 -0
  130. package/src/meta-reasoning/meta-reasoner.ts +381 -0
  131. package/src/meta-reasoning/observation-collector.ts +161 -0
  132. package/src/meta-reasoning/prompts.ts +131 -0
  133. package/src/meta-reasoning/strategy-selector.ts +179 -0
  134. package/src/self-modifying-agent.ts +585 -0
  135. package/src/tool-generation/gap-analyzer.ts +234 -0
  136. package/src/tool-generation/generated-tool-store.ts +268 -0
  137. package/src/tool-generation/index.ts +19 -0
  138. package/src/tool-generation/prompts.ts +308 -0
  139. package/src/tool-generation/tool-generator.ts +243 -0
  140. package/src/tool-generation/tool-sandbox.ts +332 -0
  141. package/src/tool-generation/tool-validator.ts +365 -0
  142. package/src/utils/index.ts +1 -0
  143. package/src/utils/llm-helper.ts +24 -0
@@ -0,0 +1,43 @@
1
+ export class SelfModifyingEventEmitter {
2
+ handlers = new Map();
3
+ on(event, handler) {
4
+ if (!this.handlers.has(event)) {
5
+ this.handlers.set(event, new Set());
6
+ }
7
+ this.handlers.get(event).add(handler);
8
+ return () => this.off(event, handler);
9
+ }
10
+ off(event, handler) {
11
+ this.handlers.get(event)?.delete(handler);
12
+ }
13
+ async emit(event) {
14
+ const typeHandlers = this.handlers.get(event.type);
15
+ const wildcardHandlers = this.handlers.get('*');
16
+ const allHandlers = [
17
+ ...(typeHandlers ? [...typeHandlers] : []),
18
+ ...(wildcardHandlers ? [...wildcardHandlers] : []),
19
+ ];
20
+ await Promise.all(allHandlers.map((h) => h(event)));
21
+ }
22
+ createEvent(type, runId, agentId, data) {
23
+ return {
24
+ type,
25
+ runId,
26
+ agentId,
27
+ timestamp: new Date(),
28
+ data,
29
+ };
30
+ }
31
+ removeAllListeners(event) {
32
+ if (event) {
33
+ this.handlers.delete(event);
34
+ }
35
+ else {
36
+ this.handlers.clear();
37
+ }
38
+ }
39
+ listenerCount(event) {
40
+ return this.handlers.get(event)?.size ?? 0;
41
+ }
42
+ }
43
+ //# sourceMappingURL=event-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../src/events/event-emitter.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,yBAAyB;IAC5B,QAAQ,GAAG,IAAI,GAAG,EAAgE,CAAC;IAE3F,EAAE,CAAC,KAAmC,EAAE,OAAkC;QACxE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,KAAmC,EAAE,OAAkC;QACzE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAyB;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEhD,MAAM,WAAW,GAAG;YAClB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,WAAW,CACT,IAA4B,EAC5B,KAAa,EACb,OAAe,EACf,IAAa;QAEb,OAAO;YACL,IAAI;YACJ,KAAK;YACL,OAAO;YACP,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI;SACL,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,KAAoC;QACrD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,aAAa,CAAC,KAAmC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export { SelfModifyingEventEmitter, type SelfModifyingEventHandler } from './event-emitter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { SelfModifyingEventEmitter } from './event-emitter';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAkC,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { SelfModifyingAgent, type SelfModifyingAgentOptions, type RunContext } from './self-modifying-agent';
2
+ export { GapAnalyzer, ToolGenerator, ToolValidator, ToolSandbox, InMemoryGeneratedToolStore, DEFAULT_SANDBOX_CONFIG, TOOL_GENERATION_SYSTEM_PROMPT, buildGapAnalysisPrompt, buildToolGenerationPrompt, buildToolValidationPrompt, parseGapAnalysisResponse, parseToolGenerationResponse, type GapAnalyzerOptions, type ToolGeneratorOptions, type ToolValidatorOptions, type GenerationResult, type ToolUsageRecord, type ToolMetrics, } from './tool-generation';
3
+ export { MetaReasoner, ObservationCollector, StrategySelector, DEFAULT_META_REASONING_CONFIG, DEFAULT_MODE_PROFILES, buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, type MetaReasonerOptions, type StrategySelectorOptions, type ActionRecord, type ObservationContext, type ModeScore, } from './meta-reasoning';
4
+ export { CapabilityAnalyzer, EvolutionStrategy, ParameterOptimizer, ARCHITECTURE_ANALYSIS_SYSTEM_PROMPT, buildTaskProfilePrompt, buildCandidateGenerationPrompt, parseTaskProfileResponse, parseCandidateGenerationResponse, type CapabilityAnalyzerOptions, type EvolutionStrategyOptions, type ParameterOptimizerOptions, type SelectionResult, type OptimizationResult, } from './architecture-evolution';
5
+ export { ModificationValidator, RollbackManager, InMemoryCheckpointStore, DEFAULT_SAFETY_CONSTRAINTS, DEFAULT_CAPABILITY_CONSTRAINTS, DEFAULT_RESOURCE_CONSTRAINTS, mergeSafetyConstraints, mergeCapabilityConstraints, mergeResourceConstraints, type ModificationValidatorOptions, type RollbackManagerOptions, type CheckpointStore, type CheckpointDiff, } from './constraints';
6
+ export { SelfModifyingEventEmitter, type SelfModifyingEventHandler, } from './events';
7
+ export type { SelfModifyingConfig, ToolSelfGenerationConfig, MetaReasoningConfig, ArchitectureEvolutionConfig, ModificationConstraintsConfig, ToolGenerationRequest, GeneratedTool, ToolValidationResult, ToolSandboxConfig, ToolSandboxResult, GeneratedToolStore, CapabilityGap, GapAnalysisResult, ReasoningMode, ReasoningModeConfig, MetaObservation, MetaAssessment, MetaAdaptation, MetaTrigger, TaskProfile, ArchitectureConfig, EvolutionCandidate, EvolutionMetrics, EvolutionStrategy as IEvolutionStrategy, EvolvableParameter, ModificationRequest, ModificationConstraints, ModificationValidationResult, ModificationCheckpoint, AppliedModification, SafetyConstraint, CapabilityConstraint, ResourceConstraint, SelfModifyingEvent, } from '@cogitator-ai/types';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE7G,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,SAAS,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mCAAmC,EACnC,sBAAsB,EACtB,8BAA8B,EAC9B,wBAAwB,EACxB,gCAAgC,EAChC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,IAAI,kBAAkB,EACvC,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export { SelfModifyingAgent } from './self-modifying-agent';
2
+ export { GapAnalyzer, ToolGenerator, ToolValidator, ToolSandbox, InMemoryGeneratedToolStore, DEFAULT_SANDBOX_CONFIG, TOOL_GENERATION_SYSTEM_PROMPT, buildGapAnalysisPrompt, buildToolGenerationPrompt, buildToolValidationPrompt, parseGapAnalysisResponse, parseToolGenerationResponse, } from './tool-generation';
3
+ export { MetaReasoner, ObservationCollector, StrategySelector, DEFAULT_META_REASONING_CONFIG, DEFAULT_MODE_PROFILES, buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, } from './meta-reasoning';
4
+ export { CapabilityAnalyzer, EvolutionStrategy, ParameterOptimizer, ARCHITECTURE_ANALYSIS_SYSTEM_PROMPT, buildTaskProfilePrompt, buildCandidateGenerationPrompt, parseTaskProfileResponse, parseCandidateGenerationResponse, } from './architecture-evolution';
5
+ export { ModificationValidator, RollbackManager, InMemoryCheckpointStore, DEFAULT_SAFETY_CONSTRAINTS, DEFAULT_CAPABILITY_CONSTRAINTS, DEFAULT_RESOURCE_CONSTRAINTS, mergeSafetyConstraints, mergeCapabilityConstraints, mergeResourceConstraints, } from './constraints';
6
+ export { SelfModifyingEventEmitter, } from './events';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAmD,MAAM,wBAAwB,CAAC;AAE7G,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,GAO5B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,GAM7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mCAAmC,EACnC,sBAAsB,EACtB,8BAA8B,EAC9B,wBAAwB,EACxB,gCAAgC,GAMjC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,GAKzB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,yBAAyB,GAE1B,MAAM,UAAU,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { MetaReasoner, DEFAULT_META_REASONING_CONFIG, type MetaReasonerOptions, } from './meta-reasoner';
2
+ export { ObservationCollector, type ActionRecord, type ObservationContext, } from './observation-collector';
3
+ export { StrategySelector, DEFAULT_MODE_PROFILES, type StrategySelectorOptions, type ModeScore, } from './strategy-selector';
4
+ export { buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, } from './prompts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/meta-reasoning/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,6BAA6B,EAC7B,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,SAAS,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,WAAW,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { MetaReasoner, DEFAULT_META_REASONING_CONFIG, } from './meta-reasoner';
2
+ export { ObservationCollector, } from './observation-collector';
3
+ export { StrategySelector, DEFAULT_MODE_PROFILES, } from './strategy-selector';
4
+ export { buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, } from './prompts';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/meta-reasoning/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,6BAA6B,GAE9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,GAGrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GAGtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,WAAW,CAAC"}
@@ -0,0 +1,53 @@
1
+ import type { MetaReasoningConfig, MetaObservation, MetaAssessment, MetaAdaptation, MetaTrigger, ReasoningMode, ReasoningModeConfig, Insight, LLMBackend } from '@cogitator-ai/types';
2
+ import { DEFAULT_META_REASONING_CONFIG } from '@cogitator-ai/types';
3
+ import { type ActionRecord, type ObservationContext } from './observation-collector';
4
+ export { DEFAULT_META_REASONING_CONFIG };
5
+ export interface MetaReasonerOptions {
6
+ llm: LLMBackend;
7
+ model: string;
8
+ config?: Partial<MetaReasoningConfig>;
9
+ }
10
+ export declare class MetaReasoner {
11
+ private llm;
12
+ private model;
13
+ private config;
14
+ private collector;
15
+ private selector;
16
+ private assessments;
17
+ private adaptations;
18
+ private currentMode;
19
+ private lastAssessmentTime;
20
+ private lastAdaptationTime;
21
+ constructor(options: MetaReasonerOptions);
22
+ initializeRun(runId: string): ReasoningModeConfig;
23
+ recordAction(runId: string, action: ActionRecord): void;
24
+ recordConfidence(runId: string, confidence: number): void;
25
+ shouldTrigger(runId: string, trigger: MetaTrigger, context: {
26
+ iteration: number;
27
+ confidence: number;
28
+ progressDelta: number;
29
+ stagnationCount: number;
30
+ }): boolean;
31
+ observe(context: ObservationContext, insights: Insight[]): MetaObservation;
32
+ assess(observation: MetaObservation): Promise<MetaAssessment>;
33
+ private buildRecommendation;
34
+ adapt(runId: string, assessment: MetaAssessment): Promise<MetaAdaptation | null>;
35
+ rollback(runId: string): MetaAdaptation | null;
36
+ recordOutcome(runId: string, adaptationId: string, outcome: {
37
+ improved: boolean;
38
+ progressDelta: number;
39
+ confidenceDelta: number;
40
+ }): void;
41
+ getCurrentConfig(runId: string): ReasoningModeConfig;
42
+ getCurrentMode(runId: string): ReasoningMode;
43
+ getModeConfig(mode: ReasoningMode): ReasoningModeConfig;
44
+ getRunStats(runId: string): {
45
+ observations: number;
46
+ assessments: number;
47
+ adaptations: number;
48
+ currentMode: ReasoningMode;
49
+ successfulAdaptations: number;
50
+ };
51
+ cleanupRun(runId: string): void;
52
+ }
53
+ //# sourceMappingURL=meta-reasoner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-reasoner.d.ts","sourceRoot":"","sources":["../../src/meta-reasoning/meta-reasoner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,cAAc,EAEd,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,OAAO,EACP,UAAU,EAGX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAwB,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAQ3G,OAAO,EAAE,6BAA6B,EAAE,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAmB;IAEnC,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,WAAW,CAAoC;IAEvD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,kBAAkB,CAA6B;gBAE3C,OAAO,EAAE,mBAAmB;IAYxC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB;IASjD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAIvD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIzD,aAAa,CACX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KACzB,GACA,OAAO;IAqCV,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,eAAe;IAIpE,MAAM,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAkDnE,OAAO,CAAC,mBAAmB;IAiCrB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA4EtF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAmC9C,aAAa,CACX,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAC7E,IAAI;IAiBP,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB;IAKpD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAI5C,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,mBAAmB;IAIvD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,aAAa,CAAC;QAC3B,qBAAqB,EAAE,MAAM,CAAC;KAC/B;IAYD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAShC"}
@@ -0,0 +1,261 @@
1
+ import { nanoid } from 'nanoid';
2
+ import { DEFAULT_META_REASONING_CONFIG } from '@cogitator-ai/types';
3
+ import { ObservationCollector } from './observation-collector';
4
+ import { StrategySelector } from './strategy-selector';
5
+ import { buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, } from './prompts';
6
+ export { DEFAULT_META_REASONING_CONFIG };
7
+ export class MetaReasoner {
8
+ llm;
9
+ model;
10
+ config;
11
+ collector;
12
+ selector;
13
+ assessments = new Map();
14
+ adaptations = new Map();
15
+ currentMode = new Map();
16
+ lastAssessmentTime = new Map();
17
+ lastAdaptationTime = new Map();
18
+ constructor(options) {
19
+ this.llm = options.llm;
20
+ this.model = options.model;
21
+ this.config = { ...DEFAULT_META_REASONING_CONFIG, ...options.config };
22
+ this.collector = new ObservationCollector();
23
+ this.selector = new StrategySelector({
24
+ allowedModes: this.config.allowedModes,
25
+ modeProfiles: this.config.modeProfiles,
26
+ });
27
+ }
28
+ initializeRun(runId) {
29
+ this.collector.initializeRun(runId);
30
+ this.assessments.set(runId, []);
31
+ this.adaptations.set(runId, []);
32
+ this.currentMode.set(runId, this.config.defaultMode);
33
+ return this.getModeConfig(this.config.defaultMode);
34
+ }
35
+ recordAction(runId, action) {
36
+ this.collector.recordAction(runId, action);
37
+ }
38
+ recordConfidence(runId, confidence) {
39
+ this.collector.recordConfidence(runId, confidence);
40
+ }
41
+ shouldTrigger(runId, trigger, context) {
42
+ if (!this.config.enabled)
43
+ return false;
44
+ const lastAssessment = this.lastAssessmentTime.get(runId) ?? 0;
45
+ if (Date.now() - lastAssessment < this.config.metaAssessmentCooldown) {
46
+ return false;
47
+ }
48
+ const assessmentCount = this.assessments.get(runId)?.length ?? 0;
49
+ if (assessmentCount >= this.config.maxMetaAssessments) {
50
+ return false;
51
+ }
52
+ switch (trigger) {
53
+ case 'iteration_complete':
54
+ return (context.iteration > 0 &&
55
+ context.iteration % this.config.triggerAfterIterations === 0);
56
+ case 'confidence_drop':
57
+ return context.confidence < this.config.triggerOnConfidenceDrop;
58
+ case 'progress_stall':
59
+ return context.stagnationCount >= this.config.triggerOnProgressStall;
60
+ case 'tool_call_failed':
61
+ return true;
62
+ case 'explicit_request':
63
+ return true;
64
+ default:
65
+ return false;
66
+ }
67
+ }
68
+ observe(context, insights) {
69
+ return this.collector.collect(context, insights);
70
+ }
71
+ async assess(observation) {
72
+ const startTime = Date.now();
73
+ const currentModeConfig = this.getModeConfig(observation.currentMode);
74
+ const prompt = buildMetaAssessmentPrompt(observation, {
75
+ allowedModes: this.config.allowedModes,
76
+ currentModeConfig,
77
+ });
78
+ const response = await this.llm.chat({
79
+ model: this.config.metaModel ?? this.model,
80
+ messages: [
81
+ { role: 'system', content: META_REASONING_SYSTEM_PROMPT },
82
+ { role: 'user', content: prompt },
83
+ ],
84
+ temperature: 0.3,
85
+ maxTokens: this.config.maxMetaTokens,
86
+ });
87
+ const parsed = parseMetaAssessmentResponse(response.content);
88
+ const assessment = {
89
+ id: `meta_${nanoid(10)}`,
90
+ observationId: `obs_${observation.runId}_${observation.iteration}`,
91
+ timestamp: Date.now(),
92
+ onTrack: parsed?.onTrack ?? observation.currentConfidence > 0.5,
93
+ confidence: parsed?.confidence ?? 0.5,
94
+ reasoning: parsed?.reasoning ?? 'Assessment unavailable',
95
+ issues: (parsed?.issues ?? []),
96
+ opportunities: (parsed?.opportunities ?? []).map((o) => ({
97
+ type: o.type,
98
+ confidence: o.expectedImprovement ?? 0.5,
99
+ description: o.description,
100
+ })),
101
+ recommendation: this.buildRecommendation(parsed, observation),
102
+ assessmentDuration: Date.now() - startTime,
103
+ assessmentCost: (response.usage?.outputTokens ?? 0) * 0.00001,
104
+ };
105
+ const runAssessments = this.assessments.get(observation.runId) ?? [];
106
+ runAssessments.push(assessment);
107
+ this.lastAssessmentTime.set(observation.runId, Date.now());
108
+ return assessment;
109
+ }
110
+ buildRecommendation(parsed, observation) {
111
+ if (!parsed?.recommendation) {
112
+ const suggestedMode = this.selector.suggestSwitch(observation);
113
+ if (suggestedMode) {
114
+ return {
115
+ action: 'switch_mode',
116
+ newMode: suggestedMode,
117
+ confidence: 0.6,
118
+ reasoning: 'Heuristic-based mode switch suggestion',
119
+ };
120
+ }
121
+ return {
122
+ action: 'continue',
123
+ confidence: 0.5,
124
+ reasoning: 'Default: continue current approach',
125
+ };
126
+ }
127
+ return {
128
+ action: parsed.recommendation.action,
129
+ newMode: parsed.recommendation.newMode,
130
+ parameterChanges: parsed.recommendation.parameterChanges,
131
+ contextAddition: parsed.recommendation.contextAddition,
132
+ confidence: parsed.recommendation.confidence,
133
+ reasoning: parsed.recommendation.reasoning,
134
+ };
135
+ }
136
+ async adapt(runId, assessment) {
137
+ const recommendation = assessment.recommendation;
138
+ if (!recommendation || recommendation.action === 'continue') {
139
+ return null;
140
+ }
141
+ if (recommendation.confidence < this.config.minConfidenceToAdapt) {
142
+ return null;
143
+ }
144
+ const lastAdaptation = this.lastAdaptationTime.get(runId) ?? 0;
145
+ if (Date.now() - lastAdaptation < this.config.adaptationCooldown) {
146
+ return null;
147
+ }
148
+ const adaptationCount = this.adaptations.get(runId)?.length ?? 0;
149
+ if (adaptationCount >= this.config.maxAdaptations) {
150
+ return null;
151
+ }
152
+ const currentMode = this.currentMode.get(runId) ?? this.config.defaultMode;
153
+ const currentConfig = this.getModeConfig(currentMode);
154
+ let newConfig = {};
155
+ let adaptationType = 'parameter_change';
156
+ switch (recommendation.action) {
157
+ case 'switch_mode':
158
+ if (recommendation.newMode &&
159
+ this.config.allowedModes.includes(recommendation.newMode)) {
160
+ newConfig = this.getModeConfig(recommendation.newMode);
161
+ adaptationType = 'mode_switch';
162
+ this.currentMode.set(runId, recommendation.newMode);
163
+ }
164
+ break;
165
+ case 'adjust_parameters':
166
+ if (recommendation.parameterChanges) {
167
+ newConfig = { ...currentConfig, ...recommendation.parameterChanges };
168
+ adaptationType = 'parameter_change';
169
+ }
170
+ break;
171
+ case 'inject_context':
172
+ adaptationType = 'context_injection';
173
+ break;
174
+ case 'abort':
175
+ return null;
176
+ }
177
+ const adaptation = {
178
+ id: `adapt_${nanoid(10)}`,
179
+ assessmentId: assessment.id,
180
+ timestamp: Date.now(),
181
+ type: adaptationType,
182
+ before: currentConfig,
183
+ after: newConfig,
184
+ rollbackable: this.config.enableRollback,
185
+ rollbackDeadline: this.config.enableRollback
186
+ ? Date.now() + this.config.rollbackWindow
187
+ : undefined,
188
+ };
189
+ const runAdaptations = this.adaptations.get(runId) ?? [];
190
+ runAdaptations.push(adaptation);
191
+ this.lastAdaptationTime.set(runId, Date.now());
192
+ return adaptation;
193
+ }
194
+ rollback(runId) {
195
+ const runAdaptations = this.adaptations.get(runId) ?? [];
196
+ const lastAdaptation = runAdaptations[runAdaptations.length - 1];
197
+ if (!lastAdaptation || !lastAdaptation.rollbackable) {
198
+ return null;
199
+ }
200
+ if (lastAdaptation.rollbackDeadline &&
201
+ Date.now() > lastAdaptation.rollbackDeadline) {
202
+ return null;
203
+ }
204
+ const rollback = {
205
+ id: `rollback_${nanoid(10)}`,
206
+ assessmentId: lastAdaptation.assessmentId,
207
+ timestamp: Date.now(),
208
+ type: 'rollback',
209
+ before: lastAdaptation.after,
210
+ after: lastAdaptation.before,
211
+ rollbackable: false,
212
+ };
213
+ if (lastAdaptation.type === 'mode_switch' && lastAdaptation.before.mode) {
214
+ this.currentMode.set(runId, lastAdaptation.before.mode);
215
+ }
216
+ runAdaptations.push(rollback);
217
+ return rollback;
218
+ }
219
+ recordOutcome(runId, adaptationId, outcome) {
220
+ const runAdaptations = this.adaptations.get(runId) ?? [];
221
+ const adaptation = runAdaptations.find((a) => a.id === adaptationId);
222
+ if (adaptation) {
223
+ adaptation.outcome = outcome;
224
+ if (this.config.rollbackOnDecline &&
225
+ !outcome.improved &&
226
+ adaptation.rollbackable) {
227
+ this.rollback(runId);
228
+ }
229
+ }
230
+ }
231
+ getCurrentConfig(runId) {
232
+ const mode = this.currentMode.get(runId) ?? this.config.defaultMode;
233
+ return this.getModeConfig(mode);
234
+ }
235
+ getCurrentMode(runId) {
236
+ return this.currentMode.get(runId) ?? this.config.defaultMode;
237
+ }
238
+ getModeConfig(mode) {
239
+ return this.config.modeProfiles[mode];
240
+ }
241
+ getRunStats(runId) {
242
+ const runAdaptations = this.adaptations.get(runId) ?? [];
243
+ return {
244
+ observations: this.collector.getObservations(runId).length,
245
+ assessments: this.assessments.get(runId)?.length ?? 0,
246
+ adaptations: runAdaptations.length,
247
+ currentMode: this.currentMode.get(runId) ?? this.config.defaultMode,
248
+ successfulAdaptations: runAdaptations.filter((a) => a.outcome?.improved).length,
249
+ };
250
+ }
251
+ cleanupRun(runId) {
252
+ this.collector.cleanupRun(runId);
253
+ this.selector.cleanupRun(runId);
254
+ this.assessments.delete(runId);
255
+ this.adaptations.delete(runId);
256
+ this.currentMode.delete(runId);
257
+ this.lastAssessmentTime.delete(runId);
258
+ this.lastAdaptationTime.delete(runId);
259
+ }
260
+ }
261
+ //# sourceMappingURL=meta-reasoner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-reasoner.js","sourceRoot":"","sources":["../../src/meta-reasoning/meta-reasoner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { MetaObservation, ReasoningMode, Insight } from '@cogitator-ai/types';
2
+ export interface ActionRecord {
3
+ type: string;
4
+ toolName?: string;
5
+ input?: unknown;
6
+ output?: unknown;
7
+ error?: string;
8
+ duration?: number;
9
+ timestamp: number;
10
+ }
11
+ export interface ObservationContext {
12
+ runId: string;
13
+ iteration: number;
14
+ goal: string;
15
+ currentMode: ReasoningMode;
16
+ tokensUsed: number;
17
+ timeElapsed: number;
18
+ iterationsRemaining: number;
19
+ budgetRemaining: number;
20
+ }
21
+ export declare class ObservationCollector {
22
+ private observations;
23
+ private actionHistory;
24
+ private confidenceHistory;
25
+ initializeRun(runId: string): void;
26
+ recordAction(runId: string, action: ActionRecord): void;
27
+ recordConfidence(runId: string, confidence: number): void;
28
+ collect(context: ObservationContext, insights: Insight[]): MetaObservation;
29
+ private calculateProgress;
30
+ private calculateRepetition;
31
+ private calculateToolSuccessRate;
32
+ private calculateTrend;
33
+ getObservations(runId: string): MetaObservation[];
34
+ getLatestObservation(runId: string): MetaObservation | null;
35
+ cleanupRun(runId: string): void;
36
+ }
37
+ //# sourceMappingURL=observation-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observation-collector.d.ts","sourceRoot":"","sources":["../../src/meta-reasoning/observation-collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,OAAO,EACR,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,aAAa,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,iBAAiB,CAA+B;IAExD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAUvD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAUzD,OAAO,CACL,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,OAAO,EAAE,GAClB,eAAe;IAkDlB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,cAAc;IAWtB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE;IAIjD,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAK3D,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAKhC"}
@@ -0,0 +1,123 @@
1
+ export class ObservationCollector {
2
+ observations = new Map();
3
+ actionHistory = new Map();
4
+ confidenceHistory = new Map();
5
+ initializeRun(runId) {
6
+ this.observations.set(runId, []);
7
+ this.actionHistory.set(runId, []);
8
+ this.confidenceHistory.set(runId, []);
9
+ }
10
+ recordAction(runId, action) {
11
+ const history = this.actionHistory.get(runId);
12
+ if (history) {
13
+ history.push(action);
14
+ if (history.length > 100) {
15
+ history.shift();
16
+ }
17
+ }
18
+ }
19
+ recordConfidence(runId, confidence) {
20
+ const history = this.confidenceHistory.get(runId);
21
+ if (history) {
22
+ history.push(confidence);
23
+ if (history.length > 20) {
24
+ history.shift();
25
+ }
26
+ }
27
+ }
28
+ collect(context, insights) {
29
+ const { runId, iteration, goal, currentMode } = context;
30
+ const prevObservations = this.observations.get(runId) ?? [];
31
+ const lastObs = prevObservations[prevObservations.length - 1];
32
+ const actions = this.actionHistory.get(runId) ?? [];
33
+ const confidenceHist = this.confidenceHistory.get(runId) ?? [];
34
+ const currentConfidence = confidenceHist[confidenceHist.length - 1] ?? 0.5;
35
+ const progressScore = this.calculateProgress(actions);
36
+ const progressDelta = lastObs ? progressScore - lastObs.progressScore : 0;
37
+ const stagnationCount = progressDelta < 0.05
38
+ ? (lastObs?.stagnationCount ?? 0) + 1
39
+ : 0;
40
+ const repetitionScore = this.calculateRepetition(actions);
41
+ const toolSuccessRate = this.calculateToolSuccessRate(actions);
42
+ const confidenceTrend = this.calculateTrend(confidenceHist);
43
+ const observation = {
44
+ runId,
45
+ iteration,
46
+ timestamp: Date.now(),
47
+ progressScore,
48
+ progressDelta,
49
+ stagnationCount,
50
+ currentConfidence,
51
+ confidenceTrend,
52
+ confidenceHistory: confidenceHist.slice(-10),
53
+ tokensUsed: context.tokensUsed,
54
+ timeElapsed: context.timeElapsed,
55
+ iterationsRemaining: context.iterationsRemaining,
56
+ budgetRemaining: context.budgetRemaining,
57
+ toolSuccessRate,
58
+ errorRate: 1 - toolSuccessRate,
59
+ repetitionScore,
60
+ currentMode,
61
+ recentActions: actions.slice(-5).map((a) => ({
62
+ type: a.type,
63
+ toolName: a.toolName,
64
+ input: a.input,
65
+ output: a.output,
66
+ error: a.error,
67
+ })),
68
+ recentInsights: insights.slice(-3),
69
+ goal,
70
+ };
71
+ prevObservations.push(observation);
72
+ return observation;
73
+ }
74
+ calculateProgress(actions) {
75
+ if (actions.length === 0)
76
+ return 0;
77
+ const successful = actions.filter((a) => !a.error).length;
78
+ return successful / actions.length;
79
+ }
80
+ calculateRepetition(actions) {
81
+ if (actions.length < 2)
82
+ return 0;
83
+ const toolCalls = actions
84
+ .filter((a) => a.type === 'tool_call' && a.toolName)
85
+ .map((a) => `${a.toolName}:${JSON.stringify(a.input)}`);
86
+ if (toolCalls.length === 0)
87
+ return 0;
88
+ const unique = new Set(toolCalls);
89
+ return 1 - unique.size / toolCalls.length;
90
+ }
91
+ calculateToolSuccessRate(actions) {
92
+ const toolCalls = actions.filter((a) => a.type === 'tool_call');
93
+ if (toolCalls.length === 0)
94
+ return 1;
95
+ const successful = toolCalls.filter((a) => !a.error).length;
96
+ return successful / toolCalls.length;
97
+ }
98
+ calculateTrend(values) {
99
+ if (values.length < 3)
100
+ return 'stable';
101
+ const recent = values.slice(-3);
102
+ const avg = recent.reduce((a, b) => a + b, 0) / recent.length;
103
+ const first = recent[0];
104
+ if (avg > first + 0.1)
105
+ return 'rising';
106
+ if (avg < first - 0.1)
107
+ return 'falling';
108
+ return 'stable';
109
+ }
110
+ getObservations(runId) {
111
+ return this.observations.get(runId) ?? [];
112
+ }
113
+ getLatestObservation(runId) {
114
+ const obs = this.observations.get(runId);
115
+ return obs?.[obs.length - 1] ?? null;
116
+ }
117
+ cleanupRun(runId) {
118
+ this.observations.delete(runId);
119
+ this.actionHistory.delete(runId);
120
+ this.confidenceHistory.delete(runId);
121
+ }
122
+ }
123
+ //# sourceMappingURL=observation-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observation-collector.js","sourceRoot":"","sources":["../../src/meta-reasoning/observation-collector.ts"],"names":[],"mappings":"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"}