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,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Router
|
|
3
|
+
* Determines the best approach for solving a task based on memory
|
|
4
|
+
* Now with meta-learning integration for adaptive routing
|
|
5
|
+
*/
|
|
6
|
+
export class TaskRouter {
|
|
7
|
+
memory;
|
|
8
|
+
config;
|
|
9
|
+
metaLearner;
|
|
10
|
+
constructor(memory, config, metaLearner) {
|
|
11
|
+
this.memory = memory;
|
|
12
|
+
this.config = {
|
|
13
|
+
similarityThreshold: config?.similarityThreshold ?? 0.85,
|
|
14
|
+
useDomainRouting: config?.useDomainRouting ?? true,
|
|
15
|
+
defaultStrategy: config?.defaultStrategy ?? 'direct',
|
|
16
|
+
};
|
|
17
|
+
this.metaLearner = metaLearner;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Set the meta learner (can be set after construction)
|
|
21
|
+
*/
|
|
22
|
+
setMetaLearner(metaLearner) {
|
|
23
|
+
this.metaLearner = metaLearner;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Route a task to determine solving strategy
|
|
27
|
+
* Uses playbook-based memory with meta-learning adjustments
|
|
28
|
+
*/
|
|
29
|
+
async route(task) {
|
|
30
|
+
// Query memory for relevant context
|
|
31
|
+
const memoryContext = await this.memory.queryV2(task.description, {
|
|
32
|
+
domains: task.domain ? [task.domain] : undefined,
|
|
33
|
+
});
|
|
34
|
+
// Compute base routing from playbook memory
|
|
35
|
+
let decision = this.computeBaseRouting(memoryContext);
|
|
36
|
+
// Apply meta-learning adjustments if available
|
|
37
|
+
if (this.metaLearner) {
|
|
38
|
+
const taskCharacteristics = this.extractTaskCharacteristics(task);
|
|
39
|
+
const memoryState = this.summarizeMemoryState(memoryContext);
|
|
40
|
+
try {
|
|
41
|
+
const adjusted = await this.metaLearner.adjustRouting({
|
|
42
|
+
strategy: decision.strategy,
|
|
43
|
+
confidence: decision.confidence,
|
|
44
|
+
estimatedBudget: decision.estimatedBudget,
|
|
45
|
+
reasoning: decision.reasoning,
|
|
46
|
+
}, taskCharacteristics, memoryState);
|
|
47
|
+
// Apply adjustments
|
|
48
|
+
if (adjusted.strategy !== decision.strategy || adjusted.confidence !== decision.confidence) {
|
|
49
|
+
decision.strategy = adjusted.strategy;
|
|
50
|
+
decision.confidence = adjusted.confidence;
|
|
51
|
+
decision.reasoning = adjusted.reasoning;
|
|
52
|
+
decision.appliedMetaStrategies = ['meta-learning adjustment'];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
// Meta-learning failed, continue with base routing
|
|
57
|
+
console.error('[TaskRouter] Meta-learning adjustment failed, using base routing:', error instanceof Error ? error.message : String(error));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return decision;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Compute base routing decision from memory results
|
|
64
|
+
*/
|
|
65
|
+
computeBaseRouting(memoryContext) {
|
|
66
|
+
// Check experience memory
|
|
67
|
+
const hasHighSimilarityExperience = memoryContext.experiences.some((e) => e.score >= this.config.similarityThreshold && e.experience.success);
|
|
68
|
+
// Check playbook memory
|
|
69
|
+
const hasHighConfidencePlaybook = memoryContext.playbooks.some((p) => p.score >= this.config.similarityThreshold && p.playbook.confidence >= 0.7);
|
|
70
|
+
const hasApplicablePlaybook = memoryContext.playbooks.some((p) => p.score >= this.config.similarityThreshold * 0.8);
|
|
71
|
+
// Determine routing strategy
|
|
72
|
+
let strategy;
|
|
73
|
+
let confidence;
|
|
74
|
+
let estimatedBudget;
|
|
75
|
+
let reasoning;
|
|
76
|
+
if (hasHighSimilarityExperience) {
|
|
77
|
+
strategy = 'adapt';
|
|
78
|
+
confidence = 0.9;
|
|
79
|
+
estimatedBudget = 1;
|
|
80
|
+
reasoning = 'Found highly similar successful experience to adapt from';
|
|
81
|
+
}
|
|
82
|
+
else if (hasHighConfidencePlaybook) {
|
|
83
|
+
strategy = 'direct';
|
|
84
|
+
confidence = 0.8;
|
|
85
|
+
estimatedBudget = 2;
|
|
86
|
+
reasoning = 'Found high-confidence playbook for guidance';
|
|
87
|
+
}
|
|
88
|
+
else if (hasApplicablePlaybook) {
|
|
89
|
+
strategy = 'direct';
|
|
90
|
+
confidence = 0.6;
|
|
91
|
+
estimatedBudget = 4;
|
|
92
|
+
reasoning = 'Found applicable playbook to guide solving';
|
|
93
|
+
}
|
|
94
|
+
else if (memoryContext.experiences.length > 0) {
|
|
95
|
+
strategy = 'explore';
|
|
96
|
+
confidence = 0.4;
|
|
97
|
+
estimatedBudget = 10;
|
|
98
|
+
reasoning = 'Found some context but need exploration';
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
strategy = 'fallback';
|
|
102
|
+
confidence = 0.2;
|
|
103
|
+
estimatedBudget = 20;
|
|
104
|
+
reasoning = 'No relevant memory found, using fallback strategy';
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
strategy,
|
|
108
|
+
confidence,
|
|
109
|
+
memoryContext,
|
|
110
|
+
estimatedBudget,
|
|
111
|
+
reasoning,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Extract task characteristics for meta-learning
|
|
116
|
+
*/
|
|
117
|
+
extractTaskCharacteristics(task) {
|
|
118
|
+
const characteristics = [];
|
|
119
|
+
// Domain
|
|
120
|
+
if (task.domain) {
|
|
121
|
+
characteristics.push(`domain: ${task.domain}`);
|
|
122
|
+
}
|
|
123
|
+
// Analyze description
|
|
124
|
+
const desc = task.description.toLowerCase();
|
|
125
|
+
if (desc.includes('bug') || desc.includes('fix') || desc.includes('error')) {
|
|
126
|
+
characteristics.push('bug fix');
|
|
127
|
+
}
|
|
128
|
+
if (desc.includes('test') || desc.includes('spec')) {
|
|
129
|
+
characteristics.push('testing');
|
|
130
|
+
}
|
|
131
|
+
if (desc.includes('refactor') || desc.includes('clean')) {
|
|
132
|
+
characteristics.push('refactoring');
|
|
133
|
+
}
|
|
134
|
+
if (desc.includes('implement') || desc.includes('create') || desc.includes('add')) {
|
|
135
|
+
characteristics.push('new feature');
|
|
136
|
+
}
|
|
137
|
+
if (desc.includes('multiple') || desc.includes('files') || desc.includes('across')) {
|
|
138
|
+
characteristics.push('multi-file change');
|
|
139
|
+
}
|
|
140
|
+
if (desc.length > 500) {
|
|
141
|
+
characteristics.push('complex task');
|
|
142
|
+
}
|
|
143
|
+
return characteristics;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Summarize memory state for meta-learning
|
|
147
|
+
*/
|
|
148
|
+
summarizeMemoryState(memoryContext) {
|
|
149
|
+
const state = [];
|
|
150
|
+
// Experience state
|
|
151
|
+
if (memoryContext.experiences.length === 0) {
|
|
152
|
+
state.push('no similar experiences');
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
const maxScore = Math.max(...memoryContext.experiences.map((e) => e.score), 0);
|
|
156
|
+
if (maxScore >= 0.8) {
|
|
157
|
+
state.push('high similarity experience');
|
|
158
|
+
}
|
|
159
|
+
else if (maxScore >= 0.5) {
|
|
160
|
+
state.push('moderate similarity experience');
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
state.push('low similarity experiences');
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// Playbook state
|
|
167
|
+
if (memoryContext.playbooks.length === 0) {
|
|
168
|
+
state.push('no applicable playbooks');
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
const maxConfidence = Math.max(...memoryContext.playbooks.map((p) => p.playbook.confidence), 0);
|
|
172
|
+
if (maxConfidence >= 0.8) {
|
|
173
|
+
state.push('high confidence playbook');
|
|
174
|
+
}
|
|
175
|
+
else if (maxConfidence >= 0.5) {
|
|
176
|
+
state.push('moderate confidence playbook');
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
state.push('low confidence playbooks');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return state;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Update configuration
|
|
186
|
+
*/
|
|
187
|
+
updateConfig(config) {
|
|
188
|
+
this.config = { ...this.config, ...config };
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Create a task router
|
|
193
|
+
*/
|
|
194
|
+
export function createRouter(memory, config, metaLearner) {
|
|
195
|
+
return new TaskRouter(memory, config, metaLearner);
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/search/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { Task, Trajectory } from '../types/index.js';
|
|
2
|
+
import type { MemorySystem } from '../memory/system.js';
|
|
3
|
+
import type { LLMProvider } from '../agents/types.js';
|
|
4
|
+
import type { RoutingDecision } from './router.js';
|
|
5
|
+
/**
|
|
6
|
+
* Solver configuration
|
|
7
|
+
*/
|
|
8
|
+
export interface SolverConfig {
|
|
9
|
+
maxSteps: number;
|
|
10
|
+
temperature: number;
|
|
11
|
+
agentId: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Solver result
|
|
15
|
+
*/
|
|
16
|
+
export interface SolverResult {
|
|
17
|
+
trajectory: Trajectory;
|
|
18
|
+
usedMemory: boolean;
|
|
19
|
+
strategy: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Direct Solver
|
|
23
|
+
* Solves tasks using memory-augmented LLM calls
|
|
24
|
+
*
|
|
25
|
+
* @deprecated Use AgentManager.spawn() instead. DirectSolver will be removed in v2.0.
|
|
26
|
+
* The AgentManager provides real action execution through configurable backends (ACP, subprocess).
|
|
27
|
+
*
|
|
28
|
+
* Migration example:
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Before (deprecated):
|
|
31
|
+
* const solver = createSolver(memory, provider);
|
|
32
|
+
* const result = await solver.solve(task, routing);
|
|
33
|
+
*
|
|
34
|
+
* // After (recommended):
|
|
35
|
+
* const manager = createAgentManager(memory);
|
|
36
|
+
* const result = await manager.spawn({
|
|
37
|
+
* agentType: 'claude-code',
|
|
38
|
+
* task,
|
|
39
|
+
* injectedKnowledge: routing.memoryContext,
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare class DirectSolver {
|
|
44
|
+
private memory;
|
|
45
|
+
private provider;
|
|
46
|
+
private config;
|
|
47
|
+
constructor(memory: MemorySystem, provider: LLMProvider, config?: Partial<SolverConfig>);
|
|
48
|
+
/**
|
|
49
|
+
* Solve a task using the routing decision
|
|
50
|
+
*/
|
|
51
|
+
solve(task: Task, routing: RoutingDecision): Promise<SolverResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Build system prompt with memory context
|
|
54
|
+
*/
|
|
55
|
+
private buildSystemPrompt;
|
|
56
|
+
/**
|
|
57
|
+
* Build task prompt
|
|
58
|
+
*/
|
|
59
|
+
private buildTaskPrompt;
|
|
60
|
+
/**
|
|
61
|
+
* Parse LLM response into structured components
|
|
62
|
+
*/
|
|
63
|
+
private parseResponse;
|
|
64
|
+
/**
|
|
65
|
+
* Update configuration
|
|
66
|
+
*/
|
|
67
|
+
updateConfig(config: Partial<SolverConfig>): void;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Create a direct solver
|
|
71
|
+
*
|
|
72
|
+
* @deprecated Use createAgentManager() instead. See DirectSolver for migration guide.
|
|
73
|
+
*/
|
|
74
|
+
export declare function createSolver(memory: MemorySystem, provider: LLMProvider, config?: Partial<SolverConfig>): DirectSolver;
|
|
75
|
+
//# sourceMappingURL=solver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../src/search/solver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EAGX,MAAM,mBAAmB,CAAC;AAO3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAe;gBAG3B,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,WAAW,EACrB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAWhC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IAuGxE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;CAGlD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,WAAW,EACrB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC7B,YAAY,CAEd"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { createTrajectory, createStep, successOutcome, failureOutcome, } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Direct Solver
|
|
4
|
+
* Solves tasks using memory-augmented LLM calls
|
|
5
|
+
*
|
|
6
|
+
* @deprecated Use AgentManager.spawn() instead. DirectSolver will be removed in v2.0.
|
|
7
|
+
* The AgentManager provides real action execution through configurable backends (ACP, subprocess).
|
|
8
|
+
*
|
|
9
|
+
* Migration example:
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Before (deprecated):
|
|
12
|
+
* const solver = createSolver(memory, provider);
|
|
13
|
+
* const result = await solver.solve(task, routing);
|
|
14
|
+
*
|
|
15
|
+
* // After (recommended):
|
|
16
|
+
* const manager = createAgentManager(memory);
|
|
17
|
+
* const result = await manager.spawn({
|
|
18
|
+
* agentType: 'claude-code',
|
|
19
|
+
* task,
|
|
20
|
+
* injectedKnowledge: routing.memoryContext,
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export class DirectSolver {
|
|
25
|
+
memory;
|
|
26
|
+
provider;
|
|
27
|
+
config;
|
|
28
|
+
constructor(memory, provider, config) {
|
|
29
|
+
this.memory = memory;
|
|
30
|
+
this.provider = provider;
|
|
31
|
+
this.config = {
|
|
32
|
+
maxSteps: config?.maxSteps ?? 10,
|
|
33
|
+
temperature: config?.temperature ?? 0.3,
|
|
34
|
+
agentId: config?.agentId ?? 'direct-solver',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Solve a task using the routing decision
|
|
39
|
+
*/
|
|
40
|
+
async solve(task, routing) {
|
|
41
|
+
const startTime = Date.now();
|
|
42
|
+
const steps = [];
|
|
43
|
+
let llmCalls = 0;
|
|
44
|
+
let totalTokens = 0;
|
|
45
|
+
try {
|
|
46
|
+
// Build system prompt with memory context
|
|
47
|
+
const systemPrompt = this.buildSystemPrompt(task, routing);
|
|
48
|
+
// Execute solving loop
|
|
49
|
+
const messages = [
|
|
50
|
+
{ role: 'system', content: systemPrompt },
|
|
51
|
+
{ role: 'user', content: this.buildTaskPrompt(task) },
|
|
52
|
+
];
|
|
53
|
+
let done = false;
|
|
54
|
+
let outcome = null;
|
|
55
|
+
while (!done && steps.length < this.config.maxSteps) {
|
|
56
|
+
// Get LLM response
|
|
57
|
+
const response = await this.provider.complete(messages, {
|
|
58
|
+
temperature: this.config.temperature,
|
|
59
|
+
});
|
|
60
|
+
llmCalls++;
|
|
61
|
+
// Parse response into thought/action
|
|
62
|
+
const { thought, action, isDone, solution } = this.parseResponse(response);
|
|
63
|
+
// Create step
|
|
64
|
+
const step = createStep({
|
|
65
|
+
thought,
|
|
66
|
+
action,
|
|
67
|
+
observation: isDone
|
|
68
|
+
? 'Task completed'
|
|
69
|
+
: 'Awaiting next step',
|
|
70
|
+
});
|
|
71
|
+
steps.push(step);
|
|
72
|
+
// Check if done
|
|
73
|
+
if (isDone) {
|
|
74
|
+
done = true;
|
|
75
|
+
outcome = successOutcome(solution);
|
|
76
|
+
}
|
|
77
|
+
// Add to conversation
|
|
78
|
+
messages.push({ role: 'assistant', content: response });
|
|
79
|
+
if (!isDone) {
|
|
80
|
+
// In a real implementation, we'd execute the action and get observation
|
|
81
|
+
messages.push({
|
|
82
|
+
role: 'user',
|
|
83
|
+
content: 'Continue with the next step.',
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// If we hit max steps without completing
|
|
88
|
+
if (!outcome) {
|
|
89
|
+
outcome = failureOutcome('Max steps reached without solution', 0.5);
|
|
90
|
+
}
|
|
91
|
+
const wallTimeSeconds = (Date.now() - startTime) / 1000;
|
|
92
|
+
const trajectory = createTrajectory({
|
|
93
|
+
task,
|
|
94
|
+
steps,
|
|
95
|
+
outcome,
|
|
96
|
+
agentId: this.config.agentId,
|
|
97
|
+
llmCalls,
|
|
98
|
+
totalTokens,
|
|
99
|
+
wallTimeSeconds,
|
|
100
|
+
});
|
|
101
|
+
return {
|
|
102
|
+
trajectory,
|
|
103
|
+
usedMemory: routing.memoryContext.experiences.length > 0,
|
|
104
|
+
strategy: routing.strategy,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
const wallTimeSeconds = (Date.now() - startTime) / 1000;
|
|
109
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
110
|
+
const trajectory = createTrajectory({
|
|
111
|
+
task,
|
|
112
|
+
steps,
|
|
113
|
+
outcome: failureOutcome(errorMessage),
|
|
114
|
+
agentId: this.config.agentId,
|
|
115
|
+
llmCalls,
|
|
116
|
+
totalTokens,
|
|
117
|
+
wallTimeSeconds,
|
|
118
|
+
});
|
|
119
|
+
return {
|
|
120
|
+
trajectory,
|
|
121
|
+
usedMemory: routing.memoryContext.experiences.length > 0,
|
|
122
|
+
strategy: routing.strategy,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Build system prompt with memory context
|
|
128
|
+
*/
|
|
129
|
+
buildSystemPrompt(_task, routing) {
|
|
130
|
+
const parts = [
|
|
131
|
+
'You are a problem-solving agent. Your goal is to solve the given task step by step.',
|
|
132
|
+
'',
|
|
133
|
+
'For each step, provide:',
|
|
134
|
+
'1. THOUGHT: Your reasoning about what to do next',
|
|
135
|
+
'2. ACTION: The action to take',
|
|
136
|
+
'',
|
|
137
|
+
'When you have the final solution, output:',
|
|
138
|
+
'DONE: [your solution]',
|
|
139
|
+
'',
|
|
140
|
+
];
|
|
141
|
+
// Add memory context
|
|
142
|
+
const memoryContext = this.memory.formatForPromptV2(routing.memoryContext);
|
|
143
|
+
if (memoryContext) {
|
|
144
|
+
parts.push('## Relevant Memory');
|
|
145
|
+
parts.push(memoryContext);
|
|
146
|
+
parts.push('');
|
|
147
|
+
}
|
|
148
|
+
// Add strategy-specific guidance
|
|
149
|
+
switch (routing.strategy) {
|
|
150
|
+
case 'adapt':
|
|
151
|
+
parts.push('## Guidance', 'A similar task has been solved successfully before. Adapt the previous solution to this task.', '');
|
|
152
|
+
break;
|
|
153
|
+
case 'direct':
|
|
154
|
+
parts.push('## Guidance', 'Use the applicable strategies and skills from memory to guide your solution.', '');
|
|
155
|
+
break;
|
|
156
|
+
case 'explore':
|
|
157
|
+
parts.push('## Guidance', 'Limited relevant memory found. Explore different approaches carefully.', '');
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
return parts.join('\n');
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Build task prompt
|
|
164
|
+
*/
|
|
165
|
+
buildTaskPrompt(task) {
|
|
166
|
+
const parts = [
|
|
167
|
+
`## Task`,
|
|
168
|
+
task.description,
|
|
169
|
+
];
|
|
170
|
+
if (Object.keys(task.context).length > 0) {
|
|
171
|
+
parts.push('');
|
|
172
|
+
parts.push('## Context');
|
|
173
|
+
parts.push(JSON.stringify(task.context, null, 2));
|
|
174
|
+
}
|
|
175
|
+
return parts.join('\n');
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Parse LLM response into structured components
|
|
179
|
+
*/
|
|
180
|
+
parseResponse(response) {
|
|
181
|
+
// Check for DONE
|
|
182
|
+
const doneMatch = response.match(/DONE:\s*(.+)/is);
|
|
183
|
+
if (doneMatch) {
|
|
184
|
+
return {
|
|
185
|
+
thought: undefined,
|
|
186
|
+
action: 'complete',
|
|
187
|
+
isDone: true,
|
|
188
|
+
solution: doneMatch[1].trim(),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
// Parse THOUGHT and ACTION
|
|
192
|
+
const thoughtMatch = response.match(/THOUGHT:\s*(.+?)(?=ACTION:|$)/is);
|
|
193
|
+
const actionMatch = response.match(/ACTION:\s*(.+?)(?=THOUGHT:|$)/is);
|
|
194
|
+
return {
|
|
195
|
+
thought: thoughtMatch?.[1]?.trim(),
|
|
196
|
+
action: actionMatch?.[1]?.trim() ?? response.trim(),
|
|
197
|
+
isDone: false,
|
|
198
|
+
solution: null,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Update configuration
|
|
203
|
+
*/
|
|
204
|
+
updateConfig(config) {
|
|
205
|
+
this.config = { ...this.config, ...config };
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Create a direct solver
|
|
210
|
+
*
|
|
211
|
+
* @deprecated Use createAgentManager() instead. See DirectSolver for migration guide.
|
|
212
|
+
*/
|
|
213
|
+
export function createSolver(memory, provider, config) {
|
|
214
|
+
return new DirectSolver(memory, provider, config);
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=solver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solver.js","sourceRoot":"","sources":["../../src/search/solver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verification Runner
|
|
3
|
+
*
|
|
4
|
+
* Provides common verification patterns for evaluating solutions:
|
|
5
|
+
* - Command execution (bash/shell)
|
|
6
|
+
* - Test runner integration
|
|
7
|
+
* - Code linting/type checking
|
|
8
|
+
* - Custom verification functions
|
|
9
|
+
*
|
|
10
|
+
* Used with SolutionEvaluator to verify trajectory outcomes.
|
|
11
|
+
*/
|
|
12
|
+
import type { VerificationFunction } from './evaluator.js';
|
|
13
|
+
/**
|
|
14
|
+
* Configuration for a verification command
|
|
15
|
+
*/
|
|
16
|
+
export interface CommandVerificationConfig {
|
|
17
|
+
/** Command to run (can include placeholders like {{solution}}, {{taskId}}) */
|
|
18
|
+
command: string;
|
|
19
|
+
/** Working directory for the command */
|
|
20
|
+
cwd?: string;
|
|
21
|
+
/** Environment variables to set */
|
|
22
|
+
env?: Record<string, string>;
|
|
23
|
+
/** Timeout in milliseconds (default: 30000) */
|
|
24
|
+
timeout?: number;
|
|
25
|
+
/** Whether exit code 0 indicates success (default: true) */
|
|
26
|
+
successOnZeroExit?: boolean;
|
|
27
|
+
/** Pattern to search for in output to indicate success */
|
|
28
|
+
successPattern?: RegExp;
|
|
29
|
+
/** Pattern to search for in output to indicate failure */
|
|
30
|
+
failurePattern?: RegExp;
|
|
31
|
+
/** Function to extract issues from output */
|
|
32
|
+
issueExtractor?: (output: string, exitCode: number) => VerificationIssue[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Issue found during verification
|
|
36
|
+
*/
|
|
37
|
+
export interface VerificationIssue {
|
|
38
|
+
type: 'incomplete' | 'incorrect' | 'error';
|
|
39
|
+
description: string;
|
|
40
|
+
severity?: 'critical' | 'major' | 'minor';
|
|
41
|
+
line?: number;
|
|
42
|
+
file?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Result of running a command
|
|
46
|
+
*/
|
|
47
|
+
export interface CommandResult {
|
|
48
|
+
stdout: string;
|
|
49
|
+
stderr: string;
|
|
50
|
+
exitCode: number;
|
|
51
|
+
timedOut: boolean;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Common test runner configurations
|
|
55
|
+
*/
|
|
56
|
+
export declare const TestRunners: {
|
|
57
|
+
/** Node.js test runners */
|
|
58
|
+
vitest: (testPath?: string) => CommandVerificationConfig;
|
|
59
|
+
jest: (testPath?: string) => CommandVerificationConfig;
|
|
60
|
+
mocha: (testPath?: string) => CommandVerificationConfig;
|
|
61
|
+
/** Python test runners */
|
|
62
|
+
pytest: (testPath?: string) => CommandVerificationConfig;
|
|
63
|
+
/** Go test runner */
|
|
64
|
+
goTest: (testPath?: string) => CommandVerificationConfig;
|
|
65
|
+
/** Rust test runner */
|
|
66
|
+
cargoTest: (testPath?: string) => CommandVerificationConfig;
|
|
67
|
+
/** TypeScript type checking */
|
|
68
|
+
typescript: () => CommandVerificationConfig;
|
|
69
|
+
/** ESLint */
|
|
70
|
+
eslint: (path?: string) => CommandVerificationConfig;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* VerificationRunner - Executes verification commands and parses results
|
|
74
|
+
*/
|
|
75
|
+
export declare class VerificationRunner {
|
|
76
|
+
private defaultCwd;
|
|
77
|
+
private defaultTimeout;
|
|
78
|
+
private defaultEnv;
|
|
79
|
+
constructor(options?: {
|
|
80
|
+
cwd?: string;
|
|
81
|
+
timeout?: number;
|
|
82
|
+
env?: Record<string, string>;
|
|
83
|
+
});
|
|
84
|
+
/**
|
|
85
|
+
* Create a verification function from a command configuration
|
|
86
|
+
*/
|
|
87
|
+
createVerifier(config: CommandVerificationConfig): VerificationFunction;
|
|
88
|
+
/**
|
|
89
|
+
* Run a command and capture output
|
|
90
|
+
*/
|
|
91
|
+
runCommand(command: string, options: {
|
|
92
|
+
cwd?: string;
|
|
93
|
+
env?: Record<string, string>;
|
|
94
|
+
timeout?: number;
|
|
95
|
+
}): Promise<CommandResult>;
|
|
96
|
+
/**
|
|
97
|
+
* Run a command synchronously (for simple checks)
|
|
98
|
+
*/
|
|
99
|
+
runCommandSync(command: string, options?: {
|
|
100
|
+
cwd?: string;
|
|
101
|
+
env?: Record<string, string>;
|
|
102
|
+
timeout?: number;
|
|
103
|
+
}): CommandResult;
|
|
104
|
+
/**
|
|
105
|
+
* Interpolate command with trajectory/task values
|
|
106
|
+
*/
|
|
107
|
+
private interpolateCommand;
|
|
108
|
+
/**
|
|
109
|
+
* Extract default issues from output
|
|
110
|
+
*/
|
|
111
|
+
private extractDefaultIssues;
|
|
112
|
+
/**
|
|
113
|
+
* Create a composite verifier that runs multiple verifications
|
|
114
|
+
*/
|
|
115
|
+
createCompositeVerifier(configs: CommandVerificationConfig[]): VerificationFunction;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Create a verification runner
|
|
119
|
+
*/
|
|
120
|
+
export declare function createVerificationRunner(options?: {
|
|
121
|
+
cwd?: string;
|
|
122
|
+
timeout?: number;
|
|
123
|
+
env?: Record<string, string>;
|
|
124
|
+
}): VerificationRunner;
|
|
125
|
+
//# sourceMappingURL=verification-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-runner.d.ts","sourceRoot":"","sources":["../../src/search/verification-runner.ts"],"names":[],"mappings":"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"}
|