cognitive-core 0.0.1 → 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.
- package/README.md +363 -2
- package/SKILL.md +193 -0
- package/dist/agents/index.d.ts +3 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/mock-provider.d.ts +23 -0
- package/dist/agents/mock-provider.d.ts.map +1 -0
- package/dist/agents/mock-provider.js +71 -0
- package/dist/agents/mock-provider.js.map +1 -0
- package/dist/agents/types.d.ts +98 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +44 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/atlas.d.ts +196 -0
- package/dist/atlas.d.ts.map +1 -0
- package/dist/atlas.js +373 -0
- package/dist/atlas.js.map +1 -0
- package/dist/bin/cognitive-core.d.ts +18 -0
- package/dist/bin/cognitive-core.d.ts.map +1 -0
- package/dist/bin/cognitive-core.js +419 -0
- package/dist/bin/cognitive-core.js.map +1 -0
- package/dist/embeddings/bm25.d.ts +104 -0
- package/dist/embeddings/bm25.d.ts.map +1 -0
- package/dist/embeddings/bm25.js +264 -0
- package/dist/embeddings/bm25.js.map +1 -0
- package/dist/embeddings/index.d.ts +12 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +16 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/embeddings/manager.d.ts +112 -0
- package/dist/embeddings/manager.d.ts.map +1 -0
- package/dist/embeddings/manager.js +215 -0
- package/dist/embeddings/manager.js.map +1 -0
- package/dist/embeddings/provider.d.ts +101 -0
- package/dist/embeddings/provider.d.ts.map +1 -0
- package/dist/embeddings/provider.js +232 -0
- package/dist/embeddings/provider.js.map +1 -0
- package/dist/embeddings/vector-store.d.ts +101 -0
- package/dist/embeddings/vector-store.d.ts.map +1 -0
- package/dist/embeddings/vector-store.js +256 -0
- package/dist/embeddings/vector-store.js.map +1 -0
- package/dist/factory.d.ts +193 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +109 -0
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +84 -0
- package/dist/index.js.map +1 -0
- package/dist/learning/analyzer.d.ts +110 -0
- package/dist/learning/analyzer.d.ts.map +1 -0
- package/dist/learning/analyzer.js +213 -0
- package/dist/learning/analyzer.js.map +1 -0
- package/dist/learning/effectiveness.d.ts +158 -0
- package/dist/learning/effectiveness.d.ts.map +1 -0
- package/dist/learning/effectiveness.js +251 -0
- package/dist/learning/effectiveness.js.map +1 -0
- package/dist/learning/index.d.ts +8 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +11 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/llm-extractor.d.ts +88 -0
- package/dist/learning/llm-extractor.d.ts.map +1 -0
- package/dist/learning/llm-extractor.js +372 -0
- package/dist/learning/llm-extractor.js.map +1 -0
- package/dist/learning/meta-learner.d.ts +80 -0
- package/dist/learning/meta-learner.d.ts.map +1 -0
- package/dist/learning/meta-learner.js +355 -0
- package/dist/learning/meta-learner.js.map +1 -0
- package/dist/learning/pipeline.d.ts +65 -0
- package/dist/learning/pipeline.d.ts.map +1 -0
- package/dist/learning/pipeline.js +170 -0
- package/dist/learning/pipeline.js.map +1 -0
- package/dist/learning/playbook-extractor.d.ts +113 -0
- package/dist/learning/playbook-extractor.d.ts.map +1 -0
- package/dist/learning/playbook-extractor.js +523 -0
- package/dist/learning/playbook-extractor.js.map +1 -0
- package/dist/learning/usage-inference.d.ts +82 -0
- package/dist/learning/usage-inference.d.ts.map +1 -0
- package/dist/learning/usage-inference.js +261 -0
- package/dist/learning/usage-inference.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +6 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/playbook-server.d.ts +120 -0
- package/dist/mcp/playbook-server.d.ts.map +1 -0
- package/dist/mcp/playbook-server.js +427 -0
- package/dist/mcp/playbook-server.js.map +1 -0
- package/dist/memory/curated-loader.d.ts +62 -0
- package/dist/memory/curated-loader.d.ts.map +1 -0
- package/dist/memory/curated-loader.js +106 -0
- package/dist/memory/curated-loader.js.map +1 -0
- package/dist/memory/experience.d.ts +122 -0
- package/dist/memory/experience.d.ts.map +1 -0
- package/dist/memory/experience.js +392 -0
- package/dist/memory/experience.js.map +1 -0
- package/dist/memory/index.d.ts +6 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +9 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/meta.d.ts +90 -0
- package/dist/memory/meta.d.ts.map +1 -0
- package/dist/memory/meta.js +362 -0
- package/dist/memory/meta.js.map +1 -0
- package/dist/memory/playbook.d.ts +133 -0
- package/dist/memory/playbook.d.ts.map +1 -0
- package/dist/memory/playbook.js +357 -0
- package/dist/memory/playbook.js.map +1 -0
- package/dist/memory/system.d.ts +167 -0
- package/dist/memory/system.d.ts.map +1 -0
- package/dist/memory/system.js +383 -0
- package/dist/memory/system.js.map +1 -0
- package/dist/runtime/backends/acp.d.ts +67 -0
- package/dist/runtime/backends/acp.d.ts.map +1 -0
- package/dist/runtime/backends/acp.js +290 -0
- package/dist/runtime/backends/acp.js.map +1 -0
- package/dist/runtime/backends/index.d.ts +5 -0
- package/dist/runtime/backends/index.d.ts.map +1 -0
- package/dist/runtime/backends/index.js +6 -0
- package/dist/runtime/backends/index.js.map +1 -0
- package/dist/runtime/backends/mock.d.ts +67 -0
- package/dist/runtime/backends/mock.d.ts.map +1 -0
- package/dist/runtime/backends/mock.js +153 -0
- package/dist/runtime/backends/mock.js.map +1 -0
- package/dist/runtime/backends/subprocess.d.ts +56 -0
- package/dist/runtime/backends/subprocess.d.ts.map +1 -0
- package/dist/runtime/backends/subprocess.js +260 -0
- package/dist/runtime/backends/subprocess.js.map +1 -0
- package/dist/runtime/flows/learning.d.ts +73 -0
- package/dist/runtime/flows/learning.d.ts.map +1 -0
- package/dist/runtime/flows/learning.js +116 -0
- package/dist/runtime/flows/learning.js.map +1 -0
- package/dist/runtime/flows/validation.d.ts +122 -0
- package/dist/runtime/flows/validation.d.ts.map +1 -0
- package/dist/runtime/flows/validation.js +223 -0
- package/dist/runtime/flows/validation.js.map +1 -0
- package/dist/runtime/index.d.ts +6 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +8 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/manager.d.ts +116 -0
- package/dist/runtime/manager.d.ts.map +1 -0
- package/dist/runtime/manager.js +416 -0
- package/dist/runtime/manager.js.map +1 -0
- package/dist/runtime/types.d.ts +138 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/search/evaluator.d.ts +102 -0
- package/dist/search/evaluator.d.ts.map +1 -0
- package/dist/search/evaluator.js +352 -0
- package/dist/search/evaluator.js.map +1 -0
- package/dist/search/index.d.ts +7 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +11 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/refinement-loop.d.ts +73 -0
- package/dist/search/refinement-loop.d.ts.map +1 -0
- package/dist/search/refinement-loop.js +245 -0
- package/dist/search/refinement-loop.js.map +1 -0
- package/dist/search/refinement-types.d.ts +154 -0
- package/dist/search/refinement-types.d.ts.map +1 -0
- package/dist/search/refinement-types.js +99 -0
- package/dist/search/refinement-types.js.map +1 -0
- package/dist/search/router.d.ts +61 -0
- package/dist/search/router.d.ts.map +1 -0
- package/dist/search/router.js +197 -0
- package/dist/search/router.js.map +1 -0
- package/dist/search/solver.d.ts +75 -0
- package/dist/search/solver.d.ts.map +1 -0
- package/dist/search/solver.js +216 -0
- package/dist/search/solver.js.map +1 -0
- package/dist/search/verification-runner.d.ts +125 -0
- package/dist/search/verification-runner.d.ts.map +1 -0
- package/dist/search/verification-runner.js +440 -0
- package/dist/search/verification-runner.js.map +1 -0
- package/dist/surfacing/index.d.ts +2 -0
- package/dist/surfacing/index.d.ts.map +1 -0
- package/dist/surfacing/index.js +2 -0
- package/dist/surfacing/index.js.map +1 -0
- package/dist/surfacing/skill-library.d.ts +158 -0
- package/dist/surfacing/skill-library.d.ts.map +1 -0
- package/dist/surfacing/skill-library.js +429 -0
- package/dist/surfacing/skill-library.js.map +1 -0
- package/dist/types/config.d.ts +1113 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +274 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +14 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/memory.d.ts +339 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +207 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/meta.d.ts +146 -0
- package/dist/types/meta.d.ts.map +1 -0
- package/dist/types/meta.js +51 -0
- package/dist/types/meta.js.map +1 -0
- package/dist/types/outcome.d.ts +42 -0
- package/dist/types/outcome.d.ts.map +1 -0
- package/dist/types/outcome.js +50 -0
- package/dist/types/outcome.js.map +1 -0
- package/dist/types/playbook.d.ts +119 -0
- package/dist/types/playbook.d.ts.map +1 -0
- package/dist/types/playbook.js +71 -0
- package/dist/types/playbook.js.map +1 -0
- package/dist/types/step.d.ts +44 -0
- package/dist/types/step.d.ts.map +1 -0
- package/dist/types/step.js +32 -0
- package/dist/types/step.js.map +1 -0
- package/dist/types/task.d.ts +91 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +39 -0
- package/dist/types/task.js.map +1 -0
- package/dist/types/trajectory.d.ts +221 -0
- package/dist/types/trajectory.d.ts.map +1 -0
- package/dist/types/trajectory.js +60 -0
- package/dist/types/trajectory.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/similarity.d.ts +31 -0
- package/dist/utils/similarity.d.ts.map +1 -0
- package/dist/utils/similarity.js +107 -0
- package/dist/utils/similarity.js.map +1 -0
- package/dist/utils/storage.d.ts +106 -0
- package/dist/utils/storage.d.ts.map +1 -0
- package/dist/utils/storage.js +203 -0
- package/dist/utils/storage.js.map +1 -0
- package/dist/utils/validation.d.ts +129 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +171 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +61 -9
- package/scripts/migrate-to-playbooks.ts +307 -0
- package/src/agents/index.ts +14 -0
- package/src/agents/mock-provider.ts +93 -0
- package/src/agents/types.ts +137 -0
- package/src/atlas.ts +560 -0
- package/src/bin/cognitive-core.ts +470 -0
- package/src/embeddings/bm25.ts +337 -0
- package/src/embeddings/index.ts +39 -0
- package/src/embeddings/manager.ts +288 -0
- package/src/embeddings/provider.ts +311 -0
- package/src/embeddings/vector-store.ts +353 -0
- package/src/factory.ts +263 -0
- package/src/index.ts +246 -0
- package/src/learning/analyzer.ts +335 -0
- package/src/learning/effectiveness.ts +428 -0
- package/src/learning/index.ts +58 -0
- package/src/learning/llm-extractor.ts +542 -0
- package/src/learning/meta-learner.ts +516 -0
- package/src/learning/pipeline.ts +244 -0
- package/src/learning/playbook-extractor.ts +702 -0
- package/src/learning/usage-inference.ts +372 -0
- package/src/mcp/index.ts +12 -0
- package/src/mcp/playbook-server.ts +565 -0
- package/src/memory/curated-loader.ts +160 -0
- package/src/memory/experience.ts +515 -0
- package/src/memory/index.ts +27 -0
- package/src/memory/meta.ts +506 -0
- package/src/memory/playbook.ts +493 -0
- package/src/memory/system.ts +551 -0
- package/src/runtime/backends/acp.ts +378 -0
- package/src/runtime/backends/index.ts +24 -0
- package/src/runtime/backends/mock.ts +218 -0
- package/src/runtime/backends/subprocess.ts +356 -0
- package/src/runtime/flows/learning.ts +183 -0
- package/src/runtime/flows/validation.ts +381 -0
- package/src/runtime/index.ts +53 -0
- package/src/runtime/manager.ts +541 -0
- package/src/runtime/types.ts +157 -0
- package/src/search/evaluator.ts +474 -0
- package/src/search/index.ts +59 -0
- package/src/search/refinement-loop.ts +363 -0
- package/src/search/refinement-types.ts +159 -0
- package/src/search/router.ts +261 -0
- package/src/search/solver.ts +303 -0
- package/src/search/verification-runner.ts +570 -0
- package/src/surfacing/index.ts +6 -0
- package/src/surfacing/skill-library.ts +594 -0
- package/src/types/config.ts +333 -0
- package/src/types/index.ts +130 -0
- package/src/types/memory.ts +270 -0
- package/src/types/meta.ts +218 -0
- package/src/types/outcome.ts +66 -0
- package/src/types/playbook.ts +196 -0
- package/src/types/step.ts +40 -0
- package/src/types/task.ts +52 -0
- package/src/types/trajectory.ts +80 -0
- package/src/utils/index.ts +38 -0
- package/src/utils/similarity.ts +139 -0
- package/src/utils/storage.ts +249 -0
- package/src/utils/validation.ts +286 -0
- package/tests/embeddings/bm25.test.ts +130 -0
- package/tests/embeddings/manager.test.ts +205 -0
- package/tests/integration/atlas.test.ts +266 -0
- package/tests/integration/e2e.test.ts +929 -0
- package/tests/learning/analyzer.test.ts +426 -0
- package/tests/learning/effectiveness.test.ts +542 -0
- package/tests/learning/pipeline.test.ts +176 -0
- package/tests/learning/playbook-extractor-provenance.test.ts +114 -0
- package/tests/learning/usage-inference.test.ts +254 -0
- package/tests/mcp/playbook-server.test.ts +252 -0
- package/tests/memory/experience.test.ts +198 -0
- package/tests/memory/playbook.test.ts +338 -0
- package/tests/memory/provenance.test.ts +639 -0
- package/tests/memory/system.test.ts +325 -0
- package/tests/runtime/agent-manager.test.ts +512 -0
- package/tests/runtime/mock-backend.test.ts +248 -0
- package/tests/search/refinement-loop.test.ts +468 -0
- package/tests/search/refinement.test.ts +267 -0
- package/tests/search/router.test.ts +427 -0
- package/tests/surfacing/skill-library.test.ts +292 -0
- package/tests/types/outcome.test.ts +147 -0
- package/tests/types/step.test.ts +133 -0
- package/tests/types/task.test.ts +158 -0
- package/tests/types/trajectory.test.ts +253 -0
- package/tests/utils/similarity.test.ts +188 -0
- package/tests/utils/validation.test.ts +252 -0
- package/tsconfig.json +25 -0
- package/vitest.config.ts +22 -0
- package/index.d.ts +0 -4
- package/index.js +0 -4
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refinement Loop
|
|
3
|
+
*
|
|
4
|
+
* Implements ReMem-style iterative refinement that improves solutions
|
|
5
|
+
* using memory-augmented feedback. The loop:
|
|
6
|
+
* 1. Evaluates solution quality
|
|
7
|
+
* 2. If not acceptable, injects failure context and retries
|
|
8
|
+
* 3. Continues until acceptable or max iterations reached
|
|
9
|
+
*/
|
|
10
|
+
import { SolutionEvaluator } from './evaluator.js';
|
|
11
|
+
/**
|
|
12
|
+
* Default refinement configuration
|
|
13
|
+
*/
|
|
14
|
+
const DEFAULT_CONFIG = {
|
|
15
|
+
maxIterations: 3,
|
|
16
|
+
minAcceptableScore: 0.7,
|
|
17
|
+
injectFailureContext: true,
|
|
18
|
+
queryFailureMemory: true,
|
|
19
|
+
evaluatorConfig: {},
|
|
20
|
+
triggerOnStrategies: ['explore', 'fallback'],
|
|
21
|
+
confidenceThreshold: 0.85,
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* RefinementLoop - Iteratively improves solutions using feedback
|
|
25
|
+
*/
|
|
26
|
+
export class RefinementLoop {
|
|
27
|
+
agentManager;
|
|
28
|
+
memory;
|
|
29
|
+
evaluator;
|
|
30
|
+
config;
|
|
31
|
+
constructor(agentManager, memory, config = {}) {
|
|
32
|
+
this.agentManager = agentManager;
|
|
33
|
+
this.memory = memory;
|
|
34
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
35
|
+
this.evaluator = new SolutionEvaluator(agentManager, this.config.evaluatorConfig);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get the evaluator for registering domain verifiers
|
|
39
|
+
*/
|
|
40
|
+
getEvaluator() {
|
|
41
|
+
return this.evaluator;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if refinement should be triggered based on strategy and confidence
|
|
45
|
+
*/
|
|
46
|
+
shouldTriggerRefinement(strategy, confidence) {
|
|
47
|
+
// Check if strategy is in trigger list
|
|
48
|
+
if (!this.config.triggerOnStrategies.includes(strategy)) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
// If confidence is high enough, skip refinement
|
|
52
|
+
if (confidence !== undefined &&
|
|
53
|
+
confidence >= this.config.confidenceThreshold) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Run the refinement loop on an initial trajectory
|
|
60
|
+
*/
|
|
61
|
+
async refine(initialTrajectory, spawnConfig) {
|
|
62
|
+
const evaluations = [];
|
|
63
|
+
let currentTrajectory = initialTrajectory;
|
|
64
|
+
let bestTrajectory = initialTrajectory;
|
|
65
|
+
let bestScore = 0;
|
|
66
|
+
let improved = false;
|
|
67
|
+
// Evaluate initial trajectory
|
|
68
|
+
const initialEval = await this.evaluator.evaluate(currentTrajectory, spawnConfig.task);
|
|
69
|
+
evaluations.push(initialEval);
|
|
70
|
+
bestScore = initialEval.score;
|
|
71
|
+
// If initial is acceptable, return early
|
|
72
|
+
if (initialEval.acceptable && initialEval.score >= this.config.minAcceptableScore) {
|
|
73
|
+
return {
|
|
74
|
+
trajectory: currentTrajectory,
|
|
75
|
+
success: true,
|
|
76
|
+
iterations: 0,
|
|
77
|
+
evaluations,
|
|
78
|
+
improved: false,
|
|
79
|
+
bestScore: initialEval.score,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// Refinement loop
|
|
83
|
+
for (let iteration = 0; iteration < this.config.maxIterations; iteration++) {
|
|
84
|
+
// Build failure context
|
|
85
|
+
const failureContext = {
|
|
86
|
+
attemptedSolution: currentTrajectory.outcome.solution,
|
|
87
|
+
evaluation: evaluations[evaluations.length - 1],
|
|
88
|
+
stepsAttempted: currentTrajectory.steps.length,
|
|
89
|
+
previousAttempts: iteration + 1,
|
|
90
|
+
};
|
|
91
|
+
// Query memory for similar failures if enabled
|
|
92
|
+
let failureMemory;
|
|
93
|
+
if (this.config.queryFailureMemory) {
|
|
94
|
+
failureMemory = await this.queryFailurePatterns(spawnConfig.task, failureContext);
|
|
95
|
+
}
|
|
96
|
+
// Build refinement prompt
|
|
97
|
+
const refinementAdditions = this.buildRefinementPrompt(failureContext, failureMemory);
|
|
98
|
+
// Spawn refined agent
|
|
99
|
+
const refinedConfig = {
|
|
100
|
+
...spawnConfig,
|
|
101
|
+
systemPromptAdditions: [
|
|
102
|
+
spawnConfig.systemPromptAdditions,
|
|
103
|
+
refinementAdditions,
|
|
104
|
+
]
|
|
105
|
+
.filter(Boolean)
|
|
106
|
+
.join('\n\n'),
|
|
107
|
+
};
|
|
108
|
+
const result = await this.agentManager.spawn(refinedConfig);
|
|
109
|
+
currentTrajectory = result.trajectory;
|
|
110
|
+
// Evaluate refined trajectory
|
|
111
|
+
const evaluation = await this.evaluator.evaluate(currentTrajectory, spawnConfig.task);
|
|
112
|
+
evaluations.push(evaluation);
|
|
113
|
+
// Track best
|
|
114
|
+
if (evaluation.score > bestScore) {
|
|
115
|
+
bestScore = evaluation.score;
|
|
116
|
+
bestTrajectory = currentTrajectory;
|
|
117
|
+
improved = true;
|
|
118
|
+
}
|
|
119
|
+
// Check if acceptable
|
|
120
|
+
if (evaluation.acceptable && evaluation.score >= this.config.minAcceptableScore) {
|
|
121
|
+
return {
|
|
122
|
+
trajectory: currentTrajectory,
|
|
123
|
+
success: true,
|
|
124
|
+
iterations: iteration + 1,
|
|
125
|
+
evaluations,
|
|
126
|
+
improved,
|
|
127
|
+
bestScore,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Return best trajectory after all iterations
|
|
132
|
+
return {
|
|
133
|
+
trajectory: bestTrajectory,
|
|
134
|
+
success: bestScore >= this.config.minAcceptableScore,
|
|
135
|
+
iterations: this.config.maxIterations,
|
|
136
|
+
evaluations,
|
|
137
|
+
improved,
|
|
138
|
+
bestScore,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Query memory for similar failure patterns
|
|
143
|
+
*/
|
|
144
|
+
async queryFailurePatterns(task, failureContext) {
|
|
145
|
+
// Build query from task and failure
|
|
146
|
+
const failureDescription = failureContext.evaluation.issues
|
|
147
|
+
.map((issue) => issue.description)
|
|
148
|
+
.join('; ');
|
|
149
|
+
const query = `${task.description} - failed with: ${failureDescription}`;
|
|
150
|
+
// Query memory for similar experiences and playbooks
|
|
151
|
+
const results = await this.memory.queryV2(query, {
|
|
152
|
+
domains: task.domain ? [task.domain] : undefined,
|
|
153
|
+
includeExperiences: true,
|
|
154
|
+
includePlaybooks: true,
|
|
155
|
+
});
|
|
156
|
+
// Filter to experiences that eventually succeeded after similar failures
|
|
157
|
+
// This gives us recovery strategies
|
|
158
|
+
const recoveryExperiences = results.experiences.filter((exp) => exp.experience.success &&
|
|
159
|
+
this.hasSimilarInitialFailure(exp.experience, failureContext));
|
|
160
|
+
return {
|
|
161
|
+
...results,
|
|
162
|
+
experiences: recoveryExperiences.length > 0 ? recoveryExperiences : results.experiences,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Check if an experience had a similar initial failure pattern
|
|
167
|
+
*/
|
|
168
|
+
hasSimilarInitialFailure(experience, failureContext) {
|
|
169
|
+
// Look for similar error patterns in the experience's early steps
|
|
170
|
+
const failureKeywords = failureContext.evaluation.issues
|
|
171
|
+
.map((issue) => issue.description.toLowerCase().split(' '))
|
|
172
|
+
.flat()
|
|
173
|
+
.filter((word) => word.length > 4);
|
|
174
|
+
const experienceText = ((experience.steps ?? [])
|
|
175
|
+
.map((s) => s.observation ?? '')
|
|
176
|
+
.join(' ') +
|
|
177
|
+
' ' +
|
|
178
|
+
experience.solutionOutput).toLowerCase();
|
|
179
|
+
const matchCount = failureKeywords.filter((kw) => experienceText.includes(kw)).length;
|
|
180
|
+
return matchCount >= Math.min(2, failureKeywords.length / 2);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Build refinement prompt with failure context and memory
|
|
184
|
+
*/
|
|
185
|
+
buildRefinementPrompt(failureContext, failureMemory) {
|
|
186
|
+
const parts = [];
|
|
187
|
+
if (this.config.injectFailureContext) {
|
|
188
|
+
parts.push('## Previous Attempt Feedback');
|
|
189
|
+
parts.push('');
|
|
190
|
+
parts.push(`Your previous attempt (iteration ${failureContext.previousAttempts}) had issues:`);
|
|
191
|
+
parts.push('');
|
|
192
|
+
for (const issue of failureContext.evaluation.issues) {
|
|
193
|
+
const severity = issue.severity.toUpperCase();
|
|
194
|
+
parts.push(`- **[${severity}]** ${issue.type}: ${issue.description}`);
|
|
195
|
+
if (issue.suggestion) {
|
|
196
|
+
parts.push(` *Suggestion:* ${issue.suggestion}`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
parts.push('');
|
|
200
|
+
parts.push(`Quality score: ${(failureContext.evaluation.score * 100).toFixed(0)}%`);
|
|
201
|
+
parts.push(`Assessment: ${failureContext.evaluation.quality}`);
|
|
202
|
+
parts.push('');
|
|
203
|
+
}
|
|
204
|
+
if (failureMemory && this.config.queryFailureMemory) {
|
|
205
|
+
// Add recovery playbooks from memory
|
|
206
|
+
if (failureMemory.playbooks.length > 0) {
|
|
207
|
+
parts.push('## Recovery Playbooks from Memory');
|
|
208
|
+
parts.push('');
|
|
209
|
+
for (const { playbook, score } of failureMemory.playbooks.slice(0, 3)) {
|
|
210
|
+
parts.push(`- **${playbook.name}** (${(score * 100).toFixed(0)}% relevant)`);
|
|
211
|
+
parts.push(` Strategy: ${playbook.guidance.strategy}`);
|
|
212
|
+
if (playbook.guidance.steps && playbook.guidance.steps.length > 0) {
|
|
213
|
+
parts.push(` Steps: ${playbook.guidance.steps.slice(0, 3).join(' → ')}`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
parts.push('');
|
|
217
|
+
}
|
|
218
|
+
// Add successful recovery experiences
|
|
219
|
+
if (failureMemory.experiences.length > 0) {
|
|
220
|
+
parts.push('## Similar Problems Successfully Solved');
|
|
221
|
+
parts.push('');
|
|
222
|
+
for (const { experience } of failureMemory.experiences.slice(0, 2)) {
|
|
223
|
+
parts.push(`- Task: ${experience.taskInput.slice(0, 150)}...`);
|
|
224
|
+
parts.push(` Solution approach: ${experience.solutionOutput.slice(0, 200)}...`);
|
|
225
|
+
}
|
|
226
|
+
parts.push('');
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
parts.push('## Instructions for This Attempt');
|
|
230
|
+
parts.push('');
|
|
231
|
+
parts.push('Please address the issues identified above and try a different approach.');
|
|
232
|
+
parts.push('Focus on:');
|
|
233
|
+
parts.push('1. Avoiding the specific errors from the previous attempt');
|
|
234
|
+
parts.push('2. Using the recovery playbooks if applicable');
|
|
235
|
+
parts.push('3. Taking a more thorough or alternative approach');
|
|
236
|
+
return parts.join('\n');
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Create a refinement loop
|
|
241
|
+
*/
|
|
242
|
+
export function createRefinementLoop(agentManager, memory, config) {
|
|
243
|
+
return new RefinementLoop(agentManager, memory, config);
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=refinement-loop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refinement-loop.js","sourceRoot":"","sources":["../../src/search/refinement-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,EAAE,iBAAiB,EAAwB,MAAM,gBAAgB,CAAC;AAsBzE;;GAEG;AACH,MAAM,cAAc,GAAmC;IACrD,aAAa,EAAE,CAAC;IAChB,kBAAkB,EAAE,GAAG;IACvB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,mBAAmB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAC5C,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,cAAc;IACjB,YAAY,CAAe;IAC3B,MAAM,CAAe;IACrB,SAAS,CAAoB;IAC7B,MAAM,CAAiC;IAE/C,YACE,YAA0B,EAC1B,MAAoB,EACpB,SAA+B,EAAE;QAEjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CACpC,YAAY,EACZ,IAAI,CAAC,MAAM,CAAC,eAAe,CAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,uBAAuB,CACrB,QAAqD,EACrD,UAAmB;QAEnB,uCAAuC;QACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gDAAgD;QAChD,IACE,UAAU,KAAK,SAAS;YACxB,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC7C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,iBAA6B,EAC7B,WAA6B;QAE7B,MAAM,WAAW,GAAuB,EAAE,CAAC;QAC3C,IAAI,iBAAiB,GAAG,iBAAiB,CAAC;QAC1C,IAAI,cAAc,GAAG,iBAAiB,CAAC;QACvC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAC/C,iBAAiB,EACjB,WAAW,CAAC,IAAI,CACjB,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;QAE9B,yCAAyC;QACzC,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAClF,OAAO;gBACL,UAAU,EAAE,iBAAiB;gBAC7B,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,CAAC;gBACb,WAAW;gBACX,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,WAAW,CAAC,KAAK;aAC7B,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC;YAC3E,wBAAwB;YACxB,MAAM,cAAc,GAAmB;gBACrC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC,QAAQ;gBACrD,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC/C,cAAc,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM;gBAC9C,gBAAgB,EAAE,SAAS,GAAG,CAAC;aAChC,CAAC;YAEF,+CAA+C;YAC/C,IAAI,aAA8C,CAAC;YACnD,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACnC,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC7C,WAAW,CAAC,IAAI,EAChB,cAAc,CACf,CAAC;YACJ,CAAC;YAED,0BAA0B;YAC1B,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CACpD,cAAc,EACd,aAAa,CACd,CAAC;YAEF,sBAAsB;YACtB,MAAM,aAAa,GAAqB;gBACtC,GAAG,WAAW;gBACd,qBAAqB,EAAE;oBACrB,WAAW,CAAC,qBAAqB;oBACjC,mBAAmB;iBACpB;qBACE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,MAAM,CAAC;aAChB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC5D,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC;YAEtC,8BAA8B;YAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAC9C,iBAAiB,EACjB,WAAW,CAAC,IAAI,CACjB,CAAC;YACF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE7B,aAAa;YACb,IAAI,UAAU,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC;gBACjC,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC7B,cAAc,GAAG,iBAAiB,CAAC;gBACnC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,sBAAsB;YACtB,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAChF,OAAO;oBACL,UAAU,EAAE,iBAAiB;oBAC7B,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,SAAS,GAAG,CAAC;oBACzB,WAAW;oBACX,QAAQ;oBACR,SAAS;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,OAAO;YACL,UAAU,EAAE,cAAc;YAC1B,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB;YACpD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;YACrC,WAAW;YACX,QAAQ;YACR,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAChC,IAAU,EACV,cAA8B;QAE9B,oCAAoC;QACpC,MAAM,kBAAkB,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM;aACxD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;aACjC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,WAAW,mBAAmB,kBAAkB,EAAE,CAAC;QAEzE,qDAAqD;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;YAC/C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAChD,kBAAkB,EAAE,IAAI;YACxB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,yEAAyE;QACzE,oCAAoC;QACpC,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CACpD,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,UAAU,CAAC,OAAO;YACtB,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAChE,CAAC;QAEF,OAAO;YACL,GAAG,OAAO;YACV,WAAW,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW;SACxF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,wBAAwB,CAC9B,UAA+E,EAC/E,cAA8B;QAE9B,kEAAkE;QAClE,MAAM,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM;aACrD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC1D,IAAI,EAAE;aACN,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErC,MAAM,cAAc,GAAG,CACrB,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;aACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;aAC/B,IAAI,CAAC,GAAG,CAAC;YACZ,GAAG;YACH,UAAU,CAAC,cAAc,CAC1B,CAAC,WAAW,EAAE,CAAC;QAEhB,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAC/C,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC5B,CAAC,MAAM,CAAC;QAET,OAAO,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,cAA8B,EAC9B,aAAmC;QAEnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CACR,oCAAoC,cAAc,CAAC,gBAAgB,eAAe,CACnF,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpF,KAAK,CAAC,IAAI,CAAC,eAAe,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,IAAI,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACpD,qCAAqC;YACrC,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACtE,KAAK,CAAC,IAAI,CACR,OAAO,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CACjE,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClE,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,sCAAsC;YACtC,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACnE,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC/D,KAAK,CAAC,IAAI,CAAC,wBAAwB,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnF,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACvF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAA0B,EAC1B,MAAoB,EACpB,MAA6B;IAE7B,OAAO,IAAI,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refinement Types
|
|
3
|
+
*
|
|
4
|
+
* Types for the ReMem-style refinement loop that iteratively
|
|
5
|
+
* improves solutions using memory-augmented feedback.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
/**
|
|
9
|
+
* Issue type found during evaluation
|
|
10
|
+
*/
|
|
11
|
+
export declare const IssueTypeSchema: z.ZodEnum<["incomplete", "incorrect", "inefficient", "off_topic", "error"]>;
|
|
12
|
+
export type IssueType = z.infer<typeof IssueTypeSchema>;
|
|
13
|
+
/**
|
|
14
|
+
* Severity of an issue
|
|
15
|
+
*/
|
|
16
|
+
export declare const IssueSeveritySchema: z.ZodEnum<["critical", "major", "minor"]>;
|
|
17
|
+
export type IssueSeverity = z.infer<typeof IssueSeveritySchema>;
|
|
18
|
+
/**
|
|
19
|
+
* An issue found during solution evaluation
|
|
20
|
+
*/
|
|
21
|
+
export declare const EvaluationIssueSchema: z.ZodObject<{
|
|
22
|
+
type: z.ZodEnum<["incomplete", "incorrect", "inefficient", "off_topic", "error"]>;
|
|
23
|
+
description: z.ZodString;
|
|
24
|
+
severity: z.ZodEnum<["critical", "major", "minor"]>;
|
|
25
|
+
suggestion: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
type: "error" | "incomplete" | "incorrect" | "inefficient" | "off_topic";
|
|
28
|
+
description: string;
|
|
29
|
+
severity: "major" | "minor" | "critical";
|
|
30
|
+
suggestion?: string | undefined;
|
|
31
|
+
}, {
|
|
32
|
+
type: "error" | "incomplete" | "incorrect" | "inefficient" | "off_topic";
|
|
33
|
+
description: string;
|
|
34
|
+
severity: "major" | "minor" | "critical";
|
|
35
|
+
suggestion?: string | undefined;
|
|
36
|
+
}>;
|
|
37
|
+
export type EvaluationIssue = z.infer<typeof EvaluationIssueSchema>;
|
|
38
|
+
/**
|
|
39
|
+
* Quality assessment level
|
|
40
|
+
*/
|
|
41
|
+
export declare const QualityLevelSchema: z.ZodEnum<["excellent", "good", "needs_work", "poor"]>;
|
|
42
|
+
export type QualityLevel = z.infer<typeof QualityLevelSchema>;
|
|
43
|
+
/**
|
|
44
|
+
* How the evaluation was performed
|
|
45
|
+
*/
|
|
46
|
+
export declare const EvaluationMethodSchema: z.ZodEnum<["verification", "agent", "heuristic"]>;
|
|
47
|
+
export type EvaluationMethod = z.infer<typeof EvaluationMethodSchema>;
|
|
48
|
+
/**
|
|
49
|
+
* Result of evaluating a solution's quality
|
|
50
|
+
*/
|
|
51
|
+
export declare const EvaluationResultSchema: z.ZodObject<{
|
|
52
|
+
/** Overall quality assessment */
|
|
53
|
+
quality: z.ZodEnum<["excellent", "good", "needs_work", "poor"]>;
|
|
54
|
+
/** Numeric score (0-1) */
|
|
55
|
+
score: z.ZodNumber;
|
|
56
|
+
/** Whether this solution is acceptable */
|
|
57
|
+
acceptable: z.ZodBoolean;
|
|
58
|
+
/** Specific issues found */
|
|
59
|
+
issues: z.ZodArray<z.ZodObject<{
|
|
60
|
+
type: z.ZodEnum<["incomplete", "incorrect", "inefficient", "off_topic", "error"]>;
|
|
61
|
+
description: z.ZodString;
|
|
62
|
+
severity: z.ZodEnum<["critical", "major", "minor"]>;
|
|
63
|
+
suggestion: z.ZodOptional<z.ZodString>;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
type: "error" | "incomplete" | "incorrect" | "inefficient" | "off_topic";
|
|
66
|
+
description: string;
|
|
67
|
+
severity: "major" | "minor" | "critical";
|
|
68
|
+
suggestion?: string | undefined;
|
|
69
|
+
}, {
|
|
70
|
+
type: "error" | "incomplete" | "incorrect" | "inefficient" | "off_topic";
|
|
71
|
+
description: string;
|
|
72
|
+
severity: "major" | "minor" | "critical";
|
|
73
|
+
suggestion?: string | undefined;
|
|
74
|
+
}>, "many">;
|
|
75
|
+
/** How the evaluation was performed */
|
|
76
|
+
method: z.ZodEnum<["verification", "agent", "heuristic"]>;
|
|
77
|
+
/** Raw response from evaluator (for debugging) */
|
|
78
|
+
rawResponse: z.ZodOptional<z.ZodString>;
|
|
79
|
+
}, "strip", z.ZodTypeAny, {
|
|
80
|
+
issues: {
|
|
81
|
+
type: "error" | "incomplete" | "incorrect" | "inefficient" | "off_topic";
|
|
82
|
+
description: string;
|
|
83
|
+
severity: "major" | "minor" | "critical";
|
|
84
|
+
suggestion?: string | undefined;
|
|
85
|
+
}[];
|
|
86
|
+
acceptable: boolean;
|
|
87
|
+
score: number;
|
|
88
|
+
quality: "excellent" | "good" | "poor" | "needs_work";
|
|
89
|
+
method: "verification" | "agent" | "heuristic";
|
|
90
|
+
rawResponse?: string | undefined;
|
|
91
|
+
}, {
|
|
92
|
+
issues: {
|
|
93
|
+
type: "error" | "incomplete" | "incorrect" | "inefficient" | "off_topic";
|
|
94
|
+
description: string;
|
|
95
|
+
severity: "major" | "minor" | "critical";
|
|
96
|
+
suggestion?: string | undefined;
|
|
97
|
+
}[];
|
|
98
|
+
acceptable: boolean;
|
|
99
|
+
score: number;
|
|
100
|
+
quality: "excellent" | "good" | "poor" | "needs_work";
|
|
101
|
+
method: "verification" | "agent" | "heuristic";
|
|
102
|
+
rawResponse?: string | undefined;
|
|
103
|
+
}>;
|
|
104
|
+
export type EvaluationResult = z.infer<typeof EvaluationResultSchema>;
|
|
105
|
+
/**
|
|
106
|
+
* Context about why a solution failed
|
|
107
|
+
*/
|
|
108
|
+
export interface FailureContext {
|
|
109
|
+
/** The solution that was attempted */
|
|
110
|
+
attemptedSolution: unknown;
|
|
111
|
+
/** Evaluation result */
|
|
112
|
+
evaluation: EvaluationResult;
|
|
113
|
+
/** Number of steps taken in the attempt */
|
|
114
|
+
stepsAttempted: number;
|
|
115
|
+
/** Number of previous refinement attempts */
|
|
116
|
+
previousAttempts: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Result of the refinement loop
|
|
120
|
+
*/
|
|
121
|
+
export interface RefinementResult {
|
|
122
|
+
/** Final trajectory after refinement */
|
|
123
|
+
trajectory: import('../types/trajectory.js').Trajectory;
|
|
124
|
+
/** Whether the final solution is acceptable */
|
|
125
|
+
success: boolean;
|
|
126
|
+
/** Number of refinement iterations performed */
|
|
127
|
+
iterations: number;
|
|
128
|
+
/** Evaluation results from each iteration */
|
|
129
|
+
evaluations: EvaluationResult[];
|
|
130
|
+
/** Whether refinement improved the solution */
|
|
131
|
+
improved: boolean;
|
|
132
|
+
/** Best score achieved during refinement */
|
|
133
|
+
bestScore: number;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Create an evaluation result
|
|
137
|
+
*/
|
|
138
|
+
export declare function createEvaluationResult(params: {
|
|
139
|
+
quality: QualityLevel;
|
|
140
|
+
score: number;
|
|
141
|
+
acceptable: boolean;
|
|
142
|
+
issues?: EvaluationIssue[];
|
|
143
|
+
method: EvaluationMethod;
|
|
144
|
+
rawResponse?: string;
|
|
145
|
+
}): EvaluationResult;
|
|
146
|
+
/**
|
|
147
|
+
* Determine quality level from a numeric score
|
|
148
|
+
*/
|
|
149
|
+
export declare function scoreToQuality(score: number): QualityLevel;
|
|
150
|
+
/**
|
|
151
|
+
* Check if a quality level is acceptable
|
|
152
|
+
*/
|
|
153
|
+
export declare function isQualityAcceptable(quality: QualityLevel, minAcceptable?: QualityLevel): boolean;
|
|
154
|
+
//# sourceMappingURL=refinement-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refinement-types.d.ts","sourceRoot":"","sources":["../../src/search/refinement-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,eAAe,6EAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,mBAAmB,2CAAyC,CAAC;AAE1E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,kBAAkB,wDAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,sBAAsB,mDAIjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,sBAAsB;IACjC,iCAAiC;;IAEjC,0BAA0B;;IAE1B,0CAA0C;;IAE1C,4BAA4B;;;;;;;;;;;;;;;;;IAE5B,uCAAuC;;IAEvC,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;EAElD,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB;IACxB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,UAAU,EAAE,OAAO,wBAAwB,EAAE,UAAU,CAAC;IACxD,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,gBAAgB,CASnB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAK1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,EACrB,aAAa,GAAE,YAAqB,GACnC,OAAO,CAKT"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refinement Types
|
|
3
|
+
*
|
|
4
|
+
* Types for the ReMem-style refinement loop that iteratively
|
|
5
|
+
* improves solutions using memory-augmented feedback.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
/**
|
|
9
|
+
* Issue type found during evaluation
|
|
10
|
+
*/
|
|
11
|
+
export const IssueTypeSchema = z.enum([
|
|
12
|
+
'incomplete',
|
|
13
|
+
'incorrect',
|
|
14
|
+
'inefficient',
|
|
15
|
+
'off_topic',
|
|
16
|
+
'error',
|
|
17
|
+
]);
|
|
18
|
+
/**
|
|
19
|
+
* Severity of an issue
|
|
20
|
+
*/
|
|
21
|
+
export const IssueSeveritySchema = z.enum(['critical', 'major', 'minor']);
|
|
22
|
+
/**
|
|
23
|
+
* An issue found during solution evaluation
|
|
24
|
+
*/
|
|
25
|
+
export const EvaluationIssueSchema = z.object({
|
|
26
|
+
type: IssueTypeSchema,
|
|
27
|
+
description: z.string(),
|
|
28
|
+
severity: IssueSeveritySchema,
|
|
29
|
+
suggestion: z.string().optional(),
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* Quality assessment level
|
|
33
|
+
*/
|
|
34
|
+
export const QualityLevelSchema = z.enum([
|
|
35
|
+
'excellent',
|
|
36
|
+
'good',
|
|
37
|
+
'needs_work',
|
|
38
|
+
'poor',
|
|
39
|
+
]);
|
|
40
|
+
/**
|
|
41
|
+
* How the evaluation was performed
|
|
42
|
+
*/
|
|
43
|
+
export const EvaluationMethodSchema = z.enum([
|
|
44
|
+
'verification',
|
|
45
|
+
'agent',
|
|
46
|
+
'heuristic',
|
|
47
|
+
]);
|
|
48
|
+
/**
|
|
49
|
+
* Result of evaluating a solution's quality
|
|
50
|
+
*/
|
|
51
|
+
export const EvaluationResultSchema = z.object({
|
|
52
|
+
/** Overall quality assessment */
|
|
53
|
+
quality: QualityLevelSchema,
|
|
54
|
+
/** Numeric score (0-1) */
|
|
55
|
+
score: z.number().min(0).max(1),
|
|
56
|
+
/** Whether this solution is acceptable */
|
|
57
|
+
acceptable: z.boolean(),
|
|
58
|
+
/** Specific issues found */
|
|
59
|
+
issues: z.array(EvaluationIssueSchema),
|
|
60
|
+
/** How the evaluation was performed */
|
|
61
|
+
method: EvaluationMethodSchema,
|
|
62
|
+
/** Raw response from evaluator (for debugging) */
|
|
63
|
+
rawResponse: z.string().optional(),
|
|
64
|
+
});
|
|
65
|
+
/**
|
|
66
|
+
* Create an evaluation result
|
|
67
|
+
*/
|
|
68
|
+
export function createEvaluationResult(params) {
|
|
69
|
+
return EvaluationResultSchema.parse({
|
|
70
|
+
quality: params.quality,
|
|
71
|
+
score: params.score,
|
|
72
|
+
acceptable: params.acceptable,
|
|
73
|
+
issues: params.issues ?? [],
|
|
74
|
+
method: params.method,
|
|
75
|
+
rawResponse: params.rawResponse,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Determine quality level from a numeric score
|
|
80
|
+
*/
|
|
81
|
+
export function scoreToQuality(score) {
|
|
82
|
+
if (score >= 0.85)
|
|
83
|
+
return 'excellent';
|
|
84
|
+
if (score >= 0.7)
|
|
85
|
+
return 'good';
|
|
86
|
+
if (score >= 0.4)
|
|
87
|
+
return 'needs_work';
|
|
88
|
+
return 'poor';
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Check if a quality level is acceptable
|
|
92
|
+
*/
|
|
93
|
+
export function isQualityAcceptable(quality, minAcceptable = 'good') {
|
|
94
|
+
const levels = ['poor', 'needs_work', 'good', 'excellent'];
|
|
95
|
+
const qualityIndex = levels.indexOf(quality);
|
|
96
|
+
const minIndex = levels.indexOf(minAcceptable);
|
|
97
|
+
return qualityIndex >= minIndex;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=refinement-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refinement-types.js","sourceRoot":"","sources":["../../src/search/refinement-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,YAAY;IACZ,WAAW;IACX,aAAa;IACb,WAAW;IACX,OAAO;CACR,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAI1E;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,mBAAmB;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,WAAW;IACX,MAAM;IACN,YAAY;IACZ,MAAM;CACP,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,cAAc;IACd,OAAO;IACP,WAAW;CACZ,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,iCAAiC;IACjC,OAAO,EAAE,kBAAkB;IAC3B,0BAA0B;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,0CAA0C;IAC1C,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,4BAA4B;IAC5B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACtC,uCAAuC;IACvC,MAAM,EAAE,sBAAsB;IAC9B,kDAAkD;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAoCH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAOtC;IACC,OAAO,sBAAsB,CAAC,KAAK,CAAC;QAClC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,WAAW,CAAC;IACtC,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,YAAY,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAqB,EACrB,gBAA8B,MAAM;IAEpC,MAAM,MAAM,GAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,OAAO,YAAY,IAAI,QAAQ,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { Task, RouterConfig } from '../types/index.js';
|
|
2
|
+
import type { MemorySystem, MemoryQueryResultV2 } from '../memory/system.js';
|
|
3
|
+
import type { MetaLearner } from '../learning/meta-learner.js';
|
|
4
|
+
/**
|
|
5
|
+
* Routing decision with context
|
|
6
|
+
*/
|
|
7
|
+
export interface RoutingDecision {
|
|
8
|
+
/** Selected strategy for solving */
|
|
9
|
+
strategy: 'direct' | 'adapt' | 'explore' | 'fallback';
|
|
10
|
+
/** Confidence in this routing (0-1) */
|
|
11
|
+
confidence: number;
|
|
12
|
+
/** Memory query results (playbook format) */
|
|
13
|
+
memoryContext: MemoryQueryResultV2;
|
|
14
|
+
/** Estimated compute budget (LLM calls) */
|
|
15
|
+
estimatedBudget: number;
|
|
16
|
+
/** Reasoning for the decision */
|
|
17
|
+
reasoning: string;
|
|
18
|
+
/** Meta-strategies that were applied */
|
|
19
|
+
appliedMetaStrategies?: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Task Router
|
|
23
|
+
* Determines the best approach for solving a task based on memory
|
|
24
|
+
* Now with meta-learning integration for adaptive routing
|
|
25
|
+
*/
|
|
26
|
+
export declare class TaskRouter {
|
|
27
|
+
private memory;
|
|
28
|
+
private config;
|
|
29
|
+
private metaLearner?;
|
|
30
|
+
constructor(memory: MemorySystem, config?: Partial<RouterConfig>, metaLearner?: MetaLearner);
|
|
31
|
+
/**
|
|
32
|
+
* Set the meta learner (can be set after construction)
|
|
33
|
+
*/
|
|
34
|
+
setMetaLearner(metaLearner: MetaLearner): void;
|
|
35
|
+
/**
|
|
36
|
+
* Route a task to determine solving strategy
|
|
37
|
+
* Uses playbook-based memory with meta-learning adjustments
|
|
38
|
+
*/
|
|
39
|
+
route(task: Task): Promise<RoutingDecision>;
|
|
40
|
+
/**
|
|
41
|
+
* Compute base routing decision from memory results
|
|
42
|
+
*/
|
|
43
|
+
private computeBaseRouting;
|
|
44
|
+
/**
|
|
45
|
+
* Extract task characteristics for meta-learning
|
|
46
|
+
*/
|
|
47
|
+
private extractTaskCharacteristics;
|
|
48
|
+
/**
|
|
49
|
+
* Summarize memory state for meta-learning
|
|
50
|
+
*/
|
|
51
|
+
private summarizeMemoryState;
|
|
52
|
+
/**
|
|
53
|
+
* Update configuration
|
|
54
|
+
*/
|
|
55
|
+
updateConfig(config: Partial<RouterConfig>): void;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Create a task router
|
|
59
|
+
*/
|
|
60
|
+
export declare function createRouter(memory: MemorySystem, config?: Partial<RouterConfig>, metaLearner?: MetaLearner): TaskRouter;
|
|
61
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/search/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IACtD,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,aAAa,EAAE,mBAAmB,CAAC;IACnC,2CAA2C;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAc;gBAGhC,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,WAAW,CAAC,EAAE,WAAW;IAW3B;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;IA6CjD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyD1B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAsClC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;CAGlD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,WAAW,CAAC,EAAE,WAAW,GACxB,UAAU,CAEZ"}
|