@cogitator-ai/self-modifying 19.1.2 → 19.2.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.
- package/README.md +14 -6
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/meta-reasoning/config.d.ts +10 -0
- package/dist/meta-reasoning/config.d.ts.map +1 -0
- package/dist/meta-reasoning/config.js +12 -0
- package/dist/meta-reasoning/config.js.map +1 -0
- package/dist/meta-reasoning/index.d.ts +1 -0
- package/dist/meta-reasoning/index.d.ts.map +1 -1
- package/dist/meta-reasoning/index.js +1 -0
- package/dist/meta-reasoning/index.js.map +1 -1
- package/dist/meta-reasoning/meta-reasoner.d.ts +3 -2
- package/dist/meta-reasoning/meta-reasoner.d.ts.map +1 -1
- package/dist/meta-reasoning/meta-reasoner.js +2 -4
- package/dist/meta-reasoning/meta-reasoner.js.map +1 -1
- package/dist/self-modifying-agent.d.ts +3 -2
- package/dist/self-modifying-agent.d.ts.map +1 -1
- package/dist/self-modifying-agent.js +2 -5
- package/dist/self-modifying-agent.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/architecture-evolution.test.ts +37 -27
- package/src/__tests__/constraints.test.ts +25 -19
- package/src/__tests__/meta-reasoning.test.ts +47 -12
- package/src/__tests__/self-modifying-agent.test.ts +53 -2
- package/src/__tests__/tool-generation.test.ts +62 -39
- package/src/index.ts +3 -0
- package/src/meta-reasoning/config.ts +24 -0
- package/src/meta-reasoning/index.ts +6 -0
- package/src/meta-reasoning/meta-reasoner.ts +6 -5
- package/src/self-modifying-agent.ts +6 -7
package/README.md
CHANGED
|
@@ -5,9 +5,11 @@ Self-modifying agents for Cogitator. Agents that evolve at runtime — generatin
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
pnpm add @cogitator-ai/self-modifying
|
|
8
|
+
pnpm add @cogitator-ai/self-modifying @cogitator-ai/core
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
The package depends only on `@cogitator-ai/types`; agents and LLM backends come from `@cogitator-ai/core`. Website docs: [Self-Modifying Agents](https://cogitator.app/docs/advanced/self-modifying).
|
|
12
|
+
|
|
11
13
|
## Quick Start
|
|
12
14
|
|
|
13
15
|
```typescript
|
|
@@ -208,6 +210,8 @@ The meta-reasoning layer monitors the agent's reasoning process and makes strate
|
|
|
208
210
|
### Configuration
|
|
209
211
|
|
|
210
212
|
```typescript
|
|
213
|
+
import { SelfModifyingAgent } from '@cogitator-ai/self-modifying';
|
|
214
|
+
|
|
211
215
|
const selfModifying = new SelfModifyingAgent({
|
|
212
216
|
agent,
|
|
213
217
|
llm,
|
|
@@ -224,9 +228,8 @@ const selfModifying = new SelfModifyingAgent({
|
|
|
224
228
|
'exploratory',
|
|
225
229
|
],
|
|
226
230
|
modeProfiles: {
|
|
227
|
-
analytical: {
|
|
228
|
-
creative: {
|
|
229
|
-
// ... other modes
|
|
231
|
+
analytical: { temperature: 0.2, depth: 4 }, // other modes and fields keep their defaults
|
|
232
|
+
creative: { temperature: 1.0 },
|
|
230
233
|
},
|
|
231
234
|
maxMetaAssessments: 5, // Max assessments per run
|
|
232
235
|
maxAdaptations: 3, // Max mode switches per run
|
|
@@ -245,6 +248,8 @@ const selfModifying = new SelfModifyingAgent({
|
|
|
245
248
|
});
|
|
246
249
|
```
|
|
247
250
|
|
|
251
|
+
`modeProfiles` overrides are merged per mode and per field over `DEFAULT_MODE_PROFILES` (the same for `MetaReasoner`'s `config`). `mergeModeProfiles(base, overrides)` does that merge for your own profiles; its overrides are typed `ModeProfileOverrides`.
|
|
252
|
+
|
|
248
253
|
### Meta-Reasoning Process
|
|
249
254
|
|
|
250
255
|
1. **Observation** — After an incomplete step, collect metrics (tool success, confidence, tokens, time)
|
|
@@ -717,6 +722,7 @@ import type {
|
|
|
717
722
|
```typescript
|
|
718
723
|
const analyst = new Agent({
|
|
719
724
|
name: 'data-analyst',
|
|
725
|
+
model: 'ollama/llama3.2',
|
|
720
726
|
instructions: 'Analyze data and create visualizations.',
|
|
721
727
|
tools: [readFile],
|
|
722
728
|
});
|
|
@@ -755,6 +761,7 @@ console.log(
|
|
|
755
761
|
```typescript
|
|
756
762
|
const solver = new Agent({
|
|
757
763
|
name: 'problem-solver',
|
|
764
|
+
model: 'ollama/llama3.2',
|
|
758
765
|
instructions: 'Find creative solutions to complex problems.',
|
|
759
766
|
});
|
|
760
767
|
|
|
@@ -780,8 +787,8 @@ const result = await selfModifying.run(
|
|
|
780
787
|
'Design a novel approach to reduce carbon emissions in cities'
|
|
781
788
|
);
|
|
782
789
|
|
|
783
|
-
console.log('
|
|
784
|
-
console.log('Final
|
|
790
|
+
console.log('Adaptations:', result.adaptationsMade.length);
|
|
791
|
+
console.log('Final config:', result.finalConfig); // temperature, toolStrategy, reflectionDepth, ...
|
|
785
792
|
```
|
|
786
793
|
|
|
787
794
|
### Safe Code Generator
|
|
@@ -789,6 +796,7 @@ console.log('Final mode:', result.finalConfig.toolStrategy);
|
|
|
789
796
|
```typescript
|
|
790
797
|
const coder = new Agent({
|
|
791
798
|
name: 'code-generator',
|
|
799
|
+
model: 'ollama/llama3.2',
|
|
792
800
|
instructions: 'Generate safe, tested code.',
|
|
793
801
|
});
|
|
794
802
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { SelfModifyingAgent, type SelfModifyingAgentOptions, type SelfModifyingAgentConfig, type SelfModifyingEventDataMap, type TypedSelfModifyingEvent, type RunContext, } from './self-modifying-agent.js';
|
|
2
2
|
export { GapAnalyzer, ToolGenerator, ToolValidator, ToolSandbox, InMemoryGeneratedToolStore, DEFAULT_SANDBOX_CONFIG, TOOL_GENERATION_SYSTEM_PROMPT, buildGapAnalysisPrompt, buildToolGenerationPrompt, buildToolValidationPrompt, buildToolImprovementPrompt, parseGapAnalysisResponse, parseToolGenerationResponse, parseValidationResponse, type GapAnalyzerOptions, type ToolGeneratorOptions, type ToolValidatorOptions, type ValidationRule, type SandboxTestCase, type GenerateOptions, type GenerationResult, type ToolUsageRecord, type ToolMetrics, } from './tool-generation/index.js';
|
|
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/index.js';
|
|
3
|
+
export { MetaReasoner, ObservationCollector, StrategySelector, DEFAULT_META_REASONING_CONFIG, DEFAULT_MODE_PROFILES, buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, mergeModeProfiles, type MetaReasonerOptions, type MetaReasoningOverrides, type ModeProfileOverrides, type StrategySelectorOptions, type ActionRecord, type ObservationContext, type ModeScore, } from './meta-reasoning/index.js';
|
|
4
4
|
export { CapabilityAnalyzer, EvolutionStrategy, ParameterOptimizer, ARCHITECTURE_ANALYSIS_SYSTEM_PROMPT, buildTaskProfilePrompt, buildCandidateGenerationPrompt, buildPerformanceAnalysisPrompt, parseTaskProfileResponse, parseCandidateGenerationResponse, parsePerformanceAnalysisResponse, sanitizeCandidateConfig, type CapabilityAnalyzerOptions, type EvolutionStrategyOptions, type ParameterOptimizerOptions, type SelectionResult, type OptimizationResult, type HistoricalRecord, } from './architecture-evolution/index.js';
|
|
5
5
|
export { ModificationValidator, RollbackManager, InMemoryCheckpointStore, DEFAULT_SAFETY_CONSTRAINTS, DEFAULT_CAPABILITY_CONSTRAINTS, DEFAULT_RESOURCE_CONSTRAINTS, createDefaultConstraints, mergeConstraints, mergeSafetyConstraints, mergeCapabilityConstraints, mergeResourceConstraints, mergeCustomConstraints, type ModificationValidatorOptions, type RollbackManagerOptions, type CheckpointStore, type CheckpointDiff, } from './constraints/index.js';
|
|
6
6
|
export { SelfModifyingEventEmitter, type SelfModifyingEventHandler } from './events/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,UAAU,GAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,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,8BAA8B,EAC9B,wBAAwB,EACxB,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,yBAAyB,EAAE,KAAK,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,UAAU,GAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,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,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,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,8BAA8B,EAC9B,wBAAwB,EACxB,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,yBAAyB,EAAE,KAAK,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/C,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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { SelfModifyingAgent, } from './self-modifying-agent.js';
|
|
2
2
|
export { GapAnalyzer, ToolGenerator, ToolValidator, ToolSandbox, InMemoryGeneratedToolStore, DEFAULT_SANDBOX_CONFIG, TOOL_GENERATION_SYSTEM_PROMPT, buildGapAnalysisPrompt, buildToolGenerationPrompt, buildToolValidationPrompt, buildToolImprovementPrompt, parseGapAnalysisResponse, parseToolGenerationResponse, parseValidationResponse, } from './tool-generation/index.js';
|
|
3
|
-
export { MetaReasoner, ObservationCollector, StrategySelector, DEFAULT_META_REASONING_CONFIG, DEFAULT_MODE_PROFILES, buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, } from './meta-reasoning/index.js';
|
|
3
|
+
export { MetaReasoner, ObservationCollector, StrategySelector, DEFAULT_META_REASONING_CONFIG, DEFAULT_MODE_PROFILES, buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, mergeModeProfiles, } from './meta-reasoning/index.js';
|
|
4
4
|
export { CapabilityAnalyzer, EvolutionStrategy, ParameterOptimizer, ARCHITECTURE_ANALYSIS_SYSTEM_PROMPT, buildTaskProfilePrompt, buildCandidateGenerationPrompt, buildPerformanceAnalysisPrompt, parseTaskProfileResponse, parseCandidateGenerationResponse, parsePerformanceAnalysisResponse, sanitizeCandidateConfig, } from './architecture-evolution/index.js';
|
|
5
5
|
export { ModificationValidator, RollbackManager, InMemoryCheckpointStore, DEFAULT_SAFETY_CONSTRAINTS, DEFAULT_CAPABILITY_CONSTRAINTS, DEFAULT_RESOURCE_CONSTRAINTS, createDefaultConstraints, mergeConstraints, mergeSafetyConstraints, mergeCapabilityConstraints, mergeResourceConstraints, mergeCustomConstraints, } from './constraints/index.js';
|
|
6
6
|
export { SelfModifyingEventEmitter } from './events/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAMnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,GAUxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAMnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,GAUxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,iBAAiB,GAQlB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mCAAmC,EACnC,sBAAsB,EACtB,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,GAOxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,GAKvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,yBAAyB,EAAkC,MAAM,UAAU,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MetaReasoningConfig, ReasoningMode, ReasoningModeConfig } from '@cogitator-ai/types';
|
|
2
|
+
/** Profile overrides per reasoning mode: a mode or field left out keeps its default. */
|
|
3
|
+
export type ModeProfileOverrides = Partial<Record<ReasoningMode, Partial<ReasoningModeConfig>>>;
|
|
4
|
+
/** Meta-reasoning settings over the defaults, with `modeProfiles` merged per mode and field. */
|
|
5
|
+
export interface MetaReasoningOverrides extends Partial<Omit<MetaReasoningConfig, 'modeProfiles'>> {
|
|
6
|
+
modeProfiles?: ModeProfileOverrides;
|
|
7
|
+
}
|
|
8
|
+
/** `base` with each mode's profile overridden field by field. */
|
|
9
|
+
export declare function mergeModeProfiles(base: Record<ReasoningMode, ReasoningModeConfig>, overrides?: ModeProfileOverrides): Record<ReasoningMode, ReasoningModeConfig>;
|
|
10
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/meta-reasoning/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEnG,wFAAwF;AACxF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAEhG,gGAAgG;AAChG,MAAM,WAAW,sBAAuB,SAAQ,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IAChG,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAChD,SAAS,GAAE,oBAAyB,GACnC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAS5C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** `base` with each mode's profile overridden field by field. */
|
|
2
|
+
export function mergeModeProfiles(base, overrides = {}) {
|
|
3
|
+
return {
|
|
4
|
+
analytical: { ...base.analytical, ...overrides.analytical },
|
|
5
|
+
creative: { ...base.creative, ...overrides.creative },
|
|
6
|
+
systematic: { ...base.systematic, ...overrides.systematic },
|
|
7
|
+
intuitive: { ...base.intuitive, ...overrides.intuitive },
|
|
8
|
+
reflective: { ...base.reflective, ...overrides.reflective },
|
|
9
|
+
exploratory: { ...base.exploratory, ...overrides.exploratory },
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/meta-reasoning/config.ts"],"names":[],"mappings":"AAUA,iEAAiE;AACjE,MAAM,UAAU,iBAAiB,CAC/B,IAAgD,EAChD,YAAkC,EAAE;IAEpC,OAAO;QACL,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE;QAC3D,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE;QACrD,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE;QAC3D,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE;QACxD,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE;QAC3D,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE;KAC/D,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { MetaReasoner, DEFAULT_META_REASONING_CONFIG, type MetaReasonerOptions, } from './meta-reasoner.js';
|
|
2
|
+
export { mergeModeProfiles, type MetaReasoningOverrides, type ModeProfileOverrides, } from './config.js';
|
|
2
3
|
export { ObservationCollector, type ActionRecord, type ObservationContext, } from './observation-collector.js';
|
|
3
4
|
export { StrategySelector, DEFAULT_MODE_PROFILES, type StrategySelectorOptions, type ModeScore, } from './strategy-selector.js';
|
|
4
5
|
export { buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, } from './prompts.js';
|
|
@@ -1 +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"}
|
|
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,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,GAC1B,MAAM,UAAU,CAAC;AAElB,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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { MetaReasoner, DEFAULT_META_REASONING_CONFIG, } from './meta-reasoner.js';
|
|
2
|
+
export { mergeModeProfiles, } from './config.js';
|
|
2
3
|
export { ObservationCollector, } from './observation-collector.js';
|
|
3
4
|
export { StrategySelector, DEFAULT_MODE_PROFILES, } from './strategy-selector.js';
|
|
4
5
|
export { buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, } from './prompts.js';
|
|
@@ -1 +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"}
|
|
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,iBAAiB,GAGlB,MAAM,UAAU,CAAC;AAElB,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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MetaObservation, MetaAssessment, MetaAdaptation, MetaTrigger, ReasoningMode, ReasoningModeConfig, Insight, LLMBackend } from '@cogitator-ai/types';
|
|
2
2
|
import { DEFAULT_META_REASONING_CONFIG } from '@cogitator-ai/types';
|
|
3
3
|
import { type ActionRecord, type ObservationContext } from './observation-collector.js';
|
|
4
|
+
import { type MetaReasoningOverrides } from './config.js';
|
|
4
5
|
export { DEFAULT_META_REASONING_CONFIG };
|
|
5
6
|
export interface MetaReasonerOptions {
|
|
6
7
|
llm: LLMBackend;
|
|
7
8
|
model: string;
|
|
8
|
-
config?:
|
|
9
|
+
config?: MetaReasoningOverrides;
|
|
9
10
|
}
|
|
10
11
|
export declare class MetaReasoner {
|
|
11
12
|
private llm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-reasoner.d.ts","sourceRoot":"","sources":["../../src/meta-reasoning/meta-reasoner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"meta-reasoner.d.ts","sourceRoot":"","sources":["../../src/meta-reasoning/meta-reasoner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,cAAc,EAEd,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,OAAO,EACP,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAO1E,OAAO,EAAE,6BAA6B,EAAE,CAAC;AAazC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,sBAAsB,CAAC;CACjC;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;IACvD,OAAO,CAAC,kBAAkB,CAAmD;IAC7E,OAAO,CAAC,eAAe,CAAmD;IAE1E,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,kBAAkB,CAA6B;gBAE3C,OAAO,EAAE,mBAAmB;IAmBxC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB;IAUjD,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAM/C,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;IA8CV,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,eAAe;IAIpE,MAAM,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAsDnE,OAAO,CAAC,mBAAmB;IAwBrB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAyGtF,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAiDrE,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;IAaP,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;CAahC"}
|
|
@@ -2,6 +2,7 @@ import { nanoid } from 'nanoid';
|
|
|
2
2
|
import { DEFAULT_META_REASONING_CONFIG } from '@cogitator-ai/types';
|
|
3
3
|
import { ObservationCollector, } from './observation-collector.js';
|
|
4
4
|
import { StrategySelector } from './strategy-selector.js';
|
|
5
|
+
import { mergeModeProfiles } from './config.js';
|
|
5
6
|
import { buildMetaAssessmentPrompt, parseMetaAssessmentResponse, META_REASONING_SYSTEM_PROMPT, } from './prompts.js';
|
|
6
7
|
export { DEFAULT_META_REASONING_CONFIG };
|
|
7
8
|
const TRIGGER_ALIASES = {
|
|
@@ -32,10 +33,7 @@ export class MetaReasoner {
|
|
|
32
33
|
this.config = {
|
|
33
34
|
...DEFAULT_META_REASONING_CONFIG,
|
|
34
35
|
...options.config,
|
|
35
|
-
modeProfiles:
|
|
36
|
-
...DEFAULT_META_REASONING_CONFIG.modeProfiles,
|
|
37
|
-
...options.config?.modeProfiles,
|
|
38
|
-
},
|
|
36
|
+
modeProfiles: mergeModeProfiles(DEFAULT_META_REASONING_CONFIG.modeProfiles, options.config?.modeProfiles),
|
|
39
37
|
};
|
|
40
38
|
this.collector = new ObservationCollector();
|
|
41
39
|
this.selector = new StrategySelector({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-reasoner.js","sourceRoot":"","sources":["../../src/meta-reasoning/meta-reasoner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"meta-reasoner.js","sourceRoot":"","sources":["../../src/meta-reasoning/meta-reasoner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { Agent, Tool, LLMBackend, ToolSelfGenerationConfig, ToolSandboxConfig,
|
|
1
|
+
import type { Agent, Tool, LLMBackend, ToolSelfGenerationConfig, ToolSandboxConfig, ArchitectureEvolutionConfig, ModificationConstraintsConfig, ModificationConstraints, ArchitectureConfig, GeneratedTool, MetaObservation, MetaAssessment, MetaAdaptation, ModificationCheckpoint, AppliedModification, SelfModifyingEvent, SelfModifyingEventType, CapabilityGap, EvolutionMetrics, ReasoningMode } from '@cogitator-ai/types';
|
|
2
|
+
import { type MetaReasoningOverrides } from './meta-reasoning/index.js';
|
|
2
3
|
export interface SelfModifyingAgentConfig {
|
|
3
4
|
enabled?: boolean;
|
|
4
5
|
toolGeneration?: Partial<Omit<ToolSelfGenerationConfig, 'sandboxConfig'>> & {
|
|
5
6
|
sandboxConfig?: Partial<ToolSandboxConfig>;
|
|
6
7
|
};
|
|
7
|
-
metaReasoning?:
|
|
8
|
+
metaReasoning?: MetaReasoningOverrides;
|
|
8
9
|
architectureEvolution?: Partial<ArchitectureEvolutionConfig>;
|
|
9
10
|
constraints?: Partial<ModificationConstraintsConfig>;
|
|
10
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-modifying-agent.d.ts","sourceRoot":"","sources":["../src/self-modifying-agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EAEL,IAAI,EAGJ,UAAU,EAGV,wBAAwB,EACxB,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"self-modifying-agent.d.ts","sourceRoot":"","sources":["../src/self-modifying-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { nanoid } from 'nanoid';
|
|
|
2
2
|
import { DEFAULT_META_REASONING_CONFIG } from '@cogitator-ai/types';
|
|
3
3
|
import { SelfModifyingEventEmitter } from './events/index.js';
|
|
4
4
|
import { GapAnalyzer, ToolGenerator, InMemoryGeneratedToolStore } from './tool-generation/index.js';
|
|
5
|
-
import { MetaReasoner } from './meta-reasoning/index.js';
|
|
5
|
+
import { MetaReasoner, mergeModeProfiles } from './meta-reasoning/index.js';
|
|
6
6
|
import { ParameterOptimizer } from './architecture-evolution/index.js';
|
|
7
7
|
import { ModificationValidator, RollbackManager, DEFAULT_SAFETY_CONSTRAINTS, DEFAULT_CAPABILITY_CONSTRAINTS, DEFAULT_RESOURCE_CONSTRAINTS, } from './constraints/index.js';
|
|
8
8
|
const DEFAULT_TOOL_TIMEOUT_MS = 30_000;
|
|
@@ -299,10 +299,7 @@ export class SelfModifyingAgent {
|
|
|
299
299
|
metaReasoning: {
|
|
300
300
|
...defaults.metaReasoning,
|
|
301
301
|
...partial.metaReasoning,
|
|
302
|
-
modeProfiles:
|
|
303
|
-
...defaults.metaReasoning.modeProfiles,
|
|
304
|
-
...partial.metaReasoning?.modeProfiles,
|
|
305
|
-
},
|
|
302
|
+
modeProfiles: mergeModeProfiles(defaults.metaReasoning.modeProfiles, partial.metaReasoning?.modeProfiles),
|
|
306
303
|
},
|
|
307
304
|
architectureEvolution: {
|
|
308
305
|
...defaults.architectureEvolution,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-modifying-agent.js","sourceRoot":"","sources":["../src/self-modifying-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAkChC,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAA2B,MAAM,0BAA0B,CAAC;AACvF,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAmGvB,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC,SAAS,gBAAgB,CAAC,KAAY,EAAE,QAAgB;IACtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,QAAQ,GAAG,CAAC;IAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvE,CAAC;AACD,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,MAAM,OAAO,kBAAkB;IACZ,KAAK,CAAQ;IACb,GAAG,CAAa;IAChB,SAAS,CAAS;IAClB,MAAM,CAAsB;IAC5B,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAC1C,gBAAgB,GAAG,IAAI,GAAG,EAGxC,CAAC;IAEa,WAAW,CAAc;IACzB,aAAa,CAAgB;IAC7B,SAAS,CAA6B;IACtC,YAAY,CAAe;IAC3B,kBAAkB,CAAqB;IACvC,qBAAqB,CAAwB;IAC7C,eAAe,CAAkB;IAE1C,cAAc,GAAsB,IAAI,CAAC;IACzC,QAAQ,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEvD,YAAY,OAAkC;QAC5C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC;YACrC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAElD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC;YAC/C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB;YACzC,UAAU,EAAE,IAAI,CAAC,4BAA4B,EAAE;YAC/C,KAAK,EAAE,UAAU;YACjB,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC;YACrD,WAAW,EAAE;gBACX,MAAM,EAAE,CAAC,GAAG,0BAA0B,EAAE,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC3F,UAAU,EAAE;oBACV,GAAG,8BAA8B;oBACjC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,UAAU,IAAI,EAAE,CAAC;iBACvD;gBACD,QAAQ,EAAE;oBACR,GAAG,4BAA4B;oBAC/B,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,IAAI,EAAE,CAAC;iBACrD;gBACD,MAAM,EAAE,OAAO,CAAC,uBAAuB,EAAE,MAAM;aAChD;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC;YACzC,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,EAAE,CACA,KAAQ,EACR,OAAoD;QAEpD,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,QAAQ;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,CAAC,CAAqB,EAAE,EAAE,CAAC,OAAO,CAAC,CAA+B,CAAC,CAAC;QACpF,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,GAAG,CACD,KAAQ,EACR,OAAoD;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;YAAE,OAAO;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,KAAa;QAMf,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAkB;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,OAAgB,EAAE,aAAqB;QAC3E,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YAC/B,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QAChC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO;YAChC,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK;YAC9B,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE;YAC3C,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC,WAAW;YAC1C,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,SAAS;SACvC,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,EAC1B,WAAW,EACX,GAAG,CAAC,KAAK,EACT,CAAC,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAC9B,CAAC;QAEF,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QAE5E,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,YAAoB,EAAE,MAAM,GAAG,iBAAiB;QACzE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC3B,GAAG,CAAC,aAAa,GAAG;gBAClB,GAAG,GAAG,CAAC,aAAa;gBACpB,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK;gBAC5D,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,IAAI,GAAG,CAAC,aAAa,CAAC,WAAW;gBAC9E,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,SAAS;aACzE,CAAC;YACF,GAAG,CAAC,oBAAoB,GAAG,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAEzD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/E,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,6BAA6B,YAAY,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,KAAK,IAAI,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAa;QAMpC,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7C,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAExF,MAAM,GAAG,GAAe;YACtB,KAAK;YACL,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK;YACL,aAAa,EAAE,IAAI,CAAC,4BAA4B,EAAE;YAClD,cAAc,EAAE,EAAE;YAClB,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,CAAC;YACrB,oBAAoB,EAAE,EAAE;YACxB,UAAU,EAAE,CAAC;SACd,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3C,IAAI,YAAY,GAA+D,IAAI,CAAC;QAEpF,IAAI,CAAC;YACH,IACE,gBAAgB;gBAChB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO;gBAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EACpC,CAAC;gBACD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChC,CAAC;YAED,IAAI,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;gBAClE,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC;YAED,IACE,gBAAgB;gBAChB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO;gBAClC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EACvC,CAAC;gBACD,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;YAE7E,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;YAEpF,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,cAAc,EAAE,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;gBACvC,eAAe,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;gBACrC,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC,aAAa,EAAE;aACtC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE;gBAChC,OAAO,EAAE,IAAI;gBACb,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM;gBAC5C,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM;aAC/C,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAEzF,IACE,gBAAgB;gBAChB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO;gBAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EACpC,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE;gBAChC,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,IAAI,CACV,IAAO,EACP,KAAa,EACb,IAAkC;QAElC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACrB,IAAI;YACJ,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAEO,4BAA4B;QAClC,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,GAAG;YAClD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI;YAC/C,YAAY,EAAE,YAAY;YAC1B,eAAe,EAAE,CAAC;SACnB,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,OAAkC;QACpD,MAAM,QAAQ,GAAwB;YACpC,OAAO,EAAE,IAAI;YACb,cAAc,EAAE;gBACd,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,IAAI;gBAClB,kBAAkB,EAAE,CAAC;gBACrB,0BAA0B,EAAE,GAAG;gBAC/B,oBAAoB,EAAE,CAAC;gBACvB,oBAAoB,EAAE,IAAI;gBAC1B,aAAa,EAAE;oBACb,OAAO,EAAE,IAAI;oBACb,gBAAgB,EAAE,IAAI;oBACtB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;oBAC3B,cAAc,EAAE,EAAE;oBAClB,cAAc,EAAE,QAAQ;iBACzB;aACF;YACD,aAAa,EAAE,EAAE,GAAG,6BAA6B,EAAE;YACnD,qBAAqB,EAAE;gBACrB,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,EAAE;gBACjD,aAAa,EAAE,EAAE;gBACjB,gBAAgB,EAAE,EAAE;gBACpB,6BAA6B,EAAE,CAAC;gBAChC,mBAAmB,EAAE,GAAG;aACzB;YACD,WAAW,EAAE;gBACX,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,KAAK;gBACrB,sBAAsB,EAAE,EAAE;aAC3B;SACF,CAAC;QAEF,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC;QAE9B,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,IAAI;YAC9D,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC3B,cAAc,EAAE,EAAE;YAClB,cAAc,EAAE,QAAiB;SAClC,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO;YAC5C,cAAc,EAAE;gBACd,GAAG,QAAQ,CAAC,cAAc;gBAC1B,GAAG,OAAO,CAAC,cAAc;gBACzB,aAAa,EAAE,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE;aAC/E;YACD,aAAa,EAAE;gBACb,GAAG,QAAQ,CAAC,aAAa;gBACzB,GAAG,OAAO,CAAC,aAAa;gBACxB,YAAY,EAAE;oBACZ,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY;oBACtC,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY;iBACvC;aACF;YACD,qBAAqB,EAAE;gBACrB,GAAG,QAAQ,CAAC,qBAAqB;gBACjC,GAAG,OAAO,CAAC,qBAAqB;gBAChC,QAAQ,EAAE;oBACR,GAAG,QAAQ,CAAC,qBAAqB,CAAC,QAAQ;oBAC1C,GAAG,OAAO,CAAC,qBAAqB,EAAE,QAAQ;iBAC3C;aACF;YACD,WAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE;SACjE,CAAC;IACJ,CAAC;IAEO,aAAa;QACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE/D,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,SAAS;YACxC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,GAAe;QAEf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;YAC1D,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;YAC/C,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7C,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE;gBACjD,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,MAAM,CAAC,iBAAiB;gBACjC,MAAM,EAAE,MAAM,CAAC,SAAS;gBACxB,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;aACnF,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7C,CAAC;YAED,GAAG,CAAC,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACpD,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE;gBAC5C,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,MAAM,EAAE,MAAM,CAAC,iBAAiB;aACjC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,KAAK,EAAE;gBAC3C,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,OAAO,EAAE,MAAM,CAAC,iBAAiB;gBACjC,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;YAEH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,KAAK,EAAE;gBAC3C,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,GAAe,EACf,YAAwE,EACxE,OAAgB,EAChB,OAAe;QAEf,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CACzC,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,MAAM,CAAC,WAAW,EAC/B;YACE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS;YACnC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,OAAO;SACtB,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,GAAe;QACnD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAEtE,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB;oBAAE,MAAM;gBACtF,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;oBAAE,MAAM;gBAC3C,IAAI,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,0BAA0B;oBAAE,SAAS;gBAErF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBAChE,IAAI,CAAC,IAAI;oBAAE,SAAS;gBAEpB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,KAAK,EAAE;gBAChD,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,GAAkB,EAClB,aAAqB;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QAChC,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,QAAQ,CAAC;QAErC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE;gBAC5C,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE;gBAC3B,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,GAAG,CAAC,iBAAiB;gBAC9C,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC1E,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE;gBAC5C,MAAM,EAAE,SAAS,CAAC,EAAE;gBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAkB,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC;QAEtE,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE;YAC5C,MAAM,EAAE,KAAK,CAAC,EAAE;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,IAAmB,EACnB,aAAqB;QAErB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,iBAAiB,IAAI,CAAC,IAAI,kBAAkB,CAAC;QACtD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE;YACjE,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACjE,MAAM,EAAE,sCAAsC,IAAI,CAAC,IAAI,EAAE;YACzD,OAAO,EAAE;gBACP,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,IAAI,KAAK;gBAC5E,WAAW;gBACX,UAAU,EAAE,WAAW;gBACvB,iBAAiB,EAAE,CAAC;aACrB;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sCAAsC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,GAAe,EACf,gBAAyB;QAEzB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,MAAM,WAAW,GAAG,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QAC1E,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,iBAAiB,GAA8D,IAAI,CAAC;QAExF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE;gBACnC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW;gBACnD,OAAO,EAAE,UAAU,CAAC,IAAI;gBACxB,MAAM,EAAE,wBAAwB;aACjC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,GAAsB,IAAI,CAAC;QACnC,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,WAAW;gBAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,WAAW;gBACvD,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC;YAElC,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC3E,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;YAClC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,CAAC,WAAW;gBAAE,MAAM;YAExB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAEtD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE;oBACtE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,UAAU,GAAG,iBAAiB,CAAC,UAAU;oBACpE,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpC,eAAe,EAAE,UAAU,GAAG,iBAAiB,CAAC,UAAU;iBAC3D,CAAC,CAAC;gBACH,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW;gBAAE,MAAM;YAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAC3C;gBACE,KAAK;gBACL,SAAS,EAAE,OAAO;gBAClB,IAAI,EAAE,GAAG,CAAC,KAAK;gBACf,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC;gBACpD,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS;gBACvC,mBAAmB,EAAE,WAAW,GAAG,OAAO;gBAC1C,eAAe,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,WAAW;aACvD,EACD,EAAE,CACH,CAAC;YACF,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC;gBAAE,SAAS;YAE3E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;YAEjE,IAAI,CAAC,UAAU,CAAC,kBAAkB;gBAAE,SAAS;YAC7C,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,KAAK,OAAO;gBAAE,MAAM;YAExD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACpE,IAAI,CAAC,UAAU;gBAAE,SAAS;YAE1B,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,iBAAiB,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;YAE/C,IAAI,UAAU,CAAC,IAAI,KAAK,mBAAmB,IAAI,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;gBACzF,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE;gBACnC,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC;gBAChF,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC;gBACtE,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI;aAC7C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC;IACrD,CAAC;IAEO,aAAa,CACnB,KAAa,EACb,SAAiB,EACjB,UAAkB,EAClB,WAA4B;QAE5B,MAAM,OAAO,GAAG;YACd,SAAS;YACT,UAAU;YACV,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,eAAe,EAAE,WAAW,CAAC,eAAe;SAC7C,CAAC;QACF,MAAM,UAAU,GAAkB;YAChC,YAAY;YACZ,mBAAmB;YACnB,eAAe;YACf,oBAAoB;YACpB,UAAU;SACX,CAAC;QACF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5F,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,GAAe,EAAE,OAAoB;QAClE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAe,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,MAAM,MAAM,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;QACtC,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;QAC9C,MAAM,QAAQ,GAAc;YAC1B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;gBACzB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACjE,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;YACpF,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE;SAC9C,CAAC;QAEF,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,QAAQ,GAAwB,IAAI,CAAC;QAEzC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,IAAI,uBAAuB,CAAC;QAClF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC7B,KAAK;gBACL,QAAQ;gBACR,KAAK,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBACvD,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,SAAS;aACV,CAAC,CAAC;YACH,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;YAE/C,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBAC1E,MAAM;YACR,CAAC;YAED,MAAM,gBAAgB,GAAoB;gBACxC,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,SAAS,EAAE,CAAC;gBACZ,IAAI,OAAO,CAAC,MAAM;oBAAE,UAAU,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC3B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;iBACxB,CAAC,CAAC;YACL,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC7B,KAAK;gBACL,QAAQ;gBACR,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,SAAS;aACV,CAAC,CAAC;YACH,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAEzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,eAAe,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;YACzF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACrC,KAAK;gBACL,QAAQ,EAAE;oBACR,GAAG,QAAQ;oBACX,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;oBAC9B;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EACL,oJAAoJ;qBACvJ;iBACF;gBACD,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,SAAS;aACV,CAAC,CAAC;YACH,UAAU,IAAI,UAAU,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,YAAY,KAAK,OAAO;gBAAE,MAAM;YAC7E,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YAC7B,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QACzC,CAAC;QAED,OAAO;YACL,OAAO;YACP,YAAY;YACZ,UAAU;YACV,SAAS;YACT,UAAU;YACV,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,OAAO;SAC7F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,GAAe,EACf,KAAiB,EACjB,OAA0B,EAC1B,YAAiC;QAEjC,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC;QAChD,MAAM,QAAQ,GACZ,QAAQ,KAAK,UAAU;YACvB,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;QAEvF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAC5E,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,GAAe,EACf,IAAc,EACd,OAA0B,EAC1B,YAAiC;QAEjC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,MAAe,CAAC;QACpB,IAAI,KAAyB,CAAC;QAE9B,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,GAAG,SAAS,IAAI,CAAC,IAAI,aAAa,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,KAAK,GAAG,0BAA0B,IAAI,CAAC,IAAI,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM;qBACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;qBAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,WAAW,GAAgB;wBAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,gBAAgB;wBAC7D,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,uBAAuB,CAAC;qBAClE,CAAC;oBACF,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;gBAC/B,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,OAAO,EAAE,KAAK,KAAK,SAAS;gBAC5B,aAAa,EAAE,QAAQ;gBACvB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC7D,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE;gBACxC,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBAChD,KAAK;gBACL,QAAQ;gBACR,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACpE,CAAC;QAED,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;YACjF,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrB,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU;YAC5B,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACZ,CAAC,CAAC;gBACE,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;aACxD,CACN,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,IAAgB;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,GAAG,CAAC;QAC/B,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,GAAsB,EACtB,OAA4B;QAE5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAElD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtE,IAAI,UAAU,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC;YAC/E,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,kCAAkC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IAEO,oBAAoB,CAAC,GAAe;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAClD,OAAO,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC;IACjF,CAAC;IAEO,kBAAkB,CAAC,GAAe,EAAE,IAAY,EAAE,IAAa;QACrE,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACzB,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC5B,EAAE,EAAE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAe,EAAE,MAAc;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;QACtD,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,MAAM,CAAC;aACpD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"self-modifying-agent.js","sourceRoot":"","sources":["../src/self-modifying-agent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/self-modifying",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.2.0",
|
|
4
4
|
"description": "Self-modifying agent capabilities for Cogitator - tool generation, meta-reasoning, architecture evolution",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"node": ">=22.12.0"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@cogitator-ai/types": "0.
|
|
23
|
+
"@cogitator-ai/types": "0.29.0",
|
|
24
24
|
"nanoid": "^6.0.1",
|
|
25
25
|
"zod": "^4.6.5"
|
|
26
26
|
},
|
|
@@ -53,6 +53,6 @@
|
|
|
53
53
|
"test": "vitest run",
|
|
54
54
|
"test:watch": "vitest",
|
|
55
55
|
"lint": "eslint src --ext .ts",
|
|
56
|
-
"typecheck": "tsc --noEmit"
|
|
56
|
+
"typecheck": "tsc --noEmit -p tsconfig.test.json"
|
|
57
57
|
}
|
|
58
58
|
}
|
|
@@ -6,15 +6,23 @@ import {
|
|
|
6
6
|
parseTaskProfileResponse,
|
|
7
7
|
parseCandidateGenerationResponse,
|
|
8
8
|
} from '../architecture-evolution';
|
|
9
|
-
import type { LLMBackend, EvolutionCandidate } from '@cogitator-ai/types';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
9
|
+
import type { ChatResponse, LLMBackend, EvolutionCandidate } from '@cogitator-ai/types';
|
|
10
|
+
|
|
11
|
+
function chatResponse(content: string): ChatResponse {
|
|
12
|
+
return {
|
|
13
|
+
id: 'resp',
|
|
14
|
+
content,
|
|
15
|
+
finishReason: 'stop',
|
|
16
|
+
usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0 },
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const mockLLM = {
|
|
21
|
+
provider: 'ollama',
|
|
22
|
+
chat: vi.fn<LLMBackend['chat']>(),
|
|
23
|
+
chatStream: async function* () {},
|
|
24
|
+
complete: vi.fn<NonNullable<LLMBackend['complete']>>(),
|
|
25
|
+
} satisfies LLMBackend;
|
|
18
26
|
|
|
19
27
|
describe('CapabilityAnalyzer', () => {
|
|
20
28
|
it('analyzes task with heuristics', async () => {
|
|
@@ -290,24 +298,26 @@ describe('EvolutionStrategy', () => {
|
|
|
290
298
|
describe('ParameterOptimizer', () => {
|
|
291
299
|
beforeEach(() => {
|
|
292
300
|
vi.clearAllMocks();
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
301
|
+
mockLLM.complete.mockResolvedValue(
|
|
302
|
+
chatResponse(
|
|
303
|
+
JSON.stringify([
|
|
304
|
+
{
|
|
305
|
+
id: 'candidate_1',
|
|
306
|
+
config: { temperature: 0.5 },
|
|
307
|
+
reasoning: 'Lower temperature for precision',
|
|
308
|
+
expectedImprovement: 0.7,
|
|
309
|
+
risk: 'low',
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
id: 'candidate_2',
|
|
313
|
+
config: { temperature: 0.9, maxTokens: 8000 },
|
|
314
|
+
reasoning: 'Higher temperature for creativity',
|
|
315
|
+
expectedImprovement: 0.6,
|
|
316
|
+
risk: 'medium',
|
|
317
|
+
},
|
|
318
|
+
])
|
|
319
|
+
)
|
|
320
|
+
);
|
|
311
321
|
});
|
|
312
322
|
|
|
313
323
|
it('optimizes architecture for task', async () => {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { describe, it, expect, beforeEach } from 'vitest';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import type { AgentConfig, Tool } from '@cogitator-ai/types';
|
|
2
4
|
import {
|
|
3
5
|
ModificationValidator,
|
|
4
6
|
RollbackManager,
|
|
@@ -7,6 +9,20 @@ import {
|
|
|
7
9
|
mergeSafetyConstraints,
|
|
8
10
|
} from '../constraints';
|
|
9
11
|
|
|
12
|
+
function agentConfig(overrides: Partial<AgentConfig>): AgentConfig {
|
|
13
|
+
return { name: 'agent', instructions: 'Test agent', ...overrides };
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function makeTool(name: string, description: string): Tool {
|
|
17
|
+
return {
|
|
18
|
+
name,
|
|
19
|
+
description,
|
|
20
|
+
parameters: z.object({}),
|
|
21
|
+
execute: async () => null,
|
|
22
|
+
toJSON: () => ({ name, description, parameters: { type: 'object', properties: {} } }),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
10
26
|
describe('ModificationValidator', () => {
|
|
11
27
|
let validator: ModificationValidator;
|
|
12
28
|
|
|
@@ -132,8 +148,8 @@ describe('RollbackManager', () => {
|
|
|
132
148
|
it('creates checkpoints', async () => {
|
|
133
149
|
const checkpoint = await manager.createCheckpoint(
|
|
134
150
|
'agent-1',
|
|
135
|
-
{ model: 'gpt-4', temperature: 0.7 },
|
|
136
|
-
[
|
|
151
|
+
agentConfig({ model: 'gpt-4', temperature: 0.7 }),
|
|
152
|
+
[makeTool('tool1', 'Test')],
|
|
137
153
|
[]
|
|
138
154
|
);
|
|
139
155
|
|
|
@@ -145,15 +161,8 @@ describe('RollbackManager', () => {
|
|
|
145
161
|
it('rolls back to checkpoint', async () => {
|
|
146
162
|
const checkpoint = await manager.createCheckpoint(
|
|
147
163
|
'agent-1',
|
|
148
|
-
{ model: 'gpt-4', temperature: 0.7 },
|
|
149
|
-
[
|
|
150
|
-
{
|
|
151
|
-
name: 'original_tool',
|
|
152
|
-
description: 'Original',
|
|
153
|
-
parameters: {},
|
|
154
|
-
execute: async () => null,
|
|
155
|
-
},
|
|
156
|
-
],
|
|
164
|
+
agentConfig({ model: 'gpt-4', temperature: 0.7 }),
|
|
165
|
+
[makeTool('original_tool', 'Original')],
|
|
157
166
|
[]
|
|
158
167
|
);
|
|
159
168
|
|
|
@@ -168,18 +177,15 @@ describe('RollbackManager', () => {
|
|
|
168
177
|
it('compares checkpoints', async () => {
|
|
169
178
|
const cp1 = await manager.createCheckpoint(
|
|
170
179
|
'agent-1',
|
|
171
|
-
{ model: 'gpt-4', temperature: 0.7 },
|
|
172
|
-
[
|
|
180
|
+
agentConfig({ model: 'gpt-4', temperature: 0.7 }),
|
|
181
|
+
[makeTool('tool1', 'Test')],
|
|
173
182
|
[]
|
|
174
183
|
);
|
|
175
184
|
|
|
176
185
|
const cp2 = await manager.createCheckpoint(
|
|
177
186
|
'agent-1',
|
|
178
|
-
{ model: 'gpt-4o', temperature: 0.9 },
|
|
179
|
-
[
|
|
180
|
-
{ name: 'tool1', description: 'Test', parameters: {}, execute: async () => null },
|
|
181
|
-
{ name: 'tool2', description: 'New', parameters: {}, execute: async () => null },
|
|
182
|
-
],
|
|
187
|
+
agentConfig({ model: 'gpt-4o', temperature: 0.9 }),
|
|
188
|
+
[makeTool('tool1', 'Test'), makeTool('tool2', 'New')],
|
|
183
189
|
[]
|
|
184
190
|
);
|
|
185
191
|
|
|
@@ -195,7 +201,7 @@ describe('RollbackManager', () => {
|
|
|
195
201
|
const customManager = new RollbackManager({ maxCheckpoints: 3 });
|
|
196
202
|
|
|
197
203
|
for (let i = 0; i < 5; i++) {
|
|
198
|
-
await customManager.createCheckpoint('agent-1', {
|
|
204
|
+
await customManager.createCheckpoint('agent-1', agentConfig({ name: `agent-${i}` }), [], []);
|
|
199
205
|
}
|
|
200
206
|
|
|
201
207
|
const checkpoints = await customManager.listCheckpoints('agent-1');
|
|
@@ -4,13 +4,17 @@ import {
|
|
|
4
4
|
ObservationCollector,
|
|
5
5
|
StrategySelector,
|
|
6
6
|
DEFAULT_MODE_PROFILES,
|
|
7
|
+
mergeModeProfiles,
|
|
7
8
|
buildMetaAssessmentPrompt,
|
|
8
9
|
parseMetaAssessmentResponse,
|
|
9
10
|
} from '../meta-reasoning';
|
|
10
11
|
import type { LLMBackend, MetaObservation } from '@cogitator-ai/types';
|
|
11
12
|
|
|
12
|
-
const mockLLM
|
|
13
|
-
|
|
13
|
+
const mockLLM = {
|
|
14
|
+
provider: 'ollama',
|
|
15
|
+
chat: vi.fn<LLMBackend['chat']>().mockResolvedValue({
|
|
16
|
+
id: 'resp',
|
|
17
|
+
finishReason: 'stop',
|
|
14
18
|
content: JSON.stringify({
|
|
15
19
|
onTrack: true,
|
|
16
20
|
confidence: 0.8,
|
|
@@ -23,13 +27,10 @@ const mockLLM: LLMBackend = {
|
|
|
23
27
|
reasoning: 'Making good progress',
|
|
24
28
|
},
|
|
25
29
|
}),
|
|
26
|
-
usage: { outputTokens: 100 },
|
|
30
|
+
usage: { inputTokens: 0, outputTokens: 100, totalTokens: 100 },
|
|
27
31
|
}),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
supportsStreaming: () => false,
|
|
31
|
-
validateConfig: () => true,
|
|
32
|
-
};
|
|
32
|
+
chatStream: async function* () {},
|
|
33
|
+
} satisfies LLMBackend;
|
|
33
34
|
|
|
34
35
|
describe('ObservationCollector', () => {
|
|
35
36
|
let collector: ObservationCollector;
|
|
@@ -224,9 +225,8 @@ describe('MetaReasoner', () => {
|
|
|
224
225
|
model: 'gpt-4o',
|
|
225
226
|
config: {
|
|
226
227
|
enabled: true,
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
assessmentCooldown: 0,
|
|
228
|
+
maxMetaAssessments: 5,
|
|
229
|
+
maxAdaptations: 3,
|
|
230
230
|
metaAssessmentCooldown: 0,
|
|
231
231
|
adaptationCooldown: 0,
|
|
232
232
|
triggers: ['iteration_complete', 'confidence_drop', 'progress_stall'],
|
|
@@ -270,7 +270,20 @@ describe('MetaReasoner', () => {
|
|
|
270
270
|
iterationsRemaining: 5,
|
|
271
271
|
budgetRemaining: 0.8,
|
|
272
272
|
},
|
|
273
|
-
[
|
|
273
|
+
[
|
|
274
|
+
{
|
|
275
|
+
id: 'insight-1',
|
|
276
|
+
type: 'pattern',
|
|
277
|
+
content: 'Test insight',
|
|
278
|
+
context: 'Test goal',
|
|
279
|
+
confidence: 0.8,
|
|
280
|
+
usageCount: 0,
|
|
281
|
+
createdAt: new Date(0),
|
|
282
|
+
lastUsedAt: new Date(0),
|
|
283
|
+
agentId: 'agent-1',
|
|
284
|
+
source: { runId, reflectionId: 'reflection-1' },
|
|
285
|
+
},
|
|
286
|
+
]
|
|
274
287
|
);
|
|
275
288
|
|
|
276
289
|
expect(observation.tokensUsed).toBe(1000);
|
|
@@ -436,3 +449,25 @@ describe('Meta-reasoning prompts', () => {
|
|
|
436
449
|
expect(parsed).toBeNull();
|
|
437
450
|
});
|
|
438
451
|
});
|
|
452
|
+
|
|
453
|
+
describe('mergeModeProfiles', () => {
|
|
454
|
+
it('overrides the given fields of the given modes only', () => {
|
|
455
|
+
const merged = mergeModeProfiles(DEFAULT_MODE_PROFILES, { creative: { temperature: 0.95 } });
|
|
456
|
+
|
|
457
|
+
expect(merged.creative).toEqual({ ...DEFAULT_MODE_PROFILES.creative, temperature: 0.95 });
|
|
458
|
+
expect(merged.analytical).toEqual(DEFAULT_MODE_PROFILES.analytical);
|
|
459
|
+
});
|
|
460
|
+
|
|
461
|
+
it('gives MetaReasoner complete profiles from partial ones', () => {
|
|
462
|
+
const reasoner = new MetaReasoner({
|
|
463
|
+
llm: mockLLM,
|
|
464
|
+
model: 'test-model',
|
|
465
|
+
config: { modeProfiles: { reflective: { depth: 7 } } },
|
|
466
|
+
});
|
|
467
|
+
|
|
468
|
+
expect(reasoner.getModeConfig('reflective')).toEqual({
|
|
469
|
+
...DEFAULT_MODE_PROFILES.reflective,
|
|
470
|
+
depth: 7,
|
|
471
|
+
});
|
|
472
|
+
});
|
|
473
|
+
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
-
import { SelfModifyingAgent } from '../self-modifying-agent';
|
|
1
|
+
import { describe, it, expect, expectTypeOf, vi } from 'vitest';
|
|
2
|
+
import { SelfModifyingAgent, type SelfModifyingAgentConfig } from '../self-modifying-agent';
|
|
3
|
+
import type { ModeProfileOverrides } from '../meta-reasoning';
|
|
3
4
|
import type {
|
|
4
5
|
Agent,
|
|
5
6
|
LLMBackend,
|
|
@@ -36,6 +37,7 @@ function createMockTool(name: string, result: unknown): Tool {
|
|
|
36
37
|
|
|
37
38
|
function chatResponse(content: string, toolCalls?: ToolCall[]): ChatResponse {
|
|
38
39
|
return {
|
|
40
|
+
id: 'resp',
|
|
39
41
|
content,
|
|
40
42
|
toolCalls,
|
|
41
43
|
finishReason: toolCalls?.length ? 'tool_calls' : 'stop',
|
|
@@ -534,6 +536,55 @@ describe('SelfModifyingAgent meta-reasoning', () => {
|
|
|
534
536
|
});
|
|
535
537
|
});
|
|
536
538
|
|
|
539
|
+
describe('SelfModifyingAgent partial mode profiles', () => {
|
|
540
|
+
it('accepts profiles for some modes and some fields', () => {
|
|
541
|
+
expectTypeOf<{
|
|
542
|
+
analytical: { depth: number };
|
|
543
|
+
creative: { temperature: number };
|
|
544
|
+
}>().toMatchTypeOf<ModeProfileOverrides>();
|
|
545
|
+
expectTypeOf<{
|
|
546
|
+
modeProfiles: { creative: { temperature: number } };
|
|
547
|
+
}>().toMatchTypeOf<NonNullable<SelfModifyingAgentConfig['metaReasoning']>>();
|
|
548
|
+
expectTypeOf<{ creative: { temperature: string } }>().not.toMatchTypeOf<ModeProfileOverrides>();
|
|
549
|
+
});
|
|
550
|
+
|
|
551
|
+
it('merges each given field over the default profile of its mode', async () => {
|
|
552
|
+
const llm = routedLLM({
|
|
553
|
+
meta: JSON.stringify({
|
|
554
|
+
onTrack: false,
|
|
555
|
+
confidence: 0.3,
|
|
556
|
+
recommendation: {
|
|
557
|
+
action: 'switch_mode',
|
|
558
|
+
newMode: 'creative',
|
|
559
|
+
confidence: 0.9,
|
|
560
|
+
reasoning: 'try a different approach',
|
|
561
|
+
},
|
|
562
|
+
}),
|
|
563
|
+
agent: vi.fn().mockReturnValueOnce(chatResponse('')).mockReturnValueOnce(chatResponse('42')),
|
|
564
|
+
});
|
|
565
|
+
const selfMod = new SelfModifyingAgent({
|
|
566
|
+
agent: createMockAgent(),
|
|
567
|
+
llm,
|
|
568
|
+
config: {
|
|
569
|
+
toolGeneration: { enabled: false },
|
|
570
|
+
architectureEvolution: { enabled: false },
|
|
571
|
+
metaReasoning: {
|
|
572
|
+
metaAssessmentCooldown: 0,
|
|
573
|
+
adaptationCooldown: 0,
|
|
574
|
+
modeProfiles: { analytical: { depth: 5 }, creative: { temperature: 0.95 } },
|
|
575
|
+
},
|
|
576
|
+
},
|
|
577
|
+
});
|
|
578
|
+
const modes: string[] = [];
|
|
579
|
+
selfMod.on('strategy_changed', (e) => modes.push(`${e.data.previousMode}->${e.data.newMode}`));
|
|
580
|
+
|
|
581
|
+
await selfMod.run('answer');
|
|
582
|
+
|
|
583
|
+
expect(modes).toEqual(['analytical->analytical', 'analytical->creative']);
|
|
584
|
+
expect(agentCalls(llm).map((c) => c.temperature)).toEqual([0.5, 0.95]);
|
|
585
|
+
});
|
|
586
|
+
});
|
|
587
|
+
|
|
537
588
|
describe('SelfModifyingAgent architecture evolution', () => {
|
|
538
589
|
it('applies config changes and records outcomes so candidates get evaluated', async () => {
|
|
539
590
|
const llm = routedLLM({
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
|
2
|
+
import { z } from 'zod';
|
|
2
3
|
import {
|
|
3
4
|
GapAnalyzer,
|
|
4
5
|
ToolGenerator,
|
|
@@ -8,7 +9,12 @@ import {
|
|
|
8
9
|
parseGapAnalysisResponse,
|
|
9
10
|
parseToolGenerationResponse,
|
|
10
11
|
} from '../tool-generation';
|
|
11
|
-
import type {
|
|
12
|
+
import type {
|
|
13
|
+
ChatResponse,
|
|
14
|
+
LLMBackend,
|
|
15
|
+
GeneratedTool,
|
|
16
|
+
ToolSelfGenerationConfig,
|
|
17
|
+
} from '@cogitator-ai/types';
|
|
12
18
|
|
|
13
19
|
const mockToolConfig: ToolSelfGenerationConfig = {
|
|
14
20
|
enabled: true,
|
|
@@ -26,13 +32,21 @@ const mockToolConfig: ToolSelfGenerationConfig = {
|
|
|
26
32
|
},
|
|
27
33
|
};
|
|
28
34
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
};
|
|
35
|
+
function chatResponse(content: string): ChatResponse {
|
|
36
|
+
return {
|
|
37
|
+
id: 'resp',
|
|
38
|
+
content,
|
|
39
|
+
finishReason: 'stop',
|
|
40
|
+
usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0 },
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const mockLLM = {
|
|
45
|
+
provider: 'ollama',
|
|
46
|
+
chat: vi.fn<LLMBackend['chat']>(),
|
|
47
|
+
chatStream: async function* () {},
|
|
48
|
+
complete: vi.fn<NonNullable<LLMBackend['complete']>>(),
|
|
49
|
+
} satisfies LLMBackend;
|
|
36
50
|
|
|
37
51
|
describe('ToolSandbox', () => {
|
|
38
52
|
let sandbox: ToolSandbox;
|
|
@@ -218,23 +232,25 @@ describe('GapAnalyzer', () => {
|
|
|
218
232
|
});
|
|
219
233
|
|
|
220
234
|
it('analyzes capability gaps', async () => {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
235
|
+
mockLLM.complete.mockResolvedValue(
|
|
236
|
+
chatResponse(
|
|
237
|
+
JSON.stringify({
|
|
238
|
+
hasGap: true,
|
|
239
|
+
gaps: [
|
|
240
|
+
{
|
|
241
|
+
id: 'gap-1',
|
|
242
|
+
description: 'Missing CSV parsing capability',
|
|
243
|
+
requiredCapability: 'Parse CSV files',
|
|
244
|
+
suggestedToolName: 'csv_parser',
|
|
245
|
+
complexity: 'simple',
|
|
246
|
+
confidence: 0.9,
|
|
247
|
+
reasoning: 'User needs to analyze CSV data',
|
|
248
|
+
},
|
|
249
|
+
],
|
|
250
|
+
canProceed: false,
|
|
251
|
+
})
|
|
252
|
+
)
|
|
253
|
+
);
|
|
238
254
|
|
|
239
255
|
const analyzer = new GapAnalyzer({ llm: mockLLM, config: mockToolConfig, model: 'test-model' });
|
|
240
256
|
|
|
@@ -242,8 +258,13 @@ describe('GapAnalyzer', () => {
|
|
|
242
258
|
{
|
|
243
259
|
name: 'calculator',
|
|
244
260
|
description: 'Perform calculations',
|
|
245
|
-
parameters: {},
|
|
261
|
+
parameters: z.object({}),
|
|
246
262
|
execute: async () => null,
|
|
263
|
+
toJSON: () => ({
|
|
264
|
+
name: 'calculator',
|
|
265
|
+
description: 'Perform calculations',
|
|
266
|
+
parameters: { type: 'object', properties: {} },
|
|
267
|
+
}),
|
|
247
268
|
},
|
|
248
269
|
]);
|
|
249
270
|
|
|
@@ -258,11 +279,12 @@ describe('ToolGenerator', () => {
|
|
|
258
279
|
});
|
|
259
280
|
|
|
260
281
|
it('generates tools from gaps', async () => {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
282
|
+
mockLLM.complete.mockResolvedValue(
|
|
283
|
+
chatResponse(
|
|
284
|
+
JSON.stringify({
|
|
285
|
+
name: 'csv_parser',
|
|
286
|
+
description: 'Parse CSV data into JSON',
|
|
287
|
+
implementation: `
|
|
266
288
|
async function execute(params) {
|
|
267
289
|
const lines = params.data.split('\\n');
|
|
268
290
|
const headers = lines[0].split(',');
|
|
@@ -274,14 +296,15 @@ describe('ToolGenerator', () => {
|
|
|
274
296
|
});
|
|
275
297
|
}
|
|
276
298
|
`,
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
299
|
+
parameters: {
|
|
300
|
+
type: 'object',
|
|
301
|
+
properties: { data: { type: 'string' } },
|
|
302
|
+
required: ['data'],
|
|
303
|
+
},
|
|
304
|
+
reasoning: 'Simple CSV parsing without external dependencies',
|
|
305
|
+
})
|
|
306
|
+
)
|
|
307
|
+
);
|
|
285
308
|
|
|
286
309
|
const generator = new ToolGenerator({
|
|
287
310
|
llm: mockLLM,
|
package/src/index.ts
CHANGED
|
@@ -42,7 +42,10 @@ export {
|
|
|
42
42
|
buildMetaAssessmentPrompt,
|
|
43
43
|
parseMetaAssessmentResponse,
|
|
44
44
|
META_REASONING_SYSTEM_PROMPT,
|
|
45
|
+
mergeModeProfiles,
|
|
45
46
|
type MetaReasonerOptions,
|
|
47
|
+
type MetaReasoningOverrides,
|
|
48
|
+
type ModeProfileOverrides,
|
|
46
49
|
type StrategySelectorOptions,
|
|
47
50
|
type ActionRecord,
|
|
48
51
|
type ObservationContext,
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { MetaReasoningConfig, ReasoningMode, ReasoningModeConfig } from '@cogitator-ai/types';
|
|
2
|
+
|
|
3
|
+
/** Profile overrides per reasoning mode: a mode or field left out keeps its default. */
|
|
4
|
+
export type ModeProfileOverrides = Partial<Record<ReasoningMode, Partial<ReasoningModeConfig>>>;
|
|
5
|
+
|
|
6
|
+
/** Meta-reasoning settings over the defaults, with `modeProfiles` merged per mode and field. */
|
|
7
|
+
export interface MetaReasoningOverrides extends Partial<Omit<MetaReasoningConfig, 'modeProfiles'>> {
|
|
8
|
+
modeProfiles?: ModeProfileOverrides;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** `base` with each mode's profile overridden field by field. */
|
|
12
|
+
export function mergeModeProfiles(
|
|
13
|
+
base: Record<ReasoningMode, ReasoningModeConfig>,
|
|
14
|
+
overrides: ModeProfileOverrides = {}
|
|
15
|
+
): Record<ReasoningMode, ReasoningModeConfig> {
|
|
16
|
+
return {
|
|
17
|
+
analytical: { ...base.analytical, ...overrides.analytical },
|
|
18
|
+
creative: { ...base.creative, ...overrides.creative },
|
|
19
|
+
systematic: { ...base.systematic, ...overrides.systematic },
|
|
20
|
+
intuitive: { ...base.intuitive, ...overrides.intuitive },
|
|
21
|
+
reflective: { ...base.reflective, ...overrides.reflective },
|
|
22
|
+
exploratory: { ...base.exploratory, ...overrides.exploratory },
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
type ObservationContext,
|
|
19
19
|
} from './observation-collector';
|
|
20
20
|
import { StrategySelector } from './strategy-selector';
|
|
21
|
+
import { mergeModeProfiles, type MetaReasoningOverrides } from './config';
|
|
21
22
|
import {
|
|
22
23
|
buildMetaAssessmentPrompt,
|
|
23
24
|
parseMetaAssessmentResponse,
|
|
@@ -40,7 +41,7 @@ function canonicalTrigger(trigger: MetaTrigger): MetaTrigger {
|
|
|
40
41
|
export interface MetaReasonerOptions {
|
|
41
42
|
llm: LLMBackend;
|
|
42
43
|
model: string;
|
|
43
|
-
config?:
|
|
44
|
+
config?: MetaReasoningOverrides;
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
export class MetaReasoner {
|
|
@@ -65,10 +66,10 @@ export class MetaReasoner {
|
|
|
65
66
|
this.config = {
|
|
66
67
|
...DEFAULT_META_REASONING_CONFIG,
|
|
67
68
|
...options.config,
|
|
68
|
-
modeProfiles:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
modeProfiles: mergeModeProfiles(
|
|
70
|
+
DEFAULT_META_REASONING_CONFIG.modeProfiles,
|
|
71
|
+
options.config?.modeProfiles
|
|
72
|
+
),
|
|
72
73
|
};
|
|
73
74
|
|
|
74
75
|
this.collector = new ObservationCollector();
|
|
@@ -10,7 +10,6 @@ import type {
|
|
|
10
10
|
SelfModifyingConfig,
|
|
11
11
|
ToolSelfGenerationConfig,
|
|
12
12
|
ToolSandboxConfig,
|
|
13
|
-
MetaReasoningConfig,
|
|
14
13
|
ArchitectureEvolutionConfig,
|
|
15
14
|
ModificationConstraintsConfig,
|
|
16
15
|
ModificationConstraints,
|
|
@@ -36,7 +35,7 @@ import { DEFAULT_META_REASONING_CONFIG } from '@cogitator-ai/types';
|
|
|
36
35
|
|
|
37
36
|
import { SelfModifyingEventEmitter } from './events';
|
|
38
37
|
import { GapAnalyzer, ToolGenerator, InMemoryGeneratedToolStore } from './tool-generation';
|
|
39
|
-
import { MetaReasoner } from './meta-reasoning';
|
|
38
|
+
import { MetaReasoner, mergeModeProfiles, type MetaReasoningOverrides } from './meta-reasoning';
|
|
40
39
|
import { ParameterOptimizer, type OptimizationResult } from './architecture-evolution';
|
|
41
40
|
import {
|
|
42
41
|
ModificationValidator,
|
|
@@ -51,7 +50,7 @@ export interface SelfModifyingAgentConfig {
|
|
|
51
50
|
toolGeneration?: Partial<Omit<ToolSelfGenerationConfig, 'sandboxConfig'>> & {
|
|
52
51
|
sandboxConfig?: Partial<ToolSandboxConfig>;
|
|
53
52
|
};
|
|
54
|
-
metaReasoning?:
|
|
53
|
+
metaReasoning?: MetaReasoningOverrides;
|
|
55
54
|
architectureEvolution?: Partial<ArchitectureEvolutionConfig>;
|
|
56
55
|
constraints?: Partial<ModificationConstraintsConfig>;
|
|
57
56
|
}
|
|
@@ -513,10 +512,10 @@ export class SelfModifyingAgent {
|
|
|
513
512
|
metaReasoning: {
|
|
514
513
|
...defaults.metaReasoning,
|
|
515
514
|
...partial.metaReasoning,
|
|
516
|
-
modeProfiles:
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
515
|
+
modeProfiles: mergeModeProfiles(
|
|
516
|
+
defaults.metaReasoning.modeProfiles,
|
|
517
|
+
partial.metaReasoning?.modeProfiles
|
|
518
|
+
),
|
|
520
519
|
},
|
|
521
520
|
architectureEvolution: {
|
|
522
521
|
...defaults.architectureEvolution,
|